Выполнить echo "\u6211"
в терминале, он напечатает глиф, соответствующий кодовой точке Unicode U + 6211.
Это echo -e
в баш.
› echo "\u6211"
\u6211
› echo -e "\u6211"
我
Где это?
В файле шрифта.
Некоторые символы юникода новой версии, такие как последние смайлики, не могут отображаться на моем Mac, пока я не обновлю версию MacOS.
Как я могу обновить его?
Достаточно установить / обновить подходящий шрифт с помощью эмодзи. У меня нет macOS, поэтому я не могу это проверить.
Я использую «Noto Color Emoji» версии 2.011 / 20180424, все отлично работает.
Как происходит сопоставление кодовой точки юникода с глифом?
Приложение (например, текстовый редактор) предоставляет подсистеме рендеринга шрифтов (Quartz? На macOS) текст Unicode и имя шрифта. Средство визуализации шрифтов анализирует кодовые точки текста и решает, является ли это простым текстом (например, латиницей, китайским языком, автономными смайликами) или сложным текстом (например, латиницей со многими отметками, тайским, арабским языками, смайликами с соединениями нулевой ширины). Средство визуализации находит соответствующие контуры в файле шрифта. Если файл не имеет требуемого символа, средство визуализации может использовать аналогичный шрифт или использовать настроенный резервный шрифт для плохой замены (белый ящик, черный знак вопроса и т. Д.) , Затем контуры подвергаются формированию , чтобы составить сложный глиф и разрыв строки. Наконец, средство визуализации шрифтов передает результат системе отображения.
Помимо формирования, очень мало этого связано с Юникодом или кодированием. Рендеринг шрифтов уже работал таким образом до появления Unicode, конечно же, файлы шрифтов и рендеринг были намного проще 30 лет назад. Кодирование имеет значение только тогда, когда кто-то хочет загрузить или сохранить текст из приложения.
Резюме: расследовать
- Программное обеспечение для редактирования шрифтов Truetype / Opentype, чтобы вы могли видеть, что содержится в файлах
- Средства визуализации шрифтов, в Linux посмотрите библиотеки pango и freetype.