FT_Get_Kerning возвращает 0 векторов

Я проверяю, есть ли в моем файле 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?

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


person lost_bits1110    schedule 19.09.2011    source источник


Ответы (2)


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

person lost_bits1110    schedule 21.09.2011

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

Вместо этого используйте FT_KERNING_UNFITTED.

person Oleg    schedule 27.04.2012