美文网首页
iOS-获取UIFont 相关默认属性

iOS-获取UIFont 相关默认属性

作者: 路飞_Luck | 来源:发表于2019-06-24 09:34 被阅读0次
    目录
    一 获取 UIFont 所有字体
    NSArray *familyNames = [UIFont familyNames];
    for( NSString *familyName in familyNames ){
        printf( "Family: %s \n", [familyName UTF8String] );
        NSArray *fontNames = [UIFont fontNamesForFamilyName:familyName];
        for( NSString *fontName in fontNames ){
            printf( "\tFont: %s \n", [fontName UTF8String] );
        }
    }
    

    打印结果

    Family: Copperplate 
        Font: Copperplate-Light 
        Font: Copperplate 
        Font: Copperplate-Bold 
    Family: Heiti SC 
    Family: Apple SD Gothic Neo 
        Font: AppleSDGothicNeo-Thin 
        Font: AppleSDGothicNeo-Light 
        Font: AppleSDGothicNeo-Regular 
        Font: AppleSDGothicNeo-Bold 
        Font: AppleSDGothicNeo-SemiBold 
        Font: AppleSDGothicNeo-UltraLight 
        Font: AppleSDGothicNeo-Medium 
    Family: Thonburi 
        Font: Thonburi 
        Font: Thonburi-Light 
        Font: Thonburi-Bold 
    Family: Gill Sans 
        Font: GillSans-Italic 
        Font: GillSans-SemiBold 
        Font: GillSans-UltraBold 
        Font: GillSans-Light 
        Font: GillSans-Bold 
        Font: GillSans 
        Font: GillSans-SemiBoldItalic 
        Font: GillSans-BoldItalic 
        Font: GillSans-LightItalic 
    Family: Marker Felt 
        Font: MarkerFelt-Thin 
        Font: MarkerFelt-Wide 
    Family: Hiragino Maru Gothic ProN 
        Font: HiraMaruProN-W4 
    Family: Courier New 
        Font: CourierNewPS-ItalicMT 
        Font: CourierNewPSMT 
        Font: CourierNewPS-BoldItalicMT 
        Font: CourierNewPS-BoldMT 
    Family: Kohinoor Telugu 
        Font: KohinoorTelugu-Regular 
        Font: KohinoorTelugu-Medium 
        Font: KohinoorTelugu-Light 
    Family: Heiti TC 
    Family: Avenir Next Condensed 
        Font: AvenirNextCondensed-Heavy 
        Font: AvenirNextCondensed-MediumItalic 
        Font: AvenirNextCondensed-Regular 
        Font: AvenirNextCondensed-UltraLightItalic 
        Font: AvenirNextCondensed-Medium 
        Font: AvenirNextCondensed-HeavyItalic 
        Font: AvenirNextCondensed-DemiBoldItalic 
        Font: AvenirNextCondensed-Bold 
        Font: AvenirNextCondensed-DemiBold 
        Font: AvenirNextCondensed-BoldItalic 
        Font: AvenirNextCondensed-Italic 
        Font: AvenirNextCondensed-UltraLight 
    Family: Tamil Sangam MN 
        Font: TamilSangamMN 
        Font: TamilSangamMN-Bold 
    Family: Helvetica Neue 
        Font: HelveticaNeue-UltraLightItalic 
        Font: HelveticaNeue-Medium 
        Font: HelveticaNeue-MediumItalic 
        Font: HelveticaNeue-UltraLight 
        Font: HelveticaNeue-Italic 
        Font: HelveticaNeue-Light 
        Font: HelveticaNeue-ThinItalic 
        Font: HelveticaNeue-LightItalic 
        Font: HelveticaNeue-Bold 
        Font: HelveticaNeue-Thin 
        Font: HelveticaNeue-CondensedBlack 
        Font: HelveticaNeue 
        Font: HelveticaNeue-CondensedBold 
        Font: HelveticaNeue-BoldItalic 
    Family: Gurmukhi MN 
        Font: GurmukhiMN-Bold 
        Font: GurmukhiMN 
    Family: Georgia 
        Font: Georgia-BoldItalic 
        Font: Georgia-Italic 
        Font: Georgia 
        Font: Georgia-Bold 
    Family: Times New Roman 
        Font: TimesNewRomanPS-ItalicMT 
        Font: TimesNewRomanPS-BoldItalicMT 
        Font: TimesNewRomanPS-BoldMT 
        Font: TimesNewRomanPSMT 
    Family: Sinhala Sangam MN 
        Font: SinhalaSangamMN-Bold 
        Font: SinhalaSangamMN 
    Family: Arial Rounded MT Bold 
        Font: ArialRoundedMTBold 
    Family: Kailasa 
        Font: Kailasa-Bold 
        Font: Kailasa 
    Family: Kohinoor Devanagari 
        Font: KohinoorDevanagari-Regular 
        Font: KohinoorDevanagari-Light 
        Font: KohinoorDevanagari-Semibold 
    Family: Kohinoor Bangla 
        Font: KohinoorBangla-Regular 
        Font: KohinoorBangla-Semibold 
        Font: KohinoorBangla-Light 
    Family: Chalkboard SE 
        Font: ChalkboardSE-Bold 
        Font: ChalkboardSE-Light 
        Font: ChalkboardSE-Regular 
    Family: Apple Color Emoji 
        Font: AppleColorEmoji 
    Family: PingFang TC 
        Font: PingFangTC-Regular 
        Font: PingFangTC-Thin 
        Font: PingFangTC-Medium 
        Font: PingFangTC-Semibold 
        Font: PingFangTC-Light 
        Font: PingFangTC-Ultralight 
    Family: Gujarati Sangam MN 
        Font: GujaratiSangamMN 
        Font: GujaratiSangamMN-Bold 
    Family: Geeza Pro 
        Font: GeezaPro-Bold 
        Font: GeezaPro 
    Family: Damascus 
        Font: DamascusBold 
        Font: DamascusLight 
        Font: Damascus 
        Font: DamascusMedium 
        Font: DamascusSemiBold 
    Family: Noteworthy 
        Font: Noteworthy-Bold 
        Font: Noteworthy-Light 
    Family: Avenir 
        Font: Avenir-Oblique 
        Font: Avenir-HeavyOblique 
        Font: Avenir-Heavy 
        Font: Avenir-BlackOblique 
        Font: Avenir-BookOblique 
        Font: Avenir-Roman 
        Font: Avenir-Medium 
        Font: Avenir-Black 
        Font: Avenir-Light 
        Font: Avenir-MediumOblique 
        Font: Avenir-Book 
        Font: Avenir-LightOblique 
    Family: Mishafi 
        Font: DiwanMishafi 
    Family: Academy Engraved LET 
        Font: AcademyEngravedLetPlain 
    Family: Futura 
        Font: Futura-CondensedExtraBold 
        Font: Futura-Medium 
        Font: Futura-Bold 
        Font: Futura-CondensedMedium 
        Font: Futura-MediumItalic 
    Family: Party LET 
        Font: PartyLetPlain 
    Family: Kannada Sangam MN 
        Font: KannadaSangamMN-Bold 
        Font: KannadaSangamMN 
    Family: Arial Hebrew 
        Font: ArialHebrew-Bold 
        Font: ArialHebrew-Light 
        Font: ArialHebrew 
    Family: Farah 
        Font: Farah 
    Family: Arial 
        Font: Arial-BoldMT 
        Font: Arial-BoldItalicMT 
        Font: Arial-ItalicMT 
        Font: ArialMT 
    Family: Chalkduster 
        Font: Chalkduster 
    Family: Kefa 
        Font: Kefa-Regular 
    Family: Hoefler Text 
        Font: HoeflerText-Italic 
        Font: HoeflerText-Black 
        Font: HoeflerText-Regular 
        Font: HoeflerText-BlackItalic 
    Family: Optima 
        Font: Optima-ExtraBlack 
        Font: Optima-BoldItalic 
        Font: Optima-Italic 
        Font: Optima-Regular 
        Font: Optima-Bold 
    Family: Palatino 
        Font: Palatino-Italic 
        Font: Palatino-Roman 
        Font: Palatino-BoldItalic 
        Font: Palatino-Bold 
    Family: Malayalam Sangam MN 
        Font: MalayalamSangamMN-Bold 
        Font: MalayalamSangamMN 
    Family: Al Nile 
        Font: AlNile 
        Font: AlNile-Bold 
    Family: Lao Sangam MN 
        Font: LaoSangamMN 
    Family: Bradley Hand 
        Font: BradleyHandITCTT-Bold 
    Family: Hiragino Mincho ProN 
        Font: HiraMinProN-W3 
        Font: HiraMinProN-W6 
    Family: PingFang HK 
        Font: PingFangHK-Medium 
        Font: PingFangHK-Thin 
        Font: PingFangHK-Regular 
        Font: PingFangHK-Ultralight 
        Font: PingFangHK-Semibold 
        Font: PingFangHK-Light 
    Family: Helvetica 
        Font: Helvetica-Oblique 
        Font: Helvetica-BoldOblique 
        Font: Helvetica 
        Font: Helvetica-Light 
        Font: Helvetica-Bold 
        Font: Helvetica-LightOblique 
    Family: Courier 
        Font: Courier-BoldOblique 
        Font: Courier-Oblique 
        Font: Courier 
        Font: Courier-Bold 
    Family: Cochin 
        Font: Cochin-Italic 
        Font: Cochin-Bold 
        Font: Cochin 
        Font: Cochin-BoldItalic 
    Family: Trebuchet MS 
        Font: TrebuchetMS-Bold 
        Font: TrebuchetMS-Italic 
        Font: Trebuchet-BoldItalic 
        Font: TrebuchetMS 
    Family: Devanagari Sangam MN 
        Font: DevanagariSangamMN 
        Font: DevanagariSangamMN-Bold 
    Family: Oriya Sangam MN 
        Font: OriyaSangamMN 
        Font: OriyaSangamMN-Bold 
    Family: Rockwell 
        Font: Rockwell-Italic 
        Font: Rockwell-Regular 
        Font: Rockwell-Bold 
        Font: Rockwell-BoldItalic 
    Family: Snell Roundhand 
        Font: SnellRoundhand 
        Font: SnellRoundhand-Bold 
        Font: SnellRoundhand-Black 
    Family: Zapf Dingbats 
        Font: ZapfDingbatsITC 
    Family: Bodoni 72 
        Font: BodoniSvtyTwoITCTT-Bold 
        Font: BodoniSvtyTwoITCTT-BookIta 
        Font: BodoniSvtyTwoITCTT-Book 
    Family: Verdana 
        Font: Verdana-Italic 
        Font: Verdana 
        Font: Verdana-Bold 
        Font: Verdana-BoldItalic 
    Family: American Typewriter 
        Font: AmericanTypewriter-CondensedBold 
        Font: AmericanTypewriter-Condensed 
        Font: AmericanTypewriter-CondensedLight 
        Font: AmericanTypewriter 
        Font: AmericanTypewriter-Bold 
        Font: AmericanTypewriter-Semibold 
        Font: AmericanTypewriter-Light 
    Family: Avenir Next 
        Font: AvenirNext-Medium 
        Font: AvenirNext-DemiBoldItalic 
        Font: AvenirNext-DemiBold 
        Font: AvenirNext-HeavyItalic 
        Font: AvenirNext-Regular 
        Font: AvenirNext-Italic 
        Font: AvenirNext-MediumItalic 
        Font: AvenirNext-UltraLightItalic 
        Font: AvenirNext-BoldItalic 
        Font: AvenirNext-Heavy 
        Font: AvenirNext-Bold 
        Font: AvenirNext-UltraLight 
    Family: Baskerville 
        Font: Baskerville-SemiBoldItalic 
        Font: Baskerville-SemiBold 
        Font: Baskerville-BoldItalic 
        Font: Baskerville 
        Font: Baskerville-Bold 
        Font: Baskerville-Italic 
    Family: Khmer Sangam MN 
        Font: KhmerSangamMN 
    Family: Didot 
        Font: Didot-Bold 
        Font: Didot 
        Font: Didot-Italic 
    Family: Savoye LET 
        Font: SavoyeLetPlain 
    Family: Bodoni Ornaments 
        Font: BodoniOrnamentsITCTT 
    Family: Symbol 
        Font: Symbol 
    Family: Charter 
        Font: Charter-BlackItalic 
        Font: Charter-Bold 
        Font: Charter-Roman 
        Font: Charter-Black 
        Font: Charter-BoldItalic 
        Font: Charter-Italic 
    Family: Menlo 
        Font: Menlo-BoldItalic 
        Font: Menlo-Bold 
        Font: Menlo-Italic 
        Font: Menlo-Regular 
    Family: Noto Nastaliq Urdu 
        Font: NotoNastaliqUrdu 
    Family: Bodoni 72 Smallcaps 
        Font: BodoniSvtyTwoSCITCTT-Book 
    Family: DIN Alternate 
        Font: DINAlternate-Bold 
    Family: Papyrus 
        Font: Papyrus-Condensed 
        Font: Papyrus 
    Family: Hiragino Sans 
        Font: HiraginoSans-W3 
        Font: HiraginoSans-W6 
    Family: PingFang SC 
        Font: PingFangSC-Medium 
        Font: PingFangSC-Semibold 
        Font: PingFangSC-Light 
        Font: PingFangSC-Ultralight 
        Font: PingFangSC-Regular 
        Font: PingFangSC-Thin 
    Family: Myanmar Sangam MN 
        Font: MyanmarSangamMN 
        Font: MyanmarSangamMN-Bold 
    Family: Noto Sans Chakma 
        Font: NotoSansChakma-Regular 
    Family: Zapfino 
        Font: Zapfino 
    Family: Telugu Sangam MN 
    Family: Bodoni 72 Oldstyle 
        Font: BodoniSvtyTwoOSITCTT-BookIt 
        Font: BodoniSvtyTwoOSITCTT-Book 
        Font: BodoniSvtyTwoOSITCTT-Bold 
    Family: Euphemia UCAS 
        Font: EuphemiaUCAS 
        Font: EuphemiaUCAS-Italic 
        Font: EuphemiaUCAS-Bold 
    Family: Bangla Sangam MN 
    Family: DIN Condensed 
        Font: DINCondensed-Bold 
    
    二 获取 UIFont 系统默认字体

    当我们创建一个 UILabel 的时候,往往会设置字体大小,但是系统使用的是哪一种默认字体呢?

    UILabel *lbe = [[UILabel alloc] init];
    lbe.font = [UIFont systemFontOfSize:16];
    

    接下来我们就看看系统默认的是哪一种字体

    #import <CoreText/CoreText.h>
    
    - (void)getDefFont {
        UIFont *font = [UIFont systemFontOfSize:17];
        CTFontRef fontRef = CTFontCreateWithName((CFStringRef)font.fontName, 11, NULL);
        if (fontRef) {
            CFStringRef cfName1 = CTFontCopyFamilyName(fontRef);
            CFStringRef cfName2 = CTFontCopyFullName(fontRef);
            CFStringRef cfName3 = CTFontCopyDisplayName(fontRef);
            CFStringRef cfName4 = CTFontCopyPostScriptName(fontRef);
            NSLog(@"FamilyName - %@",cfName1);
            NSLog(@"FullName - %@",cfName2);
            NSLog(@"DisplayName - %@",cfName3);
            NSLog(@"PostScriptName - %@",cfName4);
        }
        NSLog(@"----------------");
        NSLog(@"%@", font);
    }
    

    打印结果

    FamilyName - .SF UI Text
    FullName - System Font Regular
    DisplayName - System Font
    PostScriptName - .SFUIText
    ----------------
    <UICTFont: 0x7fb3c8602460> font-family: ".SFUIText"; font-weight: normal; font-style: normal; font-size: 17.00pt
    

    通过打印可知,系统默认字体为System Font Regular

    相关文章

      网友评论

          本文标题:iOS-获取UIFont 相关默认属性

          本文链接:https://www.haomeiwen.com/subject/qdzgqctx.html