作者zxvc (zxvc)
看板MATLAB
标题Re: [问题] 在linux底下使用matlab 显示有问题
时间Tue Feb 13 22:54:17 2007
※ 引述《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
1F:推 airjaguar:大推!!!感激不尽阿~~~ 02/14 00:29
※ 编辑: zxvc 来自: 140.115.201.94 (02/25 21:27)