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.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage