2023年10月08日

【薙刀式】濁点後置で濁音にする方法

> 新下駄配列の空いているところに「゛」を設定してみたけど、「か゛」になってしまって「が」にならない。かな入力だと変換されていたはずだが、
https://x.com/kurokky969/status/1710740223578239179?s=20

OS側(IMEレベル?)でやってる部分です。


日本語入力には、
OS側で二種類のモードがある。
ローマ字入力とカナ入力だ。
切り替え方法は、Alt+ひらがなカタカナ。
あるいは右下のMS-IMEアイコンを右クリックから出るメニュー内にある。

ローマ字モードだと、
IMEオン時、アルファベットをローマ字でカナに変換する。
カナモードだと、
1を「ぬ」にするなど、JISカナコードになる。
このとき、「か゛」の2ストロークを、
勝手に「が」に変換する。
これはOSレベル(IMEレベル?)でやっていること。
ローマ字でkaと打てば「か」という別のカナに変換することと、
似ている。

さて、
新配列を実装しているエミュレータは、
どちらのモードで使っているか、
を確認されたい。

「カナ配列」といっても、
カナモードでの入力を想定していない場合もある。
IMEをローマ字モードで使っていて、
「か」を入力したくて新下駄でDを打ったとしても、
「ka」というアルファベット二文字が出力されている可能性がある。
見かけはカナ入力だが、
内部状態はローマ字なわけだね。

この状態だと、゛を入力しても、
濁音化はできない。
ローマ字の記号扱いされるからだ。

仮に、IMEをカナモードにしてみよう。
この状態で新下駄を立ち上げ、
Dを押したら「か」が出るか?
ローマ字のkaが出力されるから、
JISカナでのk=の、a=ちに変換されて、
「のち」が出ることが予測される。
これはエミュレータ側が、ローマ字モードで使うことを、
想定しているためだ。

さあややこしくなってきた。
じゃあカナモードで新下駄を使うにはどうすればいいか。
D位置に、JISカナで「か」に当たる、tを発行すればよい。
濁点は@だね。
カナモードでt@を受け取れば、
「か」が「が」にIMEレベルでやってくれるわけだ。

このモードならば濁点後置、半濁点後置が、
実装できる。

待てよ、「っ」などJISカナでシフト操作が必要なのは?
z=つ、シフトz=っ
なので、大文字小文字を受け付けているとすれば、
zとZで打ち分けられるはず。




一人でこれらを理解し、
実装するのは、
よほどプログラマーで内部のことに詳しい人だろう。
僕は何も知らない状態から、
ただただカナ配列を使いたいがために、
ここまで理解した。
新配列を「使う」というためだけに、
ここまで理解を強要するのはどうかしてると思うが、
苦労したものを秘匿するのは普及の妨げになるので、
この記事に整理しておくことにした。

ちなみに、
DvorakJだと、
それらを自動変換してくれるモードがあります。
基本はローマ字モードで使うように実装されているが、
「カナモードで使う」みたいなやつにチェックを入れるだけで、
自動的に変換される仕組みになっている。すごい。

ほかの代表的なエミュレータ、
紅皿、漢直WS、やまぶきで、
どのような実装になってるかは不明なので、
各自調べてね。


ただローマ字モードでも、
「か゛」と入力しても、
変換をかければ「が」にしてくれるのではないかな、
と思う。
無変換確定したいときだけ気をつければいいだけかな。


こうした厳密なことを知るにはどうすればいいのかねえ。
俺はどこで覚えたのかわからない。
ネットに散らばる知識と、
実際に手を動かして理解した気がするなあ。

でもそれは自分で配列をつくりたいから、
色々実験して知ったことで、
ただ「使いたい」人が知るべきかと言われるとなあ。

単純な改造だとしても、
いっぱしの知識が必要になるのは、
なんか敷居が高くてむかつく。

と思ったので、僕が理解していることを書いた。



「カナ配列だからといって、
カナモードで入力してるわけではない」
というのがそもそもの前提になるだろうか。

なんでかというと、
「数字段を利用したい」からだろうな。
JISカナだと123…はぬふあ…になっちゃうから、
数字を打ちたいときはIMEオフにしてから打たないといけない。
しかしカナ系新配列は3段におさめて、
数字段をそのまま使えるものが多いから、
IMEオンのままで数字段が使えるように、
ローマ字モードでのカナ入力を、
使っているのだろう。

…ここまで読解しないといけない、
というのはやはり無茶振りですなあ。


Google日本語入力(Mozc?)が、
どのような入力モードで使うことが前提かは不明だが、
「か゛」が「が」にならないということは、
ローマ字モードでの実装なのだろう。
カナモードで使えるのかしら?
そこから先はGoogle日本語入力使ってないので、
わからんです。
posted by おおおかとしひこ at 09:28| Comment(0) | TrackBack(0) | カタナ式 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック