2011-04-27 3 views
2

글꼴이 iOS에서 굵게 또는 기울임 꼴 글꼴 스타일을 지원하는지 확인하는 쉬운 방법을 찾을 수 없습니다. 나의 현재 솔루션은 바란 글꼴 스타일로 CTFont을 만들려고에 기반이 잘 작동하지만iOS에서 지원되는 글꼴 스타일을 결정하는 가장 좋은 방법은 무엇입니까?

CTFontRef ctFont = CTFontCreateWithName(fontName, pointSize, NULL); 
CTFontRef boldFont = CTFontCreateCopyWithSymbolicTraits(ctFont, 0.0, NULL, kCTFontBoldTrait, kCTFontBoldTrait); 
if (boldFont) { 
// supports bold font face 
} 

, 그것은 어떻게 든 그것을 할 수있는 최선의 방법처럼 생각하지 않습니다. 더 좋은 방법이 있습니까? 당신이 UIFont을 사용하는 경우

+0

에서 등 대담한 응축 굵게, 기울임,,, UIFont 나머지는 매우 빠른 낮은 수준이된다 얻는다 UIKits 간단한 글꼴 클래스입니다. –

답변

2

내가 그냥 fontNamesForFamilyName 반복있을 것 같아요 : 항상 텍스트로 정의되지 않은 어쩌면

for (NSString *fontName : [UIFont fontNamesForFamilyName:fontName]) { 
    if ([fontName rangeOfString:@"Bold"].location != NSNotFound) { 
     //supports bold font face 
    } 
} 

하지 훨씬 더 ... 그리고 굵은 글꼴을 '굵게', 일부 사용 빛과 매체. http://www.iphonedevsdk.com/forum/iphone-sdk-development/6000-list-uifonts-available.html

+0

이것은 내가 생각한 것입니다. 그러나이 경우에는 제 일을 계속 고수 할 것입니다. –

+0

원본 질문에 설명 된 내 해결 방법을 고수했습니다. 그러나 굵은 글꼴을 찾을 때 염두에 두어야 할 몇 가지 사항을 언급하면서이 질문을 최고의 대답으로 표시하고 있습니다. –

1

가끔은 가족 이름, 특히 맞춤 글꼴을 알아 내기가 어렵습니다. 일반적으로 사용 가능한 글꼴을 확인하기 위해 모든 글꼴을 인쇄하십시오. 모든 스타일을 파악할 수 있습니다. 나는 그렇게 생각하지 않습니다이

NSArray *familyNames = [UIFont familyNames]; 
for (NSString *familyName in familyNames) 
{ 
    NSSArray *fontNames = [UIFont fontNamesForFamilyName:familyName]; 
    NSLog(@"%@", fontNames); 
} 
+0

현재 내 글꼴 선택 도구에서 비슷한 해결책을 사용하고 있습니다. 그러나 현재 Apple이 iWork 응용 프로그램에서 사용하고있는 스타일 구분 컨트롤을 모방하려고합니다. –