Benutzerdefinierte Schriftarten nicht korrekt angezeigt auf iOS

Ich versuche, einen Satz von Neo Sans Pro-Schriften arbeiten auf dem iPhone. Ich habe vier Schnitte: Light, Regular, Medium, Bold als OTF-Dateien (NeoSansPro-Licht.otf, -Regelmäßige.otf etc.). Die Dateien sind im build enthalten, und registriert die info.plist.

Aufrufen [UIFont fontNamesForFamilyName:@"Neo Sans Pro"] gibt ein array mit 4 Einträgen, z.B. "NeoSansPro-Licht".

Kann ich abrufen font-Objekte für jede dieser Zeichenfolgen mit UIFont fontWithName:size:.

Jedoch, wenn ich zeichne text mit, Light, Regular und Medium-Versionen, alle zeichnen genau das gleiche, und sehen aus wie die Light-version. Die Bold-version zeichnet anders.

Laut-Schrift-Buch, jede schriftart-Datei enthält verschiedene Glyphen.

Ich bin völlig ratlos - irgendwelche Hinweise, was ich tun muss?

[Hinzugefügt]
Einige weitere Untersuchung:

 NSArray *fonts = [UIFont fontNamesForFamilyName:@"Neo Sans Pro"];

    for (NSString *fname in fonts) {
        UIFont *font = [UIFont fontWithName:fname size:12.0];
        NSLog(@"name: %@ font: %@", fname, font);
    }

Diesen code ausführen, gibt die folgende log-Ausgabe:

 name: NeoSansPro-Light font: <UICFFont: 0x66304a0> font-family: "Neo Sans Pro"; font-weight: normal; font-style: normal; font-size: 12px
 name: NeoSansPro-Regular font: <UICFFont: 0x66304a0> font-family: "Neo Sans Pro"; font-weight: normal; font-style: normal; font-size: 12px
 name: NeoSansPro-Medium font: <UICFFont: 0x66304a0> font-family: "Neo Sans Pro"; font-weight: normal; font-style: normal; font-size: 12px
 name: NeoSansPro-Bold font: <UICFFont: 0xaa06070> font-family: "Neo Sans Pro"; font-weight: bold; font-style: normal; font-size: 12px

Also die drei Schriften zeigen die gleiche wirklich gleich sind. Aber es gibt vier font-GEWICHTE und vier Schriftarten in der build.

  • Habe auch versucht als TTF-Dateien, aber gleiche passiert
InformationsquelleAutor Malcolm Box | 2011-07-18
Schreibe einen Kommentar