HPDFShapeHeadlessTextSpan
function HPDFShapeHeadlessTextSpan(const Context: UnicodeString;
FirstUnit, UnitCount: Integer; const FontBytes: SysUtils.TBytes;
MaximumGlyphs: Integer; CancellationToken: THPDFCancellationToken;
CharacterAdvance: Double = 0; WordAdvance: Double = 0;
ParagraphDirection: THPDFHeadlessTextDirection = htdAuto): THPDFHeadlessShapedGlyphs;
Effettua lo shaping di uno span UTF-16 selezionato con il font OpenType reale del chiamante, conservando il paragrafo circostante completo come pre-context e post-context HarfBuzz
FirstUnit è un offset UTF-16 a base zero e UnitCount è una lunghezza UTF-16; nessuno dei due confini può spezzare una coppia surrogate e uno span di lunghezza zero non restituisce glifi
FriBidi risolve i livelli di embedding a partire dal paragrafo completo; HarfBuzz riceve lo script risolto ed effettua lo shaping degli item selezionati all'interno di ogni run visivo, preservando le forme di giunzione arabe e la punteggiatura specchiata
I valori SourceOffset restituiti sono relativi allo span selezionato, UnicodeText preserva ogni cluster realmente selezionato, e avanzamenti e offset dei glifi usano coordinate font a 1000 unità
CharacterAdvance si applica una volta per cluster con shaping, tranne un cluster che contiene solo controlli direzionali Unicode; WordAdvance si applica a un cluster U+0020, ed entrambi devono essere finiti e usare le stesse coordinate di Advance
ParagraphDirection può preservare un paragrafo esistente da sinistra a destra o da destra a sinistra quando si effettua lo shaping di una riga fisica andata a capo il cui primo carattere forte differisce dal paragrafo originale
Anche i budget esistenti su input e glifi, i controlli di copertura dei font, il cancellation token e i requisiti di dipendenze runtime native si applicano a questa funzione
Uno span parziale conserva il contesto di giunzione ma non posiziona in modo indipendente un segno combining con stile diverso rispetto a un glifo base di un altro font; usare lo shaping dell'intero cluster quando un solo font copre tutto il cluster
Vedere HPDFShapeHeadlessText, HPDFResolveHeadlessTextOrder e le appearance di rich text contestuali