Foxit PDF SDK

Public 成员函数 | 静态 Public 属性 | 所有成员列表
FSDK::Font类 参考

## Public 成员函数
| AddUnicodes (document, unicode_array)
| 将 Unicode 添加到当前嵌入字体。 更多...
| constructor (name, styles, charset, weight)
| 带有给定属性的构造函数。 更多...
| constructor (font_id)
| 通过标准字体 ID 构造的构造函数。 更多...
| constructor (font_file_path, face_index, charset)
| 从字体文件构造的构造函数。 更多...
| Embed (document, is_add_all_unicodes)
| 将当前字体嵌入到指定的 PDF 文档。 更多...
| GetAscent ()
| 获取上升值，以 em 大小的 1/1000（PDF 单位）表示。 更多...
| GetBaseFontName (document)
| 获取基本字体名称。 更多...
| GetCharBBox (unicode)
| 获取由 Unicode 指定的字符的边界框。 更多...
| GetCharBBox (unicode, document)
| 在 PDF 文档中获取字符（由 Unicode 指定）的边界框。 更多...
| GetCharWidth (unicode)
| 获取由 Unicode 指定的字符的宽度（以 em 大小的 1/1000（PDF 单位）表示）。 更多...
| GetCharWidth (unicode, document)
| 在 PDF 文档中获取字符（由 Unicode 指定）的宽度（以 em 大小的 1/1000，作为 PDF 单位）。 更多...
| GetCIDCharset (document)
| 获取 CID 字体字符集。 更多...
| GetDescent ()
| 获取下降值，以 em 大小的 1/1000（PDF 单位）表示。 更多...
| GetEncoding (document)
| 获取当前字体编码。 更多...
| GetFamilyName ()
| 检索家族名称。 更多...
| GetFontType (document)
| 获取字体类型。 更多...
| GetName ()
| 检索 PostScript 名称。 更多...
| GetStandard14Font (document)
| 获取标准字体 ID。 更多...
| GetStyles (document)
| 获取字体样式。 更多...
| IsBold ()
| 判断当前字体是否为粗体。 更多...
| IsCharSupported (unicode, document)
| 检查当前字体是否支持该字符。 更多...
| IsEmbedded (document)
| 判断当前字体是否嵌入到指定的 PDF 文档中。 更多...
| IsEmpty ()
| 检查当前对象是否为空。 更多...
| IsItalic ()
| 判断当前字体对象是否为斜体。 更多...
| IsSupportEmbedded (document)
| 检查当前字体是否支持嵌入到指定的 PDF 文档。 更多...
| IsVertWriting (document)
| 检查当前字体是否为垂直书写。 更多...
| SetEncoding (document, value)
| 设置当前字体编码。 更多...

