什麼是CAD大字體

來源:文萃谷 3.09W

由於shx字體與windows的truetype字體互有所長,在工程中可取長補短,關於CAD大字體的問題,恐怕不僅僅要回答字體方面的,可能還要説説更廣更多的內容。比如計算機處理文字的方式,文字編碼等方面的內容。

什麼是CAD大字體

先説説計算機處理文字的方式吧。計算機應該叫做數字計算機,它只能處理數碼,儲存的都是數字。而文字是什麼呢?是圖形。比如漢字結構的橫、豎、撇、折等都是圖形,英文也是圖形,所有文字都是圖形。那計算機如何處理文字呢?必須給文字取個代號,這就像學校班上每個學生都有一個學號一樣。計算機處理文字就像老師點學號一樣,點到哪個號,就代表着那個學號所對應的學生。計算機就是這樣處理文字的。

這就出現一個問題了。我這個班可能是隻有八個學生的藝術班,學號用一位數表示就夠了。普通的班級可能就不止這些了,可能有三十人,用一位數學號就不夠用了,怎麼辦?得用兩位數表示。八個學生的藝術班也可以用兩位數表示,01號、02號....08號,但是兩位數與一位數是不同的。這就好比信封上的郵政編碼,有六個框填六個數碼。如果有八個碼,六個框肯定就不夠用了。計算機儲存數碼的時候也面臨這樣的問題,如果文字不是很多,一個字節可能就夠了,如果文字很多,可能就要兩個字節,一個字節就不夠了。一個字節可以儲存256個文字,兩個字節可以儲存65536 個文字,四個字節可以儲存40多億個文字。計算機是洋人發明的,洋文(英文)有26個字母,加上特殊字符和標點符號,也不會超過256個,只用一個字節就夠了。所以,美國國家標準字符集的每一個字符(也就是ANSI字符、ASCII字符)在計算機裏,是用一個字節表示的,而這種編碼也稱為ANSI碼、ASCII碼。那麼,ANSI和ASCII是什麼關係呢?ANSI是美國國家標準學會的英文名稱的縮寫,它是一個很大的組織,涉及各行各業,制定的標準也很多,每個標準都冠以ANSI。計算機美國國家標準編碼也就簡稱ANSI編碼,ANSI編碼所對應的字符也就簡稱ANSI字符。實際上,這個編碼發佈的時候起的名字是美國信息交換標準碼,英文縮寫ASCII,所以也簡稱ASCII碼,字符簡稱ASCII字符。這就相當於我們的學名和乳名,學名要冠以姓,而乳名就不用了。實際都是一個人。

美國的計算機要賣到亞澳歐非拉,美國的軟件也要賣到世界各地,語言就多了,256個字符肯定不夠用了,一個字節也放不下了。於是,國際標準出來了,那就是Unicode標準(簡稱UCS標準)。Unicode標準的編碼稱為Unicode編碼,對應的'字符稱為Unicode字符。Unicode字符包含了其他國家的文字,當然也包含英文字符,或者説也包含ANSI字符。Unicode有兩個標準,UCS-2和UCS-4。UCS-2最多可以包含65536 個文字,用兩個字節儲存,通常我們説的Unicode標準就是指這個標準。但是,65536 個文字也不一定夠用,據説我國的康熙字典裏包含的就不止這麼多個文字。於是,另一個標準,UCS-4就起作用了。UCS-4最多可包含40多億個文字,足夠用了,它採用四個字節儲存。UCS-4只在特殊行業裏使用。

通常,以一個字節存儲的字符也稱為窄字符,以多於一個字節存儲的字符稱為寬字符。寬與窄的區別不在於字符本身,而在於字符佔用的存儲空間的大小。比如,以一個字節存儲的字符“a”稱為窄字符,而以漢字形式(Unicode形式)存儲的時候就叫做寬字符了。

現在再來説説shx字體。

其實,cad裏所稱的shx字體和大字體(也叫bigfont),都是autocad自己專用專有的字體。大字體也是shx字體,是shx字體的一種特殊形式。要説shx字體,還得説説字體在cad裏的發展過程。

上面説了文字和編碼的關係。這就好比一個人,他小的時候叫王五,大了以後叫王五,老了的時候還叫王五。王五這個名字和人是對應上的,這不會錯。但是,王五的各個時期的形象是不同的,四季穿戴也可能不同。於是,字體的概念就出來了。字體實際上是表示了文字表象的不同。在操作系統的早期時代DOS時代,各個應用軟件在文字顯示上是超前的。這也是無奈的做法,微軟的操作系統只提供標準的字符顯示,滿足不了軟件的需要。於是,諸侯爭霸,各軟件都帶有自己的字庫,各軟件的字庫也很少能互通。autocad也有自己的字庫,在fonts目錄裏。字體文件以shx為擴展名,稱為shx字體。最初的shx字體支持的是ANSI字符,後來擴大到支持非ANSI字符,也就是大字體或bigfont,用雙字節儲存,這也就是為什麼叫大字體的原因。但也僅作為文字處理上的補丁,要單獨指定。應該説,這個時候的大字體還不一定都符合Unicode標準,於是有時就出現了顯示亂碼的現象。shx字體是cad早期的產物,從r14開始,autocad開始支持windows的字體,這恐怕也是cad發展的趨勢。但由於shx字體(包括大字體)是為cad專門製作的,就目前的情況來看,還有諸多優勢,表現在:

1、在dwg文件的存儲上佔用的空間小,在顯示的速度上比較快。特別是文字比較多的情況下,regen的重顯的速度上的差異更明顯,在實時移動(pan)的更新上不存在時差現象。

2、由於windows字體為外來字體(相對於shx字體),在生成及編輯的過程中,還不能做到完美無缺。比如,truetype字體(windows字體)的文字在移動、拷貝的過程中,句子的長度可能與實際的長度不同,影響了參考定位。再如,truetype字體的實際高度可能與指定的高度之間有差異,不能精確地指定字高,只能通過試錯的方式確定,影響了繪圖的速度,也影響了編程控制的難度。

3、由於shx字體為線型字體,可以像線段一樣指定特別屬性,產生特殊效果。比如,可以指定厚度值,從而產生立體效果。

4、與truetype字體相比,shx字體美觀效果不夠理想,但在工程中尚可滿足需要。shx字體相當於硬筆書法,在模擬毛筆書法上存有差距。

熱門標籤