Skip to content

deton/tsf-tutcode

Repository files navigation

tsf-tutcode ver. 0.9.3

Windowsで動作する漢字直接入力用のIMEです。

CorvusSKK に手を入れて以下の機能を追加しています。

  • 後置型部首合成変換
  • 後置型交ぜ書き変換/後置型かな漢字変換
  • 後置型カタカナ変換
  • 後置型漢字→入力シーケンス変換
  • 後置型入力シーケンス→漢字変換

モード無しで後置型変換を基本とするInputMethodにすることを目指しています。

インストール

対応OS

  • Windows 10 (32-bit / 64-bit)

    • バージョン 1607 (Anniversary Update) ビルド 14393 以降
  • Windows 11 (64-bit)

ダウンロード

リリース版

https://github.com/deton/tsf-tutcode/releases/latest から tsftutcode-X.Y.Z.exe をダウンロードしてください。(X, Y, Z はバージョン番号)

開発版

https://ci.appveyor.com/project/deton/tsf-tutcode/build/artifacts からtsftutcode-X.Y.Z.exe をダウンロードしてください。

インストール

tsftutcode-X.Y.Z.exe を実行してください。 (X, Y, Z はバージョン番号)

アップデートの後はOSを再起動しておくと安全です。

インストール先

  • 32bit 版 Windows

    • %SystemRoot%\System32\IME\IMTSFTUTCODE
  • 64bit 版 Windows

    • %SystemRoot%\System32\IME\IMTSFTUTCODE
    • %SystemRoot%\SysWOW64\IME\IMTSFTUTCODE
  • 共通

    • %SystemRoot%\IME\IMTSFTUTCODE

アンインストール

コントロールパネルの「プログラムと機能」からアンインストールしてください。

または、インストールに使用した exe ファイルを再度実行し「Uninstall」を選択してください。

アンインストールの後はOSを再起動しておくと安全です。

Windows ストアアプリ、Microsoft Edge

Windows ストアアプリ、Microsoft Edge 等で使用するには、設定ファイル (config.xml) にアクセス許可を付加させる必要があります。

Windows 8 以降で動作する設定ダイアログでOKボタンを押して保存をおこなうとアクセス許可の付加が自動的におこなわれます。

また、Windows 8 より前から Windows 8 以降へ Windows をアップグレードしたときは、tsf-tutcode を一旦アンインストールした上でインストールし直してください。

インストール時に、Windows ストアアプリ、Microsoft Edge 等で使用可能となるようにIMEの登録がおこなわれます。

Adobe Reader X, XI, Acrobat Reader DC

Adobe Reader X 以降で使用するには、設定ファイル (config.xml) にアクセス許可を付加させる必要があります。

設定ダイアログでOKボタンを押して保存をおこなうとアクセス許可の付加が自動的におこなわれます。

後置型変換

後置型変換では、カーソル直前の文字列を取得して、変換後文字列に置換します。

文字列取得や削除にはTSF(Text Services Framework)を使用します。

TSFに対応していないアプリの場合は、文字列取得にIMR_DOCUMENTFEEDを、文字列削除にVK_BACK送り付けを使います。

IMR_DOCUMENTFEEDにも対応していないアプリの場合は、tsf-tutcode内部の入力済文字列バッファから文字列を取得します (カーソルを移動すると不整合が生じます)。

後置型部首合成変換

2文字を合成してできる漢字に置換。

例)「木刀」の後ろでald(Bushu機能に割り当てたシーケンス)→「梁」

部首合成変換ユーザー辞書があればそれを優先して検索します。

後置型交ぜ書き変換

指定した文字数を読みとして取得し、交ぜ書き変換を開始。

例)「急きょ」の後ろでm3(Maze3機能に割り当てたシーケンス)→「▼急遽」

例)「国」の後ろでm1(Maze1機能)→「▼圀」確定後
    「圀」の後ろでm1(Maze1機能)→「▼國」確定後
    「國」の後ろでm1(Maze1機能)→「▼国」

文字数指定無しで開始した場合(Maze0機能)は、取得できた文字列を縮めながら変換を試みていきます。(交ぜ書き変換辞書の読みと一致する最長の文字列を使用)

後置型交ぜ書き変換(活用する語)

指定した文字数を読みとして取得し、読みに―を追加して活用する語として交ぜ書き変換を開始。

例)  「あお」の後ろでn2(MazeK2機能。「あお―」で検索)→「▼仰」
参考)「あお」の後ろでm2(Maze2機能)→「▼青」

後置型交ぜ書き変換における、読み/語幹の伸縮

後置型交ぜ書き変換候補表示中は、<>キー(またはキー設定で左移動と右移動に設定したキー)により、読み/語幹(活用語尾以外の部分)の伸縮が可能です(ただし、読み文字数を指定した場合、伸ばせるのは指定した文字数まで)。

活用する語に関しては、語幹が長いものを優先して変換します。 (なお、不要な候補が表示されないように、活用する語の語尾は最大4文字までとしています)

