关于开源字体不错的系列文章。 , F, D$ L5 E# t8 v" r
: G" x {2 A; \: t9 [8 _
) x0 l1 B3 {1 T* ?+ E9 a. b
哈佛医学院博士后研究员房骞骞
3 Z; l- e9 `% K6 l" |6 |$ {
( c& }; \: s( d8 @; _9 g! A. `. g5 } _1 d
字体是一种特殊的软件,国外开源操作系统(BSD系列和GNU/Linux)的发展也带来了开源字体。相比起来,开源软件和开源操作系统在中国大陆的发展却远远落后于国外,无论从使用者、开发者的数量,贡献的开源软件的数量和质量,社区的规模和总体技术开发能力来说,都与国外有一定的距离。除了开源文化在国内传播尚需时日这样一个主要原因之外,中文化的不完善,特别是中文字体、输入法和中文文档的匮乏对于开源操作系统在中国的窘态也负有主要责任。当国外用户已经在大规模利用自由软件的便捷与强大去完成各种各样复杂的工作时,中文用户却还在为最基本的中文显示和输入问题叫苦不喋,缺字、乱码、显示模糊、字体破碎等问题几乎是每个Linux初学者的必修课。这种现状对于Linux在中文社区的发展造成的极大的阻碍。
& b2 |0 l5 Z$ }# L( k) c7 F% z% A! \% d3 A7 D- g
% Q- Q0 r# P# [5 w( w! G) b
6 C! j$ G. j: }; n
图 使用中的文泉驿
1 ~4 h2 W7 {: q% x. T6 v3 |3 L# }: i6 k& U* ~% x( \. N' I
前文泉驿时代开源中文字体状况
2 K3 W ]7 q! w* A
5 `, {. }! I" ?# {# h简体中文Linux发展早期最具有影响的开源中文字体可能应该是中科院在1988年发布的16x15像素的点阵宋体,包含了GB2312编码的6,763个汉字和其他中文符号,这个字体现在作为xorg/XFree86核心字体的一部分,默认安装在几乎所有的Linux系统中。由于点阵字体无法防缩,当显示大字号或者打印时效果很差,所以从90年代以来矢量字体(即通过数学曲线描述的轮廓字体)开始成为主流。遗憾的是,覆盖简体中文的矢量开源字体据我所知只有中国台湾省文鼎公司1999年贡献给开源社区的宋体和楷体两个字体(以及从这个字体衍生的firefly和CJK Unifonts字体)。 ) {& `* s0 f' u( D9 [0 B5 _/ X4 s
开源字体之外,还有一些免费字体(用户可免费使用,但不能修改和再发布,而且大多数不许用于商用用途)可供中文Linux用户选择,这其中包含中国香港特别行政区ISO10646明体,日本的GT书体,中国台湾省的OpenSung和OpenKai,双桥免费字体,Code2000/Code2001 Unicode字体等。这些字体跟高质量商用中文字体比较起来,一般缺少专门为屏幕显示的嵌入字符点阵,而且也不包含边界显示优化的Hinting指令。由于免费字体用户只有使用权而没有修改权,所以开源社区无法在其基础上改进和完善(见图1)。
) d7 J/ p' `, b, x7 B2 l; [& h5 `近年来,国际上的主流Linux发行版本默认的中文字体一般采用的是文鼎公司贡献的开源字体以及其衍生字体,特别是2004年由中国台湾省志愿者firefly完成的嵌入点阵的文鼎矢量字体(AR PL New Sung)和由旅居中国台湾省的德国人Arne与中国香港特别行政区的开放系统研用协会(OAKA)的Akar Chen等在文鼎字体基础上组织开发的CJK Unifonts字体。而国内的一些Linux发行版,如红旗、共创等,则倾向于从字体开发商购买商用字体使用权,这种情况下,字体虽然可以使用,但本身并非开源,这与开源文化无法良好地融合,再加上费用昂贵,故而国外的主要Linux开发社区不倾向于这种做法。
- Y& b$ w8 V/ ~3 j, D' m3 J
0 I( K' L2 l$ Z* }0 a" P9 r: | Z文泉驿计划目的简述和进展
* }: Z, q& O o' B/ v3 n) g C5 ~/ v( p- U# b: l: R5 E+ m9 d$ Z- J
发起文泉驿计划的初衷是为了从根本上改变自由中文字体匮乏的现状,开发高质量、多规格、多字体风格的开源中文字体(点阵字体和矢量字体),解决中文Linux发展的字体障碍,为中文发行版、开源中文软件的开发扫清障碍,降低中文Linux的使用门槛,从而让更多的人接触和使用Linux。
0 K2 M* [ R! T7 p( U3 A w文泉驿计划正式开始是在2004年的10月底,计划的第一步是在firefly点阵的基础上开发完整覆盖Unicode中日韩统一表意文字区(共20,902个汉字,等价于GBK字符集)在四个屏幕常用字号上的点阵字体,这个工作在王宏(wanghong/hotcat)等志愿者的推动下于2005年4月胜利完成了,共绘制完成了新点阵约15,000多个,优化原有的firefly点阵数万余个,并于2005年6月正式发布了文泉驿点阵宋体,这个字体经过不懈的改进,我们到现在已经发布了三次主要更新(代号分别为文泉半两、苍龙、北斗)。从2005年4月开始,我们同时开展了两个开发子任务:一个是扩展点阵字体开发到中日韩表意文字扩展A区(共6,582个汉字),在志愿者Nicholas Wang(再见情人)的积极参与下,这个工作也在今年年中顺利完成,共绘制新点阵23,000多个,与前面完成的字体结合,并加上今年国家正式执行的强制性国家标准GB 19966-2005中的15x16点阵(由于是强制性国家标准,所以这些点阵已经进入共有领域),我们已经具备了完整的GB18030中文字符集覆盖,这个具有历史性的字体点阵字体将作为“文泉驿点阵宋体”1.0(代号为英雄)计划在今年10月底正式发布;另外一个主要子任务是开发高质量矢量字体,这个工作从2005年5月开始,到现在已经完成了19,600个常用汉字以及10,000多非常用汉字的笔画分解工作,而后面进行字体生成的算法和程序也在紧锣密鼓地开发中。相信到今年年底文泉驿矢量字体预览版可以与广大Linux用户见面。 5 x# C3 C7 Q& B; F
文泉驿字体开发过程绝大多数是通过一个特殊改写的的Wiki以及部分离线编辑软件完成的。特别是在线编辑部分,Wiki本身具备了强大的协同开发能力,具有良好的版本控制和信息组织机制,同时汉字编辑本身具有很好的可并行性和颗粒化特性,所以该平台在整个开发过程当中显示了强大的生命力。我最近又完成了“每日自动编译新字体”(nightly build)的功能,这样用户通对不满意的汉字进行在线修改,如果管理员接受修改,用户第二天就可以下载到修改后的字体点阵。
* T. }2 v& ?1 p8 g" Z8 M& D由于文泉驿点阵能够克服大多数纯中文矢量字体边缘模糊不清、不易阅读的缺点,而且风格统一,字型严格按照Unicode和国家标准制作,加之版权、授权明晰,无后顾之忧,在发布后的一年之内,已经被部分Linux发行版本接受作为默认屏幕中文字体,这其中包括Mandriva,Magic Linux,Knoppix中文版,FanX,RelaxBSD等。另外,更多地发行版将文泉驿纳入他们的软件仓库,提供用户动态更新下载,这其中包括Debian(testing/unstable),Ubuntu(dapper/edgy),Gentoo,Fedora-cn,以 3 H _9 N$ Y' ~( q
及Frugalware Linux。相信随着新版本的推出和时间的发展,会有更多的Linux发行版 $ C3 ]1 i* n9 u( t
采用文泉驿开源字体。 : z. w3 k: ]2 Y: d! U
2 ?4 r) B5 b0 J) `$ l1 y文泉驿计划的主要困难
* ?# N. K2 X2 ]8 ?' F# ?" L5 d$ y0 V6 d
尽管文泉驿已经发布了开源的字体,但我们的问卷调查显示,仍然有一半以上的用户仍然在拷贝和使用未经授权的商业字体,特别是直接使用Windows系统中的中文字体。造成这种状况的原因有多个,其中一个主要原因是国内盗版软件,特别是盗版Windows的盛行,使得国内的Linux用户在潜意识中受到盗版思想的影响,虽然从形式上使用了开源操作系统,但并未真正领悟开放、协作、创造的自由软件精神。不幸的是这种情况在国内的Linux用户中占有相当的比例。这种状况导致的直接后果就是自由软件使用者没有参与自由软件开发的动力,大家宁愿去违背自由软件原则去使用不合法的软件,而不愿意去为开源项目贡献一份自己的力量。 1 y. P- Y3 f8 h _' z3 C7 A7 q
尽管个人认为开发开源字库是中文开源软件的一块重要基石,对于整个软件产业的和谐发展都可能具有战略性的意义,但这种观点似乎还没有被政府决策部门及时地意识到。若干年来很多人在不断呼吁政府能够购买并开放最基本的中文字体,但这一点至今还没有发生;国家政府、国家标准管理机关以及字体开发商之间的关系对于大多数人来说似乎也并不明朗。尽管现在我们已经花费了两年时间完成了部分开源的中文字体,但我们并没有收到任何来自决策部门的资助和明确表态。我们只是希望政府能够尽早意识到开源字体对于开源软件发展的重要性,及时作出符合全局利益的决策,让国内的自由软件发展早日进入正轨。 / } d9 E( C2 D) U+ f
另外一个困难是由于资金的限制,计划的进展一直没有想象中的那么快,参与者的积极性也非常有限,网站的规模也因此受到很大程度的限制。我们陆续收到了一些热心朋友的汇款资助,虽然现在一共有大约100美元和900人民币,基本能够解决一年之内的网站租用费和购买必要资料的费用,但从计划长期发展的角度,我们欢迎任何机构、基金、Linux开发商,或者个人能够伸出援助之手。 & i J. _' @) s: i
9 m3 v; A! P, ^$ F
文泉驿计划的展望
* d3 `7 s8 L2 v/ v1 ]2 H6 ?2 q. \8 |4 R. R. ^' {8 G' I: `% Q
我们将打算在近期推出一个新的点阵字体的版本,这个版本将包含符合国家标准的15x16点阵字型,和数千个通过参与者在线改进的点阵,这个版本还较好地上解决了文泉驿点阵字与系统上已经安装的矢量字配合显示的问题,通过字体别称,Linux下Windows模拟器中文程序的执行速度也得以大大加快。随后,我们将发布覆盖GB18030字符集的点阵字体1.0,这将是文泉驿点阵字体的一个重要的里程碑。
, r7 P4 c# T s* N9 E矢量部分的开发还有很多工作,包括字型的规范化;但对于常见汉字来说,工作量最大的笔画分解工作已经基本完成,后面的工作相对容易很多。我们会首先在这些分解数据中通过算法生成黑体、圆体和宋体等基本字体。如果进展顺利,相信在年底之前,这些字体当中的一个或者多个能够与大家见面。 : y. z9 u" c2 M
点阵字体方面我们除了不断优化改进之外,今后可能会发展多色阶点阵中文字体,通过调整参数实现矢量字体无法达到的清晰度与平滑度的均衡。另外,汉字hinting算法在国际上也是一个难题,我们也希望在这个方面进行尝试。
; a- B; E. x# E+ `) d) w除了字体外,我还计划了很多开源中文方面的开发工作,包括汉字的图像识别、笔画识别、语音识别和合成,少数民族字体的开发等等。还有一个工作就是开发开源汉语语料库,这个库可以为各种汉语输入法提供词库素材。目前测试页面已经编写完成,相信过一段我们会在主页上正式发布。
: n5 {8 m% ^* c/ Y: s8 H0 N迄今为止,所有参与文泉驿自由中文开发的朋友付出的工作都是无偿的,他们付出了数千小时的劳动,绘制出接近商业字体品质的开源点阵,我希望利用这个机会向他们无私的劳动致敬! # e0 H, A' i5 H3 [. o- D
参与开源,并不一定非要会写Kernel,甚至不一定非要会编程,开源是一种心情,一种信仰,一种生活方式。重要的并不是你做什么,而是从现在做起,也许从一个点阵和一个矢量汉字分析做起。我们的网站是 http://wenq.org/这里也许你能够找到参与开源的最初体验。 W' G h" k- [4 }; A5 k/ v0 Z
m5 `, o& Y0 H0 N
关于文泉驿
+ k, ?, X- B, r, b' P( i7 p& T0 W9 W; V7 w: k3 m: [
3 m8 \ G4 N% [8 B+ @4 f
+ E; Q1 y9 i; J" w图 文泉驿Logo
; @4 |; p2 N J7 H8 b+ Q
, A0 \5 b/ U7 O/ p( S& d- t作为几千年中华文明的见证,浩瀚传统文化传承的载体,汉字是让我们每一个中国人引以为豪的东方文明的标志之一。我们的祖先创造汉字,书写汉字,利用汉字和汉语的无穷魅力创造出让人叹为观止的文学,艺术。而今天进入了计算机时代的我们,虽然不再象古人一样手持毛笔,批著简帛,但我们的生活仍然无时无刻离不开汉字。 7 C4 M9 F: H- t9 _* p3 [
文泉驿项目是一群致力于在计算机世界中推广汉字,丰富电子汉字资源的人们,我们希望通过自己无私的劳动,使得无论你在世界上任何一个角落,都可以免费地获得我们的电子汉字资源,能够流畅地通过汉字进行交流。“文泉驿”是我们自己创建的,以上述目标为宗旨的的非赢利性组织。
. o; ~" |! `: u Q文泉驿项目制作的点阵汉字字库将可以使用在各种主流计算机操作系统上,特别是同样基于开放源代码的Linux操作系统。 9 v- W' f1 i8 o: @+ g- D
对于制作电子汉字资源,文泉驿制定了如下子计划: ! W( z9 o5 K+ _1 n4 p$ t
◆基于开放原代码的点阵汉字库(优化屏幕显示) : Q( l. G; X) Z$ }" D* m
◆基于开放原代码的矢量汉字库 * ~, z$ `. |; Z7 h
◆基于开放原代码的汉字笔画笔序数据库 8 ~3 ?7 x/ C0 v6 e& U: ^9 P3 a
◆基于开放原代码的汉字图像识别系统 , `5 }/ F! j2 b6 O r9 X- l9 t y, U
◆基于开放原代码的汉字笔画识别系统 & F3 j7 ~! ]' A* t L
◆基于开放原代码的汉字信息系统(解释,编码等)
9 y5 P- V+ @' b* h1 p% b; J# e$ u$ O* Z! }+ f
开放的非官方电子汉字标准 5 b$ P% S3 ^0 b; b* K' w
具体来讲,文泉驿希望完成覆盖Unicode 4.0 所包含的 7 万多汉字的点阵位图(9pt、10pt、11pt、12pt 等),笔画笔顺数据库以及基于笔画笔顺数据库生成的不同字型(细宋,中宋,报宋等)的矢量汉字库。这个工作还可以继续扩展到对所有汉字进行注音,释义,通过笔画笔顺进行汉字检索和分类,少数民族语言文字的点阵和矢量字体,以及汉字图像识别和笔画识别算法,软件的开发。
+ q( v3 v m! d当前正在努力完成的是计划当中的第一步,即制作点阵汉字图像。今后还要发展矢量汉字库。这个工作还可以继续扩展到对所有汉字进行注音,释义,通过笔画笔顺进行汉字检索和分类,少数民族语言文字的点阵和矢量字体,以及汉字图像识别和笔画识别算法,软件的开发。
$ w) f! B* a1 b; W1 U可喜的是,Ubuntu 下终于将文泉驿加入到了默认的源中来,使大家多了一种选择!
) l* C) c( M& O3 V: o5 w文泉驿官方网站 ( r2 k/ P( M' P5 x# n
http://wqy.sourceforge.net/ 1 U! R7 t4 h. z$ L
http://wenq.org/ |