2011-08-09 4 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 *은 수신자 부담으로 연결되어 있으므로 거의 다 있습니다. 두 번째 스 니펫의 첫 번째 행을 다음으로 대체하십시오.

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

...가 있습니다.

NSCharacterSet에는 유니 코드 문자 (예 : 256보다 큰 인덱스)가 포함될 수 있습니다. 여기서 무엇을하려고 하느냐에 따라 문제가 될 수도 있고 중요하지 않을 수도 있습니다.

+0

답장을 보내 주셔서 감사합니다. 그리스어 글꼴을 사용했다면 콘솔에서 그리스어 알파벳을 어떻게 가져올 수 있습니까? – Aravindhan

관련 문제