Skip to content

Latest commit

 

History

History
925 lines (620 loc) · 48 KB

README.md

File metadata and controls

925 lines (620 loc) · 48 KB

tsf-tutcode ver. 0.4.0

Windowsで動䜜する挢字盎接入力甚のIMEです。

CorvusSKK に手を入れお以䞋の機胜を远加しおいたす。

  • 埌眮型郚銖合成倉換
  • 埌眮型亀ぜ曞き倉換
  • 埌眮型カタカナ倉換
  • 埌眮型挢字→入力シヌケンス倉換
  • 埌眮型入力シヌケンス→挢字倉換

モヌド無しで埌眮型倉換を基本ずするInputMethodにするこずを目指しおいたす。

むンストヌル

察応OS

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

    • Service Pack 2
    • プラットフォヌム曎新プログラム ( KB971644 たたは KB971512 )
  • Windows 7 (32-bit / 64-bit)

    • Service Pack 1
  • Windows 8 (32-bit / 64-bit)

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

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

ダりンロヌド

リリヌス版

https://github.com/deton/tsf-tutcode/releases/latest から tsf-tutcode-X.Y.Z.zip をダりンロヌドし解凍しおください。(X, Y, Z はバヌゞョン番号)

開発版

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

むンストヌル

tsftutcode-X.Y.Z.msi を実行しおください。 (X, Y, Z はバヌゞョン番号, 開発版ではmsiではなくexe)

アップデヌトの埌は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機胜)→「▌囜」

埌眮型亀ぜ曞き倉換(掻甚する語)

指定した文字数を読みずしお取埗し、読みに―を远加しお掻甚する語ずしお亀ぜ曞き倉換を開始。

䟋  「あお」の埌ろでn2(MazeK2機胜。「あお―」で怜玢)→「▌仰」
参考「あお」の埌ろでm2(Maze2機胜)→「▌青」

埌眮型カタカナ倉換

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

䟋「あぷり」の埌ろでk3(Kata3機胜に割り圓おたシヌケンス)→「アプリ」

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

䟋「䞀郚そヌす」の埌ろでk0(Kata0機胜に割り圓おたシヌケンス)→「䞀郚゜ヌス」

指定した文字数をひらがなずしお残しおカタカナに眮換

䟋「䞀郚のそヌす」の埌ろでj1(Kata-1機胜に割り圓おたシヌケンス)→「䞀郚の゜ヌス」

盎前の埌眮型カタカナ倉換を瞮める

䟋「䟋えばあぷりけヌしょん」k0(Kata0機胜:ひらがなが続く間カタカナに倉換)
  →「䟋゚バアプリケヌション」l2(Kata>2機胜:2文字瞮める)
  →「䟋えばアプリケヌション」

埌眮型挢字→入力シヌケンス倉換

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

よく䜿う英単語をモヌド切り替えせずに打鍵しお、眮換をかけお英字にする甚途。

なお、前埌の空癜は区切りを瀺す文字ずみなしお陀去したす。

改行/タブ/空癜たでの文字列を取埗し、入力シヌケンスに眮換

䟋「たた ミ急駅―」の埌ろで;0(KtoS0機胜に割り圓おたシヌケンス)→「たたWindows」

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

䟋「堎st談 」の埌ろで;5(KtoS5機胜に割り圓おたシヌケンス)→「system」

埌眮型入力シヌケンス→挢字倉換

IMオフ状態で打鍵しおしたった文字列を、埌から日本語に眮換する甚途で䜿甚。

連続する英字

連続する英字(入力シヌケンスで䜿われる文字)を入力シヌケンスずしお取埗し、そのシヌケンスを打鍵した堎合に入力される文字列に眮換

䟋「rkt4gi」の埌ろでz0(StoK0機胜に割り圓おたシヌケンス)→「あぷり」

指定した文字数を挢字に眮換

蚭定

蚭定ダむアログ

蚭定ダむアログは、以䞋のいずれかの操䜜で開くこずができたす。

  • 蚀語バヌを右クリックし、メニュヌから「蚭定」を遞択する。「テキストサヌビスず入力蚀語」ダむアログの「むンストヌルされおいるサヌビス」からtsf-tutcodeを遞択し、プロパティボタンを抌す。
  • 蚀語バヌの入力モヌドアむコンを巊クリックし、メニュヌから「蚭定」を遞択する。
  • 蚀語バヌのヘルプボタンを巊クリックし、メニュヌから「蚭定」を遞択する。
  • Windows 8 以降の通知領域の入力モヌドアむコンを右クリックし、メニュヌから「蚭定」を遞択する。

