Wyświetlanie proporcjonalnie rozmieszczonych liczb (zamiast monospace / tabular) w systemie iOS

Wyrenderowuję numery w systemie iOS (targetowanie 7 i wyżej), przechowując je w NSAttributedString i renderując z „drawAtPoint:”. Używam Helvetica Neue.

Zauważyłem tocyfry takich liczb nie są proporcjonalne - wszystkie glify mają tę samą szerokość. Nawet chudy „1” zajmuje taką samą przestrzeń jak „0”.

Test potwierdza to:

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);
}

Z, gdzie indziej:

-(NSDictionary *) attributes
{
  static NSDictionary * attributes;
  if(!attributes)
  {
    attributes = @{
                   NSFontAttributeName: [UIFont systemFontOfSize:11],
                   NSForegroundColorAttributeName: [UIColor whiteColor]
                   };
  }
  return attributes;
}

To skutkuje glifamiwszystkie mają tę samą szerokość 6.358 punktów.

Czy jest jakaś opcja renderowania, którą mogę włączyćwłącz proporcjonalne glify cyfrowe? Czy jest inna czcionka (idealnie podobna do Helvetica Neue), która obsługuje proporcjonalne glify cyfrowe (najlepiej wbudowane)? Coś jeszcze?

Dziękuję Ci.

questionAnswers(1)

yourAnswerToTheQuestion