字體文件的擴(kuò)充方法

字形文件的編制是一項(xiàng)工作量大、枯燥乏味的工作,如果所需字形全部獨(dú)立編制,則是費(fèi)力不討好。CAD系統(tǒng)已提供了很多標(biāo)準(zhǔn)字庫(kù),根據(jù)工程設(shè)計(jì)的實(shí)際情況,一般在標(biāo)準(zhǔn)字庫(kù)的基礎(chǔ)上增加需要的字形(或功能)即可。本文擬在txt.shx基礎(chǔ)上進(jìn)行擴(kuò)充。

為滿足實(shí)際需要,對(duì)不同的情況采用不同的處理方法。


1、標(biāo)準(zhǔn)字庫(kù)的處理

大家知道,SHX文件為二進(jìn)制格式,采用一般的字處理軟件無(wú)法對(duì)其進(jìn)行編輯和擴(kuò)充。對(duì)標(biāo)準(zhǔn)字庫(kù)首先要得到SHP源文件,才能進(jìn)行處理。


1.1、文本格式SHP的獲取

 在正常安裝的情況下,CAD R14.0及以上的版本不提供SHP文件,而僅提供SHX文件。要得到SHP文件可通過(guò)三個(gè)途徑:

a、CAD R12.0以前的版本在正常安裝時(shí),其Fonts子目錄下同時(shí)含有SHP和SHX文件。找到低版本的CAD后,從中Copy一份。

B、某些CAD漢化軟件,如隆迪ACE軟件的子目錄Bonus下含有Txt.shp文件。

c、如無(wú)法從上述兩種方法得到,那就只能通過(guò)編程實(shí)現(xiàn)SHX與SHP文件格式的轉(zhuǎn)換。SHX文件的格式見(jiàn)第二章第三節(jié)。既然SHX文件是二進(jìn)制的SHP文件,而SHP又是ASCII格式,兩者的轉(zhuǎn)換不存在加、解密,根據(jù)上述格式可以很方便的設(shè)計(jì)出所需的程序。限于篇幅,其源程序在此不再列出。事實(shí)上,由于中文字庫(kù)從不提供SHP文件,如需改造中文字庫(kù),必須采用SHX2SHP程序。

在本人的工作中,不僅需要英文字母,而且經(jīng)常要用到一些希臘字符,如α、β、γ、δ、λ等,通過(guò)上述方法一并得到希臘字庫(kù)文件Greeks.SHP。


2、標(biāo)準(zhǔn)字庫(kù)的處理

在txt.shp中除英文字母外,還定義了三個(gè)特殊符號(hào)℃、±、Φ,其形狀號(hào)分別為127、128、129,為保持兼容,該三個(gè)符號(hào)予以保留。另外為避免文件覆蓋,將txt.shp更名為Cjf.shp。

2.1、將Greeks.shp中需要的字型加入到Cjf.shp,其形狀號(hào)為134∽171(可以根據(jù)需要增減形狀數(shù)量)。

2.2、按照習(xí)慣,英文文字的高度應(yīng)比中文文字矮,這樣排出的文字較美觀。但中文字體的字模高度并不統(tǒng)一,同時(shí)不同的字體文件外觀也不同,為取得較好的視覺(jué)效果,必須根據(jù)使用的中文字型調(diào)整兩者的高度比例。本人取修改后的字形高度為原高度的0.8,修改方法,在原形狀描述前增加“3,10,4,8”,在結(jié)束處加上“3,8,4,10”,同時(shí)不要忘記將定義字節(jié)數(shù)做相應(yīng)的修改(在原來(lái)基礎(chǔ)上加8)。

通過(guò)修改和引入已有的SHP文件,達(dá)到擴(kuò)充字庫(kù)的目的。


3、特殊符號(hào)的建立

工程設(shè)計(jì)中所用到的特殊符號(hào)包括兩類(lèi):特殊形體和單位上標(biāo)。


3.1、特殊形體

各個(gè)專業(yè)均有自己專業(yè)的一些特殊符號(hào),如電子專業(yè)需用電子、電氣符號(hào),土建專業(yè)需用到型鋼和一級(jí)鋼筋、二級(jí)鋼筋符號(hào)。對(duì)于經(jīng)常在文字中出現(xiàn)的特殊符號(hào)有必要作為字體形進(jìn)行定義。

