HPDFResolveHeadlessTextOrder

function HPDFResolveHeadlessTextOrder(const Text: UnicodeString;
  MaximumUnits: Integer; CancellationToken: THPDFCancellationToken;
  ParagraphDirection: THPDFHeadlessTextDirection = htdAuto): THPDFHeadlessTextOrder;

透過原生 FriBidi 與 HarfBuzz 程式庫,解析一個實際 Unicode 段落的邏輯對視覺 scalar 映射、嵌入層級與 script 項目

MaximumUnits 是不超過 131070 的正值 UTF-16 預算;格式錯誤的 surrogate 以及 CR、LF、NEL、LS 或 PS 段落分隔符會失敗,空段落回傳空陣列

每個陣列有 Length(Text) 個項目;增補 scalar 的兩個 UTF-16 unit 共用其視覺 scalar 位置、嵌入層級與 script 標籤

VisualPositions 含零基視覺 scalar 位置,Levels 含 FriBidi 嵌入層級,Scripts 含以 Cardinal 表示的 HarfBuzz script 標籤

BaseRightToLeft 記錄解析後的段落方向;common 與 inherited script 值會取得相鄰段落 script 上下文,供樣式項目切分使用

Unicode 解碼、script 分類與項目映射期間都會檢查取消;換行間要保留原始方向時,請以明確的 ParagraphDirection 呼叫

參閱 THPDFHeadlessTextOrder、THPDFHeadlessTextDirection 與 HPDFShapeHeadlessTextSpan