HPDFShapeHeadlessTextOrderedSpan Function

Shape-t een geselecteerde style-span tegen een complete fysieke regel met paragraph-derived embedding levels, scripts en visuele posities

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 moet elke UTF-16-unit van de complete fysieke-regel-Context dekken; haal hem op via HPDFResolveHeadlessTextLineOrder of HPDFReorderHeadlessTextLine

FirstUnit en UnitCount selecteren complete scalars binnen de fysieke regel; de echte HarfBuzz-buffer ontvangt omringende regeltekst terwijl richting en script uit de opgeloste paragraph order komen

Teruggegeven glyph source-offsets zijn relatief ten opzichte van de geselecteerde style-span; glyph-ID's, advances en offsets gebruiken het echte embedded font en een schaal van 1000 units per em

De functie valideert matchende arrays, unieke scalar-visuele rangen, embedding levels, surrogate-consistentie, eindige spacing, glyph-limieten en annulering; misvormde order valt niet stilletjes terug op geïsoleerde richtingsdetectie

Character spacing wordt één keer per geshaped cluster toegepast, behalve voor een cluster dat alleen Unicode-directional controls bevat; word spacing geldt voor een space-cluster, en aanroepers houden hun oorspronkelijke logische waarde en style-tekst apart van de visuele glyph-volgorde