我正在尝试更新我的代码,以便它可以编译x86_64,不幸的是,下面的代码是罪魁祸首(恰好有大约十年的历史)。我知道它应该是CTFont类型的类,尽管我不知道如何使旧代码适应当前的代码。任何帮助,将不胜感激。我还提供了对此代码及其某些前身的引用,而这些碰巧也已被弃用。谢谢!

- (void)loadLocalFonts
{
   NSString *fontsFolder;
   if ((fontsFolder = [[NSBundle mainBundle] resourcePath])) {
       NSURL *fontsURL;
       if ((fontsURL = [NSURL fileURLWithPath:fontsFolder])) {
           FSRef fsRef;
           FSSpec fsSpec;
           (void)CFURLGetFSRef((CFURLRef)fontsURL, &fsRef);
           if (FSGetCatalogInfo(&fsRef, kFSCatInfoNone, NULL, NULL, &fsSpec,
NULL) == noErr) {
               FMActivateFonts(&fsSpec, NULL, NULL, kFMLocalActivationContext);
           }
       }
   }
}


参考:Using Custom Fonts In Your Cocoa Applications

最佳答案

感谢您的回复。我不确定您在那做什么。

对我来说,好像您正在从资源文件夹中加载选择(或字体系列)并激活它们(以前是...字体管理器FM_____调用现在感觉就像十年前一样:-)

无论如何,请查看具有可能对您有帮助的答案的this potentially useful question。看起来就像通过info.list文件中的ATSApplicationFontsPath键使字体可用(那里的评分较高)一样容易。

09-25 20:52