在UIWebView中使用@ font-face从内存而不是从磁盘访问字体

时间:2012-08-13 19:18:58

标签: ios security encryption uiwebview fonts

我们开发了一个数字图书应用程序,它使用UIWebView在HMTL5中呈现页面。我们想在每本书中加入字体。为了符合字体许可协议,我们希望将字体加密到内存而不是磁盘。然后我们想从内存中访问UIWebView中的字体。这将提供非常可接受的安全级别。有谁知道如何让UIWebView从内存而不是从磁盘访问字体?

1 个答案:

答案 0 :(得分:0)

NSData *inData = /* your decrypted font-file data */;
CFErrorRef error;
CGDataProviderRef provider = CGDataProviderCreateWithCFData((CFDataRef)inData);
CGFontRef font = CGFontCreateWithDataProvider(provider);
if (! CTFontManagerRegisterGraphicsFont(font, &error)) {
    CFStringRef errorDescription = CFErrorCopyDescription(error)
    NSLog(@"Failed to load font: %@", errorDescription);
    CFRelease(errorDescription);
}
CFRelease(font);
CFRelease(provider);

通过Marco