Funktion HPDFShapeHeadlessTextOrderedSpan

Formt einen ausgewählten Stil-Span gegen eine komplette physikalische Zeile unter Nutzung absatzabgeleiteter Embedding-Levels, Skripte und visueller Positionen

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 muss jede UTF-16-Unit des kompletten physikalischen Zeilen-Context abdecken; hol sie von HPDFResolveHeadlessTextLineOrder oder HPDFReorderHeadlessTextLine

FirstUnit und UnitCount wählen vollständige Skalare innerhalb der physikalischen Zeile; der echte HarfBuzz-Buffer erhält den umgebenden Zeilentext, während Richtung und Skript aus der aufgelösten Absatzordnung kommen

Zurückgegebene Glyphen-Source-Offsets beziehen sich auf den ausgewählten Stil-Span; Glyphen-IDs, Vorschübe und Offsets nutzen den echten eingebetteten Font und eine Skalierung von 1000 Units pro em

Die Funktion prüft passende Arrays, eindeutige visuelle Skalarränge, Embedding-Levels, Surrogate-Konsistenz, endliche Abstände, Glyphen-Limits und Abbruch; fehlerhafte Ordnung fällt nicht stillschweigend auf isolierte Richtungserkennung zurück

Zeichenabstand greift einmal pro geformtem Cluster, ausgenommen Cluster, die nur Unicode-Richtungssteuerzeichen enthalten; Wortabstand greift bei einem Leerzeichen-Cluster, und Aufrufer behalten ihren originalen logischen Wert und Stil-Text getrennt von der visuellen Glyphenordnung