Как я могу получить PostScript имя шрифта TTF, установленного в OS X?

16

На моем Mac установлен шрифт TTF, который я добавил в проект разработки X-Code. На всю жизнь я не могу заставить его работать с моим приложением, но думаю, что это потому, что я использую неправильное имя шрифта.

Используя Font Book или любой другой инструмент, как я могу получить имя шрифта Postscript из метаданных шрифта?

У меня есть догадка, что это Postscript nameможет отличаться от Font name, но мне нужно проверить.

RLH
источник

Ответы:

24

Откройте приложение Font Book . (Он должен находиться в папке « Приложения ».)

Выберите шрифт, для которого вам нужно имя Postscript.

Выберите Показать информацию о шрифте в меню предварительного просмотра . (Или используйте + i).

снимок экрана: информация о шрифте шрифта

Том Гевеке
источник
7

Ваше предположение верно. iOS требует, чтобы вы идентифицировали шрифт на основе его имени Postscript (или Полного имени), которое не всегда совпадает с фактическим именем файла шрифта .

Вы можете получить имя PostScript с помощью FontBook (как показано на принятом ответе здесь), но есть и другие способы.

Прямо из XCode вы можете извлечь PostScript Name из установленных шрифтов проекта с помощью UIFont. Просто запустите это, чтобы напечатать имена PostScript ваших установленных шрифтов проекта:

В Objective-C ( источник ):

for (NSString *fontFamilyName in [UIFont familyNames]) {
    for (NSString *fontName in [UIFont fontNamesForFamilyName:fontFamilyName]) {
        NSLog(@"Family: %@ Font: %@", fontFamilyName, fontName);
    }
}

Или Swift 3.0 ( источник )

for familyName in UIFont.familyNames {
    for fontName in UIFont.fontNames(forFamilyName: familyName ) {
        print("\(familyName) : \(fontName)")
    }
}

Или из терминала , из каталога, в котором у вас есть файлы шрифтов, вы можете запустить этот скрипт для печати всех PostScript-имен шрифтов в текущем каталоге (использует fc-scanутилиту из 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 для всех файлов в текущем каталоге, тогда вы сэкономите время в своем рабочем процессе разработки и имейте этот удобный скрипт, готовый использовать, когда вам это нужно.

Надеюсь это поможет!

radiovisual
источник
2

Наткнулся на немного другой сценарий использования, который, как я думал, я должен поделиться с другими:

Файл шрифта, который я купил и скачал, ограничен только использованием приложения. Я обычно использую FontBook, как принятый ответ, чтобы получить имя PostScript. Однако из-за ограничения использования приложения я не смог импортировать шрифт в FontBook.

Что мне помогло, так это щелкнуть правой кнопкой мыши файл шрифта и выбрать «Получить информацию». Значение в поле «Полное имя» на вкладке «Общие» - это то, что сработало для меня и выглядит как имя PostScript. Подтвердите это с помощью нескольких других файлов шрифтов, которые я точно знал по имени PostScript.

Легко и не требует открытия другого приложения.

буйство
источник
0

Вы можете использовать FontDrop

Прекрасный онлайн-инструмент, который позволяет вам извлекать информацию из ваших файлов шрифтов

Перетащите файл шрифта в область сброса:

введите описание изображения здесь

Прокрутите немного, затем выберите вкладку «Данные»:

введите описание изображения здесь

Вы найдете название постскриптума вашего шрифта под именем свойства "postScriptName"

Абдельбассет Е
источник