2011-08-09 6 views
2

インターネットからフォントをダウンロードしました。今、私はそのフォントの文字セットを印刷したいと思います。私はそのフォントのCFCharacterSetRefを取得しました。しかし、私はそのCFCharacterSetRefをどのように印刷するのか分かりません。これは私のコーディングです。フォントの文字セットを印刷するには?

NSString *[email protected]"/Volumes/Work/Mac/Fonts/FONT FOLDER/AngelicWar"; 
CFStringRef aCFString = (CFStringRef)fontFilePath; 
CTFontRef fontRef = CTFontCreateWithName(aCFString, 0.0,NULL);   
CFCharacterSetRef charRef=CTFontCopyCharacterSet (fontRef); 

私はこのように使用するalphanumericCharacterSetを印刷します。

NSCharacterSet *characterset = [NSCharacterSet alphanumericCharacterSet]; 
    unichar idx; 
    for(idx = 0; idx < 256; idx++) 
    { 
     if ([characterset characterIsMember: idx]) 
     { 
      if (isprint(idx)) { 
       NSLog(@"%c",idx); 
      } 
      else { 
       printf("%02x ", idx); 
      } 
     } 
    } 

しかし、このコードを変更して、そのフォントの文字セットを印刷することはわかりません。

答えて

3

CFCharacterSetRefNSCharacterSet *はフリーダイヤルでブリッジされているため、ほぼそこにいます。 2番目のスニペットの最初の行を次のように置き換えます。

NSCharacterSet *characterset = (NSCharacterSet *) CTFontCopyCharacterSet (fontRef); 

...あなたがいます。

NSCharacterSetには、Unicode文字(つまり、256を超えるインデックス)を含めることができます。あなたがここで何をしようとしているかによって、これは重要かもしれません。

+0

あなたの答えはありがとう...私がギリシャ語のフォントを使用した場合、どのようにコンソールでギリシャ語のアルファベットを手に入れることができるのですか? – Aravindhan