Как получить высоту шрифта в Freetype2 - PullRequest
0 голосов
/ 16 мая 2018

В Freetype2, мы используем формулу ниже, чтобы вычислить высоту шрифта для данного размера. height = (int) ((point_size / face-> units_per_EM) * (face-> ascender - face-> descender)); где point_size - данные, предоставленные пользователем.

Но для некоторых шрифтов это дает неверные данные. Может ли кто-нибудь помочь найти правильную формулу, чтобы найти правильную высоту шрифта для данной точки? (Не для отдельного глифа).

1 Ответ

0 голосов
/ 30 ноября 2018

Ниже приведен метод, используемый в cocos2d-x:

_lineHeight = static_cast ((face-> size-> metrics.ascender - face-> size-> metrics.descender) >> 6);

Большинство шрифтов в порядке.В не очень хорошем случае я калибрую значение после получения высоты GlyphBitmap, а затем использую большее значение в качестве максимальной высоты строки.

...