## 静态 Public 属性
static | e_CharsetANSI
| 字体字符集的枚举。 更多...
static | e_CharsetArabic
| 字体字符集：阿拉伯文。
static | e_CharsetBaltic
| 字体字符集：波罗的海文。
static | e_CharsetChineseBig5
| 字体字符集：繁体中文。
static | e_CharsetDefault
| 字体字符集：系统默认，用于未知或映射目的。
static | e_CharsetEastEurope
| 字体字符集：东欧。
static | e_CharsetGB2312
| 字体字符集：简体中文。
static | e_CharsetGreek
| 字体字符集：希腊文。
static | e_CharsetHangeul
| 字体字符集：韩文（Wansung）。
static | e_CharsetHebrew
| 字体字符集：希伯来文。
static | e_CharsetRussian
| 字体字符集：俄文。
static | e_CharsetShift_JIS
| 字体字符集：日文（Shift-JIS）。
static | e_CharsetSymbol
| 字体字符集：标准符号。
static | e_CharsetThai
| 字体字符集：泰文。
static | e_CharsetTurkish
| 字体字符集：土耳其文。
static | e_CIDCharsetCNS1
| CID 字体字符集：Adobe-CNS1。
static | e_CIDCharsetGB1
| CID 字体字符集：Adobe-GB1。
static | e_CIDCharsetJAPAN1
| CID 字体字符集：Adobe-Japan1。
static | e_CIDCharsetKOREA1
| CID 字体字符集：Adobe-Korea1。
static | e_CIDCharsetUNICODE
| CID 字体字符集：Unicode。
static | e_CIDCharsetUnknown
| CID 字体字符集的枚举。 更多...
static | e_FontTypeCIDFont
| 字体类型：CID 字体。
static | e_FontTypeTrueType
| 字体类型：TrueType。
static | e_FontTypeType1
| 字体类型的枚举。 更多...
static | e_FontTypeType3
| 字体类型：Type3。
static | e_StdIDCourier
| 标准字体 ID 的枚举。 更多...
static | e_StdIDCourierB
| 标准字体：Courier-Bold。
static | e_StdIDCourierBI
| 标准字体：Courier-BoldOblique，粗斜体。
static | e_StdIDCourierI
| 标准字体：Courier-Oblique，斜体。
static | e_StdIDHelvetica
| 标准字体：Helvetica。
static | e_StdIDHelveticaB
| 标准字体：Helvetica-Bold。
static | e_StdIDHelveticaBI
| 标准字体：Helvetica-BoldOblique，粗斜体。
static | e_StdIDHelveticaI
| 标准字体：Helvetica-Oblique，斜体。
static | e_StdIDSymbol
| 标准字体：Symbol。
static | e_StdIDTimes
| 标准字体：Times-Roman。
static | e_StdIDTimesB
| 标准字体：Times-Bold。
static | e_StdIDTimesBI
| 标准字体：Times-BoldItalic。
static | e_StdIDTimesI
| 标准字体：Times-Italic。
static | e_StdIDZapfDingbats
| 标准字体：ZapfDingbats。
static | e_StyleAllCap
| 字体样式：全大写。
static | e_StyleFixedPitch
| 字体样式的枚举。 更多...
static | e_StyleItalic
| 字体样式：斜体。
static | e_StyleNonSymbolic
| 字体样式：非符号。
static | e_StylesBold
| 字体样式：强制粗体。
static | e_StyleScript
| 字体样式：手写。
static | e_StyleSerif
| 字体样式：衬线。
static | e_StylesSmallCap
| 字体样式：小型大写。
static | e_StyleSymbolic
| 字体样式：符号。

## 详细描述

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

## 成员函数说明

## ◆ AddUnicodes()

FSDK::Font::AddUnicodes | ( | document | ,
|  | unicode_array |
| ) |  |

将 Unicode 添加到当前嵌入字体。

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

参数

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

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

## ◆ constructor() [1/3]

FSDK::Font::constructor | ( | name | ,
|  | styles | ,
|  | charset | ,
|  | weight |
| ) |  |

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

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

参数

  [in] | name | 要创建的字体的 PostScript 名称。
  [in] | styles | 字体样式。请参阅从 FSDK.Font.e_StyleFixedPitch 开始的值， 可以是这些值之一或组合。
  [in] | charset | 要创建的字体的字符集。请参阅从 FSDK.Font.e_CharsetANSI 开始的值， 并且应为这些值之一。
  [in] | weight | 原始字体粗细。0 表示未指定。

## ◆ constructor() [2/3]

FSDK::Font::constructor | ( | font_id |  | ) |

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

参数

  [in] | font_id | 要创建的字体的标准字体 ID。请参阅从 FSDK.Font.e_StdIDCourier 开始的值， 并且应为这些值之一。

## ◆ constructor() [3/3]

FSDK::Font::constructor | ( | font_file_path | ,
|  | face_index | ,
|  | charset |
| ) |  |

从字体文件构造的构造函数。

参数

  [in] | font_file_path | 现有字体文件的完整路径。
  [in] | face_index | 从零开始的字体面索引。有效范围：从 0 到 (face_count-1)。 请调用系统函数来获取 face_count。
  [in] | charset | 要创建的字体的字符集。请参阅从 FSDK.Font.e_CharsetANSI 开始的值， 并且应为这些值之一。

## ◆ Embed()

FSDK::Font::Embed | ( | document | ,
|  | is_add_all_unicodes |
| ) |  |

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

参数

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

返回
  嵌入的字体。

## ◆ GetAscent()

FSDK::Font::GetAscent | ( |  | ) |

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

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

## ◆ GetBaseFontName()

FSDK::Font::GetBaseFontName | ( | document |  | ) |

获取基本字体名称。

参数

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

返回
  基本字体名称。

## ◆ GetCharBBox() [1/2]

FSDK::Font::GetCharBBox | ( | unicode |  | ) |

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

参数

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

返回
  字符边界框。

## ◆ GetCharBBox() [2/2]

FSDK::Font::GetCharBBox | ( | unicode | ,
|  | document |
| ) |  |

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

参数

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

返回
  字符边界框。

