当我通过drawtext在画布上写阿拉伯文本时,在某些设备中它是正确的,但在其他设备中它是反向的。例如在某些 سلام 和其他 ﻢﺎﻟﺳ 中。我通过arabicReshaper 转换字符以解决阿拉伯形式的单独字符问题。
- 如何检测单词何时需要反转,何时不需要。
- 在某些设备中 پ 字符显示正确,但在其他一些设备中不显示该字符。我使用自定义字体,我确定字体有 پ 字符。
首先,我建议你看看这个链接。
如何检测单词何时需要反转,何时不需要。
您可以使用以下功能检测波斯字符,因此当文本是波斯语时,您需要反转它们的序列。
public boolean isPersian(String persianText)
{
return persianText.matches("/[\u0600-\u065F\u066A-\u06EF\u06FA-\u06FF]/");
}
如果您的字符串包含波斯字符(不是数字),则上述函数返回 true,否则返回 false。
在某些设备中 پ 字符显示正确,但在其他一些设备中不显示该字符。我使用自定义字体,我确定字体有 پ 字符。
这是一个错误,取决于您的 android 版本,在 android 2.3、2.2 等中,此字符无法正确显示,您无法进行任何修复,但此问题目前已在 ICS 和 JB 中解决。