HPDFResolveHeadlessTextLineOrder Function
1 つの完全な論理段落の埋め込みレベルを解決し、選択された物理行を並べ替えます。より前の行で始まった方向埋め込み・上書き・分離・対括弧のコンテキストは保持されます
function HPDFResolveHeadlessTextLineOrder(const Paragraph: UnicodeString;
FirstUnit, UnitCount, MaximumUnits: Integer;
CancellationToken: THPDFCancellationToken;
ParagraphDirection: THPDFHeadlessTextDirection = htdAuto): THPDFHeadlessTextOrder;
FirstUnit は 0 起点の UTF-16 オフセット、UnitCount は行セパレータ・段落セパレータを除く物理行の長さです。どちらの境界も完全な Unicode スカラーを含まなければなりません
返される配列はその物理行だけを記述し、BaseRightToLeft は完全な段落を記述します。補助スカラーは両方の UTF-16 ユニットにわたって視覚ランク・レベル・スクリプトを共有します
関数は、設定されたネイティブ FriBidi ライブラリ経由で、段落の埋め込み解決、続く物理行の空白リセットと視覚並べ替えを適用します。論理テキストは保持され、グリフのシェーピングやミラー化は行いません
MaximumUnits は正の値で最大 131070 です。完全な段落がこのバジェットに収まり、有効な Unicode を含み、行セパレータを含まない必要があります
同じ段落から多数の行を処理する場合は、HPDFResolveHeadlessTextOrder を 1 回だけ解決し、HPDFReorderHeadlessTextLine を使うことで段落の反復処理を避けられます
各物理行と返された順序をHPDFShapeHeadlessTextOrderedSpan に渡すと、ネイティブな文脈依存 OpenType シェーピングが行われます