THPDFPage.UnicodeTextOut

THPDFPage

 

Вверх  Назад  Далее

Выводит текст, заданный Unicode-строкой или буфером.

 

Процедура сохранена для обратной совместимости и использует текущий конвейер шрифтов TextOut. Используйте её, когда существующий код уже передаёт WideString или буферы UTF-16.

 

Синтаксис Delphi:

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

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

 

Описание:

Процедура печатает строку текста, заданную Unicode-буфером ( Text: PWORD, TextLength: Integer ) или Unicode-строкой ( Text: WideString ) из точки X, Y с ориентацией Angle в градусах.

 

Для встроенных Unicode-шрифтов HotPDF теперь обновляет состояние глифов при смене шрифта, разрешает ID глифов из активного шрифта Windows и записывает соответствующие данные ToUnicode для создаваемого PDF. Это улучшает отображение в разных ридерах для встроенных шрифтов вроде Calibri.

 

Если активный шрифт сначала загружен через RegisterUnicodeTTF, Unicode-символы дополнительной плоскости вроде U+1F600 разрешаются через данные cmap format 12 шрифта и записываются как один внутренний CID в текстовый поток страницы. Вывод страницы переиспользует зарегистрированный ресурс шрифта Type 0, поэтому финализация обновляет те же /CIDToGIDMap, /W, /ToUnicode шрифта-потомка и состояние использования шрифтового подмножества, применяемые потоками внешнего вида AcroForm Unicode.

 

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

 

Пример кода

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