hadsun 发表于 2005-7-3 22:25:34

关于添加simsun字体的几种尝试和发现的问题,盼解

今天重装了Redhat 9.0,拷贝simsun.ttc simhei.ttf tahoma.ttf tahomabd.ttf到/usr/share/fonts/zh_CN/TrueType/simsun,simsun.ttc改名为simsun.ttf,用fc-cache /usr/share/fonts/zh_CN/TrueType/simsun,然后生成fonts.dir,内容如下:
86
simhei.ttf -misc-SimHei-medium-r-normal--0-0-0-0-c-0-ascii-0
simhei.ttf -misc-SimHei-medium-r-normal--0-0-0-0-c-0-gb2312.1980-0
simhei.ttf -misc-SimHei-medium-r-normal--0-0-0-0-c-0-gbk-0
simhei.ttf -misc-SimHei-medium-r-normal--0-0-0-0-c-0-iso10646-1
:1:simsun.ttf -misc-NSimSun-medium-r-normal--0-0-0-0-m-0-ascii-0
:1:simsun.ttf -misc-NSimSun-medium-r-normal--0-0-0-0-m-0-gb2312.1980-0
:1:simsun.ttf -misc-NSimSun-medium-r-normal--0-0-0-0-m-0-gbk-0
:1:simsun.ttf -misc-NSimSun-medium-r-normal--0-0-0-0-m-0-ibm-cp850
:1:simsun.ttf -misc-NSimSun-medium-r-normal--0-0-0-0-m-0-iso10646-1
:1:simsun.ttf -misc-NSimSun-medium-r-normal--0-0-0-0-m-0-iso8859-1
:1:simsun.ttf -misc-NSimSun-medium-r-normal--0-0-0-0-m-0-iso8859-15
:1:simsun.ttf -misc-NSimSun-medium-r-normal--0-0-0-0-m-0-koi8-r
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-c-0-ascii-0
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-c-0-gb2312.1980-0
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-c-0-gbk-0
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-c-0-ibm-cp850
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-c-0-iso10646-1
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-c-0-iso8859-1
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-c-0-iso8859-15
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-c-0-koi8-r
tahomabd.ttf -microsoft-Tahoma-bold-r-normal--0-0-0-0-c-0-adobe-standard
tahomabd.ttf -microsoft-Tahoma-bold-r-normal--0-0-0-0-c-0-ascii-0
tahomabd.ttf -microsoft-Tahoma-bold-r-normal--0-0-0-0-c-0-iso10646-1
tahomabd.ttf -microsoft-Tahoma-bold-r-normal--0-0-0-0-c-0-iso8859-1
tahomabd.ttf -microsoft-Tahoma-bold-r-normal--0-0-0-0-c-0-iso8859-10
tahomabd.ttf -microsoft-Tahoma-bold-r-normal--0-0-0-0-c-0-iso8859-11
tahomabd.ttf -microsoft-Tahoma-bold-r-normal--0-0-0-0-c-0-iso8859-13
tahomabd.ttf -microsoft-Tahoma-bold-r-normal--0-0-0-0-c-0-iso8859-15
tahomabd.ttf -microsoft-Tahoma-bold-r-normal--0-0-0-0-c-0-iso8859-16
tahomabd.ttf -microsoft-Tahoma-bold-r-normal--0-0-0-0-c-0-iso8859-2
tahomabd.ttf -microsoft-Tahoma-bold-r-normal--0-0-0-0-c-0-iso8859-3
tahomabd.ttf -microsoft-Tahoma-bold-r-normal--0-0-0-0-c-0-iso8859-4
tahomabd.ttf -microsoft-Tahoma-bold-r-normal--0-0-0-0-c-0-iso8859-5
tahomabd.ttf -microsoft-Tahoma-bold-r-normal--0-0-0-0-c-0-iso8859-6
tahomabd.ttf -microsoft-Tahoma-bold-r-normal--0-0-0-0-c-0-iso8859-7
tahomabd.ttf -microsoft-Tahoma-bold-r-normal--0-0-0-0-c-0-iso8859-8
tahomabd.ttf -microsoft-Tahoma-bold-r-normal--0-0-0-0-c-0-iso8859-9
tahomabd.ttf -microsoft-Tahoma-bold-r-normal--0-0-0-0-c-0-koi8-r
tahomabd.ttf -microsoft-Tahoma-bold-r-normal--0-0-0-0-c-0-koi8-ru
tahomabd.ttf -microsoft-Tahoma-bold-r-normal--0-0-0-0-c-0-microsoft-ansi
tahomabd.ttf -microsoft-Tahoma-bold-r-normal--0-0-0-0-c-0-microsoft-cp1250
tahomabd.ttf -microsoft-Tahoma-bold-r-normal--0-0-0-0-c-0-microsoft-cp1251
tahomabd.ttf -microsoft-Tahoma-bold-r-normal--0-0-0-0-c-0-microsoft-cp1252
tahomabd.ttf -microsoft-Tahoma-bold-r-normal--0-0-0-0-c-0-mulearabic-0
tahomabd.ttf -microsoft-Tahoma-bold-r-normal--0-0-0-0-c-0-mulearabic-1
tahomabd.ttf -microsoft-Tahoma-bold-r-normal--0-0-0-0-c-0-mulearabic-2
tahomabd.ttf -microsoft-Tahoma-bold-r-normal--0-0-0-0-c-0-tcvn-0
tahomabd.ttf -microsoft-Tahoma-bold-r-normal--0-0-0-0-c-0-tis620-0
tahomabd.ttf -microsoft-Tahoma-bold-r-normal--0-0-0-0-c-0-tis620-2
tahomabd.ttf -microsoft-Tahoma-bold-r-normal--0-0-0-0-c-0-tis620.2529-1
tahomabd.ttf -microsoft-Tahoma-bold-r-normal--0-0-0-0-c-0-tis620.2533-0
tahomabd.ttf -microsoft-Tahoma-bold-r-normal--0-0-0-0-c-0-tis620.2533-1
tahomabd.ttf -microsoft-Tahoma-bold-r-normal--0-0-0-0-c-0-viscii1.1-1
tahoma.ttf -microsoft-Tahoma-medium-r-normal--0-0-0-0-c-0-adobe-standard
tahoma.ttf -microsoft-Tahoma-medium-r-normal--0-0-0-0-c-0-ascii-0
tahoma.ttf -microsoft-Tahoma-medium-r-normal--0-0-0-0-c-0-iso10646-1
tahoma.ttf -microsoft-Tahoma-medium-r-normal--0-0-0-0-c-0-iso8859-1
tahoma.ttf -microsoft-Tahoma-medium-r-normal--0-0-0-0-c-0-iso8859-10
tahoma.ttf -microsoft-Tahoma-medium-r-normal--0-0-0-0-c-0-iso8859-11
tahoma.ttf -microsoft-Tahoma-medium-r-normal--0-0-0-0-c-0-iso8859-13
tahoma.ttf -microsoft-Tahoma-medium-r-normal--0-0-0-0-c-0-iso8859-15
tahoma.ttf -microsoft-Tahoma-medium-r-normal--0-0-0-0-c-0-iso8859-16
tahoma.ttf -microsoft-Tahoma-medium-r-normal--0-0-0-0-c-0-iso8859-2
tahoma.ttf -microsoft-Tahoma-medium-r-normal--0-0-0-0-c-0-iso8859-3
tahoma.ttf -microsoft-Tahoma-medium-r-normal--0-0-0-0-c-0-iso8859-4
tahoma.ttf -microsoft-Tahoma-medium-r-normal--0-0-0-0-c-0-iso8859-5
tahoma.ttf -microsoft-Tahoma-medium-r-normal--0-0-0-0-c-0-iso8859-6
tahoma.ttf -microsoft-Tahoma-medium-r-normal--0-0-0-0-c-0-iso8859-7
tahoma.ttf -microsoft-Tahoma-medium-r-normal--0-0-0-0-c-0-iso8859-8
tahoma.ttf -microsoft-Tahoma-medium-r-normal--0-0-0-0-c-0-iso8859-9
tahoma.ttf -microsoft-Tahoma-medium-r-normal--0-0-0-0-c-0-koi8-r
tahoma.ttf -microsoft-Tahoma-medium-r-normal--0-0-0-0-c-0-koi8-ru
tahoma.ttf -microsoft-Tahoma-medium-r-normal--0-0-0-0-c-0-microsoft-ansi
tahoma.ttf -microsoft-Tahoma-medium-r-normal--0-0-0-0-c-0-microsoft-cp1250
tahoma.ttf -microsoft-Tahoma-medium-r-normal--0-0-0-0-c-0-microsoft-cp1251
tahoma.ttf -microsoft-Tahoma-medium-r-normal--0-0-0-0-c-0-microsoft-cp1252
tahoma.ttf -microsoft-Tahoma-medium-r-normal--0-0-0-0-c-0-mulearabic-0
tahoma.ttf -microsoft-Tahoma-medium-r-normal--0-0-0-0-c-0-mulearabic-1
tahoma.ttf -microsoft-Tahoma-medium-r-normal--0-0-0-0-c-0-mulearabic-2
tahoma.ttf -microsoft-Tahoma-medium-r-normal--0-0-0-0-c-0-tcvn-0
tahoma.ttf -microsoft-Tahoma-medium-r-normal--0-0-0-0-c-0-tis620-0
tahoma.ttf -microsoft-Tahoma-medium-r-normal--0-0-0-0-c-0-tis620-2
tahoma.ttf -microsoft-Tahoma-medium-r-normal--0-0-0-0-c-0-tis620.2529-1
tahoma.ttf -microsoft-Tahoma-medium-r-normal--0-0-0-0-c-0-tis620.2533-0
tahoma.ttf -microsoft-Tahoma-medium-r-normal--0-0-0-0-c-0-tis620.2533-1
tahoma.ttf -microsoft-Tahoma-medium-r-normal--0-0-0-0-c-0-viscii1.1-1