例)「あおい」`>`「おい」`>`「い」
	さらに縮めると活用する語として変換
	`>`「あおい―」`>`「あお―」`>`「おい―」`>`「あ―」`>`「お―」`>`「い―」`

後置型カタカナ変換

指定した文字数をカタカナに置換

例)「あぷり」の後ろでk3(Kata3機能に割り当てたシーケンス)→「アプリ」

連続するひらがなをカタカナに置換

例)「一部そーす」の後ろでk0(Kata0機能に割り当てたシーケンス)→「一部ソース」

指定した文字数をひらがなとして残してカタカナに置換

例)「一部のそーす」の後ろでj1(Kata-1機能に割り当てたシーケンス)→「一部のソース」

直前の後置型カタカナ変換を縮める

例)「例えばあぷりけーしょん」k0(Kata0機能:ひらがなが続く間カタカナに変換)
  →「例エバアプリケーション」l2(Kata>2機能:2文字縮める)
  →「例えばアプリケーション」

カタカナを伸ばす

例)「例えばあぷりけーしょん」k7(Kata7機能)
  →「例えばあプリケーション」h1(Kata<1機能:1文字伸ばす)
  →「例えばアプリケーション」

後置型漢字→入力シーケンス変換

指定した文字数を入力シーケンスに置換。

よく使う英単語をモード切り替えせずに打鍵して、置換をかけて英字にする用途。

なお、前後の空白は区切りを示す文字とみなして除去します。

改行/タブ/空白までの文字列を取得し、入力シーケンスに置換

例)「また ミ急駅―」の後ろで;0(KtoS0機能に割り当てたシーケンス)→「またWindows」

指定した文字数を入力シーケンスに置換

例)「場st談 」の後ろで;5(KtoS5機能に割り当てたシーケンス)→「system」

後置型入力シーケンス→漢字変換

IMオフ状態で打鍵してしまった文字列を、後から日本語に置換する用途で使用。

連続する英字

連続する英字(入力シーケンスで使われる文字)を入力シーケンスとして取得し、そのシーケンスを打鍵した場合に入力される文字列に置換

例)「rkt4gi」の後ろでz0(StoK0機能に割り当てたシーケンス)→「あぷり」

指定した文字数を漢字に置換

ファイル

設定ファイル

設定ファイルは、ディレクトリ %APPDATA%\tsf-tutcode に保存されます。

ファイル名 説明
config.xml 各種設定

UTF-8 の XML フォーマットのテキストファイルとなっています。

設定ダイアログで OK ボタンまたは適用ボタンを押すと config.xml ファイルが保存されます。

テキストエディタなどでも編集可能です。変更した後は、IME OFF → ON で新しい設定が反映されます。

下記のディレクトリの優先順位で各ファイルが読み込まれます。

  1. %APPDATA%\tsf-tutcode
  2. %SystemRoot%\IME\IMTSFTUTCODE (インストーラーによりインストール済み)

開発者向け

デバッグビルドでは、ディレクトリ %APPDATA%\tsf-tutcode_DEBUG に保存されます。

デバッグビルドでは、下記のディレクトリの優先順位で各ファイルが読み込まれます。

  1. %APPDATA%\tsf-tutcode_DEBUG
  2. 実行ファイルと同じディレクトリ (ビルドするとディレクトリ installer\config-share から上書きコピーされます)

SKK辞書ファイル

後述のSKK辞書の項も合わせて参照してください。

取込済SKK辞書は、ディレクトリ %APPDATA%\tsf-tutcode に保存されます。

ファイル名 説明
skkdict.txt 取込済SKK辞書

UTF-16 (LE, BOMあり) のSKK辞書フォーマットとなっています。

設定ダイアログのリストにSKK辞書を追加して取込ボタンを押すと取込済SKK辞書に変換されます。

ディレクトリ %SystemRoot%\IME\IMTSFTUTCODE に 漢直Winの kwmaze.dic をベースとした簡易的な交ぜ書き辞書が標準でインストール済みとなっています。取込済SKK辞書が存在しないときはこのSKK辞書が使用されます。

SKK辞書サーバーを使用するなどでローカルのSKK辞書を使用したくないときは、設定ダイアログのSKK辞書のリストが空またはチェック無しの状態で取込処理をおこなってください。空の取込済SKK辞書が生成されます。

下記のディレクトリの優先順位で各ファイルが読み込まれます。

  1. %APPDATA%\tsf-tutcode
  2. %SystemRoot%\IME\IMTSFTUTCODE (インストーラーによりインストール済み)

開発者向け

デバッグビルドでは、ディレクトリ %APPDATA%\tsf-tutcode_DEBUG の各ファイルに保存されます。

デバッグビルドでは、下記のディレクトリの優先順位で各ファイルが読み込まれます。

  1. %APPDATA%\tsf-tutcode_DEBUG
  2. 実行ファイルと同じディレクトリ (ビルドするとディレクトリ installer\config-share から上書きコピーされます)

ユーザー辞書ファイル

後述のユーザー辞書の項も合わせて参照してください。

ユーザー辞書は、ディレクトリ %APPDATA%\tsf-tutcode の各ファイルに保存されます。

ファイル名 説明
userdict.txt ユーザー辞書

ユーザー辞書バックアップは、任意のディレクトリの各ファイルに保存されます。

デフォルトは %APPDATA%\tsf-tutcode で、設定ダイアログの「辞書2」タブのユーザー辞書バックアップディレクトリで設定可能です。

ファイル名 説明
userdict.txt.YYYYMMDDThhmmssZ.bak ユーザー辞書バックアップ (最大255世代まで)
YYYYMMDDThhmmssZ : バックアップされた日時 ISO8601 (UTC)

UTF-16 (LE, BOMあり) のSKKユーザー辞書フォーマットで書き込まれます。

ユーザー辞書を直接編集する際は、ログオンユーザー権限で動作している辞書管理プロセス (imtutmgr.exe) を終了させた状態でおこなってください。

  • 設定ダイアログの「辞書2」タブの「辞書管理プロセス」で「終了」ボタンを押す。
  • タスクマネージャで 「tsf-tutcode Dictionary Manager」 (imtutmgr.exe) を終了する。
  • コマンドプロンプトなどで「taskkill /im imtutmgr.exe」などと実行する。

編集後、以下のいずれかの操作をおこなうと辞書管理プロセスが自動的に起動します。

  • 設定ダイアログの「辞書2」タブの「辞書管理プロセス」で「実行」ボタンを押す。
  • IME OFF → ON
  • 仮名漢字変換開始
  • 補完開始

辞書管理プロセス (imtutmgr.exe) を直接実行することも可能です。

ユーザー辞書は、辞書管理プロセスの起動時にメモリ上に読み込まれ、候補の確定、登録、削除があったとき、かつ、以下のいずれかのときに上書きされます。

  • IME ON → OFF のとき
  • IME ON 状態のアプリケーションが終了するとき
  • IME ON 状態で別の IME に切り替えるとき
  • アプリケーションがフォーカスを失うとき
  • 辞書管理プロセスが終了するとき
  • スリープ、休止状態から復帰したとき
  • 設定ダイアログの「辞書2」タブの「ユーザー辞書バックアップ」で手動バックアップを実行したとき

ユーザー辞書バックアップは辞書管理プロセスによって以下のいずれかのときに作成されます。

  • ログオフ、シャットダウン、再起動するとき
  • スリープ、休止状態から復帰したとき
  • 設定ダイアログの「辞書2」タブの「ユーザー辞書バックアップ」で手動バックアップを実行したとき

入力モード

入力モードアイコン

ノーマルモード プライベートモード 説明
IME OFF
ひらがなモード
カタカナモード
半角カタカナモード
全角英数字モード
ASCIIモード

通知領域の入力モードアイコンを左クリックすると、IME ON/OFF を切り替えます。

メニュー

有効な項目にはチェックが入ります。

言語バーから表示 通知領域から表示
言語バーの入力モードアイコンを左クリック 通知領域の入力モードアイコンを右クリック
メニュー項目 説明
CAPS Caps Lock をトグルします。
KANA カナキーロックをトグルします。
Private プライベートモードをトグルします。
[かな] ひらがなモードに遷移します。
[カナ] カタカナモードに遷移します。
[-カナ] 半角カタカナモードに遷移します。
[全英] 全角英数字モードに遷移します。
[SKK] ASCIIモードに遷移します。
[--] IME OFF
設定 設定ダイアログを表示します。
キャンセル メニューを閉じます。

デフォルトキー設定と入力モード遷移図

半角カタカナモード

半角カタカナモードでは、ローマ字仮名変換のみ可能です。

ひらがな/カタカナへの変換、仮名漢字変換は出来ません。

プライベートモード

プライベートモードでは、通常の仮名漢字変換は可能ですが、ユーザー辞書の更新と削除をおこないません。

また、辞書登録ウィンドウでの入力による確定も可能ですが、ユーザー辞書に登録されません。

後述のユーザー辞書の項を参照してください。

設定

設定ダイアログ

設定ダイアログは、以下のいずれかの操作で開くことができます。

  • 言語バーを右クリックし、メニューから「設定」を選択する。「テキストサービスと入力言語」ダイアログの「インストールされているサービス」からtsf-tutcodeを選択し、プロパティボタンを押す。
  • 言語バーの入力モードアイコンを左クリックし、メニューから「設定」を選択する。
  • 言語バーのヘルプボタンを左クリックし、メニューから「tsf-tutcode」を選択する。
  • Windows 8 以降の通知領域の入力モードアイコンを右クリックし、メニューから「設定」を選択する。
  • スタートメニューから tsf-tutcode\CONFIG を実行する。
  • %SystemRoot%\System32\IME\IMTSFTUTCODE\imtutcnf.exe または %SystemRoot%\SysWOW64\IME\IMTSFTUTCODE\imtutcnf.exe を直接実行する
    • コマンドライン引数、または実行ファイルやショートカットへのドラッグアンドドロップで、後述の設定ファイルを渡すことが可能です。

設定ダイアログで保存した後は、IME OFF → ON で新しい設定が反映されます。

IME ON/OFF のキーのみ、IME ON → OFF のときにも反映されます。

仮想キーコード

仮想キーコードの詳細はこちらを参照してください。 https://learn.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes

設定ダイアログのタブ「辞書2」「キー0」「キー2」のそれぞれ右上にある「仮想キーテスト」エディットボックスにフォーカスがある状態でキー入力すると仮想キーコードを表示します。

部首合成変換ユーザー辞書

部首合成変換ユーザー辞書は、ディレクトリ %AppData%\tsf-tutcode に bushudict.txt という名前で置いてください。 tsf-tutcodeは、部首合成変換ユーザー辞書を読み込むだけで書き込みはしません。

部首合成変換ユーザ辞書のサンプル:

部首合成変換ユーザー辞書を変更した場合は、辞書管理プロセス (imtutmgr.exe) をタスクマネージャなどで終了させてください。

部首合成変換ユーザー辞書の形式は、tc2のbushu.helpと同じです。 以下の例の場合、AB、EF、FEで「漢」が合成されます。 *は、逆順でも合成可能なことを示します。

漢AB EF*

別の漢字に対してもABが指定されている場合、ファイルの後の行にあるものを使います。

SKK辞書

SKK辞書の詳細はこちらを参照してください。

こちらから辞書をダウンロード出来ます。

SKK辞書ファイルの文字コードは、EUC-JIS-2004、EUC-JP、UTF-8 (BOMなし/あり)、UTF-16 (LE, BOMあり) に対応しています。

EUC-JP は、ASCII、JIS X 0208、JIS X 0201 片仮名、JIS X 0212 を実装する、いわゆる IANA の EUC-JP となっています。

アーカイブファイルフォーマットは tar、gzip に対応しています。

  • 対応する拡張子は、 .gz、.tar、.tar.gz、.tgz です。

  • 拡張子が .tar、.tar.gz、.tgz の場合、拡張子を除いたアーカイブファイル名をファイル名の末尾に含むファイルが対象となります。(ただしドットファイルは対象外)

    • zipcode.tar.gz の場合、SKK-JISYO.zipcode や SKK-JISYO.office.zipcode などが対象となり、SKK-JISYO.zipcode.orig や SKK-JISYO.office.zipcode.orig、.zipcode などは対象外となります。

    • SKK-JISYO.edict.tar.gz の場合、SKK-JISYO.edict などが対象となります。

設定ダイアログのリストに交ぜ書き変換辞書を追加し、取込ボタンを押してください。取込済SKK辞書に変換されて使用可能となります。

チェックボックスを外すと取込の対象外となります。

リストの選択されている行をクリックするとインライン編集することができます。

漢直Win等のkwmaze.dicを取込むには、文字コードをUTF-8等に変換してください。

SKK辞書のURLを追加した場合は、取込処理のときにディレクトリ %TMP%\tsf-tutcode または %TEMP%\tsf-tutcode にダウンロードされてから取り込まれます。

SKK辞書のダウンロード機能では HTTP, HTTPS が使用可能です。プロキシはOSに設定されたものが使用されます。

SKK辞書サーバー

別途用意されたSKK辞書サーバーと通信して、skkservプロトコルのクライアントとして辞書検索をおこないます。

同時に1つのみ使用可能です。IPv4、IPv6 に対応しています。

通信に使用する文字コードは、EUC-JIS-2004 / EUC-JP、UTF-8 に対応しています。

通常のSKK辞書サーバーではデフォルトの EUC-JIS-2004 / EUC-JP を使用してください。

サーバーコンプリーション機能は未実装です。

ユーザー辞書

機能 説明
辞書管理プロセス 辞書管理プロセスを終了または開始します。
ユーザーディレクトリ ディレクトリ %APPDATA%\tsf-tutcode をシェルで開きます。
システムディレクトリ ディレクトリ %SystemRoot%\IME\IMTSFTUTCODE をシェルで開きます。
ユーザー辞書バックアップ ユーザー辞書バックアップのディレクトリと世代数を指定します。
また、そのディレクトリをシェルで開きます。
手動でバックアップを実行します。
プライベートモード プライベートモードの任意切替のキーと自動切替を指定します。

ユーザー辞書バックアップ

  • ディレクトリの指定には環境変数を使用することが可能です。
  • 存在しないディレクトリを指定した場合すぐにはシェルで開けません。 すぐに開くには、適用ボタンを押して設定を保存した後、辞書管理プロセスを終了→実行し、手動バックアップを実行してください。 辞書管理プロセスがバックアップファイルを作成するときにディレクトリも作成します。
  • ディレクトリをWindowsネットワークの共有フォルダーにした場合、ログオフ/シャットダウン/再起動するときや、スリープ/休止状態から復帰したときに正常に保存されない可能性があります。
  • 手動バックアップを実行できる条件
    • 辞書管理プロセスが実行中。
    • ユーザー辞書バックアップのディレクトリと世代数が未編集、または編集した後に適用して保存済み。

プライベートモード

  • 任意切替のデフォルトのキーは、Ctrl + Shift + F10 です。
  • 自動切替をONに設定すると、Edge の InPrivate ウィンドウ, Chrome のシークレットウィンドウ, Firefox のプライベートウィンドウなどで自動的にプライベートモードに切り替えられます。InputScope が IS_PRIVATE に設定されている入力が対象です。
  • 自動切替をOFFに設定すると、InputScope が IS_PRIVATE に設定されている入力でも自動的にプライベートモードになりません。

「仮想キーテスト」エディットボックスにフォーカスがある状態でキー入力すると仮想キーコードを表示します。

動作

機能 説明
初期入力モード プログラム起動時の入力モードを指定します。
送り仮名が決定したとき変換を開始する 送り仮名を入力したとき自動的に変換を開始します。接頭辞も同様です。
送り仮名が一致した候補を優先する 送り仮名ブロックの送り仮名が一致する候補を優先して出力します。
送り仮名で撥音を送り出す 送り仮名入力開始後の変換位置指定を含む「な/にゃ」行の入力で「ん」を送り出します。
例) ON:「NoNO」→「▽の*んお」/ OFF:「NoNO」→「▽の*の」
送りあり変換で送りなし候補も検索する 送りあり変換のとき送りありの候補に加え送りなしの候補も検索します。
デフォルトでサ行の活用のみ
init.luaのenable_skk_search_sagyo_onlyがfalseのとき全ての活用
取消のとき変換位置を削除する ▼モードから▽モードに遷移する際、送り仮名の位置情報を削除します。
取消のとき送り仮名を削除する ▼モードから▽モードに遷移する際、送り仮名の部分を削除します。
後退に確定を含める ▼モードのとき後退すると一文字削除した上で確定します。
OFFでは▼モードのとき後退は前候補と同じ機能を有します。
候補に片仮名変換を追加する 見出し語を片仮名に変換した候補を追加します。
かな/カナ入力モードをトグルする キー設定「かな/カナ」「カナ全英変換」のキーでひらがなモードに遷移します。
無効のときは、キー設定「ひらがな」のキーでひらがなモードに遷移してください。
キー設定「直接入力」を確定入力で使用する 確定入力のとき、キー設定の「直接入力」で設定された文字で始まるローマ字を仮名変換しません。
(ひらがな/カタカナ/半角カタカナモードのとき)
交ぜ書き変換の学習から除外する候補数(-1は学習無し) 先頭数個の候補順を変えない使い方ができるように

機能 説明
複数補完/複数動的補完の表示数 複数補完、複数動的補完での1ページあたりの候補数を指定します。
複数補完を使用する 通常の補完のとき、ユーザー辞書から補完された見出し語を一覧で表示します。
補完対象は「候補一覧の色」の「選択」、補完部分は「候補」の色が使用されます。
動的補完を使用する 見出し語が入力されたとき、ユーザー辞書から補完された見出し語を表示します。
複数動的補完を使用する 見出し語が入力されたとき、ユーザー辞書から補完された見出し語を一覧で表示します。
補完対象は「候補一覧の色」の「選択」、補完部分は「候補」の色が使用されます。
補完された見出し語の候補を表示する 補完/複数補完/動的補完/複数動的補完のとき、ユーザー辞書の検索結果を追加して表示します。
表示する候補の数は最大で「候補一覧表示に要する変換回数」-1 です。
補完/動的補完では「▽表示属性」の「*送り」の色が使用されます。
複数補完/複数動的補完では「候補一覧の色」の「注釈」の色が使用されます。
前方一致と後方一致で補完する 通常の前方一致での補完に加えて後方一致でも補完します。

表示

機能 説明
候補一覧のフォント 候補一覧に表示するフォントの種類、スタイル、サイズを指定します。
候補一覧の最大幅 候補一覧の最大幅のサイズを指定します。
候補一覧の色 候補一覧の色を指定します。
候補一覧の描画API 候補一覧の描画をおこなうAPIを指定します。
Direct2Dと彩色の指定でカラーフォントを表示します。(Windows8.1以降)
候補一覧表示に要する変換回数(0は表示無し) 指定した回数変換すると候補一覧が表示されます。
候補一覧表示のページ当たり表示数 一度に表示される候補の数を指定します。
候補一覧が表示無しのとき候補数を表示する (<現在の候補の番号>/<候補数>) の形式を追加して表示します。
候補一覧を縦に表示する 候補一覧で候補を縦に並べて表示します。
注釈を表示する <候補><セミコロン><注釈> の形式で注釈を表示します。
「候補一覧」の指定で候補一覧に限定されます。
▽▼*マークを表示する 大切なものは目に見えないようです。
ローマ字を表示する 仮名文字のローマ字プレフィックスを表示します。
「全英」の指定でいわゆる全角文字で表示されます。
入力途中のキーシーケンスを表示する 有効にすると、一部アプリで後置型変換動作に問題が生じます。

機能 説明
入力モードを表示する キャレットまたは辞書登録ウィンドウ付近に入力モードを表示します。
タイミングは、IME ON/OFF 変更、入力モード変更、IME ON/OFF キー押下、「*無効*」キー押下のときです。
表示する秒数として1〜60000ミリ秒を設定してください。デフォルト値は3000ミリ秒です。
入力モードの色 入力モード表示の色を指定します。
入力途中に仮想鍵盤を表示する 仮想鍵盤には、次にどのキーを押すとどの文字が入力されるかが表示されます
鍵盤レイアウト 仮想鍵盤上に表示する各文字の位置に対応するキーボードレイアウト
右手と左手ブロックの間は縦罫線│を想定しています。
行の区切りは\n
キーシーケンス内の各文字が指定された位置にあるとみなしてレイアウトします。
デフォルト値:12345│67890\nqwert│yuiop\nasdfg│hjkl;\nzxcvb│nm,./
初期表示内容 何もキーが入力されていない時に表示する仮想鍵盤の内容。
右手と左手ブロックの間は縦罫線│を想定しています。
行の区切りは\n
TUT-Codeの例:      │     \nやまかあは│歳度校銀転\nわさたなら│化下回歴係\n若記委入実│論値路装働
打鍵ヘルプ表示タイミング 打鍵ヘルプをいつ表示するか
打鍵ヘルプ表示方法 外部の漢索窓ツール、ドット表、漢字表から選択

表示属性

入力中文字列の表示属性を設定します。

「連続」のチェックボックスをチェックすると、表の左側の表示属性を継承し、下線は繋って表示されます。

確定入力モードでのローマ字は連続のチェックの有無に関わらず見出し語と同じ表示属性となります。

候補一覧選択キー

候補一覧に表示する文字とキーを設定します。数字、表示、予備1,2 のいずれかの入力で選択された候補が確定されます。

「表示」にはUnicodeの基本多言語面と追加面の文字が使用可能です。追加面の文字の場合は、その文字で候補を確定することはできません。

「予備1」「予備2」にはUnicodeの基本多言語面の文字のみ使用可能です。

表示1の「候補一覧表示のページ当たり表示数」の設定によって一度に表示される数が決められます。

レガシータイプのコマンドプロンプト等の自前で候補を表示するアプリケーションでは、アプリケーション側が要求した数に従います。

候補一覧が表示されているとき、KANAキーロックは無視されます。

機能 説明
数字 選択キー (1〜9で固定)
表示 選択キー (必須、候補一覧の表示にも使用)
予備1,2 選択キー (空でも可)

フォントによっては固定幅を持つ以下の文字が表示としては見易いようです。

名称 範囲 文字 備考
PARENTHESIZED
LATIN SMALL LETTER
U+249C
~U+24B5
⒜⒝⒞⒟⒠⒡⒢⒣⒤⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵
CIRCLED
LATIN CAPITAL LETTER
U+24B6
~U+24CF
ⒶⒷⒸⒹⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉⓊⓋⓌⓍⓎⓏ Mは地下鉄の絵文字?
CIRCLED
LATIN SMALL LETTER
U+24D0
~U+24E9
ⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙⓚⓛⓜⓝⓞⓟⓠⓡⓢⓣⓤⓥⓦⓧⓨⓩ JIS X 0213
1-12-33~1-12-58
FULLWIDTH
LATIN CAPITAL LETTER
U+FF21
~U+FF3A
ABCDEFGHIJKLMNOPQRSTUVWXYZ JIS X 0208
3-33~3-58
FULLWIDTH
LATIN SMALL LETTER
U+FF41
~U+FF5A
abcdefghijklmnopqrstuvwxyz JIS X 0208
3-65~3-90
PARENTHESIZED
LATIN CAPITAL LETTER
U+1F110
~U+1F129
🄐🄑🄒🄓🄔🄕🄖🄗🄘🄙🄚🄛🄜🄝🄞🄟🄠🄡🄢🄣🄤🄥🄦🄧🄨🄩
SQUARED
LATIN CAPITAL LETTER
U+1F130
~U+1F149
🄰🄱🄲🄳🄴🄵🄶🄷🄸🄹🄺🄻🄼🄽🄾🄿🅀🅁🅂🅃🅄🅅🅆🅇🅈🅉
NEGATIVE CIRCLED
LATIN CAPITAL LETTER
U+1F150
~U+1F169
🅐🅑🅒🅓🅔🅕🅖🅗🅘🅙🅚🅛🅜🅝🅞🅟🅠🅡🅢🅣🅤🅥🅦🅧🅨🅩
NEGATIVE SQUARED
LATIN CAPITAL LETTER
U+1F170
~U+1F189
🅰🅱🅲🅳🅴🅵🅶🅷🅸🅹🅺🅻🅼🅽🅾🅿🆀🆁🆂🆃🆄🆅🆆🆇🆈🆉 ABOは血液型の絵文字
Pは駐車場の絵文字

キー設定(ON/OFF)

IME ON/OFF のキーをそれぞれ指定します。

仮想キーコード、Alt、Control、Shift の組合せを設定してください。

最大で ON/OFF それぞれ8行ずつです。

例) Ctrl+,(0xbc)でON、Ctrl+.(0xbe)でOFF。

IME ONにCtrlとの組合せを使う場合は、Windows側の設定で、キーボードレイアウトの切り替えのショートカットをCtrl+Shiftにしない方が良いです。 IME OFFにして大文字入力直後にIME ONにしようとした時に、意図せずにCtrl+Shiftを押してしまうことがあるので。

「仮想キーテスト」エディットボックスにフォーカスがある状態でキー入力すると仮想キーコードを表示します。

キー設定(文字)、キー設定(仮想キー)

各機能に対してキーを正規表現で設定してください。

Visual C++ 2022 の 正規表現で、文法は ECMAScript を使用しています。

正規表現の詳細はこちらを参照してください。 https://learn.microsoft.com/en-us/cpp/standard-library/regular-expressions-cpp?view=msvc-170

無効な正規表現で設定するとその機能は無効となります。警告等は表示されません。

キー設定(文字)とキー設定(仮想キー)とで重複する場合は、キー設定(仮想キー)のほうが優先されます。

キー設定(文字)には ASCII の範囲内の文字を設定出来ます。

キー設定(仮想キー)にはShiftキー(S)またはCtrlキー(C)をキーコードに前置することで、修飾キーを設定出来ます。

例えば、Shift+Tabであれば「S\x09」、Ctrl+Returnであれば「C\x0D」と記述します。

「仮想キーテスト」エディットボックスにフォーカスがある状態でキー入力すると仮想キーコードを表示します。

キー設定デフォルト

キー設定 ON/OFF

ON OFF キー 仮想キーコード
Alt + ` 0xC0 + Alt
漢字
Alt + 半角/全角
Alt + `
0x19
半角/全角
Ctrl + `
0xF3, 0xF4
IME On 0x16
IME Off 0x1A

