Tom*_*han 9 ubuntu matlab fonts matlab-figure
我在标签和图例中渲染希腊字符时遇到问题,所以我想也许切换字体会有所帮助.因此,我发现了一个更大的问题--Matlab似乎根本不尊重我的字体设置.
我当然试过了
set(gcf, 'FontName', 'Ubuntu')
set(gca, 'FontName', 'Ubuntu')
Run Code Online (Sandbox Code Playgroud)
还有像
set(findall(gca, 'type', 'text'), 'FontName', 'Ubuntu')
Run Code Online (Sandbox Code Playgroud)
和
set(0,'DefaultAxesFontName', 'Ubuntu')
Run Code Online (Sandbox Code Playgroud)
我也试过切换渲染器
set(0, 'DefaultFigureRenderer', 'OpenGL') % also tried 'zbuffer' and 'painters'
Run Code Online (Sandbox Code Playgroud)
我甚至进入了图中的属性编辑器,并手动更改了字体.无论我做什么,字体都会出现相同的,丑陋的等宽字体(见下图).此图片使用图中菜单栏中的另存为...命令保存,但是例如print -dpng 'fonttest.png'也不起作用.
我已经fc-list在我的终端和listfontsMatlab命令提示符下仔细检查了Ubuntu字体是否已安装且可用.我正在运行Matlab R2012b.
如何在我的数字中设置字体?
更新:
正如评论中所建议的那样,我试着看看这是否可能是Ubuntu上的Java问题.果然,从OpenJDK切换到Oracle Java有帮助,但还不够 - 我可以使用Helvetica和其他一些,但我不能在我安装的字体中自由选择.例如,Ubuntu字体不起作用.(但是,它确实在Matlab的主GUI中 - 我在菜单等中将字体更改为Ubuntu,在编辑器和命令窗口中将Consolas更改为,并且它呈现正常.)
每当我选择不起作用的数字字体时,Matlab会使用下面屏幕截图中显示的内容作为后备.

的 p,q 而 f 这里确实应该是希腊字母PI,θ和岛(他们正在与规定 \pi 等),但我猜的字体没有这些字符.第三个图的y标签中的奇怪东西是瑞典语 - 它应该不是编码的问题,因为文件保存为UTF-8,这也是 slCharacterEncoding 返回的,所以我假设它也是一种字体问题.
安装xfonts-75dpi和xfonts-100dpi对我来说是默认设置的诀窍.
sudo apt-get install xfonts-75dpi xfonts-100dpi
Run Code Online (Sandbox Code Playgroud)
然后注销并再次登录.
这似乎允许两个符号(例如\ pi)和字体大小(例如set(h,'FontSize',14))发生变化(使用默认的Matlab字体).
机器设置:Ubuntu 12.04 x64与Matlab R2012b