HotPDF Developer Reference
Delphi and C++Builder PDF component help
|
THPDFPage.SetFont
|
Top Previous Next |
|
Sets the current font used by text output methods.
Delphi syntax: procedure SetFont ( FontName: AnsiString; FontStyle: TFontStyles; ASize: Single; FontCharset: TFontCharset = DEFAULT_CHARSET; IsVertiacal: Boolean); TFontStyles DefinitionDetermines whether the font is normal, italic, underlined, bold, and so on. type TFontStyle = (fsBold, fsItalic, fsUnderline, fsStrikeOut); TFontStyles = set of TFontStyle; Description: Use Style to add special characteristics to characters that use the font. Style is a set containing zero or more values from the following: Value Meaning fsBold The font is boldfaced. fsItalic The font is italicized. fsUnderline The font is underlined. fsStrikeOut The font is displayed with a horizontal line through it. TFontCharset DefinitionTFontCharset represents the character set of a font. type TFontCharSet = 0..255; Description: Each Windows typeface supports one or more character sets, which indicate what characters can be written using the font. For example, most fonts that can represent japanese characters use a particular multi-byte character set. Each font supports its own, unique set of character sets. Check with the font vendor to determine which character sets are supported. The following table lists the predefined constants provided for standard character sets: Constant Value Description ANSI_CHARSET 0 ANSI characters. DEFAULT_CHARSET 1 Font is chosen based solely on Name and Size. SYMBOL_CHARSET 2 Standard symbol set. MAC_CHARSET 77 Macintosh characters. Not available on NT 3.51. SHIFTJIS_CHARSET 128 Japanese shift-JIS characters. HANGEUL_CHARSET 129 Korean characters (Wansung). JOHAB_CHARSET 130 Korean characters (Johab). Not available on NT 3.51 GB2312_CHARSET 134 Simplified Chinese characters (mainland china). CHINESEBIG5_CHARSET 136 Traditional Chinese characters (Taiwanese). GREEK_CHARSET 161 Greek characters. Not available on NT 3.51. TURKISH_CHARSET 162 Turkish characters. Not available on NT 3.51 VIETNAMESE_CHARSET 163 Vietnamese characters. Not available on NT 3.51. HEBREW_CHARSET 177 Hebrew characters. Not available on NT 3.51 ARABIC_CHARSET 178 Arabic characters. Not available on NT 3.51 BALTIC_CHARSET 186 Baltic characters. Not available on NT 3.51. RUSSIAN_CHARSET 204 Cyrillic characters. Not available on NT 3.51. THAI_CHARSET 222 Thai characters. Not available on NT 3.51 EASTEUROPE_CHARSET 238 Includes diacritical marks for eastern european countries. Not available on NT 3.51. OEM_CHARSET 255 Depends on the codepage of the operating system.
C++ syntax: void __fastcall SetFont ( AnsiString FontName, Graphics::TFontStyles FontStyle, float ASize, Graphics::TFontCharset FontCharset; IsVertiacal: Boolean);
Description: Method SetFont sets the current font for text output. FontStyle contains zero or more style flags and ASize defines the font size.
When switching between different fonts, HotPDF resets the cached Unicode glyph state for the previous font and resolves glyph IDs and widths for the active font. This is important for embedded fonts such as Calibri and other TrueType Unicode fonts.
For repeatable output across viewers, enable THotPDF.FontEmbedding and disable THotPDF.StandardFontEmulation before calling SetFont.
When FontEmbedding is enabled, HotPDF resolves the embedded TrueType font program's PostScript name and writes matching PDF font names. This keeps /BaseFont and /FontDescriptor data consistent even when the Windows face name passed to SetFont is an alias or substituted face.
Code Example
See also: TextOut |