然后在/etc/fonts/fonts.conf中添加了
<dir>/usr/share/fonts/zh_CN/TrueType/simsun</dir>
以及/etc/X11/fs/config中添加了
/usr/share/fonts/zh_CN/TrueType/simsun,
并在首选项》字体里都设置为simsun字体

然后分别做了如下的尝试 :
1、在XF86Config中添加Load “xtt”
启动X,出现中文显示发虚,英文正常
http://www.linuxfans.org/nuke/modules/Forums/files/screenshot-2_211.png
http://www.linuxfans.org/nuke/modules/Forums/files/screenshot-3_111.png

2、在XF86Config中添加Load ”xtt“和FontPath ”/usr/share/fonts/zh_CN/TrueType/simsun“
重启X,出现中文显示正常,英文显示字符间距过大
http://www.linuxfans.org/nuke/modules/Forums/files/screenshot-1_535.png
http://www.linuxfans.org/nuke/modules/Forums/files/screenshot_212.png

接着还尝试过注释掉Load ”xtt“、Load ”type1“、Load "freetype",几次尝试的结果就是只要把FontPath ”/usr/share/fonts/zh_CN/TrueType/simsun“加入了XF86Config,就会出现英文字符显示间距过大的情况,但是中文显示正常,反之则中文显示发虚,英文显示正常,后来还尝试过注释掉fonts.conf里的相关行和fs/config里的相关行,得出的结果也和前面一样,也就是说,只要XF86Config里有FontPath ”/usr/share/fonts/zh_CN/TrueType/simsun“这一行,英文显示就会不正常。在我重装系统之前,我也按照http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=59634这个帖子的方法做过,可是依然存在英文字符间距过大的问题

