ime-modeとは
CSSにはime-mode
というプロパティがあり、これによりinput要素やtext要素でインプットメソッドの入力モードを制御することができます。この仕様は廃止されることが決まっているため積極的に利用すべきものではありませんが、一方で代替となる仕様や実装が無いこともまた事実です。日本の業務システムでは、入力業務効率化の必要性から、今なおこの機能を利用している事例も多いようです。
Firefoxでのime-modeサポート状況
この仕様はInternet Explorer由来のものですが、Firefoxも同仕様をサポートしています。ただし、GNU/Linux版ではサポートされている機能が限定的で、active
やinactive
はサポートされていません。これは、GNU/Linux版Firefoxがプラットフォーム層として利用しているGTK側の制約に依るものです。
弊社でも「GNU/Linux版Firefoxでime-mode
を使用することはできないか?」というお問い合わせを受けたことが過去に何度かあります。
ime-mode-we
最近、とあるお客様から「どうしてもこの機能をGNU/Linux版Firefoxで実現したい」という強いご要望があったため、新たにime-mode-weというアドオンを作成してお応えしました。
同アドオンは、今のところ多言語入力フレームワークとしてIBusを、入力エンジンとしてAnthy、KKC、Mozc、SKKのみをサポートしています。
インストール方法
アドオン自体は、通常のアドオンと同様に、同ページから「Firefoxへ追加」ボタンを押すだけでインストールすることができます。ただし、このアドオンはシステムネイティブのコマンドを呼び出す形で実装されているため、このネイティブコマンドについても別途インストールする必要があります。同ページにも記載していますが、以下の手順でネイティブコマンドをインストールして下さい
-
"ime-mode-we-host.tar.gz"を https://github.com/clear-code/ime-mode-we/releases からダウンロードします。
-
以下のコマンドで、同アーカイブ内のファイルをシステムに展開します:
sudo tar xvf ime-mode-we-host.tar.gz -C /
アドオンの方をネイティブコマンドよりも先にインストールしてしまっている場合は、Firefoxを再起動して有効化して下さい。
なお、同コマンドの実行にはPythonが必要です。
利用方法
問題なくインストールが完了していれば、ime-mode: inactive
がセットされた入力エリアにフォーカスを合わせると自動的に入力モードが直接入力モードになり、ime-mode: active
がセットされた入力エリアにフォーカスを合わせると自動的に入力モードがひらがな入力モードに切り替わるようになります。後者については、実装上の都合で、直前の入力モードではなくひらがなモードに固定化されています(直前の入力モードに変更するためには、各IBusエンジン側の対応が必要です)。
ただし前述の通り対応している入力システムは限られますし、IBus側の設定をデフォルト状態から変更している場合には、対応済みのIBusエンジンでも正しく動作しないこともあるかもしれません。
まとめ
GNU/Linux版Firefoxでime-mode
を動作させるアドオンime-mode-weを紹介しました。現在はIBusの特定のIMエンジンのみ対応していますが、Fcitxなどにも対応させることは難しくないでしょう。実際、上記のお客様向けには、非公開のプロプライエタリIMエンジンに対応させる形で提供していますし、IMエンジン側に手を入れることでひらがな固定といった制約も排除しています。また、ime-mode
の仕様に拘らなければ、IMEのON/OFFだけでなく、初期状態をカタカナや半角カタカナなどに切り替えるといった機能も実現できるかと思います。
もしこういったカスタマイズのご要望がある場合は、ぜひ弊社お問い合わせフォームよりご連絡下さい。