Giter VIP home page Giter VIP logo

corvusskk's Introduction

CorvusSKK ver. 3.2.3

Windowsで動作するSKK風のIMEです。

インストール

対応OS

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

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

    • S14 Update ( KB2919355 )
  • Windows 10 (32-bit / 64-bit / ARM)

  • Windows 11 (64-bit / ARM)

インストール

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

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

インストール先

  • 32bit 版 Windows

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

    • %SystemRoot%\System32\IME\IMCRVSKK
    • %SystemRoot%\SysWOW64\IME\IMCRVSKK
  • ARM 版 Windows

    • %SystemRoot%\System32\IME\IMCRVSKK
    • %SystemRoot%\SysArm32\IME\IMCRVSKK
    • %SystemRoot%\SysWOW64\IME\IMCRVSKK
  • 共通

    • %SystemRoot%\IME\IMCRVSKK

アンインストール

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

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

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

Windows ストアアプリ、Microsoft Edge

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

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

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

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

Adobe Reader X, XI, Acrobat Reader DC

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

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

ファイル

設定ファイル

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

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

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

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

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

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

  1. %APPDATA%\CorvusSKK
  2. %SystemRoot%\IME\IMCRVSKK (インストーラーによりインストール済み)

開発者向け

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

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

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

SKK辞書ファイル

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

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

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

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

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

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

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

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

  1. %APPDATA%\CorvusSKK
  2. %SystemRoot%\IME\IMCRVSKK (インストーラーによりインストール済み)

開発者向け

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

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

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

ユーザー辞書ファイル

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

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

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

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

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

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

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

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

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

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

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

