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

繁入簡出、移動端使用、全字集下生僻字候選位以及部分字拆分編碼問題 #14

Open
belovedrebellion opened this issue Nov 22, 2024 · 15 comments

Comments

@belovedrebellion
Copy link

  1. 繁入簡出功能無法生效,即使在鍵入快捷鍵時已經顯示由「漢字」變爲「汉字」,實際打字時並未產生變化
  2. 安卓端中文輸入法,將相關文件放入rime文件夾重新部署後,雖然方案已經可選「虎碼·繁」,但無法輸出漢字
  3. 全字集下有時生僻字怪異地佔據了過高候選位,例如要輸入「夾」字時若處於全字集模式會發現已經被一堆生僻字擠佔到了第二頁,但「夾」本身字頻很高,不知是何原因(還有部分字也是如此,但一時想不起來具體有哪些,待補充);詞組則是在全字集下皆會被(如果有同碼)生僻字佔據更高候選位,顯得有些違反直覺
  4. 拆分編碼問題:
    1. 「徹」字拆成了〔 𫹏⺝ · WBVy 〕,虎碼中並無「𫹏」根,與此錯根錯碼相關的字也需修正
    2. 「穀」字拆成了〔 壳一禾殳 · GFXR 〕,虎碼中並無「壳」根,與此錯根錯碼相關的字也需修正
    3. 「殺」字拆成了〔 㐅木丶殳 · BEIR 〕,同樣與官方碼表不符,與此相關的字也受其影響,需修正
@ywxt
Copy link
Owner

ywxt commented Nov 22, 2024

  1. 這邊在 fictx5-rime (Linux)與fcitx5-android平臺測試正常,請提供詳細的環境
  2. 中文輸入法的lua插件版本過低,請將方案 schemalua_filter/lua_processor*引用形式手動改爲 rime.lua 文件引入。
  3. 感謝反饋常用字全集靠後的問題,目前的生成的碼表有問題。對於詞組,個人在全集使用場景主要用於生僻單字輸入,故而所有的單字都位於詞組之前。如果對此有異議,歡迎探討。
  4. 這個些都是有意爲之,涉及到的字具體參見 部分拆分改用「T」源字形 #5添加額外字根 #8

@belovedrebellion
Copy link
Author

配置問題

  1. Windows 10 小狼毫 0.15.1.0
  2. 非常抱歉我沒太搞懂這個引用形式具體的修改方式,schema文件中與所述相關的有如下幾行:
    1. lua_processor@*huma.spelling_processor@spelling_processor
    2. lua_filter@*huma.single_char_only@single_char_only
    3. lua_filter@*huma.charset_filter@charset_filter
    4. lua_filter@*huma.spelling@spelling
    5. lua_filter@*huma.spelling@spelling_reverse
    6. lua_filter@*huma.postpone_fullcode@postpone_fullcode

請問改爲 rime.lua 文件引入是怎麼樣的操作?

詞組與生僻字候選關係問題

常用單字優先於詞組我是認同的,但全集中生僻字也優先於詞組個人認爲並無必要,以下對實際情況進行討論:

如果使用者都爲純單派,那這個問題不是問題,故只討論「兼有打詞與輸入生僻字需求」用戶的情況。

  1. 對於生僻字,因為本身使用頻率低,通常難以立即上屏,往往需檢視候選框确認無誤再擇定輸出;而既然都要認真查看候選框了,將那幾個詞組後置對提高輸出效率的作用微乎其微,還影響了正常的打詞。幾乎沒有需要快速輸入大量生僻字的場合,而詞組是可以常用的。
  2. 即便退一步說,有「快速輸入大量生僻字」的要求,將生僻字優先於詞組也是意義不明的。因爲最優解是保持全字集默認開啟,不僅能隨時打生僻字,需要使生僻單字前移時開閉詞組模式即可。詞組優先於生僻單字,既不影響正常打詞,也不會影響生僻單字輸出;而反觀生僻單字優先於詞組,不僅對生僻單字本身輸入效率的影響(很可能)微乎其微,還妨礙了正常打詞。

拆分編碼問題

  1. 很抱歉沒有認真關注那部分內容的詮釋,但我還是沒看懂「T」源字形是什麼意思,能麻煩您闡述一下嗎?
  2. 還有一個字我覺得可以優化,雖然「問」的字頻高於「丁」,但「adk」敲起來手感非常舒服且符合拆分,「丁」也作爲常用字但卻要人爲多加一碼變成「add」纔能首選上屏,個人認為取官方的「ad」直接出「丁」字而僅將「問」設爲「adk」是更優解。

