PDFium Delphi Component Docs

Método AddShapedText

Componente: TPdf  ·  Unidades: PDFium, FPdfTextShaping

Syntax

function AddShapedText(const Text, Font: WString; FontSize: Single; X, Y: Double; out Shaped: TPdfShapedText; Direction: TPdfTextDirection = ptdAuto; Color: TColor = clBlack; Alpha: Byte = $FF): Boolean;

Description

Molda texto Unicode através do motor nativo de scripts do Windows, carrega uma única vez a fonte de sistema selecionada e escreve glifos explicitamente posicionados através da API de fontes CID Type 2 do PDFium

ptdAuto determina a direção base do parágrafo a partir do primeiro carácter forte, enquanto os modos explícitos da esquerda para a direita e da direita para a esquerda estão disponíveis para uma disposição controlada pela aplicação

Unicode semantics

Cada glifo recebe um mapeamento CID limitado e uma entrada ToUnicode gerada, incluindo mapeamentos sensíveis a clusters para ligaduras e formas contextuais

O objeto de texto transporta a cadeia lógica original em ActualText, pelo que os consumidores conformes conseguem recuperar a ordem lógica de leitura mesmo quando a geometria dos glifos posicionados é conteúdo bidi em ordem visual

TPdf.Text segue a ordem física de extração bidi do PDFium e pode, por isso, diferir da ordem lógica original de entrada

Shaping result

TPdfShapedText devolve bytes da fonte, largura total, contagens de glifos e de caracteres lógicos e sequências visuais com níveis bidi, IDs de glifos, avanços, desvios e clusters de origem

Use ShapePdfText para moldar sem modificar um documento, ou instancie TPdfUniscribeTextShaper com TPdfTextShapingOptions quando são necessários limites explícitos de caracteres, glifos e sequências

Safety and performance

Os limites de entrada, glifos e sequências falham de forma fechada antes de qualquer alocação ilimitada

As sequências que partilham a mesma linha de base são emitidas como um único objeto de texto e as posições dos glifos são geradas em tempo linear

O método requer as exportações do PDFium para fontes CID Type 2, códigos de carácter, posições, marked-content e regeneração de conteúdo

See Also

AddText, GetStructuredText, GenerateLayout