Не удается загрузить собственный шрифт в проект 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);