FT_Get_Kerning возвращает 0 вектор - PullRequest
2 голосов
/ 19 сентября 2011

Я проверяю, содержит ли мой файл TTF информацию о кернинге, используя FT_HAS_KERNING, и это возвращает true.

Я тогда использую:

 FT_Vector delta;
 FT_Get_Kerning( face, prev, next, FT_KERNING_DEFAULT, &delta );

для определения значения кернинга, но и delta.x, и delta.y имеют значения 0.

Из документов кажется, что это означает, что произошла ошибка - как я могу отладить, в чем проблема, даже если FT_HAS_KERNING возвращает true?

Все, что я хочу сделать, это исправить интервал между символами, так как они в настоящее время выглядят странно на расстоянии.

Ответы [ 3 ]

2 голосов
/ 12 мая 2012

Функция FT_Get_Kerning с параметром FT_KERNING_DEFAULT не всегда возвращает 0!

1 голос
/ 21 сентября 2011

В итоге я скачал инструмент TTX, чтобы заглянуть внутрь моего файла TTF, и оказалось, что здесь нет информации о кернинге для нужных мне пар.

0 голосов
/ 27 апреля 2012

С параметром FT_KERNING_DEFAULT всегда возвращается 0. См. FT Режим кернинга .

Используйте FT_KERNING_UNFITTED вместо.

...