Q. 半角カナが効かないことがあります
エディットコントロールの特性でIMEのモードを自動的に切り替えるようにしています。
しかし、端末によって、半角カナ(漢字=5)が効かないことがあります。
原因としては、どのようなことが考えられるでしょうか?
A. Office2007を使われているのでは。
お問い合わせの件は、Magic uniPaaSのコントロール特性で、漢字入力の欄が「5」になっている場合だと思います。
本来であれば、これでローマ字入力半角カナモードになるはずですが、MS Office 2007のIMEを使っていると、うまく切り替えができないことがあります。
(実行時の条件によっては、うまくいくこともあります。)
今のところ(2009年12月現在)、根本的な解決策はないみたいですが、回避策としては、「5」ではなく「6」を使うことです。
これによって、通常のMS IMEでも、Office2007のIMEでも、どちらでも半角カナになると思います。
但し、運用環境の中で、ATOKが混在している場合は注意が必要です。
ATOKでは、「5」がローマ字入力半角カナモードで、「6」だと、かな入力半角カナモードになります。
MS IMEとATOKとの混在環境では、式を使って「5」と「6」を使い分けるしかないでしょう。
コントロール特性の漢字入力欄の右側の「0」からズームするか、fxボタンを押すと式が使えます。
とは言っても、使っているIMEを自動取得する関数はないので、Magic.iniや管理テーブルに端末情報を記載するなどの工夫も必要になります。
元々は、奇数が「ローマ字入力」、偶数が「かな入力」だったようです。
つまり、ATOKでの動作が本来の動きということです。
ですが、10年以上前に、MS IMEのインターフェースが変わって、奇数も偶数も、どちらも「ローマ字入力」となってしまったと聞いたことがあります。
表にまとめると、次のようになります。
漢字入力欄 | 一般のMS IME | Office2007のIME | ATOK |
---|---|---|---|
1 |
ローマ字入力ひらがな | ローマ字入力ひらがな | ローマ字入力ひらがな |
2 |
ローマ字入力ひらがな | ローマ字入力ひらがな | かな入力ひらがな |
3 |
ローマ字入力全角カナ | ローマ字入力全角カナ | ローマ字入力全角カナ |
4 |
ローマ字入力全角カナ | ローマ字入力全角カナ | かな入力全角カナ |
5 |
ローマ字入力半角カナ | (ほぼ)無効 | ローマ字入力半角カナ |
6 |
ローマ字入力半角カナ | ローマ字入力半角カナ | かな入力半角カナ |