foxit::common::Font Class Reference
Inheritance diagram for foxit::common::Font:
foxit::Base

Public Types

enum  Charset {
  e_CharsetANSI = 0, e_CharsetDefault = 1, e_CharsetSymbol = 2, e_CharsetShift_JIS = 128,
  e_CharsetHangeul = 129, e_CharsetGB2312 = 134, e_CharsetChineseBig5 = 136, e_CharsetThai = 222,
  e_CharsetEastEurope = 238, e_CharsetRussian = 204, e_CharsetGreek = 161, e_CharsetTurkish = 162,
  e_CharsetHebrew = 177, e_CharsetArabic = 178, e_CharsetBaltic = 186
}
 Enumeration for font charset. More...
 
enum  StandardID {
  e_StdIDCourier = 0, e_StdIDCourierB = 1, e_StdIDCourierBI = 2, e_StdIDCourierI = 3,
  e_StdIDHelvetica = 4, e_StdIDHelveticaB = 5, e_StdIDHelveticaBI = 6, e_StdIDHelveticaI = 7,
  e_StdIDTimes = 8, e_StdIDTimesB = 9, e_StdIDTimesBI = 10, e_StdIDTimesI = 11,
  e_StdIDSymbol = 12, e_StdIDZapfDingbats = 13
}
 Enumeration for standard font ID. More...
 
enum  Styles {
  e_StyleFixedPitch = 0x0001, e_StyleSerif = 0x0002, e_StyleSymbolic = 0x0004, e_StyleScript = 0x0008,
  e_StyleNonSymbolic = 0x0020, e_StyleItalic = 0x0040, e_StyleAllCap = 0x10000, e_StylesSmallCap = 0x20000,
  e_StylesBold = 0x40000
}
 Enumeration for font styles. More...
 

Public Member Functions

 Font (const wchar_t *name, uint32 styles, Charset charset, int weight=0)
 Constructor, with given attribute. More...
 
 Font (StandardID font_id)
 Constructor, by a standard font ID. More...
 
 Font (const char *font_file_path, int face_index, Charset charset)
 Constructor, from a font file. More...
 
 Font (const wchar_t *font_file_path, int face_index, Charset charset)
 Constructor, from a font file. More...
 
 Font (const Font &)
 Constructor, with another Font object.
 
 ~Font ()
 Destructor.
 
Font Embed (pdf::PDFDoc document)
 Embed current font to the specified PDF document. More...
 
int GetAscent () const
 Get the ascent value, in 1/1000 of em size (PDF units). More...
 
RectI GetCharBBox (uint32 unicode) const
 Get the bounding box of a character specified by unicode. More...
 
float GetCharWidth (uint32 unicode) const
 Get the width (in 1/1000 of em size (PDF units)) of a character specified by unicode. More...
 
int GetDescent () const
 Get the descent value, in 1/1000 of em size (PDF units). More...
 
WString GetName ()
 Retrieve the face name. More...
 
bool IsBold () const
 Judge whether current font is bold or not. More...
 
bool IsEmbedded (const pdf::PDFDoc &document)
 Judge whether current font is embedded in a specified PDF document or not. More...
 
bool IsEmpty () const
 Check whether current object is empty or not. More...
 
bool IsItalic () const
 Judge whether current font object is italic or not. More...
 
bool IsSupportEmbedded (const pdf::PDFDoc &document)
 Check whether current font is supported to be embedded to the specified PDF document or not. More...
 
bool operator!= (const Font &other) const
 Not equal operator. More...
 
Fontoperator= (const Font &other)
 Assign operator. More...
 
bool operator== (const Font &other) const
 Equal operator. More...
 
- Public Member Functions inherited from foxit::Base
FS_HANDLE Handle () const
 Get the handle of current object. More...
 

Detailed Description

In PDF document, font is used for drawing text in PDF page.
This class represents font used in Foxit PDF SDK. This class offers different constructor for user to construct a new Font object, by specified parameters, by standard font ID, or from a font file path. A Font object can also be retrieved directly from other object (such as free text annotation, a text graphics object, etc) in a PDF document. This class also offers some functions to get some basic information from a font.

