2014年2月10日

Java 中文字型問題解決方法



Linux 中執行某些 JAVA 程式時,會發現每當顯示到中文字時就會變成 [][][] 一堆的方格…
這是 JAVA  未安裝中文字型所致,當設定好中文字型,一切就能正常顯示。


安裝中文字型

  1. 到 JAVA 安裝目錄下的 jre/lib/fonts 中建立一個 fallback 目錄

EX:
若 JAVA 安裝目錄在 :/usr/java/latest/
建立 fallback 目錄 : # mkdir /usr/java/latest/jre/lib/fonts/fallback


  1. 將字型檔 copy 到 fallback 目錄中
EX:
# cp /usr/share/fonts/cjkuni-uming/uming.ttc  /usr/java/latest/jre/lib/fonts/fallback


  1. 到 fallback 目錄中,執行 mkfontscale 後,會產生一個 fonts.scale 檔案
  2. fonts.scale 內容接在 jre/lib/fonts 目錄中的 fonts.dir 後面並更新第一行所累計的數量
EX: 
# cat fallback/fonts.scale >> ../fonts.dir







MATLAB中文亂碼問題

MATLAB 2013b以前的版本會有中文無法顯示的問題
這問題也是可以經由安裝中文字形所解決。

MATLAB本身於安裝目錄下自帶有 JAVA  環境
其路徑 : /usr/local/MATLAB/R2012a/sys/java/
字型路徑為 : /usr/local/MATLAB/R2012a/sys/java/jre/glnx86/jre/lib/fonts

  1. 在 fonts 目錄下建立一個 fallback 目錄,並將中文字型複製到該目錄中, 於該目錄下執行 mkfontscale 並會產生 fonts.scale 檔案
  2. 將產生的 fonts.scale 檔案內容接到 fonts 目錄中的 fonts.dir 檔案後面。


重新啟動 MATLAB 即可正常顯示中文

ps: Matlab 2013b 開始,安裝好後似乎中文就能正常顯示了

沒有留言: