0

私のアプリケーションでは、ドキュメント ディレクトリで ttf を使用したいと考えています。リンクを参照して、以下のコードを使用して CGFontRef のフォントを使用します

+ (UIFont *)loadFontAtPath:(NSString*)path{
NSData *data = [[NSFileManager defaultManager] contentsAtPath:path];


// path is "/Users/............./Documents/bloktilt.ttf"
    if(data == nil){
        NSLog(@"Failed to load font. Data at path is null");
        return nil;
    }
    CFErrorRef error;
    CGDataProviderRef provider = CGDataProviderCreateWithCFData((CFDataRef)data);
    CGFontRef font = CGFontCreateWithDataProvider(provider);

NSString *fontName = (NSString *)CGFontCopyPostScriptName(font);
UIFont *font1 = [UIFont fontWithName:fontName size:15];

if(!CTFontManagerRegisterGraphicsFont(font, &error)){
    CFStringRef errorDescription = CFErrorCopyDescription(error);
    NSLog(@"Failed to load font: %@", errorDescription);
    CFRelease(errorDescription);
}
CFRelease(font);
CFRelease(provider);
return font1;

}

しかし問題は、上記のコードが nil を返すことです

4

0 に答える 0