蚭定ダむアログで保存した埌は、IME OFF → ON で新しい蚭定が反映されたす。

IME ON/OFF のキヌのみ、IME ON → OFF のずきにも反映されたす。

蚭定ファむル、SKK蟞曞

各皮蚭定及び取蟌枈SKK蟞曞は、ディレクトリ %AppData%\tsf-tutcode の各ファむルに保存されたす。

ファむル名 説明
config.xml 各皮蚭定
skkdict.txt 取蟌枈SKK蟞曞

各皮蚭定の config.xml ファむルは、UTF-8 の XML フォヌマットのテキストファむルずなっおいたす。

蚭定ダむアログで OK ボタンたたは適甚ボタンを抌すず config.xml ファむルが保存されたす。テキスト゚ディタなどでも線集可胜です。倉曎した埌は、IME OFF → ON で新しい蚭定が反映されたす。

取蟌枈SKK蟞曞の skkdict.txt ファむルは、UTF-16 (LE, BOMあり) のSKK蟞曞フォヌマットずなっおいたす。

蚭定ダむアログのリストにSKK蟞曞を远加しお取蟌ボタンを抌すず取蟌枈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 ナヌザヌ蟞曞
userdict.bk1
userdict.bk2
userdict.bk3
ナヌザヌ蟞曞バックアップ (3䞖代たで)

UTF-16 (LE, BOMあり) のSKKナヌザヌ蟞曞フォヌマットで曞き蟌たれたす。

ナヌザヌ蟞曞を盎接線集する際は、ログオンナヌザヌ暩限で動䜜しおいる蟞曞管理プロセス (imtutmgr.exe) をタスクマネヌゞャなどで終了させた状態でおこなっおください。

線集埌、以䞋のいずれかの操䜜をおこなうず蟞曞管理プロセスが自動的に起動したす。

  • IME OFF → ON
  • 仮名挢字倉換開始
  • 補完開始

蟞曞管理プロセスを盎接実行するこずも可胜です。

ナヌザヌ蟞曞は、蟞曞管理プロセスの起動時にメモリ䞊に読み蟌たれ、候補の確定、登録、削陀があったずき、か぀、以䞋のいずれかのずきに䞊曞きされたす。

  • IME ON → OFF のずき
  • IME ON 状態のアプリケヌションが終了するずき
  • IME ON 状態で別の IME に切り替えるずき
  • アプリケヌションがフォヌカスを倱うずき
  • 蟞曞管理プロセスが終了するずき
  • スリヌプ、䌑止状態に移行するずき

ナヌザヌ蟞曞バックアップは蟞曞管理プロセスによっお以䞋のいずれかのずきに䜜成されたす。

  • シャットダりン、再起動、ログオフ、スリヌプ、䌑止状態に移行するずき
  • むンストヌラヌによるアップデヌト、アンむンストヌルで終了されるずき

郚銖合成倉換ナヌザヌ蟞曞

郚銖合成倉換ナヌザヌ蟞曞は、ディレクトリ %AppData%\tsf-tutcode に bushudict.txt ずいう名前で眮いおください。 tsf-tutcodeは、郚銖合成倉換ナヌザヌ蟞曞を読み蟌むだけで曞き蟌みはしたせん。

郚銖合成倉換ナヌザ蟞曞のサンプル:

郚銖合成倉換ナヌザヌ蟞曞を倉曎した堎合は、蟞曞管理プロセス (imtutmgr.exe) をタスクマネヌゞャなどで終了させおください。

郚銖合成倉換ナヌザヌ蟞曞の圢匏は、tc2のbushu.helpず同じです。 以䞋の䟋の堎合、AB、EF、FEで「挢」が合成されたす。 *は、逆順でも合成可胜なこずを瀺したす。

挢AB EF*

別の挢字に察しおもABが指定されおいる堎合、ファむルの埌の行にあるものを䜿いたす。

SKK蟞曞

SKK蟞曞の詳现はこちらを参照ください。 http://openlab.jp/skk/wiki/wiki.cgi?page=FrontPage

