Funzione HPDFShapeHeadlessTextOrderedSpan
Effettua lo shaping di uno span di stile selezionato rispetto a una riga fisica completa usando livelli di embedding derivati dal paragrafo, script e posizioni visive
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 deve coprire ogni unità UTF-16 del Context completo della riga fisica; ottenerlo da HPDFResolveHeadlessTextLineOrder o HPDFReorderHeadlessTextLine
FirstUnit e UnitCount selezionano scalari completi dentro la riga fisica; il vero buffer HarfBuzz riceve il testo circostante della riga mentre direzione e script vengono dall'ordine risolto del paragrafo
Gli offset di sorgente dei glifi restituiti sono relativi allo span di stile selezionato; ID dei glifi, avanzamenti e offset usano il vero font incorporato e una scala di 1000 unità per em
La funzione valida corrispondenza degli array, rank visivi univoci degli scalari, livelli di embedding, consistenza delle surrogate, spaziatura finita, limiti sui glifi e cancellazione; un ordine malformato non ripiega silenziosamente sul rilevamento isolato della direzione
La spaziatura dei caratteri si applica una volta per cluster con shaping, tranne un cluster che contiene solo controlli direzionali Unicode; la spaziatura delle parole si applica a un cluster di spazio, e i chiamanti conservano il loro valore logico originale e il testo di stile separatamente dall'ordine visivo dei glifi