支持字体格式的字体类| api for .net
aspose.font类的层次结构
Aspose.font支持不同格式字体的类的层次结构非常简单。
类 font是单个基类和任何类,它支持从 font继承的某些字体格式。此类收集的所有格式的字体都有共同的信息。此信息包括字体样式,字体名称,PostScript字体名称,字体族,字体指标,字体的字形数量,编码等。
类 font是一个抽象类,因此无法直接创建`aspose.font.font’类型的对象的实例。
该类别的静态方法返回了正义对象上的引用,该方法负载字体加载,该字体加载,超载方法家族 open()(5)。
特定于字体格式的唯一数据(基 Font 类包含)是来自 FontType 枚举的值。
接下来的类继承自 Aspose.Font 并用于处理特定的字体格式: TtfFont、 Type1Font、 CffFont。
字体格式,fonttype值和aspose.font对象类型之间的相互关系
下表显示了格式之间的一致性,由Aspose.font支持,与 fonttype枚举的这些格式值相对应,以及用于操纵这些格式的类别。
Font Format | FontType value | Aspose.Font object type |
---|---|---|
TrueType | TTF | TtfFont |
Type 1 | Type 1 | Type1Font |
Compact Font Format (CFF ) | CFF | CffFont |
字体文件格式,fonttype值和aspose.font对象类型之间的相互关系
fonttype枚举的上述字体的格式比这些字体的文件格式更宽。
例如,TrueType
格式涵盖了 Aspose.Font 可加载的以下文件格式:ttf
、ttc
、eot
、woff
、woff2
。因此,扩展名为 .ttf
、.ttc
、.eot
、.woff
、.woff2
的字体的共同特点是它们都与 TrueType
字体系列相关。
这就是为什么,如果将表中的“字体格式”列替换为“字体文件格式”列,我们将获得下一个字体文件格式关系表,适合它们的 FontType 值,以及旨在与 Aspose.Font 中的相应字体格式一起使用的对象。
字体文件格式 | FontType 值 | Aspose.Font 对象类型 |
---|---|---|
ttf , ttc , eot , woff , woff2 | TTF | TtfFont |
pfa , pfb | Type 1 | Type1Font |
afm , pfm | Type 1 | Type1MetricFont |
binary data of Compact Font Format type | CFF | CffFont |
aspose.font.font类的功能
功能是由 font类定义的,可以将类别分为几个领域。
由字体类实施的接口定义的功能
字体接口列表的最重要接口列表是 ifont接口。它为 iglyphaccessor和 ifontsaver接口提供了属性 由 font类实现 ifont接口。
接口 ifont定义了Aspose.font支持的所有字体格式常见的属性。 以下是每个属性的描述。
操纵字体格式的属性
- 字符串 fontname - 字体的名称。
- MultinanguageString fontnames - 字体的名称不同语言。
- MultinanguageString PostscriptNames - 字体的Postscript名称,用不同的语言。- 字符串 fontfamily - 字体系列的名称。要获取有关字体家庭的更多详细信息,请参见 font family碎片。
- fonttype fonttype - 字体格式的类型,由 fonttype枚举表示。
- fontstyle fontstyle - fontstyle枚举的字体样式值。了解有关[Font Styles]的更多信息(43)。
- 字符串 样式 - 字体样式的名称,类似于属性 fontstyle,以其原始字符串形式表示,由字体数据提供。
- fontdefinition fontdefinition - 描述格式和源的对象,并从中加载字体。转到 如何加载字体,您可以在其中详细学习如何使用此对象。
- int numplyphs - 获取字体的字形数。
- ifOntmetrics 量表 - 在 ifontmetrics接口上获取一个引用,该接口提供了与常见字体指标相关的功能。
- ifOntEncoding 编码 - 在 ifOntEncoding接口上获取一个提供编码功能的接口。
- iglyphaccessor glyphaccessor - 在 iglyphaccessor界面上获取一个参考,该界面提供了检索指定的Glyph标识符和Glyphs的功能。
- ifontsaver fontsaver - 通过 *ifontsaver接口提供字体保存功能。
另外, ifont接口定义方法 convert(),该方法用于将字体转换为另一种格式。 目前,有来自Aspose.font支持的任何格式的可用转换。表(64)在表中表示。
请参阅 Font Converter 有关如何使用aspose.font转换字体的更多信息。
字体加载
字体加载功能不受实现的接口涵盖,并且此功能由静态方法的家族 open()表示。 如何加载字体吗?文章中描述了传递到这些方法的参数。
字体保存
类 font实现接口 ifontsaver,该界面声明了字体保存操作的功能。 要保存字体,请使用超载方法之一 save(),然后传递字体文件名或流式写入字体。
在某些情况下,有必要将字体保存到另一种格式中。例如,许多网页更喜欢使用“ Woff”格式的字体工作,如果您想将字体放置在此页面上,则必须将字体保存到woff
格式中。
方法
savetoformat()是为这种情况设计的。
从base aspose.font.font类继承的类
cfffont和type1font类
这些类可与“紧凑字体格式”和Adobe’类型1`字体格式的字体一起使用。 这些类覆盖了 font类的某些属性和方法,将其调整为实际字体格式。
ttffont类
该类旨在支持TrueType
格式的字体。
可以通过调用静态方法
font.open()来获得对这种类型的对象的引用,并传递ttf
作为
fonttype枚举的值。方法
font.open()返回基础上的参考
font类型,因此所获得的参考必须归为ttffont
对象类型。
从 TrueType
格式规范中可知,字体数据以不同的表形式表示。
目前,Aspose.Font 库支持以下表:
head
、cmap
、glyf
、loca
、hhea
、hmtx
、maxp
、OS/2
、name
、post
、kern
、cvt
、fpgm
、prep
。
*计划在不久的将来实施TrueType
标准指定的其他表的支持。
支持aspose.font中的TrueType
表,由namespace [aspose.font.ttftables]的类实现。
每个支持一些表的类都具有与相应的表名称相关的名称。
根据下一个规则来实现班级的命名:
每个类的名称具有前缀ttf
,此前缀后缀后面是表的名称,然后“表”一词结束了类的名称。
例如,表“ head”由
ttfheadtable支持,表hhea
由
ttfhheatable等类支持。
在所有支持trueType
表的类别上的引用均由类型
ttftablepository的对象收集。
TtfFont 类将
TtfTableRepository 对象的引用作为
TtfTables 属性,因此可以使用语法 font.TtfTables
访问任何 TrueType
表,其中 font
是 TtfFont
类型的引用。
对 OpenType
字体功能的支持由属性
CffFont 表示。此属性返回从 CFF
表加载的
Font 对象的引用,该对象包含 Compact Font Format font
表示形式。
属性 Issymbolic用于检测字体是否为符号 - 专用字体,该字体由非字母字符,图形或两者兼有。
访问字体字形
类
ttffont提供了访问字体字形的扩展功能。除了通过接口定义的方法
iglyphaccessor,
ttffont提供了两种超载方法,其中包括
getGlyphById(),它们需要整数或字符串形式的字形标识符。
使用这些方法比使用 IGlyphAccessor 接口中的 GetGlyphById() 方法更快。 此外, TtfFont 类提供了一组重载方法 GetGlyphComponentsById()。这些方法专为处理复合字形而设计。
复合字形是一个引用字体中一个或多个其他字形的字形。例如,角色ä(Unicode U+00C4)的字形可以由特征A(作为基础字形)的字形和透明型标记字形组成。
方法 getGlyphcomponentsByid()取用复合雕文的标识符,然后返回glyphs的列表,转移的复合glyph涉及。