Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我应该如何设置MATLAB,以便在Linux中在图形上正确显示俄语(西里尔文)字符?_Linux_Matlab_Ubuntu_Cyrillic - Fatal编程技术网

我应该如何设置MATLAB,以便在Linux中在图形上正确显示俄语(西里尔文)字符?

我应该如何设置MATLAB,以便在Linux中在图形上正确显示俄语(西里尔文)字符?,linux,matlab,ubuntu,cyrillic,Linux,Matlab,Ubuntu,Cyrillic,我已经在Ubuntu12.04.4LTS和WindowsXP上安装了MatlabR2008B。 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="

我已经在Ubuntu12.04.4LTS和WindowsXP上安装了MatlabR2008B。 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(参见屏幕截图)

但不在数字标签和标题中,所以

 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-cyrlic
t1-cyrlic
cm-super
ttf-freefont
gsfonts-x11

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

  • 干净的
  • 自由先锋派
  • 自由书商
  • 自由衡平法院
  • 免费快递
  • 自由海尔维特人
  • 自由圣骑士
  • 免费教科书
  • 空闲时间
  • 奥尔德斯拉夫
  • 塔荷马瓜
  • 团队
  • 终点站
对于我最初的问题,我发现了special,它可以正常工作,并且俄语(西里尔文)文本在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

我安装了
语言包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

我的问题类似于,但我使用CP-1251而不是Unicode。小注释-似乎对于普通西里尔文字显示字体必须支持ISO-8859-5,而不是CP/Windows-1251。
en_US.UTF-8 UTF-8
ru_RU ISO-8859-5
ru_RU.CP1251 CP1251
ru_RU.KOI8-R KOI8-R