Чтобы использовать шрифты в iOS, вы должны загрузить шрифт на основе ПОЛНОГО ИМЯ шрифта (имени PostScript), которое иногда (и обычно отличается) от фактического ИМЯ ФАЙЛА шрифта .
Представьте, что вы переименовываете файл шрифтов «Arial-regular.ttf» в «foo.ttf». Шрифт, содержащийся в файле шрифта, который вы только что переименовали, по-прежнему остается «обычным Arial».
Есть несколько хороших программных способов получить имя шрифта уже в этом потоке, но у меня есть другой подход, использующий командную строку.
Если у вас 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, Filename) и цветовую кодировку, вы можете запустить этот альтернативный сценарий:
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 будут напечатаны автоматически, тогда вы сэкономите время в рабочем процессе разработки и получите этот удобный сценарий, готовый к использованию, когда он вам понадобится.
Надеюсь это поможет!