オオハタの研究ノート

考えたこととか勉強したこととか、書いていきます。

快適な日本語入力を巡る旅

この記事は群馬大学電子計算機研究会 IGGG Advent Calendar 2020 - Adventar 9 日目の記事です。

もう四年生も終わりに近づいてきています。 大学生活はあっという間でした。 現在卒論に追われています。

快適な日本語入力を巡る旅

一時期、 「コンピュータ上で日本語を入力するには一体どの方法がベストアンサーなのか」 という問題について色々考えていたことがありました。

現在僕は、「備え付けのJIS配列キーボード」で「VS CodeEmacsバインド」で「macOS標準のIMEのかな入力」を使って文章を書いています。

ここに至るまでの検討の道を振り返ってみます。

基本方針

  • 極力デフォルト設定を用いる (種々の変更の管理と把握が面倒であるため)
  • どれだけ一般的かも考慮に入れる (自分のマシンでしかうまく動かせないを避ける)

ローマ字入力 VS かな入力

ローマ字入は恐らく一番一般的な入力方式! 母音と子音の組み合わせで日本語を入力していきます。

o ha yo u => おはよう

かな入力はJIS配列のキーボード上にプリントされた平仮名を直接入力して入力する方式です。

お は よ う => おはよう

ローマ字入力は基本的にキーボード三段で入力が可能ですが、 かな入力は4段のキーが必要で手を動かす範囲が増えます。

しかしながらかな入力はキーを押す回数がローマ字入力に比べて少ないと言うメリットがあります。 約半分。これはすごいことです。 ローマ字入力でガチャガチャガチャとしても、平仮名になって短くなって、漢字変換でさらに短くなるのは見ていて辛いです。

そんなわけで僕はかな入力を練習しました。

DDSKとAZIK

プログラミングに使うエディタをSpacemacsにしていた時期がありました。 この時SSKとAZIKというものを知りました。

SKK

SKKEmacsで動く日本語入力システムです。https://ja.wikipedia.org/wiki/SKK
これを発展させてOSレベルでもSKKが使えるようにしてくれてあるものもいくつかあります。

SKKはモードの概念があります。 平仮名モードで入力した場合は平仮名が確定された状態で打ち込まれます。 カタカナモードで入力した場合も同様で、英文モードもあります。

変換したい時のみ変換キーを押して、漢字にしたい平仮名を打ち込み、再度変換キーで変換します。

一般的な入力は「適当な長さを入力 ->SPACEキーで変換」と言う流れですが、 SKKは手書きをする感覚に近いです。 手書きでは先に平仮名が出るのではなく、漢字を書くぞ!と思ってから漢字を書き、平仮名を書くぞ!と思って平仮名を書きます。

「もの」、「こと」、「いく」あたりの文脈に応じた変換が簡単にできます。

スシテム自体はよくできていると思ったのですが、10年後活発に生きているものかと言う点と、 最新の語彙に対応している辞書かと言う点を考えるとマイナスポイントだと判断して使うのをやめました。

AZIK

http://hp.vector.co.jp/authors/VA002116/azik/azikinfo.htm

ローマ字入力の拡張版という位置付けです。 ローマ字入力は子音->母音という入力順ですが、母音は5種類しかなく無駄なキーが生まれてしまいます。 このような無駄なキーに妥当な変換を割り当ててローマ字入力を便利にしよう!というものがAZIKです。 すごい発想です。

例えば二文字目に「ん」が来るような時は Z(Aの下)、 K(Iの下)、 J(Uの下)、 D(Eの下)、 L(Oの下)を押すことによって「母音+ん」の入力が一ストロークで済みます。

T Z J J -> たんじゅん

その他色々な拡張があります。 かな入力よりも少ないストローク数で入力できる場合もあります。

かな入力を覚えるのは流石にめんどくさいという人にもお勧めできます!!

ただかな入力を知っていた身としては、AZIKストローク数を減らしたところでかな入力でも同じストローク数であるようなケースが多く、かな入力に戻りました。

Vim Emacs バインド

Vim/Emacsはプログラミング界隈で著名なエディタです。 Command/Win + C でコピー、矢印キーで移動というよりも、 さらにテキスト編集に優れた機能が沢山です。

現在僕はVS Codeというエディタを使っているのでVim/Emacsユーザではありませんが Vim/Emacsキーバインド(キーボードショートカットのようなもの)を模倣した 拡張機能があるのでそれを用いています。

Vimはモードという概念があります。ノーマルモードで移動、コピペ、削除、ビジュアルモードで選択、挿入モードで入力します。

Emacsはモードという概念はなく、代わりにCtrlキーやOption/Altキーを多用します。

英文のみの場合はVimバインドが心地よいと感じることが多いですが、 Vimのモード変更の際に一旦かな入力から英数入力に戻さなければならず、不便でした。

Emacsバインドはかな入力時でもCtrl/Option/Altキーを用いた操作は可能なので 日本語入力という面ではこちらが向いていると感じます。

まとめ

一口に日本語入力と言ってもいろんなものがあるのだと改めて実感しました。 色々な入力方式を試してみるのは面白いですね。

参考になれば幸いです。

おまけ こぼれ考察

Dvorak配列

英語入力においてはかなり効率的に入力できるらしいです。 ただ英語入力においてだけであり、Vim/Emacsキーバインドとは相性がよくないという話を聞きました。 QWERTY配列のJISキーボードが備え付けられているのにわざわざ変更するの? という点と、一般的ではないという点から導入に積極的ではありません。 とはいえ少しの興味はあるのでいつか試すかも知れません。

IME

標準以外だとMozcやATOKGoogle日本語入力が有名ですね。 お金ないので無料のものを使いたいです。 今は標準のものを使っていますが、今度Google日本語入力入れてみることにします。