Member Enumeration Documentation

◆ Charset

Enumeration for font charset.

Values of this enumeration should be used alone.

Enumerator
e_CharsetANSI 

Font charset: ANSI (United States, Western Europe).

e_CharsetDefault 

Font charset: System default, for unknown or mapping purpose.

e_CharsetSymbol 

Font charset: Standard symbols.

e_CharsetShift_JIS 

Font charset: Japanese (Shift-JIS).

e_CharsetHangeul 

Font charset: Korean (Wansung).

e_CharsetGB2312 

Font charset: Simplified Chinese.

e_CharsetChineseBig5 

Font charset: Traditional Chinese.

e_CharsetThai 

Font charset: Thai.

e_CharsetEastEurope 

Font charset: Eastern European.

e_CharsetRussian 

Font charset: Russian.

e_CharsetGreek 

Font charset: Greek.

e_CharsetTurkish 

Font charset: Turkish.

e_CharsetHebrew 

Font charset: Hebrew.

e_CharsetArabic 

Font charset: Arabic.

e_CharsetBaltic 

Font charset: Baltic.

◆ StandardID

Enumeration for standard font ID.

Values of this enumeration should be used alone.

Enumerator
e_StdIDCourier 

Standard font: Courier.

e_StdIDCourierB 

Standard font: Courier-Bold.

e_StdIDCourierBI 

Standard font: Courier-BoldOblique, Bold italic.

e_StdIDCourierI 

Standard font: Courier-Oblique, Italic.

e_StdIDHelvetica 

Standard font: Helvetica.

e_StdIDHelveticaB 

Standard font: Helvetica-Bold.

e_StdIDHelveticaBI 

Standard font: Helvetica-BoldOblique, Bold italic.

e_StdIDHelveticaI 

Standard font: Helvetica-Oblique, Italic.

e_StdIDTimes 

Standard font: Times-Roman.

e_StdIDTimesB 

Standard font: Times-Bold.

e_StdIDTimesBI 

Standard font: Times-BoldItalic.

e_StdIDTimesI 

Standard font: Times-Italic.

e_StdIDSymbol 

Standard font: Symbol.

e_StdIDZapfDingbats 

Standard font: ZapfDingbats.

◆ Styles

Enumeration for font styles.

Values of this enumeration can be used alone or in combination.

Enumerator
e_StyleFixedPitch 

Font style: fixed pitch.

e_StyleSerif 

Font style: serif.

e_StyleSymbolic 

Font style: symbolic.

e_StyleScript 

Font style: script.

e_StyleNonSymbolic 

Font style: non-symbolic.

e_StyleItalic 

Font style: italic.

e_StyleAllCap 

Font style: all cap.

e_StylesSmallCap 

Font style: small cap.

e_StylesBold 

Font style: force bold.

Constructor & Destructor Documentation

◆ Font() [1/4]

foxit::common::Font::Font ( const wchar_t *  name,
uint32  styles,
Charset  charset,
int  weight = 0 
)

Constructor, with given attribute.

This function is to construct font based on system fonts.

Parameters
[in]nameThe PostScript name of the font to be created.
[in]stylesFont styles. Please refer to values starting from e_StyleFixedPitch and this can be one or a combination of these values.
[in]charsetThe charset of the font to be created. Please refer to values starting from Font::e_CharsetANSI and this should be one of these values.
[in]weightOriginal font weight. 0 means unspecified. Default value: 0.

◆ Font() [2/4]

foxit::common::Font::Font ( StandardID  font_id)
explicit

Constructor, by a standard font ID.

Parameters
[in]font_idStandard font ID of the font to be created. Please refer to values starting from Font::e_StdIDCourier and this should be one of these values.

◆ Font() [3/4]

foxit::common::Font::Font ( const char *  font_file_path,
int  face_index,
Charset  charset 
)