@ywxt
Copy link
Owner

ywxt commented Nov 24, 2024

  1. 抱歉,我這邊沒有 Windows 10,但在 Windows 11上測試了 0.15.0 版本,沒有發現問題。請檢查在 程序文件夾\data\opencc 中是否存在 t2s.json 以及在 用戶文件夾\opencc 中是否放置其他方案的 t2s.json
  2. 在用戶文件夾中創建 rime.lua 或直接追加以下內容
spelling_processor = require('huma/spelling_processor')
spelling = require('huma/spelling')
single_char_only = require('huma/single_char_only')
charset_filter = require('huma/charset_filter')
postpone_fullcode = require('huma/postpone_fullcode')

然後在 huma_trad.custom.yaml 中添加:

patch:
  "engine/processors/@2": lua_processor@spelling_processor
  "engine/filters/@0": lua_filter@single_char_only
  "engine/filters/@1": lua_filter@charset_filter
  "engine/filters/@5": lua_filter@spelling@spelling
  "engine/filters/@6": lua_filter@spelling@spelling_reverse
  "engine/filters/@7": lua_filter@postpone_fullcode
  1. 如同你所說,幾乎沒有快速輸入大量生僻字的場景,大部分情況應該都是使用 常用 字集,全集 我能想到的場景就是臨時輸入個別生僻字,此時一般不會輸入詞組。會有人默認開啟大字集嗎? 想了一下,或許某些工作會有日常錄入生僻字的需求?
  2. 「T」源是臺灣字形,一方面是個人的喜好,此外就是避免如 誤/娛 這種右邊理論屬於同一個聲符 但會出現不同拆分的情況。
    image
    image
    另一種方案當然可以全部使用陸標字形,但就如我說的,個人喜好罷。
  3. 的簡碼同意,之後我會修改。

@belovedrebellion
Copy link
Author

  1. 查看了一下程序文件夾與用戶文件夾下的 t2s.json 文件,情況是這樣的:
    1. 程序文件夾:
      image
      image
    2. 用戶文件夾:
      image
      image

請問這種問題應當如何解決?嘗試了讓兩邊的 t2s.json 文件保持一致,但沒有作用,且一旦進行「漢字」切換爲「汉字」看能否生效的測試,電腦經常會極其卡頓一段時間。不知是不是保留了官方虎碼的問題,但官方虎碼有一些我喜歡的功能所以並不想完全清除。
2. 關於全字集,其實我個人就習慣保持全字集默認開啟,一來是有時寫作會選取一些屬於非常用集內但個人認爲更符合字理的用字(如「眞」等),二來是有時看古籍或娛樂需求要輸入一些非常用集內的字,而使用官方虎碼時由於全字集模式並不會影響常用字詞的佔位(即無礙於日常打字),故設置默認還省了手動開啟全集這一步驟。當然有我這種需求的人羣數量很小,所以修改常用詞組與非常用集字的候選關係並非剛需。但我想請教一下若我想自行修改應當如何操作呢?
3. 感謝對中文輸入法配置與「T」源字形的詮釋以及對簡碼建議的採取。

@ywxt
Copy link
Owner

ywxt commented Nov 25, 2024

  1. 看一下 TSPhrases.ocd2TSCharacters.ocd2 兩個文件是否存在,此外如果兩份 t2s.json 內容一致的話可以刪除用戶文件夾中的那份。
  2. 對於個人用字偏好理論上最好的解決辦法是自己維護一份常用字集與簡碼,只是對於普通用戶來說維護成本較高。常用字在 lua/huma/charset.lua 可以添加。此外,對於「眞」這種常用字來說,方案中沒有簡碼,可以接受一直打全碼選重嗎?如果可以的話我考慮一下將詞組放在單字之前。

@ywxt
Copy link
Owner

ywxt commented Nov 25, 2024

  1. 如果你對官方方案中或其他功能有需要的話,也歡迎討論。我也希望這份方案能滿足更多人的使用需求。

@belovedrebellion
Copy link
Author