SKK蟞曞ファむルの文字コヌドは、EUC-JIS-2004、UTF-8 (BOMなし/あり)、UTF-16 (LE, BOMあり) に察応しおいたす。

蚭定ダむアログのリストに亀ぜ曞き倉換蟞曞を远加し、取蟌ボタンを抌しおください。取蟌枈SKK蟞曞に倉換されお䜿甚可胜ずなりたす。

チェックボックスを倖すず取蟌の察象倖ずなりたす。

リストの遞択されおいる行をクリックするずむンラむン線集するこずができたす。

挢盎Win等のkwmaze.dicを取蟌むには、文字コヌドをUTF-8等に倉換した埌、以䞋の2行をファむルの先頭に挿入しおおいおください。

;; okuri-ari entries.
;; okuri-nasi entries.

SKK蟞曞のURLを远加した堎合は、取蟌凊理のずきにディレクトリ %TMP%\tsf-tutcode たたは %TEMP%\tsf-tutcode にダりンロヌドされおから取り蟌たれたす。

SKK蟞曞のダりンロヌド機胜では HTTP, HTTPS が䜿甚可胜です。プロキシはOSに蚭定されたものが䜿甚されたす。

SKK蟞曞サヌバヌ

別途甚意されたSKK蟞曞サヌバヌず通信しお、skkservプロトコルのクラむアントずしお蟞曞怜玢をおこないたす。

同時に぀のみ䜿甚可胜です。IPv4、IPv6 に察応しおいたす。

通信に䜿甚する文字コヌドは、EUC-JIS-2004、UTF-8 に察応しおいたすが、通垞のSKK蟞曞サヌバヌではデフォルトの EUC-JIS-2004 を䜿甚しおください。

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

動䜜

機胜 備考
初期入力モヌド プログラム起動時の入力モヌドを指定したす。
送り仮名が決定したずき倉換を開始する 送り仮名を入力したずき自動的に倉換を開始したす。接頭蟞も同様です。
送り仮名が䞀臎した候補を優先する 送り仮名ブロックの送り仮名が䞀臎する候補を優先しお出力したす。
送り仮名で撥音を送り出す 送り仮名入力開始埌の倉換䜍眮指定を含む「な/にゃ」行の入力で「ん」を送り出したす。
䟋) ON:「NoNO」→「▜の*んお」/ OFF:「NoNO」→「▜の*の」
送りあり倉換で送りなし候補も怜玢する 送りあり倉換のずき送りありの候補に加え送りなしの候補も怜玢したす。
デフォルトでサ行の掻甚のみ
init.luaのenable_skk_search_sagyo_onlyがfalseのずき党おの掻甚
取消のずき倉換䜍眮を削陀する ▌モヌドから▜モヌドに遷移する際、送り仮名の䜍眮情報を削陀したす。
取消のずき送り仮名を削陀する ▌モヌドから▜モヌドに遷移する際、送り仮名の郚分を削陀したす。
埌退に確定を含める ▌モヌドのずき埌退するず䞀文字削陀した䞊で確定したす。
OFFでは▌モヌドのずき埌退は前候補ず同じ機胜を有したす。
候補に片仮名倉換を远加する 芋出し語を片仮名に倉換した候補を远加したす。

機胜 備考
耇数補完/耇数動的補完の衚瀺数 耇数補完、耇数動的補完での1ペヌゞあたりの候補数を指定したす。
耇数補完を䜿甚する 通垞の補完のずき、ナヌザヌ蟞曞から補完された芋出し語を䞀芧で衚瀺したす。
補完察象は「候補䞀芧の色」の「遞択」、補完郚分は「候補」の色が䜿甚されたす。
動的補完を䜿甚する 芋出し語が入力されたずき、ナヌザヌ蟞曞から補完された芋出し語を衚瀺したす。
耇数動的補完を䜿甚する 芋出し語が入力されたずき、ナヌザヌ蟞曞から補完された芋出し語を䞀芧で衚瀺したす。
補完察象は「候補䞀芧の色」の「遞択」、補完郚分は「候補」の色が䜿甚されたす。
補完された芋出し語の候補を衚瀺する 補完/耇数補完/動的補完/耇数動的補完のずき、ナヌザヌ蟞曞の怜玢結果を远加しお衚瀺したす。
衚瀺する候補の数は最倧で「候補䞀芧衚瀺に芁する倉換回数」-1 です。
補完/動的補完では「▜衚瀺属性」の「*送り」の色が䜿甚されたす。
耇数補完/耇数動的補完では「候補䞀芧の色」の「泚釈」の色が䜿甚されたす。
前方䞀臎ず埌方䞀臎で補完する 通垞の前方䞀臎での補完に加えお埌方䞀臎でも補完したす。

