AutoCAD小秘密038:SHX大字體的通天塔

那些你知道,或是不知道的AutoCAD小秘密-038:SHX大字體的通天塔

這次的標題很有意思,叫SHX大字體的通天塔,這個其實就是包含了兩層的意思:

  • SHX大字體:我們之前解釋過,SHX是AutoCAD的原生字體文件類型,而SHX大字體是專門針對東亞的『簡體中文』、『繁體中文』、『日語』和『韓語』所推出的專用字體。
  • 通天塔是聖經裡面的故事,意思是語言一多,人類交流就有困難了(外語一直不太好的學渣含淚飄過)

為什麼會這樣寫這個標題呢?這是因為兩個用戶的反饋:

第一個用戶是很久之前給我的私信,說最近跳槽到日企做設計了,發現電腦上的中文SHX字體都顯示成問號,但是日語的SHX卻是好的。當然我也一頭霧水,所以並沒有給出解答;

第二個用戶是參加這次AutoCAD for Mac 2019的Beta內測的一位中國用戶 ,他告訴我們他的電腦上所有的中文SHX都顯示問號了。

結合了第二位用戶的信息,我研究了很久,發現了一個我用了快20年AutoCAD都從來不知道的功能:Code Page。

那麼什麼是Code Page呢?

SHX的大字體分四種,我們之前已經講過了,分別是『簡體中文』、『繁體中文』、『日語』和『韓語』。然後呢,SHX作為一種很古老的字體文件格式,其實它自己是不知道自己是屬於哪國語言的(相比於微軟的TTF字體,這個智能性確實不好),所以呢,要用戶自己告訴他們屬於哪個語種。而這個語種的代碼,就是Code Page

好,我們用第一個用戶的實際例子來講解怎麼添加Code Page,從而達到顯示SHX大字體的目的,當然,環境稍微有點不一樣:

我的操作系統是英語的……所以默認情況下,我的電腦上中文和日文的SHX都是看不見的,這裡我用HZTXT.shx字體做例子:

  1. 首先,在STYLE對話框裡面可以看見,對應的SHX字體都是已經載入了的。

2. 然而,用DTEXT創建出來的單行文字對象卻只能顯示問號:

3. 此時,OP命令打開選項對話框,找到「文件」選項卡下面的第一項:支持文件搜索路徑,然後把整個地址給複製下來:

4. 用瀏覽器打開剛才複製的地址,找到文件夾下面的bigfont.ini文件

5. 用寫字板(是的,Always寫字板,當然我這裡用的是其他IPE啦)打開bigfont.ini文件:

*可以看見這個文件就是用來描述SHX大字體的Code Page的,並且還有具體的數值:

日語=1,繁體中文=2,韓語=3,簡體中文=5

(PS:強迫症表示完全不能忍,為什麼4沒有了啊啊啊啊啊)

6. 在最後添加「HZTXT.shx,5」,然後保存文件,重啟AutoCAD就能看到字體生效了:

這裡可能就有人問了,為什麼我們從來也沒有設置過什麼bigfont.ini,SHX中文字體也顯示的好好的啊?

剛才那個地方最後有一段程序邏輯,遇見沒有定義Code Page的SHX大字體,就會用默認系統的區域和語言設置作為默認Code Page。

所以,在簡體中文系統上使用簡體中文SHX是不需要修改的,同樣,在日文系統上使用日文SHX也是直接就可以顯示的。

但是,如果簡體中文系統上用其他三個大字體,而不指定Code Page的話,就看到的全部都是問號了,換成其他語言的操作系統也是一樣的。

最後一個問題,為什麼SHX這麼麻煩還要用呢?因為SHX的量級要遠比TTF字體來得輕便,可以極大減小文件的尺寸,改善縮放平移以後的性能。

好,以上就是本次老柴講堂的內容。歡迎各位點播功能。


推薦閱讀:

TAG:AutoCAD | 設計 | 字體 |