Щоб використовувати шрифти в iOS, вам слід завантажити шрифт на основі ПОВНОВОГО НАЗВАННЯ шрифту (ім’я PostScript), яке іноді (і, як правило, відрізняється) відрізняється від фактичного НАЗВА ФАЙЛУ шрифту .
Уявіть, що ви перейменуєте файл шрифту "Arial-regular.ttf" у "foo.ttf". Шрифт, що міститься у файлі шрифту, який ви щойно перейменували, все ще є "Arial-regular".
Є кілька хороших програмних способів отримати назву шрифту вже в цьому потоці, але я маю інший підхід за допомогою командного рядка.
Якщо ви перебуваєте на Mac або Linux, просто запустіть цей скрипт із командного рядка в каталозі, де ви маєте власні шрифти (використовує fc-scan
утиліту з fontconfig, яка вже встановлена, але, якщо ні, ви можете встановити її за допомогою homebrew:) brew install fontconfig
:
for file in "$arg"*.{ttf,otf}; do fc-scan --format "%{postscriptname}\n" $file; done
Ось знімок екрана вищевказаної команди, запущеної в моєму ~/Library/Fonts
каталозі:
Наведений вище сценарій буде запускати всі файли .ttf
та .otf
у поточному каталозі, а потім роздрукувати ім'я PostScript для кожного шрифту, який ви можете використовувати для посилання на файл шрифту в XCode або деінде.
Якщо ви хочете пофантазувати з якоюсь додатковою інформацією (PostScriptName, ім'я файлу) та деяким кольоровим кодуванням, ви можете запустити цей альтернативний сценарій:
for file in "$arg"*.{ttf,otf}; do
postscriptname=$(fc-scan --format "%{postscriptname}\n" $file);
printf "\033[36m PostScript Name:\033[0m %s \e[90m(%s)\033[0m\n" "$postscriptname" "$file";
done
Це трохи швидше, ніж копіювання коду всередині вашого файлу AppDelegate.m, щоб роздрукувати імена кожного разу, коли ви хочете додати новий файл шрифту, що є популярним методом, і це також швидше, ніж відкрити шрифт у FontBook до перевірити ім'я PostScript.
КОРИСНА ПОРАДА: Якщо ви встановите псевдонім вищезазначеного сценарію у своєму терміналі, і все, що вам потрібно зробити, це набрати одну команду, щоб отримати всі імена шрифтів PostScript для всіх файлів у поточному каталозі (моя функція викликається, fontnames
тому все, що мені потрібно зробити є типом fontnames
на терміналі всередині каталогу зі шрифтами в ньому, і імена PostScript будуть надруковані автоматично, тоді ви заощадите час у своєму робочому процесі розробки і підготуєте цей зручний скрипт до використання, коли він вам знадобиться.
Сподіваюся, це допомагає!