为什么“阿拉伯语字母 PEH”在 Android 3.x 上无法正确显示?
在 Unicode 字符 阿拉伯字母 PEH 初始形式
'ﭘ'
是0xFB58
。当我使用以下代码显示 Unicode 字符时,Android 2.2、2.3 中的每个 Unicode 字符一切正常。和 4.x 但我在 Android 3.x 上使用 ARABIC LETTER PEH
'ﭘ'
时遇到问题,在本例中为字符显示'~'
。
Typeface tf = Typeface.createFromAsset(context.getAssets(),"TAHOMA.TTF");
strChars = "";
strChars += (char) 0xFB58;
tvChars.setTypeface(tf);
tvChars.setText(strChars);
我应该提到,当我更改字体或忽略使用 setTypeface(tf)
时,问题仍然存在,
为什么?
如何在 Unicode 中找到 ARABIC LETTER PEH
的代码?
编辑:
请将 0xFB58
(ﭘ
) 和 0xFB5E
(ﭞ
) 与任何以编程方式设置字体。你会发现问题的。第一个未显示,但第二个已正确显示。
In Unicode characters the ARABIC LETTER PEH INITIAL FORM
'ﭘ'
is 0xFB58
. When I use the following code to show Unicode characters, everything is OK for every Unicode character in Android 2.2, 2.3. and 4.x But I have problem with ARABIC LETTER PEH
'ﭘ'
on Android 3.x and in this case character '~'
is shown.
Typeface tf = Typeface.createFromAsset(context.getAssets(),"TAHOMA.TTF");
strChars = "";
strChars += (char) 0xFB58;
tvChars.setTypeface(tf);
tvChars.setText(strChars);
I should mention that The problem is remained when I change the font or ignore using setTypeface(tf)
Why?
How can I find the code of ARABIC LETTER PEH
in Unicode?
EDIT:
Please compare 0xFB58
(ﭘ
) and 0xFB5E
(ﭞ
) with any font programmatically. you will find the problem. the first one is not shown but the second one is shown correctly.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您是否尝试添加自己的字体?
获取适合您的波斯语 TTF 字体文件并使用它,这样您就不会依赖操作系统。
http://twigstechtips.blogspot .com/2012/01/android-how-to-use-true-type-fonts-ttf.html
Did you try adding your own fonts?
Get a Persian TTF font file that fits you and use it, this way you won't be OS dependent.
http://twigstechtips.blogspot.com/2012/01/android-how-to-use-true-type-fonts-ttf.html