對(duì)于本人從事的工作,經(jīng)常要用到型鋼符號(hào)。這些型鋼包括角鋼、扁鋼、槽鋼、工字鋼等。按照上述的形的編寫(xiě)規(guī)則和工程符號(hào)表示要求,將這四個(gè)符號(hào)編入Cjf.shp中,其形狀號(hào)編為130~133。


3.2、單位上標(biāo)

工程文件中經(jīng)常要表示單位,如12.3m2、45.34m3等,用過(guò)Microsoft Word的同志都知道,在Word中選擇【格式】菜單中【字體】命令后,出現(xiàn)一個(gè)彈出菜單,選擇上標(biāo)選項(xiàng)即可將所選字符設(shè)為上標(biāo),非常方便。在工程設(shè)計(jì)文件中,經(jīng)常要用到單位的表示,但CAD本身并不提供該功能??紤]到該項(xiàng)功能使用頻率較高,在字庫(kù)文件中專門(mén)定義了上標(biāo)2~9,其形狀號(hào)為11~18。


3.3、控制符號(hào)的建立

在Word中,文本文件的排版功能主要是通過(guò)【格式】菜單實(shí)現(xiàn)。而工程文本文件主要用于輸出,對(duì)于顯示、色彩方面的要求不高(CAD可用Color命令改變實(shí)體顏色),其他排版功能如文字行間距、上劃線、下劃線可通過(guò)CAD相關(guān)命令方便地實(shí)現(xiàn),對(duì)于陰文、陽(yáng)文如字體文件支持,也可通過(guò)填充命令實(shí)現(xiàn)。因此,對(duì)CAD的排版而言,主要是要實(shí)現(xiàn)任意文字的上、下標(biāo)標(biāo)注。

由于上、下標(biāo)符號(hào)不能在文件中直接顯示,故將其稱做控制符號(hào)。

設(shè)置上、下標(biāo),其基本思路是要解決兩點(diǎn):

a、文字的起始點(diǎn)。對(duì)上標(biāo)文字,其文字基點(diǎn)在正常文字高度的2/3處;對(duì)下標(biāo)文字,其文字基點(diǎn)應(yīng)略低于正常文字的基點(diǎn),本人將其設(shè)于與正常文字的基點(diǎn)相平。

B、文字的高度:上、下標(biāo)文字的高度為正常文字高度的1/2。

為使后續(xù)文字能正常標(biāo)注,必須在上、下標(biāo)文字標(biāo)注結(jié)束后恢復(fù)到正常的參數(shù)。因此,對(duì)文字上、下標(biāo)分別標(biāo)注的情況下,必須各設(shè)置兩個(gè)控制符號(hào)(參數(shù)改變和參數(shù)恢復(fù)),即需增加4個(gè)控制符號(hào),形狀名稱分別命名為upshift,uprestore,downshift,downrestore。

 形的編碼用抬筆(2)、位移(8)、矢量長(zhǎng)度相除(3)實(shí)現(xiàn)參數(shù)的改變,參數(shù)恢復(fù)則由矢量長(zhǎng)度相乘(4)代替矢量長(zhǎng)度相除(3)實(shí)現(xiàn)。

在公式編寫(xiě)時(shí),往往出現(xiàn)上、下標(biāo)同時(shí)標(biāo)注的情況,而Word對(duì)這種情況的處理是上、下標(biāo)分別標(biāo)注,這與習(xí)慣是不相符的,必須增加公式編寫(xiě)器模塊才能使標(biāo)注符合習(xí)慣寫(xiě)法。通過(guò)增加控制符號(hào),CAD可以非常方便地實(shí)現(xiàn)該功能。


四、字體文件的使用

 CAD中形或字體必須以SHX格式存在,才能被使用。當(dāng)用字處理軟件編寫(xiě)SHP文件完成后,需將. SHP文件編譯成.SHX文件。要將.SHP文件編譯成.SHX文件,在CAD中鍵入:

命令:Compile

從“選擇形文件”對(duì)話框中選擇要編譯的形文件Cjf.shp,如果文件中有錯(cuò)誤,?CAD將會(huì)發(fā)出錯(cuò)誤報(bào)告,否則,出現(xiàn)如下的提示:

編譯形/字體描述文件。

