Написание языка хинди на UILabel в Xcode

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

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

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

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


person Aks    schedule 22.09.2011    source источник


Ответы (2)


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

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

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

Кроме того, если вы введете английские символы в метку, вам будет возвращена английская версия, а НЕ перевод на хинди. Это не делает перевод для вас. Использование 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 = @"४";
person Suhail Patel    schedule 22.09.2011
comment
Да, я использую тот же шрифт. DevanagariSangamMN Я сделал ошибку, написав вопрос. Поэтому я использую его как myLable.text = @4; а затем назначить шрифт, но это не работает. Не могли бы вы помочь? - person Aks; 22.09.2011
comment
Хорошо, но на самом деле я добавляю два числа и получаю результат. Значит, я не могу напрямую получить перевод? Мне вручную нужно будет писать все цифры??? - person Aks; 22.09.2011
comment
Вы можете определить числа от 1 до 9, а затем изменить каждое число на вариант хинди, но да, вам нужно. - person Suhail Patel; 22.09.2011
comment
Спасибо, я хочу знать, могу ли я использовать несколько шрифтов для одного UITextView. на самом деле я загружаю файл документа в UITextView. Но только английский текст правильно отображается в textView. Другой текст, такой как текст на санскрите и хинди, не отображается в читаемом формате, так как я могу написать текст на хинди и санскрите в своем UITextView? Заранее спасибо. - person Anand Gautam; 10.06.2013
comment
он может отображать परीक्षण без назначения какого-либо нового шрифта, просто назначая этот текст для работы с меткой без необходимости настройки шрифта - person Ravindra Bagale; 12.02.2014

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

myLabel.text = [NSString stringWithFormat:@"String with unicode %C", 0x207F];
person Srikar Appalaraju    schedule 22.09.2011
comment
Хм, не уверен. Любой пример для печати чисел с использованием этого? - person Aks; 22.09.2011
comment
цифры на английском? Зачем? числа попадают в набор символов ASCII. Это хинди, китайский и т.д. т.е. другие иностранные языки, которые размещены в юникоде... - person Srikar Appalaraju; 22.09.2011