Как я могу определить все кодовые точки, у которых нет шрифтов в шрифте, используя FreeType? - PullRequest
2 голосов
/ 01 апреля 2009

Этот вопрос тесно связан с

Есть ли способ программно определить, имеет ли файл шрифта определенный глиф Unicode?

Однако я ищу решение, которое не использует Windows API. Freetype, в частности, выглядит многообещающе, и мне было интересно, может ли кто-нибудь, знакомый с ним, предоставить указатели.

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

1 Ответ

3 голосов
/ 30 января 2012

В частности, для FreeType вы можете использовать функцию FT_Get_Char_Index . Эта функция возвращает значение glyphID, равное 0, чтобы указать несопоставленный глиф.

В более общих терминах: сначала вам нужно выбрать таблицу сопоставления символов (некоторые шрифты включают в себя несколько карт для разных платформ или для разных целей под одной платформой), затем создать словарь из явно отображенных глифов и протестировать против этого.

...