[分享]我理解的字体美化中粗体的几个入门概念。(关于商业字库,修改过)

系统字体配置、中文显示和输入法问题
回复
flytod
帖子: 47
注册时间: 2005-12-07 21:42

[分享]我理解的字体美化中粗体的几个入门概念。(关于商业字库,修改过)

#1

帖子 flytod » 2005-12-11 13:44

我理解的字体美化中粗体的几个入门概念。
flytod@2005.12.11

以前只是关心linux中文化,对美化只是在装了ubuntu
5.10后才接触的概念。周五根据论坛上的帖子试验了几次,效果出来了,但思路比较乱。周日仔细的从网上理解一下,学习了很
多东西。下面是自己的体会和理解,希望能对初次美化的人有所帮助,如有不对,请拍。

一般说的美化,着重的粗体显示,尤其在浏览器中的。

=======================================================
首先说说字体的概念,linux里主要使用的是TrueType字体,这是一种矢量字体。屏幕上总是显示一个个点的,这就有个矢量->
点阵的转换。

在小字体下,这种效果一般都不是很好。所以为了显示效果,一般TrueType字库(尤其是中文的)都内嵌了几个小标号时的点阵
字体,比如,9,10.12.14。而在这么小的字体下面,字体间的区别就很少了。

字库也有开源和商业之分。在美化中,最方便的就是直接copy使用windows自带的simsun字体。

ttc和ttf的区别:
在一些文档中常看到simsun.ttf,simsun.ttf。其实windoow下的宋体,新宋体都是中易公司版权的字库。simsun.ttc里含有两
个字体 SimSun和NSimSun(宋体,新宋),所以文件名用extension ttc(TrueType Collection)。
(注:http://www.linuxforum.net/forum/printth ... ain=280415

这点可以在window的字体管理器中看出,打开simsun.ttc,首先显示的是宋体,上面的右箭头表示可以继续浏览下一种字体,点
下去,看到就是新宋体。而同目录下的黑,楷等就没有。而这些的后缀名就是ttf。

http://www.magiclinux.org/people/kanker/tools/fonts/ 也可下载宋粗,还有宋斜体,宋粗斜的。

最开始,在linux上安装了simsunblod后,感觉还可以,但后来总觉得不对,
1,中字号的宋粗比window看到的要粗一些,而且锯齿比较严重
2,标点有问题,本应在下面的跑到上面去了,本应在上面的跑到下面来了,上下颠倒。
3,有些字在宋粗时显示不出来,不能确定字库有缺字,还是原有字库已经损坏。
4,英文没有变粗,(此点在加装了英文字体的粗体后解决)

周末在家中研究的时候,在xp上装了宋粗,终于发现了问题。下面的截图(winxp+IE,word2003)可以看到安装了普通宋体变粗,
和宋粗体的区别。左侧是只装了普宋后的粗体显示情况,右侧是装了宋粗后的情况。

《截图见附件》

winxp上安装了那个simsunbold.ttf后,看到的粗体效果和ubuntu上装上后看到的效果是一样的。这时候才发现是说,以前window
上的粗体效果是系统利用算法自己实现的,只能算是笔画加粗。比真正的粗体要细一些。而真正的粗体真的很粗。

利用simsunblod.ttf字库美化在:viewtopic.php?t=3993可以找到详细步骤

还有修改过的VeraSansYuanTi字库,viewtopic.php?t=513有VeraSansYuanTi 美化的详细步骤。
simsun,VeraSansYuanTi等字库毕竟使用了商业字库,更pure的开源使用者提供了开源的字库(含粗体)如文泉驿字库。


=======================================================

美化中经常碰到的概念freetype,fontconfig,Xft的关系。
在http://www.linuxfans.org/nuke/modules.php?name ... t=#4532999
已经描述的很清楚了:

《《《以下是引用《《《
一、包功能说明
freetype: 主要是画字用的,从字体文件中提取字体图像
fontconfig: 是用于字体选择控制的,实现像windows一样的字体名称-大小的选
取方法,早期字体选取要这样:
-misc-simsun-medium-r-normal--0-0-0-0-p-0-gb2312.1980-0
libXft: 按照fontconfig中要求选择的字体,然后用freetype取字体的图像,然
后画到屏幕上

二、firefly补丁说明
firefly的补丁,主要是用作模拟粗体。
libXft补丁: 比如simsun没有粗体,于是firefly的libXft补丁,从freetype中
取出字体的图象,按线条加粗,画到屏幕上这就变成粗体了。
fontconfig补丁: fontconfig是按字体文件的信息,来列举字体给用户选择的,
又比如simsun字体因为没有粗体,所以即算libXft中模拟了粗体,fontconfig
也不知道,firefly的fontconfig补丁就作了这个判断。(当然fontconfig还作了
其他优化比如按CJK编码来现实字体的名称,咖非码控制等,这些都是firefly的
早期补丁中所作的事,那时候还没有在fontconfig中做fake粗体的功能,于是qt
和pango还必须打补丁由他们自己来判断是否模拟粗体,现在已经不要了。)
freetype补丁 对字形做了一些处理,主要也是为粗体实现服务的。

值得一题的是,firefly还在openoffice粗体方面有贡献,但因为他的补丁被广泛
的滥用,而他本人又似乎没有得到相应回报和尊重(主要得不到官方的认同,某
些人甚至对他嗤之以鼻),好像有逐渐淡出之感。

上面的字体补丁firefly已经没有对新版做维护了。

《《《以上是引用《《《

更详细,全面的,请看:http://www.linuxidea.org/index.php?titl ... 7%E5%8C%96
我也还在学习中。另外有个Cairo的概念,可以google一下,也还在理解中。

就我的理解,这些补丁实现的作用就是类似window中的粗体效果,只是笔画变粗。实际的实施步骤和全面补丁见xufan106的帖子
viewtopic.php?t=3676给出来详细的步骤。上周末没有成功,发了帖子后,xufan106发了一个
to菜菜菜鸟版的,我喜欢。初接触粗体的同学应该也喜欢。

=======================================================

在maniac的帖子(viewtopic.php?t=4945)里说了:
《《《以下是引用《《《
Linux下中文粗体的支持,就我所知,应该有一下几种
1.使用内嵌粗体的字体(比如圆体)
2.使用独立的粗体字体(simsun-bold.ttf)
3.使用firefly补丁过的libXft (viewtopic.php?t=942)
4.使用补丁过的freetype( viewtopic.php?t=1039)
《《《以上是引用《《《

其实归纳起来,就是两种:使用粗体字体,系统打补丁。

=======================================================

打补丁实现的粗体方式,适合在Firefox和部分软件中使用,但在比较老软件下,应该是不行的,另外,在OpenOffice下面,这
种方法也不能实现粗体,需要oo打补丁。

linux公社的高质量字体研究版
http://www.linuxfans.org/nuke/modules.p ... 22有很多不错的文章

就个人在xp中安装了宋粗的字库过程,感觉粗体字库不如打补丁好看,
粗体字库太粗了;)在windows下面看普宋粗习惯了。周一再去把安装的粗体字库卸掉,试验一下打补丁。再弄不好也不想弄了
,太费时间了,linux拿来用就好了。希望ubuntu下个版本能较好的实现中文美化和粗体,或则国内官方的源能自己补上。
附件
截图的效果对比
截图的效果对比
上次由 flytod 在 2005-12-12 14:53,总共编辑 1 次。
头像
karron
帖子: 6226
注册时间: 2005-06-11 14:03
来自: 不明真相的群众
联系:

