1

当我通过drawtext在画布上写阿拉伯文本时,在某些设备中它是正确的,但在其他设备中它是反向的。例如在某些 سلام 和其他 ﻢﺎﻟﺳ 中。我通过arabicReshaper 转换字符以解决阿拉伯形式的单独字符问题。

  1. 如何检测单词何时需要反转,何时不需要。
  2. 在某些设备中 پ 字符显示正确,但在其他一些设备中不显示该字符。我使用自定义字体,我确定字体有 پ 字符。
4

1 回答 1

0

首先,我建议你看看这个链接。

如何检测单词何时需要反转,何时不需要。

您可以使用以下功能检测波斯字符,因此当文本是波斯语时,您需要反转它们的序列。

     public boolean isPersian(String persianText)
     {
         return persianText.matches("/[\u0600-\u065F\u066A-\u06EF\u06FA-\u06FF]/");
     }

如果您的字符串包含波斯字符(不是数字),则上述函数返回 true,否则返回 false。

在某些设备中 پ 字符显示正确,但在其他一些设备中不显示该字符。我使用自定义字体,我确定字体有 پ 字符。

这是一个错误,取决于您的 android 版本,在 android 2.3、2.2 等中,此字符无法正确显示,您无法进行任何修复,但此问题目前已在 ICS 和 JB 中解决。

于 2013-02-25T08:43:49.513 回答