在Android中显示Malayalam Ascii Font的英文文本?

时间:2012-09-14 06:21:14

标签: unicode blackberry ascii

您好我正在开发一个应用程序,在我的应用程序中显示Malayalam单词并使用Malayalam字体来实现此目的。而且我得到了正确的输出。但是当我尝试与马拉雅拉姆一起显示一些英文字母时,我使用的字体不是Thoolika.Ttf。  这是我给出的输入是“Y¢j¤lcÉd¤j«:一个” 所需的输出是:“തിരുവനന്തപുരം:One” 但我得到的输出为:“തിരുവനന്തപുരം:സഷഫ”  这是什么问题

2 个答案:

答案 0 :(得分:5)

此字体使用“可视编码”:您编写字母A,它在逻辑上是拉丁字母A,但它在屏幕上呈现为

视觉编码字体是适当的Unicode支持前几天的遗留物,您今天不应该使用它们。正如您所发现的,他们的许多不好之处之一就是您无法用相同的字体书写拉丁字母。要编写拉丁语和马拉雅拉姆语的混合物,只要你拥有可视编码字体,就必须为每段文字切换字体。

我建议删除此字体并获取支持正确的Malayalam代码点的Unicode字体,这样对于形状,您使用的是真正的逻辑U + 0D05 MALAYALAM LETTER A而不是U + 0041 LATIN CAPITAL LETTER A.然后你可以自由地混合拉丁语和马拉雅拉姆语(实际上是系统有字体的任何其他语言)。

答案 1 :(得分:3)

嗯,你不能......!正如 bobince 所说,你不能混合在一个字体面的字段中显示英文+“ascii字体中的马拉雅拉姆”(“视觉编码”)as as as ascii font(这里是“Thoolika.ttf”)..

只有当文本采用Unicode编码(UTF-8)时,才能实现这一目标...... 尝试使用Anjali old lipi(Unicode)字体。从这里开始:: smc.org.in/