要回答關于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字體相當于硬筆書法,在模擬毛筆書法上存有差距。
由于shx字體與windows的truetype字體互有所長,在工程中可取長補短,酌情使用。
先說說計算機處理文字的方式吧。計算機應該叫做數字計算機,它只能處理數碼,儲存的都是數字。而文字是什么呢?是圖形。比如漢字結構的橫、豎、撇、折等都是圖形,英文也是圖形,所有文字都是圖形。那計算機如何處理文字呢?必須給文字取個代號,這就像學校班上每個學生都有一個學號一樣。計算機處理文字就像老師點學號一樣,點到哪個號,就代表著那個學號所對應的學生。計算機就是這樣處理文字的。
這就出現一個問題了。我這個班可能是只有八個學生的藝術班,學號用一位數表示就夠了。普通的班級可能就不止這些了,可能有三十人,用一位數學號就不夠用了,怎么辦?得用兩位數表示。八個學生的藝術班也可以用兩位數表示,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字體相當于硬筆書法,在模擬毛筆書法上存有差距。
由于shx字體與windows的truetype字體互有所長,在工程中可取長補短,酌情使用。
評論
查看更多