Foxit PDF SDK

Public 类型 | Public 成员函数 | 所有成员列表
foxit.common.Font类 参考
类 foxit.common.Font 继承关系图:

## Public 类型
enum | Charset { Charset.e_CharsetANSI = 0, Charset.e_CharsetDefault = 1, Charset.e_CharsetSymbol = 2, Charset.e_CharsetShift_JIS = 128, Charset.e_CharsetHangeul = 129, Charset.e_CharsetGB2312 = 134, Charset.e_CharsetChineseBig5 = 136, Charset.e_CharsetThai = 222, Charset.e_CharsetEastEurope = 238, Charset.e_CharsetRussian = 204, Charset.e_CharsetGreek = 161, Charset.e_CharsetTurkish = 162, Charset.e_CharsetHebrew = 177, Charset.e_CharsetArabic = 178, Charset.e_CharsetBaltic = 186 }
| 字体字符集枚举。 更多...
enum | CIDCharset { CIDCharset.e_CIDCharsetUnknown = 0, CIDCharset.e_CIDCharsetGB1 = 1, CIDCharset.e_CIDCharsetCNS1 = 2, CIDCharset.e_CIDCharsetJAPAN1 = 3, CIDCharset.e_CIDCharsetKOREA1 = 4, CIDCharset.e_CIDCharsetUNICODE = 5 }
| CID字体字符集枚举。 更多...
enum | FontTypes { FontTypes.e_FontTypeType1 = 1, FontTypes.e_FontTypeTrueType = 2, FontTypes.e_FontTypeType3 = 3, FontTypes.e_FontTypeCIDFont = 4 }
| 字体类型的枚举。 更多...
enum | StandardID { StandardID.e_StdIDCourier = 0, StandardID.e_StdIDCourierB = 1, StandardID.e_StdIDCourierBI = 2, StandardID.e_StdIDCourierI = 3, StandardID.e_StdIDHelvetica = 4, StandardID.e_StdIDHelveticaB = 5, StandardID.e_StdIDHelveticaBI = 6, StandardID.e_StdIDHelveticaI = 7, StandardID.e_StdIDTimes = 8, StandardID.e_StdIDTimesB = 9, StandardID.e_StdIDTimesBI = 10, StandardID.e_StdIDTimesI = 11, StandardID.e_StdIDSymbol = 12, StandardID.e_StdIDZapfDingbats = 13 }
| 标准字体ID枚举。 更多...
enum | Styles { Styles.e_StyleFixedPitch = 0x0001, Styles.e_StyleSerif = 0x0002, Styles.e_StyleSymbolic = 0x0004, Styles.e_StyleScript = 0x0008, Styles.e_StyleNonSymbolic = 0x0020, Styles.e_StyleItalic = 0x0040, Styles.e_StyleAllCap = 0x10000, Styles.e_StylesSmallCap = 0x20000, Styles.e_StylesBold = 0x40000 }
| 字体样式的枚举。 更多...

