+ -
当前位置:首页 → 问答吧 → 不用补丁实现slackware完美中文显示

不用补丁实现slackware完美中文显示

时间:2004-06-12

来源:互联网

前些天终于找到了别人制作的带粗斜体的方正圆体字体包,实现了不打补丁的完美中文显示,而且不用任何配置。不敢独享,喜欢AA中英文的朋友可以到这里下载。
ftp://linux:[email protected]/upl...+bitstream.zip
说说我的做法:解压字体包,有带粗斜体的方正圆体共4个文件,拷贝到/usr/X11R6/lib/X11/fonts/local/
然后到这个目录下依此运行mkfontscale,mkfontdir
生成的fontscale和fontdir中的中文编码为gb18030.2000,由于很多软件都还不支持,可以改为gbk,(或另外加)
修改/etc/X11/xorg.conf(我的是current)字体段:
我只保留freetype,去掉了type1和speedo
确保字体目录段包含有/usr/X11R6/lib/X11/fonts/local/
修改fonts.conf
fontpath加入/usr/X11R6/lib/X11/fonts/local/
各字体定义字段加入fzyuanti这个family
搞定了,其他美化都不再需要,
说了那么多废话了,不在乎再说多一些
我的是英文界面,lang.sh为
export lang=C
export LC_CTYPE=zh_CN.gbk
export G_BROKEN_FILENAMES=1

/etc/gtkrc/gtkrc.zh_CN内容:
# $(gtkconfigdir)/gtkrc.zh_CN
#
# This file defines the fontsets for Chinese language (zh) using
# the simplified chinese standard GuoBiao as in mainland China (CN)
#
# 1999, Pablo Saratxaga <[email protected]>
#

style "gtk-default-zh-cn" {
fontset = "-adobe-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-1,\
-*-*-medium-r-normal--12-*-*-*-*-*-gbk-0,*-r-*"
}
class "GtkWidget" style "gtk-default-zh-cn"

/etc/gtk-2.0/gtkrc内容:
style "user-font" {
font_name="Bitstream Vera Sans 10" }
class "*" style "user-font"

作者: dreamawake   发布时间: 2004-06-12

繁体也一样没问题:

作者: dreamawake   发布时间: 2004-06-12

在/etc/fonts/fonts.conf或者/etc/fonts/local.conf里面加入
PHP 代码:
<match target="font">
        <edit name="hinting" mode="assign">
            <bool>false</bool>
        </edit>
        <edit name="autohint" mode="assign">
            <bool>false</bool>
        </edit>
 </match> 
中文会更好看。

作者: Neo.K   发布时间: 2004-06-12

Abiword能用中文了

作者: dreamawake   发布时间: 2004-06-12

Neo.K兄,加了你的代码字体变得好模糊,还是不用好,原配的fonts.conf已经很完美了。

作者: dreamawake   发布时间: 2004-06-12

hinting 设为 true 可能会好些。

作者: qianzheng82   发布时间: 2004-06-12

谢谢分享,字体下载中

作者: laxi1982   发布时间: 2004-06-12

我这儿字体不能下载啊,sigh

作者: mrzhu   发布时间: 2004-06-12

slackware-current那天参照标准的9.1汉化方法那个字真是难看,其实一切尽在那个fonts.conf,感觉不是很好效果

就是这帖里的fonts.conf,晕一个fonts.conf影响好大哦,真是漂亮这个conf

作者: dato   发布时间: 2004-06-12

xorg里的X11R6.7.1的xft和fontconfig是重新作了修改的,不同于xfree86。

作者: dreamawake   发布时间: 2004-06-12

, good ftp ,it is so fast ,

作者: game0ver   发布时间: 2004-06-16

觉得只有象simsun那样内嵌点阵的字体看起来才清楚。现在缺乏这样的一套好点的字体。

作者: hupeng923   发布时间: 2004-06-16

