Написание языка хинди на UILabel в Xcode - PullRequest
0 голосов
/ 22 сентября 2011

Я написал код, в котором мне нужно отображать номера хинди на UILabel.Я использовал шрифт деванагари, чтобы показать это значение, но оно не работает.Это просто меняет внешний вид, но не язык.

Я использовал:

UIFont *font = [UIFont fontWithName:@"DevanagariSangamMN" size:16];
myLabel.font = font;

Но это не работает.Может кто-нибудь помочь мне с этим?

Ответы [ 2 ]

2 голосов
/ 22 сентября 2011

Вы неправильно указали название шрифта.Имя шрифта DevanagariSangamMN, а не DevanagarSangamMN (обратите внимание на пропущенное «i» в вашем имени).Поэтому ваш код должен быть:

UIFont *font = [UIFont fontWithName:@"DevanagariSangamMN" size:16]; 
myLabel.font = font;

Чтобы найти больше информации о шрифтах iOS.Я рекомендую этот веб-сайт, на котором есть все шрифты, доступные в iOS

Кроме того, если вы введете английские символы в Label, вам будет возвращена английская версия, а не перевод на хинди.Это не делает перевод для вас.Использование DevanagariSangamMN позволяет отображать только символы хинди, поскольку обычно используемые шрифты, такие как Helvetica, не включают глифы хинди.Например:

UIFont *font = [UIFont fontWithName:@"DevanagariSangamMN" size:16]; 
myLabel.font = font;
myLabel.text = @"Testing";

Будет возвращено «Тестирование» на английском языке, а не на хинди.Однако, если вы сделаете:

UIFont *font = [UIFont fontWithName:@"DevanagariSangamMN" size:16]; 
myLabel.font = font;
myLabel.text = @"परीक्षण";

Тогда вы получите «परीक्षण», что является хинди для «тестирования» (я использовал Google Translate, так что это может быть неправильно).Таким образом, чтобы получить число «4» с версией хинди (४), вам нужно сделать следующее:

UIFont *font = [UIFont fontWithName:@"DevanagariSangamMN" size:16]; 
myLabel.font = font;
myLabel.text = @"४";
1 голос
/ 22 сентября 2011

Вы присваиваете свой текст UILabel в юникоде?Попробуйте это -

myLabel.text = [NSString stringWithFormat:@"String with unicode %C", 0x207F];
...