Просмотр имени шрифта не всегда работает.Рассмотрим шрифт «Курьер наклонный» (курсив) или «HoeflerText-Black» (полужирный), ни один из них не содержит «полужирный» или «курсив» в своих именах.
Задан шрифт какCTFontRef
, правильный способ определить, выделен ли он жирным шрифтом или курсивом, - использовать функцию CTFontGetSymbolicTraits
:
CTFontRef font = CTFontCreateWithName((CFStringRef)@"Courier Oblique", 10, NULL);
CTFontSymbolicTraits traits = CTFontGetSymbolicTraits(font);
BOOL isItalic = ((traits & kCTFontItalicTrait) == kCTFontItalicTrait);
BOOL isBold = ((traits & kCTFontBoldTrait) == kCTFontBoldTrait);
NSLog(@"Italic: %i Bold: %i", isItalic, isBold);
CFRelease(font);