カテゴリ「仮名漢字変換」の記事 (12)

ローマ字入力から漢直に至る道

 これまで紹介してきた“漢直をじわじわ混ぜる”方法は、入力された仮名を漢直のストロークとして読み換えることで成立しましたが、この手はローマ字入力には通用しません。しかし、御安心ください。ローマ字入力に通ずる別のルートがあるのです。

23_fig1.gif

漢直の入力を親指でシフトする

 たったこれだけで、漢直が丸ごと使えるようになります。もちろん、ローマ字入力は今まで通りに使えます(*1)

 そのためには、親指の守備範囲内にある{無変換}{空白}{変換}{ひらがな}のうち少なくとも1個(できれば2個)が漢直用の同時打鍵として使える必要があります。また、「DvorakJ」と「Google日本語入力」が使えることも必要です。

 「DvorakJ」と「Google日本語入力」の連携については、先週の記事に書いたことの繰り返しになりますが、簡単にまとめると以下のような流れになります。

  • DvorakJ
    • 漢直用にカスタマイズした設定で、キー入力を加工して送出する
      • 非シフト打鍵はそのまま送る
      • シフト打鍵の場合は先頭に特殊な記号を付けて送る(*2)
        (漢直用には、通常のシフトや親指シフトとは異なるキーと記号を割り当てておく)
  • Google日本語入力
    • 漢直用にカスタマイズしたローマ字テーブルで、受け取った英数記号を仮名や漢字などにして表示する
      • 特殊な記号が入っていても気にせずアルファベットとして認識する
      • ローマ字変換の結果が漢字であっても仮名と同様に表示する
        変換前の文字列の中に漢字があっても特に気にしない(*3)

 

ダウンロード

種類名称入手先備考
日本語入力システムGoogle日本語入力 http://www.google.co.jp/intl/ja/ime/ Windows版・Mac版・Android版がある
(Windows8以上・Mac版・Android版での動作は未確認)
ローマ字テーブル G-Code decode-qwerty-x-gcode.zip (予定) Qwerty配列用G-Code(準備中)
decode-dvorak-x-gcode.zip (予定) Dvorak配列用G-Code(準備中)
キー配列変更ソフト DvorakJ http://blechmusik.xii.jp/dvorakj/ DvorakJ本体
設定ファイル encode-qwerty-x-x-m-h.zip (予定) Qwerty配列用(準備中)
encode-dvorak-x-x-m-h.zip (予定) Dvorak配列用(準備中)
打鍵図表示ソフト 漢索窓 https://code.google.com/p/tcode/downloads/list 漢直Winに同梱されている
(2015年12月現在の最新版は“kw128.zip”)

※ローマ字テーブルには漢直の設定だけが入っています。(現在のローマ字テーブルの内容を取り込んでから使うようになっています)

インストールと設定

 必要に応じて、インストールと設定を行ってください。

  • ローマ字テーブル
    1. 適当な場所に解凍する
    2. 使いたいローマ字テーブルを選んで、テキストエディタで開いておく
      (後で、このファイルに現在のローマ字テーブルの内容を取り込みます)
  • Google日本語入力
    1. 添付されたドキュメントにしたがってインストールする
    2. ツール→プロパティで、以下のように設定する
      • 一般(基本設定)
        ローマ字入力・かな入力:ローマ字入力
        句読点:、。
        記号:「」・
      • 一般(キー設定)
        ローマ字テーブル:「編集...」で、以下の作業を行う
        1. 「編集」→「エクスポート...」で、現在使っているローマ字テーブルをエクスポートする
        2. エクスポートしたファイルをテキストエディタで開き、すべてを選択してコピーする
        3. さっき開いておいたファイルにペーストして、保存して終了する
          (エクスポートした方のファイルも閉じる)
        4. 「編集」→「インポート...」で、編集した方のローマ字テーブルをインポートする
      • 入力補助
        自動英数変換を有効にする:オフ
        句読点変換を有効にする:オフ
    3. Google日本語入力プロパティを閉じる
  • DvorakJ用設定ファイル
    適当な場所に解凍する
  • DvorakJ
    1. 適当なフォルダに解凍して、インストールする
    2. DvorakJを起動する
    3. DvorakJの設定画面を開き、以下の設定を行う
      • メニューバーの「ファイル(F)」→「DvorakJ/user/フォルダを開く(U)」で、フォルダを開く
        (必要ならサブフォルダを作る)
      • 解凍した設定ファイルをDvorakJ/user/フォルダ(配下)にコピーする
      • 右枠の「日本語入力用配列」で、コピーした設定ファイルの中から適当なもの選ぶ
        (※親指キーの組み合わせで何種類か作る予定です)
      • 右枠の「日本語入力の設定」で
        「日本語入力用配列を日本語入力時にのみ使用する(O)」を選択し、
        「かな入力用の設定で日本語入力用配列を使用する(K)」をオフにする
    4. DvorakJの設定画面を閉じる
    (※漢直Winを使って漢直する場合は、DvorakJをOFFにしてください)
  • 漢直Win
    1. 適当なフォルダに解凍する
    2. “kanchoku.ini”を適宜変更して保存する
      (※ここで選択した漢直のテーブルは、漢索窓でも使われます。また、[kansaku]セクションで漢索窓の設定ができます)
    3. 適当な場所に“kansaku.exe”のショートカットを作る

 上記の内容は、2015年12月23日現在のものです。それよりも新しい版をダウンロードした場合は、添付されたドキュメント等の最新の情報を御確認ください。

今後の予定

 使っていないキー(の組み合わせ)を見つけたら「これは勿体ない。何かに使ってみよう」と考えてしまうのは、何も漢直だけに限らず、AZIK / ACTDvorakJPなどの拡張ローマ字入力や、花配列月配列下駄配列などのマルチストローク系や同時打鍵系の仮名配列を使っている人たちに共通する習性だろうと思います。

 それらの入力方法は多種多様で、ありとあらゆるキーの組み合わせが開拓されている筈なので、その中に漢直が入り込む空き地が残っているとはとても考えられません。しかし、それらの多くは、ローマ字テーブルのカスタマイズやキー配列の変更によって実現されています。だから、ローマ字入力には使われていないアルファベットや同時打鍵シフトには使われていないキーが確保できたら、何か別の入力方法に利用できるはずです。

 そこで、その両者を結び合わせて、(*4)漢直用のシフトキーと同時打鍵したときに特殊な記号をつけて送り出し、その記号が先頭についたローマ字を漢字に変換するという抜け道を作ってみたのです。

 各方式で使える設定ファイルをあれこれ試しながら作ってはいるのですが、今はまだ公開できる状態にはなっていません。近いうちに、順次アップしていきますので、もうしばらくお待ち下さい。


 この記事は漢直 Advent Calendar 2015のために書いたものです。


