Мой клиент дал мне собственный шрифт TTF только для английского языка. Поэтому я намерен загрузить этот TTF только для английского языка и для других языков, поэтому он должен использовать доступный системный шрифт.
Я делаю следующие шаги:
- Регистрация шрифтов в моем приложении.
Копирую в папку Ресурсы и добавляю в мой проект.
Загрузка шрифта с именем.
NSMutableDictionary * aTitleAttributes = [[[NSMutableDictionary alloc] initWithObjectsAndKeys:
[NSFont fontWithName:CP_FONT_NAME size:[NSFont systemFontSize]], NSFontAttributeName,
aParagraphStyle, NSParagraphStyleAttributeName,
nil] autorelease];
Но это приводит к другой проблеме, так как я загружаю шрифты таким образом для всех языков, мой текст локализации выглядит по-английски. Поэтому я думаю, что у меня должно быть какое-то условие, подобное
NSFont *font = nil;
If (currentLocaleIsEnglish()) {
/// font to load my custom TTF
}
Then use [NSFont fontwithName:font ...]
Так может кто-нибудь помочь мне понять, что я делаю правильно с регистрацией шрифта в App. Если так, как я могу зарегистрировать свой шрифт только для английской версии. Поскольку для других локалей этот шрифт недоступен, NSFont::fontWithName
вернет nil и автоматически вернется к SystemFont, и, следовательно, моя локаль будет отображена правильно.
В противном случае у меня должно быть состояние, подобное тому, что я упомянул выше, что является грубым способом выполнения. Если так, как я могу написать такой API для поиска currentLocale Is English?