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.
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%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 .
Tags und Links objective-c cocoa-touch typography ios7 nsattributedstring