キー設定(文字)

機能 キー 説明
かな/カナ ひらがな/カタカナモード、かなカナ変換
カナ全英変換 ひらがな/半角カタカナモード
ひらがなカタカナ→半角カタカナ変換
abbrev→全角英数字変換
全英 全英モード
ASCII アスキーモード
ひらがな ひらがなモード
abbrev abbrevモード
接辞 接頭辞・接尾辞
次候補 Space
Ctrl + n
辞書検索開始、次候補
前候補 Ctrl + p 「後退」のキーも使用可
辞書削除 Ctrl + x ユーザー辞書から候補を削除
次補完 Ctrl + i (Tab) 補完開始、次見出し語候補
前補完 Ctrl + u 前見出し語候補
補完と変換 Ctrl + c 最初の見出し語候補で辞書検索開始
skk-start-henkan-with-completion-char
絞り込み 候補を絞り込む見出し語の入力開始
skk-hint-start-char
変換位置 変換位置指定
2回連続入力で文字自体が確定する
skk-sticky-key
直接入力 見出し語入力でローマ字仮名変換しない
確定 Ctrl + m (Return)
Ctrl + j
取消 Ctrl + g
Ctrl + [ (Escape)
後退 Ctrl + h (BS)
削除 Ctrl + d
DEL (Ctrl + BS)
*無効* アプリケーション側に非通知
辞書登録/削除の確定無効
左移動 Ctrl + b
先頭移動 Ctrl + a
右移動 Ctrl + f
末尾移動 Ctrl + e
貼付 Ctrl + y Ctrl + v クリップボードの文字列を貼り付け
再変換 選択された文字列でユーザー辞書の送りなしエントリを
逆引きしてから通常の辞書検索
他IME切替 他IMEに切り替え
Vi Esc アスキーモードにするとともに指定キーをアプリにも渡す

キー設定(仮想キー)

機能 キー 説明
かな/カナ ひらがな/カタカナモード、かなカナ変換
カナ全英変換 ひらがな/半角カタカナモード
ひらがなカタカナ→半角カタカナ変換
abbrev→全角英数字変換
全英 全英モード
ASCII アスキーモード
ひらがな ひらがなモード
abbrev abbrevモード
接辞 接頭辞・接尾辞
次候補 0x22 (PgDn) 辞書検索開始、次候補
前候補 0x21 (PgUp) 「後退」のキーも使用可
辞書削除 ユーザー辞書から候補を削除
次補完 補完開始、次見出し語候補
前補完 Shift + 0x09 (Shift + Tab) 前見出し語候補
補完と変換 先頭の見出し語候補で辞書検索開始
skk-start-henkan-with-completion-char
絞り込み 候補を絞り込む見出し語の入力開始
skk-hint-start-char
変換位置 変換位置指定
skk-sticky-key
直接入力 見出し語入力でローマ字仮名変換しない
確定
取消
後退
削除 0x2E (Delete)
*無効* Ctrl + 0x4A (Ctrl + j) アプリケーション側に非通知
辞書登録/削除の確定無効
左移動 0x25 (カーソル左)
先頭移動 0x26 (カーソル上)
右移動 0x27 (カーソル右)
末尾移動 0x28 (カーソル下)
貼付 クリップボードの文字列を貼り付け
再変換 選択された文字列でユーザー辞書の送りなしエントリを
逆引きしてから通常の辞書検索
他IME切替 他IMEに切り替え
Vi Esc アスキーモードにするとともに指定キーをアプリにも渡す

ローマ字・仮名変換表

ローマ字、平仮名、片仮名、所謂半角片仮名、促音/撥音(ん)、待機の組み合せを指定します。

  • 「促/ん」

    • 「促/ん」がONのとき、仮名が決定したあとに最後の入力文字が入力状態となります。
  • 「待機」

  • 「機能」

    • 「機能」がONのとき、平仮名文字列(下表)に対応する機能を実行します。
平仮名文字列 機能
maze 前置型交ぜ書き変換の読み入力開始
vkbd 仮想鍵盤の表示・非表示をトグル
vkbd1 仮想鍵盤を表示
vkbd-1 仮想鍵盤を非表示
Bushu 後置型部首合成変換。2文字を部首合成後の漢字に置換
Help カーソル直前の文字の打鍵ヘルプ表示
Help1 カーソル直前の1文字の打鍵ヘルプ表示
Help2 カーソル直前の2文字の打鍵ヘルプ表示
...
Help9 カーソル直前の9文字の打鍵ヘルプ表示
Maze0 後置型交ぜ書き変換開始。最長一致
Maze1 後置型交ぜ書き変換開始。読み1文字
...
Maze9 後置型交ぜ書き変換開始。読み9文字
MazeK0 後置型交ぜ書き変換開始(活用する語。読みに―を追加)。最長一致
MazeK1 後置型交ぜ書き変換開始(活用する語。読みに―を追加)。読み1文字
...
MazeK9 後置型交ぜ書き変換開始(活用する語。読みに―を追加)。読み9文字
Mazek0 後置型交ぜ書き変換開始(読みを縮めた際に活用する語としての変換は試みない)。最長一致
Mazek1 後置型交ぜ書き変換開始(読みを縮めた際に活用する語としての変換は試みない)。読み1文字
...
Mazek9 後置型交ぜ書き変換開始(読みを縮めた際に活用する語としての変換は試みない)。読み9文字
KanaK 後置型かな漢字変換開始。連続するひらがなを対象に最長一致
KanaKK 後置型かな漢字変換開始(活用する語)。最長一致
KanaKk 後置型かな漢字変換開始(読みを縮めた際に活用する語としての変換は試みない)。最長一致
Kata0 後置型カタカナ変換。連続するひらがなをカタカナに置換
Kata1 後置型カタカナ変換。1文字をカタカナに置換
Kata2 後置型カタカナ変換。2文字をカタカナに置換
...
Kata9 後置型カタカナ変換。9文字をカタカナに置換
Kata-1 後置型カタカナ変換。連続するひらがなをカタカナ置換(1文字残す)
Kata-2 後置型カタカナ変換。連続するひらがなをカタカナ置換(2文字残す)
...
Kata-6 後置型カタカナ変換。連続するひらがなをカタカナ置換(6文字残す)
Kata>1 後置型カタカナ変換。直前のカタカナ変換を1文字縮める
Kata>2 後置型カタカナ変換。直前のカタカナ変換を2文字縮める
...
Kata>6 後置型カタカナ変換。直前のカタカナ変換を6文字縮める
Kata<0 後置型カタカナ変換。カタカナを伸ばす。連続するひらがな
Kata<-1 後置型カタカナ変換。カタカナを伸ばす。連続するひらがな(1文字残す)
Kata<1 後置型カタカナ変換。カタカナを1文字伸ばす
Kata<2 後置型カタカナ変換。カタカナを2文字伸ばす
...
Kata<6 後置型カタカナ変換。カタカナを6文字伸ばす
KtoS0 後置型漢字→入力シーケンス変換。改行/タブ/空白までを置換
KtoS1 後置型漢字→入力シーケンス変換。1文字を置換
KtoS2 後置型漢字→入力シーケンス変換。2文字を置換
...
KtoS9 後置型漢字→入力シーケンス変換。9文字を置換
StoK0 後置型入力シーケンス→漢字変換。連続する英字を置換
StoK1 後置型入力シーケンス→漢字変換。1文字を置換
StoK2 後置型入力シーケンス→漢字変換。2文字を置換
...
StoK9 後置型入力シーケンス→漢字変換。9文字を置換

平仮名/片仮名変換では基本的に1文字ずつ変換されます。

  • 例) 平仮名「きょう」を片仮名「キョウ」に変換する場合、「きょ」→「キョ」、「う」→「ウ」ではなく、「き」→「キ」、「ょ」→「ョ」、「う」→「ウ」と変換されます。
  • 例外として、「う゛」(う+濁点)は「ウ゛」(ウ+濁点)ではなく「ヴ」と変換されます。

