2013-02-25 177 views
1

当我用drawtext在画布上书写阿拉伯语文本时,在某些设备中它被写入正确,但在其他设备中它是反向的。例如在一些سلام和其他مالس。 我通过阿拉伯语形式转换字符以解决阿拉伯语形式的单独字符问题。canvas.drawtext阿拉伯语翻转

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

你使用的是什么android版本? – 2013-02-25 08:01:01

+0

我认为在HoneyComb和以上版本中提供了对阿拉伯语文本的原生支持... – waqaslam 2013-02-25 08:04:58

+0

我在2.3,4.0,2.1上测试它。如果设备支持阿拉伯语言,这是没问题的,但如果不是话,则显示为相反,我想。在仿真器中写入反向。 – 2013-02-25 08:09:58

回答

0

首先,我建议你看看this的链接。

我该如何检测何时需要反向,何时不需要反向。

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

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

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

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

这是一个错误,取决于你的Android版本,在Android的2.3,2.2,等无法正确显示这个角色,你不能做任何事情来解决这个问题,但是这个问题在ICS目前解决和JB。