Anzeigen von Zahlen mit proportionalem Abstand (anstelle von Monospace / Tabellarisch) unter iOS
Ich rendere Zahlen in iOS (mit Ausrichtung auf 7 und höher), indem ich sie in einem NSAttributedString speichere und mit "drawAtPoint:" rendere. Ich benutze Helvetica Neue.
Ich habe bemerkt, dassZiffern solcher Zahlen sind nicht proportional - Die Glyphen haben alle die gleiche Breite. Selbst eine dünne "1" belegt den gleichen Platz wie eine "0".
Ein Test bestätigt dies:
for(NSInteger i=0; i<10; ++i)
{
NSString *iString = [NSString stringWithFormat: @"%d", i];
const CGSize iSize = [iString sizeWithAttributes: [self attributes]];
NSLog(@"Size of %d is %f", i, iSize.width);
}
Mit, anderswo:
-(NSDictionary *) attributes
{
static NSDictionary * attributes;
if(!attributes)
{
attributes = @{
NSFontAttributeName: [UIFont systemFontOfSize:11],
NSForegroundColorAttributeName: [UIColor whiteColor]
};
}
return attributes;
}
Daraus resultieren Glyphenalle haben die gleiche Breite von 6,358 Punkten.
Gibt es eine Rendering-Option, die ich aktivieren kann?Aktivieren Sie proportionale Ziffernglyphen? Gibt es eine andere Schriftart (im Idealfall ähnlich wie Helvetica Neue), die Proportional-Ziffern-Glyphen unterstützt (im Idealfall integriert)? Noch etwas?
Vielen Dank.