最大で32768行です。

「…」ボタンから、KanaTableファイルの読み込みと書き出しをおこなうことができます。

KanaTableファイル

  • 文字コード:UTF-16(LE,BOMあり) または UTF-8
  • 改行:CR+LF または LF
  • フォーマット:<ローマ字><\t><ひらがな><\t><カタカナ><\t><カタカナ(半角)><\t><[促/ん]|[待機]|[機能]><\r><\n>
    • <ローマ字>、<ひらがな>、<カタカナ>、<カタカナ(半角)>は、それぞれUTF-16換算で最大14バイトです。
    • [促/ん]は、ONのとき1、OFFのとき0です。
    • [待機]は、ONのとき2、OFFのとき0です。
    • [機能]は、ONのとき4、OFFのとき0です。
    • <[促/ん]|[待機]|[機能]>は、[機能]がONのときは[促/ん]と[待機]は無視されます。[促/ん]と[待機]の両方がONのとき3となりますが、[待機]のほうが優先されます。 (0のときは無しでも可)
    • 空行やタブのみの行は読み飛ばされます。
    • <\t>、<\r>、<\n>は、それぞれタブ、改行コードに読み替えてください。
  • 例1)a<\t>あ<\t>ア<\t>ア<\r><\n>
  • 例2)nn<\t>ん<\t>ン<\t>ン<\t>0<\r><\n>
  • 例3)np<\t>ん<\t>ン<\t>ン<\t>1<\r><\n>
  • 例4)コ<\t>こ<\t>コ<\t>コ<\t>2<\r><\n>
  • 例5)ald<\t>Bushu<\t>-<\t>-<\t>4<\r><\n>
  • サンプルを参照してください。 https://github.com/nathancorvussolis/corvusskk/blob/master/installer/config-sample/kanatable.txt https://github.com/deton/tsf-tutcode/tree/master/installer/config-sample/

