新配列と新ローマ字を考える話 - Effive配列とEffiveRoman(後)

前回の記事ではEffive配列がどのようにしてできたのかを取り上げた(ぜひそちらも併せて読んでね)。

3kyoson.hatenablog.com

続いて、具体的な導入方法と使用方法について紹介する。と、そのまえに何点か…

成長記録

ここまでブログを読んで、疑問に思いそうなこと。

  • 会社や学校のパソコンではEffive配列を使えないけど、Effive配列に慣れたら、共用のPC使用時に必要なQWERTYで打つ能力が衰えてしまうのでは?

大丈夫、心配ご無用。

e-typingでの実績

有名なタイピング練習サイト「e-typing」にて日々QWERTYとEffiveで一度ずつ記録をとっている。Effiveでの記録が日々ぐんぐん伸びていくのに対し、QWERTYには何の影響もなかった。むしろそっちも日々記録を取るにつれて徐々に成長した。

ショートカットキーの扱い

ここまでブログを読んで、疑問に思いそうなことその2。

  • QWERTYはCtrlキーとのショートカットが使いやすいのに…あれEffiveになったらバラバラになっちゃわない?

Ctrlキー(Windows)および⌘キー(Mac)利用時について

これらは全てQWERTYにおいて左下に位置しているからこそ便利なのであって、Effiveになった途端ZXCVやASDF…はバラバラになってしまう…

新しい配列での操作は、慣れ以前にその不便さを拭い切れない。

ここで例えば、Ctrl + Z操作において、大事なのはその左下端という「立地の良さ」にあり、その操作に「Z」を使うことに意味やこだわりはないと思われる。既にすっかり覚えて無意識に操作している方は、なおさらそう思うことだろう。文字ではなく、位置で覚えているだから。

こうしたショートカットキーの便利さは残したかったため、Tomisuke配列等を参考にし、「Ctrlキーを押している間はQWERTY配列に戻る」という機能をつけることで対処した。

この機能が不要だという人が一定数でてき次第、この機能を除いたものも配布するつもりではある(その場合のリリースは早くても来春になるかもしれない)。

動画サイトで活躍するJ,K,L

Ctrlキーなど何もない文字だけのショートカットキーは無論、新配列で操作せねばならない。

とりわけ、YouTubeニコニコ動画でのJ(10秒戻し)・K(再生・一時停止)・L(10秒送り)は、個人的ではあるが割と使う。これが新配列においてバラバラだと操作しづらいので、どうにかして隣り合うように頑張った。右手小指でK、手前にズラしてJ、奥にズラしてLといった具合で押せるので、これは大変便利である。

Effive配列を実装する

お待たせして申し訳無かった。以下、Effive配列及びEffiveRomanの導入方法

Windowsユーザー

  1. AutoHotKeyをインストール
  2. GoogleDriveからEffive_6.0.ahkをダウンロード
  3. エクスプローラでダウンロードしたファイルを見つけ、右クリック→Run Script
  4. 画面右下(タスクバーのインジケーター?)に[H]が出ていればEffive配列が使えるはず(OFFは、その[H]の部分を右クリック→Suspend Script→[S]に変わる)

Macユーザー

  1. Karabiner-Elementsをインストール
  2. GoogleDriveからEffive_6.0.jsonをダウンロード(GitHubじゃなくて悪かったな)
  3. Karabiner-Elementsを起動→Misc→Open Config Folder
  4. でてきたFinderのフォルダ内に先程のjsonファイルをペースト
  5. Karabiner-Elementsソフトに戻り、Complex Modification→Add Rule→Effive_6.0をEnableに
  6. Command + Control + Option + 1 でEffive配列利用可能(OFFはCommand + Control + Option + 0)

※もし一部の文字の出方が変な場合は、Mac設定→キーボードから、お使いのキーボードが日本語キーボードとして登録されていることを確認する。

ChromeOS

ァア゙?See Run Pet Pay! 知らんガーナ!大人しくChromebookを置け!

というのは冗談で、こちらに関しては単純にやり方がないようだった。もしあったとしても、とても私の手で開発できないと思われる。

