文本输入在Flex Mobile Project中显示块而不是阿拉伯文本

时间:2011-06-08 06:44:15

标签: android flash ios flex air

在Flex Mobile Project中,文本输入显示块而不是显示阿拉伯文本。标签在阿拉伯语中运行良好。

有没有办法在文字输入中显示阿拉伯文字?

我的代码示例是

                  

<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"/>

因为,对于flex移动项目,当我输入阿拉伯语中的任何文本时,它会显示单独的字符。阿拉伯语是一种没有单独字符的语言。它应该组合字母以形成特定的单词。

1 个答案:

答案 0 :(得分: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。我没有亲自使用它,但也可能值得调查。