ASCII・全英変換表

ASCII、全英文字の組み合せを指定します。最大で128行です。

その他

打鍵ヘルプ表示

漢索窓などを使って、漢字入力シーケンスを表示する機能です。

設定ダイアログの「表示2」タブで設定できます。

表示タイミング

  • 「Help機能キー入力時」: HelpやHelp2等の機能に割り当てたシーケンス入力時に、カーソル直前の指定文字数の打鍵ヘルプを表示。
    • なお、文字列が選択されている時は、選択されている文字列を対象にします。 ただし、この場合は、「入力途中のキーシーケンスを表示する」設定はオフにしておいてください。 でないと、選択文字列が入力途中のキーシーケンスで上書きされます。
  • 「変換確定時も」: Help機能キー入力時に加えて、部首合成変換や交ぜ書き変換確定時にも、変換した漢字の打鍵ヘルプを表示。

表示されたドット表や漢字表ウィンドウを消すには、入力モードを切り替えてください。

表示方法

  • 「漢索窓」: 外部の漢索窓アプリに対象文字を送ります。漢索窓を起動しておいてください。 なお、漢索窓にヘルプ対象文字列を渡すため、クリップボードを使います。
  • 「ドット表」。
  • 「漢字表」: 記憶をリフレッシュできるように、似た打鍵で打てる文字も合わせて表示。入力シーケンス末尾が共通する文字の一覧表示。

