THPDFPage.SetFont

THPDFPage

 

Sus  Anterior  Următor

Stabilește fontul curent folosit de metodele de ieșire a textului

 

Delphi syntax:

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

Definiția TFontStyles

Determină dacă fontul este normal, italic, subliniat, aldin și așa mai departe

type

  TFontStyle = (fsBold, fsItalic, fsUnderline, fsStrikeOut);

  TFontStyles = set of TFontStyle;

Descriere:
Folosește Style pentru a adăuga caracteristici speciale caracterelor care folosesc fontul. Style este un set care conține zero sau mai multe valori dintre următoarele:

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.

Definiția TFontCharset

TFontCharset reprezintă setul de caractere al unui font

type TFontCharSet = 0..255;

Descriere:
Fiecare tip de font Windows acceptă unul sau mai multe seturi de caractere, care indică ce caractere pot fi scrise folosind fontul. De exemplu, majoritatea fonturilor care pot reprezenta caractere japoneze folosesc un anumit set de caractere multibyte
Fiecare font are propriul său set unic de seturi de caractere. Verifică la furnizorul fontului pentru a stabili ce seturi de caractere sunt acceptate
Tabelul următor listează constantele predefinite oferite pentru seturile de caractere standard:

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);

 

Descriere:

Metoda SetFont stabilește fontul curent pentru ieșirea textului. FontStyle conține zero sau mai multe steaguri de stil, iar ASize definește dimensiunea fontului

 

La comutarea între fonturi diferite, HotPDF resetează starea glifelor Unicode memorată în cache pentru fontul precedent și rezolvă ID-urile și lățimile glifelor pentru fontul activ. Acest lucru este important pentru fonturi încorporate precum Calibri și alte fonturi Unicode TrueType

 

Pentru o ieșire repetabilă în toate cititoarele, activează THotPDF.FontEmbedding și dezactivează THotPDF.StandardFontEmulation înainte de a apela SetFont

 

Când FontEmbedding este activat, HotPDF rezolvă numele PostScript al programului de font TrueType încorporat și scrie nume de font PDF corespunzătoare. Astfel, datele /BaseFont și /FontDescriptor rămân consecvente chiar și atunci când numele feței Windows transmis lui SetFont este un alias sau o față substituită

 

Exemplu de cod

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.

 

See also: TextOut