Używam niestandardowej czcionki zastosowanej do CATextLayer. Używam samouczka i przykładowy kod znaleziony tutaj. http://www.freetimestudios.com/2010/09/13/custom-fonts-on-the-ipad-and-ios-4/CoreText: Niepoprawna pod-tabela "kern" w CTFont
Jednak, co jakiś czas, pojawia się następujący błąd. Nic w szczególny sposób nie wyzwala tego. Czy ktoś może rzucić trochę światła na to, co to oznacza? Co sprawdzić?
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"}
Ładowanie czcionki przy użyciu następującego kodu. Ten kod pochodzi z projektu w powyższym linku.
- (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;
}
Czy weryfikacja została naprawiona? – Ralphleon
@Ralphleon Nie, nie. Musiałem pobrać czcionkę z innej witryny, sprawdzić poprawność i upewnić się, że wszystko było w porządku. Kern, jak sądzę, ma do czynienia z odstępami, czasem problemem z niestandardową czcionką. –
Mam ten problem. Oprócz sprawdzania poprawności. Używam OpenSans przy okazji ... ktoś wie jak to naprawić? – bogardon