我在标签和图例中渲染希腊字符时遇到问题,所以我想也许切换字体会有所帮助 . 因此,我发现了一个更大的问题--Matlab似乎根本不尊重我的字体设置 .
我当然试过了
set(gcf, 'FontName', 'Ubuntu')
set(gca, 'FontName', 'Ubuntu')
还有像
set(findall(gca, 'type', 'text'), 'FontName', 'Ubuntu')
和
set(0,'DefaultAxesFontName', 'Ubuntu')
我也试过切换渲染器
set(0, 'DefaultFigureRenderer', 'OpenGL') % also tried 'zbuffer' and 'painters'
我甚至进入了图中的属性编辑器,并手动更改了字体 . 无论我做什么,字体都会出现相同的,丑陋的等宽字体(见下图) . 使用图中菜单栏中的另存为...命令保存此图片,但例如 print -dpng 'fonttest.png'
也不起作用 .
我已经在我的终端中使用 fc-list
和在Matlab命令提示符下的 listfonts
双重检查了 Ubuntu
字体已安装且可用 . 我正在运行Matlab R2012b .
如何在我的数字中设置字体?
UPDATE:
正如评论中所建议的,我试图看看这是否可能是issue with Java on Ubuntu . 果然,从OpenJDK切换到Oracle Java有帮助,但还不够 - 我可以使用Helvetica和其他几个,但我可以在菜单等中将字体更改为Ubuntu,在编辑器和命令窗口中将Consolas更改为,并且它呈现好 . )
每当我选择不起作用的数字字体时,Matlab会使用下面屏幕截图中显示的内容作为后备 .
这里的 p
, q
和 f
应该是希腊字母pi,theta和phi(它们用 \pi
等指定)但是我猜字体不是编码问题,因为文件保存为UTF-8 ,这也是 slCharacterEncoding
返回的,所以我认为这也是一个字体问题 .
2 回答
安装xfonts-75dpi和xfonts-100dpi对我来说是默认设置的诀窍 .
然后注销并再次登录 .
这似乎允许两个符号(例如\ pi)和字体大小(例如set(h,'FontSize',14))发生变化(使用默认的Matlab字体) .
机器设置:Ubuntu 12.04 x64与Matlab R2012b
尝试使用'Interpreter'选项,'LaTex'(默认为'Interpreter','Tex') . 这可能会让你找到一个不那么错误的字体渲染器 .