Linux

ごめんな。私には分からない…

EffiveRomanを実装する

Effive配列用に最適化したローマ字テーブル、EffiveRoman(詳細は後述)の導入方法を説明する(WindowsMacも両方いける)。

  1. Google日本語入力をインストール
  2. GoogleDriveからEffiveRoman_6.0.0.txtをダウンロード
  3. どうにかしてGoogle日本語入力の設定画面を開く(Windowsは、タスクバーのⒿ→Google日本語入力レンチマーク🔧→プロパティ)(Macは、Launchpad→Google日本語入力のうちConfigDialogの方)
  4. ローマ字テーブル「編集」→編集→インポート…
  5. 先程のテキストファイルを選択
  6. 適用→OK(もし有効にならない場合はセキュリティ面で引っかかっているおそれあり)

EffiveRomanの機能紹介

EffiveRomanに切り替えることで何ができるのか。以下にまとめた。

拡張母音

これこそEffiveRoman最大のメリットと言って良いと思う。

そもそもローマ字入力は、基本的には子音字の打鍵後に母音字を組み合わせることにより実現される。例えば子音字として「S」を選ぶことでサ行を指定、その後に母音字として「U」と打つことで「す」を入力することができる。

ローマ字の概念上、母音字としての役割を果たすのは「A,I,U,E,O」のみであり、皆は自然とこの5種の中から選択し、文字を入力している。

では、母音字として使える文字、言い換えれば子音字を指定したあとに打てる文字を増やしてみるのはどうだろうか。この考えを拡張母音といい、有名なものにはAZIK(エイズィック)がある。

AZIKを例に説明すると、例えば「Z」を子音字としてはザ行のままでありながら、母音字においては「A+ん」と振る舞うものとする。これにより「かん」という二文字を「KANN」ではなく「KZ」のみで入力することが可能となるのである。

ただこの規則に従うとなれば「ZZ」は従来の「っz」ではなく「ざん」が打てるものとする必要があるため、促音「っ」に関してこれまでの子音字重ねとは別の打ち方を考えなくてはいけない。AZIKの場合、「;(セミコロン)」で「っ」を入力する。

また、「Z」の「A+ん」としての振る舞いは何らかの子音字が指定された状態で打たれることで起きるため、「Z」単体で「あん」と直接入力できることはなく、ザ行の指定という子音字としての役目を果たす。拡張母音を用いた「あん」の入力には、その前にア行であることを指定する子音字のような概念を入力されている必要がある。AZIKをアレンジしたAZITでは、これを無音子音と呼称した上で「V」を割り当てている。

Effive配列が母音横並びにこだわった理由は拡張母音の導入にある。EffiveRomanの場合、左手下段で「撥音拡張」、左手上段で「二重母音拡張」、左手数字段で「ク拡張」が容易に実現可能となっているのだ(但し「エ段+ク」は圧倒的に使用頻度が低いため例外的に「エ段+ツ」とした)。

その他補足

促音は「;」で入力するが、拡張母音に用いている文字で「Z」以外は子音字に用いられていないので基本的に子音字重ねでも機能する。

無音子音には「”」を採用した(遠いと感じる方は使わなくていい)。

単音拡張

C,J,L,Qを始め、F,V,Xなどはローマ字入力ではいわゆる特殊音担当のため、通常の日本語入力においてあまり用いられない。そこで思い切ってこれら7文字をそれぞれ仮名1文字に置き換えてみようという試みである。代表的なものにJacql(ジャックル)がある。そしてそれを参考に使用文字を拡大したかなりの単音入力推進派であるRGTもあるので興味のある方はぜひご一読を。

qiita.com

私はこれを単音拡張と名付け、先ほどの七文字のみを頻出の仮名に割り当てた。なるべく使用するアルファベットと関連性のある割り当てを心がけた。

14269024
12775155
12178888
10996690
8067242
7375401
6940888
6837378
6744323
6724055
6454080

る…L 「L」自体にラ行のイメージがあるのでかなりふさわしい

