У меня была такая же проблема, и я просто решил ее. Друг дал мне пару заархивированных шрифтов, я разархивировал, и затем размеры файлов равны нулю Кб, и я не смог установить их в Font Book.
Так что я погуглил и обнаружил, что мой друг должен был использовать StuffIt Expander для архивирования. Поэтому он снова прислал мне файл, и я использовал StuffIt Expander для распаковки. После этого я смог установить шрифты в мою книгу шрифтов.
Тем не менее, шрифты все еще не могут использоваться в моем приложении iOS. Итак, вот что я сделал:
Я узнал, что мне нужно конвертировать шрифт, поэтому я установил Fondu
http://fondu.sourceforge.net/
Установка закончилась, сказав, что не удалось, но позже я все еще мог использовать.
Тогда я понимаю, что мне нужна Rosetta для запуска Fondu, поэтому я посмотрел инструкции на этой странице.
Получил компакт-диск Snow Leopard и установил дополнительный пакет
http://www.macobserver.com/tmo/article/snow_leopard_installing_rosetta/
Откройте терминал и перейдите в каталог, где находится ваш шрифт. Введите команду:
фондю [файл шрифта]
Затем вы получите подсказку с вопросом, хотите ли вы сохранить [файл шрифта] .pfb
Выберите да.
Теперь в вашем XCode добавьте файл pfb в ваш проект. Затем перейдите в info.plist и добавьте файл в UIAppFonts (включая расширение .pfb).
Я тестировал шрифт в UITableViewCell
cell.textLabel.font = [UIFont fontWithName: @ "[font file]" size: 30]; // не включать расширение .pfb
И шрифт показывает нормально. Сначала я думал, что для iOS потребуется файл .ttf, но похоже, что .pfb тоже подойдет.
Надеюсь, это поможет.
Дополнительные советы по тестированию:
После добавления массива plist UIAppFonts, как показано выше, добавьте точку останова в методе appDidFinishLaunchingWithOptions и в консоли типа
po [UIFont familyNames]
Появится список установленных шрифтов, поэтому поищите название семейства шрифтов. Скопируйте это и вставьте в это:
po [UIFont fontNamesForFamilyName:@"familyname"]
Это дает вам имя шрифта, на которое вы ссылаетесь в своем коде. Я не пробовал подход [font filename], но это дает вам имя, которое приложение использует для ссылки на нужный шрифт. Это важно, если шрифт содержит серию вариантов или у вас установлено несколько экземпляров из одного семейства. Например, у helvetica есть четыре варианта, поэтому вы можете выбрать правильный вариант следующим образом:
lblMyLabel.font = [UIFont fontWithName:@"fontname" size:lblMyLabel.font.pointSize]
1044 * Е.Г. *
lblMyLabel.font = [UIFont fontWithName:@"Helvetica-Oblique" size:lblMyLabel.font.pointSize]
Сохраняет размер шрифта, который вы изначально использовали для метки. У меня также был успех только после загрузки представления.