使用自定义字体而不包含在 info.plist ios 中

2023-11-29

在 iOS 中,如果我们想使用自定义字体,我们必须包含font.ttf在应用程序包中并添加font.ttf作为字体键的值信息列表 file.

我想使用自定义字体,在设备中安装应用程序后,将从我的服务器下载其 ttf 文件。

1:是否可以在我的应用程序中使用该字体

2:如果是的话我该如何使用该字体?


NSData *inData = /* your decrypted font-file data */;
CFErrorRef error;
CGDataProviderRef provider = CGDataProviderCreateWithCFData((CFDataRef)inData);
CGFontRef fontRef = CGFontCreateWithDataProvider(provider);

if (!CTFontManagerRegisterGraphicsFont(fontRef, &error)) {
    CFStringRef errorDescription = CFErrorCopyDescription(error);
    NSLog(@"Failed to load font: %@", errorDescription);
    CFRelease(errorDescription);
} else {
    CFStringRef fontNameRef = CGFontCopyPostScriptName(fontRef);
    UIFont *font = [UIFont fontWithName:(__bridge NSString *)fontNameRef size:someSize];
    // Your UIFont is ready.

    CFRelease(fontNameRef);
}
CFRelease(fontRef);
CFRelease(provider);

您可以在应用程序执行期间随时以这种方式加载字体,并且它会立即在以下位置可用UIFont and UIWebView(通过常规font-familyCSS 声明,无@font-face必需的)就像它已在UIAppFonts.

Source

Note:你应该包括CoreText具有CTFontManagerRegisterGraphicsFont能得到的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用自定义字体而不包含在 info.plist ios 中 的相关文章

随机推荐