另外我还发现个现象,就是在XF86Config中加入了FontPath以后,gnome-panel很容易就会崩溃,我搜索了一下论坛,发现也有不少gnome-怕呢了崩溃的帖子,不过似乎都没有答案,不知道各位有没有这种情况?

zing 发表于 2005-7-4 09:00:00

兄台的精神实在可嘉呀,只是,没必要这么复杂吧?
还干不干活了呀? :mrgreen:

hadsun 发表于 2005-7-4 11:48:27

:oops::oops::oops:
倒不是有必要弄那么复杂,这个问题不解决心里总不大舒服,尽管我每次都告诉自己不再去弄字体了,免得又弄出问题,可看到有方法却又忍不住一试 :roll::roll:

wolf0403 发表于 2005-7-4 12:27:52

抛弃一切非 gtk2 程序,然后用 firefly 的 fontconfig / libXft patch 解决问题。
据说下一个版本的 X 将要放弃 X Core font system 了,所以 FontPath 这种配置方式已经没有明天了。

goodboy1881 发表于 2005-7-4 13:04:59


抛弃一切非 gtk2 程序,然后用 firefly 的 fontconfig / libXft patch 解决问题。
据说下一个版本的 X 将要放弃 X Core font system 了,所以 FontPath 这种配置方式已经没有明天了。



