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

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

字体字符集枚举。

此枚举的值应单独使用。

枚举值
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

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

字体类型的枚举。

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

枚举值
e_FontTypeType1 

字体类型:Type1。

e_FontTypeTrueType 

字体类型:TrueType。

e_FontTypeType3 

字体类型:Type3。

e_FontTypeCIDFont 

字体类型:CID 字体。

◆ StandardID

标准字体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

字体样式的枚举。

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

枚举值
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 表示失败。