THPDFPage.SetFont

THPDFPage

 

Haut  Précédent  Suivant

Définit la police courante utilisée par les méthodes de sortie de texte

 

Syntaxe Delphi :

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

Définition de TFontStyles

Détermine si la police est normale, italique, soulignée, grasse, etc

type

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

  TFontStyles = set of TFontStyle;

Description :
Utilisez Style pour ajouter des caractéristiques spéciales aux caractères qui utilisent la police. Style est un ensemble contenant zéro ou plusieurs des valeurs suivantes :

Valeur	Signification

fsBold	La police est en gras
fsItalic	La police est en italique
fsUnderline	La police est soulignée
fsStrikeOut	La police est barrée par une ligne horizontale

Définition de TFontCharset

TFontCharset représente l'ensemble de caractères d'une police

type TFontCharSet = 0..255;

Description :
Chaque police Windows prend en charge un ou plusieurs ensembles de caractères, qui indiquent quels caractères peuvent être écrits avec la police. Par exemple, la plupart des polices capables de représenter des caractères japonais utilisent un ensemble de caractères multioctets particulier
Chaque police prend en charge son propre ensemble unique d'ensembles de caractères. Vérifiez auprès de l'éditeur de la police quels ensembles de caractères sont pris en charge
Le tableau suivant répertorie les constantes prédéfinies fournies pour les ensembles de caractères standard :

Constant			Value	Description

ANSI_CHARSET		0	Caractères ANSI
DEFAULT_CHARSET		1	La police est choisie uniquement à partir du nom et de la taille
SYMBOL_CHARSET		2	Ensemble de symboles standard
MAC_CHARSET		77	Caractères Macintosh. Non disponible sous NT 3.51
SHIFTJIS_CHARSET		128	Caractères japonais shift-JIS
HANGEUL_CHARSET		129	Caractères coréens (Wansung)
JOHAB_CHARSET		130	Caractères coréens (Johab). Non disponible sous NT 3.51
GB2312_CHARSET		134	Caractères chinois simplifiés (Chine continentale)
CHINESEBIG5_CHARSET	136	Caractères chinois traditionnels (Taïwan)
GREEK_CHARSET		161	Caractères grecs. Non disponible sous NT 3.51
TURKISH_CHARSET		162	Caractères turcs. Non disponible sous NT 3.51
VIETNAMESE_CHARSET	163	Caractères vietnamiens. Non disponible sous NT 3.51
HEBREW_CHARSET		177	Caractères hébreux. Non disponible sous NT 3.51
ARABIC_CHARSET		178	Caractères arabes. Non disponible sous NT 3.51
BALTIC_CHARSET		186	Caractères baltes. Non disponible sous NT 3.51
RUSSIAN_CHARSET		204	Caractères cyrilliques. Non disponible sous NT 3.51
THAI_CHARSET		222	Caractères thaïs. Non disponible sous NT 3.51
EASTEUROPE_CHARSET	238	Comprend des marques diacritiques pour les pays d'Europe de l'Est. Non disponible sous NT 3.51
OEM_CHARSET		255	Dépend de la page de code du système d'exploitation

 

Syntaxe C++ :

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

 

Description :

La méthode SetFont définit la police courante pour la sortie de texte. FontStyle contient zéro ou plusieurs indicateurs de style et ASize définit la taille de la police

 

Lorsque l'on passe d'une police à une autre, HotPDF réinitialise l'état mis en cache des glyphes Unicode pour la police précédente et résout les identifiants et largeurs des glyphes pour la police active. C'est important pour les polices incorporées comme Calibri et les autres polices TrueType Unicode

 

Pour obtenir un rendu reproductible dans les différents lecteurs, activez THotPDF.FontEmbedding et désactivez THotPDF.StandardFontEmulation avant d'appeler SetFont

 

Lorsque FontEmbedding est activé, HotPDF résout le nom PostScript du programme de police TrueType incorporé et écrit des noms de police PDF correspondants. Cela maintient la cohérence des données /BaseFont et /FontDescriptor même lorsque le nom de fonte Windows transmis à SetFont est un alias ou une fonte substituée

 

Exemple de code

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.

 

Voir aussi: TextOut