DvorakJ:レファレンスマニュアル:詳説:日本語入力用の変換処理

DvorakJ:レファレンスマニュアル:詳説:日本語入力用の変換処理


はじめに

日本語入力におけるローマ字入力とかな入力用に、DvorakJ が起動時に行っている処理を説明します。

大抵の人はつぎのように考えていると思います。 すなわち、ローマ字入力では、一度の打鍵で数字を単打で出力できるものの、ひらがなについては のひらがな 5 文字しか出力できません。 他方、かな入力では、一度打鍵するだけで を出力できますが、数字については Caps Lock全角/半角 を押さなければ出力できません。

しかし、DvorakJ を使用すれば、これらの考えに反して、ローマ字入力でもかな入力でも自由に文字を出力できます。 ローマ字入力でも、あいうえおのひらがな 5 文字以外(たとえばじょく)を一度に出力できます。 かな入力でも同様の処理を可能としています。 数字については、ローマ字入力では当然のことながら、かな入力でも一度の打鍵で出力するよう設定できます。 ローマ字入力かそれともかな入力か、という旧来の二分論に束縛されなくてもよいのです。

ただ、ローマ字入力とかな入力の違いを意識しなければならない場面があります。 それは、濁点と半濁点を単独で出力するときです。 かな入力では、清音の文字が単独の濁点と組み合わせられたとき、それらが濁点文字へと合成されます。 濁点゛ が組み合わせられると が出来上がります。 ローマ字入力にはこのような出力方法が見当たりません。


ローマ字入力用の変換処理

基本的な処理

DvorakJ は、キーボード配列の設定ファイルを読み込むとき、すなわちソフトウェアの起動時に、文字や記号をローマ字入力用のキーストロークに変換します。 ローマ字入力用のキーストロークとは、ローマ字入力で当該文字を出力するときに入力するキーストロークです。 実際には、キーストロークそのものではなく、キーストロークを発生させる文字を指します。

以下の設定は、仮想のキーボード配列の設定内容です。

[
1|2|3|4|5|6|7|8|9|0|
「|」|  |  |  |  |  |  |  |  |
あ|い|う|え|お|が|ぎ|ぐ|げ|ご|
(|)|  |  |  |  |  |、|。|・|
]

ローマ字入力用の処理では、上記の文字や数字、記号すべてを以下のように変換します。

[
1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |
[ |] |  |  |  |  |  |  |  |  |
a |i |u |e |o |ga|gi|gu|ge|go|
( |) |  |  |  |  |  |, |. |/ |
]

特殊な処理

いくつかの外来語につき、DvorakJ では、特殊な変換処理を施しています。 ウィを例として取り上げます。 ウィをローマ字入力で出力するためには、uxi (uli) と入力するか、wi と入力します。 前者の入力法は、を別個に出力するもので、後者の入力法は、ウィを一度に出力するものです。 特殊な変換処理というのは、後者のことである。

特殊な変換処理を採用することで、文字の表示処理が高速化します。 文字が表示されるまでの時間が短縮されるようになるのです。 上記のウィの例では、uxi (uli) から wi へと出力する文字数を減少させています。

特殊な変換処理を採用することで、Back Space の処理の挙動が変化します。 再びウィの例を考えてみます。 ウィuxi (uli) という入力で出力したときには、Back Spaceを一度押すと、を削除するので、結果としてが残ります。 これに対して、ウィwi と入力して出力したときには、Back Spaceを一度押すだけで、ウィということばを削除します。 特殊な変換処理を取り入れると、一度のBack Spaceの処理で、より多くの文字を削除できるようになります。


かな入力用の変換処理

「かな入力用の設定で日本語入力用配列を使用する」を選択しているならば、キーボード配列の設定ファイルを読み込むとき、すなわちソフトウェアの起動時に、文字や記号をかな入力用のキーストロークに変換します。 以下の設定は、仮想のキーボード配列の設定内容です。

[


あ|い|う|え|お|が|ぎ|ぐ|げ|ご|

]

かな入力用の処理では、上記の設定内容を以下のように変換します。 かな入力では、キーボードのaを入力すればを出力し、sを入力すればを出力します。 これをもとにして、aに、sに変換するのです。 特徴的なのは、濁音を清音と濁点に分離し、それぞれをかな入力用のストロークに変換していることです。

[


3 |e |4 |5 |6 |t{vkC0sc01A}|g{vkC0sc01A}|h{vkC0sc01A}|{vkBAsc028}{vkC0sc01A}|b{vkC0sc01A}|

]

ローマ字入力とかな入力に共通する変換処理

以上、ローマ字入力とかな入力において、それぞれ、文字列を入力モードに適合するよう変換する処理を説明しました。 変換処理の対象には、文字や数字のみならず、記号も含まれています。

他方、キーストロークを発生させる文字列へと変換しないものがあります。 キリル文字や漢字、記号、かな入力における数字です。 これらについて、DvorakJ は Unicode 文字として出力します。


Last modified : 2011/12/05 00:53:10 JST
blechmusik (blechmusik@gmail.com)