萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 軟體知識 >  >> 影像處理 >> CAD 教學 >> CAD 使用教學 >> 常見案例解析

CAD字體文件深度解析:SHX形狀定義、大字體(Big Font)、Unicode字體三大體系

前言

AutoCAD 字體體系經歷三代演進:早期形狀定義檔 (.shp/.shx)、中文/日文/韓文需求催生的大字體、全球化統一編碼的Unicode 字體。本文深入剖析三大體系文件結構、定義語法、編譯使用流程、編碼映射機制,為字體開發、跨平台協作、歷史圖檔遷移提供技術參考。

一、標準文字字體 (.shp/.shx)

1. 文件結構:兩段式定義

; 註解行以分號開頭
*0,Defbytes,字體名稱          ; 頭部說明
Above,Below,Modes,0           ; 度量參數
*字符碼,字節數,形狀名稱      ; 字符形狀定義 (每字符一條)
向量/繪製指令...,0            ; 以 0 結束

2. 關鍵參數詳解

3. 實例:創建 USERFONT 字體

; userfont.shp
*0,4,userfont
21,7,2,0
*69,14,lte
2,010,1,044,020,2,02A,1,010,2,02b,1,020,0
*72,13,lth
2,010,1,044,2,02C,1,020,2,024,1,04C,0
*76,9,ltl
2,010,1,044,2,04C,1,020,0
*79,8,lto
2,010,1,020,044,028,04C,0
  1. 存為 userfont.shp 放入 Fonts 目錄。
  2. AutoCAD 命令列 COMPILE → 選擇 .shp → 生成 userfont.shx。
  3. 文字樣式對話框 → 新建樣式 → 字體選 userfont。
  4. TEXT 或 MTEXT 輸入 "HELLO" 驗證。

編輯器中編碼示例

繪製結果 HELLO

二、大字體 : 解決亞洲語言數萬字符挑戰

標準字體三大限制

  • 單檔最多 255 字形 (ASCII 1-255)。
  • 標準字符集佔用一半碼位,擴充空間極小。
  • 多行文字每種字體需重複包含符號定義。
  • 特殊符號需輸入 %%nnn (nnn=形狀編號),極不直觀。

大字體文件頭語法

*BIGFONT nchars, nranges, b1, e1, b2, e2, ...
參數含義
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)。

三、Unicode 字體 : 全球化統一編碼

文件頭語法差異

*UNIFONT,6,字體名
Above,Below,Modes,Encoding,Type,0
參數取值/含義
Encoding0=Unicode, 1=壓縮多字節, 2=形狀檔
Type (位元組合)1=可內嵌, 2=不可內嵌, 4=內嵌唯讀 (可相加)

核心機制

  • 繪製前字符串自動轉 Unicode,單一字體支援所有語言/平台,用戶透明無感。
  • 圖形儲存時自動轉為 AutoCAD 系統代碼頁格式。
  • 代碼 7 子形引用處理不同: 後續數據解讀為雙字節值,影響 Defbytes 計算 (需 +1 字節)。

局限性

Unicode 無法完整支援所有亞洲語言 (如生僻漢字、諺文舊字),大字體在亞洲版本中仍不可或缺。

四、三大體系選型指南

場景推薦體系理由
純英文/歐洲語言環境Unicode 字體單一字體全覆蓋,跨平台零編碼問題
中文/日文/韓文工程圖面大字體 + 標準字體混合大字體覆蓋主流漢字/漢字/諺文;標準字體處理英文/符號
歷史圖檔遷移 (R12/R13/R14)大字體 (配合代碼頁轉換)舊檔編碼多為雙字節大字體編碼,需保持一致
自定義符號/圖示字體標準 SHX 字體結構簡單,編譯快,適合幾百字符以內專用符號庫

結語

理解 SHX/大字體/Unicode 三體系的編碼邏輯、文件結構、編譯流程,是解決 CAD 字體亂碼、缺字、跨版本遷移、自定義符號庫開發的技術基石。現代新專案首選 Unicode + 大字體混合策略;歷史資產維護需精通代碼頁轉換與大字體映射機制。

copyright © 萬盛學電腦網 all rights reserved