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