張小紅
(無(wú)錫職業(yè)技術(shù)學(xué)院,江蘇 無(wú)錫 214121)
AutoCAD文本的剖析
張小紅
(無(wú)錫職業(yè)技術(shù)學(xué)院,江蘇 無(wú)錫 214121)
AutoCAD文本的功能強(qiáng)大,它既能“書(shū)寫(xiě)”文字,也能“書(shū)寫(xiě)”符號(hào),更能“書(shū)寫(xiě)”圖形。通過(guò)文本樣式的設(shè)定,可以達(dá)到不同文本的同時(shí)書(shū)寫(xiě)目的;通過(guò)字體的映射,可以將相同的字體顯示為不相同的效果,并解決亂碼現(xiàn)象;通過(guò)形文件可以創(chuàng)建字體。
文本;形;映射;文本樣式;字體
AutoCAD中,文本的功能非常強(qiáng)大。在實(shí)際使用中,很多人不知道其功能的強(qiáng)大,以至于圖樣上“書(shū)寫(xiě)”的字體有的不符合國(guó)家標(biāo)準(zhǔn),有的就根本“寫(xiě)”不出來(lái),出現(xiàn)問(wèn)號(hào)等亂碼;有時(shí)拿到他人的或者用戶的圖樣,打開(kāi)圖樣時(shí),圖樣上的文字要么一片亂碼,要么是一段不成文的文字,有時(shí)就干脆什么也沒(méi)有,弄得看圖的人一片茫然。要解決這些問(wèn)題,必須搞清楚AutoCAD中文本的內(nèi)部關(guān)系。
在AutoCAD中,文本的功能是通過(guò)Text或者DText或者M(jìn)Text命令來(lái)實(shí)現(xiàn)的。Text或者DText是進(jìn)行單行文本的操作,在一次操作中所使用的文本樣式只能用一種,不同的字體之間不能在Text或者DText命令執(zhí)行中轉(zhuǎn)換。MText命令是進(jìn)行多行文本操作的,進(jìn)入的狀態(tài)類(lèi)似于一個(gè)Word編輯環(huán)境,在一次操作中可以“書(shū)寫(xiě)”不同的字體。文本的編輯是通過(guò)DDedit來(lái)實(shí)現(xiàn)的,選擇不同命令產(chǎn)生的字體編輯起來(lái)的界面也不同。
在AutoCAD中,字體分為兩類(lèi),一類(lèi)是使用操作系統(tǒng)中的字庫(kù)的字體,還有一類(lèi)就是Auto-CAD自帶的字體,它們以形文件的形式出現(xiàn)。
AutoCAD中字體和形文件(SHX)是從形定義文件(SHP)編譯而成。形定義文件可用寫(xiě)字板等文本編輯器將文件存為ASCII格式的字處理器創(chuàng)建或編輯。
對(duì)于AutoCAD來(lái)說(shuō)文字是一種重復(fù)使用率很高的一種圖形,而且速度還很快,形的存儲(chǔ)和繪制正符合這些要求而且高效。
形定義文件的每一行最多可包含128個(gè)字符。超過(guò)此長(zhǎng)度的行不能編譯。
每個(gè)形說(shuō)明都有一個(gè)標(biāo)題行,以及一行或多行定義字節(jié)。這些定義字節(jié)之間用逗號(hào)分隔,最后以0(零)結(jié)束。
標(biāo)題行格式如下:
形各個(gè)字段的含義分別為:
Shapenumber:文件中唯一的一個(gè)1到258之間的數(shù)字(對(duì)于Unicode字體,最多為32768),記住前面一定帶有星號(hào) (*)。字體(包含每個(gè)字符的形定義的文件)的編號(hào)要與每個(gè)字符的ASCII碼對(duì)應(yīng);其他形可指定任意數(shù)字。
defbytes:用于說(shuō)明形的數(shù)據(jù)字節(jié)的數(shù)目,包括末尾的0。每個(gè)形最多可有2000個(gè)字節(jié)。
shapename:形的名稱。形的名稱必須大寫(xiě),以便于區(qū)分。若形名中有小寫(xiě)字母,名稱將被忽略,并且通常用作字體形定義的標(biāo)簽。
specbyte:形定義字節(jié)。每個(gè)定義字節(jié)都是一個(gè)代碼,要么定義矢量長(zhǎng)度和方向,要么是特殊代碼的對(duì)應(yīng)值之一;定義字節(jié)可以用十進(jìn)制或者十六進(jìn)制值表示。也可同時(shí)使用了十進(jìn)制和十六進(jìn)制定義字節(jié)值。如果形定義字節(jié)的第一個(gè)字符為0(零),則后面的兩個(gè)字符解釋為十六進(jìn)制值。
AutoCAD用形文件定義的字體有72種之多,包括符合工程圖樣要求的各種字體(如isocp.shx)、符號(hào)(如gdt.shx),西文字體、東方字體—bigfont(如gbcbig.shx—中文、bigfont.shx—日文、extfont.shx—朝鮮文字)、地圖符號(hào)—symap.shx、數(shù)學(xué)符號(hào)—symath.shx、音樂(lè)符號(hào)—symusic.shx等等,可以說(shuō)是包含了各個(gè)方面的常用符號(hào)。
文本樣式(STYLE)可以用來(lái)選定不同的字體(font)。如果文本樣式名稱不變,但選擇的字體變了,那么以該名稱所顯示的文字將會(huì)變成現(xiàn)在選擇的字體所對(duì)應(yīng)的文字風(fēng)格。如在同一圖樣中,要顯示不同的字體風(fēng)格,就要設(shè)置不同的文本樣式,以對(duì)應(yīng)不同的字體風(fēng)格,這也就是在AutoCAD系統(tǒng)中為什么既要有文本樣式,又要有字體文件的緣故了。
一個(gè)文本樣式中可以只包含一種操作系統(tǒng)中的文字,也可以包含一種AutoCAD系統(tǒng)中自帶的字體(.shx文件)和一種東方字體(.shx文件)。需要特別注意的是,只有使用AutoCAD系統(tǒng)中自帶的字體(.shx文件)才能使用東方字體(.shx文件),換句話說(shuō),就是東方字體(.shx文件)不能單獨(dú)使用,必須與AutoCAD系統(tǒng)中自帶的字體(.shx文件)聯(lián)合起來(lái)才能使用。
要想在一次文字輸入中既要寫(xiě)西文又要寫(xiě)中文,最好的辦法是使用Mtext命令,在文字編輯器中,需要什么字體就選擇什么字體,做到靈活輸入。
要是用DText命令需要中西文混寫(xiě)的話,就一定要用文本樣式(STYLE)命令先設(shè)置好文本樣式,選擇一種AutoCAD系統(tǒng)中自帶的西文字體(.shx文件),并使用大字體,從而才能選取到中文字體gbcbig.shx。只有這樣才可以用DText輸入中西文混寫(xiě)的文字。
在對(duì)AutoCAD中的文字進(jìn)行編輯時(shí),用不同的命令輸入的文字會(huì)出現(xiàn)不同的編輯界面。用Dtext輸入的文字,就在文字行上編輯;用Mtext命令輸入的文字,就會(huì)進(jìn)入用Mtext命令文字是的界面。
在安裝AutoCAD時(shí),安裝程序會(huì)提示用戶想使用系統(tǒng)自帶的文字編輯器還是用其他的文字編輯器。如果在安裝AutoCAD程序時(shí)選擇的是系統(tǒng)默認(rèn),則就用AutoCAD自帶的編輯器界面,如果想使用像Word一樣的文字處理軟件,則應(yīng)該用Options命令,在文件標(biāo)簽里找到“文本編輯器、詞典和字體文件名→文本編輯器應(yīng)用程序→內(nèi)部”在“內(nèi)部”前面的粗箭頭上雙擊,瀏覽到需要的文字處理軟件的.exe文件(如Word的winword.exe),確定即可。以后輸入和編輯文字時(shí)就進(jìn)入了新的所選擇的文字處理軟件的編輯界面了。
字體映射就是用一種字體文件去替代另一種字體文件。
如果在打開(kāi)一個(gè)圖形文件時(shí)找不到指定的字體文件時(shí)就要使用替換字體。如果打開(kāi)的圖形文件具有已定義的文字樣式但未指定替換字體,將顯示“替換字體”對(duì)話框。如果不要用“替換字體”對(duì)話框中的字體,就可以使用修改字體映射文件,來(lái)滿足需要。
AutoCAD系統(tǒng)中指定的字體映射文件是acad.fmp。如果該文件中沒(méi)有所需要的文字映射語(yǔ)句,可以在其中加入一行,例如,要使用SIMFANG TrueType字體替換gbcbig.shx,在映射文件中將如下表達(dá):
gbcbig.shx;SIMFANG.TTF
如用戶自己創(chuàng)建一個(gè)*.fmp文件,則可以用FontMap命令,調(diào)取用戶創(chuàng)建的文件。
如果FontMap沒(méi)有指向字體映射文件,或未找到*.fmp文件,或者未找到*.fmp文件中指定的字體文件名,則將使用樣式中定義的字體。如果未找到樣式中的字體,將會(huì)根據(jù)替換規(guī)則替換字體。
如果要始終保持用戶的映射效果,則應(yīng)該用Options命令,在文件標(biāo)簽里找到“字體映射文件”在粗箭頭上雙擊,瀏覽到用戶自己創(chuàng)建的*.fmp文件。
FontMap只能用于通過(guò)Mtext命令創(chuàng)建的文字。
下面舉一個(gè)例子:
文本樣式名稱為漢字,設(shè)置的字體為isocp.shx,使用大字體為gbcbig.shx,未使用字體映射前,效果如下:
文本樣式名稱仍為漢字,設(shè)置的字體為isocp.shx,使用大字體為gbcbig.shx,在acad.fmp文件中加上一行“gbcbig.shx;SIMFANG.TTF”后,效果如下:
SIMFANG.TTF對(duì)應(yīng)的字體是操作系統(tǒng)中的仿宋字體。
圖樣上的字體必須符合國(guó)家標(biāo)準(zhǔn),這一點(diǎn)很重要。
符合圖樣上國(guó)家標(biāo)準(zhǔn)的數(shù)字和字母字體有isocp.shx、gbeitc.shx、isoct.shx等,漢字字體(長(zhǎng)仿宋體)為gbcbig.shx,幾何公差的字體為gdt.shx。可以設(shè)置多種文本樣式,如一種“漢字”,一種“幾何公差”等。
“漢字”文本樣式設(shè)置過(guò)程為:輸入命令Style→進(jìn)入“文字樣式”對(duì)話框→ “新建(N)”文本樣式→輸入文本樣式名“漢字”→在“字體名(F)”中選中isocp.shx→點(diǎn)選“使用大字體選框(U)”→在“字體樣式(Y)”選中g(shù)bcbig.shx→應(yīng)用(A)→置為當(dāng)前(C)→關(guān)閉(C)。
AutoCAD系統(tǒng)中文本的功能很強(qiáng)大,還有很多的功能有待挖掘。
[1] 周克繩,陳德新.AutoCAD計(jì)算機(jī)繪圖軟件(2.6~9.0版)[M].北京:國(guó)防工業(yè)出版社,1991.
[2] Autodesk公司.AutoCAD用戶參考手冊(cè)[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— ),男,江西萍鄉(xiāng)人,副教授,主要研究方向:工程圖學(xué),計(jì)算機(jī)輔助設(shè)計(jì)與制造。
無(wú)錫職業(yè)技術(shù)學(xué)院學(xué)報(bào)2012年4期