THPDFPage.SetFont

THPDFPage

 

Tetejére Előző Következő

Beállítja a szövegkimeneti metódusok által használt aktuális betűtípust

 

Delphi szintaxis:

procedure SetFont ( FontName: AnsiString; FontStyle: TFontStyles; ASize: Single; FontCharset: TFontCharset = DEFAULT_CHARSET; IsVertiacal: Boolean);

TFontStyles Definition

Determines 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 Definition

TFontCharset 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++ szintaxis:

void __fastcall SetFont ( AnsiString FontName, Graphics::TFontStyles FontStyle, float ASize, Graphics::TFontCharset FontCharset; IsVertiacal: Boolean);

 

Leírás:

A SetFont metódus beállítja az aktuális betűtípust a szövegkimenethez. A FontStyle nulla vagy több stílusjelzőt tartalmaz, az ASize pedig a betűméretet határozza meg

 

A különböző betűtípusok közötti váltáskor a HotPDF visszaállítja az előző betűtípus gyorsítótárazott Unicode glif állapotát, és feloldja az aktív betűtípus glif azonosítóit és szélességeit. Ez fontos a beágyazott betűtípusok, például a Calibri és más TrueType Unicode betűtípusok esetében

 

A különböző megjelenítőkön történő megismételhető kimenet érdekében engedélyezze a THotPDF.FontEmbedding tulajdonságot, és tiltsa le a THotPDF.StandardFontEmulation tulajdonságot a SetFont meghívása előtt

 

Ha a FontEmbedding engedélyezve van, a HotPDF feloldja a beágyazott TrueType betűtípus-program PostScript nevét, és a megfelelő PDF betűtípusneveket írja le. Ez konzisztensen tartja a /BaseFont és /FontDescriptor adatokat még akkor is, ha a SetFont metódusnak átadott Windows betűtípusnév egy alias vagy helyettesített betűtípus

 

Code Example

program TextOut;
{$APPTYPE CONSOLE}
uses
    SysUtils, Graphics, Classes, HPDFDoc;

var
    HPDF: THotPDF;

begin
    HPDF := THotPDF.Create ( nil ) ;
    try
        HPDF.AutoLaunch := true;
        HPDF.FileName := 'TextOut.pdf';
        HPDF.FontEmbedding := true;
        HPDF.StandardFontEmulation := false;
        HPDF.BeginDoc;
        HPDF.CurrentPage.SetFont('Calibri', [fsBold], 24);
        HPDF.CurrentPage.TextOut(10, 10, 0, 'Embedded font output');
        HPDF.EndDoc;
    finally
        HPDF.Free;
    end;
end.

 

Lásd még: TextOut