Twitterで数人のフォロワーからSKKを勧められたのでSKKIMEを使用してみたのだが、ついでにJLOD配列も実装してみたくなったので、ローマ字変換表で実装してみました。
タブ区切りのローマ字変換表をskkimeのローマ字ルールのレジストリの内容に置換するコンバータ、及び、コンバータの入力として利用可能なJLODとJLOD私家改造版のローマ字変換表です。オリジナルのJLODに近いものと、個人的に一部改変したものの両方の配列定義を同梱しています。変換表を用意すれば、他の配列の実装にも利用出来るかと思います。
標準のレイアウトは英字キーボードでDvorak配列使用者向けのファイルです。よってQwerty配列使用者はアルファベットを置換してから使う必要があります。日本語キーボード使用者は記号を置換してから使う必要があります。
試験的にuim-skk、scim-skkのローマ字定義の設定ファイルへの変換もできるようにしています。ただし、uim-skkの設定ファイルはなぜだか上手く機能しません。試してみたい場合、nkfの-Z4オプションを利用するためRuby1.9.1が必要となります。
Google日本語入力でJLODを使いたい場合、変換表のファイルを適当に置換してやれば使えるはずです。
NYSL version 0.9982 に準拠します。
NYSDL version 0.9982 にこの文書は準拠します。
コンバータはruby製なので、ruby必須です。ひらがな/カタカナ変換をnkf2に任せているので、ruby::nkf(nkf2)も必要です(殆どの環境に入っているとは思いますが)。また、regファイルの出力には現地点では対応していないので、手動でレジストリを編集する必要が有ります。
./list2reg.rb hoge fuga ...(任意の個数のテキストファイル) > result
若しくは標準入力から、
cat hoge | ./list2reg.rb > result
で変換(rubyのパスなどは適宜調整して下さい)
HKEY_CURRENT_USER\Software\TT\Windows\CurrentVersion\SKKIME\1.5\Generic\RomaKanaRuleの行頭が1か2の行を、resultに出力された文字列で置き換えます。 その後、skkimeのキー設定の画面を開き直せば反映されます。
regファイルでの出力は対応してません。また、行頭が3の行はマクロ定義なので、間違えて消さないように気をつけてください。
通常のJLOD配列を使う場合、
./list2reg.rb data/jlod data/l_normal data/hinshutugoku
での出力を利用して下さい。
私は、
./list2reg.rb data/jlod2 data/l_original data/z_kigou
での出力を用いています。
通常のJLOD配列も、オリジナルのものとは一部異なったものとなっています。
改変版の配列では、[子音キー][拗音化キー]に続く、左手上段の挙動を、「あい、おう、えい、うう、うい」から「あっ、おっ、えっ、うっ、いっ」に変更しています。例えば、「sh'」と入力した際の結果は、「しゃい」では無く、「しゃっ」になります。これにより、若干熟語を打ち易くなる気がします。
それと関連して、[子音キー][拗音化キー]に続く右手人差し指の右側の挙動を、「あい」にしています。例えば、「thd」と入力すると、「ちゃい」と出力されます。
JLODを用いる場合、
辺りに設定することを推奨します。
変換確定は「C-j」が少々押し辛いため、「C-t」辺りのキーに割り当てることをお勧めします。
また、変換開始キーに「q」、「l」を追加して下さい。
なお、これらの設定は現地点では自動で出来ません。
#で始まる行はコメントとして無視され、空行は自動的に削除されます。それ以外の行は全て処理対象となります。
タブ区切りで、「ローマ字 ひらがな カタカナ」の順に入力します。ひらがなとカタカナの区別が無い場合、カタカナの部分を省略します。
skkimeの作者であるTatari SAKAMOTO氏、JLOD配列の考案者であるみか氏、DvorakJの作者で有り、ローマ字変換表のベースとなるファイルを無断借用させて頂いたblechmusik2氏に謝意を表明します。