在AutoCAD的早期版本中,僅能通過定義形文件的方式來使用字體?,F(xiàn)在AutoCAD可調(diào)用Windows系統(tǒng)字庫(kù),С諸rueType字體以及PostScript字體,但AutoCAD仍提供了許多使用形定義的字體文件供用戶使用,這些字體文件保存在AutoCAD主文件夾的“FONT”子文件夾中。如果用戶仍不滿足于這些字體,而希望使用具有獨(dú)特風(fēng)格的字體,那么我們可以用與創(chuàng)建形文件類似的方法來創(chuàng)建新的字體文件。 33.2.2字體文件的定義 1.文字字體說明 如果一個(gè)形定義文件被用作字體文件,則文件中的第一個(gè)條目必須用于描述字體本身,即文字字體的說明。文字字體說明由頭部說明和形狀說明兩部分組成,用以提供字體本身的信息。具體格式如下: *0,Defbytes,fontname Above,Below,Modes,0 其中: (1)Defbytes:形狀說明的數(shù)據(jù)字節(jié)數(shù),包括終止符0。 (2)fontname:字體名稱。 (3)Above:高位距離,定義大寫字母在基線上方的矢量長(zhǎng)度。 (4)Below:低位距離,定義小寫字母在基線下方的距離。 (5)Nodes:定義字體方向,取0表示文字為水平方向,取2表示文字為(水平或垂直)兩個(gè)方向。 (6)0:終止標(biāo)識(shí)符。 2.字符形狀定義 字符形狀定義與形的定義幾乎完全相同,具體差別在于: (1)字符形狀編號(hào)為該字母的ASCII碼而不能是任意的編號(hào),因?yàn)锳utoCAD是按字符的ASCII在繪制字符的,而不是它的名稱。 (2)雖然AutoCAD并不根據(jù)字符形狀的名稱來繪制字符,但仍可在編輯字體文件時(shí)應(yīng)用字符形狀的名稱。一般用小寫字母來指定形狀名稱,小寫的形狀名稱是不會(huì)保存在內(nèi)存中的。 (3)ASCII碼中1~31為控制字符,其中只有10用于AutoCAD字體中,用來定義換行(lf)。即將繪圖位置下移一行,而不繪制圖形。例如: *10,5,lf 2,8,(0,-10),0 33.2.3字體文件的創(chuàng)建與使用 同形定義文件一樣,我們可以使用文本編輯器來創(chuàng)建字體定義文件。 實(shí)例3創(chuàng)建“USERFONT”字體 (1)使用Windows附件中的“記事本”程序創(chuàng)建一個(gè)新的文本文件。 (2)在該文件中添加如下內(nèi)容,如圖33-6所示。 ;userfont.shp-userdefinedfonts *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
將該文件保存在AutoCAD主文件夾的“FONTS”子文件夾中,并命名為“userfont.shp”。 (3)在AutoCAD中對(duì)該文件進(jìn)行編譯,并載入到當(dāng)前的字體樣式中。 (4)在AutoCAD中使用“Text”或“MText”命令繪制文字“HELLO”,結(jié)果如圖33-7所示。
33.2.4大字體說明 某些語言(如漢語)的字體包括上千種非ASCII字符。為繪制包含這些文字的圖形,AutoCAD支持稱為大字體文件的特殊格式的形定義文件。由于大字體文件包含成百上千種字符的字體,因此其處理方式較為復(fù)雜。除了使用更加復(fù)雜的文件搜索技術(shù)之外,AutoCAD需要某種方法來用雙字節(jié)代碼表示字符和單字節(jié)代碼。 大字體形定義文件的第一行必須為: *BIGFONTnchars,nranges,b1,e1,b2,e2,... 其中各項(xiàng)含義如下: (1)nchars:指出此集合中近似的字符定義數(shù)量。如果此數(shù)值過大,且誤差超過百分之十,則速度或文件大小就會(huì)受到影響。 (2)nranges:指出有多少個(gè)連續(xù)區(qū)間中的數(shù)字用作換碼代碼;換碼代碼是雙字節(jié)代碼開始區(qū)域的特殊字符代碼。 (3)b1,e1,b2,e2,…:定義了每個(gè)區(qū)間的開始和結(jié)束代碼。 在*BIGFONT行后是字體定義,大字體定義與普通AutoCAD文字字體相似,區(qū)別在于其字符代碼(形編號(hào))違禁詞可以為65535之外。 在一些繪圖規(guī)范中,許多特殊符號(hào)可以出現(xiàn)在文字字符串中。AutoCAD標(biāo)準(zhǔn)文字字體可擴(kuò)展包含特殊字符。然而,擴(kuò)展后的標(biāo)準(zhǔn)文字字體有許多限制,如: (1)每個(gè)字體文件的形數(shù)目為255。 (2)標(biāo)準(zhǔn)字符集使用約一半可用的形編號(hào)。只有代碼1到9,11到31,130到255可用。 (3)多文字字體需要在每種字體中包含符號(hào)定義的副本。 (4)特殊符號(hào)需要用戶輸入nnn,此處的nnn是符號(hào)的形編號(hào)。 而使用大字體機(jī)制可以避免這些問題。用戶可以選擇一個(gè)或多個(gè)不常使用的字符作為換碼代碼,例如使用“|R”來調(diào)用希臘字母“?!薄?br>當(dāng)需要在AutoCAD系統(tǒng)中使用大字體時(shí),則要在“TextStyle(文字樣式)”對(duì)話框中請(qǐng)選擇“UseBigFont(使用大字體)”選項(xiàng),并在“BigFont(大字體)”下拉列表中選擇所需的大字體文件,如圖33-8所示。
33.2.5Unicode字體說明 標(biāo)準(zhǔn)的AutoCAD字體與主機(jī)操作系統(tǒng)使用的字符映射一致。這是因?yàn)樽址苯影此鼈儚逆I盤獲取的格式保存在數(shù)據(jù)庫(kù)中。用于生成字體的是相同的字符代碼。當(dāng)使用存在多種字符編碼標(biāo)準(zhǔn)的重音字符(八位字符)時(shí),這就成為一個(gè)嚴(yán)重問題。由于字符映射的限制,AutoCAD為其使用的多種代碼頁提供了一組Unicode字體。這些字體本質(zhì)上一樣,根據(jù)定義的代碼頁的不同,而擁有位于不同位置的字符。如果所使用的字體編碼與圖形中的文字不匹配,可能繪制出錯(cuò)誤的字符。 使用Unicode字體時(shí),文字字符串在被繪制前都轉(zhuǎn)換為Unicode,因此不必再為其他語言或平臺(tái)提供附加字體。由于Unicode提供了大字符集,所以一種Unicode字體就能支持所有語言和平臺(tái)。此功能對(duì)用戶是透明的,因?yàn)槿绻匾?a href="#">(由代碼頁的不同決定),圖形在加載時(shí)被轉(zhuǎn)換為AutoCAD的系統(tǒng)代碼頁。圖形總是以AutoCAD系統(tǒng)代碼頁的形式保存。 但是需要說明的是,Unicode不能為所有亞洲語言提供完整的支持,因此大字體仍然在某些或全部亞洲版本中使用。 Unicode形定義文件在格式和語法上與普通AutoCAD形定義文件一樣,主要的區(qū)別為:1.在字體開始的語法中不同,如下所示。 *UNIFONT,6,font-name above,below,modes,encoding,type,0 其中font-name、above、below和modes參數(shù)與常規(guī)字體中的參數(shù)一樣。余下的兩個(gè)參數(shù)定義如下: (1)encoding:字體編碼。使用下列整數(shù)值:
|
|
|