表示方法がドット表や漢字表の場合、 キーボード配列は、仮想鍵盤の「鍵盤レイアウト」設定を使います。

表示方法がドット表や漢字表の場合、直接入力できない漢字に関して、部首合成変換方法があれば、bushu.help形式で表示します。

仮想鍵盤

仮想鍵盤は、次にどのキーを打ったら、どの文字が入力されるかを表示します。

設定ダイアログの「表示2」タブの「入力途中に仮想鍵盤を表示する」で有効化できます。 「鍵盤レイアウト」と「初期表示内容」を設定可能 (設定内容は表示タブの説明を参照)。

初期表示内容はデフォルトでは空です。 この場合は、何かキーを打つと仮想鍵盤が表示されます。

通常は仮想鍵盤を非表示にしておいて、一時的に表示・非表示を切り替えたい場合は、入力シーケンスにvkbd(表示をトグル),vkbd1(表示),vkbd-1(非表示)を 「機能」として割り当ててください。

Lua拡張

辞書管理プロセス (imtutmgr.exe) の各機能の拡張、プログラム実行変換もどき、数値変換をLuaスクリプトで実装しています。

現在使用しているLuaのバージョンは5.4.7です。

詳細はこちらを参照してください。https://www.lua.org/manual/5.4/manual.html

Lua内部の文字コードをUTF-8に決め打ちして、Unicode版のWindowsAPIとCランタイム関数を呼ぶようにパッチを当てています。

スクリプトファイルの文字コードはUTF-8のみに対応しています。

辞書管理プロセスのカレントディレクトリは %APPDATA%\tsf-tutcode になっています。

コンソールプログラムのlua.exeが %SystemRoot%\System32\IME\IMTSFTUTCODE と %SystemRoot%\SysWOW64\IME\IMTSFTUTCODE にあるので、カスタマイズする際のデバッグ用に使ってください。

辞書管理プロセスの起動時にスクリプトファイル (init.lua) が下記の優先順位で読み込まれます。

  1. %APPDATA%\tsf-tutcode\init.lua
  2. %SystemRoot%\IME\IMTSFTUTCODE\init.lua (インストーラーによりインストール済み)

開発者向け

デバッグビルドでは、辞書管理プロセスのカレントディレクトリは %APPDATA%\tsf-tutcode_DEBUG になっています。

デバッグビルドでは、下記の優先順位でスクリプトファイルが読み込まれます。

  1. %APPDATA%\tsf-tutcode_DEBUG\init.lua
  2. 実行ファイルと同じディレクトリのinit.lua (ビルドするとディレクトリ installer\config-lua から上書きコピーされます)

プログラム実行変換もどき

Emacs Lispのプログラム実行変換に対応していますが、あくまで「もどき」なのでご了承ください。

Emacs Lisp 辞書ファイル (SKK-JISYO.lisp) などが必要です。 https://github.com/skk-dev/dict/blob/master/SKK-JISYO.lisp

以下のシンボルに大体対応しています。