## Public 成员函数
| Font (string name, int styles, Font.Charset charset, int weight)
| 带有给定属性的构造函数。 更多...
| Font (Font.StandardID font_id)
| 通过标准字体ID的构造函数。 更多...
| Font (string font_file_path, int face_index, Font.Charset charset)
| 从字体文件的构造函数。 更多...
| Font (StreamCallback stream)
| 通过使用 foxit.common.fxcrt.StreamCallback 从字体流的构造函数。 更多...
| Font (Font other)
| 使用另一个字体对象的构造函数。 更多...
UInt32Array | AddUnicodes (PDFDoc document, UInt32Array unicode_array)
| 向当前嵌入字体添加Unicode字符。 更多...
Font | Embed (PDFDoc document, bool is_add_all_unicodes)
| 将当前字体嵌入到指定的PDF文档中。 更多...
int | GetAscent ()
| 获取上升值，以1/1000 em大小为单位（PDF单位）。 更多...
byte [] | GetBaseFontName (PDFDoc document)
| 获取基础字体名称。 更多...
RectI | GetCharBBox (int unicode)
| 获取由Unicode指定的字符的边界框。 更多...
RectI | GetCharBBox (int unicode, PDFDoc document)
| 获取PDF文档中由Unicode指定的字符的边界框。 更多...
float | GetCharWidth (int unicode)
| 获取由Unicode指定的字符的宽度（以1/1000 em大小为单位（PDF单位））。 更多...
float | GetCharWidth (int unicode, PDFDoc document)
| 获取PDF文档中由Unicode指定的字符的宽度（以1/1000 em大小为单位，作为PDF单位）。 更多...
Font.CIDCharset | GetCIDCharset (PDFDoc document)
| 获取CID字体字符集。 更多...
int | GetDescent ()
| 获取下降值，以1/1000 em大小为单位（PDF单位）。 更多...
string | GetEncoding (PDFDoc document)
| 获取当前字体编码。 更多...
byte [] | GetFamilyName ()
| 检索字体族名称。 更多...
Font.FontTypes | GetFontType (PDFDoc document)
| 获取字体类型。 更多...
string | GetName ()
| 检索PostScript名称。 更多...
Font.StandardID | GetStandard14Font (PDFDoc document)
| 获取标准字体ID。 更多...
int | GetStyles (PDFDoc document)
| 获取字体样式。 更多...
bool | IsBold ()
| 判断当前字体是否为粗体。 更多...
bool | IsCharSupported (int unicode, PDFDoc document)
| 检查当前字体是否支持某字符。 更多...
bool | IsEmbedded (PDFDoc document)
| 判断当前字体是否嵌入在指定的PDF文档中。 更多...
bool | IsEmpty ()
| 检查当前对象是否为空。 更多...
bool | IsItalic ()
| 判断当前字体对象是否为斜体。 更多...
bool | IsStandardFont (PDFDoc document)
| 检查当前字体是否为标准字体。 更多...
bool | IsSupportEmbedded (PDFDoc document)
| 检查当前字体是否支持嵌入到指定的PDF文档中。 更多...
bool | IsVertWriting (PDFDoc document)
| 检查当前字体是否为垂直书写。 更多...
bool | SetEncoding (PDFDoc document, string value)
| 设置当前字体编码。 更多...

## 详细描述

在PDF文档中，字体用于在PDF页面中绘制文本。
此类表示在Foxit PDF SDK中使用的字体。此类为用户提供不同的构造函数来构造 新的字体对象，通过指定参数、标准字体ID或从字体文件路径。 字体对象也可以直接从PDF文档中的其他对象（如自由文本注释、 文本图形对象等）中检索。 此类还提供一些函数来获取字体的一些基本信息。

## 成员枚举类型说明

## ◆ Charset

enum foxit.common.Font.Charset
| strong

字体字符集枚举。

此枚举的值应单独使用。

枚举值
e_CharsetANSI | 字体字符集：ANSI（美国、西欧）。
e_CharsetDefault | 字体字符集：系统默认，用于未知或映射目的。
e_CharsetSymbol | 字体字符集：标准符号。
e_CharsetShift_JIS | 字体字符集：日文（Shift-JIS）。
e_CharsetHangeul | 字体字符集：韩文（Wansung）。
e_CharsetGB2312 | 字体字符集：简体中文。
e_CharsetChineseBig5 | 字体字符集：繁体中文。
e_CharsetThai | 字体字符集：泰文。
e_CharsetEastEurope | 字体字符集：东欧。
e_CharsetRussian | 字体字符集：俄文。
e_CharsetGreek | 字体字符集：希腊文。
e_CharsetTurkish | 字体字符集：土耳其文。
e_CharsetHebrew | 字体字符集：希伯来文。
e_CharsetArabic | 字体字符集：阿拉伯文。
e_CharsetBaltic | 字体字符集：波罗的海文。

## ◆ CIDCharset

enum foxit.common.Font.CIDCharset
| strong

CID字体字符集枚举。

此枚举的值应单独使用。

枚举值
e_CIDCharsetUnknown | CID字体字符集：未知。
e_CIDCharsetGB1 | CID字体字符集：Adobe-GB1。
e_CIDCharsetCNS1 | CID字体字符集：Adobe-CNS1。
e_CIDCharsetJAPAN1 | CID字体字符集：Adobe-Japan1。
e_CIDCharsetKOREA1 | CID字体字符集：Adobe-Korea1。
e_CIDCharsetUNICODE | CID字体字符集：Unicode。

## ◆ FontTypes

enum foxit.common.Font.FontTypes
| strong

字体类型的枚举。

此枚举的值可以单独使用。

