HPDFShapeHeadlessTextOrderedSpan Function
Shapeuje vybraný style span vůči kompletnímu fyzickému řádku pomocí embedding úrovní, skriptů a vizuálních pozic odvozených z odstavce
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 musí pokrývat každou UTF-16 jednotku kompletního fyzického řádku Context; získejte ho z HPDFResolveHeadlessTextLineOrder nebo HPDFReorderHeadlessTextLine
FirstUnit a UnitCount vybírají kompletní skaláry uvnitř fyzického řádku; skutečný buffer HarfBuzz dostane okolní text řádku, zatímco směr a skript pocházejí z rozřešeného pořadí odstavce
Vrácené zdrojové offsety glyfů jsou relativní k vybranému style spanu; glyf ID, advancy a offsety používají skutečné vložené písmo a scale 1000 unit na em
Funkce validuje odpovídající pole, unikátní vizuální pořadí skalárů, embedding úrovně, konzistenci surrogátů, konečné spacing, limity glyfů i zrušení; poškozené pořadí se tiše nepadá na izolovanou detekci směru
Character spacing se aplikuje jednou na shaped cluster, vyjma clusteru obsahujícího jen Unicode směrové řídicí znaky; word spacing se aplikuje na space cluster a volající si své původní logické hodnoty a style text uchovávají odděleně od vizuálního pořadí glyfů