На работе мне было поручено улучшить отрисовку текста в нашем приложении, чтобы лучше поддерживать кернинг символов. Наше приложение генерирует изображения, которые появляются на телевидении, поэтому качество изображения имеет первостепенное значение. Поэтому даже небольшие улучшения внешнего вида любого генерируемого нами вывода очень полезны.
Наш текущий текстовый движок реализован с использованием Uniscribe, что кажется идеальным решением. Как уже упоминалось здесь , он поддерживает подстановку лигатур контекстно-зависимым способом со сложными сценариями. Он также обрабатывает языки справа налево и BiDi. Это все важно, так как мы должны уметь отлично отображать арабский / курсивный языки.
Поэтому кажется довольно странным, что Uniscribe не выводит информацию о кернинге глифов. Я приложил скриншот, чтобы продемонстрировать проблему.
альтернативный текст http://www.aliparr.net/kerning.jpg
Мое приложение работает так же, как блокнот, в котором каждый глиф выглядит моноширинным. Обратите внимание, что в Photoshop CS2 мост в верхней части буквы «T» приятно нависает над «e». Я хочу воссоздать это.
Мне известны другие API, такие как Pango / Freetype, но кажется довольно тяжелым решением включить все это, чтобы выполнить последний 1% этой задачи, если Uniscribe так хорош во всем остальном.
Я пропустил шаг, используя Uniscribe? Каково лучшее решение для этого? Может ли Freetype экспортировать информацию о кернинге легким способом, чтобы я мог интегрировать ее с существующим решением Uniscribe?
N.b. Нам нужно работать только на Windows - к счастью, переносимость платформы - это не та проблема, о которой мне нужно беспокоиться прямо сейчас.
Ура заранее!