枚举值
e_FontTypeType1 | 字体类型：Type1。
e_FontTypeTrueType | 字体类型：TrueType。
e_FontTypeType3 | 字体类型：Type3。
e_FontTypeCIDFont | 字体类型：CID 字体。

## ◆ StandardID

enum foxit.common.Font.StandardID
| strong

标准字体ID枚举。

此枚举的值应单独使用。

枚举值
e_StdIDCourier | 标准字体：Courier。
e_StdIDCourierB | 标准字体：Courier-Bold。
e_StdIDCourierBI | 标准字体：Courier-BoldOblique，粗斜体。
e_StdIDCourierI | 标准字体：Courier-Oblique，斜体。
e_StdIDHelvetica | 标准字体：Helvetica。
e_StdIDHelveticaB | 标准字体：Helvetica-Bold。
e_StdIDHelveticaBI | 标准字体：Helvetica-BoldOblique，粗斜体。
e_StdIDHelveticaI | 标准字体：Helvetica-Oblique，斜体。
e_StdIDTimes | 标准字体：Times-Roman。
e_StdIDTimesB | 标准字体：Times-Bold。
e_StdIDTimesBI | 标准字体：Times-BoldItalic。
e_StdIDTimesI | 标准字体：Times-Italic。
e_StdIDSymbol | 标准字体：Symbol。
e_StdIDZapfDingbats | 标准字体：ZapfDingbats。

## ◆ Styles

enum foxit.common.Font.Styles
| strong

字体样式的枚举。

此枚举的值可以单独使用或组合使用。

枚举值
e_StyleFixedPitch | 字体样式：等宽字体。
e_StyleSerif | 字体样式：衬线字体。
e_StyleSymbolic | 字体样式：符号字体。
e_StyleScript | 字体样式：手写字体。
e_StyleNonSymbolic | 字体样式：非符号字体。
e_StyleItalic | 字体样式：斜体。
e_StyleAllCap | 字体样式：全大写。
e_StylesSmallCap | 字体样式：小型大写。
e_StylesBold | 字体样式：强制粗体。

## 构造及析构函数说明

## ◆ Font() [1/5]

foxit.common.Font.Font | ( | string | name,
|  | int | styles,
|  | Font.Charset | charset,
|  | int | weight
| ) |  |
| inline

带有给定属性的构造函数。

此函数用于基于系统字体构造字体。

参数

  [in] | name | 要创建的字体的PostScript名称。
  [in] | styles | 字体样式。请参考从 foxit.common.Font.Styles.e_StyleFixedPitch 开始的值， 可以是这些值中的一个或组合。
  [in] | charset | 要创建的字体的字符集。请参考从 foxit.common.Font.Charset.e_CharsetANSI 开始的值，应该是这些值中的一个。
  [in] | weight | 原始字体粗细。0表示未指定。

## ◆ Font() [2/5]

foxit.common.Font.Font | ( | Font.StandardID | font_id | ) |
| inline

通过标准字体ID的构造函数。

参数

  [in] | font_id | 要创建的字体的标准字体ID。请参考从 foxit.common.Font.StandardID.e_StdIDCourier 开始的值，应该是这些值中的一个。

## ◆ Font() [3/5]

foxit.common.Font.Font | ( | string | font_file_path,
|  | int | face_index,
|  | Font.Charset | charset
| ) |  |
| inline

从字体文件的构造函数。

参数

  [in] | font_file_path | 现有字体文件的完整路径。
  [in] | face_index | 基于零的字体面索引。有效范围：从0到(face_count-1)。 请调用系统函数获取face_count。
  [in] | charset | 要创建的字体的字符集。请参考从 foxit.common.Font.Charset.e_CharsetANSI 开始的值，应该是这些值中的一个。

## ◆ Font() [4/5]

foxit.common.Font.Font | ( | StreamCallback | stream | ) |
| inline

通过使用 foxit.common.fxcrt.StreamCallback 从字体流的构造函数。

参数

  [in] | stream | 由用户实现的 foxit.common.fxcrt.StreamCallback 对象 用于读取字体文件内容。

## ◆ Font() [5/5]

foxit.common.Font.Font | ( | Font | other | ) |
| inline

使用另一个字体对象的构造函数。

参数

  [in] | other | 另一个字体对象。

## 成员函数说明

## ◆ AddUnicodes()