## ◆ GetCharWidth() [1/2]

FSDK::Font::GetCharWidth | ( | unicode |  | ) |

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

参数

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

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

## ◆ GetCharWidth() [2/2]

FSDK::Font::GetCharWidth | ( | unicode | ,
|  | document |
| ) |  |

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

参数

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

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

## ◆ GetCIDCharset()

FSDK::Font::GetCIDCharset | ( | document |  | ) |

获取 CID 字体字符集。

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

参数

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

返回
  字体字符集。请参阅从 FSDK.Font.e_CIDCharsetUnknown 开始的值， 并且将是这些值之一。

## ◆ GetDescent()

FSDK::Font::GetDescent | ( |  | ) |

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

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

## ◆ GetEncoding()

FSDK::Font::GetEncoding | ( | document |  | ) |

获取当前字体编码。

参数

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

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

## ◆ GetFamilyName()

FSDK::Font::GetFamilyName | ( |  | ) |

检索家族名称。

返回
  家族名称。

## ◆ GetFontType()

FSDK::Font::GetFontType | ( | document |  | ) |

获取字体类型。

参数

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

返回
  字体类型。请参阅从 FSDK.Font.e_FontTypeType1 开始的值， 并且将是这些值之一。

## ◆ GetName()

FSDK::Font::GetName | ( |  | ) |

检索 PostScript 名称。

返回
  PostScript 名称。

## ◆ GetStandard14Font()

FSDK::Font::GetStandard14Font | ( | document |  | ) |

获取标准字体 ID。

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

参数

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

返回
  标准字体 ID。请参阅从 FSDK.Font.e_StdIDCourier 开始的值，并且将是这些值之一。

## ◆ GetStyles()

FSDK::Font::GetStyles | ( | document |  | ) |

获取字体样式。

参数

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

返回
  字体样式。请参阅从 FSDK.Font.e_StyleFixedPitch 开始的值， 并且将是这些值之一或组合。

## ◆ IsBold()

FSDK::Font::IsBold | ( |  | ) |

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

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

## ◆ IsCharSupported()

FSDK::Font::IsCharSupported | ( | unicode | ,
|  | document |
| ) |  |

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

参数

  [in] | unicode | 一个字符的 Unicode 值。
  [in] | document | 一个 PDF 文档对象。如果此字体未嵌入文档中，此参数可以是一个空对象。

返回
  true 表示该字符在其字体中受支持，而 false 表示不受支持。

## ◆ IsEmbedded()

FSDK::Font::IsEmbedded | ( | document |  | ) |

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

参数

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

返回
  true 表示字体嵌入到指定的 PDF 文档中，而 false 表示没有。

## ◆ IsEmpty()

FSDK::Font::IsEmpty | ( |  | ) |

检查当前对象是否为空。

当当前对象为空时，表示当前对象不可用。

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

## ◆ IsItalic()

FSDK::Font::IsItalic | ( |  | ) |

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

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

## ◆ IsSupportEmbedded()

FSDK::Font::IsSupportEmbedded | ( | document |  | ) |

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

参数

  [in] | document | A valid PDF document object.

返回
  true means current font is supported to be embedded to the specified PDF document, while false means not.

## ◆ IsVertWriting()

FSDK::Font::IsVertWriting | ( | document |  | ) |

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

参数

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

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

## ◆ SetEncoding()

FSDK::Font::SetEncoding | ( | document | ,
|  | value |
| ) |  |

设置当前字体编码。

参数

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

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

## 类成员变量说明

## ◆ e_CharsetANSI

FSDK::Font::e_CharsetANSI
| static

字体字符集的枚举。

此枚举的值应单独使用。字体字符集：ANSI（美国、西欧）。

## ◆ e_CIDCharsetUnknown

FSDK::Font::e_CIDCharsetUnknown
| static

CID 字体字符集的枚举。

此枚举的值应单独使用。CID 字体字符集：未知。

## ◆ e_FontTypeType1

FSDK::Font::e_FontTypeType1
| static

字体类型的枚举。

此枚举的值可以单独使用。字体类型：Type1。

## ◆ e_StdIDCourier

FSDK::Font::e_StdIDCourier
| static

标准字体 ID 的枚举。

此枚举的值应单独使用。标准字体：Courier。

## ◆ e_StyleFixedPitch

FSDK::Font::e_StyleFixedPitch
| static

字体样式的枚举。

此枚举的值可以单独使用或组合使用。字体样式：固定间距。