Отображение пропорционально разнесенных чисел (вместо моноширинных / табличных) на iOS
Я рендерил числа в iOS (нацеливаясь на 7 и выше), сохраняя их в NSAttributedString и рендеринг с "drawAtPoint:". Я использую Helvetica Neue.
Я заметил чтоцифры чисел, нарисованные так, не пропорциональны - все глифы имеют одинаковую ширину. Даже тощая «1» занимает то же место, что и «0».
Тест подтверждает это:
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);
}
В другом месте:
-(NSDictionary *) attributes
{
static NSDictionary * attributes;
if(!attributes)
{
attributes = @{
NSFontAttributeName: [UIFont systemFontOfSize:11],
NSForegroundColorAttributeName: [UIColor whiteColor]
};
}
return attributes;
}
Это в результате глифывсе имеют одинаковую ширину 6,358 балла.
Есть ли какая-то опция рендеринга, которую я могу включить ввключить пропорциональные цифры глифов? Есть ли другой шрифт (идеально похожий на Helvetica Neue), который поддерживает пропорциональные глифы цифр (в идеале, встроенные)? Что-нибудь еще?
Спасибо.