二打拗音と三打漢直について
二打拗音
ニ打拗音は、雲乃井配列における拗音入力方法で、子音を入力した後に、逆手(子音を入力したのと逆の手)の人さし指で特定の場所にあるキーを入力することで出したい拗音を出すという方法だ。
右手でkを打った後に、逆の手、左手の人さし指で下段の左側を打つ。すると「きゅ」が出る。シンプルな挙動だ。これはローマ字テーブルの調整によって実装していて、例えばだが、今雲乃井配列では左手の人さし指の下段左にはsが配置されているので、ks=きゅというローマ字テーブルを実装していれば、このニ打拗音が使えるわけだ。ksで「きゅ」が出るという意識ではなく、kと「人さし指下段右」という場所で「きゅ」が出るのである。もしsが別の位置に移動し、bがその位置に移動してきた場合は、kb=きゅ になる。文字に紐付いた認識はできない。
これを左右で子音すべてに対し実装し、いま雲乃井配列では、サ行を例に出すとしゃしゅしょしぇしぃの基本的なヤ行拗音が打てるようになっている。外来音という、外来語由来の拗音である「てぃ」「とぅ」「てゅ」「うぉ」「うぁ」なども、同手の子音連打も混ざってくるが、実装している。これで普段物を書くときに必要な拗音のほとんどすべてが二打で打てるようになった。
けいならべなど、左右分離型ローマ字において、yayuyoのキーを別で配置し、ヤユヨの拗音を簡単に出せるようにするという試みはすでに為されてきた。しかし、別キーで配置するという時点でキーが多くなるというデメリットを抱え、対応する拗音の種類を増やせばそのデメリットも大きくなっていく。
雲乃井配列式の二打拗音も過去に検討されたかもしれないが、私は寡聞にして知らない。知らないだけでひょっとしたらあるのかもしれないが、多分無いだろうと思っている。二打拗音は、雲乃井配列のような子音が両の手に分散された左右非分離のローマ字のためのものであり、左右非分離のローマ字というものが私の作った三つの配列以前にはデファクトととかげ配列しかなかったからだ。(正確に言うとツバメ配列など両手に子音と母音がある配列の例はあり、そういう配列では二打拗音が検討されたかもしれない?) 両手で子音が打てて負荷が分散するという環境で初めて二打拗音が実用性を持つ。
百式漢直
この二打拗音の発想の延長線上に、三打漢直というのがあるのではないかと今日思いついた。
薙刀式の大岡俊彦さんが、最近薙刀式の延長線上で百式漢直という漢字入力方式を開発している。
特徴的なのは漢直の対象にする漢字を百個に絞っているという点である。
日本語の文字入力において、最大のネックになるのが漢字であり、それを文字入力側で何とか工夫して直接打ってしまおうというのが漢直の発想である。膨大な数存在する漢字の性質上キー割り当ては煩雑なものになり、割り当て表は曼荼羅のごとく複雑なものになる。
百式漢直はそれを厳選、格段に削減したものである。変換で迷う漢字や基礎的な漢字を合わせて数えて百個。
これを最初に見たときは、へえそんな方法が、としか思わなかったが、ニ打拗音の整理をしながらちょっと思いついた。
百個くらいならローマ字の余白に実装できそうじゃね?
三打漢直
ということで、ローマ字テーブルで漢直を実装しようというのが今日のひらめきである。ローマ字テーブルというのは存外不使用の余白が多い。
日本語の総モーラ数がだいだい150であり、そこに拗音も含まれる。
翻ってローマ字テーブルの許容範囲は21(母音を除いている)×26で546個。拗音をニ打に定義し直しても400くらいは余る計算になる。この空欄を使う。
しかしそのうち運指として許容できるものはどれくらいあるかと考えたときに不安になったため、三打、つまり21×26×26(がばがば計算)の14196個(ばかみたいな数字)の枠に拡張して考えることにした。
漢直ということで比較に出されるであろうは手書きである。漢直筆頭だ。手書きで漢字を書くときにひらがなと同じコストでかけますか? いや、書けまい。ということで三打くらいがなんだ。漢字を直で入力できるメリットに比べて打鍵数の増加というのは屁の河童である。
実装
実装について考えてみよう。まず、二打拗音の対象になっている子音組み合わせは三打漢直に使用することはできない。よって逆手の人さし指にある子音は全滅である。三打漢直において、最初の子音を打った後に打てるのは、小指薬指の子音か同手の人さし指子音かである。逆手の人さし指子音を打つと拗音が確定し、母音を打つとかなが確定する。
ここで確定した後からでも上書き入力できるじゃないかと考えた人は Google日本語入力を使う人である。私はかわせみ4というIMEを使っていて、これは後置の上書き入力はできない。そして私はIMEを変える予定はない。よってここでは後置の上書き入力は排除する。
こうなると枠の数は減る。21×21×26で11466個。いや、まだ余裕あるな?
さらに減らしてみよう。覚えやすさの問題があるからだ。私がメモリースポーツの選手であればこの一万個の枠に片っ端から漢字を埋め込んでしまうのだが、それでは曼荼羅漢直と同じである。なにかしらの規則性を持たせたい。
それの鍵は音読みの活用にあるだろうか。ウインキクチツというように中国由来の漢字の音読みのケツは八通りしかない。さて、この偏りは覚えやすさという面において好ましいだろうか。私は被っていて紛らわしいと考えた。つまり音読みの活用ではやりづらいのではと。
検索よけインスパイア
さてどうしようと思ったとき、検索よけで死ぬをタヒぬとか書くよなーとかぼけっと考えて、そうじゃん、それを利用しようと思いついた。
漢字を書くとき、音で把握するだろうか。字面で把握しないか? 文語というように、書面でしか使わない漢字というのは数多く存在する。ぱっと思いつかないので例示はやめておくが、多分、きっと、そのはずだ。それらの漢字は形の記憶、イメージ記憶として私たちの記憶の中にある。まあ、会話の最中になんの話をしているのかと思って、それぞれの頭の中にある漢字の確認をしたら同音異義語だった、というのは別に珍しい体験ではない。音で把握している漢字もあるだろうが、それがすべてではないだろうという意見に異論はないはずだ。普段使わないだろう語彙とかそういう漢字多いんじゃないですかね。
葦手入力という先駆者
という理論武装をもとに私が思いついたのは、漢字の形からカタカナを抽出して覚える、という規則づけである。カタカナというのはもともと漢字のパーツだったものを抜き出してきて文字化したものである。そのせいか、カタカナというのは漢字のパーツとして頻出する。それを逆手にとろうというのである。ちなみにだが、これはすでに漢直入力の方法として確立していて、葦手入力として存在している。
三打漢直の実装
しかし、今回は漢直といっても常用漢字の2100字をすべて入力できるようになりたいのではない。100字打てるようになればいいのだ。もっとゆるくていい。
ということで考えたのが以下の方式である。
(読みの最初の子音)×〈(漢字のケツにあるカタカナの子音)×(そのカタカナの母音)〉=漢字
読みの最初の子音というのは、そのまんま。書くの「書」であれば「かく」で最初の子音はkである。漢字のケツにあるカタカナの子音。これが新しい概念である。書くという漢字であればケツ、つまり形として最後にあるのは「日」であり、これに一番近いカタカナは「ヨ」である。詳しいことは葦手入力を参照してくれ。
よって、k+ヨの「kyo」と入力すれば、「書」が出る、というふうになる。
この方法のミソはケツにあるカタカナというところである。もちろん逆手の人さし指子音に当たることもあるだろう。そのときは一個繰り上げればいいのである。もういっこ上のカタカナを入れればいいのである。
この方法のいいところは覚えなくても漢字の字面を思い浮かべれば、これかな…?という風に書きに行けること、同音異義語を字面から区別して書き分けることができること、そして母音で書き終わることになるため、子音との同指連打が減ることである。
もちろんデメリットもある。読みの一文字目が適用されるため、熟語の漢直には適さないなとか。まあこれはメリットにもなりうるが。
脳内変換が複雑な手順を踏むことになるし、構造上の必然として応急処置的な構築が増えるだろうが、もとより百式漢直にインスパイアを受けている。百個漢字が割り当てられてそれさえ書ければよいのである。慣れてそれで書ければよし、システム的な網羅性とか知ったこっちゃないのである。
21(母音除く)×11(母音と逆手の拗音用子音5個を除く)×5で1155個分の枠しかなくなってしまったが、まあ100個くらいならまともな運指の範囲で入るだろうという希望的観測をかましておく。
今後の導入
大岡さんが百式漢直を考える上で特に重要な漢字13個を示すコア13という概念を提唱していて(派生にコア23がある)、以下の記事にて公開がされている。
試しにこのコア13から割り当ててやってみることにした。
テーブルとして追加してみたのは次の通り。
hho=速
hro=話
hyi=離
hyo=早
khe=漢字
kru=感
tme=取
twa=的
wru=思
yre=位置
yre=言
yte=行
zhe=字
展望
正直どうなるか分からないが、二打拗音を思いついたときもこんな感じであった。全然ダメかもしれないし、すごくうまくいくかもしれない。けっこううまくいくんじゃねと思えたら百個まで拡張するだろう。ニ打拗音はすごくうまくいっていると私は感じているので、三打漢直もそうなって欲しい。


コメント