一。 英文界面下的GBK编码中文支持
这里主要讲述如何把界面设置成语言英文同时又支持中文(GBK)的方法。
1) 用root或sudo执行下面的命令来设置LOCALE
dpkg-reconfigure locales
a) 系统需要支持(产生)英文和中文。 [我的设置为: en_GB.UTF-8 和 zh_CN.GBK]
b) 默认编码选英文。[我的设置为: en_GB.UTF-8 ]
*如果其它不设置的话,系统的界面就是英文了,但是此时中文会乱,因为所有的文字都是通过默认编码[我的设置为: en_GB.UTF-8 ]来处理的。所以我们需要再设置LOCALE变量中的LC_CTYPE值来正常显示中文。
2) 如果您用GUI界面的话,把如下的代码放到 /etc/X11/Xsession.d/60env 中
代码: 全选
ENCODING="en_GB.UTF-8"
export LC_MESSAGES=$ENCODING
export LC_COLLATE=$ENCODING
export LC_CTYPE="zh_CN.GBK"
export LC_TIME=$ENCODING
export LC_NUMERIC=$ENCODING
export LC_MONETARY=$ENCODING
export LC_PAPER=$ENCODING
export LC_NAME=$ENCODING
export LC_ADDRESS=$ENCODING
export LC_TELEPHONE=$ENCODING
export LC_MEASUREMENT=$ENCODING
export LC_IDENTIFICATION=$ENCODING
* 截图可以看附件的图一。
二。 中文在LCD上的显示优化
因为LCD的工作方式,中文和英文在LCD上的显示效果截然不同(相同配置下),因起要区别对待,这也增加了解决的难度。
1) 从 http://www.linuxsir.org/ 下载 Versa-YuanTi, 我用的版本是2。0,以下是它的更新记录:
代码: 全选
0.1:忘记了
0.2:也忘记了
0.3:还是忘记了
1.0:字体全部重做。以 Bitstream 为基础直接 Merge 进圆体,不再进行逐字符替换。节省制作时间、减少错误。觉得较为完善、以后也很少会改动,故版本号做大的调整
2.0:在 1.0 的基础上嵌入从 simsun 里提出的 12、13、14、15、16、18 pixelsize 的 GBK 点阵
2) 更改字体配置文件。
a)以下的代码是在 /etc/fonts/fonts.conf中的,如果放到/etc/fonts/local.conf应该也可以的
代码: 全选
<alias>
<family>serif</family>
<prefer>
<family>Bitstream Vera Serif</family>
<family>Times New Roman</family>
<family>Thorndale AMT</family>
<family>Luxi Serif</family>
<family>Nimbus Roman No9 L</family>
<family>Times</family>
<family>Frank Ruehl</family>
<family>FreeSerif</family>
<family>MgOpen Canonica</family>
<family>Kochi Mincho</family>
<family>Baekmuk Batang</family>
<family>Vera Sans YuanTi</family>
<family>Vera Sans YuanTi Mono</family>
<family>NSimSun</family>
</prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer>
<family>Bitstream Vera Sans</family>
<family>Verdana</family>
<family>Arial</family>
<family>Albany AMT</family>
<family>Luxi Sans</family>
<family>Nimbus Sans L</family>
<family>Helvetica</family>
<family>Nachlieli</family>
<family>FreeSans</family>
<family>MgOpen Moderna</family>
<family>Kochi Gothic</family>
<family>Baekmuk Dotum</family>
<family>Vera Sans YuanTi</family>
<family>Vera Sans YuanTi Mono</family>
<family>NSimSun</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Bitstream Vera Sans Mono</family>
<family>Andale Mono</family>
<family>Courier New</family>
<family>Cumberland AMT</family>
<family>Luxi Mono</family>
<family>Nimbus Mono L</family>
<family>Courier</family>
<family>Miriam Mono</family>
<family>FreeMono</family>
<family>Kochi Gothic</family>
<family>Baekmuk Dotum</family>
<family>Vera Sans YuanTi</family>
<family>Vera Sans YuanTi Mono</family>
<family>NSimSun</family>
</prefer>
</alias>
代码: 全选
<alias>
<family>serif</family>
<prefer>
<family>Bitstream Vera Serif</family>
<family>Vera Sans YuanTi</family>
</prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer>
<family>Bitstream Vera Sans</family>
<family>Vera Sans YuanTi</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Bitstream Vera Sans Mono</family>
<family>Vera Sans YuanTi Mono</family>
</prefer>
</alias>
<match target="font" >
<test name="family" >
<string>SimSun</string>
<string>Vera Sans YuanTi</string>
<string>Vera Sans YuanTi Mono</string>
</test>
<test name="pixelsize" compare="more_eq"><double>12</double></test>
<test name="pixelsize" compare="less_eq"><double>16</double></test>
<edit name="antialias" >
<bool>false</bool>
</edit>
<edit name="rgba" >
<const>none</const>
</edit>
<edit name="hinting" >
<bool>false</bool>
</edit>
</match>
<match target="font" >
<test name="family" >
<string>NSimSun</string>
</test>
<test name="pixelsize" compare="more_eq"><double>12</double></test>
<test name="pixelsize" compare="less_eq"><double>16</double></test>
<edit name="antialias" >
<bool>false</bool>
</edit>
<edit name="rgba" >
<const>none</const>
</edit>
<edit name="hinting" >
<bool>false</bool>
</edit>
</match>
<match target="font">
<test name="family"><string>Vera Sans YuanTi</string></test>
<edit name="globaladvance"><bool>false</bool></edit>
</match>
<match target="font">
<test name="family"><string>Vera Sans YuanTi Mono</string></test>
<edit name="globaladvance"><bool>false</bool></edit>
</match>
* 这里的设置主要一个是设置优先字体Bitstream Vera Sans, Vera Sans YuanTi, 再一个是依据显示字体来启用和禁用antialias和hinting。如果中文字体打开antialias和hinting在LCD上会显的很糊,而英文开启此配置会显的圆润,所以我们只需要让中文在12-16号中间禁用antialias和hinting。
* 因为Vera Sans YuanTi内嵌了部分simsun的GBK 点阵,当Vera Sans YuanTi关闭antialias和hinting是内嵌的simsun的GBK 点阵会被显示出来。而当启用antialias和hinting时这个字体中的圆体会被显示。这就是说:
在12-16号的中文字体会以simsun的字体显示出来,其他号的字体会以加了antialias和hinting的园体显示。
*具体效果大家可以看截图 (第二张) 中字号由小变大而带来自行和显示效果变化。