「漢ナビ2」

| コメント(0) | トラックバック(0)

(2000-06-12)

「漢ナビ2」について

 「漢ナビ2」は、「漢ナビ」に、漢直と“速記入力”の組み合わせという新しい入力方法を導入した大幅な改訂版です。漢直と速記を組み合わせようと考えた経緯については、「G-Code」で速記をのページを御一読ください。

 今はまだ構想を練っている段階ですが、随時、このページで途中経過を公表していきます。


“熟語補完”の拡張で“速記入力”

 「漢ナビ」には“熟語補完”という機能がある。これは、漢字の最後のキーをシフトしながら打つと、その漢字の後に続く漢字のグループを仮想鍵盤に表示するというものだ。仮想鍵盤に表示された漢字は1打鍵で入力できる。このときもシフト打鍵すると、さらに次の漢字グループが表示される。

 補完できる漢字はあくまでも1字ずつだ。熟語補完を使って「漢字」を入力しても、次に「直接入力」が1打鍵で入力できるというようなことはない。これは漢字の第1打鍵を覚えるための補助的な機能だから仕方ないけれども、ちょっと不便な感じもする。

 スペースとの同時打鍵を第1打とする2ストロークを“速記入力”に利用しようと考えていたときに、このことを思い出した。

  1. 2ストロークの“速記入力”を覚える場合も、打鍵ガイドを表示した方が便利だろう
  2. 打鍵ガイドの表示タイミングは、スペースを押し下げた時が適当だろう
  3. スペースを押したまま候補を選択した場合は、その後に続く仮名文字列のグループを表示してはどうか
  4. それならば、単漢字や熟語を打った後にスペースを押し下げた場合にも、それに続く仮名文字列の候補を表示するのが自然だ
  5. 候補が多いときは、スペースを再度打って次の面に進めばよい
  6. 打鍵ガイドを見なくても入力できるように、同じ文字列は同じキーに割り当てるべきだ
  7. 一定の文字列が常に同じ打鍵で確定するのだったら、わざわざ2ストロークにする必要はない

 こうして、“熟語補完”の拡張(超多段シフト的な操作方法)で“速記入力”ができるという考えに至った。

辞書の内容

 以下のような6種類の変換を行うための辞書が必要だ。

  1. 漢字文字列→漢字文字列群
  2. 仮名文字列→漢字文字列群
  3. 漢字文字列→仮名文字列群
  4. 仮名文字列→仮名文字列群
  5. 空文字列→仮名文字列群
  6. 仮名文字列→打鍵位置

 1と2は接頭語から変換する場合や漢字文字列を一気に補完する場合、5は接続詞や副詞などを単独で入力する場合に使う。

 1~5は、任意の文字列から任意の文字列(群)に変換する辞書に統合できる。この辞書の中に打鍵位置も入れておけば、6の変換を個別に行う必要がなくなって変換時間を短縮できる。

ドライバの動作

 ドライバは、以下のような動作を行う。

  1. スペースが押されたら、IMEの未確定文字列を検索用のキーにコピーする
  2. キーを使って検索し、候補群(文字列群と打鍵位置)を受け取る
  3. 仮想鍵盤に候補群を表示する
  4. 文字キーが打鍵されたら、該当する文字列を確定入力する
    (スペースが押された状態なら、確定した文字列をキーにコピーして2へ)
  5. スペースが押されたら、次の候補群に進める(3へ)

 本当は「取り消し」や「前候補群」などの処理も必要だが、細かい説明は省略した。また、候補群の数は仮想鍵盤8面程度、文字列の長さは5文字程度までに制限しておいた方がいいだろう。

(2000-06-12)


付記

 Windows XP が出たころからWindows用のIMEがどんどん減っていき、95~Meとは全く別のXPに「漢ナビ」を移植するのも難しそうだったので、この数年間はJava用のInput Methodをコツコツと作っています。

 もちろん、最初から漢直を前提とした仮名漢字変換方式で、これまで考えてきたような“速記入力”にも対応しています。Input Method本体と仮名漢字変換辞書と“速記入力”辞書を並行して作っているわけですが、まあだいたい「こんなものを作ろうとしています」という感じを伝えるためのサンプル版ができたかな、といった段階です。

 このJava用のInput Methodと“速記入力方式”は、近いうちに公開したいと思っております。

(2007-10-07)


[ 「漢ナビ」 | 漢字直接入力 | m(as)m's home position ]

トラックバック(0)

トラックバックURL: http://homeposition.net/mt/mt-tb.cgi/978

コメントする

カレンダー

<   2000年6月   >
        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  

最近のツイート

このページについて

このページは、m(as)mが2000年6月12日 00:00に書いたブログ記事です。

ひとつ前のブログ記事は「「G-Code」で速記を」です。

次のブログ記事は「「G-Code」日記(第42回)」です。

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

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