THPDFPage.SetFont

THPDFPage

 

Överst  Föregående  Nästa

Anger det aktuella teckensnittet som används av textutmatningsmetoder

 

Delphi-syntax

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

Definition av TFontStyles

Avgör om teckensnittet är normalt, kursivt, understruket, fetstilt och så vidare

type

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

  TFontStyles = set of TFontStyle;

Beskrivning:
Använd Style för att lägga till särskilda egenskaper på tecken som använder teckensnittet. Style är en mängd som innehåller noll eller fler värden från följande:

Värde	Betydelse

fsBold	Teckensnittet är fetstilt
fsItalic	Teckensnittet är kursivt
fsUnderline	Teckensnittet är understruket
fsStrikeOut	Teckensnittet visas med en horisontell linje genom sig

Definition av TFontCharset

TFontCharset representerar teckenuppsättningen för ett teckensnitt

type TFontCharSet = 0..255;

Beskrivning:
Varje Windows-typsnitt stöder en eller flera teckenuppsättningar, som anger vilka tecken som kan skrivas med teckensnittet. Exempelvis använder de flesta teckensnitt som kan representera japanska tecken en särskild flerbyteteckenuppsättning
Varje teckensnitt stöder sin egen unika uppsättning teckenuppsättningar. Kontrollera med teckensnittsleverantören vilka teckenuppsättningar som stöds
Följande tabell listar de fördefinierade konstanter som tillhandahålls för standardteckenuppsättningar:

Konstant			Värde	Beskrivning

ANSI_CHARSET		0	ANSI-tecken
DEFAULT_CHARSET		1	Teckensnitt väljs enbart utifrån Name och Size
SYMBOL_CHARSET		2	Standardsymboluppsättning
MAC_CHARSET		77	Macintosh-tecken. Inte tillgängligt på NT 3.51
SHIFTJIS_CHARSET		128	Japanska shift-JIS-tecken
HANGEUL_CHARSET		129	Koreanska tecken (Wansung)
JOHAB_CHARSET		130	Koreanska tecken (Johab). Inte tillgängligt på NT 3.51
GB2312_CHARSET		134	Förenklade kinesiska tecken (fastlandskina)
CHINESEBIG5_CHARSET	136	Traditionella kinesiska tecken (Taiwan)
GREEK_CHARSET		161	Grekiska tecken. Inte tillgängligt på NT 3.51
TURKISH_CHARSET		162	Turkiska tecken. Inte tillgängligt på NT 3.51
VIETNAMESE_CHARSET	163	Vietnamesiska tecken. Inte tillgängligt på NT 3.51
HEBREW_CHARSET		177	Hebreiska tecken. Inte tillgängligt på NT 3.51
ARABIC_CHARSET		178	Arabiska tecken. Inte tillgängligt på NT 3.51
BALTIC_CHARSET		186	Baltiska tecken. Inte tillgängligt på NT 3.51
RUSSIAN_CHARSET		204	Kyrilliska tecken. Inte tillgängligt på NT 3.51
THAI_CHARSET		222	Thailändska tecken. Inte tillgängligt på NT 3.51
EASTEUROPE_CHARSET	238	Innehåller diakritiska tecken för östeuropeiska länder. Inte tillgängligt på NT 3.51
OEM_CHARSET		255	Beror på operativsystemets kodsida

 

C++-syntax:

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

 

Beskrivning

Metoden SetFont anger det aktuella teckensnittet för textutmatning. FontStyle innehåller noll eller flera stilflaggor och ASize anger teckensnittsstorleken

 

När HotPDF växlar mellan olika teckensnitt återställer det det cachade Unicode-glyftillståndet för det föregående teckensnittet och löser glyph ID och bredder för det aktiva teckensnittet. Detta är viktigt för inbäddade teckensnitt som Calibri och andra TrueType Unicode-teckensnitt

 

För repeterbar utdata mellan läsare, aktivera THotPDF.FontEmbedding och inaktivera THotPDF.StandardFontEmulation innan SetFont anropas

 

När FontEmbedding är aktiverat löser HotPDF PostScript-namnet för det inbäddade TrueType-teckensnittsprogrammet och skriver matchande PDF-teckensnittsnamn. Detta håller /BaseFont- och /FontDescriptor-data konsekventa även när Windows-typsnittsnamnet som skickas till SetFont är ett alias eller ett ersatt typsnitt

 

Kodexempel

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.

 

Se även: TextOut