IME を使用しない漢字の直接入力 (バージョン 1.3.0 の新機能)

IME を使わずに漢字を直接入力する、AutoHotkey v1 用のスクリプトを作成しています。


はじめに

単漢字入力システム (direct-input23.ahk) をバージョンアップしました。本記事は、2025/1/1 リリースのバージョン 1.3.0 で追加された機能に関する情報です。

システム全体の説明やインストール方法については、「バージョン 1.1.0 の記事」を参照してください。

バージョン 1.3.0 で追加された機能

変換バッファの先頭にある余計な文字を取り除いて変換する機能

機能名が長いですが、変換バッファの先頭に余計な文字が入っていて長々と入力したのにまったく変換されてなかった、という悲しみから解放されます。

入力欄がうっかりこうなってしまったときでも、

8sarkwsdm3

変換の邪魔をしている先頭の「8」を取り除いて、こう

桜川貞光

一発変換です (sar=桜、kw=川、sd=貞、m3=光 です)。

邪魔な文字を取り除く方法は 3 とおり。既定で次のホットキーに割り当てています (変更可能です)。

  • !d : 先頭の 1 文字を「削除」して残りのバッファを変換。

  • !s : 先頭の 1 文字をバッファから「追い出し」て残りのバッファを変換。追い出した文字はそのまま確定済となります。

  • !e : 1 文字目からバッファ内の最初の英子文字の手前までを追い出して変換。こちらも、追い出した文字はそのまま確定済となります。

本システム本来の用途の名前入力では (そもそも入力文字数が少ないので) あまり使いどころのなさそうな本機能ですが、住所入力では力を発揮します。
たとえば「c1=丁目、c2=番、c3=号」のように単語登録をしているときに、「1丁目2番3号」のような入力は結構めんどいです。

1(確定)c12(確定)c23(確定)c3

のような入力になると思いますが、絶対に IME 使った方が早そう (速そう) です。本機能を使うと次のように 続けて 入力できます。

1c12c23c3

(この時点ですでにめんどくさいんですがそれは辞書登録の問題です) この状態で「!s」を 3 回押すと、

1丁目2番3号

ができあがります。

ここで使用したのは「追い出し」型の変換です。バッファ先頭の 1 文字=「1」を追い出して (確定済みにして) 残りのバッファを変換処理に送り、この時点で先頭にある 「c1」を「丁目」に変換します。変換できなかった残りの部分 (2c23c3) はバッファに残りますので、この操作をあと 2 回繰り返せば「2番3号」の部分も無事変換できます。

「削除」型は先頭の 1 文字をバッファだけでなく、入力欄からも削除します。したがって、上の例でこのタイプを使うと、

丁目番号

のように数字部分 (変換できない部分) を削除した状態に変換されます。
これらの機能は数字だけでなく、英文字も対象になりますので、気付いたらタイプミスで余計な文字が入っていた場合などにも使用できます。

残りの「1 文字目から最初の英小文字の手前まで」を追い出す (長い) タイプは、入力対象が

1024-A-2号棟

のようなケースで使うと、「1024-A-2」をまとめて追い出して、残りの「号棟」を変換できます。

一意に決まらない変換があった場合

不要な文字を取り除いた後のバッファは先頭から順に自動で変換され、変換不能な箇所が見つかればそこで停止します。バッファの途中に一意に決まらない読みの並びがあった場合は、最長一致の原則に従って 3 文字の読みが優先的に変換されます。入力時に再変換を予定していた場合、できあがりの変換は意図したとおりになりません。再変換が必要な位置がバッファの終わりであれば、バッファ内の文字列がすべて変換された後に通常どおり再変換機能を利用できます。


素直にタイプし直した方が早い場面も多いと思いますが、作業ページを開いて入力を開始する前に毎回必要なキー入力があって、それらのキーがバッファに入って困る (うっかりそのまま入力を続けてしまう) とか、例に示したような数字と漢字が混じった入力が多いとか、そんなケースに有効ではないかなと思います。

免責事項

当ソフトウェアの使用に関連して生じたいかなる損害、損失、またはトラブルについても、一切の責任を負いません。これには、データの損失、収益の損失、ビジネスの中断、およびその他の金銭的損失が含まれますが、これに限られません。


いいなと思ったら応援しよう!