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;

Deklareret i HPDFHeadlessShaping former denne funktion et UTF-16-span med dets komplette omgivende kontekst og tidligere opløst visuel orden, med den leverede HarfBuzz- og FriBidi-runtime samt font-bytes

FirstUnit er et nul-baseret UTF-16-offset, og UnitCount vælger det anmodede span; kaldere skal levere kompatibel orden-data og et positivt MaximumGlyphs-budget

CharacterAdvance og WordAdvance bruger normaliserede 1000-font-unit advances i stedet for PDF points; konvertér punkt-afstand med points * 1000 / fontSize før kaldet

Rå advances skal være finitære og have absolutte værdier på højst 1000000000000000, hvilket tillader det native point-budget ved den minimal understøttede positive fontstørrelse; appearance-buildere håndhæver deres separate authored og beregnede point-grænser

CSSLetterSpacing aktiverer typografisk-unit tracking og valgfri ligatur-håndtering; CSSWordSpacing aktiverer halv afstand omkring SPACE- og NBSP-clusters inklusive separator-mærker efter den afgrænsede spacing-profil

Returnerede glyph advances og offsets inkluderer den anmodede afstand; SpacingAdvance registrerer dens bidrag, mens TypographicUnit, CursiveUnit og WordSeparator leverer grænse-metadata til den rige fysiske linje-komponist

Cancellation tjekkes under klassifikation og shaping, og glyph-budget- eller misdannede input-fejl bruger den eksisterende shaping-exception-kontrakt; denne funktion publicerer ikke en PDF og ejer ikke kalderens font-bytes eller token

Eksisterende shaping-indgange bevarer deres tidligere semantik; genbyg Pascal- og C++Builder-consumers med det matchende public glyph-record og genererede headers