2013-02-25 237 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。