DIME 是一套適用於 Windows 8/10/11 的輸入法框架,支援多種中文輸入法,包含大易、行列、注音、自建輸入法。
- 原生支援Windows各平台
- 同一套程式碼同時支援 Windows x86/x64/ARM64 架構
- 遵循 Windows TSF(Text Services Framework)標準,同時支援傳統桌面應用程式與 Microsoft Store 應用程式
- 大易輸入法
- 標準大易輸入法 (Windows 內建碼表或自行提供碼表)
- 行列輸入法 (行列30/行列40)
- 標準行列輸入法 (內建行列最新碼表)
- 支援 Unicode CJK Ext-A~G (行列30)
- 傳統注音輸入法
- 支援標準/許氏 鍵盤排列
- 自訂字根檔
- 所有輸入法支援自行載入 .cin 碼表
- 自建詞庫輸入
- 所有輸入法支援自建詞庫
- 支援自建詞庫匯入匯出
- 支持字根反查
- 支持Widnows TSF 標準反查界面,可以Windows 內建輸入法互相反查
- 輕量化設計
- 100% 原生 C++ 開發,無第三方外部程式碼、函式庫或二進位檔案相依性
- 隱私保護
- 不學習使用者輸入內容,不連線網路,無任何隱私疑慮
- 開源專案
- 程式碼完全公開,歡迎檢視、使用與貢獻
-
下載通用安裝檔 DIME-x86armUniversal.zip (單一安裝檔同時支援 x86/x64/ARM64 三種平台,安裝程式會自動偵測並安裝對應檔案)
-
解壓縮
DIME-x86armUniversal.zip取得DIME-x86armUniversal.exe安裝檔至任意目錄 -
(建議)驗證檔案完整性:
最新版本 SHA-256 CHECKSUM (更新日期: 2026-02-10):
| 檔案 | SHA-256 CHECKSUM |
|---|---|
| DIME-x86armUniversal.exe | AD688EB04F62BA06D245E394E7EB75AA89601D199D5DE0BED6A59763379BF1D8 |
| DIME-x86armUniversal.zip | 502CD1BCB1290E4366A57DDA351D8D40B70F76E7301D8C16FAED386C495D6830 |
建議用如下Powershell指令,取得 SHA-256 CHECKSUM,將顯示的CHECKSUM 與上方表格中公布的值比對。
# 驗證 .exe 檔案
Get-FileHash DIME-x86armUniversal.exe -Algorithm SHA256
# 或驗證 .zip 檔案
Get-FileHash DIME-x86armUniversal.zip -Algorithm SHA256為什麼需要驗證? 安裝程式未經數位簽章,因此無法透過 Windows 驗證發行商身分。透過比對 SHA-256 CHECKSUM 可確保下載的檔案與DIME正式發布版本完全一致,未經竄改。
- 執行
DIME-x86armUniversal.exe進行安裝,安裝後會自動新增以下四種輸入法:
- DIME自建 - 自建 .cin 碼表輸入法
- DIME傳統注音 - 傳統注音輸入法
- DIME大易 - 大易輸入法
- DIME行列 - 行列輸入法
安裝時的安全警告
執行 DIME 安裝程式時,Windows 會顯示使用者帳戶控制 (UAC) 提示,如下所示:
![]()
為什麼需要系統管理員權限?
DIME 安裝程式需要系統管理員權限 (elevation rights) 才能完成以下操作:
- 註冊輸入法服務:將 DIME 註冊為 Windows Text Services Framework (TSF) 輸入法,需要寫入系統登錄檔
- 複製系統檔案:將輸入法 DLL 檔案安裝到系統目錄(詳見檔案說明)
- 設定系統組態:配置輸入法在所有使用者帳戶中可用的相關設定
這些操作都需要系統管理員權限才能執行,這是所有輸入法安裝程式的標準要求。
為什麼顯示「未知的發行者」?
UAC 對話框中顯示「未知的發行者」(Unknown Publisher),並且檔案資訊顯示「無法驗證發行者」,這是因為:
- 未經數位簽章:DIME 安裝程式未使用程式碼簽章憑證 (Code Signing Certificate) 進行數位簽章
- 簽章成本考量:程式碼簽章憑證每年需要數百至數千美元的費用,對於免費開源專案來說成本過高
- Windows 安全機制:Windows 無法驗證安裝程式的發行者身分,因此會顯示此警告
這樣安全嗎?
儘管顯示未知發行者警告,DIME 仍然是安全的,原因如下:
✅ 100% 開源:所有原始碼公開於 GitHub,任何人都可以檢視和審查
✅ 無外部依賴:使用純 C++ 開發,不包含任何第三方程式庫、外部程式碼或可疑的二進位檔案
✅ 可驗證完整性:請務必從DIME GitHub 頁面下載安裝包 並比對 SHA-256 CHECKSUM,以確認下載的檔案未經竄改(見步驟 3)
✅ 無網路連線:不會連接網路,不會收集或傳送任何使用者資料
✅ 社群驗證:開源社群可以驗證程式碼的安全性
- 如不需要全部輸入法,可在「設定」→「時間與語言」→「語言」→「中文(台灣)」→「選項」中,點選不需要的輸入法旁的「⋯」選單,選擇「移除」
在「設定」→「應用程式」→「已安裝的應用程式」中,搜尋 DIME 並移除
安裝後可透過開始選單中的「DIME設定」開啟設定程式,選擇要設定的輸入法:
也可以在使用輸入法時,按下 Ctrl + \ 直接開啟該輸入法的設定頁面。
| 設定 | 說明 |
|---|---|
| 字型 | 候選字視窗的字型與大小 |
| 顏色 | 候選字視窗各元素的顏色設定(一般字型、選項字型、背景、聯想字、標號等) |
| 在桌面模式顯示浮動中英切換視窗 | 跟隨系統游標顯示浮動中文/英數切換提示視窗 |
| 回復原始設定 | 將外觀設定還原為預設值 |
通用設定(所有輸入法設定頁面):
| 設定 | 說明 |
|---|---|
| 九宮格數字鍵盤 | 設定右方九官格數字鍵盤的功能(數字輸入或選字) |
| 錯誤組字時清除字根 | 輸入錯誤時自動清除已輸入的字根 |
| 錯誤組字嗶聲提示 | 輸入錯誤時發出嗶聲 |
| 錯誤組字提示窗開啟 | 輸入錯誤時顯示提示視窗 |
| 提示聯想字詞 | 選字後顯示相關聯想詞 (切換先查詢自建詞庫再查詢主碼表/先查詢主碼表再查詢自建詞庫) |
| 以方向鍵換頁 | 使用左右方向鍵切換候選字頁面 |
| 以空白鍵換頁 | 使用空白鍵切換至下一頁候選字 |
| 全半形輸入模式 | 設定全形/半形輸入模式(以 Shift+Space 切換、全形、半形) |
| 中英切換熱鍵 | 設定切換中文/英數輸入的熱鍵(左右 Shift、右 Shift、左 Shift、僅 Ctrl+Space) |
| 預設輸入模式 | 啟動時預設為中文或英數模式 |
| 輸出字元 | 輸出繁體中文或簡體中文 (簡繁轉換) |
| 反查輸入字根 | 選擇用於反查字根的輸入法(可與 Windows 內建輸入法互查) |
DIME 大易輸入法設定
| 設定 | 說明 |
|---|---|
| 地址鍵輸入符號 | 啟用後可用地址鍵輸入全形符號(見下表) |
| 有候選字時嗶聲提示 | 出現候選字時發出提示音 |
地址鍵符號對照表:
| 按鍵 | 地址模式 | 符號模式 |
|---|---|---|
| ` | 巷 | : |
| ' | 號 | , |
| [ | 路 | 。 |
| ] | 街 | ? |
| - | 鄉 | 、 |
| \ | 鎮 | ; |
DIME 行列輸入法設定
| 設定 | 說明 |
|---|---|
| 行列查詢碼表 | 選擇行列30或行列40模式(見下表) |
| 僅接受輸入特別碼 | 啟用後僅能輸入特別碼,不接受一般字碼 |
| 特別碼提示 | 輸入一般字碼時提示對應的特別碼 |
以 ' 鍵查詢自建詞庫 |
' 為詞彙結束鍵,勾選時查詢自建詞庫,否則查詢內建行列詞庫 |
行列查詢碼表選項:
| 選項 | 說明 |
|---|---|
| 行列30 Unicode Ext-A | 行列30,支援 CJK 基本區與擴充 A 區 |
| 行列30 Unicode Ext-AB | 行列30,支援 CJK 基本區與擴充 A、B 區 |
| 行列30 Unicode Ext-A~D | 行列30,支援 CJK 基本區與擴充 A~D 區 |
| 行列30 Unicode Ext-A~G | 行列30,支援 CJK 基本區與擴充 A~G 區 |
| 行列40 Big5 | 行列40,僅支援 Big5 字集 |
DIME 傳統注音輸入法設定
| 設定 | 說明 |
|---|---|
| 鍵盤對應選擇 | 選擇標準注音鍵盤或許氏鍵盤排列 |
DIME 自建輸入法設定
| 設定 | 說明 |
|---|---|
| 組字區最大長度 | 設定輸入碼的最大字元數 |
| 打字時同步組字 | 輸入時即時查詢並顯示候選字 |
| 空白鍵為第一選字鍵 | 以空白鍵選擇第一個候選字 |
| 按鍵 | 功能 |
|---|---|
| Shift | 切換中英模式 |
| Ctrl + Space | 切換中英模式(永遠有效) |
| Shift + Space | 切換全形/半形 |
| Ctrl + \ | 開啟輸入法設定頁面 |
以下快捷鍵可在各輸入法設定頁面中調整:
中文/英數切換方式:
- 左右 Shift 鍵
- 右 Shift 鍵
- 左 Shift 鍵
- 無(僅 Ctrl + Space 鍵)
全形/半形切換方式:
- 以 Shift + Space 熱鍵切換
- 全形
- 半形
所有輸入法皆支援自建詞庫功能,可新增常用字詞、專有名詞或特殊符號。
使用方式:
- 每行輸入一組自訂字詞,格式為:
輸入碼[空白]自訂字詞 - 例如:
abc 測試詞表示輸入abc即可出現「測試詞」
功能按鈕:
| 按鈕 | 說明 |
|---|---|
| 載入主碼表 | 載入自訂的 .cin 主碼表檔案 |
| 載入聯想詞表 | 載入額外的聯想詞庫 |
| 載入詞庫 | 載入行列詞庫(行列輸入法專用) |
| 匯出自建詞庫 | 將目前自建詞庫匯出為檔案備份 |
| 匯入自建詞庫 | 從檔案匯入自建詞庫(支援 UTF-8 及各種編碼) |
相關設定:
- 自建詞優先:勾選後,輸入時會優先顯示自建詞庫中的字詞
- 以
'鍵查詢自建詞庫(行列輸入法專用):'為行列詞彙輸入結束鍵,以'結束組字時,若勾選此選項會查詢自建詞庫,若不勾選則查詢內建行列詞庫(Array-Phrase.cin)
行列輸入法頁面載入主碼表按鍵可載入客製行列30主碼表,並支援載入額外碼表,透過此頁面的按鈕進行載入:
設定頁面提供專用按鈕來載入行列輸入法額外碼表:
| 按鈕 | 碼表檔案 | 說明 |
|---|---|---|
特別碼 |
Array-special.cin | 載入行列特別碼碼表 |
簡碼 |
Array-shortcode.cin | 載入行列簡碼碼表 |
ExtB |
Array-Ext-B.cin | 載入行列CJK 擴充 B 區罕用字碼表 |
ExtCD |
Array-Ext-CD.cin | 載入行列CJK 擴充 C、D 區罕用字碼表 |
ExtEFG |
Array-Ext-EF.cin | 載入行列CJK 擴充 E、F、G 區罕用字碼表 |
行列詞庫 |
Array-Phrase.cin | 載入行列詞彙輸入碼表 |
行列40 |
Array40.cin | 載入行列40 碼表 |
自訂碼表提示: 若要客製化這些碼表內容,可直接編輯內建的 .cin 檔案(位於
%ProgramFiles%\DIME\目錄),編輯存檔後點選對應按鈕重新載入即可生效。碼表格式請參考自訂碼表格式說明。
DIME 支援標準 .cin 碼表格式,此格式源自 xcin 輸入法,廣泛應用於各種中文輸入法。檔案必須以 UTF-8 編碼儲存。
.cin 檔案使用 % 開頭的控制鍵定義碼表屬性,以 # 開頭的行為註解:
| 控制鍵 | 說明 | 範例 |
|---|---|---|
# |
註解(整行忽略) | # 這是註解 |
%ename |
英文名稱 | %ename array30 |
%cname |
中文名稱 | %cname 行列30 |
%encoding |
檔案編碼(建議 UTF-8) | %encoding UTF-8 |
%selkey |
選字鍵(最多10個) | %selkey 1234567890 |
%endkey |
組字結束鍵(注音聲調用) | %endkey 3467 |
%keyname begin/end |
字根對照表區段 | 見範例 |
%chardef begin/end |
字碼對照表區段 | 見範例 |
%sorted |
DIME 專屬:索引加速(1=啟用) | %sorted 1 |
%autoCompose |
自動組字(1=啟用) | %autoCompose 1 |
%sorted 索引機制(DIME 專屬):
%sorted 是 DIME 專屬的控制鍵,用於大幅加速碼表查詢效能。當 %sorted 1 啟用時,DIME 會在載入碼表時建立字首索引表(Radical Index Map):
- 索引建立:解析
%chardef區段時,記錄每個輸入碼首碼第一次出現的檔案位置 - 快速定位:查詢時直接跳轉至輸入首碼開頭的位置,無需從頭搜尋
- 提前終止:找到符合的字碼後,遇到不同首字母即停止搜尋
使用條件:
%chardef 區段內的輸入碼必須先行排序 (不區分大小寫)
效能比較:
| 設定 | 搜尋方式 | 適用情境 |
|---|---|---|
%sorted 0 或未設定 |
從頭到尾逐行搜尋 | 小型碼表、未排序碼表 |
%sorted 1 |
索引定位 + 提前終止 | 大型已排序碼表(建議) |
範例: 若碼表已排序,輸入 ba 查詢時:
- 透過索引直接跳至
b開頭的位置 - 搜尋直到找到所有
ba的對應字 - 遇到
bb或c開頭時立即停止
建議: 對於超過 10,000 筆資料的碼表,強烈建議碼表先行排序並啟用 %sorted 1。
# 註解
%ename 英文名稱
%cname 中文名稱
%selkey 選字鍵
%sorted 1
%keyname begin
按鍵 字根顯示
%keyname end
%chardef begin
輸入碼 輸出字詞
%chardef end
- %keyname:定義按鍵與字根符號對應,格式為
按鍵<Tab>字根或按鍵<空格>字根 - %chardef:定義輸入碼與輸出字詞對應,格式為
輸入碼<Tab>字詞輸入碼<空格>字詞 - 同一輸入碼可對應多個字詞(多行)
- 若啟用
%sorted 1,%chardef段落必須按輸入碼排序 - DIME 專屬:雙引號
"為選用,僅在內容包含空白時需要(原始 .cin 格式不支援空白)
基本範例:
# 自訂輸入法
%ename MyIME
%cname 我的輸入法
%encoding UTF-8
%selkey 1234567890
%sorted 1
%keyname begin
a A
b B
%keyname end
%chardef begin
a 啊
a 阿
ai 愛
b 不
ba 把
%chardef end
行列輸入法 (Array.cin):
%ename array30
%cname 行列30
%selkey 1234567890
%sorted 1
%keyname begin
a 1-
b 5v
c 3v
%keyname end
%chardef begin
, ,
, 火
,, 炎
%chardef end
注音輸入法 (phone.cin): 使用 %endkey 定義聲調鍵
%ename Phonetic
%cname 注音
%selkey 123456789
%endkey 3467
%keyname begin
3 ˇ
4 ˋ
1 ㄅ
%keyname end
%chardef begin
- 兒
-3 爾
-4 二
%chardef end
聯想詞表/行列詞庫 (見Array-Phrase.cin): 可省略 %keyname 區段,直接使用 %chardef 定義輸入碼與字詞對應,並啟用 %sorted 1 加速查詢
%sorted 1
%chardef begin
,,, 米糕
,,,, 炎炎
,,r, 炎熱
%chardef end
安裝程式會依據作業系統平台安裝對應的檔案:
系統檔案:
| 平台 | 檔案 | 安裝位置 | 說明 |
|---|---|---|---|
| x64 | DIME.dll (x64) |
System32 | 64 位元輸入法核心 |
| x64 | DIME.dll (x86) |
SysWOW64 | 32 位元輸入法核心,供 x86 程式使用 |
| ARM64 | DIME.dll (ARM64EC) |
System32 | ARM64EC 輸入法核心,支援 ARM64 原生程式與 x64 程式(模擬環境) |
| ARM64 | DIME.dll (x86) |
SysWOW64 | 32 位元輸入法核心,供 x86 程式使用(模擬環境) |
| x86 | DIME.dll (x86) |
System32 | 32 位元輸入法核心 |
程式檔案(%ProgramFiles%\DIME\):
| 檔案 | 說明 |
|---|---|
DIMESettings.exe |
DIME 設定程式 |
Array.cin |
行列30 主碼表 |
Array40.cin |
行列40 主碼表 |
Array-Ext-B.cin |
行列30 CJK Ext-B 擴充碼表 |
Array-Ext-CD.cin |
行列30 CJK Ext-CD 擴充碼表 |
Array-Ext-EF.cin |
行列30 CJK Ext-EF 擴充碼表 |
Array-Phrase.cin |
行列詞庫 |
Array-shortcode.cin |
行列簡碼表 |
Array-special.cin |
行列特別碼表 |
phone.cin |
注音碼表 |
TCFreq.cin |
常用字頻率表(用於候選字排序) |
TCSC.cin |
繁簡轉換對照表 |
uninst.exe |
移除程式 |
DIME 會在使用者的漫遊設定檔資料夾建立 DIME 目錄,存放個人化設定與碼表:
設定檔(.ini):
| 檔案 | 說明 |
|---|---|
DayiConfig.ini |
大易輸入法設定 |
ArrayConfig.ini |
行列輸入法設定 |
PhoneConfig.ini |
注音輸入法設定 |
GenericConfig.ini |
自建輸入法設定 |
主碼表:
DIME 執行時一律從此目錄讀取碼表(.cin),碼表來源有兩種:
- 從 Program Files 複製:行列(Array.cin)與注音(phone.cin)在首次使用時會自動從安裝目錄複製
- 從設定頁面載入:使用者可透過各輸入法設定頁面的「載入主碼表」按鈕載入任意 .cin 檔案,載入時會自動轉換編碼(UTF-8 → UTF-16)並重新命名為該輸入法的固定檔名(見下表)
| 檔案 | 說明 |
|---|---|
Dayi.cin |
大易主碼表 |
Array.cin / Array40.cin |
行列30/40主碼表 |
Phone.cin |
注音碼表 |
Generic.cin |
自建輸入法主碼表 |
自建詞庫:
使用者透過各輸入法設定頁面的「自建詞庫」功能新增自建字詞時,會自動建立對應的詞庫檔案:
| 檔案類型 | 檔案名稱 | 說明 |
|---|---|---|
| 使用者編輯格式 (.txt) | DAYI-CUSTOM.txt |
大易自建詞庫(可直接編輯的文字檔) |
| 輸入法引擎格式 (.cin) | DAYI-CUSTOM.cin |
大易自建詞庫(輸入法實際使用) |
| 使用者編輯格式 (.txt) | ARRAY-CUSTOM.txt |
行列自建詞庫(可直接編輯的文字檔) |
| 輸入法引擎格式 (.cin) | ARRAY-CUSTOM.cin |
行列自建詞庫(輸入法實際使用) |
| 使用者編輯格式 (.txt) | PHONETIC-CUSTOM.txt |
注音自建詞庫(可直接編輯的文字檔) |
| 輸入法引擎格式 (.cin) | PHONETIC-CUSTOM.cin |
注音自建詞庫(輸入法實際使用) |
| 使用者編輯格式 (.txt) | GENERIC-CUSTOM.txt |
自建輸入法自建詞庫(可直接編輯的文字檔) |
| 輸入法引擎格式 (.cin) | GENERIC-CUSTOM.cin |
自建輸入法自建詞庫(輸入法實際使用) |
.txt 檔案(使用者編輯格式)
📝 使用者可直接用文字編輯器開啟修改
💾 UTF-16LE 編碼(含 BOM)
📋 簡化格式:僅包含 `輸入碼 字詞` 的內容
🖊️ 設定頁面編輯框顯示和編輯的就是此檔案內容
💡 可手動編輯後,下次開啟設定頁面會自動載入
.cin 檔案(輸入法引擎格式)
⚙️ 輸入法引擎實際載入使用的碼表
💾 UTF-16LE 編碼
📋 標準 .cin 格式:包含 `%chardef begin/end` 控制區段
🔤 特殊字元自動跳脫處理(`\` → `\\`、`"` → `\"`,並視需要加上雙引號)
🔄 每次點選「套用」時,會自動從 `.txt` 轉換生成
聯想詞庫:
使用者透過各輸入法設定頁面的「載入聯想詞表」按鈕載入聯想詞庫時,會自動建立。此檔案為所有輸入法共用:
| 檔案 | 說明 |
|---|---|
Phrase.cin |
通用聯想詞庫(所有輸入法共用) |
行列專用碼表:
首次使用行列輸入法時,會自動從安裝目錄複製:
| 檔案 | 說明 |
|---|---|
Array.cin |
行列30 主碼表 |
Array-Ext-B.cin |
CJK Ext-B 擴充字 |
Array-Ext-CD.cin |
CJK Ext-CD 擴充字 |
Array-Ext-EF.cin |
CJK Ext-EFG 擴充字 |
Array-Phrase.cin |
行列詞庫 |
Array-shortcode.cin |
行列簡碼 |
Array-special.cin |
行列特別碼 |
Array40.cin |
行列40 碼表(當選用行列40) |
其他:
首次使用時,會自動從安裝目錄複製:
| 檔案 | 說明 |
|---|---|
TCFreq.cin |
常用字頻率表 |
TCSC.cin |
繁簡轉換表 |
TableTextServiceDaYi.txt |
Windows 內建大易碼表 (首次使用從 %PROGRAMFILES%\Windows NT\TableTextService 目錄複製) |
DIME 是開源專案,歡迎開發者 fork 並基於 DIME 建立衍生專案或軟體。
DIME is an open-source project. Developers are welcome to fork and build derivative projects or software based on DIME.
專案特色 / Project Highlights:
- ✅ 100% 原生 C++ / 100% Native C++ - 無外部依賴 / No external dependencies
- ✅ BSD 3-Clause 授權 / BSD 3-Clause License - 商業與非商業皆可使用 / Free for commercial and non-commercial use
- ✅ 多平台支援 / Multi-platform Support - x86/x64/ARM64EC 單一程式碼基底 / Single codebase for all platforms
- ✅ 完整的 TSF 實作 / Complete TSF Implementation - Windows Text Services Framework 標準實作 / Standard Windows TSF implementation
從原始碼建置 DIME / Building DIME from Source:
如果您想要自行編譯 DIME 或修改原始碼,請參閱完整的編譯指南:
If you want to build DIME yourself or modify the source code, please refer to the complete build guide:
此文件包含詳細的編譯步驟、開發環境設定、多平台建置說明。
This document contains detailed build instructions, development environment setup, multi-platform build guidance.
如遇到問題或有建議,歡迎透過以下方式回報:
請至 GitHub Issues 提交問題回報,回報時請提供:
- Windows 版本:作業系統平台與版本(如 x64 Windows 11 23H2)
- DIME 版本:可在各輸入法設定頁面的視窗標題列中查看
如有行列輸入法的新功能建議,請先至 Facebook 行列輸入的家社團 發文討論。







