Не удается получить кернинг некоторых определенных шрифтов .ttf с помощью freetype.

Я пытаюсь извлечь информацию о кернинге из некоторых шрифтов .ttf с помощью библиотеки freetype 2.6.

Вот как я получаю информацию о кернинге (перебирая символы):

if( FT_HAS_KERNING(face->getFace()) && previous ){
    FT_Vector delta;
    FT_UInt glyph_index = FT_Get_Char_Index( face->getFace(), character );
    FT_UInt prev_index = FT_Get_Char_Index( face->getFace(), previous );
    FT_Get_Kerning( face->getFace(), prev_index, glyph_index,
                        FT_KERNING_DEFAULT, &delta );
    kerning = delta.x >> 6;
}

Я попробовал программу с несколькими разными шрифтами: «Times new roman.ttf», «Tymes.ttf», «minion.otf». Только для нового римского шрифта Times информация о кернинге извлекается правильно, и я проверил это, зарегистрировав информацию.

Проблема в том, что я не понимаю, почему кернинг всегда равен 0 (т.е. FT_HAS_KERNING возвращает false, а FT_GetKerning возвращает 0 в любом случае) для других 2 шрифтов.

Я проверил с помощью fontforge, что информация о кернинге присутствует для пар "VA" и "To", и они есть! Поэтому они должны храниться в .ttf. Тем не менее, с кодом выше кернинг всегда равен 0 для «VA» или «To», либо FT_HAS_KERNING возвращает false.

Есть ли здесь какая-либо опция или настройка freetype? Любое просвещение ценится ..

РЕДАКТИРОВАТЬ: я устанавливаю размер лица с

FT_Set_Pixel_Sizes( face->getFace(), 0, size);

РЕДАКТИРОВАТЬ: Информация о кернинге для шрифта "tymes" в fontforge:

Ответы на вопрос(0)

Ваш ответ на вопрос