精華區beta MATLAB 關於我們 聯絡資訊
※ 引述《airjaguar (捷豹)》之銘言: : 最近在linux底下裝matlab : 裝是裝成功了 也可以用 : 只是好像有些字顯示不出來(不是中文喔) : 尤其是互動的窗口裡面的選項 : 只看的到 ok這個選項 其他全部顯示不出來 : 有沒有人知道發生蛇麼問題?? 如果只要用純英文介面 只要在執行matlab的時候前面加上LC_ALL=C就可以了,例如: $ LC_ALL=C matlab 如果你想使用中文介面、正常顯示中文字型就有點麻煩,如下: 當初我也不清楚Linux中MATLAB的亂碼問題要如何下手。 後來我想到MATLAB的圖形介面是用Java寫的, 我以前也有處理過Linux上Java亂碼的問題, 所以就用類似的方法處理,結果成功了,MATLAB可以正常顯示中文。 http://web.cc.ncu.edu.tw/~93501025/matlablnx.png
解決Java的亂碼的方法大致如下: 1. 確定你的中文字型有被X Server抓到。 可以在X中的終端機輸入xfontsel找找看『fmly』有沒有抓到中文字型。 例如Ubuntu Linux的中文字型是在 /usr/share/fonts/truetype/arphic/ 如果X有抓到,fmly應該會有『ar pl shanheisun uni』的字型。 如果沒有,那就要讓X能抓到。 指令如下(不詳細解釋): $ cd /usr/share/fonts/truetype/arphic $ sudo mkfontscale $ sudo mkfontdir 再來修改/etc/X11/xorg.conf加入這一行到『適當』的地方; FontPath "/usr/share/fonts/truetype/arphic" 重新啟動X Server,再執行xfontsel看看。 2. Java要能讀到中文字型要設定一個fontconfig.properties的檔案。 MATLAB中的這個檔案大致上位於這個路徑(我是灌MATLAB R2006a for Linux): /matlab/sys/java/jre/glnx86/jre1.5.0/lib/ 然後參考fontconfig.properties的設定方法: http://java.sun.com/j2se/1.5.0/docs/guide/intl/fontconfig.html 如果你懶的研究這篇文章,可以跳過。 你可以直接複製Java提供的樣本檔:fontconfig.properties.src $ cd /matlab/sys/java/jre/glnx86/jre1.5.0/lib/ $ sudo cp fontconfig.properties.src fontconfig.properties 然後cat fontconfig.properties看一下該檔案的內容, 我們會發現裏面出現很多與我們使用xfontsel指令所看到的相似的X font name。 這時候你只要在xfontsel選出你要的『中文字型』,按下select, 然後在文字編輯器中按下滑鼠中鍵。 再來把某個欄位替換成『%d』(前面cat fontconfig.properties時會看到是哪個欄位) 就得到我們要的X font name。 (例如:-*-ar pl shanheisun uni-medium-r-normal--*-%d-*-*-p-*-iso10646-1) 這時候我們只要把fontconfig.properties當中『=』後面的X font name 全部替換成我們的中文字型就可以了。用這個指令: $ sudo sed -i 's/=.*iso8859-1/=-*-ar pl shanheisun uni-medium-r-normal--*-%d-*-*-p-*-iso10646-1/' fontconfig.properties 3. 再打開MATLAB看看中文字型是否正常。 另外MATLAB中的File>Preferences>Fonts也要選擇中文字型, 這個部份的字型設定好像是設定一些非對話框的字型設定。 -- 《金剛經》 離一切諸相,則名諸佛。 http://web.cc.ncu.edu.tw/~93501025/jg.doc -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.213.134
airjaguar:大推!!!感激不盡阿~~~ 02/14 00:29
※ 編輯: zxvc 來自: 140.115.201.94 (02/25 21:27)