THPDFPage.RtLTextOut メソッド

 

THPDFPage.RtLTextOut

THPDFPage

 

トップへ  前へ  次へ

適切な双方向テキスト処理を使用して、右から左(RTL)へのテキストを印刷します。

 

Delphi 構文:

procedure RtLTextOut ( X, Y: Single; Angle: Extended; Text: PWORD);

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

 

C++ 構文:

void __fastcall RtLTextOut ( float X, float Y, Extended Angle, PWORD Text);

void __fastcall RtLTextOut ( float X, float Y, Extended Angle, WideString Text);

 

説明:

このプロシージャは、適切な双方向テキスト処理を使用して、右から左(RTL)へのテキストを印刷します。アラビア語やヘブライ語などの言語をサポートするためにセグメントベースの処理を適用します。RTL セグメントは元の順序を維持しますが、LTR セグメントは正しく表示されるように内部的に反転されます。PDF ドキュメントの読み取り方向は自動的に RightToLeft に設定されます。

 

主な機能:

• セグメントベースの双方向テキスト処理

• PDFの方向を RightToLeft に自動設定

• RTL/LTR が混在するコンテンツのサポート

• PWORD および WideString パラメーターとの互換性

• 適切な Unicode 文字の処理

 

コード例

// Arabic text example
var
  ArabicText: WideString;
begin
  ArabicText := 'مرحبا بالعالم';
  HPDF.CurrentPage.SetFont( 'Arial Unicode MS', [], 12 );
  HPDF.CurrentPage.RtLTextOut( 150, 200, 0, ArabicText );
end;

// Mixed RTL/LTR text example
var
  MixedText: WideString;
begin
  MixedText := 'Hello مرحبا World';
  HPDF.CurrentPage.SetFont( 'Arial Unicode MS', [], 12 );
  HPDF.CurrentPage.RtLTextOut( 150, 180, 0, MixedText );
end;

 

技術ノート:

• RtLTextOut はセグメントベースの処理を適用します。RTL セグメントは元の順序を維持し、LTR セグメントは内部的に反転されます

• ビューアーで適切に表示されるように、PDF の読み取り方向は自動的に RightToLeft に設定されます

• 最大限の互換性を実現するために、PWORD および WideString パラメーターの両方をサポートします

• 適切な RTL 文字のレンダリングには Unicode 対応フォントが必要です

 

See also: SetFont, UnicodeTextOut, TextOut.