我写了一个代码,我需要在 UILabel 上显示印地语数字。我使用梵文字体来显示该值,但它不起作用。它只是改变了外观而不是语言。
我正在使用:
UIFont *font = [UIFont fontWithName:@"DevanagariSangamMN" size:16];
myLabel.font = font;
但它不起作用。谁能帮我解决这个问题?
我写了一个代码,我需要在 UILabel 上显示印地语数字。我使用梵文字体来显示该值,但它不起作用。它只是改变了外观而不是语言。
我正在使用:
UIFont *font = [UIFont fontWithName:@"DevanagariSangamMN" size:16];
myLabel.font = font;
但它不起作用。谁能帮我解决这个问题?
你把字体名称弄错了。字体名称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 = @"परीक्षण";
然后你会得到“परीक्षण”,这是印地语中的“测试”(我使用谷歌翻译,所以它可能是错误的)。因此,要获得印地语版本 (४) 的数字“4”,您需要执行以下操作:
UIFont *font = [UIFont fontWithName:@"DevanagariSangamMN" size:16];
myLabel.font = font;
myLabel.text = @"४";
你UILabel
用unicode分配你的文本吗?尝试这个 -
myLabel.text = [NSString stringWithFormat:@"String with unicode %C", 0x207F];