有Matlab的Linux版本中文乱码这个问题由来已久了。。。网上的办法一搜一大片,曾经满腔热血的试了好几个办法,很可悲的是没有一个能成功。。。。后来自己索性不管了,大不了用英文呗。。。今天从BBS上下了罗大牛的一份代码,不但是中文注释,最后的GUI也是中文,琢磨了半天实在是没怎么看懂,于是狠下决心。。。。
找到一个百度空间的帖子,看作者说得如此中肯,难免就动心了。
=============================我是分割线=============================================
Matlab中文乱码的原因是它的图形界面是用java写的,换句话说,我们要做的实际上就是搞定java的中文显示。
1. 首先找到并进入自己的JRE目录。
我自己的是:/usr/local/matlab/sys/java/jre/glnx86/jre/,大家需要根据自己的安装目录和matlab版本来确定。
2. 在/usr/local/matlab/sys/java/jre/glnx86/jre/lib/fonts/目录下建立新的文件夹fallback。
mkdir fallback
3. 把字体复制或链接到fallback目录:
cp ~/Downloads/fonts/msyh.ttf . 我用的是Win的微软雅黑,你也可以用别的支持中文的字体,[注:如果下载字体不太方面,也比较推荐Ubuntu自带的文泉驿正黑,默认存放路径是/usr/share/fonts/truetype/wpy/wqy-zenhei.ttc]
4. 进入fallback目录,执行 mkfontscale 命令[这没什么好说的,敲个命令就成]
5. 字体的最终配置
这时候可以使用ls命令,可以看到/fonts/目录下除了刚才拷进来的/msyh.ttf以外,还多了一个名叫fonts.scale的文件,我们下面要对她动手脚了<O.O''>,要将上一步生成的文件[就是那个fonts.scale]添加到 lib/fonts/fonts.dir文件中,可用以下命令完成,当然也可以用编辑器复制粘贴[注:我是在终端中root下执行gedit fonts.dir命令完成该操作的]:
$ cat fallback/fonts.scale >> fonts.dir [注意fonts.dir应该设为可写]
6. 至此Matlab的Java环境中文支持安装完了。 [注:我做到这一步,再打开Matlab时就已经可以显示中文,因此并没有进行下一步的配置Matlab,只是稍看了一下]
7. 进入Matlab,选择 菜单 File>>Preferences>>Fonts 选择微软雅黑就行了
8. 如果下拉框里没有相应的字体,请把fallback下的字体加上可读属性:$ chmod a+r fallback/*
9. 至此Matlab应该可以正常显示中文了。