HPDFShapeHeadlessTextStyledSpan

function HPDFShapeHeadlessTextStyledSpan(const Context: UnicodeString;
  FirstUnit, UnitCount: Integer; const Order: THPDFHeadlessTextOrder;
  const FontBytes: SysUtils.TBytes; MaximumGlyphs: Integer;
  CancellationToken: THPDFCancellationToken;
  CharacterAdvance, WordAdvance: Double;
  CSSLetterSpacing, CSSWordSpacing: Boolean): THPDFHeadlessShapedGlyphs;

Deklarerad i HPDFHeadlessShaping; funktionen formar ett UTF-16-intervall med sin fullständiga omgivande kontext och tidigare lösta visuell ordning, med den tillhandahållna HarfBuzz- och FriBidi-runtimen och typsnittsbytesen

FirstUnit är en nollbaserad UTF-16-offset och UnitCount väljer det begärda intervallet; anropare måste tillhandahålla kompatibel orderdata och en positiv MaximumGlyphs-budget

CharacterAdvance och WordAdvance använder normaliserade advances med 1000 typsnittsenheter i stället för PDF-punkter; konvertera punktavstånd med points * 1000 / fontSize före anropet

Råa advances måste vara ändliga och ha absolutvärden på högst 1000000000000000, vilket tillåter den nativa punktbudgeten vid den minsta stödda positiva typsnittsstorleken; appearance-byggare genomdriver sina separata gränser för ursprungliga och beräknade punkter

CSSLetterSpacing aktiverar tracking i typografiska enheter och hantering av valfria ligaturer; CSSWordSpacing aktiverar halvt avstånd runt SPACE- och NBSP-kluster, inklusive separatormarkörer, enligt den avgränsade avståndsprofilen

Returnerade glyph-advances och -offset inkluderar det begärda avståndet; SpacingAdvance registrerar dess bidrag, medan TypographicUnit, CursiveUnit och WordSeparator tillhandahåller gränsmetadata för den rika komponeraren av fysiska rader

Avbrott kontrolleras under klassificering och shaping, och fel mot glyph-budgeten eller missformad indata använder shapingens befintliga undantagskontrakt; funktionen publicerar ingen PDF och äger inte anroparens typsnittsbytes eller token

Befintliga shaping-ingångspunkter bevarar sin tidigare semantik; bygg om Pascal- och C++Builder-konsumenter med matchande publik glyph-record och genererade headers