(*1) ローマ字入力は今まで通りに使えます  厳密には、若干の違いがあります。例えば、変換機能を割り当てた{空白}を漢直用の同時打鍵キーとして兼用すると、何かのキーを打った直後に素早く変換すると、同時打鍵と判定されて漢直の第1打のコードになる可能性があります。{空白}に限らず、何かの機能を持ったキーを同時打鍵シフトキーとして兼用する場合ば、打鍵のタイミングを調整する必要があります。

(*2) 特殊な記号を付けて送る  UTF-8の文字を直接送出できるキー配列変更ソフトであれば、これと同じ設定ができます。最近「やまぶきR」を試してみましたが、設定方法が簡単なので、(同時打鍵を使わない)ローマ字入力や行段系の方式に漢直を組み合わせるだけなら、「やまぶきR」をおすすめします。

(*3) 変換前の文字列の中に漢字があっても特に気にしない   つい最近、MS-IMEは、変換前の漢字を気にしないどころか交ぜ書き変換もできると聞いてびっくりしました。未変換文字列の中に漢字が直接入ってくることは通常はありえないので、これは漢直ユーザー以外にとって意味のない機能です。もしかするとMS-IMEの開発者は漢直を視野に入れているのかもしれません。そうなってくると今度は、Googleの方でも対抗して交ぜ書き変換をサポートしてくれるのではないかなどと期待(妄想)が膨らみます。

(*4) そこで、その両者を結び合わせて  というよりも、親指シフト+漢直を使っていて“漢直よみ”で登録するのが面倒になり、漢直用のキーで同時打鍵する方法を試しているうちに、「これはローマ字入力や他のいろんな方式にも応用できるぞ」と気づいたといった方が正確です。

そもそも何故?

 まず、何故こんな手の込んだことをやるのかについて、ざっと説明します。

 15年ほど前から、私はDvorak配列を使っています。それ以前から、日本語の入力には漢直を使っていたので、Qwerty配列からDvorak配列への乗り換えは簡単でした。漢直の設定をIMEのローマ字テーブルに入れる(*1)という方法なので、その漢直用のテーブルのローマ字部分をQwertyからDvorakに置換するだけで済みました。つまり、英字配列を変えても日本語の入力方法に影響しなかったわけです。

「JIS仮名+漢直」と「親指シフト+漢直」の違い

 今年の夏、急に、仮名入力に漢直を混ぜる方法を思いついてしまいました。漢直のストロークをローマ字入力モードで渡すのではなく、仮名入力モードで(仮名文字列として)渡してしまおうというわけです。

 実際にやってみると、JIS仮名配列ではうまくいきましたが、親指シフトの場合は「。」と「.」が区別できずに(*2)行き詰まりました。

 しかし、漢直のストロークとして扱うためには、どうしても「。」と「.」は区別できなくてはなりません。現に、これまでずっと、ローマ字入力モードの漢直では何の問題もなく「。」と「.」を区別できていたので、このやり方ならうまくいくはずです。

親指シフトをローマ字テーブルで入力する

 そこで、「。」や「.」のキーを(アルファベットとして)ローマ字入力モードのIMEに渡して、ローマ字テーブルで「。」や「.」に変換するようにしました。部分的にローマ字入力モードにはできないので、当然、他の仮名や記号等も全部ローマ字テーブルで設定することになります。ローマ字テーブルで漢直のストロークを設定するのと同じように、仮名の“よみ”とは無関係に、キーの位置とシフト状態を示す中間コードとして扱うことにするわけです。

 以下は、そのために作ったDvorakJ用の設定内容(*)です。

同時に打鍵する配列

/*
 *  encode-oyayubi-qwerty-mu-hen-sp-kana.txt
 *
 *  ・左右の親指で同時打鍵シフト入力するためのDvorakJの設定ファイルです
 *      いわゆる“親指シフト方式”に限らず、親指でシフトする方式に使用できます
 *      実際に入力する文字(列)ではなく、中間コードを出力します
 *      IMEのローマ字入力モードで目的の文字(列)に変換することを想定しています
 *
 *  ・中間コードには、通常のQwerty配列の文字を使用し、以下の記号を前置します
 *      'ô':バックスラッシュの打鍵('\'と区別するため)
 *      'ŝ':通常のシフト打鍵
 *      'ò':左親指との同時打鍵 {無変換}
 *      'ó':右親指との同時打鍵 {変換}
 *      'ō':両親指との同時打鍵 {無変換}+{変換}    (※)オプション
 *      'ė':拡張1との同時打鍵 {空白}              (※)オプション
 *      'ë':拡張2との同時打鍵 {ひらがな}          (※)オプション
 *
 *      (※)コメントで無効にしてあります(必要に応じてコメントを外してください)
 *
 *  ・これは、日本語入力用の設定ファイルです
 *      必ず「日本語入力用配列を日本語入力時にのみ使用する」を選択してください
 *
 */


/* 文字(単独打鍵) */
[
1|2|3|4|5|6|7|8|9|0|{-}|{^}|{\}|
q|w|e|r|t|y|u|i|o|p|{@}|{[}|
a|s|d|f|g|h|j|k|l|;|{:}|{]}|
z|x|c|v|b|n|m|,|.|/|ô{\}|
]


/* シフト(ŝ) + 文字 */
-shift[
ŝ1|ŝ2|ŝ3|ŝ4|ŝ5|ŝ6|ŝ7|ŝ8|ŝ9|ŝ0|ŝ{-}|ŝ{^}|ŝ{\}|
ŝq|ŝw|ŝe|ŝr|ŝt|ŝy|ŝu|ŝi|ŝo|ŝp|ŝ{@}|ŝ{[}|
ŝa|ŝs|ŝd|ŝf|ŝg|ŝh|ŝj|ŝk|ŝl|ŝ;|ŝ{:}|ŝ{]}|
ŝz|ŝx|ŝc|ŝv|ŝb|ŝn|ŝm|ŝ,|ŝ.|ŝ/|ŝô{\}|
]