辞書管理プロセス (imcrvmgr.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
設定 設定ダイアログを表示します。
キャンセル メニューを閉じます。

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

半角カタカナモード

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

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

プライベートモード

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

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

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

設定

設定ダイアログ

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

  • 言語バーを右クリックし、メニューから「設定」を選択する。「テキストサービスと入力言語」ダイアログの「インストールされているサービス」からCorvusSKKを選択し、プロパティボタンを押す。
  • 言語バーの入力モードアイコンを左クリックし、メニューから「設定」を選択する。
  • 言語バーのヘルプボタンを左クリックし、メニューから「CorvusSKK」を選択する。
  • Windows 8 以降の通知領域の入力モードアイコンを右クリックし、メニューから「設定」を選択する。
  • スタートメニューから CorvusSKK\CONFIG を実行する。
  • %SystemRoot%\System32\IME\IMCRVSKK\imcrvcnf.exe または %SystemRoot%\SysWOW64\IME\IMCRVSKK\imcrvcnf.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」のそれぞれ右上にある「仮想キーテスト」エディットボックスにフォーカスがある状態でキー入力すると仮想キーコードを表示します。

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辞書を追加し、取込ボタンを押してください。取込済SKK辞書に変換されて使用可能となります。

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

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

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

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

SKK辞書サーバー

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

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

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

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

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

ユーザー辞書

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

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

  • ディレクトリの指定には環境変数を使用することが可能です。
  • 存在しないディレクトリを指定した場合すぐにはシェルで開けません。 すぐに開くには、適用ボタンを押して設定を保存した後、辞書管理プロセスを終了→実行し、手動バックアップを実行してください。 辞書管理プロセスがバックアップファイルを作成するときにディレクトリも作成します。
  • ディレクトリを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 です。
補完/動的補完では「▽表示属性」の「*送り」の色が使用されます。
複数補完/複数動的補完では「候補一覧の色」の「注釈」の色が使用されます。
前方一致と後方一致で補完する 通常の前方一致での補完に加えて後方一致でも補完します。

表示

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

機能 説明
入力モードを表示する キャレットまたは辞書登録ウィンドウ付近に入力モードを表示します。
タイミングは、IME ON/OFF 変更、入力モード変更、IME ON/OFF キー押下、「*無効*」キー押下のときです。
表示する秒数として1〜60000ミリ秒を設定してください。デフォルト値は3000ミリ秒です。
入力モードの色 入力モード表示の色を指定します。

表示属性

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

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

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

候補一覧選択キー

候補一覧に表示する文字とキーを設定します。数字、表示、予備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行ずつです。

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

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

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

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

キー設定(文字)

機能 キー 説明
かな/カナ q ひらがな/カタカナモード、かなカナ変換
カナ全英変換 Ctrl + q ひらがな/半角カタカナモード
ひらがなカタカナ→半角カタカナ変換
abbrev→全角英数字変換
全英 L 全英モード
ASCII l アスキーモード
ひらがな ひらがなモード
abbrev / abbrevモード
接辞 < > 接頭辞・接尾辞
次候補 Space
Ctrl + n
辞書検索開始、次候補
前候補 x
Ctrl + p
「後退」のキーも使用可
辞書削除 X
Ctrl + x
ユーザー辞書から候補を削除
次補完 Ctrl + i (Tab) 補完開始、次見出し語候補
前補完 Ctrl + u 前見出し語候補
補完と変換 Ctrl + c 最初の見出し語候補で辞書検索開始
skk-start-henkan-with-completion-char
絞り込み 候補を絞り込む見出し語の入力開始
skk-hint-start-char
変換位置 変換位置指定
2回連続入力で文字自体が確定する
skk-sticky-key
直接入力 0〜9 見出し語入力でローマ字仮名変換しない
確定 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 クリップボードの文字列を貼り付け
再変換 選択された文字列でユーザー辞書の送りなしエントリを
逆引きしてから通常の辞書検索

キー設定(仮想キー)

機能 キー 説明
かな/カナ ひらがな/カタカナモード、かなカナ変換
カナ全英変換 ひらがな/半角カタカナモード
ひらがなカタカナ→半角カタカナ変換
abbrev→全角英数字変換
全英 全英モード
ASCII アスキーモード
ひらがな Ctrl + 0x4A (Ctrl + j) ひらがなモード
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 (カーソル下)
貼付 クリップボードの文字列を貼り付け
再変換 選択された文字列でユーザー辞書の送りなしエントリを
逆引きしてから通常の辞書検索

変換位置指定

変換位置での挙動を指定します。最大で256行です。

機能 説明
開始 変換位置開始キー
代替 変換位置開始キーに代わってローマ字仮名変換に使用する
送り 辞書検索に使用する送りローマ字
  • 例1)AZIK風に以下のように設定したとき「KaQ」と入力すると、表示「▽か*ん」、辞書検索キー「かn」と入力できます。

    開始 代替 送り
    Q q n
    ローマ字 かな カナ カナ 促/ん 待機
    q OFF OFF
  • 例2)以下のように設定したとき、かな入力で送り仮名の最初を「あ」の状態で辞書検索を開始すると、送りローマ字が「a」となります。

    開始 代替 送り
    a