效果挺好的,就是有的地方会出现缺字:(
总体感觉还可以

作者: topmint   发布时间: 2004-06-19

来两张图片?

作者: 梦幻者言   发布时间: 2004-06-20

本来有的,后来数据丢失,没了
上传的图像
1.jpg (51.2 KB, 2324 次查看)

作者: dreamawake   发布时间: 2004-06-20

我已经装上10.0了,感觉很不错。
上传的图像
2.jpg (98.8 KB, 998 次查看)

作者: dreamawake   发布时间: 2004-06-20

哪里有10的ISO下?

作者: 梦幻者言   发布时间: 2004-06-20

还是比较难看……中文字体大小不一,高低不齐

作者: cobranail   发布时间: 2004-06-21

我现在用的就是这个,很不错啊
最主要的是方法简单,呵呵

作者: topmint   发布时间: 2004-06-22

我已经成功的搞定不使用补丁的美化而且xft可以显示粗体,太完美了,稍后写上具体步骤,现在睡觉,准备看球。

作者: guccio   发布时间: 2004-06-24

引用:
最初由 guccio 发表
我已经成功的搞定不使用补丁的美化而且xft可以显示粗体,太完美了,稍后写上具体步骤,现在睡觉,准备看球。

我的freetype和fontconfig都是原装的,再装一个打过firefly补丁的libXft 2.1.6,效果如下。
对于guccio的xft,我不相信不打补丁可以有粗体效果。

作者: Neo.K   发布时间: 2004-06-24

呵呵,你听说过修改字体**吗?让我细细道来。

作者: guccio   发布时间: 2004-06-24

首先,感谢wxz8兄在linuxfans的帖子,他的思路给汉化linux提供了一条新路,具体详见: http://www.linuxfans.org/nuke/module...wtopic&t=61333

要获得中文的粗体、斜体、粗斜体。在linux的各种驱动还不成熟的情况下,自己制作出中文字体的粗体、斜体、粗斜体,是一个相当不错的方法。不仅显示没问题而且打印的问题也一并解决了。真的解决的很彻底,这是一个不管在什么版本下、也甭管它是什么软件,只要它支持中文就行的通用的方法。

我已经先前经过长时间的盯梢,从wzx那个很难上去的ftp上弄到了经过修改的基于方正园体、simsun和tahoma的包含粗体、斜体、粗斜体的本方认为世界上最完美的4个中文ttf字体(咳咳,让我喘口气) ,在下面可以下载到:

http://linuxfire.dhis.org/~guccio/misc/fonts/

里面四个字体的特性我介绍一下,都是基于方正园体的,经过修改,低于14号的用simsun的高质量点阵替换,高于14的使用原来的适合显示大字体的很好看的方正园体(而且也内嵌点阵字库),然后所有附带的英文字体都已替换成tahoma,酷弊了吧。

我的汉化方法(适用于gtk2程序),将这四个字体拷贝拷贝入/etc/fonts/font.conf中包含的任一字体路径,我选用~/.fonts/,运行一遍fc-cache -vf,这样gtk2程序就可以使用这些字体了,然后修改~/.gtkrc-2.0将gtk2程序的字体改成fzyuanti,使用gnome的话修改首选项里的字体为fzyuanti即可,为了更好的提高某些gtk2程序中使用fzyuanti的优先权,我还编辑了etc/fonts/font.conf文件,定义了fzyuanti的<family>,并加入到原先使用的simsun之前,这样fontconfig就会优先使用fzyuanti显示中文,好了,汉化结束,就这么简单,因为把粗体、斜体还有粗斜体都提取出来分成四个字体,所以从根本上解决了粗体显示的问题,永远跟补丁说BB。

总结一下,我认为以上的方法不但方便,效果惊人,而且一劳永逸,对于以后的重装,也只要备份这四个字体就可以了,这才真正算是不用补丁的完美效果。

完毕。

作者: guccio   发布时间: 2004-06-24

不打补丁的美化方法是最安全的,不必担心系统被破坏,强列推荐!

作者: hupeng923   发布时间: 2004-06-24

引用:
最初由 guccio 发表
首先,感谢wxz8兄在linuxfans的帖子,他的思路给汉化linux提供了一条新路,具体详见: http://www.linuxfans.org/nuke/module...wtopic&t=61333

要获得中文的粗体、斜体、粗斜体。在linux的各种驱动还不成熟的情况下,自己制作出中文字体的粗体、斜体、粗斜体,是一个相当不错的方法。不仅显示没问题而且打印的问题也一并解决了。真的解决的很彻底,这是一个不管在什么版本下、也甭管它是什么软件,只要它支持中文就行的通用的方法。

我已经先前经过长时间的盯梢,从wzx那个很难上去的ftp上弄到了经过修改的基于方正园体、simsun和tahoma的包含粗体、斜体、粗斜体的本方认为世界上最完美的4个中文ttf字体(咳咳,让我喘口气) ,在下面可以下载到:

http://linuxfire.dhis.org/~guccio/misc/fonts/

里面四个字体的特性我介绍一下,都是基于方正园体的,经过修改,低于14号的用simsun的高质量点阵替换,高于14的使用原来的适合显示大字体的很好看的方正园体(而且也内嵌点阵字库),然后所有附带的英文字体都已替换成tahoma,酷弊了吧。

我的汉化方法(适用于gtk2程序),将这四个字体拷贝拷贝入/etc/fonts/font.conf中包含的任一字体路径,我选用~/.fonts/,运行一遍fc-cache -vf,这样gtk2程序就可以使用这些字体了,然后修改~/.gtkrc-2.0将gtk2程序的字体改成fzyuanti,使用gnome的话修改首选项里的字体为fzyuanti即可,为了更好的提高某些gtk2程序中使用fzyuanti的优先权,我还编辑了etc/fonts/font.conf文件,定义了fzyuanti的<family>,并加入到原先使用的simsun之前,这样fontconfig就会优先使用fzyuanti显示中文,好了,汉化结束,就这么简单,因为把粗体、斜体还有粗斜体都提取出来分成四个字体,所以从根本上解决了粗体显示的问题,永远跟补丁说BB。

总结一下,我认为以上的方法不但方便,效果惊人,而且一劳永逸,对于以后的重装,也只要备份这四个字体就可以了,这才真正算是不用补丁的完美效果。

完毕。
这个以前用过,我还修改过字体,但技术不精,不好看。
用字体替代法,字体不同一,我也不喜欢。
觉得就装一个libXft不会对系统有什么影响,而且比字体替代法更简单。

作者: Neo.K   发布时间: 2004-06-24

关键的是修改字体的技术,这个园体是wzx新放出的,修改的已经很完美了,我试过,真的很好,不过我不喜欢tahoma,所以改用bitstream显示英文了。至于字体统一的问题,完全可以通过修改fontconf字体显示的优先级来达到想要的效果。

作者: guccio   发布时间: 2004-06-24

就是本文的方法啊,不过你是自己改字体,我是用别人改好的字体而已。

作者: dreamawake   发布时间: 2004-06-24

方法一样,采用的字体不一样。
dreamawake的字体不含点阵字,guccio的字体内嵌点阵。我习惯SimSun内嵌的那种点阵字,看的清楚。喜欢哪种看每个人的情况

作者: hupeng923   发布时间: 2004-06-24

带点阵的好,这样可以发挥字体最大的潜力,其实关键不是配置,配置人人都会,况且现在fontconfig很容易,关键是我给出的字体,把粗体斜体粗斜体都提取出来变成单一文件,从根本解决了xft不能读取中文字体粗体信息的问题,而且在小于14号字体的时候使用的是内嵌的simsun,大于14号的使用的是同样带有点阵的园体,这是不用补丁美化的关键。

plus:不好意思,刚才仔细看了楼主的文章,其实跟我的思路一样:o 就是大家使用的字体不同而已,呵呵,那我的文章就算来个补充吧。

作者: guccio   发布时间: 2004-06-24

我试了一下guccio兄弟的方法。
发现要取消aa字体才可以。。
否则很难看。。

作者: 梦幻者言   发布时间: 2004-06-25

是的,我在我的/etc/fonts/local.conf加了一下段落:

<match target="font">
<test qual="any" name="family" compare="eq">
<string>SimSun</string>
<string>UniSun</string>
<string>fzyuanti</string>
</test>
<test name="pixelsize" compare="more_eq">
<double>8</double>
</test>
<test name="pixelsize" compare="less_eq">
<double>14</double>
</test>
<edit name="antialias">
<bool>false</bool>
</edit>
</match>

取消了我三个主要字体在8-14号的时候的AA,中文字体还是纯粹用点阵的好。

作者: guccio   发布时间: 2004-06-25

引用:
最初由 guccio 发表
带点阵的好,这样可以发挥字体最大的潜力,其实关键不是配置,配置人人都会,况且现在fontconfig很容易,关键是我给出的字体,把粗体斜体粗斜体都提取出来变成单一文件,从根本解决了xft不能读取中文字体粗体信息的问题,而且在小于14号字体的时候使用的是内嵌的simsun,大于14号的使用的是同样带有点阵的园体,这是不用补丁美化的关键。

plus:不好意思,刚才仔细看了楼主的文章,其实跟我的思路一样:o 就是大家使用的字体不同而已,呵呵,那我的文章就算来个补充吧。
你提到的字体不能下载了!?还有别的地方下载吗?

作者: Second   发布时间: 2004-06-26

http://yggg.3322.org/~guccio/misc/fonts/,不是还在吗.

作者: guccio   发布时间: 2004-06-26

引用:
最初由 guccio 发表
http://yggg.3322.org/~guccio/misc/fonts/,不是还在吗.
这下好了。谢谢。

作者: Second   发布时间: 2004-06-26

谁能介绍一下在这种汉化方式下,如何安装小企鹅输入法啊。

作者: wangcity   发布时间: 2004-07-01

与一般的美化汉化方法安装无异。

作者: dreamawake   发布时间: 2004-07-01

我安装成功了,可以用,但是有个问题
就是我在kde的命令窗口中用fcitx&启动的时候,它老提示我
没有设置XMODIFIERS
但是使用一切正常。
我在/root/.bashrc中,整个定义如下
export LC_ALL=zh_CN.gbk
export LANG=zh_CN.gbk
export XMODIFIERS=@im=fcitx

作者: wangcity   发布时间: 2004-07-01

最好在/etc/X11/xinit/xinitrc里设置,然后把exec fcitx &也加到其中去。

作者: guccio   发布时间: 2004-07-01

可否说具体点,是否在/etc/X11/xinit/xinitrc里面添加export LC_ALL=zh_CN.gbk
export LANG=zh_CN.gbk
export XMODIFIERS=@im=fcitx

作者: wangcity   发布时间: 2004-07-02

我的作法是:
编辑 $home/.xinitrc
开头加上两行:
export XMODIFIERS=@im=fcitx
fcitx &

作者: dreamawake   发布时间: 2004-07-02

我的/etc/X11/xinit/xinitrc:

#!/bin/sh
# $XConsortium: xinitrc.cpp,v 1.4 91/08/22 11:41:34 rws Exp $

userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/usr/X11R6/lib/X11/xinit/.Xresources
sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap

# merge in defaults and keymaps

if [ -f $sysresources ]; then
xrdb -merge $sysresources
fi

if [ -f $sysmodmap ]; then
xmodmap $sysmodmap
fi

if [ -f $userresources ]; then
xrdb -merge $userresources
fi

if [ -f $usermodmap ]; then
xmodmap $usermodmap
fi

# This nag screen isn't going to save anybody.
export NAUTILUS_OK_TO_RUN_AS_ROOT=1

LANG=zh_CN.GBK
LC_ALL=zh_CN.GBK
LC_CTYPE=zh_CN.GBK
KDE_LANG=zh_CN.GBK
export LANG LC_ALL LC_CTYPE KDE_LANG
export G_BROKEN_FILENAMES=1
export XMODIFIERS=@im=SCIM
export XIM=SCIM
export XIM_PROGRAM=SCIM
export GTK_IM_MODULE="SCIM"
numlockx
scim -d

# Start the window manager:
exec gnome-session

作者: guccio   发布时间: 2004-07-02

gccuio,今天试了一下你的“完美字体”,取消AA用宋体时效果很差,主要是浏览网页时字和下划线连在一块,汉字没掉了半截,晕,还是圆体好:)

作者: dreamawake   发布时间: 2004-07-03

dreamawake,能否把你的fonts.conf文件贴一下呢?

作者: philipsea   发布时间: 2004-07-03

哈哈,我的fonts.conf就是原版,只是加了字体路径,方正圆体字体的family,其他的字体渲染等一个字都没改。

作者: dreamawake   发布时间: 2004-07-03

你不要全部取消AA阿,参考一下这个,在小于14号字体的时候取消就很好看了,(但是为什么我的机器上的字体很好看????)

<match target="font">
<test qual="any" name="family" compare="eq">
<string>SimSun</string>
<string>UniSun</string>
<string>fzyuanti</string>
</test>
<test name="pixelsize" compare="more_eq">
<double>8</double>
</test>
<test name="pixelsize" compare="less_eq">
<double>14</double>
</test>
<edit name="antialias">
<bool>false</bool>
</edit>
</match>

作者: guccio   发布时间: 2004-07-03