要回答關(guān)于CAD大字體的問題,恐怕不僅僅要回答字體方面的,,可能還要說說更廣更多的內(nèi)容,。比如計算機處理文字的方式,文字編碼等方面的內(nèi)容,。 先說說計算機處理文字的方式吧,。計算機應(yīng)該叫做數(shù)字計算機,它只能處理數(shù)碼,,儲存的都是數(shù)字,。而文字是什么呢?是圖形,。比如漢字結(jié)構(gòu)的橫,、豎、撇,、折等都是圖形,,英文也是圖形,所有文字都是圖形,。那計算機如何處理文字呢,?必須給文字取個代號,這就像學(xué)校班上每個學(xué)生都有一個學(xué)號一樣,。計算機處理文字就像老師點學(xué)號一樣,,點到哪個號,就代表著那個學(xué)號所對應(yīng)的學(xué)生,。計算機就是這樣處理文字的,。 這就出現(xiàn)一個問題了。我這個班可能是只有八個學(xué)生的藝術(shù)班,,學(xué)號用一位數(shù)表示就夠了,。普通的班級可能就不止這些了,,可能有三十人,用一位數(shù)學(xué)號就不夠用了,,怎么辦,?得用兩位數(shù)表示。八個學(xué)生的藝術(shù)班也可以用兩位數(shù)表示,,01號,、02號....08號,但是兩位數(shù)與一位數(shù)是不同的,。這就好比信封上的郵政編碼,,有六個框填六個數(shù)碼。如果有八個碼,,六個框肯定就不夠用了,。計算機儲存數(shù)碼的時候也面臨這樣的問題,如果文字不是很多,,一個字節(jié)可能就夠了,如果文字很多,,可能就要兩個字節(jié),,一個字節(jié)就不夠了。一個字節(jié)可以儲存256個文字,,兩個字節(jié)可以儲存65536個文字,,四個字節(jié)可以儲存40多億個文字。計算機是洋人發(fā)明的,,洋文(英文)有26個字母,,加上特殊字符和標(biāo)點符號,也不會超過256個,,只用一個字節(jié)就夠了,。所以,美國國家標(biāo)準(zhǔn)字符集的每一個字符(也就是ANSI字符,、ASCII字符)在計算機里,,是用一個字節(jié)表示的,而這種編碼也稱為ANSI碼,、ASCII碼,。那么,ANSI和ASCII是什么關(guān)系呢,?ANSI是美國國家標(biāo)準(zhǔn)學(xué)會的英文名稱的縮寫,,它是一個很大的組織,涉及各行各業(yè),,制定的標(biāo)準(zhǔn)也很多,,每個標(biāo)準(zhǔn)都冠以ANSI,。計算機美國國家標(biāo)準(zhǔn)編碼也就簡稱ANSI編碼,ANSI編碼所對應(yīng)的字符也就簡稱ANSI字符,。實際上,,這個編碼發(fā)布的時候起的名字是美國信息交換標(biāo)準(zhǔn)碼,英文縮寫ASCII,,所以也簡稱ASCII碼,,字符簡稱ASCII字符。這就相當(dāng)于我們的學(xué)名和乳名,,學(xué)名要冠以姓,,而乳名就不用了。實際都是一個人,。 美國的計算機要賣到亞澳歐非拉,,美國的軟件也要賣到世界各地,語言就多了,,256個字符肯定不夠用了,,一個字節(jié)也放不下了。于是,,國際標(biāo)準(zhǔn)出來了,,那就是Unicode標(biāo)準(zhǔn)(簡稱UCS標(biāo)準(zhǔn))。Unicode標(biāo)準(zhǔn)的編碼稱為Unicode編碼,,對應(yīng)的字符稱為Unicode字符,。Unicode字符包含了其他國家的文字,當(dāng)然也包含英文字符,,或者說也包含ANSI字符,。Unicode有兩個標(biāo)準(zhǔn),UCS-2和UCS-4,。UCS-2最多可以包含65536個文字,,用兩個字節(jié)儲存,通常我們說的Unicode標(biāo)準(zhǔn)就是指這個標(biāo)準(zhǔn),。但是,,65536個文字也不一定夠用,據(jù)說我國的康熙字典里包含的就不止這么多個文字,。于是,,另一個標(biāo)準(zhǔn),UCS-4就起作用了,。UCS-4最多可包含40多億個文字,,足夠用了,它采用四個字節(jié)儲存,。UCS-4只在特殊行業(yè)里使用,。
通常,,以一個字節(jié)存儲的字符也稱為窄字符,以多于一個字節(jié)存儲的字符稱為寬字符,。寬與窄的區(qū)別不在于字符本身,,而在于字符占用的存儲空間的大小。比如,,以一個字節(jié)存儲的字符“a”稱為窄字符,,而以漢字形式(Unicode形式)存儲的時候就叫做寬字符了。 現(xiàn)在再來說說shx字體,。 其實,,cad里所稱的shx字體和大字體(也叫bigfont),都是autocad自己專用專有的字體,。大字體也是shx字體,,是shx字體的一種特殊形式。要說shx字體,,還得說說字體在cad里的發(fā)展過程,。 上面說了文字和編碼的關(guān)系。這就好比一個人,,他小的時候叫王五,,大了以后叫王五,老了的時候還叫王五,。王五這個名字和人是對應(yīng)上的,這不會錯,。但是,,王五的各個時期的形象是不同的,四季穿戴也可能不同,。于是,,字體的概念就出來了。字體實際上是表示了文字表象的不同,。在操作系統(tǒng)的早期時代DOS時代,,各個應(yīng)用軟件在文字顯示上是超前的。這也是無奈的做法,,微軟的操作系統(tǒng)只提供標(biāo)準(zhǔn)的字符顯示,,滿足不了軟件的需要。于是,,諸侯爭霸,,各軟件都帶有自己的字庫,各軟件的字庫也很少能互通,。autocad也有自己的字庫,,在fonts目錄里,。字體文件以shx為擴(kuò)展名,稱為shx字體,。最初的shx字體支持的是ANSI字符,,后來擴(kuò)大到支持非ANSI字符,也就是大字體或bigfont,,用雙字節(jié)儲存,,這也就是為什么叫大字體的原因。但也僅作為文字處理上的補丁,,要單獨指定,。應(yīng)該說,這個時候的大字體還不一定都符合Unicode標(biāo)準(zhǔn),,于是有時就出現(xiàn)了顯示亂碼的現(xiàn)象,。shx字體是cad早期的產(chǎn)物,從r14開始,,autocad開始支持windows的字體,,這恐怕也是cad發(fā)展的趨勢。但由于shx字體(包括大字體)是為cad專門制作的,,就目前的情況來看,,還有諸多優(yōu)勢,表現(xiàn)在: 1,、在dwg文件的存儲上占用的空間小,,在顯示的速度上比較快。特別是文字比較多的情況下,,regen的重顯的速度上的差異更明顯,,在實時移動(pan)的更新上不存在時差現(xiàn)象。 2,、由于windows字體為外來字體(相對于shx字體),,在生成及編輯的過程中,還不能做到完美無缺,。比如,,truetype字體(windows字體)的文字在移動、拷貝的過程中,,句子的長度可能與實際的長度不同,,影響了參考定位。再如,,truetype字體的實際高度可能與指定的高度之間有差異,,不能精確地指定字高,只能通過試錯的方式確定,影響了繪圖的速度,,也影響了編程控制的難度,。 3、由于shx字體為線型字體,,可以像線段一樣指定特別屬性,,產(chǎn)生特殊效果。比如,,可以指定厚度值,,從而產(chǎn)生立體效果。
4,、與truetype字體相比,,shx字體美觀效果不夠理想,但在工程中尚可滿足需要,。shx字體相當(dāng)于硬筆書法,,在模擬毛筆書法上存有差距。 由于shx字體與windows的truetype字體互有所長,,在工程中可取長補短,,酌情使用。 |
|