Exibindo números proporcionalmente espaçados (em vez de monoespaçados / tabulares) no iOS
Estou processando números no iOS (segmentando 7 e acima) armazenando-os em um NSAttributedString e renderizando com "drawAtPoint:". Eu estou usando o Helvetica Neue.
Tenho notado quedígitos de números desenhados como este não são proporcionais - todos os glifos têm a mesma largura. Mesmo um "1" magro ocupa o mesmo espaço que um "0".
Um teste confirma isso:
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);
}
Com, em outro lugar:
-(NSDictionary *) attributes
{
static NSDictionary * attributes;
if(!attributes)
{
attributes = @{
NSFontAttributeName: [UIFont systemFontOfSize:11],
NSForegroundColorAttributeName: [UIColor whiteColor]
};
}
return attributes;
}
Esses glifos resultantestodos têm a mesma largura de 6,358 pontos.
Existe alguma opção de renderização eu posso ligar isso paraativar glifos de dígitos proporcionais? Existe outra fonte (idealmente semelhante à Helvetica Neue) que suporte glifos de dígitos proporcionais (idealmente incorporados)? Algo mais?
Obrigado.