UInt32Array foxit.common.Font.AddUnicodes | ( | PDFDoc | document,
|  | UInt32Array | unicode_array
| ) |  |
| inline

向当前嵌入字体添加Unicode字符。

此函数仅支持新嵌入的字体。

参数

  [in] | document | 有效的PDF文档对象。
  [in] | unicode_array | 要嵌入的Unicode数组。

返回
  成功嵌入到字体中的结果Unicode数组。

## ◆ Embed()

Font foxit.common.Font.Embed | ( | PDFDoc | document,
|  | bool | is_add_all_unicodes
| ) |  |
| inline

将当前字体嵌入到指定的PDF文档中。

参数

  [in] | document | 有效的PDF文档对象。
  [in] | is_add_all_unicodes | 如果没有添加文档中的Unicode字符，是否将从0x0到0xFFFF的Unicode字符 添加到当前嵌入字体中。 true 表示嵌入从0x0到0xFFFF的Unicode字符， false 表示只嵌入一个Unicode字符。默认值：true。 用户可以通过 Font.AddUnicodes 添加Unicode字符。

返回
  嵌入的字体。

## ◆ GetAscent()

int foxit.common.Font.GetAscent | ( |  | ) |
| inline

获取上升值，以1/1000 em大小为单位（PDF单位）。

返回
  上升值，以1/1000 em大小为单位（PDF单位）。

## ◆ GetBaseFontName()

DX_BYTE_ARRAY foxit.common.Font.GetBaseFontName | ( | PDFDoc | document | ) |
| inline

获取基础字体名称。

参数

  [in] | document | 有效的PDF文档对象。

返回
  基础字体名称。

## ◆ GetCharBBox() [1/2]

RectI foxit.common.Font.GetCharBBox | ( | int | unicode | ) |
| inline

获取由Unicode指定的字符的边界框。

参数

  [in] | unicode | 字符的Unicode值。

返回
  字符边界框。

## ◆ GetCharBBox() [2/2]

RectI foxit.common.Font.GetCharBBox | ( | int | unicode,
|  | PDFDoc | document
| ) |  |
| inline

获取PDF文档中由Unicode指定的字符的边界框。

参数

  [in] | unicode | 字符的Unicode值。
  [in] | document | 有效的PDF文档对象。

返回
  字符边界框。

## ◆ GetCharWidth() [1/2]

float foxit.common.Font.GetCharWidth | ( | int | unicode | ) |
| inline

获取由Unicode指定的字符的宽度（以1/1000 em大小为单位（PDF单位））。

参数

  [in] | unicode | 字符的Unicode值。

返回
  字符宽度，以1/1000 em大小为单位（PDF单位）。

## ◆ GetCharWidth() [2/2]

float foxit.common.Font.GetCharWidth | ( | int | unicode,
|  | PDFDoc | document
| ) |  |
| inline

获取PDF文档中由Unicode指定的字符的宽度（以1/1000 em大小为单位，作为PDF单位）。

参数

  [in] | unicode | 字符的Unicode值。
  [in] | document | 有效的PDF文档对象。

返回
  字符宽度，以1/1000 em大小为单位（PDF单位）。

## ◆ GetCIDCharset()

Font.CIDCharset foxit.common.Font.GetCIDCharset | ( | PDFDoc | document | ) |
| inline

获取CID字体字符集。

适用于基于CID的字体。对于其他类型的字体，将抛出异常 foxit.common.ErrorCode.e_ErrUnsupported 。

参数

  [in] | document | 有效的PDF文档对象。

返回
  字体字符集。请参考从 foxit.common.Font.CIDCharset.e_CIDCharsetUnknown 开始的值， 这将是这些值中的一个。

## ◆ GetDescent()

int foxit.common.Font.GetDescent | ( |  | ) |
| inline

获取下降值，以1/1000 em大小为单位（PDF单位）。

返回
  下降值，以1/1000 em大小为单位（PDF单位）。

## ◆ GetEncoding()

string foxit.common.Font.GetEncoding | ( | PDFDoc | document | ) |
| inline

获取当前字体编码。

参数

  [in] | document | 有效的PDF文档对象。

返回
  字体编码的值，请参考<PDF reference 1.7>第442页中的 "TABLE 5.15 Predefined CJK CMap names"。

## ◆ GetFamilyName()

DX_BYTE_ARRAY foxit.common.Font.GetFamilyName | ( |  | ) |
| inline