下一个版本的X ? 是什么版本的?
不过那种古老的字体方式确实应该作古了。

cnhnln 发表于 2005-7-4 13:07:32


据说下一个版本的 X 将要放弃 X Core font system 了

7.0?

hadsun 发表于 2005-7-4 17:51:43

抛弃一切非 gtk2 程序,然后用 firefly 的 fontconfig / libXft patch 解决问题。
据说下一个版本的 X 将要放弃 X Core font system 了,所以 FontPath 这种配置方式已经没有明天了。
问题是我装了fontconfig和xft也是这样

imkevin 发表于 2005-7-4 22:47:36

可以用别的方法来美化的。 :-D

hadsun 发表于 2005-7-4 23:10:52

能否详细说说,tks

imkevin 发表于 2005-7-4 23:20:43

呵呵,我的是按下面的方法做的,效果很好哦。转貼
1、检查有没有下列的相关文件
defoma x-ttcidfont-conf ttf-arphic-*(这是文鼎的四个字体文件)
如果没有请用apt-get install 安装好。

2、复制你所需要的字体到:/usr/share/fonts/truetype/sim 目录中。(我的宋体是从windows里面复制的,改为了ttf。)
中文字体:simsun.ttf simfang.ttf simkai.ttf simhei.ttf
英文字体:tahoma.ttf verdana.ttf
(如果你觉得字体太多,只想要simsun.ttf 也可以)
mkdir /usr/share/fonts/truetype/sim
cp /mnt/win/winnt/fonts/sim*.ttf /usr/share/fonts/truetype/sim/

3、为所需要的每一种字体编写hints文件,可拷贝Arphic的hints文件进行修改,也可以下我附件里缟写的的hints文件(注意要把文件名的后缀 .txt 去掉)。
cd /etc/defoma/hints
cp ttf-arphic-gkai00mp.hints ttf-sim-simsun.hints
编辑 ttf-sim-simsun.hints ,将 Arphic 改成 sim ;kai 改成 simsun
我的 ttf-sim-simsun.hints 内容:
category truetype
begin /usr/share/fonts/truetype/sim/simsun.ttf
Family = Sim-Sun
FontName = SimSun-Medium
Encoding = Unicode
Location = Chinese-China English
Charset = ISO10646-1 GB2312 BIG5 ISO8859-1
UniCharset = GB2312 BIG5 ISO8859-1
GeneralFamily = SimSun
Weight = Medium
Width = Fixed
Shape = Upright
Alias = Sim-SunGB SimSunGB
Foundry = Sim
Priority = 20
X-Family = SimSun
X-ElementAlias=foundry=default:family=simsun:resx=72:resy=72
TTCap = halfwidth-bw=0.5 italic-angle=0.167 no-roblique no-oblique no-ritalic
end

4、把你所写好的每个字体的 hints 文件都注册到 defoma ,如:
defoma-font reregister-all ttf-sim-simsun.hints
      

6、重新启动就可以了。

下列一些需要设置的地方:
1、在mozilla、phoenix浏览器中的字体选择,建议每个语言环境都选上相应的字体,字号都为12吧,这样可使显示的效果最佳。
简体环境: sim-simsun-gb2312 ;
繁体环境: sim-simsun-big5
西方环境:sim-simtahoma-iso8859-1

