CoreText:无效的“kern”子表在CTFont中

我正在使用应用于CATextLayer的自定义字体。 我正在使用这里find的教程和示例代码。 http://www.freetimestudios.com/2010/09/13/custom-fonts-on-the-ipad-and-ios-4/

但是,每隔一段时间,我都会收到以下错误。 没有什么特别似乎触发它。 有人可以阐明这是什么意思? 要检查什么?

CoreText: Invalid 'kern' Subtable In CTFont <name: Intellect, size: 20.000000, matrix: 0x0> CTFontDescriptor <attributes: <CFDictionary 0xac07a80 [0x38295d98]>{type = mutable, count = 1, capacity = 3, pairs = ( 0 : <CFString 0x3833f750 [0x38295d98]>{contents = "NSFontNameAttribute"} = <CFString 0x159af0 [0x38295d98]>{contents = "Intellect"} 

我使用下面的代码加载字体。 此代码取自上面链接中的项目。

 - (CTFontRef)newCustomFontWithName:(NSString *)fontName ofType:(NSString *)type attributes:(NSDictionary *)attributes { NSString *fontPath = [[NSBundle mainBundle] pathForResource:fontName ofType:type]; NSData *data = [[NSData alloc] initWithContentsOfFile:fontPath]; CGDataProviderRef fontProvider = CGDataProviderCreateWithCFData((CFDataRef)data); [data release]; CGFontRef cgFont = CGFontCreateWithDataProvider(fontProvider); CGDataProviderRelease(fontProvider); CTFontDescriptorRef fontDescriptor = CTFontDescriptorCreateWithAttributes((CFDictionaryRef)attributes); CTFontRef font = CTFontCreateWithGraphicsFont(cgFont, 0, NULL, fontDescriptor); CFRelease(fontDescriptor); CGFontRelease(cgFont); return font; } 

我有同样的问题,解决scheme是我使用了错误的子集。 我最初从Google字体下载了Open Sans,导致与上面相同的错误。 我使用MacRoman子集从Font Squirrel下载了Open Sans,并修复了我的错误。

validation已安装的字体显示字体“kern”值存在问题。 这是造成这个问题的原因。