PDFium Delphi Component Docs

Unidade FPdfTextShaping

Unidade: FPdfTextShaping
Realiza o shaping de texto Unicode bidirecional em execuções visuais de glifos para TPdf.AddShapedText, com tamanhos limitados de entrada e saída e uma classe base extensível de shaper

Fluxo de trabalho

APIFinalidade
ShapePdfText(Text, FontName, FontSize, Direction, out Shaped)Realiza o shaping do texto com a implementação Uniscribe integrada do Windows e limites de recursos padrão
TPdfTextShaper.ShapeContrato abstrato de shaping para engines personalizadas que retornam identificadores de glifos, clusters, execuções visuais, avanços e dados da fonte selecionada
TPdfUniscribeTextShaper.ShapeUsa usp10.dll para itemizar, moldar, posicionar e reordenar visualmente as execuções de texto
TPdfTextShapingOptions.DefaultRetorna direção automática com limites de 1,000,000 caracteres, 2,000,000 glifos e 100,000 execuções
ConfigureTextShaper(Shaper)Instala o backend de shaping usado pela unit, substituindo o interno pelo resto do processo; a unit assume a propriedade da instância
ClearTextShaperRemove um backend instalado e volta ao padrão da plataforma
ActiveTextShaperO backend em uso no momento, ou nil quando não há shaper disponível nesta plataforma
ActiveTextShaperNameO nome que o backend ativo informa, para logs e para distinguir uma implantação da outra

Tipos públicos

TipoDescrição
EPdfTextShapingErrorExceção lançada para entradas inválidas, violações de limites de recursos, falhas de dados de fonte ou erros do engine de shaping
TPdfTextDirectionptdAuto, ptdLeftToRight ou ptdRightToLeft
TPdfShapedGlyphUm glifo com GlyphID, Advance, OffsetX, OffsetY, ClusterStart e ClusterLength
TPdfShapedGlyphsArray dinâmico de records TPdfShapedGlyph
TPdfShapedRunUma execução visual com TextStart, TextLength, VisualX, Width, BidiLevel, IsRightToLeft e Glyphs
TPdfShapedRunsArray dinâmico de records TPdfShapedRun em ordem visual
TPdfShapedTextText de origem, FontName selecionada, FontSize, FontData incorporada, Runs com shaping aplicado, Width total, GlyphCount e LogicalCharacterCount
TPdfTextShapingOptionsLimites de recursos Direction, MaxCharacters, MaxGlyphs e MaxRuns
TPdfTextShaperClasse base abstrata para uma implementação de shaping fornecida pelo chamador
TPdfUniscribeTextShaperImplementação integrada do Windows de TPdfTextShaper

Observações

Exemplo

var
  Shaped: TPdfShapedText;
  MeasuredWidth: Single;
begin
  if ShapePdfText(Text, 'Segoe UI', 12, ptdAuto, Shaped) then
    MeasuredWidth := Shaped.Width;
end;

Consulte também

TPdf.AddShapedText