実装面でのお話

拡張はプログラミングで定義した。

「コピペ&置換」でも別にいいんだよ。

でもそれってさ、ちょっと変更するだけでも大変な目にあうし、
ちょっとしたミスが残っちゃったりするじゃない。

プログラミングだとちょっとしたミスをしても、
そもそも実行できなかったり、束単位でミスしてるから見つけやすい。

なにより、定義が一貫して規則的だと保証してくれるのがよいところだ。

規則的でないとこんな拡張とても身につけられないですからね。


初めて raku という言語を使ったけれど、かなり時間がかかっちゃった。
単純に仕様が確固として決まっていたなら「コピペ&置換」の方が早かったにちがいない。

まあ、再利用の余地があるので、
他の配列に取り入れたいなど興味がある方はみてもらってもいいだろう。

昔よく似たのをつくってた。

その時もスクリプトで書いてた。

UIM-Anthy に読み込ませたのだけれど、
当時ものすごく読み込むのに時間がかかって、
mousepad を開いて打つまでに相当時間がかかってたようで・・・

日本語入力が必要なアプリケーションごとにUIMの設定を読み込むから、
もうすべてのアプリケーションで初回起動時の動作が重くなったと言っていい状態になっていた。

そんなで、使い物になりそうにないのでオクラいりになったわけさ。

それと比べりゃGoogle日本語入力は優秀ですねー。
単純にマシンスペックが上がっただけかもしれないけど!

 

(昔はRaspberry Pi 3 以下のスペックで遊んでたもんな。
jwmかicewmでOS起動直後を100MB以下に抑えたり、
それでもブラウザが残りのメモリ全部持ってったり、
いろいろとたのしかったな。

RAMDISKできるほどメモリ富豪になっても楽しむ工夫ができないよ。
仮想マシンをサーバーみたいに何台も起動させたところで動かすの1人だし。
ただずぼらになっていくだけというか…漫然と16GB使ってもなにも感じないもんね。)


閑話休題

最上段はあまりよく考えなかった。

おまけみたいなものと言いますか、頻度の低い寄せ集めと言いますか、

あんまりねーうまくまとめられなかったんです。

丁寧条件肯定形の対と否定がなかったり、
肯定と否定で同じような意味で振る舞わせるのは難しかった。

-I連用形からつながる「がち」は肯定しかないし形に入れても良かったが、最終的にそうしなかった。

言い切りからつながる「べく」は否定形「べからず」のほかに「べし」も存在するのだが、
なぜか「べし」を除く2種のみ採用している。

なんともはんぱだ。

動詞活用拡張の説明でも述べたようにこれらは形というより助動詞なんだけども、
補助動詞とちがい単独じゃ使えないんで置き場に困るんですよね。


「なんだ/なんだら」は室町時代にまで遡れる古い表現だが、
関西ではいまだ使う人はいるしこれはこれでおもしろいとは思いつつ枠に限りがあるので見送った。

一方で形容動詞の活用「じゃった」など広島で使いそうな言いまわしは残った。
距離が遠くかなり打ちづらい位置にあるので、おまけ程度のものだと捉えてもらいたい。

 

「まして」は本当に使うのか?

はじめまして、あけまして、いただきまして、
かわりまして、たべまして、ありがたがりまして、
さびれまして、やきまして、わすれまして、かきまして、はたらきましてかえりましてねましてしまいまして・・・

最初の3つはよく使う表現だとして後のは丁寧すぎて妙に聞こえないか心配になるんですよね。
たまに使うならいいけれど頻発すると顰蹙買いそう。

「~まして」を頻発するバカリズムのネタがあるくらい、
「~まして」の使いすぎは日本語としてどこかおかしいんでしょうね。

未採用の接辞/助詞

「っぽい」「らしい」「か?」など頻度の多いものの採用を見送った。

「か?」は条件と連用形の以外の多くの形から接続できるので、つなぎかたを限定することかなわず。
「っぽい」と「らしい」はさらに丁寧と意思も除外できるので、
2キーほど潰して置くことは可能そうだがそれを置けるほどの余地はなかった

Google日本語入力の制約とそれへの対応。

今回、Google日本語入力の制限に引っかかったのは以下の2つです。

  1. 100kb 以上のファイルは読み込んでくれない。
  2. 「空文字」の出力に対応していない。

まず「してしまわれる」などをそのまま定義ファイルに登録すると
1万行は軽く超え、ファイルサイズは300kbほどになる。

なのでこれを避けるべく100kb以下にするために、
キーストロークを分割して登録することになった。

こうしてキーストロークを分割することでファイルの登録ができるとしましょう

 

そしたら次の問題にあたることとなった。

 

「空文字」を出力できないことにより、
一段活用の -I連用形を「空文字」として打てなくなりました。

