THPDFPage.UnicodeTextOut

THPDFPage

 

Oben  Zurück  Weiter

Zeigt Text an, der durch eine Unicode-Zeichenfolge oder einen Puffer dargestellt wird

 

Diese Prozedur wird aus Gründen der Abwärtskompatibilität beibehalten und nutzt die aktuelle TextOut-Schriftarten-Pipeline — Verwenden Sie diese, wenn vorhandener Code bereits WideString- oder UTF-16-Puffer übergibt

 

Delphi-Syntax:

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

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

 

Beschreibung:

Diese Prozedur gibt eine Textzeile, die durch einen Unicode-Puffer ( Text: PWORD, TextLength: Integer ) oder eine Unicode-Zeichenfolge ( Text: WideString ) dargestellt wird, ab dem Punkt X, Y mit der Ausrichtung Angle in Grad aus

 

Bei eingebetteten Unicode-Schriftarten aktualisiert HotPDF nun den Glyphenzustand, wenn sich die Schriftart ändert, löst Glyphen-IDs aus der aktiven Windows-Schriftart auf und schreibt passende ToUnicode-Daten für das generierte PDF — Dies verbessert das viewerübergreifende Rendering für eingebettete Schriftarten wie Calibri

 

Wenn die aktive Schriftart zuerst mit RegisterUnicodeTTF geladen wurde, werden Unicode-Zeichen aus ergänzenden Ebenen wie U+1F600 über die cmap-Format-12-Daten der Schriftart aufgelöst und als eine interne CID im Seitentextstrom ausgegeben — Die Seitenausgabe verwendet die registrierte Type-0-Schriftartressource wieder, sodass die Finalisierung dieselbe /CIDToGIDMap, die untergeordnete Schriftart /W, /ToUnicode und den Schriftuntergruppen-Nutzungszustand aktualisiert, der von AcroForm-Unicode-Darstellungsströmen verwendet wird

 

Tests\Delphi\FontTest bietet ein praktisches Vergleichsbeispiel für TextOut und die Validierung eingebetteter Schriftarten

 

Codebeispiel

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