倉頡之友
康熙与倉頡
主頁 自學 倉頡字典 康熙字典體

倉頡平台2022 網上輸入法 九萬漢字

論壇 聯絡 康熙字典網上版 捐助本站
微軟倉頡碼表編輯器嘗鮮版發佈 - 倉頡程式下載及技術支援 - 康熙字典与倉頡之友 - Powered by Discuz!



 找回密碼
 注册
查看: 25821|回復: 22

微軟倉頡碼表編輯器嘗鮮版發佈

 火.. [複製鏈接]
發表於 9-10-2020 23:37:21 | 顯示全部樓層 |閱讀模式
本帖最後由 馬拉一個錘子 於 10-1-2021 04:50 PM 編輯

--------------------2020年10月18日更新-------------------
本程序已開源,請看這裏。日後的更新將在releases中發佈,歡迎各位關注。
目前版本號為0.1.1a,更新內容:在UI上加上開源地址。


--------------------原帖于2020年10月9日-------------------
微軟倉頡碼表編輯器,原為微軟倉頡碼表生成姬,以Python寫成。只是速度緩慢,生成一個碼表需要二分鐘,因此以數種語言重寫,最後以C++(Qt)重寫了一遍,生成一個碼表僅需數秒,跨macOS/Windows兩個平台。
該編輯器的功能和界面參考xionghuaidong以C#(.Net)寫成的微軟五筆碼表編輯器,在原本預計應有「安裝碼表」、「生成碼表」等功能,由於本人的拖延症,「安裝碼表」功能至今未完成。: (  
雖然如此發佈有些倉促,但因為最近拖延症極度恶化+忙碌,預計今年無法完成剩下的一些代碼。再加上我已承諾過10月中旬會放出本程序,因此本編輯器的版本號暫定為0.1 alpha,供各位試用其生成碼表功能。而源碼,請讓我再拖到中旬再發出來,,,




有人可能要問,既然是「微軟」倉頡碼表編輯器,為什麼要編譯macOS的版本。因為這個程序很大一部分是在macOS上寫的,當然要「犒勞」一下mac了: )
截屏2020-10-17 下午11.17.32.png
 樓主| 發表於 9-10-2020 23:38:10 | 顯示全部樓層
本帖最後由 馬拉一個錘子 於 10-10-2020 12:22 AM 編輯

本軟件要求如下格式的碼表:
------------我是分割綫-------------
UTF-8 without BOM文本編碼的碼表文件,左邊為倉頡編碼,右邊為漢字,一行一字,中間以製表符或半角空格分隔。例如:
a        日
a        曰
aa        昌
------------我是分割綫-------------

選中正確格式的碼表後,請點擊「烤製碼表」功能,程序將會生成相應lex文件並複製到與選中的碼表相同的目錄中。
 樓主| 發表於 9-10-2020 23:40:12 | 顯示全部樓層
本帖最後由 馬拉一個錘子 於 10-1-2021 04:52 PM 編輯

下載鏈接:GitHub
 樓主| 發表於 10-10-2020 00:05:52 | 顯示全部樓層
由於安裝功能尚未寫好,生成的lex文件仍需手動替換,請參考 http://www.chinesecj.com/forum/f ... &extra=page%3D1
發表於 10-10-2020 13:50:30 | 顯示全部樓層
馬拉一個錘子 發表於 9-10-2020 11:40 PM
下載鏈接:Onedrive
密碼:11112222

Onedrive打不开
發表於 11-10-2020 11:24:21 | 顯示全部樓層

本人测试了一下windows8.1,发現win8用不了,win8码表文件不是ChtChangjieExt.lex这个,而是ChtChangjie.lex这个文件 ,你能把软件做了同时可以支持win8码表文件吗,五笔都可以,仓頡也应该可以做到!
 樓主| 發表於 18-10-2020 00:35:35 | 顯示全部樓層
本帖最後由 馬拉一個錘子 於 10-1-2021 04:53 PM 編輯
龍闖中原 發表於 11-10-2020 11:24 AM
本人测试了一下windows8.1,发現win8用不了,win8码表文件不是ChtChangjieExt.lex这个,而是ChtChangjie.lex这个文件 ,你能把软件做了同时可以支持win8码表文件吗,五笔都可以,仓頡也应该可以做到 ...


本程序的更新日後將於GitHub上放出,中國大陸應該能下載。
第二個問題,我以前提過,目前只解開了微軟倉頡Ext部分的lex,沒有測試過Windows 8,也不建議在8.1上使用,因為後者有排序亂的問題,而Windows 10通過一種方法(可看源碼)能使排序正常。
微軟五筆與微軟倉頡的lex編碼方式不同,前者的方法並不適用後者,如果我日後能解開非Ext部分的lex,那8.1應該就能正常使用,但在此不能作出保證。而且8/8.1的市佔率已經相當低,建議還是升級系統。
發表於 11-6-2021 12:53:42 | 顯示全部樓層
請問在微軟上有無辦法指定    , 。/ 為字根呢?
發表於 11-6-2021 16:19:22 | 顯示全部樓層
馬鈴薯烘蛋唷~ 發表於 11-6-2021 12:53 PM
請問在微軟上有無辦法指定    , 。/ 為字根呢?

我個人建議你下載AutoHotkey修改。
也有人更改keyboard firmware。
微軟本身也有 Microsoft Keyboard Layout Creator (KLC)。
 樓主| 發表於 11-6-2021 21:43:24 | 顯示全部樓層
馬鈴薯烘蛋唷~ 發表於 11-6-2021 12:53 PM
請問在微軟上有無辦法指定    , 。/ 為字根呢?

