Foxit PDF SDK
com.foxit.sdk.common.Font类 参考
类 com.foxit.sdk.common.Font 继承关系图:
com.foxit.sdk.common.Base

Public 成员函数

 Font (String name, int styles, int charset, int weight) throws com.foxit.sdk.PDFException
 带有给定属性的构造函数。 更多...
 
 Font (int font_id) throws com.foxit.sdk.PDFException
 通过标准字体ID的构造函数。 更多...
 
 Font (String font_file_path, int face_index, int charset) throws com.foxit.sdk.PDFException
 从字体文件的构造函数。 更多...
 
 Font (StreamCallback stream) throws com.foxit.sdk.PDFException
 通过使用 com.foxit.sdk.common.fxcrt.StreamCallback 从字体流的构造函数。 更多...
 
 Font (Font other)
 使用另一个字体对象的构造函数。 更多...
 
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 成员函数 继承自 com.foxit.sdk.common.Base
synchronized void delete ()
 直接清除C++相关资源。 更多...
 

静态 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++相关资源。

返回
无。
注解
一旦这个接口被调用,这个对象将不能再被使用。

◆ 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 表示失败。