Verwenden Sie mittelalterliche (Kleinbuchstaben, nicht-Futter) Zahlen

8

Ich habe eine Anfrage von einem Kunden, eine bestimmte Schriftart in einem iOS 7-Projekt zu verwenden, da mittelalterliche Zahlen vorhanden sind.

Gibt es eine Möglichkeit, diese Nummern für einen NSAtributedString zu aktivieren? Als Voreinstellung werden Zeilennummern verwendet, die in der Schriftart enthalten sind.

Hier ist ein Beispiel. Beide Zeilen haben die gleiche Schriftart ohne Variante (Regular), einmal mit aktivierten mittelalterlichen Zahlen, die zweite mit den Standard-Lining-Nummern.

    
vikingosegundo 27.02.2014, 13:17
quelle

2 Antworten

11

Dies nennt man Kleinbuchstaben und kann mit UIFontDescriptor aktiviert werden.

Zuerst müssen Sie CoreText für einige Konstanten importieren:

%Vor%

Erstellen Sie anschließend die Schriftart mit dem Schriftdeskriptor. Hier verwende ich Georgia Familie:

%Vor%

Ergebnis:

Bearbeiten: Da @ Random832 darauf hinweist, hat Georgia nur Kleinbuchstaben, daher ist das Ergebnis irrelevant. @vikingosegundo hat jedoch bestätigt, dass dieser Code auf unterstützten Zeichensätzen funktioniert. Danke.

Die oberste Zeile wurde mit

generiert %Vor%

die zweite Zeile mit

%Vor%     
Tricertops 27.02.2014, 13:52
quelle
2

Eine andere Frage hat jedoch einen Hinweis in die richtige Richtung Die Frage erwähnt Tabellenzahlen [vs proportional] anstatt Text vs Futter.

Es sieht so aus, als ob Sie CTFontDescriptorCreateCopyWithFeature mit kNumberCaseType auf kLowerCaseNumbersSelector gesetzt, um die Ziffern auf diese Weise anzuzeigen.

Hier ist eine weitere verwandte Frage , und hier ist der Blogpost in der Antwort .

    
Random832 27.02.2014 13:50
quelle