Не удается загрузить собственный шрифт в проект OSX, но... я в проекте iOS?

Я могу загрузить собственный шрифт в проект iOS и увидеть его на доступных шрифтах, используя:

NSArray *fontFamilies = [UIFont familyNames];

for (int i=0; i<[fontFamilies count]; i++)
{
    NSLog(@"Font: %@ ...", [fontFamilies objectAtIndex:i]);
}

Но когда я пытаюсь загрузить шрифт в проект OSX, я не вижу его в списке при отображении шрифтов:

NSLog(@"%@",[[[NSFontManager sharedFontManager] availableFontFamilies] description]);

Я использовал: Невозможно установить пользовательский шрифт для UILabel в XCode, чтобы установить шрифт для проекта iOS, и предположил, что это должен быть тот же подход для проекта OSX.

Ссылка на файл шрифта находится в ресурсах комплекта, в файле Info.plist (добавить: шрифты, предоставляемые приложением), а файл находится в файлах поддержки.

Я что-то пропустил? Спасибо

1 ответ

Я решил это программно (но предпочел бы подход, подобный подходу iOS в приведенной выше ссылке):

NSString* path = [[NSBundle mainBundle] pathForResource:@"Symbola" ofType:@"ttf"];
NSURL* fontsURL = [NSURL fileURLWithPath:path];

FSRef fsRef;
CFURLGetFSRef((CFURLRef)fontsURL, &fsRef);
ATSFontActivateFromFileReference(&fsRef, kATSFontContextLocal, kATSFontFormatUnspecified,
                                              NULL, kATSOptionFlagsDefault, NULL);
Другие вопросы по тегам