0

我写了一个代码,我需要在 UILabel 上显示印地语数字。我使用梵文字体来显示该值,但它不起作用。它只是改变了外观而不是语言。

我正在使用:

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

但它不起作用。谁能帮我解决这个问题?

4

2 回答 2

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 = @"परीक्षण";

然后你会得到“परीक्षण”,这是印地语中的“测试”(我使用谷歌翻译,所以它可能是错误的)。因此,要获得印地语版本 (४) 的数字“4”,您需要执行以下操作:

UIFont *font = [UIFont fontWithName:@"DevanagariSangamMN" size:16]; 
myLabel.font = font;
myLabel.text = @"४";
于 2011-09-22T11:24:14.583 回答
1

UILabel用unicode分配你的文本吗?尝试这个 -

myLabel.text = [NSString stringWithFormat:@"String with unicode %C", 0x207F];
于 2011-09-22T11:44:57.727 回答