skywarship 发表于 2004-3-24 02:09:27

我的RedHat Linux 9.0美化方案

在公社的坛子里泡了几天,在大家的帖子的帮助和提示下,我基本完成了自己的桌面的美化,效果还不错吧 :-) ,和大家分享一下我的经验

skywarship 发表于 2004-3-24 02:56:12

美化步骤

有两点要事先说明的:首先,我的系统是RedHat 9.0,我不能保证我的美化方法在所有的发行版上都能正常使用,是否采用,请大家自己考虑;其次,如果你以前用过了其他的美化方法或是美化包,请恢复到美化前的状态,因为你使用的美化方法(包)可能改动了系统的设置,我不能保证我的美化方法在你的系统上能达到预期的效果

请以root用户登陆,让我们开始吧!

1. 拷贝Windows的字体文件到Linux中

        不用说了吧,现在比较好看的而且容易搞到的字体就是Windows的字体了(不过还是不要在网上散发,自己用就行了,说不定被Microsoft告了,虽然说不怕它,但何必去惹那个麻烦呢^_^)

操作:把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对汉字的显示,系统
      默认的显示是比较难看的(我是这么认为,有些人倒不在意这个)

操作:        下载公社的补丁包:http://www.linuxfans.org/nuke/modules.php?name=Site_Downloads&op=mydown&did=464
      下载firefly的Xft2补丁包:(附件1)
         安装补丁包:把fans-Xft2.tar.gz和xft2-2.1.1-3mdk.firefly.i586.rpm拷到你的工作目录,
                     然后tar xvzf fans-Xft2.tar.gz,进入./fans-Xft2/i386/,然后rpm -Uvh *.rpm --force
                     回到你的工作目录,然后rpm -ivh xft2-2.1.1-3mdk.firefly.i586.rpm --force

Tips:公社包中的xft包不用安装,直接安装firefly的Xft2包就行了,不过如果你想偷懒少打几条命令的话,就按上面
      说的那样就行



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="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>



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,我不是太熟悉,不过大体应该差不多,将所有字体设为Tahoma,大小设为9,就可以了

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


都弄好了? 看看效果,你满意吗?

skywarship 发表于 2004-3-24 02:58:59

附件

附件:firefly的Xft2包

polare 发表于 2004-3-24 04:16:47

我顶,喜欢 :-D

superhu 发表于 2004-3-24 12:38:33

呵呵,GOOD!
只是步骤怎么这么多 :mrgreen: 还要打补丁。看来不适合我。

linuxfans66 发表于 2004-3-26 14:11:11

多谢来了! DX 我已经移植到linux下办公了
收益费钱! 哈哈
多谢多谢!

lil33 发表于 2004-3-27 00:14:31

哥哥,我照你的修改后输入法没有了,而且有几步不太清楚:1。代码加到哪里啊,里面有很多代码,看的都昏了。

   加入下面的代码,就能正常显示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="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> ”
                           
2。还有:
“编辑你的用户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"”

这个文件找不到!!郁闷

skywarship 发表于 2004-3-27 02:21:28


哥哥,我照你的修改后输入法没有了,而且有几步不太清楚:1。代码加到哪里啊,里面有很多代码,看的都昏了。

加入下面的代码,就能正常显示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="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> ”

2。还有:
“编辑你的用户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/fonts/fonts.conf
代码1:

<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>


代码2:

<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>


其中如果发现英文字体过宽就加入代码2,否则可以不加


$HOME/.gtkrc-2.0(没记错的话,应该是这个文件名)是配置gtk2.0程序的,可以不改

输入法的问题: 我用的是小企鹅输入法,是自动识别locale的,如果你用的是其他的输入法就要自行修改输入法的locale配置文件,但是如果用系统自带的miniChinput,它会和mozilla的flash插件冲突,建议使用其他输入法

kennylanse 发表于 2004-3-27 12:54:29

我用楼主的方法美化了中文,的确效果不错,但是在XMMS的选项下还是出现英文字过宽的情况。还有楼主说的解决英文字过宽的那一段代码为什么和让系统正确显示粗体的代码一样的呢?

skywarship 发表于 2004-3-27 13:41:24

感谢楼上的提醒,我贴错了,解决英文字体过宽的代码如下

<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>

zxs8208 发表于 2004-3-27 20:37:52

楼主
那个winamp的皮肤怎么弄阿

cherry 发表于 2004-3-27 20:44:38

我得赶紧试一下。 :lol:

visionalstar 发表于 2004-3-27 20:45:14

楼主
那个winamp的皮肤怎么弄阿
第一,那个不是winamp而是xmms
第二,那个skin公社有下载,在桌面下载版块里

天涯霜雪 发表于 2004-3-28 16:38:43

好文章,收藏!

lil33 发表于 2004-3-28 20:39:34

楼主我按着你的提示又重新修改了一遍,第5步里你说的那个文件,我没有,我的是.gtkrc,我把着个修改了之后字体变了,输入法又自动恢复了 .这里先好好谢谢你啊!!!!
不过有点新问题,我发现改动之后的都是英文字体变成tahoma字体,而其他中文字体都没有变化,还是像以前一样雾蒙蒙的,倒是XMMS里面的中文歌曲名变成tahoma字体.我怀疑是你说的那两段代码没有加好,我也知道是加在/etc/fonts/fonts.conf这个文件中,但是这个文件里的代码有很多,我是这个意思,不知道具体加在哪里,希望楼主说明白些,谢谢了,还有,我的终端字体里汉字全是小框框,还请解答,谢谢!!!!!
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 我的RedHat Linux 9.0美化方案