Я пытаюсь отобразить все глифы в шрифте. Я использую GetFontUnicodeRanges
, чтобы получить доступные символы, затем я создаю растровое изображение со всеми доступными символами и их индексами рядом с каждым из них.
Я использовал шрифт «Wingdings 2»
в качестве тестового примера и сравнил его с тем, что я вижу в Windows ' charmap.exe
. Я вижу, что хотя все символы появляются, некоторые символы появляются более одного раза (всего 480 глифов в этом шрифте, отличном от Unicode), и их позиции не такие, как в charmap
(например, средний размер круговой глиф в карте символов, расположенный как 0x97
, а в шрифте это глиф 0xF097
, и я также думаю, что это тот, который находится в 0x2014
).
Я хочу использовать шрифт как «обычный» способ, то есть я хочу видеть те же данные, что и в charmap.exe
(и в примечании на стороне я также хотел бы знать, есть ли font - это шрифт Unicode или шрифт ascii, как показано в charmap
). По сути, вы можете сказать, что я пытаюсь написать свою собственную карту charmap
с нуля.
Как я могу заполнить эти недостающие данные? Я просматривал шрифты и текстовые API Windows, но не смог найти ничего, что могло бы мне помочь, поэтому мне, должно быть, не хватало некоторых соответствующих API. Какие они?