在iOS中,如果我们想要使用自定义字体,我们必须在应用套件中加入font.ttf
,并将font.ttf
作为值添加到 info.plist中的字体键文件。
我想使用自定义字体,在设备中安装应用程序后,将从我的服务器下载其ttf文件。
1:是否可以在我的应用程序中使用该字体
2:如果是,我该如何使用该字体?
答案 0 :(得分:7)
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
和UIWebView
中使用(通过常规font-family
CSS声明,不{{1}必要的)就像它已在@font-face
中声明一样。
注意:您应该UIAppFonts
包含CoreText
。