THPDFPage.UnicodeTextOut

THPDFPage

 

Boven  Vorige  Volgende

Shows text represented by a Unicode string or buffer

 

Deze procedure is behouden voor achterwaartse compatibiliteit en gebruikt dezelfde actuele TextOut-fontketen. Gebruik deze wanneer bestaande code al WideString- of UTF-16-buffers doorgeeft

 

Delphi-syntaxis:

procedure UnicodeTextOut( X, Y: Single; Angle: Extended; Text: PWORD; TextLength: Integer ); overload;

procedure UnicodeTextOut( X, Y: Single; Angle: Extended; Text: WideString ); overload;

 

Beschrijving:

Deze procedure drukt een tekstregel af die wordt weergegeven door een Unicode-buffer ( Text: PWORD, TextLength: Integer ) of Unicode-string ( Text: WideString ) vanaf punt X, Y met oriëntatie Angle in graden

 

Voor ingebedde Unicode-fonts ververst HotPDF nu de glyphstatus wanneer het font wijzigt, haalt het glyph-ID's op uit het actieve Windows-lettertype en schrijft het bijpassende ToUnicode-gegevens voor de gegenereerde PDF. Dat verbetert de weergave in verschillende readers voor ingebedde fonts zoals Calibri

 

Wanneer het actieve font eerst is geladen met RegisterUnicodeTTF, worden Unicode-tekens uit het aanvullende vlak zoals U+1F600 opgelost via de cmap format 12-gegevens van het font en als één interne CID in de tekststroom van de pagina geschreven. De pagina-uitvoer hergebruikt de geregistreerde Type 0-fontresource, zodat de finalisatie dezelfde /CIDToGIDMap, descendant font /W, /ToUnicode en font-subsetgebruikstatus ververst die ook door AcroForm Unicode-weergavestromen wordt gebruikt

 

Tests\Delphi\FontTest biedt een praktisch vergelijkingsvoorbeeld voor TextOut en validatie van ingebedde fonts

 

Codevoorbeeld

HPDF.FontEmbedding := true;
HPDF.StandardFontEmulation := false;
HPDF.CurrentPage.SetFont( 'Arial Unicode MS', [], 12, 0, False );
HPDF.CurrentPage.UnicodeTextOut( 40, 100, 0, WideString('Unicode output sample') );