字体格式| .NET的API解决方案
选择哪种字体格式?
已经有很多字体格式。您可能已经听到了诸如ttf
,woff
,woff2
,opentype
,eot
,type 1
等。当您看到许多字体格式是:
- 为什么它们都被开发了?
- 我应该在项目中使用哪一个?
第一个的答案很简单。所有格式都是出于特定目的而创建的。随着时间的流逝,几乎所有人都在发展,现在它们并不是那么专业,但是由于其最初的应用程序范围,在某些领域或任务中使用时,它们会有缺点和限制。并了解每种字体格式的这些优缺点,都可以使您回答第二个问题。
truetype字体格式
trueType字体格式或
ttf最初是由苹果开发的。现在,它是Microsoft和Apple操作系统中使用的最受欢迎的格式之一。借助
freetype库字体,'trueType
格式也可以在许多Linux发行版中使用。
“ TTF”格式流行的另一个原因是,这种类型使用特殊技术来提供具有低屏幕分辨率的设备上字体的高质量渲染。它使用开发的指令工具,该工具允许字体具有类似于位图字体质量的指令。另一方面,字体暗示的过程非常具有挑战性,而且耗时,因此许多公司部分忽略了它。结果,平均ttf
字体看起来都比``PostScript’‘格式的同等字体更糟。
字体模具 - 是用于改善文本渲染的字体栅格化的一部分。
提示是一对定义字形位置和厚度的准则。
“ TTF”格式技术有两个组成部分:
- 第一个组件是字体本身,包括许多不同的设计和变化。所有这些都获得许可,必须购买。一些制造商为您提供了一组此类字体,因此您可以购买一系列字体,或者只购买打算使用的字体。
- 第二个组件是Rasterizer,它嵌入了Apple Macintosh计算机和Microsoft的Windows操作系统家族中。
TTF字体对编码标准的Unicode字符有很好的支持,这使它们可以代表大量的国际角色和脚本。这使这些字体适合多语言文本渲染。 trueType
格式字体最多可包含65000个字形,以Unicode标准编码。但是实际上,大多数字体都具有更谦虚的字形。要了解有关编码字形和字形的更多信息,请参见有关
Glyphs的本文。
trueType
格式中的字体是一个带有.ttf
扩展名的单个文件。在Mac OS中,它是带有SFNT资源的手提箱文件。从Mac OS X开始,操作系统具有嵌入式字体处理器,该处理器也支持ttf
font font files。因此,具有.ttf
扩展名的文件都可以在两个平台上使用。
trueType
格式的字体都可以在一个单个文件中作为字体集合。这样的文件将具有.ttc
扩展名。
这些字体可以嵌入文档中,从而使字体可以在不同的系统和设备上始终显示。您可以将它们嵌入完整字体(允许编辑和提取)或子集字体(仅包含文档中使用的字符)。
Opentype字体格式###
opentype font
或otf
是基于trueType
字体而创建的。为此添加了其他数据构造以订购印刷行为。该格式被称为TrueType
和postScript
字体的连词。由于它确实很灵活,因此受到大多数操作的系统和设备的支持。
otf
,ttf
和type1
以同样的方式在Windows和Macintosh中处理,这就是为什么当文本呈现时没有错误和问题的原因。它们也完全缩放而不会失去质量。
OTF字体文件中包含的高级数据
从技术上讲,Opentype
是向量和其他数据连接到一堆表的组合。下一个数据包含在此类表中:
- 标题 - 具有常见的字体信息,例如字体名称,版本,修改等。
- cmap - 是记录符号和字形之间关系的表。
- 名称表 - 包括字体名称,字体姓名和字体类型。
- 带有矢量字形的其他表。
- 高级印刷表 - 具有必要的数据以维护高级印刷功能。
- 位图字形 - 此表包含栅格字体的数据。
- 数字签名表 - 具有设计师的电子签名。
即使有所有上述优势,otf
字体也可能不是Web项目的最佳选择。大多数但并非所有浏览器都会支持它们。如果您的大多数受众使用浏览器与“ OTF”相关的浏览器,则最好将其转换为一种网络格式。
OTF优势:
opentype
支持unicode;它的字形可以包含超过65 000个符号以及所有东部符号以及一些中国和日语的符号。这就是为什么在使用多语言环境和软件时首选这种格式的原因。otf
字体易于压缩,因此较小的字体文件易于集成到其他文件中,这在使用PDF文件或网页时很重要。- “ OTF”可以包含各种特殊的字形,例如连字,历史和数学符号等。
- 该格式的字体还可以包含单个字体族的几种光学字体尺寸。不同尺寸的字体基于不同的向量轮廓套件。这可以提高小尺寸符号的可读性和渲染性。
- 改进的 kerning:具有一种类型的形状(例如o,c,e)的符号可以以类似的方式进行。这样,Kerning表变小,并且有更多的Kerning对。
OTF与TTF
有一个非常频繁的问题听起来像:“什么是更好的otf”或“ ttf”?”。由于“ OTF”是基于trueType
的高级字体,具有支持备受改进的版式的高级功能,因此看起来它是一个更好的选择。实际上,并不是很多用户需要和使用这些功能,因此在大多数情况下,选择哪种格式中的哪一种都没关系。
Web开放字体格式
2009年开发了“ Web Open字体格式”或“ Woff”,以满足Web应用程序市场的需求。
它是通过将特定于格式的压缩添加到trueType
和opentype
字体中创建的。它使用ZLIB压缩,可提供约40%压缩的字体。 “沃夫”格式的另一个特点是格式的字体可以包括附加的其他元数据。该元数据不会影响字体呈现方式,但可以在需要时向用户显示。就像当您使用Aspose
Font Viewer时一样。通过选择所需的字体,您可以获得很多有关它的信息:有关其许可证,字形数量,制造商,版本,版权信息等的信息。
“沃夫”的发展遵循两个主要目标:
- 第一个目标是将Web应用程序的字体与桌面环境中使用的字体区分开,必须在本地安装。
- 第二个目标是缩短通过网络连接将字体从服务器传输到客户端所需的时间。
“ Woff”文件使开发人员使用自定义字体,而不是标准的Web字体。大多数浏览器的最新版本都支持桌面以及移动设备上的“ Woff”格式。
woff
文件是woff
格式的Web-font文件。它下载一个压缩容器。该文件具有.Woff
扩展名。
下表显示了支持“ Woff”格式的浏览器。
操作系统 | 支持 WOFF 格式的浏览器 |
---|---|
Windows | Mozilla Firefox, Opera, Google Chrome, Safari, Microsoft Internet Explorer, Microsoft Edge. |
Linux | Mozilla Firefox, Opera, Google Chrome. |
Android | Android browser, Chrome for Android, Firefox for Android, Opera Mobile. |
Macintosh | Mozilla Firefox, Opera, Google Chrome, Safari. |
iOS | Google Chrome, iOS Safari. |
Web开放字体格式2
“ Web Open Font格式”或“ Woff2”是woff
格式的下一个版本,具有更好的压缩。确切地说,它比“沃夫”格式具有30%的优势。它使用字节级压缩算法brotli,该算法是用于使用开源的数据压缩的库。它用于加快网页的加载。
woff2
格式的文件具有.Woff2`扩展名。
woff2
格式在2018年获得了W3C的建议。
作为“ Woff”格式,大多数浏览器也支持Woff2
。
Opentype字体格式
opentype
字体格式或``OTF’‘是由Adobe和Microsoft的合作开发的。
这种格式是trueType
格式的扩展。
opentype
字体是基于trueType
格式规则构建的容器。该容器可以容纳TrueType
以及postscript
数据。此外,opentype
字体可能包含trueType
格式不存在的新数据类型。
包含postScript
数据的字体具有扩展名.otf
,而包含trueType
字体的字体具有扩展名.ttf
。
同样,trueType
格式,每种opentype
字体都使用一个文件来存储有关轮廓,指标和服务数据的信息。一个可以在Windows和Macintosh操作系统中设置一个同一文件。
opentype
字体使用多字节编码系统Unicode,该系统几乎涵盖了所有世界语言。 opentype
字体还可以具有制造商的数字签名,该数字签名使操作系统可以定义字体来源,并确定是否对其进行了修改。
由于采用更好的压缩方法,Opentype
字体更快地发送网络并在驱动器上占用更少的空间。
opentype
格式具有其印刷规则。它们的主要特征是术语字符和
glyph是分开的。默认情况下,每个字符都用基本的字形和文本中的放置顺序定义。将其他规则应用于一个或几个字符可能会更改其相互安排,或用替代方案替换基本字形。
Adobe Indesign和Adobe Photoshop是支持Opentype
版式规则的第一个应用程序。到2023年,Adobe将不再支持
type1格式,而是支持opentype
格式。
嵌入式Opentype字体格式
“嵌入式OPENTYPE”或eot
格式。它是嵌入到网页中的Opentype
字体的紧凑格式。该格式由Microsoft开发。该格式具有下一个特殊性:
- 由于使用LZ压缩,并且仅将必要的字符包含在字体中,因此
opentype
文件都紧凑。 - 将字体嵌入到网页中的简单性可能导致受版本字体的不受控制的传播。
eot
格式具有防止这种违规行为的功能。 - 由于
eot
字体只有一个字符数量的一部分,因此字体副本的价格较小。 - 该字体的另一个功能是,如果
eot
字体失败,将使用另一种可用的字体。因此,该页面将始终可读。
该字体的缺点是它是专有的,并且仅由Internet Explorer提供支持。
类型1字体格式###
type 1
格式与1984年的PostScript编程语言一起推向市场。因此,该格式也称为“ Postscript类型1”。
type 1
格式的字体是程序Postscript和文件格式的特殊形式,该格式定向了描述字体。
打印机和计算机通过内置口译员或Adobe Type Manager(例如Adobe Type Manager)识别Type1
格式。该技术存在于Microsoft Windows和Macintosh OS X中。
1类字体的特殊性是它们不支持Unicode编码标准。
type 1
格式还支持多个主字体,该字体允许用户在两个或更多预定义的“主”设计之间生成连续的字体样式。此功能可以灵活地插值和字体样式的自定义。
Microsoft的type 1`字体可能包括下一个文件:
- 打印字体二进制文件(
.pfb
扩展名)。该文件包括有关大纲的信息。 - Adobe字体指标(
.afm
扩展)。 该文件具有有关字形宽度和kerning的信息。 - 设置信息文件(
.inf
扩展)。具有安装的其他信息。 - 打印字体指标(
.pfm
扩展)。该文件是根据“ INF”和“ AFM”文件的信息在安装过程中生成的。之后,仅使用pfm'和
pfb`文件。
Macintosh的字体type 1
由手提箱文件和打印机文件组成。
如果您有一个字体,则可能会有一个手提箱文件和四个打印机文件(对于formal
,bold
,iTalic
和bold italic
样。或者,您可能会收到八个文件,每个字体样式以及四个打印机文件。
type 1
格式的下一个缺点:
- 字形限制为256个字形。
- 该格式的字体不是跨平台。
type 1
字体通常由两个单独的文件组成:字体轮廓文件(带有.pfb
扩展名)和字体指标文件(带有.afm
扩展名)。两个文件都需要在系统上安装,以便该字体可用于应用程序。- 该格式非常旧,到2023年,Adobe不会得到Adobe的支持。一些程序已经停止支持。
紧凑型字体格式
compact font
格式或cff
也称为type 2
字体格式或cff/type 2
字体格式。
据说CFF
并不是字体格式。这是压缩其他字体格式的方法,例如’type 1`。
它提供了一个显着的空间节省,因为它使用子例程机制来定义字体程序的可重复使用部分,从而减少了整体字体文件大小。 子例程是代码的片段,可以多次称为代码,从而提高了字体表示的效率。
CFF
工作的原理是它可以用作容器,将几个字体放在一个单元中。该单元称为Fontset。这些字体还使用类型2 charstrings编码来定义单个字形的轮廓形状,该轮廓由描述如何用曲线和线条构造每个字形形状的指令。
类似于truetype fonts
,cff
字体也使用轮廓来定义字形的形状。但是,使用PostScript的CubicBézier曲线来描述CFF
轮廓。此外,它们可以包括提示信息以增强低分辨率下的字形渲染。
像type1
和trueType
格式一样,也使用提示。它使用相同的方法表示提示与“类型1”一样,但是它们更容易,更清洁,而不是用代码编写。
与type1
相比,获得了cff
:
- 构造操作员(HSTEM3,FLEX,提示替换,反控制),一些不需必要的操作员被删除。
- 代码的大小减小。
- 被添加了新功能,例如斜弯曲,更多的算术操作等。
向量和栅格字体##
栅格或位图字体是指基于单个像素网格的特定类型的字体格式。这些字体表示每个字符是排列在网格中的像素集合。
概述或向量字体是一种字体格式,使用数学曲线和线条表示字符。
位图字体和轮廓字体是表示和渲染字体的两种不同的方法。这是两种字体格式的比较:
特性 | 光栅 | 矢量 |
---|---|---|
表示 | 由像素网格构成,其中每个字符由特定的像素排列定义。 | 使用数学曲线和矢量来定义字符的形状。每个字符由一系列曲线、直线和点定义。 |
分辨率依赖性 | 分辨率相关,这意味着它们是为特定尺寸设计的,因此放大时,它们可能会出现像素化或锯齿状。 | 与分辨率无关,允许它们平滑地缩放到任何尺寸而不会损失质量。 |
编辑 | 修改单个像素可能很繁琐,并且可能会导致失真。 | 设计师可以使用矢量编辑软件来处理定义字符的曲线和点。 |
文件大小 | 由于它们逐像素存储信息,因此文件大小较小。 | 由于它们存储复杂的矢量数据,因此文件大小较大。 |
语言支持 | 可能仅提供有限的语言支持。 | 可以支持多种语言和字符。 |
提示 | 不需要提示。 | 提示可以提高可读性。 |
样式选项 | 样式选项有限,例如粗体或斜体,因为它们是逐像素定义的。 | 提供更多可通过编程或字体样式表应用的样式选项。 |
因此,与使用数学曲线的轮廓字体相比,位图字体是基于像素的,取决于分辨率和样式选项的有限的可扩展性和样式选项,独立于分辨率,在编辑和样式方面具有更大的灵活性,并且可以支持各种语言。由于在不同上下文中的可扩展性和多功能性,因此大纲字体被广泛使用。 |
结论
该文章的目的是教您有关字体格式,并使您更容易做出选择。这是描述的最著名的字体格式。 其中一些被称为Web格式,因为它们的构建是为了更好地适合目的。这些字体是:
ttf
type1
woff2
eot
但是,没有一个可以将其算作跨平台,因此您可能需要同时使用其中一些。
无论您选择哪种格式,都可以使用
Aspose.Fontsolution 进行操作。当您需要将一种字体格式转换为另一种字体格式(例如将 TTF
转换为 WOFF
或反之),或者加载字体时,它会非常方便。
而且,如果您需要将一种字体转换为不同格式的字体,则也可以使用在线Web应用程序。 Aspose.font在其生态系统中具有这样的
font转换器。