2011-08-09 10 views
0

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

NSString *[email protected]"/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を返します。私はどのようにして、与えられたフォントのサンプルテキストを得ることができるか分かります。

答えて

1

そのフォントは要求された値を持っていません。そのケースを処理するか、フォントを編集して独自の値を追加します。

に欠損値を追加するには、フォントエディタを使用する必要があります。申し訳ありませんが、何もわかりません(ただし、Google検索ではいくつか見つけることができます)。

CFStringRef sampleText = CTFontCopyName(fontRef,kCTFontSampleTextNameKey); 
NSLog(@"%@", [NSString stringWithFormat:@"%@", (NSString *)sampleText ? (NSString *)sampleText : @""], 
if (sampleText) CFRelease(sampleText); 
+0

は私ができるように値を追加することができます方法を知っている可能性があります:

あなたは組み込みのシステムフォントのために、たとえば、独自のコードでケースを扱うしたい場合は、ここではいくつかのサンプルコードですフォント? – Aravindhan

関連する問題