0

フォントのサンプルテキストを取得しようとしています。これが私のコーディングです。

    NSString *fontFilePath=@"/Volumes/Work/Mac/Fonts/FONT FOLDER/Times New Roman Bold.ttf";
    CFStringRef aCFString = (CFStringRef)fontFilePath;
    CTFontRef fontRef = CTFontCreateWithName(aCFString, 0.0,NULL);           
    CFStringRef sampleText=CTFontCopyName(fontRef,kCTFontSampleTextNameKey);
    NSLog(@"%@",sampleText);

結果としてnullを返します。ただしkCTFontCopyrightNameKeykCTFontLicenseURLNameKeyなどの場合は、正しい値を返します。それだけのためkCTFontSampleTextNameKeyにそれは戻りますnull。指定されたフォントのサンプルテキストを取得する方法を教えてください。

4

1 に答える 1

1

そのフォントには、要求された値がありません。その場合を処理するか、フォントを編集して独自の値を追加してください。

不足している値をフォントに追加する場合は、フォントエディタを使用する必要があります。申し訳ありませんが、何もわかりません(ただし、グーグル検索でいくつか見つかる可能性があります)。

組み込みのシステムフォントなど、独自のコードでケースを処理する場合は、次のサンプルコードを使用します。

CFStringRef sampleText = CTFontCopyName(fontRef,kCTFontSampleTextNameKey);
NSLog(@"%@", [NSString stringWithFormat:@"%@", (NSString *)sampleText ? (NSString *)sampleText : @""],
if (sampleText) CFRelease(sampleText);
于 2012-02-09T12:54:43.783 に答える