Foxit PDF SDK

Public 成员函数 | 静态 Public 属性 | 所有成员列表
com.foxit.sdk.common.Font类 参考
类 com.foxit.sdk.common.Font 继承关系图:

## Public 成员函数
| Font (Font other)
| 使用另一个字体对象的构造函数。 更多...
| Font (int font_id) throws com.foxit.sdk.PDFException
| 通过标准字体ID的构造函数。 更多...
| Font (StreamCallback stream) throws com.foxit.sdk.PDFException
| 通过使用 com.foxit.sdk.common.fxcrt.StreamCallback 从字体流的构造函数。 更多...
| Font (String font_file_path, int face_index, int charset) throws com.foxit.sdk.PDFException
| 从字体文件的构造函数。 更多...
| Font (String name, int styles, int charset, int weight) throws com.foxit.sdk.PDFException
| 带有给定属性的构造函数。 更多...
UInt32Array | addUnicodes (PDFDoc document, UInt32Array unicode_array) throws com.foxit.sdk.PDFException
| 向当前嵌入字体添加Unicode字符。 更多...
synchronized void | delete ()
| 直接清除C++相关资源。 更多...
Font | embed (PDFDoc document, boolean is_add_all_unicodes) throws com.foxit.sdk.PDFException
| 将当前字体嵌入到指定的PDF文档中。 更多...
int | getAscent () throws com.foxit.sdk.PDFException
| 获取上升值，以1/1000 em大小为单位（PDF单位）。 更多...
String | getBaseFontName (PDFDoc document) throws com.foxit.sdk.PDFException
| 获取基础字体名称。 更多...
RectI | getCharBBox (int unicode) throws com.foxit.sdk.PDFException
| 获取由Unicode指定的字符的边界框。 更多...
RectI | getCharBBox (int unicode, PDFDoc document) throws com.foxit.sdk.PDFException
| 获取PDF文档中由Unicode指定的字符的边界框。 更多...
float | getCharWidth (int unicode) throws com.foxit.sdk.PDFException
| 获取由Unicode指定的字符的宽度（以1/1000 em大小为单位（PDF单位））。 更多...
float | getCharWidth (int unicode, PDFDoc document) throws com.foxit.sdk.PDFException
| 获取PDF文档中由Unicode指定的字符的宽度（以1/1000 em大小为单位，作为PDF单位）。 更多...
int | getCIDCharset (PDFDoc document) throws com.foxit.sdk.PDFException
| 获取CID字体字符集。 更多...
int | getDescent () throws com.foxit.sdk.PDFException
| 获取下降值，以1/1000 em大小为单位（PDF单位）。 更多...
String | getEncoding (PDFDoc document) throws com.foxit.sdk.PDFException
| 获取当前字体编码。 更多...
String | getFamilyName () throws com.foxit.sdk.PDFException
| 检索字体族名称。 更多...
int | getFontType (PDFDoc document) throws com.foxit.sdk.PDFException
| 获取字体类型。 更多...
String | getName () throws com.foxit.sdk.PDFException
| 检索PostScript名称。 更多...
int | getStandard14Font (PDFDoc document) throws com.foxit.sdk.PDFException
| 获取标准字体ID。 更多...
int | getStyles (PDFDoc document) throws com.foxit.sdk.PDFException
| 获取字体样式。 更多...
boolean | isBold () throws com.foxit.sdk.PDFException
| 判断当前字体是否为粗体。 更多...
boolean | isCharSupported (int unicode, PDFDoc document) throws com.foxit.sdk.PDFException
| 检查当前字体是否支持某字符。 更多...
boolean | isEmbedded (PDFDoc document) throws com.foxit.sdk.PDFException
| 判断当前字体是否嵌入在指定的PDF文档中。 更多...
boolean | isEmpty ()
| 检查当前对象是否为空。 更多...
boolean | isItalic () throws com.foxit.sdk.PDFException
| 判断当前字体对象是否为斜体。 更多...
boolean | isStandardFont (PDFDoc document) throws com.foxit.sdk.PDFException
| 检查当前字体是否为标准字体。 更多...
boolean | isSupportEmbedded (PDFDoc document) throws com.foxit.sdk.PDFException
| 检查当前字体是否支持嵌入到指定的PDF文档中。 更多...
boolean | isVertWriting (PDFDoc document) throws com.foxit.sdk.PDFException
| 检查当前字体是否为垂直书写。 更多...
boolean | setEncoding (PDFDoc document, String value) throws com.foxit.sdk.PDFException
| 设置当前字体编码。 更多...

