blechmusikの日記

キー・カスタマイズ・ソフトウェア "DvorakJ" の覚え書きをはじめとして様々なことを書いています。

ローマ字入力専用タイピングソフト使用時に、捨て仮名「っ」を適切に出力するようにした

従来の DvorakJ では、ローマ字入力専用タイピングソフトに対して、最小限の対策しか講じていなかった。たとえば、「か」を"ka"のように、ひらがなをローマ字に置き換えるよう処理するのみだった。
問題が生じていたのは、「っ」の出力処理だ。ローマ字入力専用タイピングソフトでは、「っ」のあとにア段とナ段以外の文字が来るときには、その文字の子音を連続して入力する仕様となっている。「っか」を例とすると、"xtuka"ではなくて、"kka" と入力しなくてはならない。「失敗」や「結成」といったことばを入力すると、間違った入力として認識されてしまうののだ*1
従来の解決法は、順に打鍵する配列か順にも同時にも打鍵する配列の機能を上手く使用することだった。「っ」を単独では出力せずに、「か」や「さ」を出力するときに、"kka" や "ssa" のように出力するのだ。他方、「っ」のあとに「あ」や「ん」を出力するには、"xtua" や "xtunn" と設定する必要がある。
このような解決法しかないならば、既存の設定ファイルを大幅に書き換えねばならない。根本的な解決策としては不十分でああろう。
本日 DvorakJ に実装した機能は、上記の問題を出力処理の時点ですべて解決するものだ。以下では、新たに実装した機能が有効になる条件と、その機能の内容を簡単に説明しよう。
まず、「日本語入力用配列を常に使用する」ときで、「かな入力の設定」を使用していないことが条件である。これを言い換えると、タイピングを練習するローマ字入力用ソフトウェアを使用しているときがその条件だ。それ以外のときには、以下の機能が有効にならない。
機能の内容を一言でまとめ上げれば、「っ」を適切なかたちで出力する、というものだ。第一に、子音を連続して出力する処理がある。「っ」を出力するキーを打鍵し、続けて「か」を出力するキーを打鍵するとしよう。そうすると、"kka" を出力する。このように、子音を連続して出力するのは、カ行、ガ行、サ行、ザ行、タ行、ダ行、ハ行、パ行、バ行、マ行、ヤ行、ラ行、ワ行の文字が「っ」の直後に続くときだ。これに対し、"xtu"を出力する処理もある。「っ」を出力するキーを打鍵し、続けてア段の文字とナ段の文字を出力するキーを打鍵すると、"xtu" を出力し、続けて、その文字を出力する。例外として、「っ」を二度連続して出力するときには、一つ目の「っ」のみ "xtu" としてまず出力する。それから、次の文字を出力するときに、「っ」をあわせて出力する。
DvorakJ に上記の機能を実装したことで、ローマ字入力専用のタイピング練習ツールでも、JLOD配列や下駄配列のように、「っ」を単打で出力するキーボード配列を使用出来るようになった。この機能を積極的に活用してほしい。