名称 説明
nil
t
lambda
concat
substring
make-string
string-to-char
string-to-number
number-to-string
window-width 80で固定
window-height 23で固定
current-time
current-time-string
format-time-string
car ほぼ skk-num-list 用
cdr ほぼ skk-num-list 用
1+
1-
+
-
skk-version
skk-server-version
skk-gadget-units-conversion
skk-ad-to-gengo
skk-gengo-to-ad
skk-current-date
skk-default-current-date
skk-relative-date
skk-ignore-dic-word デフォルト無効
skk-omikuji 独自実装。おみくじを引くことができます。『(skk-omikuji)』
skk-strftime 独自実装。日時書式出力『(skk-strftime format [unit diff])』
format : 以下のstrftime関数のリンク先を参照
unit : 単位 "year", "month", "day", "hour", "min", "sec"
diff : 現在とunitとの差分
fill-column 70で固定
comment-start "/*"
comment-end "*/"
skk-henkan-key 変換する見出し語
skk-num-list 変換する見出し語に含まれる数値文字列のリスト

skk-omikuji 辞書 https://github.com/nathancorvussolis/corvusskk/blob/master/installer/config-sample/skk-omikuji.txt

skk-strftime 辞書 https://github.com/nathancorvussolis/corvusskk/blob/master/installer/config-sample/skk-strftime.txt

strftime 関数 https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/strftime-wcsftime-strftime-l-wcsftime-l?view=msvc-170

数値変換

タイプ0,1,2,3,4,5,8,9に対応しています。

タイプ3と5での数値は0〜10^72-1の整数に対応しています。

独自実装としてタイプ6(ローマ数字)が、1〜3999の整数に対応しています。

見出し語として # (ナンバーサイン)を含み、候補として # と数字を含むエントリが辞書に存在する必要があります。(例:「めいじ#ねん /明治#3年/」)

候補 説明
#0 タイプ0 無変換 「1234567890」→「1234567890」
#1 タイプ1 全角 「1234567890」→「1234567890」
#2 タイプ2 漢数字 位取りあり 「1234567890」→「一二三四五六七八九〇」
#3 タイプ3 漢数字 位取りなし 「1234567890」→「十二億三千四百五十六万七千八百九十」
#4 タイプ4 数値再変換 「123」→見出し語「123」の候補1つ目
#5 タイプ5 大字 「1234567890」→「拾弐億参千四百五拾六万七千八百九拾」
#6 タイプ6 ローマ数字(独自) 「1234」→「MCCXXXIV」
#8 タイプ8 桁区切り 「1234567890」→「1,234,567,890」
#9 タイプ9 将棋 「12kin」→「1二金」

タイプ4には DDSKK と以下の相違があります。 辞書に以下のようなエントリがあり「p125」を見出し語として変換したとき、数値エントリの1つ目だけ使用されます。

;; 数値変換タイプ4辞書
;; okuri-ari entries.
;; okuri-nasi entries.
p# /#4/@#4/
125 /東京都葛飾区/葛飾区/
数値変換タイプ4変換結果
DDSKK /東京都葛飾区/葛飾区/@東京都葛飾区/@葛飾区/
本ソフト /東京都葛飾区/@東京都葛飾区/

Unicodeコードポイント変換

「U+XXXXXX」( コードポイント XXXXXX : 0000-FFFF または 10000-10FFFF ) または「uxxxxxx」( コードポイント xxxxxx : 0000-ffff または 10000-10ffff ) のフォーマットで変換してください。

  • 例1)「▽U+30A2」→「▼ア」
  • 例2)「▽u30a2」→「▼ア」

JIS X 0213面区点番号、JIS X 0208区点番号変換

JIS X 0213では「X-YY-ZZ」( 面 X : 1-2、 区 YY : 01-94、点 ZZ: 01-94 )、JIS X 0208では「YY-ZZ」( 区 YY : 01-94、点 ZZ: 01-94 ) のフォーマットで変換してください。Unicodeコードポイントが注釈として付加されます。

  • 例1)「▽1-05-02」→「▼ア;U+30A2」
  • 例2)「▽05-02」→「▼ア;U+30A2」

文字コード表記変換

「?X」( X : 任意の1文字以上の文字列 ) のフォーマットで変換してください。

ASCII(hex), JIS X 0201(片仮名, 8bit, hex), JIS X 0213面区点番号のカンマ区切りの候補およびUnicodeコードポイントのカンマ区切りの候補に変換されます。

ASCII, JIS X 0201, JIS X 0213に変換できない文字が含まれていた場合、Unicodeコードポイントの候補のみとなります。

  • 例1)「▽?ア」→「▼1-05-02」/「▼U+30A2」
  • 例2)「▽?あアアa」→「▼1-04-02,1-05-02,B1,61」/「▼U+3042,U+30A2,U+FF71,U+0061」
  • 例3)「▽?🐧」→「▼U+1F427」

注釈の登録

辞書登録のとき、登録する候補の入力と同時におこないます。

行頭以外の最後のセミコロン (いわゆる半角のセミコロン)以降が注釈となります。

注釈にセミコロンを含めることは出来ません。

  • 例1)登録する見出し語「しょへい#ねん」、登録する候補「初平#3年」、登録する注釈「後漢」の場合

    • 「初平#3年;後漢」と入力する。
  • 例2)登録する見出し語「なき」、登録する候補「(;_;)」、登録する注釈「顔文字」の場合

    • 「(;_;);顔文字」と入力する。
  • 例3)登録する見出し語「せみころん」、登録する候補「;」、登録する注釈「セミコロン」の場合

    • 「;;セミコロン」と入力する。

漢直Winよりもtsf-tutcodeを選ぶ状況

  • Windows 8のストアアプリに入力したい場合。漢直Winでは入力不可。
  • 後置型変換を多用する場合。 漢直Winの後置型変換は、以下の点で使い勝手があまり良くない場合あり。 tsf-tutcodeはTSFで表示中文字列を取得・置換(アプリが対応している必要あり)。
    • 内部バッファを対象とするので、表示中の文字列と不整合が生じることがあり、カーソル移動後に意図しない変換(余分な削除等)が行われることがある。
    • Backspace送り付けによる変換前文字列の削除において、遅延をある程度入れないと変換前文字列が残ることがあるが、遅延を入れすぎると待たされる。
  • cp932に無い文字を使いたい場合。 漢直Winは内部コードがcp932。 tsf-tutcodeはUnicode。 参考:KanchokuWSもUTF-8対応。

以上の状況があてはまらない場合は、漢直Winを選ぶ方が良いです。 tsf-tutcodeは未実装機能が多いため。 (ヘルプ表示、前置型部首合成、熟語ヘルプ、ヒストリ入力、強制練習モード等)

ソースに関して

  • CorvusSKKをベースに、以下の変更を加えています。
    • 追加
      • 後置型部首合成変換
      • 後置型交ぜ書き変換/後置型かな漢字変換
      • 後置型カタカナ変換
      • 後置型漢字→入力シーケンス変換
      • 後置型入力シーケンス→漢字変換
      • キーシーケンスに対する機能の割り当て: aljで交ぜ書き変換開始等
      • 仮想鍵盤表示
    • 変更
      • デフォルトで入力途中のキーシーケンスを表示しないように変更(tc2同様)。一部アプリで後置型変換が正しく動作しない現象を回避するため。CorvusSKKと同じ動作をする「入力途中のキーシーケンスを表示する」設定追加
  • Surrounding Text関係は、Mozcから一部ソースを取り込んでいます。
  • 部首合成変換は、漢直Winから一部ソースと部首合成変換辞書を取り込んでいます。 サンプルの部首合成変換ユーザー辞書bushudict.txtは、tc2に含まれるbushu34h.helpに、bushu34h.revのコメントアウトされている文字を追加してUTF-8に変換したものです。 交ぜ書き変換辞書mazedict.txtは、漢直Winのkwmaze.dicに対し76エントリを追加して漢字コードを変換して取込んだものです。

