PDFium Delphi Component Docs

Unità FPdfTextShaping

Unità: FPdfTextShaping
Trasforma il testo Unicode bidirezionale in run di glifi visivi per TPdf.AddShapedText, con dimensioni di input e output delimitate e una classe base di shaper estensibile

Flusso di lavoro

APIScopo
ShapePdfText(Text, FontName, FontSize, Direction, out Shaped)Esegue lo shaping del testo con l'implementazione Uniscribe di Windows integrata e i limiti di risorsa predefiniti
TPdfTextShaper.ShapeContratto astratto di shaping per motori personalizzati che restituiscono identificatori di glifi, cluster, run visivi, avanzamenti e dati del font selezionato
TPdfUniscribeTextShaper.ShapeUsa usp10.dll per suddividere, plasmare, posizionare e riordinare visivamente i run di testo
TPdfTextShapingOptions.DefaultRestituisce direzione automatica con limiti di 1.000.000 caratteri, 2.000.000 glifi e 100.000 run
ConfigureTextShaper(Shaper)Installa il backend di shaping usato dall'unità, sostituendo quello integrato per il resto del processo; l'unità acquisisce la proprietà dell'istanza
ClearTextShaperRimuove un backend installato e torna al default della piattaforma
ActiveTextShaperIl backend attualmente in uso, oppure nil quando sulla piattaforma non è disponibile alcuno shaper
ActiveTextShaperNameIl nome riportato dal backend attivo, per il logging e per distinguere una distribuzione dall'altra

Tipi pubblici

TipoDescrizione
EPdfTextShapingErrorEccezione generata per input non validi, violazioni dei limiti di risorsa, errori sui dati dei font o errori del motore di shaping
TPdfTextDirectionptdAuto, ptdLeftToRight o ptdRightToLeft
TPdfShapedGlyphUn glifo con GlyphID, Advance, OffsetX, OffsetY, ClusterStart e ClusterLength
TPdfShapedGlyphsArray dinamico di record TPdfShapedGlyph
TPdfShapedRunUn run visivo con TextStart, TextLength, VisualX, Width, BidiLevel, IsRightToLeft e Glyphs
TPdfShapedRunsArray dinamico di record TPdfShapedRun in ordine visivo
TPdfShapedTextText sorgente, FontName e FontSize selezionati, FontData incorporato, Runs plasmati, Width totale, GlyphCount e LogicalCharacterCount
TPdfTextShapingOptionsLimiti di risorsa Direction, MaxCharacters, MaxGlyphs e MaxRuns
TPdfTextShaperClasse base astratta per un'implementazione di shaping fornita dal chiamante
TPdfUniscribeTextShaperImplementazione Windows integrata di TPdfTextShaper

Osservazioni

Esempio

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

Vedi anche

TPdf.AddShapedText