/* 左親指(ò) + 文字 */
-muhenkan[
ò1|ò2|ò3|ò4|ò5|ò6|ò7|ò8|ò9|ò0|ò{-}|ò{^}|ò{\}|
òq|òw|òe|òr|òt|òy|òu|òi|òo|òp|ò{@}|ò{[}|
òa|òs|òd|òf|òg|òh|òj|òk|òl|ò;|ò{:}|ò{]}|
òz|òx|òc|òv|òb|òn|òm|ò,|ò.|ò/|òô{\}|
{無変換}|
]


/* 右親指(ó) + 文字 */
-henkan[
ó1|ó2|ó3|ó4|ó5|ó6|ó7|ó8|ó9|ó0|ó{-}|ó{^}|ó{\}|
óq|ów|óe|ór|ót|óy|óu|ói|óo|óp|ó{@}|ó{[}|
óa|ós|ód|óf|óg|óh|ój|ók|ól|ó;|ó{:}|ó{]}|
óz|óx|óc|óv|ób|ón|óm|ó,|ó.|ó/|óô{\}|
{変換}|
]

〔オプションの部分は省略します〕

 このように、敢えてDvorakJでは実際に入力する文字を指定してません。その代わりに、論理的な打鍵情報を中間コード化することに徹しています。

 文字キーの中間コードに関しては(独自の符号を用いると煩雑になるので)Qwerty配列の文字をそのまま使っています。もちろんDvorak配列バージョンを作っても構いません。

 以下のように、Google日本語入力のローマ字テーブルの「入力」欄に中間コードを入れ、「出力」欄には目的の文字を入れます。

(表1) ローマ字テーブルの設定例:親指シフト(NICOLA-J)(*4)

最上段 上段
単独左親指右親指SHIFT 単独左親指右親指SHIFT
入力出力入力出力入力出力入力出力 入力出力入力出力入力出力入力出力
1 ò1 ó1 ŝ1 q òq óq ŝq
2 ò2 ó2 ŝ2 w òw ów ŝw
3 ò3 ó3 ŝ3 e òe óe ŝe
4 ò4 ó4 ŝ4 r òr ór ŝr
5 ò5 ó5 ŝ5 t òt ót ŝt
6 ò6 ó6 ŝ6 y òy óy ŝy
7 ò7 ó7 ŝ7 u òu óu ŝu
8 ò8 ó8 ŝ8 i òi ói ŝi
9 ò9 ó9 ŝ9 o òo óo ŝo
0 ò0 ó0 ŝ0 p òp óp ŝp
- ò- ó- ŝ- @ ò@ ó@ ŝ@
^ ò^ ó^ ŝ^ [ ò[ ó[ ŝ[
\ ò\ ó\ ŝ\
中段 下段
単独左親指右親指SHIFT 単独左親指右親指SHIFT
入力出力入力出力入力出力入力出力 入力出力入力出力入力出力入力出力
a òa óa ŝa z òz óz ŝz
s òs ós ŝs x òx óx ŝx
d òd ód ŝd c òc óc ŝc
f òf óf ŝf v òv óv ŝv
g òg óg ŝg b òb ób ŝb
h òh óh ŝh n òn ón ŝn
j òj ój ŝj m òm óm ŝm
k òk ók ŝk , ò, ó, ŝ,
l òl ól ŝl . ò. ó. ŝ.
; ò; ó; ŝ; / ò/ ó/ ŝ/
: ò: ó: ŝ: ô\ òô\_ óô\ ŝô\_
] ò] ó] ŝ]

 どの打鍵でも、通常のローマ字入力の「あ」「い」「う」「え」「お」と同じように即座に仮名が入力されるので、ローマ字入力を使っている感じはしないと思います。(目を凝らしてよく見れば、何かが一瞬表示されていることは分かりますが、入力の邪魔になるほどではありません)

各種キー配列への対応

 ここまでは親指シフト(NICOLA-J)を例にして説明しましたが、各種配列用の入力ローマ字テーブルを作ることによって、TRONなどの1打鍵系の仮名配列(*5)に対応できます。また、JISや新JISを親指でシフトできるようにするなどの応用も可能です。

この続きは?

 16日の「親指シフトに漢直をじわじわ混ぜていく方法」に詳しく書く予定です。


 この記事はDvorak Advent Calendar 2015漢直 Advent Calendar 2015のために書いたものです。

(*1) 漢直の設定をIMEのローマ字テーブルに入れる 詳しくは、先日の「仮名漢|漢直」問題を御覧ください。

(*2) 親指シフトの場合は「。」と「.」が区別できずに 日本語の文章を入力する場合は「。」か「.」のどちらか片方を使うのが普通なので、IMEの方でどちらにするかを選べるようになっています。たぶん、その処理のせいで片方しか入力できないのだろうと思われます。JIS仮名配列の場合は、漢直のストロークに句読点などの記号が入らないため、このような問題が生じなかったのです。

(*3) DvorakJ用の設定内容 親指キーの組み合わせは、{無変換}と{変換}のほかに、{無変換}と{空白}、{空白}と{変換}の2種類があります。どの組み合わせでも、IMEは同じ中間コードを受け取るようになっています。

(*4) 親指シフト(NICOLA-J) NICOLA規格 | NICOLA 日本語入力コンソーシアムを参考にして、文字キーを[BS]に用いない「NICOLA-J型」を選びました。また、ここからリンクされているQ's Nicolatter 8 の配列図にならって、未定義の部分を「●」としています。

(*5) TRONなどの1打鍵系の仮名配列 漢字のストロークを単独打鍵の文字の組み合わせで確実に判定できるものであれば、どのような配列でも問題ありません。なお、TRONキーボードには左右の親指を同時に押した状態で入力する文字があるので、「両親指との同時打鍵」をオプションとして追加できるようにしました。

