我已经在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-100dpixfonts-75dpixfonts-cyrillict1-cyrilliccm-superttf-freefontgsfonts-x11

但是有趣的是,这些字体仅适用于UTF-8,因此我可以使用以下字体在数字中显示俄语(西里尔字母)文本:

  • 清洁
  • 免费先锋
  • 免费图书管理员
  • 免费机会
  • 免费 express
  • 免费helvetian
  • 免费圣骑士
  • 免费教科书
  • 空闲时间
  • oldslavic
  • tahoma瓜ap
  • 球队
  • 总站

  • 对于我的原始问题,我发现了特殊的ttf-font file,它可以按预期工作,而俄语(西里尔字母)文本在CP/Windows-1251字符集中的外观与预期的一样。

    我将此字体放入/usr/local/share/fonts/truetype,跑mkfontscalemkfontdirfc-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/

    10-11 04:18