ローマ字・仮名変換表

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

  • 「促/ん」

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

    • 例1) 以下のように設定したとき「motto」と入力することで「もっと」と入力することができます。

      ローマ字 かな カナ カナ 促/ん 待機
      mo OFF OFF
      tt ON OFF
      to OFF OFF
    • 例2) 以下のように設定したとき「dango」と入力することで「だんご」と入力することができます。

      ローマ字 かな カナ カナ 促/ん 待機
      da ダ OFF OFF
      ng ON OFF
      go ゴ OFF OFF
    • 例3) 以下のように設定したとき「w」の連続入力により草を生やすことができます。

      ローマ字 かな カナ カナ 促/ん 待機 説明
      ww ON OFF Latin Small Letter W → Fullwidth Latin Small Letter W
      w OFF OFF Latin Small Letter W → Fullwidth Latin Small Letter W
  • 「待機」

    • 「待機」がONのとき、入力した文字をローマ字仮名変換した結果 (変換出来ないときは入力した文字そのまま) がローマ字として扱われ、辞書検索開始、確定、補完開始、ローマ字に設定されていない組み合わせ、のいずれかになるまで仮名の最終的な決定が遅延されます。

    • 「待機」機能サンプルを参照してください。https://github.com/nathancorvussolis/corvusskk/blob/master/installer/config-sample/config - wait-sample.xml

    • 例1) カナキーロックした状態で「か」と濁点を入力することで「が」と入力することができます。濁点、半濁点のローマ字部分は、現状1文字のみ対応しています。

      ローマ字 かな カナ カナ 促/ん 待機 説明
      OFF ON JIS X 0201 仮名 → JIS X 0208 仮名
      OFF ON JIS X 0201 濁点 → JIS X 0208 濁点
      か゛ ガ OFF ON または OFF 仮名と濁点の合成
      待機OFFのとき直ちに確定または辞書検索開始します
    • 例2) 以下のように設定したとき「zsssss …」と入力することで「☆」と「★」が繰り返され任意のタイミングで確定することができます。

      ローマ字 かな カナ カナ 促/ん 待機 説明
      zs OFF ON
      ☆s OFF ON
      ★s OFF ON
    • 例3) 以下のように設定したとき「w」の連続入力により草を生やすことができます。

      ローマ字 かな カナ カナ 促/ん 待機 説明
      w OFF ON Latin Small Letter W → Fullwidth Latin Small Letter W

平仮名/片仮名変換では基本的に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のとき3となりますが、[待機]のほうが優先されます。 (0のときは無しでも可)
    • 空行やタブのみの行は読み飛ばされます。
    • <\t>、<\r>、<\n>は、それぞれタブ、改行コードに読み替えてください。
  • サンプルを参照してください。 https://github.com/nathancorvussolis/corvusskk/blob/master/installer/config-sample/kanatable.txt

ASCII・全英変換表

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

その他

Lua拡張

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

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

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

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

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

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

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

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

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

開発者向け

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

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

  1. %APPDATA%\CorvusSKK_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)登録する見出し語「せみころん」、登録する候補「;」、登録する注釈「セミコロン」の場合

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

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

タッチパネルを搭載したマシンでハードウェアキーボードに準拠したレイアウトを使用するには、以下の操作をおこなってください。

  • Windows 8 の場合

    • 「PC設定」の画面 → 「全般」を選択 → 「タッチキーボード」の項目 → 「ハードウェアキーボードに準拠したレイアウトを使えるようにする」をオン
  • Windows 8.1 の場合

    • 「PC設定」の画面 → 「PCとデバイス」の画面 → 「入力」を選択 → 「ハードウェアキーボードに準拠したレイアウトをタッチキーボードオプションとして追加する」をオン
  • Windows 10 (Ver.1703 まで) の場合

    • 「デバイス」の画面 → 「入力」を選択 → 「ハードウェアキーボードに準拠したレイアウトをタッチキーボードオプションとして追加する」をオン

タッチパネルを搭載していないマシンでハードウェアキーボードに準拠したレイアウトを使用するには、レジストリに以下の値を設定してください。

Windows 10 (Ver.1703 まで) の場合

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

Windows 10 (Ver.1709 から)、Windows 11 の場合

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

開発環境

Visual Studio Community 2022 17.9.7

  • Desktop development with C++

  • Indivisual components

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

WiX Toolset v5.0.0

  • 要 .NET SDK 6 以降

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

pandoc 3.2

ビルド手順

ビルド

> 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

Copyright (C) 2011-2024 SASAKI Nobuyuki

[email protected]

https://nathancorvussolis.github.io/

corvusskk's People

Contributors

nathancorvussolis avatar yuttie avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

corvusskk's Issues

config.xmlのロックで設定変更できない

環境:Windows 10 Pro (1803/1809) 64bit
chocolatey経由のver2.7.1

以下のような現象が発生しました。
一過性や個別の事象ではなさそうに見えます。

メインマシンだけでなく別のノートPCでも発生しました。

概要

CorvusSKKをEdgeなどでの有効化を実施し、その後に設定を行おうとすると設定できない状態になります。(設定ツールの「適用」でツールが死ぬ)
これは発生以降は再起動などしても同じです。