イントロ的な何かの続き

 前回の記事 を書くためにWikipediaの「漢字直接入力」に関する記述 を確認しているうちに、もしかすると「仮名漢と漢直は併用できない」と思っている人が結構いるんじゃないかという気がしてきました。分類するために明瞭な境界線を引くのは百科事典としては当然のことですが、その分類用の境界線を何か実体のある隔壁のようなものだと考えると、「仮名漢と漢直は相容れない入力方式である」という誤った認識に誘導されるおそれがあります。

 誤変換ツイートを見て「そこで漢直ですよ!」なんて言ってる場合ではなかったのです。これからは、漢直に興味をもった人が「仮名漢を使うか、それとも漢直にしようか?」なんてことをつぶやいているのを見かけたら、こう返さなくてはなりません。

「仮名漢と漢直は併用できますよ!」

 そして、こんなサンプルを見せるのです。目の前で実演できればなお良いでしょう。

サンプル文を入力しているアニメーションGIF(04_fig1.gif)

 これは仮名と句読点などの打ち方をマスターした後、「仮」「名」「漢」「字」「変」「換」「直」「接」「入」「力」の打ち方だけを覚えている架空の人物が、普段の私よりもゆっくり入力している様子をキャプチャした動画です。(まだ打てない漢字は“よみ”を打ってから変換している芸の細かさに御注目ください)

 このように、最低限の仮名や句読点などの打ち方さえマスターしてしまえば、打てる漢字が全然なくても、入力できずに困るなんてことにはなりません。つまり、ローマ字入力の拡張版や2ストローク系の仮名配列などと同じようなものなのです。それに漢字が直接打てるという裏技が付いているのだと思ってください。

「これ、どうなってるの?」

 その御質問には、シンプルに「仮名漢のローマ字テーブルに漢字の打ち方を入れてあるんですよ」(*1)とお答えします。

 必要なものは、以下のリンク先から入手できます。

ダウンロード

種類名称入手先備考
日本語入力システムGoogle日本語入力 http://www.google.co.jp/intl/ja/ime/ Windows版・Mac版・Android版がある
(Windows8以上・Mac版・Android版での動作は未確認)
ローマ字テーブル TUT-Code http://www.gar.sakura.ne.jp/tut-code/software.html Qwerty配列用
(“google-ime_tutc.utf”と“google-ime_tutc-kigo.utf”を結合して別ファイルに保存したものを使う)
上記からダウンロードして結合したファイル(準備中)
(Qwerty配列用・Dvorak配列用を同梱する予定)
G-Code http://homeposition.net/gcode/download/gc3gIme.zip Qwerty配列用・Dvorak配列用が同梱されている
キー配列変更ソフト DvorakJ http://blechmusik.xii.jp/dvorakj/ Dvorak配列用のローマ字テーブルを使う場合に必要
打鍵図表示ソフト 漢索窓 https://code.google.com/p/tcode/downloads/list 漢直Winに同梱されている
(2015年12月現在の最新版は“kw128.zip”)

※ローマ字テーブルについて

インストールと設定

 必要に応じて、インストールと設定を行ってください。

  • ローマ字テーブル
    適当な場所に解凍する
  • Google日本語入力
    1. 添付されたドキュメントにしたがってインストールする
    2. ツール→プロパティで、以下のように設定する
      • 一般(基本設定)
        ローマ字入力・かな入力:ローマ字入力
        句読点:、。
        記号:「」・
      • 一般(キー設定)
        ローマ字テーブル:「編集...」→「編集」→「インポート...」でローマ字テーブルをインポートする
      • 入力補助
        自動英数変換を有効にする:オフ
        句読点変換を有効にする:オフ
    3. Google日本語入力プロパティを閉じる
  • DvorakJ
    1. 適当なフォルダに解凍して、インストールする
    2. DvorakJを起動する
    3. DvorakJの設定画面を開き、以下の設定を行う
      • 右枠の「日本語入力用配列」で、DvorakJ/data/lang/eng/Dvorakフォルダにある
        “Dvorak 配列 (英語配列キーボード版)”を選択する
        (※ローマ字テーブルで使っている記号が、日本語用のDvorak配列とは異なっているためです)
      • 右枠の「日本語入力の設定」で
        「日本語入力用配列を日本語入力時にのみ使用する(O)」を選択し、
        「かな入力用の設定で日本語入力用配列を使用する(K)」をオフにする
    4. DvorakJの設定画面を閉じる
    (※漢直Winを使って漢直する場合は、DvorakJをOFFにしてください)
  • 漢直Win
    1. 適当なフォルダに解凍する
    2. “kanchoku.ini”を適宜変更して保存する
      (※ここで選択した漢直のテーブルは、漢索窓でも使われます。また、[kansaku]セクションで漢索窓の設定ができます)
    3. 適当な場所に“kansaku.exe”のショートカットを作る

 上記の内容は、2015年12月4日現在のものです。それよりも新しい版をダウンロードした場合は、添付されたドキュメント等の最新の情報を御確認ください。


 この記事は漢直 Advent Calendar 2015のために書いたものです。

 Windows7上で「Google日本語入力+親指シフト+G-Code」(DvorakJ:ON)、ところにより「Google日本語入力+G-Code」(DvorakJ:OFF)で入力しました。


〔2015/12/13:追加〕

(*1) 「仮名漢のローマ字テーブルに漢字の打ち方を入れてあるんですよ」 漢字だけでなく仮名や記号の打ち方も通常のローマ字入力とは全然違うルールで入れてあります。

「親指漢直」の外側

 勢いで「親指漢直」の練習に突入してしまって、その外側をきちんと説明していなかったことに、最近気づいた。

 「親指漢直」という言葉を見たり聞いたりした人は、十中八九、マイナーな親指シフト方式と超マイナーな(なんだか難しげな)漢直の掛け合わせをイメージするに違いない。もしかすると、専用の親指シフトキーボードが必要なのだと思ってしまう人がいるかもしれない。

 つまり、普通のJISキーボードでローマ字入力やJIS仮名入力を使っている大多数の人は、ほとんど自分とは無縁の話だと思ってしまうだろうということだ。

 ところが、実はそうではない。ローマ字入力やJIS仮名入力でも、今まで使っていなかった「親指でシフトする」キー操作を追加することで、いろいろなこと(「親指漢直」は、その中のほんの一例に過ぎない)に応用できるのだ。もちろん、普通のJISキーボードのままでいい。

