AutoCAD 字體體系經歷三代演進:早期形狀定義檔 (.shp/.shx)、中文/日文/韓文需求催生的大字體、全球化統一編碼的Unicode 字體。本文深入剖析三大體系文件結構、定義語法、編譯使用流程、編碼映射機制,為字體開發、跨平台協作、歷史圖檔遷移提供技術參考。
; 註解行以分號開頭 *0,Defbytes,字體名稱 ; 頭部說明 Above,Below,Modes,0 ; 度量參數 *字符碼,字節數,形狀名稱 ; 字符形狀定義 (每字符一條) 向量/繪製指令...,0 ; 以 0 結束
| 參數 | 含義 | |
|---|---|---|
| Defbytes | 形狀定義數據字節數 (含結束符 0) | |
| Above | 大寫字母基線上矢量長度 (單位: 繪圖單位/ems) | |
| Below | 小寫字母基線下延伸距離 | |
| Modes | 字體方向:0=水平,2=水平+垂直 | |
| 字符碼 | ASCII 碼 (1-255),AutoCAD 按 ASCII 索引繪製,非名稱 | |
| 形狀名稱 | 編輯參考用,通常小寫 (如 lte, lth),不存入記憶體 |
| 參數 | 含義 |
|---|---|
| nchars | 近似字符定義總數 (誤差 <10% 否則影響速度/大小) |
| nranges | 換碼代碼區間數 (雙字節編碼起始區標識) |
| b1,e1... | 每個區間的起始/結束碼值 |
換碼代碼:用戶可自訂稀用字符作為前導碼 (如 |R 呼叫希臘字母 Γ),輸入時只需鍵入雙字節組合,無需記憶 %%nnn。
文字樣式對話框 → 勾選 使用大字體 → 下拉選單選擇 .shx 大字體檔 (如 gbcbig.shx、hztxt.shx)。

*UNIFONT,6,字體名 Above,Below,Modes,Encoding,Type,0
| 參數 | 取值/含義 |
|---|---|
| Encoding | 0=Unicode, 1=壓縮多字節, 2=形狀檔 |
| Type (位元組合) | 1=可內嵌, 2=不可內嵌, 4=內嵌唯讀 (可相加) |
Unicode 無法完整支援所有亞洲語言 (如生僻漢字、諺文舊字),大字體在亞洲版本中仍不可或缺。
| 場景 | 推薦體系 | 理由 |
|---|---|---|
| 純英文/歐洲語言環境 | Unicode 字體 | 單一字體全覆蓋,跨平台零編碼問題 |
| 中文/日文/韓文工程圖面 | 大字體 + 標準字體混合 | 大字體覆蓋主流漢字/漢字/諺文;標準字體處理英文/符號 |
| 歷史圖檔遷移 (R12/R13/R14) | 大字體 (配合代碼頁轉換) | 舊檔編碼多為雙字節大字體編碼,需保持一致 |
| 自定義符號/圖示字體 | 標準 SHX 字體 | 結構簡單,編譯快,適合幾百字符以內專用符號庫 |
理解 SHX/大字體/Unicode 三體系的編碼邏輯、文件結構、編譯流程,是解決 CAD 字體亂碼、缺字、跨版本遷移、自定義符號庫開發的技術基石。現代新專案首選 Unicode + 大字體混合策略;歷史資產維護需精通代碼頁轉換與大字體映射機制。