Вставить шрифт в пакет Mac
У меня есть программа, которую я пишу. Я хочу использовать необычный шрифт. Могу ли я просто вставить свой шрифт в свой комплект и использовать его оттуда.
Мой код...
NSMutableAttributedString *recOf;
recOf = [[NSMutableAttributedString alloc] initWithString:@"In Recognition of"];
length = [recOf length];
[recOf addAttribute:NSFontAttributeName value:[NSFont fontWithName:@"Edwardian Script ITC" size:50] range:NSMakeRange(0, length)];
[[NSColor blackColor] set];
p.x = (bounds.size.width/2)- (([recOf size].width)/2);
p.y = (bounds.size.height/1.7);
[recOf drawAtPoint:p];
[recOf release];
2 ответа
Да, ты можешь. Вы должны добавить Copy Files
фаза сборки к цели (щелкните правой кнопкой мыши цель, затем выберите " Добавить"> "Новая фаза сборки"> "Новая фаза сборки файлов копирования").
Задайте место назначения фазы сборки "Копирование файлов" для ресурсов с путем Fonts
, Это обеспечит копирование шрифта в папку с именем Fonts
в вашем приложении.
Добавьте файл шрифта в новую фазу сборки, перетащив файл шрифта в фазу сборки.
Затем вам нужно добавить ATSApplicationFontsPath
ключ к вашему Info.plist
файл с именем папки, содержащей ваш шрифт в качестве значения:
<key>ATSApplicationFontsPath</key>
<string>Fonts</string>
Затем вы можете использовать шрифт в своем приложении, как если бы он был встроенным системным шрифтом, вызвав [NSFont fontWithName:@"yourFontName"]
,
Конечно, вы должны убедиться, что у вас есть разрешение на распространение шрифта, прежде чем делать это.
Некоторые люди имели успех, используя магию углерода. Вы должны попробовать это.
Это, как говорится о примере выше, ATSFontActivateFromFileSpecification
был объявлен устаревшим в Leopard. Очевидно, замена использует FSRef напрямую, что еще лучше.