Tôi đang sử dụng phông chữ tùy chỉnh được áp dụng cho CATextLayer. Tôi đang sử dụng hướng dẫn và mã mẫu tìm thấy ở đây. http://www.freetimestudios.com/2010/09/13/custom-fonts-on-the-ipad-and-ios-4/CoreText: Không hợp lệ 'kern' Subtable Trong CTFont
Tuy nhiên, thường xuyên như vậy, tôi gặp phải lỗi sau. Không có gì đặc biệt dường như kích hoạt nó. Ai đó có thể làm sáng tỏ điều này nghĩa là gì? Những gì để kiểm tra?
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"}
Tôi tải phông chữ bằng cách sử dụng mã sau. Mã này được lấy từ dự án trong liên kết ở trên.
- (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;
}
Vì vậy, quá trình xác thực có khắc phục được không? – Ralphleon
@Ralphleon Không có. Tôi phải tải xuống phông chữ từ một trang web khác, xác thực và đảm bảo rằng nó là tốt. Các kern tôi tin rằng đã làm với khoảng cách, đôi khi là một vấn đề với một phông chữ tùy chỉnh. –
Tôi gặp sự cố này. Ngoại trừ các xác thực vượt qua. Tôi đang sử dụng OpenSans bằng cách này ... bất cứ ai biết làm thế nào để sửa lỗi này? – bogardon