UIFont – auslesen der “fontNames”

Von am 28.05.2011 | 2 Comments

Problem: Ihr wollt für ein Label, einen Button oder für eine andere Komponente eine Schrift definieren. Klar, in Photoshop nennen sich die Schrift “Helvetica Neue” etc.. Doch welche Angabe erwartet beispielsweise [UIFont fontWithName:@"XXX" size:14.0]; ? In dem kommenden Beispiel werde ich euch einen praktischen Tipp zeigen.

Lösung: Um die Wahl des richtigen Schriftnamens zu erleichtern, gibt es diese zwei Codesnippets.
Der erste Snippet liefert euch alle Schriften, welche UIFont kennt (eigens implementierte Schriften sind dort nicht enthalten).

NSLog(@"[UIFont familyNames]: %@", [UIFont familyNames]);

Die Ausgabe in der Console sieht wie folgt aus:

</span>
<pre>2011-05-28 10:31:29.436 fontnames[18819:207] [UIFont familyNames]: (
    Thonburi,
    "Snell Roundhand",
    "Academy Engraved LET",
    "Marker Felt",
    "Geeza Pro",
    "Arial Rounded MT Bold",
    "Trebuchet MS",
    Arial,
    "Gurmukhi MN",
    "Malayalam Sangam MN",
    "Bradley Hand",
    "Kannada Sangam MN",
    "Bodoni 72 Oldstyle",
    Cochin,
    "Sinhala Sangam MN",
    "Hiragino Kaku Gothic ProN",
    Papyrus,
    Verdana,
    "Zapf Dingbats",
    Courier,
    "Hoefler Text",
    Helvetica,
    "Hiragino Mincho ProN",
    "Bodoni Ornaments",
    "Apple Color Emoji",
    Optima,
    "Gujarati Sangam MN",
    "Devanagari Sangam MN",
    "Times New Roman",
    Kailasa,
    "Telugu Sangam MN",
    "Heiti SC",
    Futura,
    "Bodoni 72",
    Baskerville,
    "Chalkboard SE",
    "Heiti TC",
    Copperplate,
    "Party LET",
    "American Typewriter",
    AppleGothic,
    "Bangla Sangam MN",
    Noteworthy,
    Zapfino,
    "Tamil Sangam MN",
    "DB LCD Temp",
    "Arial Hebrew",
    "Heiti K",
    Georgia,
    "Heiti J",
    "Helvetica Neue",
    "Gill Sans",
    Chalkduster,
    Palatino,
    "Courier New",
    "Oriya Sangam MN",
    Didot,
    "Bodoni 72 Smallcaps"
)

Das sind einige Schriften. Wenn Ihr den richtigen FontName gefunden habt, könnt Ihr die Schriftvariationen (bold, italic etc.) laden. Das geht so:

NSLog(@"[UIFont fontNamesForFamilyName:fontFamilyName]: %@",[UIFont fontNamesForFamilyName:@"Tamil Sangam MN"]);

Die Consoleausgabe liefert folgendes:

2011-05-28 10:31:29.438 fontnames[18819:207] [UIFont fontNamesForFamilyName:fontFamilyName]: (
    TamilSangamMN,
    "TamilSangamMN-Bold"
)

Hoffentlich hilft das dem Einen oder Anderen weiter.

  • http://surfstyle.ogseo.com/ Florian

    Ich bin gerade eben zufaellig vorbei gekommen. Gefaellt mir bis jetzt gut.

  • Gast

    Danke, genau das habe ich gesucht :)