激活字体时参数错误

时间:2011-10-29 09:54:03

标签: objective-c macos cocoa

我必须在Mac OSX 10.5中激活一个字体。为此,我提到了ATS。我这样编码。

    NSString *filePath =  @"/Users/userName/Desktop/Fonts/Impasto.otf";
    CFURLRef url = (CFURLRef)[NSURL fileURLWithPath:filePath];
    OSStatus status = ATSFontSetAutoActivationSettingForApplication(kATSFontAutoActivationEnabled,url);
    if(status == paramErr)
    {
        NSLog(@"parameter error");
    }

但我得到parameter Error这段代码。我无法理解我在这里做错了什么。

1 个答案:

答案 0 :(得分:1)

免责声明:我只是在解释文档,我还没有获得ATS的实际经验。

来自ATSFontSetAutoActivationSettingForApplication的文档:

  

为指定的应用捆绑设置自动激活设置。

然后是第二个参数:

  

应用的有效文件网址。通过NULL指定当前流程。

我将其读作:该方法激活给定应用包中的所有字体。您可以通过(CFURLRef)[[NSBundle mainBundle] bundleURL]或只是NULL。要激活捆绑包外的字体,您可能需要ATSFontActivateFromFileReference