## 静态 Public 属性
static final int | e_CharsetANSI = 0
| 字体字符集：ANSI（美国、西欧）。
static final int | e_CharsetArabic = 178
| 字体字符集：阿拉伯文。
static final int | e_CharsetBaltic = 186
| 字体字符集：波罗的海文。
static final int | e_CharsetChineseBig5 = 136
| 字体字符集：繁体中文。
static final int | e_CharsetDefault = 1
| 字体字符集：系统默认，用于未知或映射目的。
static final int | e_CharsetEastEurope = 238
| 字体字符集：东欧。
static final int | e_CharsetGB2312 = 134
| 字体字符集：简体中文。
static final int | e_CharsetGreek = 161
| 字体字符集：希腊文。
static final int | e_CharsetHangeul = 129
| 字体字符集：韩文（Wansung）。
static final int | e_CharsetHebrew = 177
| 字体字符集：希伯来文。
static final int | e_CharsetRussian = 204
| 字体字符集：俄文。
static final int | e_CharsetShift_JIS = 128
| 字体字符集：日文（Shift-JIS）。
static final int | e_CharsetSymbol = 2
| 字体字符集：标准符号。
static final int | e_CharsetThai = 222
| 字体字符集：泰文。
static final int | e_CharsetTurkish = 162
| 字体字符集：土耳其文。
static final int | e_CIDCharsetCNS1 = 2
| CID字体字符集：Adobe-CNS1。
static final int | e_CIDCharsetGB1 = 1
| CID字体字符集：Adobe-GB1。
static final int | e_CIDCharsetJAPAN1 = 3
| CID字体字符集：Adobe-Japan1。
static final int | e_CIDCharsetKOREA1 = 4
| CID字体字符集：Adobe-Korea1。
static final int | e_CIDCharsetUNICODE = 5
| CID字体字符集：Unicode。
static final int | e_CIDCharsetUnknown = 0
| CID字体字符集：未知。
static final int | e_FontTypeCIDFont = 4
| 字体类型：CID 字体。
static final int | e_FontTypeTrueType = 2
| 字体类型：TrueType。
static final int | e_FontTypeType1 = 1
| 字体类型：Type1。
static final int | e_FontTypeType3 = 3
| 字体类型：Type3。
static final int | e_StdIDCourier = 0
| 标准字体：Courier。
static final int | e_StdIDCourierB = 1
| 标准字体：Courier-Bold。
static final int | e_StdIDCourierBI = 2
| 标准字体：Courier-BoldOblique，粗斜体。
static final int | e_StdIDCourierI = 3
| 标准字体：Courier-Oblique，斜体。
static final int | e_StdIDHelvetica = 4
| 标准字体：Helvetica。
static final int | e_StdIDHelveticaB = 5
| 标准字体：Helvetica-Bold。
static final int | e_StdIDHelveticaBI = 6
| 标准字体：Helvetica-BoldOblique，粗斜体。
static final int | e_StdIDHelveticaI = 7
| 标准字体：Helvetica-Oblique，斜体。
static final int | e_StdIDSymbol = 12
| 标准字体：Symbol。
static final int | e_StdIDTimes = 8
| 标准字体：Times-Roman。
static final int | e_StdIDTimesB = 9
| 标准字体：Times-Bold。
static final int | e_StdIDTimesBI = 10
| 标准字体：Times-BoldItalic。
static final int | e_StdIDTimesI = 11
| 标准字体：Times-Italic。
static final int | e_StdIDZapfDingbats = 13
| 标准字体：ZapfDingbats。
static final int | e_StyleAllCap = 0x10000
| 字体样式：全大写。
static final int | e_StyleFixedPitch = 0x0001
| 字体样式：等宽字体。
static final int | e_StyleItalic = 0x0040
| 字体样式：斜体。
static final int | e_StyleNonSymbolic = 0x0020
| 字体样式：非符号字体。
static final int | e_StylesBold = 0x40000
| 字体样式：强制粗体。
static final int | e_StyleScript = 0x0008
| 字体样式：手写字体。
static final int | e_StyleSerif = 0x0002
| 字体样式：衬线字体。
static final int | e_StylesSmallCap = 0x20000
| 字体样式：小型大写。
static final int | e_StyleSymbolic = 0x0004
| 字体样式：符号字体。

## 详细描述

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

## 构造及析构函数说明

## ◆ Font() [1/5]

com.foxit.sdk.common.Font.Font | ( | String | name,
|  | int | styles,
|  | int | charset,
|  | int | weight
| ) |  | throws com.foxit.sdk.PDFException

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

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

参数

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

## ◆ Font() [2/5]

com.foxit.sdk.common.Font.Font | ( | int | font_id | ) | throws com.foxit.sdk.PDFException

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

参数

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

## ◆ Font() [3/5]

com.foxit.sdk.common.Font.Font | ( | String | font_file_path,
|  | int | face_index,
|  | int | charset
| ) |  | throws com.foxit.sdk.PDFException

从字体文件的构造函数。

参数

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

## ◆ Font() [4/5]

com.foxit.sdk.common.Font.Font | ( | StreamCallback | stream | ) | throws com.foxit.sdk.PDFException

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

参数

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

## ◆ Font() [5/5]

com.foxit.sdk.common.Font.Font | ( | Font | other | ) |

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

参数

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

## 成员函数说明

## ◆ addUnicodes()

UInt32Array com.foxit.sdk.common.Font.addUnicodes | ( | PDFDoc | document,
|  | UInt32Array | unicode_array
| ) |  | throws com.foxit.sdk.PDFException

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

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

参数

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

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

## ◆ delete()