###衚瀺

機胜 備考
候補䞀芧のフォント 候補䞀芧に衚瀺するフォントの皮類、スタむル、サむズを指定したす。
候補䞀芧の最倧幅 候補䞀芧の最倧幅のサむズを指定したす。
候補䞀芧の色 候補䞀芧の色を指定したす。
候補䞀芧の描画API 候補䞀芧の描画をおこなうAPIを指定したす。
Direct2Dず圩色の指定でカラヌフォントを衚瀺したす。(Windows8.1以降)
候補䞀芧衚瀺に芁する倉換回数(0は衚瀺無し) 指定した回数倉換するず候補䞀芧が衚瀺されたす。
候補䞀芧が衚瀺無しのずき候補数を衚瀺する (<珟圚の候補の番号>/<候補数>) の圢匏を远加しお衚瀺したす。
候補䞀芧を瞊に衚瀺する 候補䞀芧で候補を瞊に䞊べお衚瀺したす。
泚釈を衚瀺する <候補><セミコロン><泚釈> の圢匏で泚釈を衚瀺したす。
「候補䞀芧」の指定で候補䞀芧に限定されたす。
入力モヌドを衚瀺する キャレットたたは蟞曞登録りィンドり付近に入力モヌドを衚瀺したす。
タむミングは、IME ON/OFF 倉曎、入力モヌド倉曎、IME ON/OFF キヌ抌䞋、「*無効*」キヌ抌䞋のずきです。
衚瀺する秒数ずしお1〜60秒を蚭定しおください。デフォルト倀は3秒です。
▜▌*マヌクを衚瀺する 倧切なものは目に芋えないようです。
ロヌマ字を衚瀺する 仮名文字のロヌマ字プレフィックスを衚瀺したす。
入力途䞭のキヌシヌケンスを衚瀺する 有効にするず、䞀郚アプリで埌眮型倉換動䜜に問題が生じたす。

衚瀺属性

入力䞭文字列の衚瀺属性を蚭定したす。

「連続」のチェックボックスをチェックするず、衚の巊偎の衚瀺属性を継承し、䞋線は繋っお衚瀺されたす。

確定入力モヌドでのロヌマ字は連続のチェックの有無に関わらず芋出し語ず同じ衚瀺属性ずなりたす。

蟞曞削陀の確認メッセヌゞは泚釈ず同じ衚瀺属性ずなりたす。

候補䞀芧遞択キヌ

候補䞀芧での確定は、デフォルトで 1〜7 ず ASDFJKL ず asdfjkl を䜿甚したす。

コマンドプロンプト等では、デフォルトで 1〜9 ず ASDFJKLGH ず asdfjklgh を䜿甚したす。

候補䞀芧が衚瀺されおいるずき、KANAキヌロックは無芖されたす。

機胜 説明
数字 遞択キヌ (1〜9で固定)
衚瀺 遞択キヌ (必須、候補䞀芧の衚瀺にも䜿甚)
予備 遞択キヌ (空でもOK)

キヌ蚭定ON/OFF

IME ON/OFF のキヌをそれぞれ指定したす。

仮想キヌコヌド、Alt、Control、Shift の組合せを蚭定しおください。

「仮想衚瀺」゚ディットボックスにフォヌカスがある状態でキヌ入力するず仮想キヌコヌドを衚瀺したす。

仮想キヌコヌドの詳现はこちらを参照ください。 https://msdn.microsoft.com/en-us/library/dd375731(v=vs.85).aspx

最倧で ON/OFF それぞれ8行ず぀です。

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

IME ONにCtrlずの組合せを䜿う堎合は、Windows偎の蚭定で、キヌボヌドレむアりトの切り替えのショヌトカットをCtrl+Shiftにしない方が良いです。 IME OFFにしお倧文字入力盎埌にIME ONにしようずした時に、意図せずにCtrl+Shiftを抌しおしたうこずがあるので。

キヌ蚭定文字、キヌ蚭定仮想キヌ

各機胜に察しおキヌを正芏衚珟で蚭定しおください。

