最近公司設(shè)計(jì)出了好多奇奇怪怪的字體,我就研究了一下iOS的API,果然發(fā)現(xiàn)有方法可以打印iOS默認(rèn)支持的字體捶箱。
方法如下:
for familyName in UIFont.familyNames {
print("\n>>>familyName: \(familyName)")
for fontName in UIFont.fontNames(forFamilyName: familyName) {
print("fontNames: \(fontName)")
}
}
具體打印如下,有興趣的童鞋可以親測动漾,很簡單:
>>>familyName: Copperplate
fontNames: Copperplate-Light
fontNames: Copperplate
fontNames: Copperplate-Bold
>>>familyName: Heiti SC
>>>familyName: Apple SD Gothic Neo
fontNames: AppleSDGothicNeo-Thin
fontNames: AppleSDGothicNeo-Light
fontNames: AppleSDGothicNeo-Regular
fontNames: AppleSDGothicNeo-Bold
fontNames: AppleSDGothicNeo-SemiBold
fontNames: AppleSDGothicNeo-UltraLight
fontNames: AppleSDGothicNeo-Medium
>>>familyName: Thonburi
fontNames: Thonburi
fontNames: Thonburi-Light
fontNames: Thonburi-Bold
>>>familyName: Gill Sans
fontNames: GillSans-Italic
fontNames: GillSans-SemiBold
fontNames: GillSans-UltraBold
fontNames: GillSans-Light
fontNames: GillSans-Bold
fontNames: GillSans
fontNames: GillSans-SemiBoldItalic
fontNames: GillSans-BoldItalic
fontNames: GillSans-LightItalic
>>>familyName: Marker Felt
fontNames: MarkerFelt-Thin
fontNames: MarkerFelt-Wide
>>>familyName: Hiragino Maru Gothic ProN
fontNames: HiraMaruProN-W4
>>>familyName: Courier New
fontNames: CourierNewPS-ItalicMT
fontNames: CourierNewPSMT
fontNames: CourierNewPS-BoldItalicMT
fontNames: CourierNewPS-BoldMT
>>>familyName: Kohinoor Telugu
fontNames: KohinoorTelugu-Regular
fontNames: KohinoorTelugu-Medium
fontNames: KohinoorTelugu-Light
>>>familyName: Heiti TC
>>>familyName: Avenir Next Condensed
fontNames: AvenirNextCondensed-Heavy
fontNames: AvenirNextCondensed-MediumItalic
fontNames: AvenirNextCondensed-Regular
fontNames: AvenirNextCondensed-UltraLightItalic
fontNames: AvenirNextCondensed-Medium
fontNames: AvenirNextCondensed-HeavyItalic
fontNames: AvenirNextCondensed-DemiBoldItalic
fontNames: AvenirNextCondensed-Bold
fontNames: AvenirNextCondensed-DemiBold
fontNames: AvenirNextCondensed-BoldItalic
fontNames: AvenirNextCondensed-Italic
fontNames: AvenirNextCondensed-UltraLight
>>>familyName: Tamil Sangam MN
fontNames: TamilSangamMN
fontNames: TamilSangamMN-Bold
>>>familyName: Helvetica Neue
fontNames: HelveticaNeue-UltraLightItalic
fontNames: HelveticaNeue-Medium
fontNames: HelveticaNeue-MediumItalic
fontNames: HelveticaNeue-UltraLight
fontNames: HelveticaNeue-Italic
fontNames: HelveticaNeue-Light
fontNames: HelveticaNeue-ThinItalic
fontNames: HelveticaNeue-LightItalic
fontNames: HelveticaNeue-Bold
fontNames: HelveticaNeue-Thin
fontNames: HelveticaNeue-CondensedBlack
fontNames: HelveticaNeue
fontNames: HelveticaNeue-CondensedBold
fontNames: HelveticaNeue-BoldItalic
>>>familyName: Gurmukhi MN
fontNames: GurmukhiMN-Bold
fontNames: GurmukhiMN
>>>familyName: Georgia
fontNames: Georgia-BoldItalic
fontNames: Georgia-Italic
fontNames: Georgia
fontNames: Georgia-Bold
>>>familyName: Times New Roman
fontNames: TimesNewRomanPS-ItalicMT
fontNames: TimesNewRomanPS-BoldItalicMT
fontNames: TimesNewRomanPS-BoldMT
fontNames: TimesNewRomanPSMT
>>>familyName: Sinhala Sangam MN
fontNames: SinhalaSangamMN-Bold
fontNames: SinhalaSangamMN
>>>familyName: Arial Rounded MT Bold
fontNames: ArialRoundedMTBold
>>>familyName: Kailasa
fontNames: Kailasa-Bold
fontNames: Kailasa
>>>familyName: Kohinoor Devanagari
fontNames: KohinoorDevanagari-Regular
fontNames: KohinoorDevanagari-Light
fontNames: KohinoorDevanagari-Semibold
>>>familyName: Kohinoor Bangla
fontNames: KohinoorBangla-Regular
fontNames: KohinoorBangla-Semibold
fontNames: KohinoorBangla-Light
>>>familyName: Chalkboard SE
fontNames: ChalkboardSE-Bold
fontNames: ChalkboardSE-Light
fontNames: ChalkboardSE-Regular
>>>familyName: Apple Color Emoji
fontNames: AppleColorEmoji
>>>familyName: PingFang TC
fontNames: PingFangTC-Regular
fontNames: PingFangTC-Thin
fontNames: PingFangTC-Medium
fontNames: PingFangTC-Semibold
fontNames: PingFangTC-Light
fontNames: PingFangTC-Ultralight
>>>familyName: Gujarati Sangam MN
fontNames: GujaratiSangamMN
fontNames: GujaratiSangamMN-Bold
>>>familyName: Geeza Pro
fontNames: GeezaPro-Bold
fontNames: GeezaPro
>>>familyName: Damascus
fontNames: DamascusBold
fontNames: DamascusLight
fontNames: Damascus
fontNames: DamascusMedium
fontNames: DamascusSemiBold
>>>familyName: Noteworthy
fontNames: Noteworthy-Bold
fontNames: Noteworthy-Light
>>>familyName: Avenir
fontNames: Avenir-Oblique
fontNames: Avenir-HeavyOblique
fontNames: Avenir-Heavy
fontNames: Avenir-BlackOblique
fontNames: Avenir-BookOblique
fontNames: Avenir-Roman
fontNames: Avenir-Medium
fontNames: Avenir-Black
fontNames: Avenir-Light
fontNames: Avenir-MediumOblique
fontNames: Avenir-Book
fontNames: Avenir-LightOblique
>>>familyName: Mishafi
fontNames: DiwanMishafi
>>>familyName: Academy Engraved LET
fontNames: AcademyEngravedLetPlain
>>>familyName: Futura
fontNames: Futura-CondensedExtraBold
fontNames: Futura-Medium
fontNames: Futura-Bold
fontNames: Futura-CondensedMedium
fontNames: Futura-MediumItalic
>>>familyName: Party LET
fontNames: PartyLetPlain
>>>familyName: Kannada Sangam MN
fontNames: KannadaSangamMN-Bold
fontNames: KannadaSangamMN
>>>familyName: Arial Hebrew
fontNames: ArialHebrew-Bold
fontNames: ArialHebrew-Light
fontNames: ArialHebrew
>>>familyName: Farah
fontNames: Farah
>>>familyName: Arial
fontNames: Arial-BoldMT
fontNames: Arial-BoldItalicMT
fontNames: Arial-ItalicMT
fontNames: ArialMT
>>>familyName: Chalkduster
fontNames: Chalkduster
>>>familyName: Kefa
fontNames: Kefa-Regular
>>>familyName: Hoefler Text
fontNames: HoeflerText-Italic
fontNames: HoeflerText-Black
fontNames: HoeflerText-Regular
fontNames: HoeflerText-BlackItalic
>>>familyName: Optima
fontNames: Optima-ExtraBlack
fontNames: Optima-BoldItalic
fontNames: Optima-Italic
fontNames: Optima-Regular
fontNames: Optima-Bold
>>>familyName: Palatino
fontNames: Palatino-Italic
fontNames: Palatino-Roman
fontNames: Palatino-BoldItalic
fontNames: Palatino-Bold
>>>familyName: Malayalam Sangam MN
fontNames: MalayalamSangamMN-Bold
fontNames: MalayalamSangamMN
>>>familyName: Al Nile
fontNames: AlNile
fontNames: AlNile-Bold
>>>familyName: Lao Sangam MN
fontNames: LaoSangamMN
>>>familyName: Bradley Hand
fontNames: BradleyHandITCTT-Bold
>>>familyName: Hiragino Mincho ProN
fontNames: HiraMinProN-W3
fontNames: HiraMinProN-W6
>>>familyName: PingFang HK
fontNames: PingFangHK-Medium
fontNames: PingFangHK-Thin
fontNames: PingFangHK-Regular
fontNames: PingFangHK-Ultralight
fontNames: PingFangHK-Semibold
fontNames: PingFangHK-Light
>>>familyName: Helvetica
fontNames: Helvetica-Oblique
fontNames: Helvetica-BoldOblique
fontNames: Helvetica
fontNames: Helvetica-Light
fontNames: Helvetica-Bold
fontNames: Helvetica-LightOblique
>>>familyName: Courier
fontNames: Courier-BoldOblique
fontNames: Courier-Oblique
fontNames: Courier
fontNames: Courier-Bold
>>>familyName: Cochin
fontNames: Cochin-Italic
fontNames: Cochin-Bold
fontNames: Cochin
fontNames: Cochin-BoldItalic
>>>familyName: Trebuchet MS
fontNames: TrebuchetMS-Bold
fontNames: TrebuchetMS-Italic
fontNames: Trebuchet-BoldItalic
fontNames: TrebuchetMS
>>>familyName: Devanagari Sangam MN
fontNames: DevanagariSangamMN
fontNames: DevanagariSangamMN-Bold
>>>familyName: Oriya Sangam MN
fontNames: OriyaSangamMN
fontNames: OriyaSangamMN-Bold
>>>familyName: Rockwell
fontNames: Rockwell-Italic
fontNames: Rockwell-Regular
fontNames: Rockwell-Bold
fontNames: Rockwell-BoldItalic
>>>familyName: Snell Roundhand
fontNames: SnellRoundhand
fontNames: SnellRoundhand-Bold
fontNames: SnellRoundhand-Black
>>>familyName: Zapf Dingbats
fontNames: ZapfDingbatsITC
>>>familyName: Bodoni 72
fontNames: BodoniSvtyTwoITCTT-Bold
fontNames: BodoniSvtyTwoITCTT-BookIta
fontNames: BodoniSvtyTwoITCTT-Book
>>>familyName: Verdana
fontNames: Verdana-Italic
fontNames: Verdana
fontNames: Verdana-Bold
fontNames: Verdana-BoldItalic
>>>familyName: American Typewriter
fontNames: AmericanTypewriter-CondensedBold
fontNames: AmericanTypewriter-Condensed
fontNames: AmericanTypewriter-CondensedLight
fontNames: AmericanTypewriter
fontNames: AmericanTypewriter-Bold
fontNames: AmericanTypewriter-Semibold
fontNames: AmericanTypewriter-Light
>>>familyName: Avenir Next
fontNames: AvenirNext-Medium
fontNames: AvenirNext-DemiBoldItalic
fontNames: AvenirNext-DemiBold
fontNames: AvenirNext-HeavyItalic
fontNames: AvenirNext-Regular
fontNames: AvenirNext-Italic
fontNames: AvenirNext-MediumItalic
fontNames: AvenirNext-UltraLightItalic
fontNames: AvenirNext-BoldItalic
fontNames: AvenirNext-Heavy
fontNames: AvenirNext-Bold
fontNames: AvenirNext-UltraLight
>>>familyName: Baskerville
fontNames: Baskerville-SemiBoldItalic
fontNames: Baskerville-SemiBold
fontNames: Baskerville-BoldItalic
fontNames: Baskerville
fontNames: Baskerville-Bold
fontNames: Baskerville-Italic
>>>familyName: Khmer Sangam MN
fontNames: KhmerSangamMN
>>>familyName: Didot
fontNames: Didot-Bold
fontNames: Didot
fontNames: Didot-Italic
>>>familyName: Savoye LET
fontNames: SavoyeLetPlain
>>>familyName: Bodoni Ornaments
fontNames: BodoniOrnamentsITCTT
>>>familyName: Symbol
fontNames: Symbol
>>>familyName: Charter
fontNames: Charter-BlackItalic
fontNames: Charter-Bold
fontNames: Charter-Roman
fontNames: Charter-Black
fontNames: Charter-BoldItalic
fontNames: Charter-Italic
>>>familyName: Menlo
fontNames: Menlo-BoldItalic
fontNames: Menlo-Bold
fontNames: Menlo-Italic
fontNames: Menlo-Regular
>>>familyName: Noto Nastaliq Urdu
fontNames: NotoNastaliqUrdu
>>>familyName: Bodoni 72 Smallcaps
fontNames: BodoniSvtyTwoSCITCTT-Book
>>>familyName: DIN Alternate
fontNames: DINAlternate-Bold
>>>familyName: Papyrus
fontNames: Papyrus-Condensed
fontNames: Papyrus
>>>familyName: Hiragino Sans
fontNames: HiraginoSans-W3
fontNames: HiraginoSans-W6
>>>familyName: PingFang SC
fontNames: PingFangSC-Medium
fontNames: PingFangSC-Semibold
fontNames: PingFangSC-Light
fontNames: PingFangSC-Ultralight
fontNames: PingFangSC-Regular
fontNames: PingFangSC-Thin
>>>familyName: Myanmar Sangam MN
fontNames: MyanmarSangamMN
fontNames: MyanmarSangamMN-Bold
>>>familyName: Noto Sans Chakma
fontNames: NotoSansChakma-Regular
>>>familyName: Zapfino
fontNames: Zapfino
>>>familyName: Telugu Sangam MN
>>>familyName: Bodoni 72 Oldstyle
fontNames: BodoniSvtyTwoOSITCTT-BookIt
fontNames: BodoniSvtyTwoOSITCTT-Book
fontNames: BodoniSvtyTwoOSITCTT-Bold
>>>familyName: Euphemia UCAS
fontNames: EuphemiaUCAS
fontNames: EuphemiaUCAS-Italic
fontNames: EuphemiaUCAS-Bold
>>>familyName: Bangla Sangam MN
>>>familyName: DIN Condensed
fontNames: DINCondensed-Bold