の…V ギリシャ語で「Ν」の小文字は「ν」となるので、どれかというと「V」が望ましい

か…Q 例えば「カタール」は「Qatar」と綴り、関連性がある。また疑問文は文末を「か」とする為「Question」を連想させるという点でも適当

す…J 消去法。こじつけるならば「す」の形状に最も似ているのは「J」であろう。「ジュース」で覚えといて

と…C 消去法。こじつけるならば「と」の形状に最も似てい(略) うーん覚え方は「チョコレート」とか?

し…X 中国語「謝謝」は「Xie Xie」と綴るため、「シャ行」と関連性がある。

た…F こいつこそキングオブ消去法。全く関連性がない。「ファンタ」で覚えといて

 

これには違和感を覚えるのも無理はない。例えば一見「J」を完全に「す」として用いるのは、今までJによる恩恵を受けていた「ジャ行」を全て「ZY」とすることになり、大損なのではないかと感じるであろう。しかし、現代日本語書き言葉均衡コーパスによると、「す」はジャ行全ての文字の出現回数の2~3倍にもなり、圧倒的な差であることがわかった。つまり、Jはジャ行に構うより「す」として使われた方が理論上お得なのだ。

とはいえ、この単音拡張は一般的なローマ字の概念からかけ離れており(どちらかというとかな入力に近い考え方)、習得にもかなりのエネルギーを必要としそうである。現に私は慣れておらず、「る」は「L」でなく単に「RU」で入力している。

リリースしている中で申し訳ないが、まだ検証段階なのでこれが効率を良くするものと感じられるかは未知数であるのが正直なところではある。もし「慣れない」「CやF,Jが使えなくて不便だ」という私の感想もしくは周囲からの意見が出た場合、これを廃止してちゃんとした行(Fならファ行など)に割り当て直す予定である。これを理由にローマ字テーブルを変更する際は、AZITを参考に

  • Q:キャ行
  • X:シャ行
  • C:チャ行
  • F:ファ行
  • L:リャ行
  • J:ジャ行
  • V:ヴァ行

とする。ひょっとしたらこちらの方が使いやすいという可能性は否定できない。当分は様子見。

語尾拡張

今回の研究で日本語の使用傾向を調べて分かったのが「です」「ます」の頻度の多さである。これをどうにかできないかと思った私は、右手での実現を試みた。

  g t n s k
D でしたら でして でした です でしょう
M ましたら まして ました ます ましょう
H すれば して した する しよう
R あれば あり あった ある あろう
P でございましたら でございまして でございました でございます でございましょう
B ませんでしたら ませんでして ませんでした ません ませんでしょう
W なれば なり なった なる なろう

表は大文字が一文字目、小文字が二文字目を示す。

右手上下段で活用させたい語を選び、右手中段で活用の仕方を選択といった具合だ。

問題は、DGとDSにおいて既存の子音と被ってしまう点だ。語尾拡張での利便性を考慮し、DGによるヂャ行とDSのヅァ行は拗音や拡張母音を使えないものとした(だってどうせヂュヮとかヅェイなんて使わんだろ?)。DGやDSの後にA,I,U,E,Oが来ない場合は語尾拡張におけるDG,DSであると判断し入力が進行することとなる。

例えば「DS.」と打つと、これまでの拡張母音の規則では「づぁん」が入力されるはずだが、ここではDSを語尾拡張によるもの(→「です」)と見なされ、「.」と合わせて最終的に「です。」と入力されるのである。

こそあど拡張(指示語拡張)

語尾拡張と同様の理由で明らかとなったのは「これ」「その」などの指示語の多さである。こちらも右手での実現を考案した。

  c d m n r p b l
K ここ こいつ こんな この これ こなた こっち こちら
S そこ そいつ そんな その それ そっち そなた そちら
G あそこ あいつ あんな あの あれ あなた あっち あちら
T どこ どいつ どんな どの どれ どなた どっち どちら

これは語尾拡張と反対に、まず右手中段で此其彼何を選び、二文字目に右手上下段から語の種類を選択する。

