0

这个问题并不是在问你表面上会怎么想。我已经知道如何在 Objective-C 应用程序中使用自定义字体。问题更多的是关于使用自定义字体的细节,主要是——如果我使用一种自定义字体,假设其他人可能没有在他们的机器上,它仍然会正确呈现它吗?如果某人没有相同的字体,我还没有看到任何关于这是否会成为一个因素的信息。

另外,我的问题和界面生成器中的对象有什么联系吗?谢谢。

在此处输入图像描述

4

1 回答 1

1

仅当您的用户也拥有自定义字体时,它们才有效。否则,字体需要与您的程序捆绑在一起,并以与此类似的方式加载。始终确保您被允许将字体与您的程序一起分发。

-(NSFont*)fontWithName:(NSString*)name height:(CGFloat)height
{
    NSURL* fontURL = [NSBundle.mainBundle URLForResource:name withExtension:@"ttf"];
    if (fontURL == nil)
    {
        return nil;
    }

    CGDataProviderRef dataProvider = CGDataProviderCreateWithURL((CFURLRef)fontURL);
    if (dataProvider == NULL)
    {
        return nil;
    }

    CTFontRef coreTextFont = NULL;
    CGFontRef font = CGFontCreateWithDataProvider(dataProvider);
    if (font != NULL)
    {
        coreTextFont = CTFontCreateWithGraphicsFont(font, height, NULL, NULL);
    }

    CGDataProviderRelease(dataProvider);
    CGFontRelease(font);
    return CFBridgingRelease(coreTextFont);
}
于 2014-05-03T17:39:36.340 回答