編譯成功。輸出文件 路徑\Cjf.shx包含6369字節(jié)。

Cjf.shx中增加的形狀號(hào)見(jiàn)附表2。為方便使用,增加一Cread.com文件作為幫助文件,可使使用者不須記憶形狀號(hào)

要使用字形文件,必須先用Style命令生成需要的字型。一個(gè)字型可以包含一個(gè)ASCII字形和一個(gè)big-fonts,并加上高度、寬度及旋轉(zhuǎn)角度等參數(shù)組成。

在輸入時(shí),對(duì)英文字母可直接輸入,對(duì)形狀號(hào)大于127的形,可通過(guò)%%nnn的方式輸入,其中nnn即為需要的形狀號(hào)。

附表1 文本字體的ASCII碼

 

代碼 字符 代碼 字符 代碼 字符

32 SPACE 64 @ 96 ‘(左撇號(hào))

33 ! 65 A 97 a

34 "(雙引號(hào)) 66 B 98 b

35 # 67 C 99 c

36 $ 68 D 100 D

37 % 69 E 101 e

38 & 70 F 102 f

39 ’(撇號(hào)) 71 G 103 g

40 ( 72 H 104 h

41 ) 73 I 105 i

42 * 74 J 106 j

43 + 75 K 107 k

44 , (逗號(hào)) 76 L 108 l

45 - (連字號(hào)) 77 M 109 m

46 . (圓點(diǎn)) 78 N 110 n

47 / 79 O 111 o

48 0 80 P 112 p

49 1 81 Q 113 q

50 2 82 R 114 r

51 3 83 S 115 s

52 4 84 T 116 t

53 5 85 U 117 u

54 6 86 V 118 v

55 7 87 W 119 w

56 8 88 X 120 x

57 9 89 Y 121 y

58 : (冒號(hào)) 90 Z 122 z

59 ; (分號(hào)) 91 [ 123 {

60 <? 92 \?(反斜杠) 124 | (豎線)

61 = 93 ] 125 }

62 >? 94 ^ (脫字) 126 ~ (代字號(hào))

63 ? 95 _ (下劃線) 10 LF(換行)



 

 

 附表 2   Cjf.shx中增加的形

==========================================================

ASCII  符號(hào)意義      ASCII  符號(hào)意義    ASCII  符號(hào)意義

001     上標(biāo)2        134     α          151     ρ

002     上標(biāo)3        135     β          152     σ

003     上標(biāo)4        136     γ          153     Т

004     上標(biāo)5        137     δ          154     υ

005     上標(biāo)6        138     ε          155     ∈

006     上標(biāo)7        139     Ψ          156     ω

007     上標(biāo)8        140     Χ          157     ξ

008     上標(biāo)9        141     η          158     ψ

010      LF          142     ι          159     ξ

011     移上         143                 160     :

012     恢復(fù)         144     κ          161     ;

013     移下         145     λ          162     {

014     恢復(fù)         146     μ          163     }

                     147     ν          164     ~

127     ℃           148     ο          165     Δ

128     ±           149     π          166     φ

129     Φ           150                 167     θ

130     扁鋼                             168     ∑

131     角鋼                             169     倒△

132     槽鋼                             170     Ω

133     工字鋼                           171     Ψ










推薦閱讀:CAD中怎么創(chuàng)建屬性塊

推薦閱讀:CAD培訓(xùn)


最新資訊 經(jīng)驗(yàn)技巧 CAD常見(jiàn)問(wèn)題
立即獲取報(bào)價(jià)
請(qǐng)?zhí)顚?xiě)姓名
姓名至少輸入2個(gè)字符
姓名僅支持漢字、字母
驗(yàn)證
獲取驗(yàn)證碼
請(qǐng)?zhí)顚?xiě)手機(jī)號(hào)
請(qǐng)?zhí)顚?xiě)正確的手機(jī)號(hào)
驗(yàn)證碼
驗(yàn)證碼應(yīng)為6位數(shù)字
驗(yàn)證碼錯(cuò)誤
請(qǐng)?zhí)顚?xiě)公司名稱
公司名稱僅支持漢字、字母
請(qǐng)選擇意向產(chǎn)品
請(qǐng)先閱讀并同意《隱私政策》
關(guān)注公眾號(hào)
免費(fèi)領(lǐng)取30天激活碼
聯(lián)系客服