unicode - 在 Android 中使用马拉雅拉姆语 Ascii 字体显示英文文本?

标签 unicode blackberry ascii

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

最佳答案

此字体使用“视觉编码”:您编写字母 A,逻辑上它是拉丁字母 A,但它在屏幕上呈现后看起来就像

视觉编码字体是在正确的 Unicode 支持之前的时代的遗物,现在您不应该使用它们。正如您所发现的,它们的许多缺点之一是您不能用相同的字体书写拉丁字母。当您只有视觉编码字体时,要编写拉丁语和马拉雅拉姆语的混合体,您必须为每个文本片段切换字体。

我建议放弃此字体并获取支持正确马拉雅拉姆语代码点的 Unicode 字体,以便对于形状 您使用真正的逻辑 U+0D05 马拉雅拉姆语字母 A 和不是 U+0041 拉丁语大写字母 A。然后您可以自由地混合拉丁语和马拉雅拉姆语(实际上还有系统拥有字体的任何其他语言)。

关于unicode - 在 Android 中使用马拉雅拉姆语 Ascii 字体显示英文文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12419115/

相关文章:

swift - ascii to string swift 3 问题

c# - 将两个 ascii 字符转换为它们的 'corresponding' 一个字符扩展 ascii 表示

C++:输出文件中ASCII字符频率计数结果时出现奇怪的数字

java - Character.isLetter 是否需要标准化文本?

java - 黑莓读取项目中的本地属性文件

c++ - MFC LoadStringW 不是没有从字符串表中正确加载日文字符串

user-interface - 什么是用于黑莓 java 开发的最佳 GUI 库?

xml - 在 Blackberry 中创建 XML 的更好方法

javascript - 在 Web 应用程序上显示从 Twitter API 提取的 Emoji Unicode 字符的问题

python - Reportlab - Unicode 字符以支持 unicode 的字体显示为框