Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android上正确显示泰语发音?_Android - Fatal编程技术网

如何在Android上正确显示泰语发音?

如何在Android上正确显示泰语发音?,android,Android,简短的序言。泰语的元音符号可能出现在辅音的上方,还有变音符号(DS)也出现在辅音的上方;当元音和DS同时出现时,它们一个出现在另一个之上,因此元音设置在辅音之上,DS设置在元音之上 我正在写一个应用程序,将显示泰语文本。在仿真器(API 10)中,一切看起来都很完美,但在真正的设备(三星GT-I9001和姜饼2.3.6)上却不完美 我准备了两张图片来说明这个问题。我有一个简单的布局,只有文本视图在顶部;两个字พี่สาว 及ไม้ 显示在该视图中 这是它的外观(来自模拟器的屏幕截图): 第一个

简短的序言。泰语的元音符号可能出现在辅音的上方,还有变音符号(DS)也出现在辅音的上方;当元音和DS同时出现时,它们一个出现在另一个之上,因此元音设置在辅音之上,DS设置在元音之上

我正在写一个应用程序,将显示泰语文本。在仿真器(API 10)中,一切看起来都很完美,但在真正的设备(三星GT-I9001和姜饼2.3.6)上却不完美

我准备了两张图片来说明这个问题。我有一个简单的布局,只有文本视图在顶部;两个字พี่สาว 及ไม้ 显示在该视图中

这是它的外观(来自模拟器的屏幕截图):

第一个字符有一个元音,元音上方有一个DS,最后一个字符只有DS

这是我手机上的屏幕截图:

两个DS都向下滑动,现在元音和DS在第一个字符上方彼此重叠。请注意,最后一个由一个字符显示低于它应该(它应该是整行高,你可能会看到在第一个屏幕截图)

我发现这个问题是全系统的:我把这些泰语单词复制到一个简单的网页上,并将其加载到手机的网络浏览器中,也遇到了同样的问题。字体渲染似乎已中断

那么问题是:如何绕过这个?我是否需要安装字体(如何安装?)或者一些语言包(再次说明,如何安装?),或者唯一的方法是升级Android

PS:安卓4.0.4没有问题。也许只有旧版本受到影响

更新:WarrenFaith就设置自定义字体给出了一个很有希望的建议。然而,这似乎并不像看上去那么简单。我尝试过几种不同的字体,包括Roboto(在ICS中引入)、msttf Linux软件包中的Verdana以及其他一些字体。为了查看字体是否被加载和应用,我在文本中添加了一些拉丁和西里尔字母

结果很有趣。只有拉丁和西里尔文字发生了变化,但泰国文字没有变化。看起来这些字体没有所需的字形,Android将其替换为使用某些默认字体呈现的字形

(我不明白为什么Roboto不工作;它是Android的官方字体,不应该完全支持整个Unicode吗?)

看来我必须找到有泰国字形的字体

我仍然想知道Android 4.0.4默认使用什么字体


快乐结局:感谢WarrenFaith的建议,谷歌和。

如果默认文本/字体被破坏,你应该提供一种你知道可以使用的字体。要实现字体,可以使用以下答案:


  • 这看起来很有希望,但我无法证实。我已经更新了我的问题。最后我找到了合适的字体。谢谢你的帮助@AlexanderDunaev,你用哪种字体来显示泰语?你能帮我吗share@Jiju,我相信我已经下载了中提到的字体。请尝试一下,如果有帮助,请告诉我。