HPDFShapeHeadlessTextOrderedSpan 函数

基于段落派生的嵌入层级、script 和视觉位置,在完整物理行上对选定的样式区间做 shaping

function HPDFShapeHeadlessTextOrderedSpan(const Context: UnicodeString;
  FirstUnit, UnitCount: Integer; const Order: THPDFHeadlessTextOrder;
  const FontBytes: SysUtils.TBytes; MaximumGlyphs: Integer;
  CancellationToken: THPDFCancellationToken;
  CharacterAdvance: Double = 0; WordAdvance: Double = 0): THPDFHeadlessShapedGlyphs;

Order 必须覆盖完整物理行 Context 的每个 UTF-16 单元;从 HPDFResolveHeadlessTextLineOrder 或 HPDFReorderHeadlessTextLine 获取

FirstUnit 与 UnitCount 在物理行内选择完整的 scalar;真实的 HarfBuzz buffer 接收周围的行文本,方向和 script 来自已解析的段落行序

返回的 glyph 源偏移相对于选定的样式区间;glyph ID、步进和偏移使用真实内嵌字体,比例尺为每 em 1000 单位

函数校验数组匹配、scalar 视觉序唯一性、嵌入层级、代理对一致性、有限间距、glyph 上限和取消;畸形的行序不会静默回退到孤立的方向检测

字符间距对每个 shaped 簇应用一次,仅含 Unicode 方向控制符的簇除外;词距应用于空格簇;调用方把原始逻辑值和样式文本与视觉 glyph 顺序分开保留