調査結果

当方の場合LockHunterというツールで確認しました。
「System(PID:4)がロックしている」という状態で、ファイルの更新ができなくなっています。
更新のため、当該ツールで「再起動後にロックを外しての削除」してやり、ファイルを置き直してから更新しました。
なお、imcrvmgr.exeを殺してもだめです。

切り分け

  • ツールで削除後ファイルを戻す -> ロックはされていない
  • 上記状態で、デスクトップで有効化 -> ロックはされていない
  • 上記状態で、Edgeで有効化 -> ロックはされる

ロック状態で

  • 設定できない
  • config.xmlの操作ができない
  • imcrvmgr.exeを殺してもかわらない
  • 再起動でもかわらない
  • ツールで削除し、戻すと、ロックされない状態になり設定変更できる
  • EdgeのIME on/offで再度ロックされる

辞書ダウンロードが404で失敗した時にエラーを出してほしい

SKK辞書として指定されたURLが辞書として不正な場合(HTML等)はエラーが出るようですが、ファイルが見つからない(HTTP 404)場合にもエラーを出すようにならないでしょうか。

配布URLが変更になっていたまま気づかない、ということが何度かあったので、取り込み時はいかなる理由にせよダウンロードできなかったことを知らせてもらえると便利だなと思った次第です。

補完時にtab→spaceをワンキーで行えないか

補完動作時、先頭の候補を選択するにはtab→spaceと打鍵する必要があると思いますが、これをワンキーで行えるようにすればさらにスムーズな入力体験が得られるのではと思っています。

より直接的に言うとSKKFEPでいうところの "." の動作です。

一部のWindowsストアアプリで入力ができなかった

一部のストアアプリで日本語入力ができない事がありました。
(おそらくWindows 10 バージョンアップの前後で?)
具体的には、問題のアプリのテキストボックス内で以下の状態になりました。

  • ON/OFFキーが効かない (Ctrl+Shift+Spaceに設定)
  • ON状態でキー入力をしても反応がない
    • Ctrl+Vなどの日本語入力に絡まないキーコンビネーションも通らない

#11 とはEdgeでは動作していた点が異なります。

該当ストアアプリの再インストールで解決しましたが、
再起動やCorvusSKKの再インストールでは直らず、
デスクトップ版もあるアプリだけで起きたように感じたのが気になったのと、
他にもひっかかった人がいればと思い、
ここに書かせて頂きました。

一過性のものだと思いますので、そのままcloseして頂いても構いません。

  • Windows: 10 Pro 1903 (18362.239)
  • CorvusSKK: 2.7.4, 2.7.8
  • 動作しなかったアプリ
    • LINE: 5.18.3.2001 (ストア版)
    • Evernote: 6.19.2.8555 (ストア版)
  • 動作したアプリ
    • Edge: 44.18362.1.0
    • Twitter: 6.1.4
    • LINE: 5.18.3.2001 (インストーラー版)
    • Evernote: 6.20.2.8626 (インストーラー版)

Request/要望 : Chocolateyのインストールパッケージ

どうも、いつも便利に利用させていただいています。

さて、現在のインストーラですが、/install /quietなどのオプションもあるようなので、できたらChocolateyからインストールできるようになる と嬉しいなと思います。
仕組み的には、インストーラのダウンロード/インストール自動化のNuGet的なスクリプトを用意(して、chocolateyでのレビューを通す)、ということになるのですが。

もちろん負担になるようでしたらアレですので、よければ検討していただければ、というところです。

以上。

note:
自分でもぼちぼちやれたならと考えてはいるのですが、Windows系に知識(と時間も)ないので、要望としてとりあえず上げさせていただきたく。

Windows 10 on ARM 対応

