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