中段にこだわったため、「あ」と「ど」が実態とは違う文字になっているのは申し訳ない。「ど」は「D」だと「です」の拡張と被ってしまうので対応する清音「と」の子音である「T」とした。そして全体的に遠い場所を示す指示語となる「あ」は、実際に人差し指を伸ばす必要のある「G」に割り当てた。

特殊音

特殊音の定義は様々だが、ここでは捨て仮名や通常簡単には入力できない仮名のことを意味する。といってもそれだけじゃ定義として不十分かもしれない。申し訳ないが、お詫びとして早速例を挙げる。

捨て仮名

いわゆる小文字のこと。ヵやヶを入力するために考慮せねばならないものである。あとは、滅多にいないかもしれないがアイヌ語を頻繁に打つという方にとっては便利に思うであろう。

通常、小文字はXやLを用いると思うが、今回は「”」を用いることとした。そして、アイヌ語入力者にも向けて全ての捨て仮名に対応した。

"KAで「ヵ」と打てるのはさながら、"ROで「ㇿ」や"Pで「ㇷ゚」なども実現可能となった。

アに濁点行の実現

ネットならではだが、時折SNSなどであ゙ の文字を見かける。大抵の人がコピペ、もしくは辞書登録と思われるが、今回はこのア゙ 行に対応する子音を新たに考えてみることとした。それに用いたのは…なんと「?」である。そう、「?A」と打つだけで簡単に「あ゙」と打つことができるのだ。

しかしこれには若干の迷いがある。まず、「?」を割り当てた理由としては

  • Effive配列ではシフト無しで入力可能
  • IPAの世界で「あ゙」にあたる子音の発音記号は「ʕ」となっており「?」と形状が似ている
  • ?のあとに母音を続けて打つことがない(?は大抵文末に来るのでだいたいそこで変換し、?の直後に続けて母音を打つ機会が考えにくい)のでそこまで支障がない

の3点が関係している。ところがやはり、そうは言ってもやはり…3点目に関しては全員がそうとは言い切れないのが実情なのだ。人によってはこの機能により使いづらさを感じてしまう可能性もある。そのため、「『?』はちょっと…」という声が割と上がった場合は代わりに「KH」などに子音字を変更するつもりである(KHはあくまでも例なので、もし実際に変わるともなれば、他にいい子音字がないか募集しようと思う)。

踊り字・濁点

佐々木の「々」をラクに打ちたいと思ったことはないだろうか?(あってください)

初心者やその場での応急処置としてはコピペ、玄人にもなれば「おなじ」と打ってからの変換技など色々方法はあるが、今回はこちらも拡張入力の暴力が味方してくれた。

踊り字全般を「R」との二文字連続で実現させた。

一部を紹介すると、「RC」で「々」、「RD」で「ゞ」などが可能だ。

また、それに合わせて「RB」で「゙ 」、「RP」で「゚ 」といった濁点までをも打てるようにした。

隠しコマンド

さらに、電話番号など数字羅列の読みがな「例)ぜろいちにいぜろ」や、→また※などのよく使われる記号も簡単に打てるようにした。

以上で紹介しきれなかった分や隠しコマンド全般の細かい入力方法は以下の表にまとめているので、興味のある方はご覧いただければと思う。

drive.google.com

また、取扱説明書のように各自が活用してくださればなおありがたい。

使いづらい点などは今後の数多くの方々による長期的な使用を通して見えてくるであろうから、そういったのが出れば適宜、今後も改良していきたいEffiveRomanである(尤も、2023年度現在私は忙しいため即座に対応できないと思われるが)。Effiveは、一番の配列でないかもしれない。しかしEffiveRomanは、私が思いつく限りのアイデアを詰め込んだ最強のローマ字テーブルであると思っている。そんなパワフルな武器を兼ね備えている入力方法なので、ぜひ一人でも多くの方々にEffive配列を愛用してほしいところである。そうなれば何よりである。

 

ここまで長文申し訳なかったが、読んでいただいた方そしてEffive配列を使用してくださっている方々に感謝申し上げる。