Constructor, from a font file.

Parameters
[in]font_file_pathA full path to an existing font file.
[in]face_indexThe zero-based face index. Valid range: from 0 to (face_count-1). Please call the system functions to get the face_count.
[in]charsetThe charset of the font to be created. Please refer to values starting from Font::e_CharsetANSI and this should be one of these values.

◆ Font() [4/4]

foxit::common::Font::Font ( const wchar_t *  font_file_path,
int  face_index,
Charset  charset 
)

Constructor, from a font file.

Parameters
[in]font_file_pathA full path to an existing font file.
[in]face_indexThe zero-based face index. Valid range: from 0 to (face_count-1). Please call the system functions to get the face_count.
[in]charsetThe charset of the font to be created. Please refer to values starting from Font::e_CharsetANSI and this should be one of these values.

Member Function Documentation

◆ Embed()

Font foxit::common::Font::Embed ( pdf::PDFDoc  document)

Embed current font to the specified PDF document.

Parameters
[in]documentA valid PDF document object.
Returns
The embedded font.

◆ GetAscent()

int foxit::common::Font::GetAscent ( ) const

Get the ascent value, in 1/1000 of em size (PDF units).

Returns
The ascent value, in 1/1000 of em size (PDF units).

◆ GetCharBBox()

RectI foxit::common::Font::GetCharBBox ( uint32  unicode) const

Get the bounding box of a character specified by unicode.

Parameters
[in]unicodeA character unicode value.
Returns
The character bounding box.

◆ GetCharWidth()

float foxit::common::Font::GetCharWidth ( uint32  unicode) const

Get the width (in 1/1000 of em size (PDF units)) of a character specified by unicode.

Parameters
[in]unicodeA character unicode value.
Returns
The character width, in 1/1000 of em size (PDF units).

◆ GetDescent()

int foxit::common::Font::GetDescent ( ) const

Get the descent value, in 1/1000 of em size (PDF units).

Returns
The descent value, in 1/1000 of em size (PDF units).

◆ GetName()

WString foxit::common::Font::GetName ( )

Retrieve the face name.

Returns
The face name.

◆ IsBold()

bool foxit::common::Font::IsBold ( ) const

Judge whether current font is bold or not.

Returns
true means current font is bold, while false means not.

◆ IsEmbedded()

bool foxit::common::Font::IsEmbedded ( const pdf::PDFDoc document)

Judge whether current font is embedded in a specified PDF document or not.

Parameters
[in]documentA valid PDF document object.
Returns
true means the font is embedded in the specified PDF document, while false means not.

◆ IsEmpty()

bool foxit::common::Font::IsEmpty ( ) const

Check whether current object is empty or not.

When the current object is empty, that means current object is useless.

Returns
true means current object is empty, while false means not.

◆ IsItalic()

bool foxit::common::Font::IsItalic ( ) const

Judge whether current font object is italic or not.

Returns
true means current font is italic, while false means not.

◆ IsSupportEmbedded()

bool foxit::common::Font::IsSupportEmbedded ( const pdf::PDFDoc document)

Check whether current font is supported to be embedded to the specified PDF document or not.

Parameters
[in]documentA valid PDF document object.
Returns
true means current font is supported to be embedded to the specified PDF document, while false means not.

◆ operator!=()

bool foxit::common::Font::operator!= ( const Font other) const

Not equal operator.

Parameters
[in]otherAnother Font object. This function will check if current object is not equal to this one.
Returns
true means not equal, while false means equal.

◆ operator=()

Font& foxit::common::Font::operator= ( const Font other)

Assign operator.

Parameters
[in]otherAnother Font object, whose value would be assigned to current object.
Returns
Reference to current object itself.

◆ operator==()

bool foxit::common::Font::operator== ( const Font other) const

Equal operator.

Parameters
[in]otherAnother Font object. This function will check if current object is equal to this one.
Returns
true means equal, while false means not equal.

Foxit Software Corporation Logo
@2018 Foxit Software Incorporated. All rights reserved.