導讀:字體映射表是CAD的配置文件之一,隨程序啟動加載,通過修改其內容,可以對缺少的字體進行替代,解決字體缺失的困擾。今天將從字體缺失現象入手,分析原因并提出解決的方法,修改字體映射表是有效解決字體缺失的方法之一。
全文約2800字,閱讀時間約需6分鐘。
引言 字體不全好煩,逐個指定替代字體又好繁
字體缺失,CAD操作中的“老大難問題”,與外部參照、打印樣式、線型的缺失并稱“四大惡人”,CAD使用者雖然深惡痛絕卻又無可奈何。
當收到外單位的CAD圖紙后,打開文件,彈出“指定字體為xxx”的對話框,需要在右側的“大字體”欄中選擇想要用以替代的字體,非常麻煩。
但是這種操作又是一次生效,下次無效的。在下一次打開同一個文件時仍然需要重復同樣的操作,這才是如影隨形不勝其煩。
字體替換對話框
配齊字體看來是解決問題的辦法,畢竟缺什么就準備什么是解決問題的第一反應。
沒錯,但是這樣又會造成另外一種問題:字體冗余嚴重。
看看下面的圖片,是一位使用者的字體庫截圖,看起來是不是非常的復雜呢?還別嫌復雜,這張截圖還只是字體庫中的一部分而已。
備齊所有字體很麻煩又很繁瑣
有些字體可能只是用過一次或者幾次,然后就要一直沉睡在字體庫中,被束之高閣,無人問津。
這樣的話,設計者就更加糾結了,多備齊字體無端地增加了“字體庫存”,不配字體單獨指定替代字體又太麻煩,有沒有什么一勞永逸的方法呢?比如,讓CAD在打開文件時自動將字體庫中不存在的字體用已有的字體代替,這種方案是否可行呢?
當然可以,我們可以通過修改“字體映射表”來實現我們的目的。
下面,我們就從字體文件開始,一步一步地理清字體缺失的原因以及如何解決字體缺失的困擾。
字體缺失的原因
淺談CAD字體類型
CAD中使用的兩種字體分別Truetype字體和shx形文件。
其中Truetype字體與Windows字體庫一致,例如我們在文本編輯軟件中使用“仿宋”、“宋體”、“黑體”、“Times New Roman”等。
而shx形文件字體則只在AutoCAD中使用,因為其是以CAD圖形對象的形式存在的,所以在節約系統資源方面表現出色。
我們經常使用的中文shx形文件字體被稱作亞洲大字體 SHX 文件
亞洲字母表包含數千個非 ASCII 字符。為支持這種文字,CAD程序提供了一種稱作大字體文件的特殊類型的形定義。
用戶可以將樣式設定為同時使用常規文件和大字體文件。
以shx形文件字體為主的圖形在“移動”、“縮放”等加入了重新生成過程的文件明顯要比Truetype字體(如宋體等中文字體)為主的圖形表現要更為流暢。
所以,shx形文件字體成為了設計者們的首選。
造成字體種類繁多的主要原因:shx形文件字體的可編譯性
顧名思義,形文件的以“形”為主,在CAD中,“形”是一種圖元對象,其用法與塊類似。
與形相比,塊更容易使用和插入。但是,對于程序而言,形的存儲和繪制則更加高效。正是這個明顯的優點,才使得設計者們對其視若珍寶。
形文件定義方式以編譯方式實現,這樣就給其最終的使用結果造成了極大的不確定性。
在一個設計團隊、設計院所等標準化普及程度較高的設計環境下,會根據自身的設計需求編譯一些特定的shx形文件字體,一方面是設計需要,另一方面則隱含其所使用字體標準的獨特性。
在多年的CAD使用過程中,逐漸形成了一部分常用Truetype字體的形文件轉化,如fs.shx代替了仿宋,kt.shx代替了楷體等,在公共使用的形文件部分一般來說不會有太大的問題,而在特殊形文件字體的編譯則千奇百怪層出不窮,這也正是造成了字體缺失的根本原因。
關于替換字體
關于替換字體,我們需要記住一個簡體中文的通用字體shx文件:gbcbig.shx,作為替換字體的“萬金油”,萬物皆可gbcbig,絕對是簡體中文語言環境使用者的字體替換利器。
gbcbig適用于簡體中文設計環境
Fontalt系統變量的作用
Fontalt系統變量
如果圖形中指定的字體當前不在系統中,將自動使用用戶指定的替換字體取代該字體。
默認情況下,將使用“simplex.shx”文件。
如果要指定不同的字體,通過修改 FONTALT 系統變量來輸入替換字體文件名,或者通過在系統的選項中予以手動修改。
以上內容從字體缺失的原因入手,逐步介紹了大字體以及大字體的替代,這一切都是為了最終解決問題而做鋪墊,接下來,我們就進入今天的重點環節:
巧用字符映射表,解決字體缺失困擾。
字體映射表是什么
字體映射表長成這個樣子,先來認識一下:
AutoCAD字體映像文件
其文件名稱為acad,擴展名為fmp。
字體映射表是文字字體及其替換字體的列表,在無法找到圖形中使用的文字字體情況下,可以通過編輯字體映射表用已有的字體替換缺少的字體。
從字體映射表的替換規則來看,在替換ttf字體、shx字體和pfb字體時都被歸類為第一映射次序,具有最高的優先等級。
而我們之前提到fontalt系統變量則位于shx字體映射的第三次序,優先等級高下立判。
字體替換的映射順序(優先等級)
字體映射表的編譯規則
字體映射表是帶有 .fmp 擴展名的普通 ASCII 文本文件。
使用任何 ASCII 文字編輯器均可以在字體映射表中更改字體指定,我們可以用Windows自帶的“記事本”程序來打開它。
字體映射表可用“記事本”打開
字體映射表中的每行均包含字體文件的名稱(不含文件擴展名或路徑),名稱后跟有分號 (;) 及其替換字體文件的名稱。替換字體文件名包含如 .ttf 這樣的擴展名。
字體映射表的編輯方法
例如,可以在字體映射表中輸入以下內容,以指定用“gbcbig.shx” 字體文件替代“jhz”字體文件,編譯格式如下:
jhz;gbcbig.shx
保存后,重新啟動CAD使字體映射表加載成功,之前選擇代替字體的對話框將不再出現。
當然,字體映射表的編輯是純手動輸入的,在有多個字體缺失的情況下,需要一點一點地將替代規則輸入進去,雖然麻煩,但是確實一勞永逸的,當然我們也可以借助excel的“&”功能提前將需要修改的內容編譯好再粘貼進去,這樣也會節省一部分時間。
辛辛苦苦編譯的字體映射表當然要保存好,建議作為常用的配置文件定期進行保存,如備份在移動存儲或云存儲中,以免前功盡棄從頭再來。
最后,還要提醒各位設計者,在“選項”——“文件”——“文本編輯器、詞典和字體文件名”——“字體映射文件”中查看字體映射表路徑是否已經關聯完畢。
檢查字體映射文件的路徑是否存在關聯
在某些設計院所的標準化系統中可能會移動到其他的位置,并不一定與CAD程序的字體映射表綁定,如果沒有關聯成功,那才是白忙了一場,也空歡喜了一場。
對于CAD工具軟件,設計者既是使用者,也是管理者。
當CAD中的一些功能為我們造成了一定的困擾時,我們就要通過學習、研究來發現解決問題的方法,更好地了解軟件的內核功能,也能夠讓軟件為我們的設計過程提供更加全面的支持和協助。
探索舉步維艱,然而樂在其中。
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。