制限事項、既知の問題

  • 「入力途中のキーシーケンスを表示する」設定の場合、いくつかのアプリで後置型変換が正しく動作しない場合あり。 例)「てすと」k3(Kata3機能)→「てストk」
    • Internet ExplorerでのWebページ内のテキスト入力フィールド
    • Windows 8のストアアプリ
    • PowerPoint 2010の検索ダイアログ
  • 後置型入力シーケンス→漢字変換において、後置型カタカナ変換等のシーケンスには未対応。
  • 後置型カタカナ変換は、ローマ字・仮名変換表にかな・カナ対応の定義が必要: T-Codeの場合も、各ひらがな定義に、対応するカタカナ文字を入れておく必要があります。
  • 後置型変換がExcel2010だと正常に動作しない。特に文字列末尾以外の場合。 例)「てすと」の「と」の前でk2(Kata2機能)→「ストと」

開発環境

Visual Studio Community 2022 17.10.5

  • Desktop development with C++

  • Indivisual components

    • Compilers, build tools, and runtimes
      • MSVC v143 - VS 2022 C++ x64/x86 build tools (Latest)
    • SDKs, libraries, and frameworks
      • C++ ATL for latest v143 build tools (x86 & x64)
      • Windows 11 SDK (10.0.26100.0)

WiX Toolset v5.0.1

  • 要 .NET SDK 6 以降

  • ビルド用バッチファイル内の dotnet build コマンドによって暗黙的に復元

pandoc 3.3

ビルド手順

ビルド

> installer\_solution_build.cmd

> installer\_build.cmd

ビルド & 署名 & 検証

> installer\_solution_build.cmd

> installer\_sign.cmd <SHA-1> <URL>

    * <SHA-1> : SHA-1 thumbprint of certificate
    * <URL> : RFC-3161 timestamp server

> installer\_verify.cmd

デバッグビルド

> installer\_solution_build_debug.cmd

デバッグビルド IME の登録 (x86, x64)

> installer\_debug_reg.cmd

デバッグビルド IME の登録解除 (x86, x64)

> installer\_debug_unreg.cmd

クリーン

> installer\_solution_clean.cmd

> installer\_clean.cmd

履歴

v0.9.0 (2021-12-25)

  • 打鍵ヘルプ用ウィンドウを追加してドット表や漢字表で表示。 漢索窓なしでも打鍵ヘルプが確認できるように。部首合成変換ヘルプも表示。
  • ベースのCorvusSKKを3.1.2に更新。

v0.8.0 (2017-05-05)

  • 交ぜ書き変換の学習から除外する候補数を指定可能に(#16)。 tc2同様に、先頭数個の候補順を変えない使い方ができるようにするため。
  • 候補一覧表示中に、後置型交ぜ書き変換の読み伸縮ができないバグを修正 #15
  • 不一致シーケンスが後置型変換開始キーで確定された時に変換対象外になるバグ修正 #14
  • 設定ダイアログで「入力途中のキーシーケンスを表示する」チェックが効かないバグ修正
  • ベースのCorvusSKKを2.5.2に更新。

v0.7.0 (2017-04-05)

  • 後置型カタカナ変換で、カタカナを伸ばす機能(Kata<1等)
  • 後置型かな漢字変換(連続するひらがなを漢字に変換):KanaK, KanaKK, KanaKk (漢直でなくローマ字かな入力で、後置型変換を使いたいケース向け)
  • 後置型交ぜ書き変換の、読み/語幹の伸縮関係:
    • キー設定の左移動と右移動キーでも可能に
    • キー設定の接辞キーに<|>設定時(CorvusSKKデフォルト)でも読み/語幹の伸縮可能に
  • 辞書取込を、;; okuri-ari行の無いファイルに対応(mazegaki.dic等)
  • ベースのCorvusSKKを2.5.1に更新。

v0.6.0 (2016-10-24)

  • 後置型交ぜ書き変換を、読みの文字数指定無しでも開始可能に:Maze0,MazeK0
    • 候補表示中に><キーにより、読み/語幹の伸縮可能
    • 活用しない語を縮めていくと、活用する語としての変換を試行
    • 活用しない語を縮めていった際に、活用する語としての変換を試行しない「機能」追加:Mazek0

v0.5.0 (2016-09-12)

  • 仮想鍵盤表示機能を追加。
  • ベースのCorvusSKKを2.4.5に更新。

v0.4.0 (2016-07-16)

  • 部首合成変換ユーザー辞書に対応。
  • 後置型変換で、サロゲートペアやIVS、結合文字(ただしJIS X 0213に含まれる文字のみ)に対応。
  • ベースのCorvusSKKを2.4.4に更新。

v0.3.0 (2014-05-22)

  • 辞書登録エントリ編集中の、後置型変換に対応。
  • 後置型漢字→入力シーケンス変換
  • 後置型入力シーケンス→漢字変換
  • 活用する語の後置型交ぜ書き変換。ただし読みに「―」を追加して変換するだけ
  • ASCIIモード切替キーや他IME切替キー押下時、入力途中シーケンスを確定するようにした。(ユーザの入力はなるべく捨てない)
  • vi協調機能を追加。Vi Escに設定したキーが押されたらASCIIモードに切り替えるとともにアプリにも渡す。(Putty内vi操作時用)
  • Ctrl等と組み合わせたキー設定(仮想キー)をCorvusSKK 1.5.7の方式に変更。
  • ベースのCorvusSKKを1.6.1に更新。

v0.2.0 (2013-12-27)

  • 打鍵ヘルプを漢索窓に表示する機能を追加:
    • 自動ヘルプ: 部首合成変換や交ぜ書き変換確定時
    • Help機能を割り当てたシーケンス入力時
  • コード表に無いシーケンスはそのまま確定するオプション「ローマ字が無いとき入力を残す」を追加 (CorvusSKKの「ローマ字が無いとき最後の入力を残す」オプションの動作変更)。 短縮語(API,DB,OFF等)や短い英単語をそのまま入力できるようにするため。
  • [SKK]モードでIME ONキーを押したら、ひらがなモードになるように修整。 IME ONキーを押すと常にひらがなモードになる方が、 現在どのモードかを意識しなくて良くて楽なので。
  • tsf-vimとの連携用機能追加:
    • 他IMEへの切替キーを追加。
    • キー設定(仮想キー)で、CtrlやAlt等と組み合わせた設定を可能に。
  • コード表ファイル(.tbl)更新
    • tutcode.tblにTouch16+の定義とTUT98.COMの拗音等の短縮ストロークを追加。
    • tcode.tblの「/4 又」の行の形式が壊れていた問題を修正。
    • 半角カナの列を全角でなく半角カナに置換
  • アイコンを漢直Winのものに変更。
  • ベースのCorvusSKKを1.5.3に更新。

v0.1.0 (2013-09-26)

  • 前置型交ぜ書き変換の読み入力中の読みに対する後置型カタカナ・部首合成変換
  • 後置型変換時TSF/IMR_DOCUMENTFEEDでは空の文字列しか取得できなかった場合、内部バッファを使うようにした(issue#2 への対処)。
  • ベースのCorvusSKKを1.2.2に更新。

v0.0.3 (2013-08-29)

  • 最初のリリース(自分で使う際に最低限の機能が使えるレベル)

Copyright (C) 2013-2024 KIHARA, Hideto https://github.com/deton/tsf-tutcode

以下CorvusSKKのCopyright:

Copyright (C) 2011-2024 SASAKI Nobuyuki

nathancorvussolis@gmail.com

https://nathancorvussolis.github.io/