我認為可用於編碼的按鍵的範圍是寫死在微軟倉頡的程序裏的。
發表於 12-6-2021 14:09:16 | 顯示全部樓層
蓼汀花溆 發表於 11-6-2021 04:19 PM
我個人建議你下載AutoHotkey修改。
也有人更改keyboard firmware。
微軟本身也有 Microsoft Keyboard Lay ...

我是在想能不能從輸入法使得微軟倉頡可以用,。/為字根,再搭配樓主的自製碼表
autohotkey 是巨集工具
keyboard firmware 是只能改鍵盤配制以及自訂輸入
Microsoft Keyboard Layout 不能改變微軟倉頡的字根吧

所以字根指定和碼表只能輸出單個字元的規則是不能改變的

我自己也有下載DIME自訂輸入法
但是很喜歡微軟的ctrl+,出全形逗號功能
不知有無辦法在DIME上實現
或有沒有可以實現此功能的自訂輸入法
發表於 19-6-2021 14:38:45 | 顯示全部樓層
馬鈴薯烘蛋唷~ 發表於 12-6-2021 02:09 PM
我是在想能不能從輸入法使得微軟倉頡可以用,。/為字根,再搭配樓主的自製碼表
autohotkey 是巨集工具
k ...

不是很明白你的意思。你是說“增加字根”還是指“更換字根”呢?
發表於 21-6-2021 11:18:29 | 顯示全部樓層
蓼汀花溆 發表於 19-6-2021 02:38 PM
不是很明白你的意思。你是說“增加字根”還是指“更換字根”呢?

主要是增加字根,更換字根可透過碼表解決
發表於 21-6-2021 23:01:00 | 顯示全部樓層
馬鈴薯烘蛋唷~ 發表於 21-6-2021 11:18 AM
主要是增加字根,更換字根可透過碼表解決

你說的大概是類似於『師大大師輸入法』吧?
他們增加了,./;z的字根。如果你說的不是師大大師輸入法,那就是你自己做的輸入法,要麼你寫好了碼表,用多多輸入法產生器產生你要的輸入法,要麼你自己製作好yaml碼表掛載在小狼毫輸入法裏面。如果你自己要去改微軟倉頡的碼表,除非你有樓主馬拉的編寫程式的功力。

參考師大大師輸入法:
http://www.csie.ntnu.edu.tw/~lin ... IME/NTNU_Master.htm
發表於 21-6-2021 23:08:07 | 顯示全部樓層
本帖最後由 蓼汀花溆 於 21-6-2021 11:21 PM 編輯
馬鈴薯烘蛋唷~ 發表於 12-6-2021 02:09 PM
我是在想能不能從輸入法使得微軟倉頡可以用,。/為字根,再搭配樓主的自製碼表
autohotkey 是巨集工具
k ...


另外,我看到外國人修改keyboard firmware來輸入速記文字,因此,類似的原理似乎也可以用在倉頡輸入法。當許多輸入法在windows 10裏當機之後,我動起了修改keyboard firmware的念頭。

https://beta.docs.qmk.fm/using-q ... feature_stenography

https://qmk.fm/keyboards/georgi/
發表於 26-4-2022 17:18:22 | 顯示全部樓層
馬拉兄,請問在編輯器中如何快速對換表內英文與中文欄位,能以VS CODE或Vim說明下嗎?
手頭有上萬碼碼表,曾試過Excell,在幾千內可以對換。
 樓主| 發表於 27-4-2022 18:41:37 | 顯示全部樓層
本帖最後由 馬拉一個錘子 於 27-4-2022 07:35 PM 編輯
頡論 發表於 26-4-2022 05:18 PM
馬拉兄,請問在編輯器中如何快速對換表內英文與中文欄位,能以VS CODE或Vim說明下嗎?
手頭有上萬碼碼表, ...


以Sublime Text為例,假設是左邊編碼,右邊漢字,中間以TAB分隔:
查找:([a-z]+)        (.+)$
替換為:2        1

以Vim為例,同樣假設是左邊編碼,右邊漢字,中間以TAB分隔:
:%s/([a-z]+)        (.+)$/2        1/g

GNU/Linux和macOS還可以通過awk來處理,不過要注意CR LF和LF的區別。

VSCode官方版本在查找上有行數的限制,是19999行,所以不能用於很大的碼表,除非事先切分。

Excel也是可行的。
發表於 28-4-2022 10:15:10 | 顯示全部樓層
馬拉一個錘子 發表於 27-4-2022 06:41 PM
以Sublime Text為例,假設是左邊編碼,右邊漢字,中間以TAB分隔:
查找:([a-z]+)        (.+)$
替換為:2        1 ...

多謝馬拉兄提供正則與詳細回覆!
 樓主| 發表於 15-11-2022 22:27:44 | 顯示全部樓層
在Linux下以Wine-HQ運行,沒有發現問題。
不過由于本人的懶惰,Windows上自動安裝碼表的功能遲遲沒有完成。
1.png
2.png
發表於 16-1-2023 09:45:06 | 顯示全部樓層
谢谢楼主,直接套用2022平台的码表即可使用,解决了Arm Windows用不了2022平台的问题,十分感谢~
您需要登錄後才可以回帖 登錄 | 注册

本版積分規則

Archiver|手機版|小黑屋|康熙字典与倉頡之友

GMT+8, 4-12-2024 04:49 PM , Processed in 0.017033 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回復 返回頂部 返回列表






倉頡之友 .自學倉頡輸入法    1997 - 2024   
馬來西亞    https://www.chinesecj.com
姐妹站:康熙字典網上版