張小紅
(無錫職業技術學院,江蘇 無錫 214121)
AutoCAD文本的剖析
張小紅
(無錫職業技術學院,江蘇 無錫 214121)
AutoCAD文本的功能強大,它既能“書寫”文字,也能“書寫”符號,更能“書寫”圖形。通過文本樣式的設定,可以達到不同文本的同時書寫目的;通過字體的映射,可以將相同的字體顯示為不相同的效果,并解決亂碼現象;通過形文件可以創建字體。
文本;形;映射;文本樣式;字體
AutoCAD中,文本的功能非常強大。在實際使用中,很多人不知道其功能的強大,以至于圖樣上“書寫”的字體有的不符合國家標準,有的就根本“寫”不出來,出現問號等亂碼;有時拿到他人的或者用戶的圖樣,打開圖樣時,圖樣上的文字要么一片亂碼,要么是一段不成文的文字,有時就干脆什么也沒有,弄得看圖的人一片茫然。要解決這些問題,必須搞清楚AutoCAD中文本的內部關系。
在AutoCAD中,文本的功能是通過Text或者DText或者MText命令來實現的。Text或者DText是進行單行文本的操作,在一次操作中所使用的文本樣式只能用一種,不同的字體之間不能在Text或者DText命令執行中轉換。MText命令是進行多行文本操作的,進入的狀態類似于一個Word編輯環境,在一次操作中可以“書寫”不同的字體。文本的編輯是通過DDedit來實現的,選擇不同命令產生的字體編輯起來的界面也不同。
在AutoCAD中,字體分為兩類,一類是使用操作系統中的字庫的字體,還有一類就是Auto-CAD自帶的字體,它們以形文件的形式出現。
AutoCAD中字體和形文件(SHX)是從形定義文件(SHP)編譯而成。形定義文件可用寫字板等文本編輯器將文件存為ASCII格式的字處理器創建或編輯。
對于AutoCAD來說文字是一種重復使用率很高的一種圖形,而且速度還很快,形的存儲和繪制正符合這些要求而且高效。
形定義文件的每一行最多可包含128個字符。超過此長度的行不能編譯。
每個形說明都有一個標題行,以及一行或多行定義字節。這些定義字節之間用逗號分隔,最后以0(零)結束。
標題行格式如下:

