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;
Faz o shaping de apenas um span UTF-16 selecionado com a fonte OpenType real do chamador, retendo o parágrafo ao redor completo como pre-context e post-context do 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 span de comprimento zero não retorna glyphs
FriBidi resolve os embedding levels a partir do parágrafo completo; o HarfBuzz recebe o script resolvido e faz o shaping dos items selecionados dentro de cada run visual, preservando as formas de junção árabes e a pontuação espelhada
Os valores SourceOffset retornados são relativos ao span selecionado, UnicodeText preserva cada cluster selecionado real, e os advances e offsets dos glyphs usam coordenadas de fonte de 1000 units
CharacterAdvance aplica-se uma vez por cluster com shaping, exceto a um cluster contendo apenas controles direcionais Unicode; WordAdvance aplica-se a um cluster U+0020, e ambos precisam ser finitos e usar as mesmas coordenadas de Advance
ParagraphDirection pode preservar um parágrafo existente da esquerda para a direita ou da direita para a esquerda ao fazer o shaping de uma linha física quebrada cujo primeiro caractere forte difere do parágrafo original
Os orçamentos existentes de entrada e glyphs, as checagens de cobertura de fontes, o token de cancelamento e os requisitos de dependência de runtime nativo também se aplicam a esta função
Um span parcial retém o contexto de junção, mas não posiciona independentemente um combining mark de estilo diferente contra um glyph base de outra fonte; use o shaping de cluster completo quando uma fonte cobrir o cluster inteiro
Veja HPDFShapeHeadlessText, HPDFResolveHeadlessTextOrder e aparências de rich text contextuais