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

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

論壇 聯絡 康熙字典網上版 捐助本站
 【2026年續】一鍵自動替換微軟倉頡碼表,完美使用倉頡補完計劃 - 倉頡論壇 - 康熙字典与倉頡之友 - Powered by Discuz!


 找回密碼
 注册
查看: 68|回復: 0

【2026年續】一鍵自動替換微軟倉頡碼表,完美使用倉頡補完計劃

[複製鏈接]
發表於 前天 07:48 PM | 顯示全部樓層 |閱讀模式
一樓餵熊
 樓主| 發表於 前天 09:49 PM | 顯示全部樓層
本帖最後由 馬拉一個錘子 於 11-9-2026 06:01 PM 編輯

Windows內建的「微軟倉頡」一直以來因碼表問題而備受詬病。

首先是重碼排序極不合理,例如「佑」排在「知」前、「顥」在「顯」前、「槳」在「樂」前、「戢」在「戰」前。此外,它還存在相當嚴重的錯碼問題,打簡體字時問題尤為突出。

出於效能考量,微軟倉頡將內存中的數據結構序列化儲存至硬盤,而非採用PlainText格式。這種設計雖然有利於執行效率,卻大幅增加了使用者替換碼表的難度。過去許多人嘗試替換碼表,最終都以失敗告終。

直到六年前,我在mrhso與xionghuaidong的研究基礎上,成功找到了替換微軟倉頡碼表的方法,並在論壇發帖分享。在當時,由於此前從未有人做到這點,可謂是一大突破。

不過,當時的方法仍有一些侷限:

1.重碼排序未達完美:微軟倉頡的辭典文件由ChtCangjie.sdc、ChtCangjie.spd與ChtCangjieExt.lex(或舊版的ChtChangjie.lex、ChtChangjie.spd、ChtChangjieExt.lex)組成,當時我僅分析出ChtCangjieExt.lex/ChtChangjieExt.lex的文件結構,我將數據寫入其中,並通過一些特殊方式解決字序問題。雖然替換後絕大多數常用字的重碼順序都合理,但仍有少部分字的重碼字序有些不妥。
2.可能失去聯想詞功能:雖然這個功能使用頻率可能不高,但是畢竟還是一個缺點。
3.字集開關問題:需要在微軟倉頡的「設置」中打開特定的字集開關,不能自由選擇想要什麼字集。
4.操作有些繁瑣:當時開發的工具僅支持生成碼表,因我的拖延症發作,遲遲未實現「一鍵自動替換」功能,這使得替換有些麻煩,讓一些人望洋興嘆。

今天,我要帶來的是一種全新的替換方式,不僅操作簡便,不再需要繁瑣的手動步驟,更令人振奮的是,上述所有文件的結構,已經研究清楚。這意味著,微軟倉頡現在可以完美替換為「倉頡補完計劃」碼表,不再有這些侷限了。

「倉頡補完計劃」包括倉頡三代補完計劃與倉頡五代補完計劃,對各類異體字及大字集皆有完善支援,已全面相容最新發布的Ext-J區與Unicode17.0標準。將微軟倉頡碼表升級為倉頡三代/五代補完計劃後,不僅能解決簡體字輸入問題,更可順暢打出ExtensionA至J區的所有罕見字與擴展字。

首先,請各位至以下的地方下載倉頡補完計劃碼表:
倉頡三代補完計劃:https://github.com/Arthurmcarthur/Cangjie3-Plus

然後,大家在下方能找到「適用於替換微軟倉頡碼表的文件」,直接點「此處」兩字下載。



截屏2026-09-10 21.49.15.png


下載後解壓,得到:
截屏2026-09-10 21.51.36.png

這就是我們替換微軟倉頡碼表所需的碼表文件了
接下來,我們去下載MicrosoftCangjieTool,它能幫助您自動替換碼表。
下載鏈接:https://github.com/Arthurmcarthur/MicrosoftCangjieTool/releases


截屏2026-09-10 21.52.15.png


點擊MSCJTool.exe開始下載,下載完雙擊,會看到這樣一個界面:


截屏2026-09-10 21.53.04.png


可以看到,本軟件已偵測到您的系統版本,在這裏,我的系統版本是Windows 11(build 26200)。
點擊「加入檔案」。然後我們進入到之前下載的碼表文件夾中,可以看到這兩個文件夾:



截屏2026-09-10 21.53.54.png


如果您的操作系統版本是Windows 11,就選「Windows_10_2004之後的版本及Windows_11」。
如果您的操作系統是Windows 10,則分兩種情況,這時您需要看後面的build。如果build後面跟的數字大於等於19041,仍然也選「Windows_10_2004之後的版本及Windows_11」。如果build後面跟的數字小於19041,就選「Windows_10_2004之前的版本」。
我們以「Windows_10_2004之後的版本及Windows_11」為例,點到裏面,可以看到兩個文件夾:


截屏2026-09-10 21.54.30.png


