HPDFShapeHeadlessTextSpan

function HPDFShapeHeadlessTextSpan(const Context: UnicodeString;
  FirstUnit, UnitCount: Integer; const FontBytes: SysUtils.TBytes;
  MaximumGlyphs: Integer; CancellationToken: THPDFCancellationToken;
  CharacterAdvance: Double = 0; WordAdvance: Double = 0;
  ParagraphDirection: THPDFHeadlessTextDirection = htdAuto): THPDFHeadlessShapedGlyphs;

Formt nur einen ausgewählten UTF-16-Span mit dem tatsächlichen OpenType-Font des Aufrufers und behält dabei den kompletten umgebenden Absatz als HarfBuzz-Pre-Kontext und Post-Kontext

FirstUnit ist ein nullbasierter UTF-16-Offset und UnitCount eine UTF-16-Länge; keine der Grenzen darf ein Surrogatpaar zerschneiden, und ein Span der Länge null liefert keine Glyphen

FriBidi löst die Embedding-Levels über den kompletten Absatz auf; HarfBuzz erhält das aufgelöste Skript und formt ausgewählte Items innerhalb jedes visuellen Runs, wobei arabische Verbindungsformen und gespiegelte Interpunktion erhalten bleiben

Zurückgegebene SourceOffset-Werte beziehen sich auf den ausgewählten Span, UnicodeText bewahrt jeden tatsächlich ausgewählten Cluster, und Glyphen-Vorschübe und -Offsets nutzen 1000er-Font-Koordinaten

CharacterAdvance greift einmal pro geformtem Cluster, ausgenommen Cluster, die nur Unicode-Richtungssteuerzeichen enthalten; WordAdvance greift bei einem U+0020-Cluster, und beide müssen endlich sein und dieselben Koordinaten wie Advance verwenden

ParagraphDirection darf eine bestehende Links-nach-rechts- oder Rechts-nach-links-Ausrichtung des Absatzes bewahren, wenn eine physikalisch umbrochene Zeile geformt wird, deren erstes starkes Zeichen vom Originalabsatz abweicht

Die bestehenden Input- und Glyphen-Budgets, Font-Abdeckungsprüfungen, das Cancellation Token und die Anforderungen an native Runtime-Abhängigkeiten gelten auch für diese Funktion

Ein teilweiser Span behält den Verbindungskontext, positioniert aber ein anders stilisiertes kombinierendes Zeichen nicht unabhängig gegen eine Basis-Glyphe aus einem anderen Font; nutze volles Cluster-Shaping, wenn ein Font den gesamten Cluster abdeckt

Siehe HPDFShapeHeadlessText, HPDFResolveHeadlessTextOrder und kontextuelle Rich-Text-Appearances