belovedrebellion commented Nov 25, 2024

  1. 确實是與官方虎碼的衝突問題,剛剛嘗試了一下先只裝繁虎,繁轉簡是可以正常使用的。再裝上官方版後又出現了老問題。
    只有程序文件夾有 TSPhrases.ocd2TSCharacters.ocd2 文件,兩份 t2s.json 內容如之前圖片所示,一個爲 ocd2 ,一個爲 ocd不知當如何處理。不過如果能實現第3點的功能就不用考慮這個問題了。 雖然程序文件夾與用戶文件夾中的 t2s.json 文件內容有不同之處,但將用戶文件夾的 t2s.json 文件刪除後确實就不會出現繁轉簡功能開不出來的問題了,但爲了用某些功能要臨時切換方案始終還是不方便,所以仍然希望能實現自帶 3. 中的功能。
  2. 這個問題我認爲還是應該從目的的角度再進行解釋:我個人需求是保持能夠隨時打出任何想要以及可能的漢字,且不讓日常快速輸入受到影響的狀態,對於非常用字最重要的是能隨時打得出來,選重是無所謂的,放在比常用詞組更優先的位置上我覺得意義不大,因爲本身使用場合就不多,完全無需去花精力記憶位置以更快打出;且如我之前所言,就算想讓它們前移,只需關閉詞組即可,效果是一樣的;但若將生僻字優先於詞組,就會影響到更常用的詞組輸入。在開啟全字集的情況下,這種不常用字佔位對日常流暢輸出詞組影響很大,若想回到常用字集那樣順暢打詞不得不開啟又關閉,關閉又開啟,非常麻煩,但我輸出不常用字時本身就不需要有輸出詞組時的流暢度,所以置於詞組之後即便不關閉詞組,也基本沒什麼影響。對有時常輸出常用集外字與打詞需求的用戶而言顯然詞組前置是更舒適自然的,而對於沒有大字集需求的用戶,詞組優先於非常用字更是沒有影響。總而言之,讓詞組優先於非常用字基本有利無弊。至於個人喜好用字,這個沒什麼問題,因爲本身佔比相對極小,也基本屬於「能打出來就行」的範疇,且也並非都是要選重的,如之前提及的「眞」就無需選重,直接首碼輸出,當作是普通的四碼字即可。
  3. 官方功能很多,完全搬過來不現實也沒必要。就我個人而言lua功能斜槓引導隨時輸出日期(公曆+農曆)、時間、星期、節氣是很好用的,還有打字時的emoji、u區、u編濾鏡功能也很實用,其他目前覺得就不怎麼重要了,如果能實現這幾個功能我應該就能無慮刪除PC端的官方文件了,第1個問題也可以迎刃而解。

再次感謝作者對方案的貢獻。

@ywxt
Copy link
Owner

ywxt commented Nov 25, 2024

  1. 大字集詞組優先於單字我這兩天應該可以完成,只是目前的詞組冗餘較多,可能會影響體驗,如果發現問題也歡迎隨時反饋。
  2. 我整理一下需要的功能
  • 斜槓引導
    • 日期(公曆 + 農曆)
    • 時間
    • 星期
    • 節氣
  • emoji
  • Unicode 區域及編碼提示

我這兩天實現一下。

@ywxt
Copy link
Owner

ywxt commented Nov 26, 2024

完成了初版,使用中有問題歡迎反饋。

@belovedrebellion
Copy link
Author

請問在PC端有些字或字根在候選框中無法顯示的問題該如何解決呢?例:
image
環境Windows 10 小狼毫 0.16.3.0

@ywxt
Copy link
Owner

ywxt commented Nov 27, 2024

下載安裝 虎碼資源 中的 其他資源/必裝字體,參考 Weasel 字體設置 添加虎碼字根字體。

@ywxt
Copy link
Owner

ywxt commented Nov 27, 2024

如果你在使用 虎码秃版 小狼毫(Win) 中帶的 weasel.custom.yaml ,只需要安裝字體就可以了。

@belovedrebellion
Copy link
Author

明白了,感謝。

@belovedrebellion
Copy link
Author

belovedrebellion commented Nov 27, 2024

又有一個認爲可以優化的常用字,但我覺得這樣一個個地說作者修改起來會很麻煩,打算以後如果遇到類似的問題先積累到三個一組再一起提。現在這個方案應該已經比較完美了,主要也就是個別單字的微調,詞組這種無底洞的建議目前我不太打算去涉及。
1. 這次覺得可以優化的單字是「牙」字,理由與之前的「丁」相似:「外」的全碼是「lyb」,這個碼位被並不常用的「荽」字擠佔了,「牙」這種常用字卻要人爲多加一碼,「ly」還給「牙」字,「荽」的簡碼位給「外」我覺得更佳。 現在覺得沒必要了,lyb打起來還是不太舒服的,「牙」雖然是人爲多打一碼但敲起來更容易,「lyy」和「ly」的組合手感優於「lyb」與「ly」

@ywxt
Copy link
Owner

ywxt commented Nov 27, 2024

簡碼修改反饋在 #9 中吧,有空統一改。

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

2 participants