2

我的 Android 应用程序有问题。它不显示一些特殊字母,即(KOOTTAKSHARAM)来自Malayalam语言的复杂/组合字母。

在我的应用程序中,我使用 WebView 加载使用从服务器接收的 Unicode 字符准备的 html。字体“Thoolika.ttf”正在从资产加载。

后来我使用了来自服务器的 ascii 文本和 .ttf 字体文件,并且工作没有问题。我也尝试了 UTF-8 转换,但没有帮助。

所以我想知道是否可以使用 Unicode 字符和 Unicode 字体文件 (.ttf) 显示来自马拉雅拉姆语的复杂/组合字母 (KOOTTAKSHARAM)?

4

1 回答 1

1

马拉雅拉姆语中 Koottaksharam 和 Chillu 的分割渲染并不是真正的问题。真正的问题是 - 只有少数制造商支持马拉雅拉姆语 Unicode 字体,而且很少有人能正确呈现马拉雅拉姆语。

您可以在三星中阅读马拉雅拉姆语,但不能在 HTC、LG、索尼等中阅读。Google 在 JellyBean (v.4.1) 中添加了对马拉雅拉姆语的原生支持

唯一的解决方法是 - 将 Unicode 文本转换为 ASCII 代码,在组件中使用该 ASCII 文本,然后动态加载字体。您可以在 Manoramaonline.com 上看到 - 查看 HTML 源代码 - 他们没有使用 Unicode,而是使用了一些符号,并使用自己的字体显示这些符号,最终看起来像马拉雅拉姆语文本。

Mathrubhumi.com 有他们网站的移动版本,它使用相同的技术。即使没有支持,您也可以完美地阅读马拉雅拉姆语。我认为他们首先输入 ASCII 版本(为印刷版和 Android 发布),然后将其转换为 Unicode(在网站上发布)

有许多 ASCII 到 Unicode 转换器,例如http://aksharangal.com/,一个著名的 Unocode 到 ASCII 转换器是 - http://smc.org.in/silpa/ASCII2Unicode

于 2012-08-12T19:13:48.643 回答