現状のまとめ

  • IME としては、x86, ARM32, ARM64 のTIPが必要となる。

  • Windows Installer で Platform が "Arm" だとインストール不可。"Arm64" である必要がある。ということで、ARM32/ARM64 のバイナリは1つの msi ファイルとした。

  • WiX Toolset 3.11.1 では ARM64 をサポートしていないので、Platform を x64 としてビルドした後に msiinfo コマンドで Platform を Arm64 に書き替えるようにした。

  • Visual C++ v14.16 の再配布可能ファイルが不足しているので、とりあえず現状では ARM32/ARM64 のバイナリはスタティックリンクとした。ログは提出済み。調査中のフェーズから変化がない…
    https://developercommunity.visualstudio.com/content/problem/385642/vc-2017-159-v1416-toolset-lacks-some-crt-redist-fi.html

  • プロジェクトのプロパティ WindowsSDKDesktopARMSupport と WindowsSDKDesktopARM64Support は必要なくなったようなので削除。
    124923e

  • ARM版ビルド手順 (x86/x64版のビルドも含む)
    (1) installer\_version.cmd で "set ENABLE_PLATFORM_ARM=1" と編集。
    (2) installer\_solution_build.cmd を実行。
    (3) installer\_build.cmd を実行。
    (4) installer\build\corvusskk-X-Y-Z-arm.exe ができる。

  • とりあえずARM版のインストーラを置いておきます。実行環境をお持ちの方がいたら試してみてください。
    corvusskk-2.7.3-arm.exe.zip

MS-IME/Mozc形式の辞書について

最近SKKを使い始めた初心者です。MS-IMEやMozc(GoogleIME)の辞書をサポートする計画はありますでしょうか。FEPの方は対応しているとのことなのですが、個人的にはこちらの方が使い勝手がいいので、サポートしていただけるとありがたいです。(既出でしたらすみません)

Windows 10 on ARM の x64 対応

ARM 版 WIndows10 が x64 のエミュレーションに対応するとのこと。
https://forest.watch.impress.co.jp/docs/news/1280130.html

おそらく、OS のビルド番号を見て x64 版をインストールするかどうか判断すれば良いと思われる。

参照 : Windows 10 on ARM 対応 #10

現行のインストーラーは WiX Toolset v3.11.2 だが v3.14 ~では Package/Platform に arm64 が追加されているので、安定版がリリースされたら使いたい。
https://wixtoolset.org/documentation/manual/v3/xsd/wix/package.html

PowerPoint で図形の「頂点の編集」ができなくなる

Microsoft Office LTSC Professional Plus 2021 での現象です。

https://support.microsoft.com/ja-jp/office/%E3%83%95%E3%83%AA%E3%83%BC%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E5%9B%B3%E5%BD%A2%E3%81%AE%E6%8F%8F%E7%94%BB%E3%81%BE%E3%81%9F%E3%81%AF%E7%B7%A8%E9%9B%86-44d7bb9d-c05c-4e1c-a486-e35fc322299b

のように図形の「頂点の編集」をしようとすると、CorvusSKK を利用している場合は図形へのテキストの入力に遷移してしまうようです。Microsoft IME ですと普通に効きます。頻繁に使う機能ではないので特段困っていませんが、情報まで。

Windows 起動時に imcrvmgr.exe の「vcruntime140_1.dll が見つからない」システムエラーが発生する

便利に使わせていただいています,ありがとうございます.

Choco 経由で ver. 2.7.9 に update したところ,
Windows 起動時に imcrvmgr.exe の「vcruntime140_1.dll が見つからない」システムエラーが発生するようです.

こちらの環境依存の問題かもしれませんが,
該当する Visual C++ Runtime を追加インストールして解決できています.

2019-11-21 205721

Chrome上で、かなモードで直接入力すると変換中のようなイベントになってしまう

Chrome 66 において、かなモードで「キーボード最上段の1」「テンキーの1」を押した際のイベントを https://w3c.github.io/uievents/tools/key-event-viewer.html で確認すると、次のような結果になりました。

image

同じ操作をASCIIモードで行うと、次のようになります。

image

前者ではkeypressが発生しておらず、key列が Process になっています。これは変換中のキー押下によるイベントと同様のパターンなので、JavaScript側で変換中のキー押下かどうかを判定しようとした際に誤判定が起きる可能性があります(isComposing等の違いはありますが…)。