形各個字段的含義分別為:
Shapenumber:文件中唯一的一個1到258之間的數字(對于Unicode字體,最多為32768),記住前面一定帶有星號 (*)。字體(包含每個字符的形定義的文件)的編號要與每個字符的ASCII碼對應;其他形可指定任意數字。
defbytes:用于說明形的數據字節的數目,包括末尾的0。每個形最多可有2000個字節。
shapename:形的名稱。形的名稱必須大寫,以便于區分。若形名中有小寫字母,名稱將被忽略,并且通常用作字體形定義的標簽。
specbyte:形定義字節。每個定義字節都是一個代碼,要么定義矢量長度和方向,要么是特殊代碼的對應值之一;定義字節可以用十進制或者十六進制值表示。也可同時使用了十進制和十六進制定義字節值。如果形定義字節的第一個字符為0(零),則后面的兩個字符解釋為十六進制值。
AutoCAD用形文件定義的字體有72種之多,包括符合工程圖樣要求的各種字體(如isocp.shx)、符號(如gdt.shx),西文字體、東方字體—bigfont(如gbcbig.shx—中文、bigfont.shx—日文、extfont.shx—朝鮮文字)、地圖符號—symap.shx、數學符號—symath.shx、音樂符號—symusic.shx等等,可以說是包含了各個方面的常用符號。
文本樣式(STYLE)可以用來選定不同的字體(font)。如果文本樣式名稱不變,但選擇的字體變了,那么以該名稱所顯示的文字將會變成現在選擇的字體所對應的文字風格。如在同一圖樣中,要顯示不同的字體風格,就要設置不同的文本樣式,以對應不同的字體風格,這也就是在AutoCAD系統中為什么既要有文本樣式,又要有字體文件的緣故了。
一個文本樣式中可以只包含一種操作系統中的文字,也可以包含一種AutoCAD系統中自帶的字體(.shx文件)和一種東方字體(.shx文件)。需要特別注意的是,只有使用AutoCAD系統中自帶的字體(.shx文件)才能使用東方字體(.shx文件),換句話說,就是東方字體(.shx文件)不能單獨使用,必須與AutoCAD系統中自帶的字體(.shx文件)聯合起來才能使用。
要想在一次文字輸入中既要寫西文又要寫中文,最好的辦法是使用Mtext命令,在文字編輯器中,需要什么字體就選擇什么字體,做到靈活輸入。
要是用DText命令需要中西文混寫的話,就一定要用文本樣式(STYLE)命令先設置好文本樣式,選擇一種AutoCAD系統中自帶的西文字體(.shx文件),并使用大字體,從而才能選取到中文字體gbcbig.shx。只有這樣才可以用DText輸入中西文混寫的文字。
在對AutoCAD中的文字進行編輯時,用不同的命令輸入的文字會出現不同的編輯界面。用Dtext輸入的文字,就在文字行上編輯;用Mtext命令輸入的文字,就會進入用Mtext命令文字是的界面。
在安裝AutoCAD時,安裝程序會提示用戶想使用系統自帶的文字編輯器還是用其他的文字編輯器。如果在安裝AutoCAD程序時選擇的是系統默認,則就用AutoCAD自帶的編輯器界面,如果想使用像Word一樣的文字處理軟件,則應該用Options命令,在文件標簽里找到“文本編輯器、詞典和字體文件名→文本編輯器應用程序→內部”在“內部”前面的粗箭頭上雙擊,瀏覽到需要的文字處理軟件的.exe文件(如Word的winword.exe),確定即可。以后輸入和編輯文字時就進入了新的所選擇的文字處理軟件的編輯界面了。
字體映射就是用一種字體文件去替代另一種字體文件。
如果在打開一個圖形文件時找不到指定的字體文件時就要使用替換字體。如果打開的圖形文件具有已定義的文字樣式但未指定替換字體,將顯示“替換字體”對話框。如果不要用“替換字體”對話框中的字體,就可以使用修改字體映射文件,來滿足需要。
AutoCAD系統中指定的字體映射文件是acad.fmp。如果該文件中沒有所需要的文字映射語句,可以在其中加入一行,例如,要使用SIMFANG TrueType字體替換gbcbig.shx,在映射文件中將如下表達:
gbcbig.shx;SIMFANG.TTF
如用戶自己創建一個*.fmp文件,則可以用FontMap命令,調取用戶創建的文件。
如果FontMap沒有指向字體映射文件,或未找到*.fmp文件,或者未找到*.fmp文件中指定的字體文件名,則將使用樣式中定義的字體。如果未找到樣式中的字體,將會根據替換規則替換字體。
如果要始終保持用戶的映射效果,則應該用Options命令,在文件標簽里找到“字體映射文件”在粗箭頭上雙擊,瀏覽到用戶自己創建的*.fmp文件。
FontMap只能用于通過Mtext命令創建的文字。
下面舉一個例子:
文本樣式名稱為漢字,設置的字體為isocp.shx,使用大字體為gbcbig.shx,未使用字體映射前,效果如下:

文本樣式名稱仍為漢字,設置的字體為isocp.shx,使用大字體為gbcbig.shx,在acad.fmp文件中加上一行“gbcbig.shx;SIMFANG.TTF”后,效果如下:

SIMFANG.TTF對應的字體是操作系統中的仿宋字體。
圖樣上的字體必須符合國家標準,這一點很重要。
符合圖樣上國家標準的數字和字母字體有isocp.shx、gbeitc.shx、isoct.shx等,漢字字體(長仿宋體)為gbcbig.shx,幾何公差的字體為gdt.shx。可以設置多種文本樣式,如一種“漢字”,一種“幾何公差”等。
“漢字”文本樣式設置過程為:輸入命令Style→進入“文字樣式”對話框→ “新建(N)”文本樣式→輸入文本樣式名“漢字”→在“字體名(F)”中選中isocp.shx→點選“使用大字體選框(U)”→在“字體樣式(Y)”選中gbcbig.shx→應用(A)→置為當前(C)→關閉(C)。
AutoCAD系統中文本的功能很強大,還有很多的功能有待挖掘。
[1] 周克繩,陳德新.AutoCAD計算機繪圖軟件(2.6~9.0版)[M].北京:國防工業出版社,1991.
[2] Autodesk公司.AutoCAD用戶參考手冊[M].北京:科海出版社,1992.
Dissection on Text Functions of AutoCAD
ZHANG Xiaohong
(Wuxi Institute of Technology,Wuxi 214121,China)
The AutoCAD Software has powerful text functions.It can“write”texts as well as symbols.Furthermore,it can“write”graphics.Through setting the styles of text,it can create different texts simultaneously;through mapping the fonts,it can show a same font with different visual effects and resolve the problem of messy code;through shape files it can generate new fonts.
text;shape;mapping;style;font
TP 391.41
A
1671-7880(2012)04-0067-03
2012-03-15
張小紅(1962— ),男,江西萍鄉人,副教授,主要研究方向:工程圖學,計算機輔助設計與制造。