2011-06-08 15 views
1

在Flex移動項目中,文本輸入顯示的是塊而不是顯示阿拉伯文本。標籤用阿拉伯語正常工作。文本輸入在Flex移動項目中顯示塊而不是阿拉伯文文本

有什麼方法可以在文本輸入中顯示阿拉伯文字嗎?

我的代碼示例是

<fx:Script> 
    <![CDATA[ 
    /* Import all the easing classes so its 
    easier to switch between them on the 
    fly without tweaking import statements. */ 
    import mx.effects.easing.*; 
    ]]> 
</fx:Script> 

<fx:Style> 
    @font-face { 
    src: url('assets/AlBayan.ttf'); 
    font-family: Base02; 
    unicode-range: 
     U+0600-U+06FF, 
     U+FB50-U+FDFF, 
     U+FE70-U+FEFF; 
    } 

    .MyEmbeddedFont { 
    font-family: Base02; 
    font-size: 14px; 
    } 
</fx:Style> 
<s:Label x="91" y="149" width="276" height="69" styleName="MyEmbeddedFont" 
     text="Testing Unicodes"/> 
<s:TextInput x="30" y="274" styleName="MyEmbeddedFont"/> 

因爲,它是柔性的移動項目,當我輸入阿拉伯語任何文本,它顯示了不同的角色。阿拉伯語是一種沒有單獨字符的語言。它應該結合字母形成特定的單詞。

+0

您使用嵌入式字體嗎?您是否嘗試將語言環境設置爲阿拉伯語? – 2011-06-08 15:11:17

+0

我試過但沒有運氣。我想從阿拉伯語的用戶那裏接受輸入,所以TextInput必須支持阿拉伯語。 – Imran 2011-06-12 04:34:41

回答

0

假設您已經嵌入了支持阿拉伯字符的字體,您可以嘗試將這些字符的unicode範圍添加到您的應用中。 FlexEamples有一個不錯的write-up about it here

例子:

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="800" height="600"> 
     <mx:Style> 
     @font-face { 
      src: url('assets/fonts/TAHOMA.TTF'); 
      font-family: Base02; 
      unicode-range: 
       U+0600-U+06FF, 
       U+FB50-U+FDFF, 
       U+FE70-U+FEFF; /* define the character range, these ranges are for arabic */ 
     } 

     .MyEmbeddedFont { 
      font-family: Base02; 
      font-size: 14px; 
     } 
    </mx:Style> 
     <mx:TextInput id="embeddedText" text="¿¿¿¿¿" styleName="MyEmbeddedFont" fontAntiAliasType="advanced"/> 
</mx:Application> 

您可能還需要看一看FlarabySWF。我個人並沒有使用它,但它也可能值得調查。

+0

謝謝你的回覆賈森。我正在嘗試將它與移動項目集成,並且工作不正常。 – Imran 2011-06-09 05:22:13

+0

@Imran你到目前爲止還未嘗試過什麼?你能給我們提供一個代碼示例嗎? – 2011-06-09 15:02:06

+0

嘿傑森,請在上面找到我的代碼。 – Imran 2011-06-12 04:33:33