检索字体族名称。

返回
  字体族名称。

## ◆ GetFontType()

Font.FontTypes foxit.common.Font.GetFontType | ( | PDFDoc | document | ) |
| inline

获取字体类型。

参数

  [in] | document | 有效的PDF文档对象。

返回
  字体类型。请参考从 foxit.common.Font.FontTypes.e_FontTypeType1 开始的值， 这将是这些值中的一个。

## ◆ GetName()

string foxit.common.Font.GetName | ( |  | ) |
| inline

检索PostScript名称。

返回
  PostScript名称。

## ◆ GetStandard14Font()

Font.StandardID foxit.common.Font.GetStandard14Font | ( | PDFDoc | document | ) |
| inline

获取标准字体ID。

适用于标准字体。对于其他类型的字体，将抛出异常 foxit.common.ErrorCode.e_ErrUnsupported 。

参数

  [in] | document | 有效的PDF文档对象。

返回
  标准字体ID。请参考从 foxit.common.Font.StandardID.e_StdIDCourier 开始的值，这将是这些值中的一个。

## ◆ GetStyles()

int foxit.common.Font.GetStyles | ( | PDFDoc | document | ) |
| inline

获取字体样式。

参数

  [in] | document | 有效的PDF文档对象。

返回
  字体样式。请参考从 foxit.common.Font.Styles.e_StyleFixedPitch 开始的值， 这将是这些值中的一个或组合。

## ◆ IsBold()

bool foxit.common.Font.IsBold | ( |  | ) |
| inline

判断当前字体是否为粗体。

返回
  true 表示当前字体为粗体，false 表示不是。

## ◆ IsCharSupported()

bool foxit.common.Font.IsCharSupported | ( | int | unicode,
|  | PDFDoc | document
| ) |  |
| inline

检查当前字体是否支持某字符。

参数

  [in] | unicode | 字符unicode码。
  [in] | document | 文档对象，如果字体没有内嵌到文档中，这个参数是空对象。

返回
  true 表示字符在字体中支持， false 则不是。

## ◆ IsEmbedded()

bool foxit.common.Font.IsEmbedded | ( | PDFDoc | document | ) |
| inline

判断当前字体是否嵌入在指定的PDF文档中。

参数

  [in] | document | 有效的PDF文档对象。

返回
  true 表示字体嵌入在指定的PDF文档中，false 表示不是。

## ◆ IsEmpty()

bool foxit.common.Font.IsEmpty | ( |  | ) |
| inline

检查当前对象是否为空。

当当前对象为空时，意味着当前对象无用。

返回
  true 表示当前对象为空，false 表示不为空。

## ◆ IsItalic()

bool foxit.common.Font.IsItalic | ( |  | ) |
| inline

判断当前字体对象是否为斜体。

返回
  true 表示当前字体为斜体，false 表示不是。

## ◆ IsStandardFont()

bool foxit.common.Font.IsStandardFont | ( | PDFDoc | document | ) |
| inline

检查当前字体是否为标准字体。

参数

  [in] | document | 有效的PDF文档对象。

返回
  true 表示当前字体是标准字体，false 表示不是。

## ◆ IsSupportEmbedded()

bool foxit.common.Font.IsSupportEmbedded | ( | PDFDoc | document | ) |
| inline

检查当前字体是否支持嵌入到指定的PDF文档中。

参数

  [in] | document | 有效的PDF文档对象。

返回
  true 表示当前字体支持嵌入到指定的PDF文档中， false 表示不支持。

## ◆ IsVertWriting()

bool foxit.common.Font.IsVertWriting | ( | PDFDoc | document | ) |
| inline

检查当前字体是否为垂直书写。

参数

  [in] | document | 有效的PDF文档对象。

返回
  true 表示当前字体是垂直书写， false 表示当前字体不是垂直书写。

## ◆ SetEncoding()

bool foxit.common.Font.SetEncoding | ( | PDFDoc | document,
|  | string | value
| ) |  |
| inline

设置当前字体编码。

参数

  [in] | document | 有效的PDF文档对象。
  [in] | value | 要设置的字体编码。有关编码值，请参考 <PDF reference 1.7>第442页中的"TABLE 5.15 Predefined CJK CMap names"。 此参数不应为空字符串。

返回
  true 表示成功，false 表示失败。