0

特に Mac OSX 10.6.8 Snow Leopard で、Flash Text Engine (FTE) を使用する Flex コンポーネントでタイ文字を表示する際に問題が発生しています。

これは、flex-config.xml のコンパイラ フォント マネージャーの宣伝文句です。

<flex-config>

    <target-player>10.2.0</target-player>

    <!-- Specifies the version of the compiled SWF -->
    <swf-version>11</swf-version>

    <compiler>
      <!-- Specifies the locales for internationalization. -->
      <locale>
          <locale-element>en_US</locale-element>
      </locale>

      <fonts>
          <!-- ... -->
          <!-- Compiler font manager classes, in policy resolution order-->
          <managers>
              <manager-class>flash.fonts.JREFontManager</manager-class>
              <manager-class>flash.fonts.BatikFontManager</manager-class>
              <manager-class>flash.fonts.AFEFontManager</manager-class>
              <manager-class>flash.fonts.CFFFontManager</manager-class>
          </managers>
      <!-- ... -->
        </fonts>
    </compiler>
</flex-config>

...そして flash-unicode-table.xml からの別のもの:

<language-range>
    <lang>Thai</lang>
    <range>U+0E01-0E5B</range>
</language-range>

私のフレックスアプリケーションは、もともとスタイルシートで次のように定義されていました:

Application {
    fontSize: 12px;
    fontFamily: Arial;
    font-sharpness:0;
    font-anti-alias-type:advanced;
}

これまでのところ、タイ語の文字は TextField などの mx コンポーネントで正しくレンダリングされます。ただし、TextLine などの FTE コンポーネントは、見栄えの悪いボックスを代替として表示します。私の最初の推測では、flex-config.xml で宣言されたコンパイラ フォント マネージャの 1 つが、タイ語の文字にフォールバックする適切なシステム フォントを見つけられなかったということでした。そこで、[システム環境設定] > [言語とテキスト] > [リストの編集] に移動して、システム フォントがインストールされていることを確認しました。次に、fontFamily を Arial、Ayuthaya に変更しました。まだ悪の箱を見ていました。

次に、おそらく Arial フォントが、タイ文字に対応する各 Unicode 値にボックスを割り当てているのではないかと考えました。そのため、Ayuthaya システム フォントを効果的にオーバーライドしていました。そこで、fontFamily をもう一度 Ayuthaya だけに変更すると、これで 1 つの問題が解決しました。

これが私の質問です。テキストの外観が Arial フォントに近づくように、FTE コンポーネントでタイ語をサポートする侵襲性の少ない方法はありますか? SWF のサイズに制約があるため、フォントを埋め込まないほうがよいでしょう。

4

1 に答える 1

0

アドビによると、ロケールに基づいてフォントを選択するのが正しいアプローチのようです。フォーラムでの私の投稿への返信は次のとおりです。

「従来のテキスト フィールド (mx コンポーネント) はフォント フォールバックを使用し、以前はたまたまうまく機能していましたが、アルゴリズム フォールバックのようなサポートされているスタイルとは必ずしも一致しませんでした。プロのテキスト レイアウト フレームワークとしての FTE は、フォントの選択についてより厳密です。要するに、あなたは持っています。予想されるスクリプトの地域ごとに適切なフォントを選択します。Arial は、タイ語の文字として単に適切な選択ではありません。Angsana や Jasmine など、タイ語のスクリプトをサポートするものを試してください。"

私のために働く:P

于 2011-11-19T00:32:47.087 に答える