2、windows中的楷体和仿宋体只是gb2312字符集,所以在修改hints文件时要看清

3、如果你要把系统的字体改为simsun字体,需要修改/etc/gtk/gtkrc.zh_CN文件中的字体设置。我的gtkrc.zh_CN文件:
style "gtk-default-zh-cn" {
fontset = "-adobe-helvelica-medium-r-normal--14-*-*-*-*-*-iso8859-1,\
-sim-simsun-medium-r-normal--14-*-*-*-*-*-gb2312.1980-0,fixed"
}
class "GtkWidget" style "gtk-default-zh-cn"



另:在firefox里面,在地址栏输入about:config   cn字体大小全部改为12,英文字体全部用tahoma,这样就很美观了,因为我还没有学会截图,所以也不能让你看到。这个方法应该比你用的简单点,你试试看吧,文章是转贴的,里面有一步我删除了,因为改了以后,进不了X,呵呵。 :roll:

wolf0403 发表于 2005-7-4 23:22:17

抛弃一切非 gtk2 程序,然后用 firefly 的 fontconfig / libXft patch 解决问题。
据说下一个版本的 X 将要放弃 X Core font system 了,所以 FontPath 这种配置方式已经没有明天了。
问题是我装了fontconfig和xft也是这样

X Core Font System 和 FontConfig 是独立的两个系统,不相关的。修改 FontPath 之类的设置不影响使用 FontConfig 的程序(如 Gtk2 和 Qt 的程序),修改 fonts.conf 也不影响旧字体系统的程序(如 xmms, gmplayer 等)

关于 X.org 7.x series 的内容我也是道听途说,不知其详

cobranail 发表于 2005-7-4 23:54:34

Xorg 7……
这个东西变化很大

hadsun 发表于 2005-7-5 00:51:47

呵呵,我的是按下面的方法做的,效果很好哦。转貼
1、检查有没有下列的相关文件
defoma x-ttcidfont-conf ttf-arphic-*(这是文鼎的四个字体文件)
如果没有请用apt-get install 安装好。

2、复制你所需要的字体到:/usr/share/fonts/truetype/sim 目录中。(我的宋体是从windows里面复制的,改为了ttf。)
中文字体:simsun.ttf simfang.ttf simkai.ttf simhei.ttf
英文字体:tahoma.ttf verdana.ttf
(如果你觉得字体太多,只想要simsun.ttf 也可以)
mkdir /usr/share/fonts/truetype/sim
cp /mnt/win/winnt/fonts/sim*.ttf /usr/share/fonts/truetype/sim/


这个方法我似乎不行,你是debian的系统吧?
我的是rh9.0,defoma这个命令都没有 :cry:
而且其他似乎也有很多不同,看来我也之有另选办法了
谢谢你:)

hadsun 发表于 2005-7-5 00:54:53

抛弃一切非 gtk2 程序,然后用 firefly 的 fontconfig / libXft patch 解决问题。
据说下一个版本的 X 将要放弃 X Core font system 了,所以 FontPath 这种配置方式已经没有明天了。
问题是我装了fontconfig和xft也是这样

X Core Font System 和 FontConfig 是独立的两个系统,不相关的。修改 FontPath 之类的设置不影响使用 FontConfig 的程序(如 Gtk2 和 Qt 的程序),修改 fonts.conf 也不影响旧字体系统的程序(如 xmms, gmplayer 等)

关于 X.org 7.x series 的内容我也是道听途说,不知其详

但是修改了FontPath就会使xmms很受影响:cry:英文字符的间距变得很大。。
难道真是鱼与熊掌不可兼得?:?

zing 发表于 2005-7-5 07:48:17

不如试一下文泉驿的字体,需要作的仅仅是把字体放在一个合适的地方,然后fc-cache就够了。

这是我等懒人比较不错的解决方法。 :mrgreen:

我现在用yhfont加现在出来文泉半两,基本还可以接受。
可以参看我发贴问OPENGL那里的效果:http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=123358
页: [1] 2
查看完整版本: 关于添加simsun字体的几种尝试和发现的问题,盼解