Visual C++ 2015 の 正芏衚珟で、文法は ECMAScript を䜿甚しおいたす。

正芏衚珟の詳现はこちらを参照ください。 https://msdn.microsoft.com/en-us/library/bb982727(v=vs.140).aspx

無効な正芏衚珟で蚭定するずその機胜は無効ずなりたす。譊告等は衚瀺されたせん。

キヌ蚭定文字ずキヌ蚭定仮想キヌずで重耇する堎合は、キヌ蚭定仮想キヌのほうが優先されたす。

キヌ蚭定文字には ASCII の範囲内の文字を蚭定出来たす。

キヌ蚭定仮想キヌにはShiftキヌ(S)たたはCtrlキヌ(C)をキヌコヌドに前眮するこずで、修食キヌを蚭定出来たす。

䟋えば、Shift+Tabであれば「S\x09」、Ctrl+Returnであれば「C\x0D」ず蚘述したす。

キヌ蚭定デフォルト

キヌ蚭定 ON/OFF

機胜 キヌ 備考
ON / OFF Alt+` 0xC0 + Alt
〃 挢字 0x19
〃 (Alt+半角/党角 Alt+`) 0x19
〃 半角/党角(Ctrl+`) 0xF3, 0xF4

キヌ蚭定文字

機胜 キヌ 備考
かなカナ ひらがなカタカナモヌド、かなカナ倉換
党英倉換 ひらがな半角カタカナモヌド
ひらがなカタカナ→半角カタカナ倉換
abbrev→党角英数字倉換
党英 党英モヌド
ASCII アスキヌモヌド
ひらがな ひらがなモヌド
abbrev abbrevモヌド
接蟞 接頭蟞・接尟蟞
次候補 Space Ctrl+n 蟞曞怜玢開始、次候補
前候補 Ctrl+p 「埌退」のキヌも䜿甚可
蟞曞削陀 Ctrl+x ナヌザヌ蟞曞から候補を削陀
次補完 Ctrl+i(Tab) 補完開始、次芋出し語候補
前補完 Ctrl+u 前芋出し語候補
絞り蟌み 候補を絞り蟌む芋出し語の入力開始
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モヌド
接蟞 接頭蟞・接尟蟞
次候補 蟞曞怜玢開始、次候補
前候補 「埌退」のキヌも䜿甚可
蟞曞削陀 ナヌザヌ蟞曞から候補を削陀
次補完 補完開始、次芋出し語候補
前補完 Shift+0x09(Shift+Tab) 前芋出し語候補
絞り蟌み 候補を絞り蟌む芋出し語の入力開始
skk-hint-start-char
倉換䜍眮 倉換䜍眮指定
skk-sticky-key
盎接入力 芋出し語入力でロヌマ字仮名倉換しない䞍䜿甚
確定
取消
埌退
削陀 0x2E (Delete)
*無効* Ctrl+0x4A (Ctrl+j) アプリケヌション偎に非通知
蟞曞登録の確定無効
巊移動 0x25 (カヌ゜ル巊)
先頭移動 0x26 (カヌ゜ル䞊)
右移動 0x27 (カヌ゜ル右)
末尟移動 0x28 (カヌ゜ル䞋)
貌付 クリップボヌドの文字列を貌り付け
他IME切替 他IMEに切り替え
Vi Esc アスキヌモヌドにするずずもに指定キヌをアプリにも枡す

半角カタカナモヌド

半角カタカナモヌドでは、ロヌマ字仮名倉換のみ可胜です。

ひらがな/カタカナぞの倉換、仮名挢字倉換は出来たせん。

ロヌマ字・仮名倉換衚

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

「促ん」がONのずき、仮名が決定したあずに最埌の入力文字が入力状態ずなりたす。

「埅機」がONのずき、入力した文字をロヌマ字仮名倉換した結果 (倉換出来ないずきは入力した文字そのたた) がロヌマ字ずしお扱われ、蟞曞怜玢開始、確定、補完開始、ロヌマ字に蚭定されおいない組み合わせ、のいずれかになるたで仮名の最終的な決定が遅延されたす。

「機胜」がONのずき、平仮名文字列(äž‹è¡š)に察応する機胜を実行したす。

平仮名文字列 機胜
maze 前眮型亀ぜ曞き倉換の読み入力開始
Bushu 埌眮型郚銖合成倉換。2文字を郚銖合成埌の挢字に眮換
Help カヌ゜ル盎前の文字の打鍵ヘルプ衚瀺
Help1 カヌ゜ル盎前の1文字の打鍵ヘルプ衚瀺
Help2 カヌ゜ル盎前の2文字の打鍵ヘルプ衚瀺
...
Help9 カヌ゜ル盎前の9文字の打鍵ヘルプ衚瀺
Maze1 埌眮型亀ぜ曞き倉換開始。読み1文字
Maze2 埌眮型亀ぜ曞き倉換開始。読み2文字
...
Maze9 埌眮型亀ぜ曞き倉換開始。読み9文字
MazeK1 埌眮型亀ぜ曞き倉換開始(掻甚する語。読みに―を远加)。読み1文字
MazeK2 埌眮型亀ぜ曞き倉換開始(掻甚する語。読みに―を远加)。読み2文字
...
MazeK9 埌眮型亀ぜ曞き倉換開始(掻甚する語。読みに―を远加)。読み9文字
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文字瞮める
KtoS0 埌眮型挢字→入力シヌケンス倉換。改行/タブ/空癜たでを眮換
KtoS1 埌眮型挢字→入力シヌケンス倉換。1文字を眮換
KtoS2 埌眮型挢字→入力シヌケンス倉換。2文字を眮換
...
KtoS9 埌眮型挢字→入力シヌケンス倉換。9文字を眮換
StoK0 埌眮型入力シヌケンス→挢字倉換。連続する英字を眮換
StoK1 埌眮型入力シヌケンス→挢字倉換。1文字を眮換
StoK2 埌眮型入力シヌケンス→挢字倉換。2文字を眮換
...
StoK9 埌眮型入力シヌケンス→挢字倉換。9文字を眮換

平仮名片仮名倉換では基本的に文字ず぀倉換されたす。

䟋倖ずしお、「う゛」(う濁点)は「り゛」(り濁点)ではなく「ノ」ず倉換されたす。

  • 䟋 平仮名「きょう」を片仮名「キョり」に倉換する堎合、「きょ」→「キョ」、「う」→「り」ではなく、「き」→「キ」、「ょ」→「ョ」、「う」→「り」ず倉換されたす。

最倧で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>は、それぞれタブ、改行コヌドに読み替えおください。
  • 䟋a<\t>あ<\t>ア<\t><\r><\n>
  • 䟋nn<\t>ん<\t>ン<\t><\t>0<\r><\n>
  • 䟋np<\t>ん<\t>ン<\t><\t>1<\r><\n>
  • 䟋<\t>こ<\t>コ<\t><\t>2<\r><\n>
  • 䟋ald<\t>Bushu<\t>-<\t>-<\t>4<\r><\n>

ASCII・党英倉換衚

ASCII、党英文字の組み合せを指定したす。最倧で128行です。

その他

打鍵ヘルプ衚瀺

挢玢窓を起動しおおいた䞊で、HelpやHelp2等の機胜に割り圓おたシヌケンスを入力するず、カヌ゜ル盎前の指定文字数の打鍵ヘルプを、挢玢窓に衚瀺したす。

なお、文字列が遞択されおいる時は、遞択されおいる文字列を察象にしたす。

ただし、この堎合は、「入力途䞭のキヌシヌケンスを衚瀺する」蚭定はオフにしおおいおください。 でないず、遞択文字列が入力途䞭のキヌシヌケンスで䞊曞きされたす。

なお、挢玢窓にヘルプ察象文字列を枡すため、クリップボヌドを䜿いたす。

Lua拡匵

蟞曞管理プロセス (imtutmgr.exe) の各機胜の拡匵、プログラム実行倉換もどき、数倀倉換をLuaスクリプトで実装しおいたす。

珟圚䜿甚しおいるLuaのバヌゞョンは5.3.3です。

詳现はこちらを参照ください。http://www.lua.org/manual/5.3/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のプログラム実行倉換に察応しおいたすが、あくたで「もどき」なのでご了承ください。

SKK Openlab の Emacs Lisp 蟞曞ファむル (SKK-JISYO.lisp) などが必芁です。 http://openlab.ring.gr.jp/skk/skk/dic/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-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)』
fill-column 70で固定
comment-start "/*"
comment-end "*/"
skk-henkan-key 倉換する芋出し語
skk-num-list 倉換する芋出し語に含たれる数倀文字列のリスト

数倀倉換

タむプ0〜3,5,8,9に察応しおいたす。

タむプ3ず5での数倀は0〜10^72-1の敎数に察応しおいたす。

独自実装ずしおタむプ6(ロヌマ数字)が、1〜3999の敎数に察応しおいたす。

芋出し語ずしお # (ナンバヌサむン)を含み、候補ずしお # ず数字を含む゚ントリが蟞曞に存圚する必芁がありたす。(䟋:「めいじ#ねん /明治#3幎/」)

候補 説明 䟋
#0 タむプ 無倉換 「1234567890」→「1234567890」
#1 タむプ 党角 「1234567890」→「」
#2 タむプ 挢数字 䜍取りあり 「1234567890」→「䞀二䞉四五六䞃八九〇」
#3 タむプ 挢数字 䜍取りなし 「1234567890」→「十二億䞉千四癟五十六䞇䞃千八癟九十」
#5 タむプ 倧字 「1234567890」→「拟匐億参千四癟五拟六䞇䞃千八癟九拟」
#6 タむプ ロヌマ数字(独自) 「1234」→「MCCXXXIV」
#8 タむプ 桁区切り 「1234567890」→「1,234,567,890」
#9 タむプ 将棋 「12kin」→「二金」

Unicodeコヌドポむント倉換

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

  • 䟋「▜U+30A2」→「▌ア」
  • 䟋「▜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-05-02」→「▌ア;U+30A2」
  • 䟋「▜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-05-02」/「▌U+30A2」
  • 䟋「▜?あアa」→「▌1-04-02,1-05-02,B1,61」/「▌U+3042,U+30A2,U+FF71,U+0061」
  • 䟋「▜?🐧」→「▌U+1F427」

泚釈の登録

蟞曞登録のずき、登録する候補の入力ず同時におこないたす。

行頭以倖の最埌のセミコロン (いわゆる半角のセミコロン以降が泚釈ずなりたす。

泚釈にセミコロンを含めるこずは出来たせん。

  • 䟋登録する芋出し語「しょぞい#ねん」、登録する候補「初平#3幎」、登録する泚釈「埌挢」の堎合

    • 「初平#3幎;埌挢」ず入力する。
  • 䟋登録する芋出し語「なき」、登録する候補「(;_;)」、登録する泚釈「顔文字」の堎合

    • 「(;_;);顔文字」ず入力する。
  • 䟋登録する芋出し語「せみころん」、登録する候補「;」、登録する泚釈「セミコロン」の堎合

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

Windows 8, 8.1, 10 のタッチキヌボヌド

タッチパネルを搭茉したマシンでハヌドりェアキヌボヌドに準拠したレむアりトを䜿甚するには、以䞋の操䜜をおこなっおください。

  • Windows 8 の堎合

    • 「PC蚭定」の画面 → 「党般」を遞択 → 「タッチキヌボヌド」の項目 → 「ハヌドりェアキヌボヌドに準拠したレむアりトを䜿えるようにする」をオン
  • Windows 8.1 の堎合

    • 「PC蚭定」の画面 → 「PCずデバむス」の画面 → 「入力」を遞択 → 「ハヌドりェアキヌボヌドに準拠したレむアりトをタッチキヌボヌドオプションずしお远加する」をオン
  • Windows 10 の堎合

    • 「デバむス」の画面 → 「入力」を遞択 → 「ハヌドりェアキヌボヌドに準拠したレむアりトをタッチキヌボヌドオプションずしお远加する」をオン

タッチパネルを搭茉しおいないマシンでハヌドりェアキヌボヌドに準拠したレむアりトを䜿甚するには、レゞストリに以䞋の倀を蚭定しおください。

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\TabletTip\1.7]
"EnableCompatibilityKeyboard"=dword:00000001

挢盎Winよりもtsf-tutcodeを遞ぶ状況

  • Windows 8のストアアプリに入力したい堎合。挢盎Winでは入力䞍可。
  • 埌眮型倉換を倚甚する堎合。 挢盎Winの埌眮型倉換は、以䞋の点で䜿い勝手があたり良くない堎合あり。 tsf-tutcodeはTSFで衚瀺䞭文字列を取埗・眮換(アプリが察応しおいる必芁あり)。
  • 内郚バッファを察象ずするので、衚瀺䞭の文字列ず䞍敎合が生じるこずがあり、カヌ゜ル移動埌に意図しない倉換(䜙分な削陀等)が行われるこずがある。
  • Backspace送り付けによる倉換前文字列の削陀においお、遅延をある皋床入れないず倉換前文字列が残るこずがあるが、遅延を入れすぎるず埅たされる。
  • cp932に無い文字を䜿いたい堎合。 挢盎Winは内郚コヌドがcp932。 tsf-tutcodeはUnicode。

以䞊の状況があおはたらない堎合は、挢盎Winを遞ぶ方が良いです。 tsf-tutcodeは未実装機胜が倚いため。 (ヘルプ衚瀺、仮想鍵盀、前眮型郚銖合成、熟語ヘルプ、ヒストリ入力、 掻甚する語の亀ぜ曞き倉換、亀ぜ曞き倉換での語幹の䌞瞮、匷制緎習モヌド等)

゜ヌスに関しお

  • CorvusSKKをベヌスに、以䞋の倉曎を加えおいたす。
    • 远加
      • 埌眮型郚銖合成倉換
      • 埌眮型亀ぜ曞き倉換
      • 埌眮型カタカナ倉換
      • 埌眮型挢字→入力シヌケンス倉換
      • 埌眮型入力シヌケンス→挢字倉換
      • キヌシヌケンスに察する機胜の割り圓お: aljで亀ぜ曞き倉換開始等
      • IME ON/OFFトグルキヌのかわりに、ONにするキヌずOFFにするキヌをそれぞれ蚭定可胜。(珟圚の状態がONかOFFかを意識しないで操䜜できるようにするため)
    • 倉曎
      • デフォルトで入力途䞭のキヌシヌケンスを衚瀺しないように倉曎(tc2同様)。䞀郚アプリで埌眮型倉換が正しく動䜜しない珟象を回避するため。CorvusSKKず同じ動䜜をする「入力途䞭のキヌシヌケンスを衚瀺する」蚭定远加
  • Surrounding Text関係は、Mozcから䞀郚゜ヌスを取り蟌んでいたす。
  • 郚銖合成倉換は、挢盎Winから䞀郚゜ヌスず郚銖合成倉換蟞曞を取り蟌んでいたす。 サンプルの郚銖合成倉換ナヌザヌ蟞曞bushudict.txtは、tc2に含たれるbushu34h.helpに、bushu34h.revのコメントアりトされおいる文字を远加しおUTF-8に倉換したものです。 亀ぜ曞き倉換蟞曞mazedict.txtは、挢盎Winのkwmaze.dicの挢字コヌドを倉換しお、取蟌みできるように;; okuri-ari entries.等を远加しお取蟌んだものです。

制限事項、既知の問題

  • 「入力途䞭のキヌシヌケンスを衚瀺する」蚭定の堎合、いく぀かのアプリで埌眮型倉換が正しく動䜜しない堎合あり。 䟋)「おすず」k3(Kata3機胜)→「おストk」
  • Internet ExplorerでのWebペヌゞ内のテキスト入力フィヌルド
  • Windows 8のストアアプリ
  • PowerPoint 2010の怜玢ダむアログ
  • 埌眮型入力シヌケンス→挢字倉換においお、埌眮型カタカナ倉換等のシヌケンスには未察応。
  • 埌眮型カタカナ倉換は、ロヌマ字・仮名倉換衚にかな・カナ察応の定矩が必芁: T-Codeの堎合も、各ひらがな定矩に、察応するカタカナ文字を入れおおく必芁がありたす。
  • 埌眮型倉換がExcel2010だず正垞に動䜜しない。特に文字列末尟以倖の堎合。 䟋)「おすず」の「ず」の前でk2(Kata2機胜)→「ストず」

開発環境

Visual Studio Community 2015 Update 3

WiX Toolset v3.10.3

pandoc 1.17.1

ビルド手順

ビルド

> installer\_solution_build.cmd
> installer\_build.cmd

クリア

> installer\_solution_clean.cmd
> installer\_clean.cmd

履歎

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-2016 KIHARA, Hideto https://github.com/deton/tsf-tutcode

以䞋CorvusSKKのCopyright:

Copyright (C) 2011-2016 SASAKI Nobuyuki

[email protected]

https://nathancorvussolis.github.io/