IME の使用

IME (Input Method Editor : 入力方式エディタ) を使用すると、中国語、日本語、韓国語といったアジアの言語で ASCII 以外の文字を入力できるようになります。ActionScript の IME クラスを使用すると、クライアントコンピュータ上で実行されている Flash Player アプリケーションでオペレーティングシステムの IME を直接操作できます。

ActionScript を使用して、次の点の判別が可能です。

IME クラスでは、現在の IME でどの変換モードが使われているかを判別できます。たとえば日本語 IME がアクティブになっている場合、System.IME.getConversionMode() メソッドを使用することで、変換モードがひらがな、カタカナ (または他の変換モード) のいずれであるかを判別できます。また、System.IME.setConversionMode() メソッドを使えば変換モードの設定が可能です。

メモ

 

今のところ、どの IME がアクティブになっているかの判別 (IME がインストールされている場合) や、IME の種類の変更 (たとえば英語から日本語へ、韓国語から中国語へなど) はできません。

ユーザーのオペレーティングシステムによっては、実行時にアプリケーションで IME の有効 / 無効を切り替えたり、他の機能を実行したりすることもできます。System.capabilities.hasIME プロパティを使用すれば、システムに IME があるかどうかをチェックできます。次の例では、IME がインストールされているか、そしてアクティブかを判別する方法を示します。

IME がインストールされているか、そしてアクティブかを判別するには :

  1. 新しい Flash ドキュメントを作成し、ime.fla という名前で保存します。
  2. メインタイムラインのフレーム 1 に次の ActionScript を追加します。
    if (System.capabilities.hasIME) {
        if (System.IME.getEnabled()) {
            trace("You have an IME installed and enabled.");
        } else {
            trace("You have an IME installed but not enabled.");
        }
    } else {
        trace("Please install an IME and try again.");
    }
    

    上記のコードではまず、現在のシステムに IME がインストールされているかどうかをチェックします。IME がインストールされていれば、現在有効になっているかどうかが Flash によってチェックされます。

  3. [制御]-[ムービープレビュー] を選択してドキュメントをテストします。

    [出力] パネルに、IME がインストールされているかどうか、そして現在アクティブかどうかを示すメッセージが表示されます。

また、IME クラスを使用することで、実行時に Flash で IME の有効 / 無効を切り替えることもできます。次の例を試してみるには、システムに IME がインストールされている必要があります。特定のプラットフォームに IME をインストールする方法の詳細については、次のリンクを参照してください。

次の例に示されているように、SWF ファイルの再生時に IME の有効 / 無効を切り替えることができます。

IME の有効 / 無効を実行時に切り替えるには :

  1. 新しい Flash ドキュメントを作成し、ime2.fla という名前を付けて保存します。
  2. ステージ上にボタンシンボルインスタンスを 2 つ作成し、インスタンス名をそれぞれ enable_btn および disable_btn とします。
  3. メインタイムラインのフレーム 1 に次の ActionScript を追加します。
    checkIME();
    
    var my_fmt:TextFormat = new TextFormat();
    my_fmt.font = "_sans";
    
    this.createTextField("ime_txt", 10, 100, 10, 320, 240);
    ime_txt.border = true;
    ime_txt.multiline = true;
    ime_txt.setNewTextFormat(my_fmt);
    ime_txt.type = "input";
    ime_txt.wordWrap = true;
    
    enable_btn.onRelease = function() {
        System.IME.setEnabled(true);
    };
    disable_btn.onRelease = function() {
        System.IME.setEnabled(false);
    };
    
    function checkIME():Boolean {
        if (System.capabilities.hasIME) {
            if (System.IME.getEnabled()) {
                trace("You have an IME installed and enabled.");
                return true;
            } else {
                trace("You have an IME installed but not enabled.");
                return false;
            }
        } else {
            trace("Please install an IME and try again.");
            return false;
        }
    }
    

    このコードは、5 つのセクションに分かれています。最初のセクションでは checkIME() メソッドを呼び出しています。これにより、システムに IME がインストールされていて、アクティブであれば [出力] パネルにメッセージが表示されます。2 番目のセクションではカスタムテキストフォーマットオブジェクトを定義しており、フォントを _sans に設定しています。3 番目のセクションではテキスト入力フィールドを作成し、カスタムテキストフォーマットを適用しています。4 番目のセクションでは、前の手順で作成した enable_btn インスタンスおよび disable_btn インスタンスのイベントハンドラをいくつか作成しています。5 番目の、コードの最後のセクションではカスタム関数 checkIME() を定義しており、この関数では、現在のシステムに IME がインストールされているか、されているならアクティブかどうかをチェックします。

  4. FLA ファイルを保存し、[制御]-[ムービープレビュー] を選択してテストします。

    メモ

     

    この例を実行するには、システムに IME がインストールされている必要があります。IME のインストールの詳細については、この例の前に示されているリンクを参照してください。

    ステージ上のテキスト入力フィールドにテキストを入力します。IME を別の言語に切り替え、テキスト入力フィールドにもう一度テキストを入力します。Flash Player で、新しい IME を使用して文字が入力されます。ステージ上の disable_btn ボタンをクリックすると、Flash は前の言語を使用する設定に戻り、現在の IME 設定は無視されます。

System.capabilities.hasIME の詳細については、『ActionScript 2.0 リファレンスガイド』の「hasIME (capabilities.hasIME プロパティ)」を参照してください。


 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00000945.html