下書きレベル

投稿者: | 2022-03-25
ATOK本

本当は下書き保存にしておくべきなのかも知れないが、しばらく更新もしていないように思うので、仮公開でもしておくが、結局いつまでもこのままかもしれない。

ATOKのローマ字カスタマイズ

ATOKには、以前からローマ字定義のカスタマイズ機能が備わっている。AOURの入力方式も、このカスタマイズ機能を頼りに作成している。
だが、どうもこのカスタマイズ機能は他のIMEの機能に比較するとまだずっと弱いらしい。

その最たるところは、句読点「、」「。」「・」キーに定義を割り当てられないことにある。また、子音キーの連打で「っ」が入力されたりする部分も根底にあり、定義に影響する場合がある。定義数の上限は550で、定義が多い場合これでも足りないことがある。

MS-IMEでも定義のカスタマイズ機能はあるが、定義数の上限は約350程度でもっと少なく、定義をファイルなどに出力したり取り込んだりする機能もないので、MS-IMEのほうが更に条件は厳しい。拡張入力などで多くの定義をすることができない。
Google日本語入力は、句読点にも割り当てられるし定義数の上限も無さそうであって、カスタマイズの自由度はずっと高い。次の入力待ちの表示文字も設定することができる。
以前にあったWXシリーズも制限は緩く、定義の自由度が高かったらしい。

ATOKは機能が豊富である分、あるいは正確な変換をコンセプトとして持っている以上、カスタマイズ的な機能には一定の制限が必要だという考えなのだろう。さらには、旧版との互換性を重要視する傾向にもあるので、仕様を変えられない事情もあるのではないかと思う。

ATOKのローマ字定義カスタマイズでは、一覧出力は可能だが、その部分だけ取り込むことはできない。配色やキー定義と共にスタイルファイルとしてのインポートは可能である。他の環境のATOKに移したりする時は、スタイルファイル毎の取り込みをするか、カスタマイズのダイアログで一つずつ設定するしかない。

AOUR開発秘話

AOURは、自分が使う最良の和文入力方式と考えてずっと使っているが、もちろんこれが万人にとって最良というわけではない。
ローマ字入力や他の入力方式と比べて、利点もあるが欠点もある。AOURの特徴的な部分をやや欠点的な部分を主眼としてまとめておくことにする。

AOURとりかかり

自分はローマ字入力方式からAZIKの拡張入力方式を使っていて、それをACTのようにDvorakベースの方式にしたら、母音が左手中段のホームに並ぶのでより効率が良いだろうと思って、ACTを使う手段が無いかと考えた。だがACTは基本的にキーボードの物理配列がDvorakである必要がありハードルが高い。アルファベットそのものの配列は、QWERTYそのままでなければ都合が悪い部分もある。
AZIKのように、ローマ字入力の定義の入替程度、それも長年使い続けてきて今後も使うATOKで実装できないかと考えたのが始まりである。
当時は、Google日本語入力も出現していなかったし、もちろんgACT10の方式も無かった。これらが先にあったら、この方式を使うようになっていたかもしれない。

1 非Dvorakなベース配列

定義を考え始めると、ATOKでは句読点キーのカスタマイズができないという壁に当たる。なので、これらキーはそのままにして、Dvorakで句読点がある(QWERTYの)Q、W、Eの位置と交換せざるを得ない。ATOKで実装する前提のもとATOKの制約で、Dvorak配列とは異なるベースにしなければならないことになった。
Dvorak配列と異なることは、特殊性を一つ加えることになるので、Dvorakをベースにしたローマ字との互換性も失われるのである。

ただし、AOURはDvorakそのものを実装することを目的にはしていないので、完全な欠点というわけでもないように思う。

2 非左右交互打鍵

Dvorakをベースにした基本的な定義自体は、母音五つと各行の子音だけなので、そんなに覚えるべきものは多くなく、しかも多くは母音が左手、子音が右手になるはずである。
標準のDvorakでは、パ行、ヤ行、ファ行、ジャ行、カ行辺りが左手子音なので、これらは左右交互打鍵にはならない。AOURではこれに加えてシャ行やチャ行、句読点と入れ替えたワ行、ザ行も母音と同じ左手子音である。

一部のDvorak系方式では、出現頻度の高いパ行やヤ行、それにカ行はキーを読み替えたり代替入力を設けてるような形で、右手子音に変更しているが、AOURではカ行を読み替えて右手子音にしたものの、それ以外の行については左手子音のままである。
つまり、左右交互打鍵にはならない行も多い。

