THPDFPage.SetFont

THPDFPage

 

Boven  Vorige  Volgende

Stelt het huidige font in dat door tekstuitvoermethoden wordt gebruikt

 

Delphi-syntaxis:

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

TFontStyles-definitie

Bepaalt of het font normaal, cursief, onderstreept, vet enzovoort is

type

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

  TFontStyles = set of TFontStyle;

Beschrijving:
Gebruik Style om speciale kenmerken toe te voegen aan tekens die het font gebruiken. Style is een set met nul of meer van de volgende waarden:

Value	Meaning

fsBold	Het font is vet
fsItalic	Het font is cursief
fsUnderline	Het font is onderstreept
fsStrikeOut	Het font wordt met een horizontale lijn weergegeven

TFontCharset-definitie

TFontCharset stelt de tekenset van een font voor

type TFontCharSet = 0..255;

Beschrijving:
Elke Windows-lettervorm ondersteunt een of meer tekensets, die aangeven welke tekens met het font kunnen worden geschreven. De meeste fonts die Japanse tekens kunnen weergeven, gebruiken bijvoorbeeld een specifieke multibyte-tekenset
Elk font ondersteunt zijn eigen, unieke set tekensets. Raadpleeg de fontleverancier om te bepalen welke tekensets worden ondersteund
De volgende tabel bevat de vooraf gedefinieerde constanten voor standaardtekensets:

Constant			Value	Beschrijving

ANSI_CHARSET		0	ANSI-tekens
DEFAULT_CHARSET		1	Font wordt uitsluitend gekozen op basis van Name en Size
SYMBOL_CHARSET		2	Standaard symboolset
MAC_CHARSET		77	Macintosh-tekens. Niet beschikbaar op NT 3.51
SHIFTJIS_CHARSET		128	Japanse shift-JIS-tekens
HANGEUL_CHARSET		129	Koreaanse tekens (Wansung)
JOHAB_CHARSET		130	Koreaanse tekens (Johab). Niet beschikbaar op NT 3.51
GB2312_CHARSET		134	Vereenvoudigde Chinese tekens (vasteland China)
CHINESEBIG5_CHARSET	136	Traditionele Chinese tekens (Taiwanees)
GREEK_CHARSET		161	Griekse tekens. Niet beschikbaar op NT 3.51
TURKISH_CHARSET		162	Turkse tekens. Niet beschikbaar op NT 3.51
VIETNAMESE_CHARSET	163	Vietnamese tekens. Niet beschikbaar op NT 3.51
HEBREW_CHARSET		177	Hebreeuwse tekens. Niet beschikbaar op NT 3.51
ARABIC_CHARSET		178	Arabische tekens. Niet beschikbaar op NT 3.51
BALTIC_CHARSET		186	Baltische tekens. Niet beschikbaar op NT 3.51
RUSSIAN_CHARSET		204	Cyrillische tekens. Niet beschikbaar op NT 3.51
THAI_CHARSET		222	Thaise tekens. Niet beschikbaar op NT 3.51
EASTEUROPE_CHARSET	238	Bevat diakritische tekens voor Oost-Europese landen. Niet beschikbaar op NT 3.51
OEM_CHARSET		255	Afhankelijk van de codepage van het besturingssysteem

 

C++-syntaxis:

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

 

Beschrijving:

Methode SetFont stelt het huidige font voor tekstuitvoer in. FontStyle bevat nul of meer stijlvlaggen en ASize bepaalt de fontgrootte

 

Bij het wisselen tussen verschillende fonts zet HotPDF de gecachte Unicode-glyphstatus van het vorige font terug en lost het glyph-ID's en -breedtes voor het actieve font op. Dit is belangrijk voor ingebedde fonts zoals Calibri en andere TrueType-Unicodefonts

 

Schakel voor reproduceerbare uitvoer over verschillende viewers THotPDF.FontEmbedding in en zet THotPDF.StandardFontEmulation uit voordat u SetFont aanroept

 

Wanneer FontEmbedding is ingeschakeld, lost HotPDF de PostScript-naam van het ingebedde TrueType-fontprogramma op en schrijft overeenkomstige PDF-fontnamen. Daardoor blijven de gegevens voor /BaseFont en /FontDescriptor consistent, zelfs wanneer de Windows-lettervormnaam die aan SetFont wordt doorgegeven een alias of vervangende lettervorm is

 

Codevoorbeeld

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.

 

Zie ook: TextOut