ACS 1.1.8.4 以降で円記号の入力が正しく認識されない
Question
現在IBM i Access Client Solutions(以下ACS)バージョン1.1.8.6を使っています。
ファイル名やフィールド名の一部に円記号(半角の¥)が使われています。
それらのファイルを指定したコマンドが認識されません。
PDMの操作(リストから選ぶ方式)では問題なく操作可能です。
おそらく、円記号が正しく認識されていないと思われます。正しく認識するためにどうすればよいでしょうか?
以前のバージョンでは問題ありませんでした。
Answer
ACS(IBM i Access Client Solutions)のバージョン1.1.8.4から円記号に関連する機能拡張がありました。
ACSのreadmeファイルの1.1.8.4の機能拡張の説明で以下の記述があります。
- Allow "Yen" and "Backslash" at the same time. (RFE 132374)
Note: With this update, you may want to change the keyboard mapping for
the Yensign. To change keyboard mapping, select Edit->Preferences->Keyboard...
円記号とバックスラッシュを同時点で使えるように拡張されました。
それ以前のACSの5250上では、円記号の入力しかできずバックスラッシュの入力ができませんでした。
それを、両方の使い分けをすることができるように拡張したわけです。
(使い分けは、キーボードマッピングで定義)
両方とも使えるようになったのは良いことですが、デフォルトの動きが変わったことが問題です。
キーボードから円記号を入力すると、今まで使うことのできなかったバックスラッシュがデフォルトとして送られることになりました。
しかも、Windowsの日本語フォントではどちらも同じフォントイメージが割り振られています
同じ入力をしても、従来のACS v 1.1.8.3以前と、ACS v 1.1.8.4以降では、同じ見かけであるにも関わらず認識・結果が変わってしまいます。
それでは従来通り、円記号として認識させるにはどうすれば良いでしょうか。
先ほどの、readmeにもありましたが、キーボードマッピングを変更する必要があります。
5250ディスプレイセッションのメニューバーから、「編集」->「設定」->「キーボード」と進みます。「文字」カテゴリーの一番下まで画面をスクロールしますと、「バックスラッシュ」と「円記号(¥)」が確認できます。
デフォルトでは設定なしですが、そこにキーを割り当てます。
従来通り、円記号の入力で円記号と認識させるのであれば、「円記号(¥)」に、円記号キーを割り当てます。
せっかく使い分けが可能になったことでもありますので、「バックスラッシュ」をCtrlキー+円記号を割り当ててみます。
「バックスラッシュ」の行を選択して、「キーの割り当て」ボタンを押し、Ctrlキーを押しながら円記号を打鍵します。
「円記号(¥)」の行を選択して、「キーの割り当て」ボタンを押し、円記号を打鍵します。最後にOKボタンを押します。
以下のように設定されます。
これで、円記号の入力は正しく認識されるはずです。
従来と同じ操作で、振る舞いが変わってしまうのは大変な問題だと思われますが、IBMはこのデフォルトの変更はデザイン通りの変更と言っています。
将来変更される可能性もないわけではありませんが、もしシステムで円記号を使用しているのであれば、今のところ、全セッションのキーボードマップを変更する必要がありそうです。
by 杜