网站大量收购独家精品文档,联系QQ:2885784924

freetype使用详解(中文).pdf

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Freetype 字体引擎分析与指南 Cathy.zheng 1.FreeType 字形约定 1.1 基本印刷概念 1.1.1 字体文件、格式和信息 字体是一组可以被显示和打印的多样的字符映像,在单个字体中共享一些共有的特性,包括外表、风格、 衬线等。按印刷领域的说法,它必须区别一个字体家族和多种字体外观,后者通常是从同样的模板而来,但 是风格不同。例如,Palatino Regular 和 Palatino Italic 是两种不同的外观,但是属于同样的家族Palatino 。 单个字体术语根据上下文既可以指家族也可指外观。例如,大多文字处理器的用户用字体指不同的字体 家族,然而,大多这些家族根据它们的格式会通过多个数据文件实现。对于 TrueType 来讲,通常是每个外 观一个文件(arial.ttf 对应Arial Regular 外观,ariali.ttf 对应Arial Italic 外观)这个文件也叫字体,但是实际上 只是一个字体外观。 数字字体是一个可以包含一个和多个字体外观的数据文件,它们每个都包含字符映像、字符度量,以及 其他各种有关文本布局和特定字符编码的重要信息。对有些难用的格式,像Adobe 的Type1,一个字体外观 由几个文件描述(一个包含字符映象,一个包含字符度量等)。在这里我们忽略这种情况,只考虑一个外观 一个文件的情况,不过在FT2.0 中,能够处理多文件字体。 为了方便说明,一个包含多个外观的字体文件我们叫做字体集合,这种情况不多见,但是多数亚洲字体 都是如此,它们会包含两种或多种表现形式的映像,例如横向和纵向布局。 1.1.2 字符映象和图 字符映象叫做字形,根据书写、用法和上下文,单个字符能够有多个不同的映象,即多个字形。多个字 符也可以有一个字形(例如 Roman )。字符和字形之间的关系可能是非常复杂,本文不多述。而且,多数字 体格式都使用不太难用的方案存储和访问字形。为了清晰的原因,当说明FT 时,保持下面的观念 一个字体文件包含一组字形,每个字形可以存成位图、向量表示或其他结构(更可缩放的格式使用一种 数学表示和控制数据/程序的结合方式)。这些字形可以以任意顺序存在字体文件中,通常通过一个简单 的字形索引访问。 字体文件包含一个或多个表,叫做字符图,用来为某种字符编码将字符码转换成字形索引,例如ASCII 、 Unicode 、Big5 等等。单个字体文件可能包含多个字符图,例如大多TrueType 字体文件都会包含一个Apple 特定的字符图和Unicode 字符图,使它在Mac 和Windows 平台都可以使用。 1.1.3 字符和字体度量 每个字符映象都关联多种度量,被用来在渲染文本时,描述如何放置和管理它们。在后面会有详述,它们 和字形位置、光标步进和文本布局有关。它们在渲染一个文本串时计算文本流时非常重要。 每个可缩放的字体格式也包含一些全局的度量,用概念单位表示,描述同一种外观的所有字形的一些特 性,例如最大字形外框,字体的上行字符、下行字符和文本高度等。 虽然这些度量也会存在于一些不可缩放格式,但它们只应用于一组指定字符维度和分辨率,并且通常用 象素表示。 1.2 字形轮廓 1.2.1 象素、点和设备解析度 当处理计算机图形程序时,指定象素的物理尺寸不是正方的。通常,输出设备是屏幕或打印机,在水平 和垂直方向都有多种分辨率,当渲染文本是要注意这些情况。 定义设备的分辨率通常使用用 dpi (每英寸点(dot)数)表示的两个数,例如,一个打印机的分辨率为 300x600dpi 表示在水平方向,每英寸有300 个象素,在垂直方向有600 个象素。一个典型的计算机显示器根 据它的大小,分辨率不同(15’’和17’’显示器对640x480 象素大小不同),当然图形模式分辨率也不一样。 所以,文本的大小通常用点(point )表示,而不是用设备特定的象素。点是一种简单的物理单位,在数 字印刷中,一点等于1/72 英寸。例如,大多罗马书籍使用10 到14 点大小印刷文字内容。 可以用点数大小来计算象素数,公式如下: 象素数 = 点数*分辨率/72 分辨率用dpi 表示,因为水平和垂直分辨率可以不同,单个点数通常定义不同象素文本宽度和高度。 1.2.2 向量表示 字体轮廓的源格式是一组封闭的路径,叫做轮

您可能关注的文档

文档评论(0)

wx171113 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档