如果您用不到部首、筆畫、兼容區等部分,選「僅漢字」就夠了。然後,我們可以看到三個文件,我們把它們都選中,點「打開」:


截屏2026-09-10 21.55.08.png


此時,我們就可以看到,工具上顯示了這三個文件,我們點擊「驗證」。


截屏2026-09-10 21.55.40.png


驗證完成,顯示「合法」。您會注意到,「安裝到微軟IME」變亮,可以點擊了,我們點擊下去。


截屏2026-09-10 21.56.37.png


系統提示,請將輸入法切換到「英語(美國),或其他非微軟輸入法。這很重要,因為不這麼做,替換可能失敗。所以,此處我將右下角輸入法切換至英語(美國)。


截屏2026-09-10 21.57.13.png


截屏2026-09-10 21.57.41.png


然後,打勾並點擊「開始安裝」。


截屏2026-09-10 21.58.11.png


此時,軟件會嘗試結束相關進程,並刪除文件,這需要提升權限,所以會彈出UAC窗口,本軟件是開源軟件,源碼公開,可以放心點擊「是」。另外,建議暫時關閉防毒軟件,因為有誤報可能。


截屏2026-09-10 21.58.50.png


然後提示三個文件都安裝完成了:


截屏2026-09-10 21.59.23.png


OK,切到倉頡輸入法,會發現碼表已經替換到倉頡補完計劃了,碼表對了,排序也正常了。

截屏2026-09-10 22.00.06.png


當然,打罕用字也是不在話下。

FAQ:
Q:我所在的環境管理較嚴,不能下載你們的軟件,我可以手動替換嗎?
A:可以。您首先按下win+R,輸入winver,按下回車,知道自己的系統版本。然後,根據系統版本不同,您進入以下文件夾替換。
Windows 10 2004(build 19041)以前的版本:
1.先把輸入法切換至英文(美國),在任務管理器裏結束Microsoft IME。
2.進入C:Windows\InputMethod\CHT,刪除ChtChangjie.lex、ChtChangjie.spd和ChtChangjieExt.lex(推薦刪除前備份),再把新的ChtChangjie.lex、ChtChangjie.spd和ChtChangjieExt.lex文件複製進去。
3.重啓倉頡輸入法。
注意,這個路徑刪除文件,需要取得所有權,如果您不知道什麼是「取得所有權」,可以参考舊帖的做法。
Windows 10 2004(build 19041)以後的版本:
1.先把輸入法切換至英文(美國),在任務管理器裏結束Microsoft IME。
2.進入C:\Windows\System32\zh-hk,刪除ChtCangjie.lex、ChtCangjie.spd和ChtCangjieExt.lex(推薦刪除前備份),再把新的文ChtCangjie.lex、ChtCangjie.spd和ChtCangjieExt.lex件複製進去。
3.重啓倉頡輸入法。
這個路徑刪除文件,不存在所有權問題。但您仍需提前切換走輸入法,並結束進程。

Q:我可以放自己的碼表嗎?
A:可以,本軟件支持導入您的文本碼表。不過我們仍非常推薦使用倉頡補完計劃。

Q:我使用Windows 10,但我搞不清楚自己的build,怎麼辦?
A:建議您同時將ChtCangjie.lex、ChtCangjie.spd、ChtCangjieExt.lex、ChtChangjie.lex、ChtChangjie.spd和ChtChangjieExt.lex,這六個文件都加入到程序中,讓程序自動判斷替換。

Q:導入後似乎沒效果,和原來一樣?
A:請您確認切走輸入法至英語(美國)或其他非微軟輸入法。如果不切換走,或切換到「微軟速成」這樣的微軟輸入法,替換有可能失敗。
另外, Windows 2004(build 19041)後的版本及Windows 11,系統中同時存在位於C:\Windows\System32\zh-hk的ChtCangjie.lex、ChtCangjie.spd和ChtCangjieExt.lex,以及位於C:Windows\InputMethod\CHT的ChtChangjie.lex、ChtChangjie.spd和ChtChangjieExt.lex
這些版本的Windows默認讀取位於C:\Windows\System32\zh-hk的ChtCangjie.lex、ChtCangjie.spd和ChtCangjieExt.lex。但如果您在輸入法設置中打開了「使用以前版本的微軟輸入法」,那麼它會讀取C:Windows\InputMethod\CHT的ChtChangjie.lex、ChtChangjie.spd和ChtChangjieExt.lex。如果您打開了這個開關,替換的卻是前者,自然就無效了。所以,這時要替換ChtChangjie.lex、ChtChangjie.spd和ChtChangjieExt.lex才能生效,或者關掉開關。

Q:替換後生效了,可是在某次系統更新後又變回去了?
A:有些系統更新(不是全部)可能會讓碼表還原,此時您需要再次替換,這也是本帖推薦使用MicrosoftCangjieTool的原因,如果是手動替換就麻煩多了。
您需要登錄後才可以回帖 登錄 | 注册

本版積分規則

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

GMT+8, 12-9-2026 01:40 AM , Processed in 0.021820 second(s), 10 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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






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