在 2010年3月30日 星期二 14:35:17,RealPlus+ 写道:
关于apple专利的问题,freetype项目主页上有一篇文章,不过我没找到译者是谁:
介绍
在你的应用程序中,不论使用FreeType1还是FreeType2都存在专利侵犯的可能。
本页面将专门解释这一问题,提供准确的事实证据,揭开那些神秘的面纱,给你具体、有用的信息。
事实真相
TrueType专利
Apple公司拥有涉及TrueType字形轮廓(glyph outline)处理方面的三项专利。这个处理也称为hinting或者grid-fitting,用
于提高细小点阵下字形的显示质量。这些专利如下:
专利1:US5155805:Method and apparatus for moving control points in displaying
digital typeface on raster output devices
url:
http://www.delphion.com/details?pn=US05155805__
一种在光栅化输出设备上进行数字字体显示时的移动控制点的方法及装置
1989/5/8归档。
专利2:US5159668: Method and apparatus for manipulating outlines in improving
digital typeface on raster output devices
url:
http://www.delphion.com/details?pn=US05159668__
一种在光栅化输出设备上通过操作轮廓线来改进数字字体显示的方法及装置
也是1989/5/8归档。事实上,这两项专利是同时批准并归档的。
专利3:US5325479: Method and apparatus for moving control points in displaying
digital typeface on raster output devices
url:
http://www.delphion.com/details?pn=US05325479__
一种在光栅化输出设备上进行数字字体显示时的移动控制点的方法及装置(译注:该专利是对专利1的补充)
1992/5/28归档。
有一点很重要,这些专利并没有阻止任何人读取、转换或者生成TrueType字库。它们仅仅是聚焦在hinting TrueType字形时的一些微妙技巧上。只要在
优化小尺寸点阵时没有涉及这些专利技术,用TrueType字库来显示文字甚至也是合法的。
TrueType 字节码解释器
为什么TrueType字库在小尺寸时依然能显示得如此出色,原因就在于TrueType规范在字形存储和处理上的约定:
每个字体在TrueType字库中都以一种简单可缩放的轮廓形式来存储(由线段和二次贝塞尔曲线组成),有一组字节(代码)与之相关,称为“字形程序”。
字形程序的确包含了一系列程序指令,是为TrueType规范中定义的一种特定的虚拟机(TrueType VM)编写的。
TrueType VM用于处理几何图形,它被设计得很复杂。比如,它包含点移动、间距测量、点至像素格对齐等等指令。
当一个字形需要被渲染成一个指定的尺寸时,它的轮廓会被读取并线性缩放到当前的设备坐标系(device space)上。而它的字形程序会被反馈至字节码解
释器处执行。
字形程序知道当前(需要被缩放的)尺寸大小,并根据字库设计者的意图来调整字形的轮廓从而得到尽可能最佳的点阵位图———至少理论是上。
哪些是专利所覆盖的?
必须清楚的阐明,专利仅仅覆盖了TrueType指令的一小部分(并非用字节码程序进行hinting的整个过程)。但不幸的是,显示效果较好的字形程序常常与这些
专利覆盖的指令相关。
如,下图展示了FreeType 字节码解释器在不使用专利相关指令时显示Arial字体的效果(见附件)。
你可以看到,一些令人讨厌的人工修饰令字体无法满足普通阅读的需要。
FreeType1是否受到专利的影响?
答案为是。所有FreeType1版本(从1.0至1.3.1)的默认配置都受专利影响。因为在Apple的专利被“发现”前,这些版本都已经问世了,它已经内嵌了一
个完整的TrueType字节码解释器。因此,你需获取Apple的许可后方能使用。
注意,从1.3开始可以将整个字节码解释器关闭(不编译)。最终的字形不会被hinting从而得到的质量也难以忍受,但即使这样编出来的库也同样对某些程序有
使用价值,比如字库转换程序。
FreeType2是否受到专利的影响?
答案为否,任何FreeType2发布版本都不受专利影响,因为它包含一个经过特别设计的'auto-hinting'模块,目的是完全地绕过TrueType字节码
解释器。
但是,原有的字节码解释器源代码依然可用,也可以在编译的时候打开,保留给那些需要使用的人(因为他们向Apple支付了费用,亦或是这些专利在他们
的国家不被认可,等等一些原因)。具体细节可以参看FreeType源码包中的文档(通常就是修改一个配置宏)。
注意一些FreeType2的beta版本使用了字节码解释器(因为那时'auto-hinting'还没有完成)。
最 后,和我们以源代码形式发布不太一样,许多Linux发行版本似乎以补丁方式发布了支持字节码解释器的FreeType2。当然,对于由此带来的问题我们 不
会承担任何责任。更进一步说,如果将来你想升级系统中的FreeType2使,你需要在编译时手工打开字节码解释器以避免显示质量的损失。
神秘之说
神秘之说1: FreeType不适合商用
FreeType已经在许多产品中成功商用。领域包括电视游戏,数码相机,Java程序,图形库,数码伴侣(如 Psion PDA)等等。
其 中一些使用了FreeType 1.x或2.x并开启了字节码解释器,同时也向Apple支付了授权费用。不要忘了你必须支付这个费用,即使不是直接支付,比如你
使用了其它的能支持本地 TrueType hinting的字体引擎(如,BitStream's FontFusion)。
神秘之说2:Apple准备(或已经)起诉FreeType
这个彻头彻尾的谣言显然起于SlashDot新闻网站的这篇报道。这个编辑员实在是无药可救,既没有核对提交(新闻)的链接(译注:该新闻亦是由其它人提
供),也没有尝试与我们联系(核实),本来我们还可以救他的。
的确,Apple公司的法律部门与我们进行了接触,但意图并不是想起诉我们。理由很简单,FreeType远不足以撼摇Apple。
相反,由于FreeType,Apple已经在嵌入式市场看到了新的专利点。
--
zakarum