同じ操作をSKK日本語FEPで行なったところ、かなモードとASCIIモードどちらでも後者の例と同じ結果が得られました。CorvusSKKでもこのような挙動にすることは可能でしょうか?

不具合? Windows ストアアプリでのOn/Offができない場合がある

報告が遅れてすみません、不具合か判別しかねたので...

Windows 10 Pro 1809 / 17763.195
corvusskk 2.7.4

しばらく前のバージョンからだと思われるのですが、Windows ストアアプリ/EdgeでIMEのOn/Off制御がうまくいきません。

確認した限りで

  • 半角/全角 漢字単体
  • 半角/全角 漢字+Alt
  • [@`] + Alt

は機能しますが
※機能するのはOS側制御でIME On/Offしてるからでしょうか....?

  • Ctrl + [\_]
  • 変換
  • 無変換

は機能しません。

※他のアサインはキーボード的に確認はできませんでした。

なお通常アプリでは問題ありません。
また、アンチウィルスをOffにしても変化はありませんでした。

  <section name="preservedkeyon">
    <list>
      <row vkey="0xC0" mkey="1" />
      <row vkey="0x19" mkey="0" />
      <row vkey="0xF3" mkey="0" />
      <row vkey="0xF4" mkey="0" />
      <row vkey="0xE2" mkey="2" />
      <row vkey="0x1C" mkey="0" />
    </list>
  </section>
  <section name="preservedkeyoff">
    <list>
      <row vkey="0xC0" mkey="1" />
      <row vkey="0x19" mkey="0" />
      <row vkey="0xF3" mkey="0" />
      <row vkey="0xF4" mkey="0" />
      <row vkey="0xE2" mkey="2" />
      <row vkey="0x1D" mkey="0" />
    </list>
  </section>

SHA-2証明書への移行

CertumがSHA-2のコードサイニング証明書の発行を開始したら取得する。
問い合せたところ、2016年の内には発行を開始するとのこと。

[質問] 候補一覧の候補数について

候補一覧表示について

候補一覧での確定は、デフォルトで 1〜7 と ASDFJKL と asdfjkl を使用します

とありますが、デフォルトで1~9、asdfjklghまで表示できるようにする設定方法はないでしょうか?

(ニッチなニーズではありますが、某オンラインゲームでチャット入力する際に、図のようにA~Lまでだと入力が少しややこしくなりまして、候補一覧表示数を変更して、1~9まで表示できれば解消するのですが…)

DQX_SKK

追記:
このゲームでは、IMEとの通信にTSFを使用しているようです

`Q` + `<` と入力しても `Q` + `>` と入力したときと同じ結果になる

たとえば を入力したいときには Q + < と入力して変換すればよいはずですが、これが Q + > と入力したときと同様の結果になってしまいます。Q + < と入力すると代わりになぜか > が表示され、スペースキーを何度か押すと が提示されます。

環境

  • version: v3.0.0
  • CorvusSKK の config の状況: 不明。ほとんど初期状態に近いはず
  • OS: Windows 10 Education, バージョン 1909 (OS ビルド 18363.1646)

環境によって入力中のフォントが別のものになる

いくつかの条件が重なったときに、入力中のフォントが表示のものとは別のものになってしまうようです。
確認できた再現条件としては、以下のような感じです。

  • Windows 10(8.1では問題なかった)かつ、
  • gVim, Tera Termなどいくつかのアプリケーション(メモ帳, コマンドプロンプトなどでは問題ない)かつ、
  • FixedSysその他いくつかのフォント(MS ゴシックなどでは問題ない)

以下gVimでこの問題が発症しているものと、メモ帳で問題なく動作している場合の画像です。

gvim
notepad

バージョンはCorvusSKK 2.7.4です。

Windows 11 + Slack で日本語入力できない

つい先日 Windows 10 から Windows 11 にOSをアップグレードしたのですが、それが切っ掛けか Slack において日本語入力できなくなってしまいました。

他のアプリケーションではタスクトレイの初期状態が「SKK」であるのに対し、Slack のみ「--」になってしまっています(Windows設定の「アプリウィンドウごとに異なる入力方式を設定する」は有効)
ただし Slack 上で Alt+@ することで「かな」にすることは可能でした。その一方で、「かな」の状態でも Ctrl+J は反応がなく、当然 l も効果がありませんでした。

試したこと(やった順)

  • Slack の再起動
  • CorvusSKK のインストーラによる Repair
  • Windows の再起動
  • Slack の再インストール (Microsoft Store にて)

詳しい条件等は不明ですが、他のアプリでは同現象は確認できていません。
同じく Electron 製の Discord も問題なしです。

【質問】キー設定について

以下の「やりたい事」を設定する方法があるのか、それとも仕様上設定出来ないのかが知りたいです。

やりたい事

キーに、次の様に機能を割り当てたい。

キー 機能
無変換 IME off
変換 IME on
Ctrl + 変換 ひらがな&確定

試した事

その1

設定内容

キー0

機能 仮想キー ALT CTRL SHIFT
キー設定 ON 0x1C 0 0 0
キー設定 OFF 0x1D 0 0 0

キー2

機能 仮想キー
ひらがな C\x1C
確定 C\x1C

結果

キー 動作
無変換 「IME off」は機能する
変換 「IME on」は機能する
Ctrl + 変換 「ひらがな」「確定」が機能しない

その2

設定内容

キー0

機能 仮想キー ALT CTRL SHIFT
キー設定 ON(※)
キー設定 OFF 0x1D 0 0 0

(※) 設定しない

キー2

機能 仮想キー
ひらがな C\x1C
確定 C\x1C

結果

キー 動作
無変換 「IME off」は機能する
変換 「IME on」は機能しない
Ctrl + 変換 「ひらがな」「確定」は機能する

'/'を含むLispスクリプトを登録した場合に実行できない形に変換されてしまう

たとえば (skk-strftime "%Y/%m/%d") を辞書登録した場合、登録時は日時(今日であれば'2021/02/16')に変換されますが、その後再度変換すると登録した内容の文字列そのままに変換されてしまいます。

CorvusSKKでは'/'を含む文字列を辞書登録する場合にLispで'\057'concatする形に変換して登録するようですが、その機能がLispスクリプトを登録する場合にも働いてしまうのが原因のようです。

手動で変換した上で登録すればいいだけの話ではあるんですが……。

バージョンはCorvusSKK 2.8.0です。

ExcelのPowerQuery編集画面で中の文字列が壊れてしまいます

質問させていただいても宜しいでしょうか。
ExcelのPowerQueryの編集画面で、入力しようとしてマウスをクリックしますと、
コマンドが走ってしまうような動作をしてしまい、中の文字列が壊れてしまいます。
マウスへのクリックがWindowsを上げて2度目の場合は、壊れない状況です。
また、Ctrl+ZでUndoすると壊れていた文字列は一度で元に戻る状況です。

設定をまったくいじっていないCorvusSKKとWin10でも発生いたします。
直ったりしますでしょうか。
CorvusSKK 3.1.4
Excel: Microsoft 365 Apps for enterprise

2022-10-19_18h30_26.mp4

2.5.6 with Win10 64bit skkserv connect fail?

環境
Windows 10 Pro 64bit

現象
2.5.6にアップデートした後、crvskkservとの接続ができないためか、漢字変換ができない状態になりました。(辞書は登録していないため)

アップデートのためでしょうが、2.4.0で入った「辞書がなくても最低限変換する」もできていません。
設定があるからだと思います。

一応、ファイアウォールの許可を設定したり、ポート変えてみたり、localhostを127.0.0.1/::1にしてみたりしましたが効果なしでした。

追記
辞書を登録しましたが、だめでした。またユーザー辞書も読めてないように思えます

秀丸ファイラにてリネーム時に一文字目だけ変換状態にならない

image

このような状態のポイントしてクリックした際のリネーム時のみ、一文字目からShiftで、もしくはstickyで変換を始めようとすると一文字目が無視されたような入力になります。「入力」としたくて "Nyuryoku" としようとして2文字目の"y"を入力した時点で、"N" が無視されたような入力状態になります。

秀丸ファイラのせいかとも思ったのですが、秀丸ファイラのバージョンを変えても問題が再現し、CorvusSKKを "3.0.1" から "2.8.0" に変えてみたところ再現しなくなりました。
しかも、秀丸ファイラを起動してすぐだと起こらず、数時間後に問題が起こることがあるという自分でも報告に困る状態な上、使ってる人もとても少ないであろう有償ファイラである秀丸ファイラでしか問題を確認していないのですが、一応報告を上げておきます。

CTRL+J でIME ON

キー0の設定にCTRL + 0x4Aを追加することでCTRL+JでIMEのONにする設定にできるのですが、そうするとキー1/2 で設定する機能で CTRL+Jが拾われなくなってしまい、ひらがな切替えや確定などで CTRL+Jが効かなくなってしまいます。

WSL2でEmacsを起動するとキーバインドが英語になってしまう

当方日本語キーボードを使っているのですが、WSL2でインストールしたUbuntuからEmacsをXで起動すると、Emacsの画面からcorvusskkを使うと英字キーボードとして認識されてしまいます。
Emacsの画面からWindows標準のIMEに切り替えると日本語キーボードとして認識されます。

コマンドラインから入力切替

コマンドラインから「かな」(ctrl+j)や、「ASCII」(l)の切替は行えるでしょうか。

VSCodeのVim拡張機能上で使用する際に、Insert -> Normalへ移動するタイミングでコマンドライン経由で自動的にASCIIへの切替えを実現したいと考えています。

CorvusSKK 4 に向けて

改善したい点メモ

  • 辞書登録から次の候補を表示するときCCandidateWindowクラスをスタックしていく形式となっているが、スタック数が増えると重くなってしまう。

    • ある程度スタック数にリミットを掛ける。
    • クラスをスタックするのではなく、状態のみスタックする。
  • CCandidateWindowで候補表示と辞書登録を切り替えている。

    • 辞書登録ウィンドウと候補ウィンドウを切り分ける。共通の基底クラスから派生させるか。
  • 辞書登録でのキー処理をコンテキストをnullptrとしてCTextServiceクラスに渡しているが、コンテキストがnullptrかどうかで切り分けるのは筋が悪い。

    • TSFのクラスとキー処理を分離する。(libskkみたいな感じか。)
  • ITfFnReconversionクラスの実装は無くても良いかもしれない。あるいは、送りありにも対応する。

  • 変数名、メソッド名などの命名規則。

  • 設定ファイルの項目名を省略しすぎて意味不明に近い。特にbehaviorセクション。

    • ある程度冗長でも無理に省略しない。
    • 互換性の為、旧項目名でも読めるようにはしておく。
  • ローマ字・仮名変換表の各項目にコメントを付けられるようにしたい。

  • キー設定に正規表現を使用しているが、より良い方法はないか。

  • ▽マークを出さないときで;キーやQキーなどにより文字表示がまだ無いときスペースで代替しているが、より良い方法はないか。

  • gzipな辞書の展開にzlibを使用しているが、より小さくまたは速くしたい。

Google Chrome でまともに入力できなくなる

AGDRec.mp4

名状しがたい挙動なので動画を添付します。これを撮影する前にすでに一度「文化たきつけ」を入力しようとしていました。こうなると Google Chrome を再起動するまでなおらないです。

Chrome のバージョンは バージョン: 89.0.4389.90(Official Build) (64 ビット)で corvusskk は 2.8.1 です。

Feature request: get IME status from external process

当方Windows上でVimを利用したりしているのですが、入力状態をコマンドなどから取得できると嬉しいです。

ということで、要望として提案します。
# luaの処理系で処理可能であれば十分なので、そちらでも大丈夫です。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.