Як працює система резервного шрифту OS X?


7

Я намагаюся створити шрифт, що містить символи для внутрішнього використання в нашій організації.

Я створив шрифт за допомогою цього підручника і призначив символ позиції unicode 0xF600. Це лежить у зоні "Приватне використання", і, схоже, немає шрифтів, які постачають його.

Я створив свій шрифт і встановив його. Я намагався зі шрифтом у ~ / Бібліотеці / Шрифтах або / Системі / Бібліотеці / Шрифтах.

Якщо я вставляю цей символ () у TextEdit або будь-яке системне текстове поле, я отримую або поле, або якусь позначку, що міститься у полі. Так чи інакше, не мій характер.

Якщо я вручну встановив шрифт на свій шрифт, відобразиться символ.

Однак я помічаю, що інші персонажі не працюють так. Якщо я використовую Helvetica, і я вставляю китайський символ, символ береться з іншого шрифту, який може відображати цей гліф. Так чітко існує механізм відновлення шрифту, який містить символ.

Чи благословляє деякі шрифти система? Як я можу зробити, щоб мій шрифт був резервним?

EDIT: Я спробував очистити кеш шрифту sudo atsutil databases -remove, не вплинув на нього.

EDIT 2: Після того, як трохи обмірковуєте та читаєте, з’являється шрифт під назвою LastResort.ttf, який є остаточною резервною копією для всіх символів Unicode, десь у системі повинен бути пріоритет, щоб це завжди було останнім. Цікаво, де це ...

Відповіді:


3

OS X зазвичай не відображатиме символів у зоні приватного користування, якщо вручну не встановити шрифт у програмі. Я розумію, що це навмисно, оскільки кожен шрифт може мати різний гліф в одній і тій же кодовій точці PUA, і відображати щось має сенс лише тоді, коли користувач вказує шрифт.

Я думаю, він також повинен працювати, коли правильний шрифт вибирається за допомогою CSS або іншої розмітки в документі, який читається.

Деякі попередні версії OS X не мали цієї "функції" і відображали матеріали PUA. Я не знаю, як вони вибрали, який шрифт використовувати, коли у кількох було вибрано щось у кодовій точці.


Велике спасибі за вашу відповідь! Однак зауважу, що в PUA є кілька символів, які відображаються звичайно ((). Можливо, це особливі випадки?
joerick

@joerick Так, я думаю, є пара шрифтів, які не підкоряються нормальному правилу і з'являються чомусь.
Том Гевке

Дякую! Зробив це, поставивши мій гліф у точку коду 0x10000, це в діапазоні "Лінійний навчальний план B", який наразі порожній. Поки історичний грецький шрифт не буде встановлений у майбутньому оновлення, я повинен бути добре ... !!
joerick

@joerick Це повинно спрацювати нормально, сьогодні я думаю, що всі програми повинні підтримувати символи у цій вищій площині Unicode. Якщо у вас є проблеми, ви, мабуть, десь знайдете порожнє місце нижче.
Том Гевке
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.