Linux也能用宋体

来源:互联网 发布:单片机串口是什么电平 编辑:程序博客网 时间:2024/04/29 09:56

        大家可能觉得Linux下的字体看起来线条比较粗糙模糊,特别表现在浏览网页时,远不如Windows下的字体清晰。下面这篇文章是我转载过来的,它介绍了怎样把windows的宋体移到linux下,在我看到的好几篇文章中,唯有按照这篇文章的步骤才成功!

1. 拷贝Windows的字体文件到Linux中
操作:把simsun.ttc、tahoma.ttf和tahomabd.ttf拷到自己打算放字体的目录中,假设我们把它们拷到 /usr/share/fonts/zh_CN/TrueType/simsun/下,将simsun.ttc改名为simsun.ttf。
Tips: Windows的字体文件在$windows目录下的Fonts目录中,一般Win98、WinXP、Win2003下是Windows/Fonts, Win2000下是WINNT/Fonts,可以建一个目录/mnt/win/,将Windows系统分区挂到该目录上:mount -t vfat /dev/hda1 /mnt/win,当然,具体是hd多少就要看你分区的情况了,是否用vfat也是如此(如果你不是用的fat32)

2. 让Linux认识新加入的Windows字体
这一工作,我们可以让Linux自己完成(使用xfs服务),我们只需要告诉Linux存放字体文件的位置就可以了
 
操作: 编辑/etc/X11/fs/config文件,在其中加入我们存放字体的目录
catalogue = /usr/X11R6/lib/X11/fonts/misc:unscaled,
/usr/X11R6/lib/X11/fonts/75dpi:unscaled,
/usr/X11R6/lib/X11/fonts/100dpi:unscaled,
/usr/X11R6/lib/X11/fonts/misc,
/usr/X11R6/lib/X11/fonts/Type1,
/usr/X11R6/lib/X11/fonts/Speedo,
/usr/X11R6/lib/X11/fonts/cyrillic,
/usr/X11R6/lib/X11/fonts/TTF,
/usr/share/fonts/default/Type1,
/usr/share/fonts/zh_CN/TrueType/simsun, <<====== 我们加入的存放字体的目录,注意最后的逗号
/usr/share/fonts/zh_CN/TrueType,
/usr/share/fonts/zh_TW/TrueType,
/usr/lib/openoffice/share/fonts/truetype

Tips: 下面这一操作道理上似乎可以省去,我是没省,你可以省去看看是否能行

操作: 编辑/etc/X11/XF86config文件(或者是/etc/X11/XF86config-4),加入存放字体的目录
Section "Files"
RgbPath "/usr/X11R6/lib/X11/rgb"
FontPath "/usr/share/fonts/zh_CN/TrueType/simsun" <<=== 我们加入的存放字体的目录,注意放在下面这一行的前面
FontPath "unix/:7100"
EndSection

 

3. 给系统打补丁

我们需要给系统打上一些补丁,以修正X-Windows对汉字的显示,系统
默认的显示是比较难看的(我是这么认为,有些人倒不在意这个)

操作:下载firefly的Xft2补丁包:(今天在csdn上传文件总是发生错误,不得已我发布在“我的资源”里了)
安装补丁包:把xft2-2.1.1-3mdk.firefly.i586.rpm拷到你的工作目录, 然后rpm -ivh xft2-2.1.1-3mdk.firefly.i586.rpm --force 
 
4. 编辑配置文件,让系统正确显示汉字

到这时,系统已经又很好的显示效果了,但你会发现还不能正确显示Windows字体并且没有粗体,所以我们还需要
进一步编辑配置文件,让系统正确显示Windows字体以及其他效果
 
操作: 编辑/etc/X11/XF86config文件(或者是/etc/X11/XF86config-4),去掉Module中的type1和freetype,加上xtt
Section "Module"
Load "dbe" # Double buffer extension
SubSection "extmod"
EndSubSection
# Load "type1" <<=== 前面加上"#"注释掉
# Load "freetype" <<=== 前面加上"#"注释掉
Load "xtt" <<=== 加上这一行
Load "glx"
EndSection

