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