-I連用形は五段活用ならイ段ですが、一段活用では文字がありません。「空」なのです。

ですが、その「空文字」が打てないために、
一段活用を -I連用形で止めることができなくなりました。

 

具体的になにが問題なのかというと

  • 「~て-いる」を「~て-い」
  • 「~て-みる」を「~て-み」
  • 「~かせられる」を「~かせられ」
  • 「~ち-すぎる」を「~ち-すぎ」

で打ち終えることができないということです。

 

「おいしいから食べてみ?」などと打ちたくても、
「LKM」or「LKEM」=「てみ^l」の「^l」を消すことができずにゴミが残ってしまいます。

 

このまま -I連用形を打つためのキーを入れても
Google日本語入力は対応していないのでそれを無視して「てみ^lい」となる。

 

そのため、どうしてもこの拡張の
一段活用の -I連用形を打ちたいならBACSPACEを打つ必要がでてくる。

 

連用形で止めたい場合はこの拡張に頼らずに
ふつうにローマ字入力しちゃったほうがいいかもしれません。

 

・・・なんてままにするのは、あまりにも不便だし不自然で不完全な感じがして嫌なので、
一段活用の-i連用形には「空文字」の代わりに「し」をあてることにしました。


「~られし」「食べし」「歩かせし」「書けし」など古風な言い回しにはなるものの
無機質な記号よりかは違和感の少ない文字列となるでしょうから、これで妥協です

「食べてみ?」と動詞拡張では打てないことに変わりありませんし、
「~市」と変換候補が競合しやすく変換しづらくなりますが、これが妥協です

 

さらなる進化への糸口

籠鳥から自由になっても鳥小屋さ。まだまだ束縛された配列なんですよ、長鳴き鳥も。
 

  • シフトありき
    • ACTなどの既存配列に拡張を上乗せすることもできるだろう
    • 拗音位置も改善でき、母音省略で接続助詞を充実させることもできるだろう。
      「ところ」「こと」「から」「なの」「なら」「けど」など
    • シフトするかしないかで肯定形か否定形かを分岐することもできるし、
      打鍵範囲を減らすことも可能だろう。
      • 態の12キーを6キーで済すませたり
    • 形を最上段に置かず、左右両方に配置しても、シフトで接辞を打つことができるだろう。。
    • これくらいなら、 Google日本語入力のローマ字テーブルの範囲内でもできますね!
    • そのシフトを使いやすくするなら、SandSなど別アプリで対応する必要があるけれど
  • 頻出動詞のマッピング
    • 今回、⭐❤️🔪キーは接辞を優先させたため、単独で頻度の高い「買う」などはあてがっていません。
      • 頻度が高くても複合動詞になりづらいなら文字列が長くなりがちな敬語を優先して配置します。
    • ERT以外にQBやYP同手などを含めれば200弱の日本語頻出動詞を漢直のようにマッピングすることも可能ですが…
    • それを覚える労力と普通に打つより速く打てるようにする努力と、
      対価を鑑みたときとても見合うとは思えない。入力することを職業にしているのなら話は違うけど。
    • Google日本語入力には制約があるので、覚えたところで思惑上のフルスペックで稼働できないってのもきつい話だよ。
  • 漢字混じりの動詞マッピング
    • あまりにも増えすぎる。「かける」だけで何パターンあると思ってんだ?
      「か-ける」と「かけ-る」があるだけでももどかしいのに!
      「かえ-る」が一段か五段か区別つくのはいいけどね。
    • 「熟語+する」の形を集めるというのなら悪くない話だ。
      でもそれはする抜きで打ちたくなるとおもう。
  • 自動詞他動詞の区別
    • 効率が落ちない方法で区別をつける手立てをがあったなら、
      おこす/おこる、はじめる/はじまるなどのちがいをひとまとめにでき、
      接辞の配置パターンを減らしつつ接辞を増やせるだろう。
      • (方法はある。あるけどやってない。接辞3つのキーで手一杯だから)

こんな盛れないよ・・・

一つ言えることは、ぜんぶ詰め込んだら100kb超えちゃうってこと。

もう一つ言えることは、100kb制限のせいで縮約形にも永遠に対応できないってこと。
それがために方言も表現のゆれも断念せざるをえないです。

口語では「読んであげる」「食べてあげる」の「DEA」「TEA」が縮んで「DA」「TA」となり、
「読んだげる」「食べたげる」というふうに言うこともあるのだけれど、
そういうのは実装できないってことですよ。
 

 

シフトをありにしちゃったら、
できることがあまりにも増えすぎてしまうので、考えをまとめるのが大変です。

とりあえず、ここらでビバークをとって配列づくりは一旦終わり。

本当はもっと良いものが作れると確信をもちつつも、一足飛びにとはいかないのです。
他に類を見ない意欲的な配列にみえるけれど真打ちではないというのはかなしいかな。