THPDFPage.UnicodeTextOut

THPDFPage

 

Κορυφή  Προηγούμενο  Επόμενο

Shows text represented by a Unicode string or buffer.

 

This procedure is retained for backward compatibility and shares the current TextOut font pipeline. Use it when existing code already passes WideString or UTF-16 buffers.

 

Delphi syntax:

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

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

 

Description:

This procedure prints a text line represented by a Unicode buffer ( Text: PWORD, TextLength: Integer ) or Unicode string ( Text: WideString ) from point X, Y using orientation Angle in degrees.

 

Για embedded Unicode fonts, το HotPDF πλέον ανανεώνει το glyph state όταν αλλάζει η font, επιλύει glyph IDs από την active Windows font και γράφει matching ToUnicode data για το generated PDF. Αυτό βελτιώνει το cross-viewer rendering για embedded fonts όπως Calibri

 

Όταν η active font έχει πρώτα φορτωθεί με RegisterUnicodeTTF, supplementary-plane Unicode characters όπως U+1F600 επιλύονται μέσω των cmap format 12 data της font και εκπέμπονται ως ένα internal CID στο page text stream. Το page output επαναχρησιμοποιεί το registered Type 0 font resource, οπότε το finalization ανανεώνει τα ίδια /CIDToGIDMap, descendant font /W, /ToUnicode και font-subset usage state που χρησιμοποιούνται από AcroForm Unicode appearance streams

 

Tests\Delphi\FontTest provides a practical comparison sample for TextOut and embedded font validation.

 

Code Example

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