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;
Aplica shaping apenas a um trecho UTF-16 selecionado com o tipo de letra OpenType real de quem chama, mantendo o parágrafo envolvente completo como pre-context e post-context HarfBuzz
FirstUnit é um offset UTF-16 com base zero e UnitCount é um comprimento UTF-16; nenhuma das fronteiras pode dividir um surrogate pair, e um trecho de comprimento zero não devolve glyphs
FriBidi resolve os níveis de embedding a partir do parágrafo completo; HarfBuzz recebe o script resolvido e aplica shaping aos itens selecionados dentro de cada run visual, preservando as formas de ligação árabes e a pontuação espelhada
Os valores SourceOffset devolvidos são relativos ao trecho selecionado, UnicodeText preserva cada cluster realmente selecionado, e os avanços e offsets de glyphs usam coordenadas de 1000 unidades do tipo de letra
CharacterAdvance aplica-se uma vez por cluster com shaping, exceto num cluster contendo apenas controlos direcionais Unicode; WordAdvance aplica-se a um cluster U+0020, e ambos têm de ser finitos e usar as mesmas coordenadas que Advance
ParagraphDirection pode preservar um parágrafo existente da esquerda para a direita ou da direita para a esquerda ao aplicar shaping a uma linha física com wrap cujo primeiro caráter forte difere do parágrafo original
Os orçamentos existentes de entrada e de glyphs, as verificações de cobertura de tipos de letra, o token de cancelamento e os requisitos de dependências de runtimes nativos também se aplicam a esta função
Um trecho parcial mantém o contexto de ligação mas não posiciona de forma independente uma marca de combinação com estilo diferente contra um glyph base de outro tipo de letra; use shaping de clusters completos quando um tipo de letra cobre o cluster inteiro
Veja HPDFShapeHeadlessText, HPDFResolveHeadlessTextOrder e as aparências contextualizadas de rich text