#2

帖子 karron » 2005-12-11 15:18

不错,总结的真好.看来我要多看几遍,好好学习一下.
我的blog,关于技术,软件,linux,vim <---- 所有博客均被河蟹.
xufan106
帖子: 68
注册时间: 2005-05-02 12:27

#3

帖子 xufan106 » 2005-12-11 22:25

嗯。。。。总结写的好。。。
不过关于图片。。 :twisted: 打击一下:粗体很难看。如果我没看错是simsun-bold.ttf文件的粗体,,就是修改过的粗体。。。 :lol: :lol: :lol:
depp
帖子: 92
注册时间: 2005-10-20 4:15

#4

帖子 depp » 2005-12-11 23:47

VeraSansYuanTi可不是开源的,方正的圆体加bitstream vera sans
头像
GOVO
帖子: 427
注册时间: 2005-05-15 3:09

#5

帖子 GOVO » 2005-12-12 1:25

图片中左边的不知道是怎么搞的,但右边的一定是用粗体的字体文件来实现的。
琴声如我
reinchii
帖子: 111
注册时间: 2005-12-02 0:59

#6

帖子 reinchii » 2005-12-12 12:59

hehe,刚在linuxfans上看完
不开源的字体自己用用就好,别到处给人发
flytod
帖子: 47
注册时间: 2005-12-07 21:42

左侧就是普通的xp系统的情况。右侧的粗体是比较难看,所以现在不用了。

#7

帖子 flytod » 2005-12-12 14:56

GOVO 写了:图片中左边的不知道是怎么搞的,但右边的一定是用粗体的字体文件来实现的。
bonede
帖子: 16
注册时间: 2005-07-31 23:13

#8

帖子 bonede » 2005-12-14 18:46

强文,总结得太好了
回复