synchronized void com.foxit.sdk.common.Font.delete | ( |  | ) |

直接清除C++相关资源。

返回
  无。

注解
  一旦这个接口被调用，这个对象将不能再被使用。

重载 com.foxit.sdk.common.Base .

## ◆ embed()

Font com.foxit.sdk.common.Font.embed | ( | PDFDoc | document,
|  | boolean | is_add_all_unicodes
| ) |  | throws com.foxit.sdk.PDFException

将当前字体嵌入到指定的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 com.foxit.sdk.common.Font.getAscent | ( |  | ) | throws com.foxit.sdk.PDFException

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

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

## ◆ getBaseFontName()

String com.foxit.sdk.common.Font.getBaseFontName | ( | PDFDoc | document | ) | throws com.foxit.sdk.PDFException

获取基础字体名称。

参数

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

返回
  基础字体名称。

## ◆ getCharBBox() [1/2]

RectI com.foxit.sdk.common.Font.getCharBBox | ( | int | unicode | ) | throws com.foxit.sdk.PDFException

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

参数

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

返回
  字符边界框。

## ◆ getCharBBox() [2/2]

RectI com.foxit.sdk.common.Font.getCharBBox | ( | int | unicode,
|  | PDFDoc | document
| ) |  | throws com.foxit.sdk.PDFException

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

参数

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

返回
  字符边界框。

## ◆ getCharWidth() [1/2]

float com.foxit.sdk.common.Font.getCharWidth | ( | int | unicode | ) | throws com.foxit.sdk.PDFException

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

参数

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

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

## ◆ getCharWidth() [2/2]

float com.foxit.sdk.common.Font.getCharWidth | ( | int | unicode,
|  | PDFDoc | document
| ) |  | throws com.foxit.sdk.PDFException

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

参数

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

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

## ◆ getCIDCharset()

int com.foxit.sdk.common.Font.getCIDCharset | ( | PDFDoc | document | ) | throws com.foxit.sdk.PDFException

获取CID字体字符集。

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

参数

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

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

## ◆ getDescent()

int com.foxit.sdk.common.Font.getDescent | ( |  | ) | throws com.foxit.sdk.PDFException

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

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

## ◆ getEncoding()

String com.foxit.sdk.common.Font.getEncoding | ( | PDFDoc | document | ) | throws com.foxit.sdk.PDFException

获取当前字体编码。

参数

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

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

## ◆ getFamilyName()

String com.foxit.sdk.common.Font.getFamilyName | ( |  | ) | throws com.foxit.sdk.PDFException

检索字体族名称。

返回
  字体族名称。

## ◆ getFontType()

int com.foxit.sdk.common.Font.getFontType | ( | PDFDoc | document | ) | throws com.foxit.sdk.PDFException

获取字体类型。

参数

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

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

## ◆ getName()

String com.foxit.sdk.common.Font.getName | ( |  | ) | throws com.foxit.sdk.PDFException

检索PostScript名称。

返回
  PostScript名称。

## ◆ getStandard14Font()

int com.foxit.sdk.common.Font.getStandard14Font | ( | PDFDoc | document | ) | throws com.foxit.sdk.PDFException

获取标准字体ID。

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

参数

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

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

## ◆ getStyles()

int com.foxit.sdk.common.Font.getStyles | ( | PDFDoc | document | ) | throws com.foxit.sdk.PDFException

获取字体样式。

参数

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

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

## ◆ isBold()

boolean com.foxit.sdk.common.Font.isBold | ( |  | ) | throws com.foxit.sdk.PDFException

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

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

## ◆ isCharSupported()

boolean com.foxit.sdk.common.Font.isCharSupported | ( | int | unicode,
|  | PDFDoc | document
| ) |  | throws com.foxit.sdk.PDFException

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

参数

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

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

## ◆ isEmbedded()

boolean com.foxit.sdk.common.Font.isEmbedded | ( | PDFDoc | document | ) | throws com.foxit.sdk.PDFException

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

参数

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

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

## ◆ isEmpty()

boolean com.foxit.sdk.common.Font.isEmpty | ( |  | ) |

检查当前对象是否为空。

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

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

## ◆ isItalic()

boolean com.foxit.sdk.common.Font.isItalic | ( |  | ) | throws com.foxit.sdk.PDFException

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

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

## ◆ isStandardFont()

boolean com.foxit.sdk.common.Font.isStandardFont | ( | PDFDoc | document | ) | throws com.foxit.sdk.PDFException

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

参数

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

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

## ◆ isSupportEmbedded()

boolean com.foxit.sdk.common.Font.isSupportEmbedded | ( | PDFDoc | document | ) | throws com.foxit.sdk.PDFException

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

参数

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

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

## ◆ isVertWriting()

boolean com.foxit.sdk.common.Font.isVertWriting | ( | PDFDoc | document | ) | throws com.foxit.sdk.PDFException

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

参数

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

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

## ◆ setEncoding()

boolean com.foxit.sdk.common.Font.setEncoding | ( | PDFDoc | document,
|  | String | value
| ) |  | throws com.foxit.sdk.PDFException

设置当前字体编码。

参数

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

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