指令 GZ109 - 修復無效或渲染失敗字體樣式
一句話說明:一鍵掃描圖面內所有文字型式,同時修好「本機真的找不到」與「檔案在但畫不出來」這兩種字體問題。
這個指令能做什麼
執行 GZ109 後,系統會掃描圖面中所有文字型式,逐一檢查字體狀態並修復。這裡實際上要處理兩種不同性質的毛病:
- 字體檔案真的缺失:文字型式指向的字體檔在本機找不到,這是最常見的情況——多半發生在圖面從其他電腦或環境移交時
- 字體檔案存在,卻畫不出來:
isocp.shx與simplex.shx這兩個字型在 AutoCAD 2027 上有已知問題——在 ST 文字型式管理員裡看不到這兩個字型的預覽,而且是造成 dwg 開啟延遲的頭號原因。因為檔案確實存在,單純檢查「檔案在不在」完全看不出這個問題,過去會被誤判為「型式正常、無需修正」
這兩種情況都會在同一次執行中一併處理:
- 一般文字型式:主字體或大字體找不到、或屬於上述「畫不出來」的問題字型時,換成本機可用的替代字型(詳見下方〈修復規則說明〉)
- Grebarz、Grebarz_Bold、Grebarz_pmh 三個 Grebarz 自帶型式:不套用上述通用規則,而是依你在 GzOP 系統選項裡設定的字型重新套用一次——這麼做同時也能修好這三個型式被手動改壞的情形
- 形檔(Shape File,通常用於線型與符號定義):略過不處理,避免誤判成文字字型而破壞線型/符號的定義
修復完成後:
- 若所有型式均有效,於狀態列顯示提示,不彈出對話框
- 若有型式被修正,彈出對話框列出所有已修正的型式名稱與修正內容,供你確認
如果這次執行有修正到「一般文字型式」(不含 Grebarz、Grebarz_Bold、Grebarz_pmh 這三個自帶型式),GZ109 還會一併重新計算圖面內既有標註(尺寸文字與線條)與非靠左對齊文字(含圖塊屬性文字)的顯示位置。這類物件的顯示位置是依字型度量預先算好、存在快取裡的資料,換過字型後不會自動跟著更新,執行 REGEN 也沒有用——過去只能手動搬移或複製物件才能刷新,現在 GZ109 會直接幫你算好。
適合什麼時候使用
| 情境 | 說明 |
|---|---|
| 收到外部圖面 | 從其他單位接收圖面後,CAD 啟動或開圖時持續顯示「找不到字體 XXX」 |
| 跨電腦作業 | 圖面換過電腦後,部分文字改用不預期的替代字型顯示 |
| 開圖異常久(AutoCAD 2027) | 圖面內含 isocp.shx 或 simplex.shx 型式,即使字體檔案都在,執行一次仍可排除這個已知的開圖延遲原因 |
| 清圖收尾 | 清圖整理後,確認圖面內不再殘留任何指向無效或渲染失敗字體的文字型式 |
操作步驟
- 輸入指令
GZ109並按 Enter - 系統立即掃描全部文字型式,不需選取物件或進行任何額外操作
- 若有型式被修正,對話框會列出修正清單;若無需修正,狀態列會顯示提示
修復規則說明
一般文字型式(不含 Grebarz 自帶的三個型式與形檔)依下列規則處理:
| 主字體狀況 | 處理方式 |
|---|---|
| SHX 主字體找不到 | 換成 isocp2.shx |
SHX 主字體是 isocp.shx(檔案存在,但屬於渲染失敗字型) |
換成 isocp2.shx——兩者字型度量相同,換過去不影響既有文字的視覺大小與行距 |
SHX 主字體是 simplex.shx(同上,渲染失敗) |
同樣換成 isocp2.shx。但 isocp2.shx 與 simplex.shx 的字型度量略有差異,既有文字的視覺大小與行距會有些微改變——simplex.shx 本身畫不出來,留著不是選項 |
| TrueType 主字體找不到,本機有安裝「微軟正黑體」 | 換成微軟正黑體,並清空大字體 |
| TrueType 主字體找不到,本機未安裝「微軟正黑體」 | 換成 isocp2.shx,並清空大字體 |
| 大字體找不到,或屬於渲染失敗字型(主字體是 SHX) | 換成 chineset.shx——isocp2.shx 不含中文,補過去等於沒補 |
| 大字體找不到(主字體是 TrueType) | 不補大字體(TrueType 型式本來就不吃大字體) |
| 主字體是 TrueType,卻掛著大字體設定 | 即使該大字體檔本身存在,也會被清空——這種組合在 CAD 中行為未定義 |
舊版邏輯曾把 TrueType 缺失直接換成寫死的字型檔名,但 CAD 認的是「字型家族名稱」而非實體檔名, 這種寫法會讓 STYLE 對話框持續顯示「找不到字型」的警示圖示。GZ109 現在改為指定字型家族名稱, 由 CAD 自行解析對應的字型檔,警示圖示才會真正消失。
這種情況常見於字型集與 AutoCAD 不同的 ZWCAD。此時 GZ109 會整段跳過「渲染失敗字型」的替換,
並在完成訊息裡加一句警告(沒有其他修正時顯示於狀態列,有其他修正時顯示於彈出的對話框),
提醒你本機找不到 isocp2.shx,這類型式沒有被替換。
「確實缺失」的一般修復不受此限制,仍會照常執行;但這台機器上既然沒有 isocp2.shx,
被換過去的型式可能反過來顯示為缺字型,完成訊息也會提醒你確認 CAD 字型目錄後重跑一次。
這是刻意設計:把「畫不出來但檔案在」換成「開圖時跳出找不到字型的對話框」,只會讓體驗更差。
注意事項
若圖面大量文字仍顯示替代字型,且你確定本機已安裝對應字體,可先執行本指令排除「型式找不到字體檔」 這個原因,再檢查是否為其他問題(如字體家族名稱拼寫不同)。
- 修復對象是文字型式的定義本身,而非個別文字物件;文字會自動套用更新後的型式設定
- 形檔(Shape File)不會被本指令處理或誤判成缺字文字型式
- Grebarz、Grebarz_Bold、Grebarz_pmh 三個型式的字型請到 GzOP 系統選項調整;GZ109 執行時會依當下的 GzOP 設定把這三個型式統一重設一次,不受上述通用規則影響
- TrueType 型式不會被補上大字體;若原本掛著大字體設定,會被清空
- 標註與非靠左對齊文字的顯示位置重算,只在「這次執行有修正到一般文字型式」時才會觸發;若圖面裡只有 Grebarz、Grebarz_Bold、Grebarz_pmh 三個型式被重設、其餘型式本來就正常,則不會觸發這個重算
isocp.shx與simplex.shx現在同時是「GZ109 會主動替換掉的問題字型」,也是「GzOP 系統選項已下架的字型選項」;若你之前在 GzOP 設定過這兩個字型其中之一,系統會自動幫你遷移成isocp2.shx。這是兩個各自獨立的處理:GzOP 管的是你的「設定值」,GZ109 管的是「圖檔裡既有文字型式」的實際替換
相關指令
| 指令 | 關係 |
|---|---|
| GzOP | Grebarz、Grebarz_Bold、Grebarz_pmh 三個型式的字型由此設定決定,GZ109 執行時會依此設定重新套用 |
| GZTT | 專門將 Grebarz、Grebarz_Bold、Grebarz_pmh 三個型式重設為目前的 GzOP 設定;GZ109 掃描完全圖後也會一併執行這個動作 |
| Gz200 | 批量匯入圖檔時同樣會檢查文字字體是否有效,與 GZ109 共用同一套「檔案存在但渲染失敗」的判定邏輯 |