DrawShapedText
テキスト
説明
このページでは、PDFlibPas の「テキスト」トピックに属する DrawShapedText を説明します。API 名、パラメーター、クラス名、ファイル名、リテラルは Delphi ライブラリおよび DLL エントリポイントに表示されるとおりに保持しています
関数を呼び出す前に、構文、パラメーター、戻り値を確認してください
構文
Delphi
Function TPDFlib.DrawShapedText(XPos, YPos: Double; Const FontName: WideString; Size: Double; Const Text: WideString; Options: Integer): Integer;
パラメーター
XPos/YPos はページ単位でテキストを配置します。FontName はインストール済みのフォントフェイス名です(例: Arial)。Size はポイント単位のテキストサイズです。Text はシェーピングして描画する文字列です。Options のビット 0 は右から左へのベース段落方向を選択します。アラビア語またはヘブライ語のテキストの場合に設定してください
戻り値
成功時は 1 を返します。シェーピングエンジンが利用できない場合、フォントフェイスがインストールされていない場合、または Text が空の場合は 0 を返します
備考
テキストは描画前にシステムシェーピングエンジンでシェーピングされます。そのため、アラビア語の文字は語頭・語中・語末・独立の正しい形になり、ラム・アレフなどの必須合字が適用され、右から左へのランが正しい視覚的順序で出力されます。シェーピングされたグリフは、グリフインデックスを通じてコンパニオンの Type0(Identity-H)フォントで書き込まれます。これにより、文字コードを持たない形でも正しくレンダリングされます。コンパニオンフォントはフェイスごとに 1 つ作成され、同じ文書内の後続の呼び出しで再利用されます。文書が保存されると、埋め込みフォントプログラムは文書で使用されるグリフのみにサブセット化され、実際のグリフ幅と ToUnicode マップが付与されます。これにより、出力からコピーまたは抽出されたテキストは合字を含む元の文字列を返します。位置決めは正確です。シェーピングエンジンからの各グリフ送りがコンテンツストリームに書き込まれるため、印刷レイアウトは GetShapedTextWidth によるシェーピング測定値と一致します