3 複雑な拡張ルール

さらにAZIKとACTの拡張ルールの多くを取り入れたり、後になって他の入力配列なども参考にして各種の拡張ルールを導入したりしたので、基本以外の入力定義のルールが増えそれなりに複雑になってしまっている。

定義群、ルールが多いということはまず全て習得するのに時間がかかるということである。しかもAOURを使うには拡張ルールなしでは目的とする効果が無いので、これらをセットにして学習することになると、時間がかかるという点である。
ACTやJLOD、後に出たgACT10なども拡張入力のルールは多く、おそらくこれらの方式も同様に、完全習得に至るにはそれなりの学習コストが必要になってきて、新たにこういう方式への挑戦心を削ぐことになってしまいかねない。

ただし、新しい拡張のルールは順次覚えることで十分であって、少しずつ効率を上げている楽しみにもなると考えることもできる。

4 他配列依存

AOURのオリジナルな部分は多くない。
最初の定義の際に、撥音、促音、長音、シャチャジャ行単独子音キーの考えはそれまで使っていたAZIKの考えを取り入れたものだし、二重母音や撥音節拡張、以後追加していった拡張もACTやJLODなどの先行方式や、その後に出現した他の入力配列の考えを取り入れ、それらを組み合わせて現在の形にしたものである。
具体的な定義割当では完全に同一ではないが、考え自体100%完全な独自の拡張というのはほぼないのである。

これは、見方を変えれば優れた拡張入力を取り入れているということでもあり、各入力方式はだいたい皆、共通して高効率な拡張ルールの考えを共有しているようにも思える。

5 ATOK依存

ATOKは、PCを使うようになってから今に至るまでずっと使っているIMEであって、変換効率や機能の点でWindows環境における最強のIMEであることは疑いなく、入力方式はそのATOKで使えなければ自分にとっては意味が無かった。
AOURは、ATOKでの実装を前提にしたので、そのことにより定義の制約を受けている。
入力方式の変更は、ローマ字定義の変更の他は、配列変更ソフトを使うという方式もあったと思うが、そういうソフトをうまくATOKと組み合わせて使えるのか、どんな環境でも簡単に使えるのかなどよくわからず、その手段は考えに及ばなかったのである。

ベース配列をATOKの制約に合わせた部分はおそらく他のDvorak系方式には見られない。ATOKの定義変更で完全に実装できるものも、他には多分ない。当初、他のDvorak系方式では物理配列もDvorak配列であることが前提で、そのDvorak配列がそのままベースになっていたように思う。

ATOK依存の結果、句読点がQWERTYローマ字と同じ位置にあったり、Wも共通しているなど、QWERTYからの移行は、他のDvorak系より僅かにしやすいかもしれない。
配列変更ソフトを使えばIMEに関係なくDvorak系の入力方式を使えるようになるが、定義カスタマイズのほうが間に挟む仕組みがない分、おそらく快適な動作が期待できると思える。

6 実装環境

AOURは、ATOK用の定義の他、Google日本語入力用とDvorakJ用の定義も作成している。これにより、Windows環境においてはほとんどの場合でAOURが等しく使えることになると思う。他にも自動生成された姫踊子草用の定義もあるらしい。Macなど他のOSでもATOKやGoogle日本語入力とその定義カスタマイズが有効ならAOURも使えるのではないかと思う。
他の入力方式ではDvorakJでしか対応していないとか、公式には定義ファイルが用意されていないというもの、いずれか1種類だけというものが多い。

定義の読み込みは、自分としてはそんなに難しい作業ではないと思っているが、それさえも面倒と感じる人は少なくないようにも思う。ただし、そんなことが面倒だという人は普通のローマ字入力以外は選ばない方が良いという気がする。

また、いずれの定義もUS配列とJIS配列両方に対応している。これらの配列では右手小指範囲のキー位置が幾つか異なる。

その関係で、全角コロン「:」のキーボードからの入力がJIS配列ではできない。JIS配列の「:」は長音符号に割り当てられるからである。US配列だとサ行子音の位置のShift操作になるが、「:」には既に長音符号が割り当てられているので入力できない。US配列の時だけこの定義を削除するならそれは可能になるが、頻度高く使う記号ではないので単語登録で入力するくらいで間に合う。
いずれも、半角での入力は問題ない。