
Я работаю с приложением, которое использует так называемые "символьные шрифты", особый тип шрифта TrueType. Из того, что я собрал, эти шрифты ведут себя немного иначе, чем обычно, особенно в том, как отображаются символы/глифы. Однако я не смог выяснить, что на самом деле делает шрифт TrueType символьным шрифтом.
Мои поиски пока не дали практически ничего. Все, что я нашел, упоминающее какие-либо подробности, это руководство пользователя редактора шрифтов, который у меня есть, в котором говорится, что у символьных шрифтов есть глифы, сопоставленные с областью частного использования Unicode в 0xF000, но они «перечислены» в диапазоне от 0x00 до 0xFF (что бы это ни значило). Конечно же, при проверке данных некоторых символьных шрифтов я вижу в таблице cmap, что глифы сопоставлены только в диапазоне 0xF000... так каким же образом они попадают в диапазон 0x00? Казалось бы, простой вопрос, но на него, похоже, нигде нет ответа.
Так что же именно делает шрифт TrueType символьным шрифтом?
(Замечание/вопрос: я слышал, что символьные шрифты — это устаревшая вещь, в основном замененная так называемыми «шрифтами Unicode», которые предоставляют сопоставления символов Unicode для систем, поддерживающих Unicode. В этом случае, как символьные шрифты, которые появились раньше Unicode, могут вообще предоставлять сопоставления в области частного использования Unicode? Разве все символы в любом случае не будут находиться в диапазоне от 0x00 до 0xFF, и не потребуется никакой магии переназначения «символьного шрифта»?)