我已经在Ubuntu 12.04.4 LTS和Windows XP上安装了MATLAB R2008b。
Ubuntu中的系统区域设置是Unicode-en_US.UTF-8。
为了与Windows兼容,我使用ru_RU.CP1251语言环境在Ubuntu中启动了MATLAB-因此,我有一个简单的脚本来启动MATLAB:
cat /opt/MATLAB_R2008b/bin/matlab-run
#!/bin/bash
export LANG="ru_RU.CP1251";
export LC_ALL="ru_RU.CP1251";
/opt/MATLAB_R2008b/bin/matlab -desktop
之后, slCharacterEncoding 和功能('DefaultCharacterSet')将按预期返回所需的Windows-1251。
我的系统中有很多字体,几乎所有字体都支持俄语(西里尔字母)字形。
俄语文本通常在 uicontrol 中显示(请参见屏幕截图)
uicontrol('String','Русский=Russian','Position',[0 0 200 200])
但没有在图标签和标题中,所以
x = linspace(0,2*pi,100); y = sin(x);
xlabel('x, в радианах','interpreter','none');
ylabel('y, значение sin(x)','interpreter','none');
title('y, значение sin(x)','interpreter','none');
在标签和标题中产生错误的字符。
我不知道该如何解决。
我应该如何设置MATLAB以在Linux上的图形上正确显示俄语(西里尔字母)字符?
最佳答案
我解决了我的问题。
我安装了所有推荐的字体-软件包xfonts-100dpi
,xfonts-75dpi
,xfonts-cyrillic
,t1-cyrillic
,cm-super
,ttf-freefont
,gsfonts-x11
。
但是有趣的是,这些字体仅适用于UTF-8,因此我可以使用以下字体在数字中显示俄语(西里尔字母)文本:
对于我的原始问题,我发现了特殊的ttf-font file,它可以按预期工作,而俄语(西里尔字母)文本在CP/Windows-1251字符集中的外观与预期的一样。
我将此字体放入
/usr/local/share/fonts/truetype
,跑mkfontscale
,mkfontdir
和fc-cache -vf
,并将此位置添加到/etc/X11/xorg.conf
: Section "Files"
FontPath "/usr/share/fonts/truetype"
FontPath "/usr/local/share/fonts/truetype"
EndSection
。
我安装了
language-pack-ru
并按以下方式编辑了/var/lib/locales/supported.d/local
:en_US.UTF-8 UTF-8
ru_RU ISO-8859-5
ru_RU.CP1251 CP1251
ru_RU.KOI8-R KOI8-R
关于linux - 我应该如何设置MATLAB以在Linux上的图形上正确显示俄语(西里尔字母)字符?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25142274/