Мое приложение для Mac OS рисует текст, используя такой код:
void drawString(NSString* stringToDraw)
{
NSFontManager *fontManager = [NSFontManager sharedFontManager];
NSString* fontName = [NSString stringWithCString: "Helvetica" encoding: NSMacOSRomanStringEncoding];
NSFont* font = [fontManager fontWithFamily:fontName traits:0 weight:5 size:9];
NSMutableDictionary *attribs = [[NSMutableDictionary alloc] init];
[attribs setObject:font forKey:NSFontAttributeName];
[stringToDraw drawAtPoint:NSMakePoint (0, 0) withAttributes:attribs];
}
Поскольку рисование текста — это очень небольшая часть приложения, этот простой подход до сих пор работал хорошо. Но теперь, с новым дисплеем Retina, пользователи жалуются, что текст кажется слишком большим по сравнению с остальной графикой. Кажется, что указание абсолютного размера шрифта (в моем случае 9) больше не работает.
Как я могу исправить этот код, чтобы он хорошо работал как для дисплеев Retina, так и для дисплеев без Retina?