这个问题并不是在问你表面上会怎么想。我已经知道如何在 Objective-C 应用程序中使用自定义字体。问题更多的是关于使用自定义字体的细节,主要是——如果我使用一种自定义字体,假设其他人可能没有在他们的机器上,它仍然会正确呈现它吗?如果某人没有相同的字体,我还没有看到任何关于这是否会成为一个因素的信息。
另外,我的问题和界面生成器中的对象有什么联系吗?谢谢。
这个问题并不是在问你表面上会怎么想。我已经知道如何在 Objective-C 应用程序中使用自定义字体。问题更多的是关于使用自定义字体的细节,主要是——如果我使用一种自定义字体,假设其他人可能没有在他们的机器上,它仍然会正确呈现它吗?如果某人没有相同的字体,我还没有看到任何关于这是否会成为一个因素的信息。
另外,我的问题和界面生成器中的对象有什么联系吗?谢谢。
仅当您的用户也拥有自定义字体时,它们才有效。否则,字体需要与您的程序捆绑在一起,并以与此类似的方式加载。始终确保您被允许将字体与您的程序一起分发。
-(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);
}