Tips: 都说type1、freetype会和xtt冲突,但我试了,如果不去掉type1和freetype,字体仍能正常显示,不知何故
 
操作: 编辑/etc/fonts/fonts.conf,加上存放Windows字体的目录和关于粗体显示的patch
<!-- Font directory list configured on Thu Feb 20 01:12:17 CST 2003 -->
<dir>/usr/X11R6/lib/X11/fonts/Type1</dir>
<dir>/usr/share/fonts</dir>
<dir>/usr/share/fonts/zh_CN/TrueType/simsun</dir> <<=== 我们加入的存放字体的目录
<dir>~/.fonts</dir>

加入下面的代码,就能正常显示simsun字体的粗体了
代码:
<match target="font">
      <test target="pattern" name="weight" compare="more">
        <const>medium</const>
      </test>
      <test name="family" compare="eq">
        <string>SimSun</string>
      </test>
      <edit name="weight" mode="assign">
        <const>bold</const>
      </edit>
     </match>


Tips: 如果你发现显示的英文字体有过宽的现象,可以在/etc/fonts/fonts.conf中加上以下的代码
代码:

 
<match target="font">
        <test target="pattern" name="lang" compare="contains">
            <string>zh-tw</string>
            <string>zh-cn</string>
            <string>ja</string>
            <string>ko</string>
        </test>
        <edit name="spacing">
            <const>proportional</const>
        </edit>
        <edit name="globaladvance">
        <bool>false</bool>
        </edit>
    </match>

 


5. 让gtk/gtk2程序正确显示simsun字体
 
现在gtk/gtk2程序还不能正确显示simsun字体,我们需要修改一下gtk/gtk2的配置文件
 
操作: 编辑/etc/gtk/gtkrc.zh_CN文件,修改默认显示的字体
style "gtk-default-zh-cn"
{
fontset = "-microsoft-tahoma-medium-r-normal--12-*-*-*-*-*-iso8859-1,/
-misc-simsun-medium-r-normal--12-*-*-*-*-*-gbk-0,*-r-*"
}
class "GtkWidget" style "gtk-default-zh-cn"
 

 

编辑你的用户HOME目录下的.gtkrc-2.0文件,修改默认显示的字体
include "/home/youraccout /.themes/XXXX/gtk-2.0/gtkrc" <<=== 这一行包含了你使用的主题的gtk2配置文件,它在你的主题目录下的gtk-2.0目录中
style "user-font"
{
font_name="tahoma 9"
}
widget_class "*" style "user-font"

编辑/etc/sysconfig/i18n文件,将其中所有的"GB18030"改成"GBK",这是我的i18n文件
LANG="zh_CN.GBK"
LANGUAGE="zh_CN.GBK:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GBK:zh_CN:zh"
SYSFONT="lat0-sun16"
SYSFONTACM="8859-15"
 

 
6. 配置桌面环境
 
最后,配置桌面环境,将系统的字体改成Windows字体
 
操作: 重新启动系统,进入X-Windows
如果你的系统是KDE,就进入控制中心->外观和主题->字体,将所有的字体设为Tahoma,大小设为9,将等宽字体设为Simsun,大小设为10
如果你的系统是GNOME,我不是太熟悉,不过大体应该差不多,将所有字体设为Simsun,大小设为9,就可以了 (注:原文说将字体设为Tahoma,不过我试了一下发现用Simsun显示的和windows差不多)

至于XMMS的字体,在它的功能设定中把"使用双字节字体"和"Use X fonts"都勾上,然后把主窗口字体和播放列表字体都设为
-microsoft-tahoma-medium-r-normal--12-*-*-*-*-*-iso8859-*,-misc-simsun-medium-r-normal--12-*-*-*-*-*-gbk-*

原创粉丝点击