Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CorvusSKK 4 に向けて #18

Open
nathancorvussolis opened this issue Nov 7, 2020 · 12 comments
Open

CorvusSKK 4 に向けて #18

nathancorvussolis opened this issue Nov 7, 2020 · 12 comments

Comments

@nathancorvussolis
Copy link
Owner

nathancorvussolis commented Nov 7, 2020

改善したい点メモ

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

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

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

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

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

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

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

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

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

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

@nathancorvussolis
Copy link
Owner Author

  • 自動アップデート、もしくはバージョンアップの通知機能の追加。

@nathancorvussolis
Copy link
Owner Author

新しいMS-IMEは別プロセスで動くようになっていて、従来のTSFとは違う仕組みっぽい。
https://news.mynavi.jp/article/20190416-windows_insider_meetup/

もしAPIとして提供されたら対応したい。

@udnp
Copy link

udnp commented Feb 28, 2021

こんにちは.
それ自体まだ開発段階リリースのものなのですけど,Microsoft 公式の software manager となる winget での install/update にも対応していただけると,うれしいです.

https://docs.microsoft.com/ja-jp/windows/package-manager/winget/

@nathancorvussolis
Copy link
Owner Author

https://github.com/microsoft/winget-pkgs にPullRequestを投げて登録してもらう感じみたいですね。
後でちょっとやってみます。

@nathancorvussolis
Copy link
Owner Author

chocolateyだとインストーラーexeの戻り値の正常な値を設定できるのですが、wingetには設定項目が無いようです。
ローカルで試してみましたが、コードが3010(要再起動)だと、インストール自体は完了するもののエラー扱いになってしまうみたいなので今のところちょっと使えないですね。

chocolatey

Untitled2

winget

Untitled

@udnp
Copy link

udnp commented Mar 4, 2021

chocolateyだとインストーラーexeの戻り値の正常な値を設定できるのですが、wingetには設定項目が無いようです。
ローカルで試してみましたが、コードが3010(要再起動)だと、インストール自体は完了するもののエラー扱いになってしまうみたいなので今のところちょっと使えないですね。

まだ実用的段階には達してないみたいですね...ありがとうございました.

@nathancorvussolis
Copy link
Owner Author

manifest v1.0 でインストーラーの戻り値を設定できるようになったみたいなので登録してみました。
microsoft/winget-pkgs#12256

以下のようなコマンドでインストールできます。

winget install corvusskk

@nathancorvussolis nathancorvussolis changed the title CorvusSKK 3 に向けて CorvusSKK 4 に向けて Jun 5, 2021
@tojamkei
Copy link

tojamkei commented Jun 8, 2021

辞書ファイルの配置を任意のフォルダに指定できるようにしていただけないでしょうか?
現状でもJunctionを使えば,任意の位置に指定できるのですが,昨年Windowsの大規模アップデートの折に,記憶域の致命的バグに遭遇して,なんとか復帰しようと復元ポイントでもどそうとしたところ,CドライブにJunctionが設定されているために復元できない,とのメッセージが表示され,結局大量のデータを喪失しました(涙),なんのためにパリティまで設定していたのか…….

CourvusSKKのためだけにJunctionを使っていたので,復元ポイントを使えるようにするために,現在はJunctionの使用は控えています.設定で辞書ファイルや設定ファイルの位置に任意のフォルダを指定できるようになれば,トラブル時にも復元が使える可能性があるので,ご検討お願いいたします.

@nathancorvussolis
Copy link
Owner Author

情報ありがとうございます。ジャンクションがあると復元ができないんですね。
辞書ファイルや設定ファイルの置き場所については検討したいと思います。
とりあえずとしては、ユーザー辞書などを定期的にバックアップするスクリプトなどを何かのタイミングで走らせるようにしてみてはいかがでしょうか。

@t4k48n
Copy link

t4k48n commented Apr 5, 2022

設定の「キー1」,「キー2」に「確定(キー透過)」を加えていただけると助かります.
この項目があれば変換中にEnterを入力したときに,確定しつつ改行ができるようになると思います.
既存の機能で設定できるようでしたらすみません.

@cmplstofB
Copy link

設定の「キー1」,「キー2」に「確定(キー透過)」を加えていただけると助かります. この項目があれば変換中にEnterを入力したときに,確定しつつ改行ができるようになると思います. 既存の機能で設定できるようでしたらすみません.

👍
この機能はぜひ実装して欲しいです(見落しがあればすいません)。

(不正確な用語ですが)〝元ネタ〟であるDDSKKにおいても,

▼モードで RET を入力すると、確定し、かつ改行を行
----https://ddskk.readthedocs.io/ja/latest/06_apps.html#ret

うような構成が既定になっていますので,過去互換性の観点からも合理的な機能だと思います。

@nathancorvussolis
Copy link
Owner Author

nathancorvussolis commented Aug 20, 2022

DDSKKの場合Emacsの中で動きますが、Windows上のIMEとしては入力のある全てのアプリケーション上で動くので、そもそも改行を送ってもいいのだろうかという懸念があります。

Enterキーを送り付ける場合では、入力箇所によってはアプリケーション上のOKボタンを押したことになってしまうケースが考えられます。

また、改行コードを送り付ける場合では、EmacsならLFで決め打ちとしても良いかもしれませんが、LFにするかCR+LFにするかが一概に決まりません。

ということで、現状では skk-egg-like-newline な動きしかできないようになっています。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants