THPDFPage.UnicodeTextOut

THPDFPage

 

Topo  Anterior  Próxima

Exibe texto representado por uma string ou buffer Unicode.

 

Este procedimento é mantido por compatibilidade retroativa e compartilha o pipeline de fontes atual do TextOut. Use-o quando o código existente já passa buffers WideString ou UTF-16.

 

Sintaxe Delphi:

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

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

 

Description:

Este procedimento imprime uma linha de texto representado por um buffer Unicode ( Text: PWORD, TextLength: Integer ) ou string Unicode ( Text: WideString ) do ponto X, Y usando a orientação Angle em graus.

 

Para fontes Unicode embutidas, o HotPDF agora renova o estado de glifos quando a fonte muda, resolve IDs de glifos a partir da fonte Windows ativa e grava dados ToUnicode correspondentes para o PDF gerado. Isso melhora a renderização entre viewers para fontes embutidas como Calibri.

 

Quando a fonte ativa foi carregada primeiro com RegisterUnicodeTTF, caracteres Unicode do plano suplementar como U+1F600 são resolvidos pelos dados de cmap format 12 da fonte e emitidos como um CID interno no stream de texto da página. A saída da página reutiliza o recurso de fonte Type 0 registrado, de modo que a finalização renova o mesmo /CIDToGIDMap, a fonte descendente /W, o /ToUnicode e o estado de uso de subset de fontes usados pelos appearance streams Unicode do AcroForm.

 

Tests\Delphi\FontTest fornece uma amostra prática de comparação para TextOut e validação de fontes embutidas.

 

Exemplo de código

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