普通のJISキーボードで親指シフトする

 ここで、漢直のことは一旦忘れて、普通のJISキーボードを使って親指でシフトすると、どんなことができるかを考えてみよう。

  • ローマ字入力を親指でシフトする
     親指シフト打鍵によって、母音の後に“n”をつけたり、子音を二重化したりすれば、撥音(「ん」)や促音(「っ」)の打鍵が楽になるだろう。下の表では左右の親指シフトを区別していないが、同側シフトとクロスシフトを使い分ければ、さらに別のパターン(例えば拗音の短縮など)にも利用できる。

    単独打鍵(従来と同じ)
    1 2 3 4 5 6 7 8 9 0 - ^ \
    q w e r t y u i o p @ [
    a s d f g h j k l ; : ]
    z x c v b n m , . / _
    親指シフト打鍵(英字以外は小指シフトと同じ)
    ! " # $ % & ' ( ) 0 = ~ |
    qq ww en rr tt yy un in on pp ` {
    an ss dd ff gg hh jj kk ll + * }
    zz xx cc vv bb nn mm < > ? _

     このやり方を極めていくと最終的には「M式」のように体系的な方式にまとまるのだろうが、普段の英字配列のままでローマ字入力を使いたい人には、この程度までなら使ってみる気になれるのではないかと思う。

  • JIS仮名入力を親指でシフトする
     まず、小指シフトを親指シフト(クロスシフト)にするだけでも、かなり楽になるだろう。さらに濁音を同側シフト、半濁音をクロスシフトにすれぱ、小指の負担がかなり減らせるのではないか。

    単独打鍵(従来と同じ)
    同側シフト打鍵(濁音)
                     
                 
             
               
    クロスシフト打鍵(半濁音以外は小指シフトと同じ)
       
                       
                       
               

     もっと合理的な仮名配列があるという人もいるだろうが、普段のJIS仮名のままで少し打ちやすくしたいという人には受け入れやすいのではないかと思う。

 どちらも、“読み”の入力をほんの少し楽にするために作ったものだが、表をざっと見ただけで規則性が頭に入るだろう。今まで通りの打ち方でも入力できるし、親指でシフトする打ち方でも入力できる。余裕のあるときに新しい打ち方を試してみて、楽だと思ったら少しずつ楽な方に移行すればいい。

そこで「親指漢直(いろいろ)」ですよ。

 一般的なJISキーボードの親指の位置にある[無変換][space][変換]のうちの二つを左右の親指シフトキーに使ったとしても、どれか一つは未使用だ。未使用のキーがあったら「漢直に使えるかも」と考えてしまうのは漢直使いの習性のようなものである。

 そのようなわけで、上記の例を試すなら、第三の親指シフトキーを使って「親指漢直(ローマ字)」や「親指漢直(JIS仮名)」も試してみようと考えているところだ。同様にして「親指漢直(TRON)」や「親指漢直(M式)」も試してみる価値がある。もしかすると「親指漢直(NICOLA)」よりも打ちやすい方法があるかもしれない。

2015年8月23日

 今日アップしたブログに合わせて、このページのサブタイトルを〔親指漢直(NICOLA)篇〕に変更する。練習を始めて三週間になるが、実はあまり速くなっていない。それでも、たまにG-Codeで入力すると仮名の2ストロークが重いと感じることはある。

 来月は〔親指漢直(JIS仮名)篇〕だ。ルールが単純明快なので、多分こっちのほうが僕には向いているような気がする。

2015年8月18日

 ローマ字入力の場合、仮名漢直のように“漢直読み”を混ぜて変換することはできないが、ローマ字テーブルに漢直用のエントリーを加えることならできる。当然、既存のローマ字と衝突しないように漢直の第1打を親指シフトにする必要がある。

 左右の親指シフトキーの割り当てはDvorakJでやるので具体的なキーを気にする必要はない。文字キーは英字配列に依存するので、少なくともQwerty配列用とDvorak配列用の2種類の漢直用のテーブルを作っておかねばならない。既存のローマ字テーブルをエクスポートして、それに漢直用のテーブルを追加したものをインポートするという手順になる。

 導入方法はかなり面倒になるが、Google日本語入力のローマ字テーブルで設定可能なものであれば何でもよい。例えば、AZIK・SKY配列・花配列系・月配列系などと組み合わせることも可能なはずだ。

〔単語登録〕

2015年8月16日

 打ちにくいと思うたびに“漢直読み”で登録してきた単語が200語を越えた。この程度では中途半端なので、もっと語数を増やしてから公開した方がいいような気もするが、そうすると、辞書を見て「こんなに覚えなくてはならないのか」と思ってしまう人がいるかもしれない。単語登録は自分でやってもらった方がいいのではないだろうか。

〔単語登録〕, 半端

2015年8月12日

 「おやゆび」がどうも打ちづらかったので漢直読みを辞書に登録。慣れていないせいかもしれないが、シフト打鍵が続くときは漢直の方が楽な気がする。これまで通り「おやゆび」でも変換できるので、楽だと思う方で打てばよい。

〔単語登録〕親指

2015年8月8日

 アルファベットの全角大文字を入力しようとして[SHIFT]で打つと仮名になってしまう現象が発生。ローマ字テーブルに次のようなダミー行を入れて解決したけれども、全角小文字は半角英数モードで入力した後に全角変換するしかなさそうだ。

A	A

――と思ったら、普通に打って[F9]を叩いたほうが簡単だった。

〔単語登録〕現象

2015年8月6日

 だいぶ親指シフトには慣れてきたが、変換ミスを見過ごして確定したときに、間違っている文字だけ打ち直したくてイライラする。そこで、親指シフトには使っていない[変換]キーを漢直用にしてみた。DvorakJの設定で第三の同時打鍵には'õ'を先頭に付け、ローマ字テーブルにG-Codeの定義を追加した。Qwerty配列用のテーブルの行頭に'õ'を入れるだけの簡単な作業。

 どうせなら、3ストロークの連打を短縮してしまおうと思いついて、中段の[tab]を第三の同時打鍵('õ')、上段の[変換]を第四の同時打鍵('ö')にして、[変換]との同時打鍵を3ストローク短縮入力に使うようにした。いちいち同時打鍵するのは面倒だが、一字だけ打つときにはちょうどいい感じだ。

〔単語登録〕行頭

2015年8月2日

 “「親指漢直」始めました。”に書いたように、最近また親指シフトの練習をしている。

 Perlで機械的に作った辞書には余分な漢字も入っているので、つい漢直で打ってしまう。今はその方が楽だし速いのだが、そんなことをやっていては練習にならない。そこで、漢直用の辞書を全部削除した。本当に必要な単語だけをこつこつ登録していこうと思う。

 Trulyのキーボードを使っているので、左親指は[無変換]、右親指は[space]としているが、通常のキーボードでは右親指は[変換]の方が打ちやすいだろう。そうすると真ん中の[space]が別の目的に使えることになる。ここに何かを入れるとすれば、やはり「Picasso」しかない。

 ただし、先行入力によって入力内容を変えることはできないので、単純に仮名文字列の短縮入力のような形になるだろう。Trulyの中央にある[変換]と[tab]を使って、そのうち試してみようと思う。

〔登録単語〕練習, , , 通常, 入力, 単純, 短縮,


[ 日記の目次 | 前の回 | 次の回 | G-Code (目次) | m(as)m's home position ]

これまでの経緯

親指シフトのローマ字入力化

 そのようなわけで、仮名モードでは「。」と「.」の区別ができないようなので、ローマ字入力で打ち分けてはどうかと考えた。

 いつも使っている「DvorakJ(※1)に入っていた“NICOLA配列(無変換、SPACE).txt”も試してみたが、やはりどうも句読点がうまくいかない。(詳しいことはよく分からないが、句読点などのキーは、WindowsかIMEの内部で他のキーとは異なる扱いになっているような気がする)

 そこで、IMEのローマ字テーブルを白紙に戻して以下のエントリーを入れて試してみた。(このとき、Microsoft IMEには、入力に'a'~'z'以外を入れられないなどの制限があることが分かった。以下は全てGoogle日本語入力で試した結果だ)

(表1)Google日本語入力の「ローマ字テーブル」の例

入力出力
q
p
@
z
,
.
/

 このように設定しておけば、IMEの側で余計なことをされなくなるようだ。このやり方で、全打鍵パターンをローマ字として区別できるようにすればいいはずだ。

 試行錯誤の結果、以下のような設定内容になった。

〔前略〕

/* 文字キーを単独で入力 */
[
1|2|3|4|5|6|7|8|9|0|{-}|{^}|{\}|
q|w|e|r|t|y|u|i|o|p|{@}|{[}|
a|s|d|f|g|h|j|k|l|;|{:}|{]}|
z|x|c|v|b|n|m|,|.|/|ô{\}|
]


/* [無変換] + 文字キー */
-muhenkan[
ò1|ò2|ò3|ò4|ò5|ò6|ò7|ò8|ò9|ò0|ò{-}|ò{^}|ò{\}|
òq|òw|òe|òr|òt|òy|òu|òi|òo|òp|ò{@}|ò{[}|
òa|òs|òd|òf|òg|òh|òj|òk|òl|ò;|ò{:}|ò{]}|
òz|òx|òc|òv|òb|òn|òm|ò,|ò.|ò/|òô{\}|
{無変換}|
]


/* [space] + 文字キー */
-space[
ó1|ó2|ó3|ó4|ó5|ó6|ó7|ó8|ó9|ó0|ó{-}|ó{^}|ó{\}|
óq|ów|óe|ór|ót|óy|óu|ói|óo|óp|ó{@}|ó{[}|
óa|ós|ód|óf|óg|óh|ój|ók|ól|ó;|ó{:}|ó{]}|
óz|óx|óc|óv|ób|ón|óm|ó,|ó.|ó/|óô{\}|
{space}|
]

〔後略〕

 これを「日本語入力用配列」に入れて選択すると、同時打鍵したアルファベットの前に「ò」や「ó」がつく。この同時打鍵込みの情報をIMEに伝えることができるので、それぞれの文字列と文字の対応をローマ字テーブルで設定すればよい。

 次に、Google日本語入力用のローマ字テーブルを作る。

〔前略〕

1	1
2	2
3	3
4	4
5	5
6	6
7	7
8	8
9	9
0	0
-	-
^	^
\	¥
q	。
w	か
e	た
r	こ
t	さ
y	ら
u	ち
i	く
o	つ
p	,
@	、
[	゛
a	う
s	し
d	て
f	け
g	せ
h	は
j	と
k	き
l	い
;	ん
:	:
]	〃
z	.
x	ひ
c	す
v	ふ
b	へ
n	め
m	そ
,	ね
.	ほ
/	・
ô\	\
#
# 先頭の'ò'で右親指との同時打鍵を表す
#
ò1	?
ò2	/
ò3	~
ò4	「
ò5	」
〔中略〕
òn	ぷ
òm	ぞ
ò,	ぺ
ò.	ぼ
ò/	ゎ
òô\	_
#
# 先頭の'ó'で右親指との同時打鍵を表す
#
ó1	!
ó2	”
ó3	#
ó4	$
ó5	%
〔中略〕
ón	ぬ
óm	ゆ
ó,	む
ó.	わ
ó/	ぉ
óô\	●

 これを、Google日本語入力のローマ字テーブルにインポートする。(「ツール」アイコン→「プロパティ」→「一般」タブ→「キー設定」→「ローマ字テーブル」→「編集」→「編集」→「インポート...」)

 そして、「基本設定」の3項目を以下のように設定する。

(表2)Google日本語入力の「基本設定」
ローマ字入力・かな入力ローマ字入力
句読点,.
記号「」・

 これで、普通に(親指シフトで打って仮名漢字変換で)入力できる状態になった。

 今回はNICOLA-J用のローマ字テーブルを作ったが、他の仮名配列やローマ字入力にも応用できる。例えば、JIS仮名やAZIKなどの拡張、TRONカナ配列やM式などのエミュレーションにも使えるだろう。

 ここまでの内容は、大きな変更をすることはなさそうなので、“親指ローマ字化セット”として公開する。(興味のある方はダウンロードしてお試しください)

 このまま親指シフトだけを使っていただいても差支えはないけれども、一度、軽い気持ちで漢直も試してみてほしい。このやり方ならば、打鍵表にぎっしり並んだ漢字を見て挫折するような心配はない。

親指シフトの漢直化

 さて、いよいよ漢直化だ。漢直化といっても、何も難しいことはない。適当なユーザー辞書を作って単語登録していくだけのことだ。

(表3)単語登録例(修正前)
読み単語品詞
いいせ6か漢字名詞
く.7。直接名詞
んひめて入力名詞サ変

 ところが、「7。」と打つと「7.」に化けてしまう。普通は、数字の直後の「。」が「.」になるの便利なのだが、漢直のストロークの中の「。」が変わるのは困る。

 数字の後の「。」を「.」にするオプションがあれば無効にできるのだが、見当たらなかったので、漢直の「。」を全部クロスシフトの「ゐ」に変更した。少し面倒になるが違う漢字になるよりはいい。ついでに3ストロークの最初の2連打を同側シフトにしてみた。

(表4)単語登録例(修正後)
読み単語品詞
ょせ6か漢字名詞
く.7ゐ直接名詞
んひめて入力名詞サ変

 これで入力してみた結果は以下のとおり。

(表5)入力例
  変換前後の文字 備考
変換前
(親指シフト)
かんじ ちょくせつ にゅうりょく できます。 20文字
+9シフト
=29キー
変換前
(親指漢直)
ょせ6か く.7ゐ んひめて できます。 18文字
+5シフト
=23キー
変換後 漢字 直接 入力 できます。 12文字
=6漢字
+5仮名
+1記号

 「打鍵数」や「ストローク数」という用語には曖昧な点があるので、入力に使った文字キーとシフトキーの合計を入れてみた。(これなら誰が数えても同じになるだろう)

「親指漢直」用ユーザー辞書の作り方

 以下の例では「ユーザー辞書」にそのまま登録しているが、通常のユーザー辞書とは別に「漢直読み」用の辞書を作っておいた方がいい。(「ツール」アイコン→「辞書ツール」→「管理」→「辞書を作成...」)

  1. 漢直で打ちたい単語をコピーして「漢索窓」(※2)にペーストをダブルクリックまたは右クリックする(以下は「入力」を例にする)
    図1:「漢索窓」で「入力」の打ち方を表示 (赤:1打目、緑:2打目)

  2. 単語を選択した状態で、Google日本語入力の「ツール」から「単語登録」を開く
    図2:「入力」を単語登録(修正前)

  3. 「漢索窓」に表示されている打ち方を見ながら「よみ」と「品詞」を修正して「OK」をクリック
    図3:「入力」を単語登録(修正後)

 こんな感じで、少しづつ漢字を登録していけば、親指シフト入力がさらに楽になるだろうと思う。

これからの予定

 実は、手作業で登録するのは面倒なので、Perlの一括処理で作ったデータをユーザー辞書にインポートして試している。

 これは「仮名漢直」のためにつくったPerlスクリプトで、基本語彙の入った著作権フリーの辞書テキストの「読み」を「漢字読み」に差し替えるというものだ。むやみに「漢直読み」で変換されるのを抑えるために、IMEに合わせて置換した「品詞」も出力するようにしてある。

 ただ、この辞書は単純に機械的な処理で作ったので、改善すべき点がいくつもある。

  1. 通常の「読み」と一致する「漢直読み」の単語があると、変な漢字に変換されてしまう
  2. 通常の「読み」よりも「漢直読み」の方が長くなる単語が入っているのは無駄だ
  3. 同音異字の単語の「漢直読み」が登録されているとは限らない

 1. と 2. は機械的に処理できそうだが、3. は使いながら手動で登録していく方がいいかもしれない。

 親指シフトと漢直が併用できることは分かったので、今後はなるべく親指シフトで入力しながら、辞書の内容を調整していこうと思う。


(※1)

  • 「DvarakJ」は、キー配列を自由にカスタマイズできるWindows用のキー配列変更ソフト。
  • Dvorak配列以外の多様な配列に対応していて、日本語入力用の設定の中には親指シフト用のものがいくつか入っている。

(※2)

  • 「漢索窓」は、漢字の打ち方を図示する補助ソフト。Windows用の漢直入力ソフト「漢直Win」に同梱されている。
  • 「漢直Win」の設定ファイル‘kanchoku.ini”を共用しているが、「漢索窓」だけを単体で使うこともできる。
  • T-code用の“t.tbl”、TUT-code用の“tut.tbl”など各種漢直用の設定テーブルが入っている。
  • 説明ではG-Codeを使っているけれども、どの漢直でも同じやり方でユーザー辞書への登録ができる。

 漢直を使っていると、仮名入力に2ストロークの手間がかかるのが重いと感じることがある。なんとかして仮名を1ストロークで入力できないものだろうか。今まで何度となくそう考えてみたけれども、これはという方法は思い浮かばなかった。

  • ユーザー辞書に単漢字として登録して一字ずつ変換する
  • 仮名入力では使わないシフト打鍵に漢直を割り当てる
  • 仮名入力と漢直のモードを切り替える

 これでは何だかすっきりしない。漢直ユーザーとしては漢字の打ち方を変えたくないし、おそらく仮名入力ユーザーも今まで通りに仮名を打ちたいだろう。何らかのキーを使って、シフトしたりエスケープしたりモードを切り替えたりするのは煩わしい。もっと自然に仮名と漢字を打ちたいのだ。

 最近になってようやく、この難問をうまく解決できそうな方法を思いついた。

 ここで、ちょっと寄り道して、「漢直が仮名入力よりも速いという幻想」で使った例文を見てみよう。

 テキストの上にJIS仮名の打鍵、下に漢直(G-code)の打鍵を仮名で表示している。(赤い文字は他方よりも打鍵数が多い部分)

【例文1】

かん ちょく か゛ にゅう りょく はや け゛ん そう
りりき につ んは ふも なさ れさ みし れい まて れす ゆて まき れと まき のき ととに はこ

【例文2】

りゅう く゛う し゛ょう し゛ゅう き゛ょう いん か゛ りょう しゅう しょう て゛
れは りて くか ぬさ ふれ ふま れち こか みい あま んは のは りて くと めな きか てひ らと のし らち

 例文の上下の打鍵を比べると、仮名入力と漢直の弱点がよく分かる。仮名入力は拗長音や濁音を含む読み、漢直は仮名の打鍵が弱点だ。

交ぜ書き変換とは

 漢直を使っていると、打てる漢字と打てない漢字の組み合わせ(熟語や連語など)を入力する場合にちょっとしたストレスを感じることがあります。全部打てない漢字だったら割り切って変換できますが、打てない漢字のために打てる漢字まで「よみ」を打ってから変換するのは釈然としないわけです。交ぜ書き変換とは、そんなときに使う機能です。

 例えば、「変」という漢字の打ち方を知っていて、「異」「換」「無」の打ち方を知らない場合なら、ユーザー辞書に次のように登録して、漢字仮名交じりの「よみ」を打って変換できるようにできればいいのです。

(表1)ユーザー辞書(「よみ」の中に漢字を入れてみる)

よみ単語品詞
い変異変名詞
変かん変換名詞サ変
む変かん無変換名詞

 ところが、Google日本語入力の辞書ツールでは「よみ」の中に漢字を入れることができません。そんなわけで、つい最近まで仕方がないとあきらめていたのですが、ふと思いついてあれこれ試してみて、うまくいく方法があることが分かりました。

 数日前から、coさんのSKK日本語入力FEPというIMEを使っています。もちろんSKKで漢直をやっている人がいることは知っていましたが、これまで何となくシフト入力するのが面倒そうだなと思って敬遠していました。

 ところが、ひょんなことがきっかけで、実際に使ってみたら、それは誤解だったと分かりました。打てない漢字を変換で入力する時以外は漢直winとほぼ同じ感覚で入力できる。つまり、未確定文字列が溜まっていくことがなくて、ときどき確定操作をする必要がないのです。これはいい。

 そんなこんなで、開発者のcoさんにはあれやこれやと無茶な注文をしてしまい、漢直設定サンプルにG-codeまで入れていただいて、最高に感謝しております。

 というわけで、G-code用の設定の改造版をアップしました。 たぶんTUT-code用の設定も同じやり方で作れると思います。興味のある方は、ぜひ使ってみてください。


〔附記〕(2014/05/06)

 その後、coさんが、Qwerty配列とDvorak配列のローマ字を両方いっぺんに設定できるように改良したskkrule_gcode.txtを作ってくれました。サイズもコンパクトで変更の手間も半分になっているので、こちらの方をお使いください。

 「漢直はこわくない。(漢直 Advent Calendar 2013 3日目)」を読んだ方には仮名漢と漢直の併用は既に常識でしょうから、今回もいきなり本題に入ります。

 この方法の欠点は、漢字の打ち方を調べるのに少々手間がかかることです。

  1. 仮名漢字変換で入力する
  2. 漢字の打ち方を調べる

 忙しい時はもちろん、暇な時でも、この「2」が面倒です(この後さらに「3. 練習する」が続くので、僕のような不精者はなかなか上達しません)。

 そこで「超多段シフト」ですよ。

 その前に「超」がつかない「多段シフト」というものを簡単に説明すると、こんな感じの巨大キーボード(例:モリサワの電算写植キーボード)を使う入力方式です。リンク先のキーボードの場合は左下のシフトキー(「1」~「9」の数字)と右側の文字キー(9個の文字がキートップに書いてある)の組み合わせで直接入力する仕掛けになっていて、各文字キーを9通りにシフトして打ち分けます。

 この多段シフトキーボードと同じようなことを通常のキーボードでやってしまうのが超多段シフトの「風」なのです。「風のくに」にはこう書かれています。

超多段シフト方式とは6349文字を2976段シフトで配列した仮想的な漢字キーボードのことである。

 2976段シフト! とても覚えられる気がしません。ところが実は漢字の読み(これが2976種類ある)をシフトキーとして使うので、読み方を知っていれば覚えるコストはゼロです。では、文字キーの方はどうなってるのかというと、仮想鍵盤に表示されます。(詳しくは「風のくに」を御覧ください)

 つまり、読みを入れてスペースを何回か叩いて仮想鍵盤に目的の漢字が入っていたら、その位置のキーを打てばいいのです。たぶんこのへんで「結局、単漢字変換じゃないの?」と思う方がいるかもしれません。確かに操作手順だけを見て形式的に分類すると単漢字変換になるでしょう。

 しかし、ただの単漢字変換とは次元が違います。普通の単漢字変換では文字(点)単位で次候補を表示しますが、超多段シフトはキーボード(面)単位で次候補を表示するのです。文字の選択=確定には表示位置の文字キーを打つだけなので、カーソルキーやテンキーを使う必要がなく運指に無駄がありません。

 そして、ここからが凄いところなのですが、同じ漢字を入力するときは、どんな読みでシフトしても必ず「同じ面の同じ位置」にその漢字が現れるのです。読みと面数と位置を把握するだけなので、2ストローク系漢直の打ち方を覚えるよりも簡単です。その代わり打鍵数はやや多めになりますが、どんな漢字でも必ず打てるというのは大きなメリットでしょう。

 実際に、ほとんど仮想鍵盤を見ずに打っている人を見ると、これはまぎれもなく漢直だということが実感できます。詳しい話を聞くと、例えば「入力」を入力するときに、普通なら「にゅう→入・りょく→力」と打つところを、簡単なシフト(読み)を使って「い→入・りき→力」などと打ったりするということでした(こういうことなら僕のような物ぐさ者にもできそうな気がしてきます)。

 2ストローク系はちょっと無理だなと思う方には、一度「風」を試してみることをお勧めします。

漢直の弱点は仮名の入力コストが高いことだ。漢字や熟語の後に続く仮名を何文字かずつまとめて直接打てば、もっと速く入力できるのではないか。そんなわけで数年前に作っていたPicassoという配列について、もう一度考えている。 [ 続きを読む ]
| コメント(0) | トラックバック(0)
日本語高速入力方式「Picasso」のメイキング[1] [ 続きを読む ]
| コメント(0) | トラックバック(0)

カレンダー

<   2016年12月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

最近のツイート

最近のコメント

このページについて

このページには、過去に書かれたブログ記事のうち、カテゴリ「仮名漢字変換」に属しているものが含まれています。

前のカテゴリは仮名入力です。

次のカテゴリは仮名漢直です。

最近の記事はメインページで、過去の記事はアーカイブで閲覧できます。

Creative Commons License
このブログはクリエイティブ・コモンズでライセンスされています。
Powered by Movable Type 4.261