字体的分类Wei Xue,2009 年 2 月 按数据格式分由于字体文件从本质上来说就是存储记录字型信息的数据文件,但是它对这些信息的存储又有几种不同的方式,所以可以根据数据存储的格式来文类。 1.点阵字体(Bitmap Fonts)点阵字体也叫位图字体,其中每个字形都以一组二维像素信息表示。这种文字显示方式于较早前的电脑系统(例如未有图形接口时的 DOS 操作系统)被普遍采用。 点阵字体通过点阵表现字形,其本质上只是一组图片。每一种字体变体都包括一组完整的字符,一个字符占一张图片。假设总字符数量为3,即包括三个字符,提供粗体和斜体的组合(即无、粗体、斜体、粗斜体四种变体),该字体总共有12张图片。如果小图上的点非黑即白,就称为黑白点阵;如果小图上的点可以有不同的亮度甚至颜色,则称为AA点阵。 由于位图的缘故,点阵字体很难进行缩放,特定的点阵字体只能清晰地显示在相应的字号下,否则文字只被强行放大而失真字形,产生成马赛克式的锯齿边缘。但对于字号 8-14px 的尺寸较小的汉字字体(即现今操作系统大多采用的默认字号)现今亦仍然被使用于荧幕显示上,能够提供更高的显示效果;不过现今该种点阵字体主要只作为“辅助”的部分,当使用者设定的字体尺寸并没有拥有位图像时,字体便会以向量图象方式显示;而当打印时,印有字体无论大小亦会使用向量字型打印。 由于受到容量和绘图速度的限制,早期电脑多采用点阵字体,而现在已不再被广泛使用,原因是其它字体编码方法在视觉质量和功能都超过了它。但它在某些场合还是很有用,特别是在显示小字号的汉字字符的时候;可缩放字体,缩小过多笔画的字时,容易挤成一片导致无法辨认;因此小号字体仍使用点阵格式。 点阵字体被用于Unix/Linux console,Windows修复控制台和嵌入式系统。常见的点阵字体格式有 : * Portable Compiled Font (PCF) * Glyph Bitmap Distribution Format (BDF) * Server Normal Format (SNF) * DECWindows Font (DWF) * Sun X11/NeWS format (BF, AFM) * Microsoft Windows bitmapped font (FON) * Amiga Font, ColorFont, AnimFont * ByteMap Font (BMF)
举例: 这里以大写字母 "J" 来展示其点阵: 靠近看这个字母会像这个样子,这里我们用"X" 与 "." 这两个字符来表示像素的格子: .....X .....X .....X .....X .....X .....X X....X X....X .XXXX. 用电脑的角度来看更接近这个样子,"."表示zero而"X"表示one: 000001 000001 000001 000001 000001 000001 100001 100001 011110 导致下列的图形: ![]()
2.轮廓字体(Outline Font)
Adobe公司为专业数字排版开发。它使用PostScript,字形以3次贝兹曲线描述,因此一组电脑字体可以通过简单的数学变形放大或缩小。但是事实上,很大或很小的字体需要额外的信息(hints)才能好看。其下又分为Type1, Type3,OCF, CID等类型。 * Type 1字体只有1字节,因此只能容纳256个字符。它使用Adobe私有的hinting系统,价格昂贵。需要注意的是,很多被称为Type1的字体实际上是Type3或Type5. * Type 3与Type 1完全一样,只是没有hints,它只在正常的大小时才美观。 * OCF字体:中文日文等双字节语言可以使用的字体。按照PostScript类型,它属于Type0 (也就是Type1或3的组合形式) * CID 字体:OCF字体的改良。具有异体字切换功能。按照PostScript类型,多数字体属于Type9(基于TrueType的CID字体等除外) 更多关于Type1和Type3字体的信息请参考,这里也详细介绍了PostScript字体的分类:http://en.wikipedia.org/wiki/Type_1_and_Type_3_fonts PostScirpt本身其实是一种语言,是主要用于电子产业和桌面出版领域的一种页面描述语言和编程语言。为他所开发出的这些字体随着它也叫了这个名字。以下是它的一些历史: PostScript语言的思想起源于John Warnock1976年在著名的计算机图形公司Evans and Sutherland时的想法。当时John Gaffney正在开发一个解释纽约港大型三维图形数据库的解释器。Gaffney设计了非常类似于Forth编程语言的Design System语言来处理图形。 1978年Evans and Sutherland要求Warnock离开旧金山湾到犹他州总部去,但是他并不想搬家到那里去。于是他后来加入了Xerox PARC与Martin Newell一起工作。他们重写了Design System开发出了用于VLSI设计和字体与图形打印研究的JaM (John and Martin)系统。这项工作后来发展成为一个名为InterPress的扩展系统。 在1982年12月Warnock和Chuck Geschke一起离开创建了Adobe Systems公司。他们开发了一种类似于InterPress名为PostScript的更简单的语言,这种产品在1984年推向市场。大概在这个时候,Steve Jobs参观了他们的工作,他敦促他们改进PostScript作为驱动激光打印机的语言,它添加到Canon打印机诞生了LaserWriter。 1985年3月,Apple LaserWriter是第一款带有PostScript的打印机,这也带来了二十世纪八十年代中期的桌面印刷革命。它的技术优点和广泛应用使得PostScript成为打印应用领域影像输出的一个选择。直到二十世纪九十年代,PostScript语言解释器(有时称作RIP(光栅图像解释器))曾经一度成为激光打印机的一个普通组成部分。 随着使用电子方式发布文档最终版本成为事实上的标准,PostScript就在这个领域不断地被它的后续版本Portable Document Format也就是PDF所超越,到了2001年更少有打印机支持PostScript,这主要是由于来自于非PostScript的廉价喷墨打印机的不断加剧的竞争(PostScript解释器将大幅度地增加打印机成本),以及在计算机上使用软件渲染PostScript图像的新方法可以用于任何的打印机,PDF就是这种方法之一。然而使用 PostScript的激光打印机仍然可以大幅度地减少计算机在打印、从计算机到打印机传输渲染出的PostScript图像方面的工作量。 PostScript经历了两次主要的更新。第一版称为PostScript Level 1在1984年发布。PostScript Level 2在1991年发布,它有几项增强的特性:提升了速度和可靠性;支持RIP内的分割;支持解压缩,这就意味着如JPEG这样的图像能够直接在PostScript程序中进行处理;支持复合字体以及缓存重用内容的Form机制。PostScript Level 3在1997年年底出现,许多旧版操作符变成了基于字典的新版本,它提供了更好的颜色处理以及新的允许在程序内进行压缩和解压的过滤器、程序chunking以及先进的错误处理。 关于PostScirpt的更多信息如有兴趣请参考http://en.wikipedia.org/wiki/PostScript
TrueType是由美国苹果公司和微软公司共同开发的一种电脑轮廓字体类型标准。这种类型字体文件的扩展名是.ttf,类型代码是tfil。 早在80年代末,苹果公司为了对抗Adobe公司的Type 1PostScript字体,设计开发了TrueType,后来微软加入了开发,后来视窗系统的字体格式基本上都统一成TrueType,而在苹果的麦金塔系统中却成了PostScript和TrueType对立的局面。TrueType后来也被Solaris/Linux等系统使用,成为标准字体。TrueType的主要强项在于它能给开发者提供关于字体显示、不同字重像素显示等的高级控制。 考虑到Type 1字体太昂贵,有意用TrueType字体取代Type 1字体。像Type1字体一样,贝兹曲线用于描述电脑字体,并可以内置点阵字体。现在它十分普及,在所有主要的操作系统上都有实现。能用PostScript打印机处理的TrueType字体称为Type42.在新开发的OpenType类型字体中,可以选择PostScript还是TrueType作为记述方式。 Truetype的现状:
在目前的Mac OS X 和Windows XP系统中,TrueType是最常见的字体格式。虽然二者都包含对 Adobe的Type 1格式和OpenType拓展的本地支持。虽然现在很多字体已经改用OpenType格式,但是大多数免费廉价的第三方字体仍使用纯TrueType格式。 目前的趋势是,对屏幕补偿的追求减少了对拓展TrueType提示的重要性。苹果Mac OS X 的补偿技术几乎忽略了所有TrueType字体中的所有提示,而微软的ClearType也忽略了很多提示,并与“略加提示”的字体配合使用最佳。
David Turner的FreeType 项目期望创建一个独立执行的TrueType标准(如同Freetype 2其他字体标准)。 FreeType 包含很多Linux提供者。(FreeType第一次出现,记住这个名词先,在后面还将出现,这里你需要知道的就是Freetype并不是一种字体的名称。) 在 FreeType 中有一些专利问题因为一部分TrueType字体提示虚拟机是苹果的专利保护的,并没有在TrueType标准中提及。 FreeType 2 包括一个自动提示器可以分析字形形状,并自动生成提示(Hinting),从而跳过这些受专利保护的技术。免费/廉价字体往往没有提示数据,或者任意生成,自动提示器基本上改进了这类字体的外观,但它同时降低了那些原先提示好的专业字体外观,而且对于非西文字体的效果不是很好,因此很多人还是倾向于使用专利保护的提示技术。 TrueType系统的一个缺陷就是:TrueType系统不能在显示器上显示Type 1字体之一缺点了。请住这一条,在后面的字体配置(Fontconfig)时会碰到Type1的字体被Truetype替换。这是后话,暂且不提。 这里可以参考Truetype字体的规范文档: TrueType规格(微软)(英文):http://www.microsoft.com/typography/otspec/default.htm TrueType规格(苹果)(英文):http://developer.apple.com/textfonts/TTRefMan/index.html
OpenType,是一种可缩放字型(scalable font)电脑字体类型,采用PostScript格式,是美国微软公司及Adobe公司开发的,用来替代TrueType字体的新字体类型。这类字体的文件扩展名为 .otf,类型代码是OTTO,现行标准为 OpenType 1.4。 最初发表于1996年,之后在2000年左右才出现大量字体。OpenType源自于微软公司的TrueType Open字型,而TrueType Open字型更早是源自于TrueType字型。OpenType font更包括了Adobe CID-Keyed font技术。Adobe公司已经在2002年末将其字体库全部转向OpenType,到2005年大概有一万多种OpenType字体,其中Adobe产品占了三分之一。 OpenType字体是为了实现Windows和Macintosh系统兼容,而产生的一种新字体格式;具有TrueType和PostScript两种形式,具有高度的异体字切换功能,并有动态下载功能,因此不需要打印机字体。若按照PostScript的类型分类,它属于Type2型,可以控制字体文件数据大小。 OpenType 使用TrueType字体通用的"sfnt"架构,但其加入若干“智能字体”(smartfont)选项,可以加强字体的字形和语言支持能力。OpenType字体中的字形(glyph)、轮廓数据可以在两种格式中任选其一:一个是在'glyf'表中 TrueType格式轮廓,另一个是在'CFF '表中的CFF(压缩字体格式,Compact Font Format)格式轮廓。 CFF轮廓数据是基于PostScript语言Type 2字体格式。表格名 'CFF '长度为四个字符,并且以一个空格字符结尾。 在如版式等大多数情况下,轮廓数据格式是什么类型并不重要,但这两种格式的区别在图元光栅化(rasterisation)的时候就有区别。而单从 "OpenType"一词中看不出来使用的是哪种数据格式,所以有时候使用 "OpenType (PostScript flavor)", "OpenType CFF", 或者 "OpenType (TrueType flavor)" 等称呼加以区别。 OpenType的主要特征有: * 字体编码基于Unicode,可以支持任何文本,或者同时支持多种文本。 * 一个OpenType字体可以带有超多65,536个字形。对于中文字库而言,最基本的字汇应该包含Big5的13,060个汉字或是GB2312-80标准的6763个常用字型,这些字应该能满足一般用户的使用,对于户籍管理、银行系统和出版社等用户而言需要2万多字甚至7万多字的支持。 * 字体有高级字形特征,可以进行对复杂文本进行充分的字形处理,并能通过更简单的脚本施加更复杂的字形效果,比如用 罗马字母脚本书写英文。 * 字体文件可以拓展到跨平台,能够在Mac OS, Windows和一些Unix系统中进行设置。 * 若不含异体字等拓展字形和拓展文字性能,OpenType CFF字体比Type 1要小 3.笔画字体(Stroke-based font)字形的轮廓由分离的笔画顶点和笔画外形(profile)定义。它优于轮廓字体之处在于:减少了定义字形的顶点数,允许同一组顶点生成不同的字体(不同的粗细,不同大小或不同衬线规则)所以节省大小。对于字体开发者,编辑笔画要比编辑轮廓容易而且不易出错。笔画系统也允许改变字形比例而不修改基本字形的笔画粗细。笔画字体用于嵌入式设备在东亚有很大的市场,但这项技术不只用于表意字符。 商业开发者包括Agfa Monotype(iType) Type Solutions Inc。(owned by Bitstream Inc.)(Font Fusion (FFS). btX2),Fontworks(Gaiji Master),都独立开发出了笔画字体和字体引擎。 尽管Monotype和Bitstream都曾声称东亚字符集使用笔画字体显示系统可以极大的节约空间,但是大部分节省源于构造合成字形,这也是TrueType标准一部分。 4.METAFONT(Meta 字体)METAFONT用了一种不同的字形描述。与TrueType类似,它是一种数学上的字体描述系统,只是描述字符使用圆点(circular pen)。这意味着由METAFONT产生的字形,没有锐利的点(sharp points),即笔尖大小是有限的。
Unless otherwise licensed, code in all technical manuals herein (including articles, FAQs, samples) is provided under this License. |
BigAdmin SubscriptionsBigAdmin Areas
BigAdmin Sun Center
BigAdmin Topics |