У меня есть программа, которую я пишу. Я хочу использовать необычный шрифт. Я могу просто встроить свой шрифт в мой пакет и использовать его оттуда.
Мой код...
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];
Некоторые люди добились успеха , используя углеродную магию. Тебе стоит попробовать.
Что касается приведенного выше примера, ATSFontActivateFromFileSpecification
не рекомендуется в Leopard. По-видимому, замена напрямую использует FSRef, что даже лучше.
Да, вы можете. Вы должны добавить фазу сборки Copy Files
к вашей цели (щелкните правой кнопкой мыши цель, затем выберите Add > New Build Phase > New Copy Files Build Phase).
Установите назначение фазы сборки Copy Files в Resources с путем Fonts
. Это обеспечит копирование шрифта в папку Fonts
в пакете вашего приложения.
Добавьте файл шрифта в новую фазу сборки, перетащив файл шрифта на фазу сборки.
Затем вам нужно добавить ключ ATSApplicationFontsPath
в файл Info.plist
, указав в качестве значения имя папки, содержащей ваш шрифт:
<key>ATSApplicationFontsPath</key>
<string>Fonts</string>
Затем вы можете использовать шрифт в вашем приложении, как если бы это был встроенный системный шрифт, вызвав [NSFont fontWithName:@"yourFontName"]
.
Конечно, перед этим вы должны убедиться, что у вас есть разрешение на распространение шрифта.