THPDFPage.UnicodeTextOut

THPDFPage

 

Sus  Anterior  Următor

Afișează text reprezentat de un șir sau de un buffer Unicode

 

Această procedură este păstrată pentru compatibilitate retroactivă și folosește aceeași conductă de fonturi ca TextOut. Folosiți-o când codul existent transmite deja WideString sau buffere UTF-16

 

Sintaxă Delphi:

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

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

 

Descriere:

Această procedură tipărește o linie de text reprezentată de un buffer Unicode ( Text: PWORD, TextLength: Integer ) sau de un șir Unicode ( Text: WideString ) din punctul X, Y folosind orientarea Angle în grade

 

Pentru fonturile Unicode încorporate, HotPDF reîmprospătează acum starea glifelor când se schimbă fontul, rezolvă ID-urile glifelor din fontul Windows activ și scrie date ToUnicode potrivite pentru PDF-ul generat. Acest lucru îmbunătățește redarea între vizualizatoare pentru fonturi încorporate precum Calibri

 

Când fontul activ a fost încărcat mai întâi cu RegisterUnicodeTTF, caracterele Unicode din planul suplimentar, cum ar fi U+1F600, sunt rezolvate prin datele cmap format 12 ale fontului și emise ca un singur CID intern în fluxul de text al paginii. Ieșirea paginii reutilizează resursa de font Type 0 înregistrată, astfel că finalizarea reîmprospătează aceeași stare de utilizare pentru /CIDToGIDMap, fontul descendent /W, /ToUnicode și subsetul de font folosit de fluxurile de apariție Unicode AcroForm

 

Tests\Delphi\FontTest oferă un exemplu practic de comparație pentru TextOut și validarea fonturilor încorporate

 

Exemplu de cod

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