threejs中需要顯示中文字型,這就意味著需要引入中文字型,引入方式這裡介紹兩種,一種是引擎預設的ttf字型檔案轉換成json格式然後再使用fontloader,這種方式目前存在各種問題,第一是ttf轉json格式原本2m的ttf字型轉後到7-8m,對於網頁來說基本沒什麼用處了,再乙個伺服器一旦開啟gzip就無法獲取json格式的content-length,所以載入進度條也沒法用了。這裡重點介紹ttfloader直接載入ttf字型檔案,這樣不存在格式轉化問題,不說檔案多小麼至少沒大起來,重點來了,python有乙個fonttools字型精簡工具,可以生成所需字型的檔案,拿我的來說從json 8m的使用ttfloader縮到2m,加上gzip就更小,再使用fonttools生成字型就只有幾10k了,沒錯,就是10k
下面具體講下搭配使用fonttools安裝和使用過程
首先安裝python環境,這個就不再多說了
安裝也非常簡單,直接進入目錄執行
$python setup.py build
$python setup.py install
就完成了
fonttools有針對字型個各式各樣的操作,
教程,這裡只說我們需要的那個功能
$pyftsubset font.otf --text=" 漢字 "
--text選項用於指定需要保留的字元
--text-file選項用於指定乙個包含需要保留的字元的 txt 文件
--output-file選項用於指定輸出檔案的儲存位置
eg:pyftsubset msyh.ttf --text="漢字" --output-file msyh_sub.ttf 就生成了
matplotlib設定中文字型的方法
為什麼無法顯示中文 matplotlib預設不支援中文字元,因為預設的英文本型無法顯示漢字 檢視linux mac下面支援的字型 fc list 檢視支援的字型 fc list lang zh 檢視支援的中文 冒號前面有空格 例如 my font font manager.fontpropertie...
linux中文字型
背景說明 報表,在windows下,展現 匯出都正常,在linux下,字型變大了。比如,單元格的大小設計好後,裡面的字當好能一行顯示完,將報表放到linux下後,字變大了,一行顯示不完了,變成了兩行,這樣會影響我們報表的美觀。出現這樣的問題,是什麼原因呢?我們又怎麼解決呢?看下面的原因和方法。應用舉...
python matplotlib 中文字型設定
matplotlib是畫圖利器,可惜中文支援不夠好,不設中文字型畫出的裡面的中文全是小框框,筆者也是google了許多次,嘗試了好幾種方法,終於弄對了。思路就是找乙個ttf檔案,可以直接用windows系統裡面ttf檔案,然後建立自己的font,將文字使用的font設定為自己建立的font就可以了。...