PDFium Delphi Component Docs

Unitatea FPdfTextShaping

Unit: FPdfTextShaping
Modelează text Unicode bidirecțional în runs vizuale de glife pentru TPdf.AddShapedText, cu dimensiuni mărginite pentru intrare și ieșire și o clasă de bază extensibilă pentru shaper-e

Workflow

APIPurpose
ShapePdfText(Text, FontName, FontSize, Direction, out Shaped)Modelează textul cu implementarea Uniscribe integrată pentru Windows și cu limitele implicite de resurse
TPdfTextShaper.ShapeContract abstract de shaping pentru motoare personalizate care returnează identificatori de glife, clustere, runs vizuale, avansuri și datele fontului selectat
TPdfUniscribeTextShaper.ShapeFolosește usp10.dll pentru a împărți în itemi, a modela, a poziționa și a reordona vizual runs-urile de text
TPdfTextShapingOptions.DefaultReturnează direcția automată, cu limite de 1,000,000 de caractere, 2,000,000 de glife și 100,000 de runs
ConfigureTextShaper(Shaper)Instalează backend-ul de shaping folosit de unitate, înlocuindu-l pe cel integrat pentru restul procesului; unitatea preia ownership-ul instanței
ClearTextShaperElimină backend-ul instalat și revine la valoarea implicită a platformei
ActiveTextShaperBackend-ul aflat în uz la momentul respectiv, sau nil când nu există niciun shaper disponibil pe platforma curentă
ActiveTextShaperNameNumele raportat de backend-ul activ, util pentru logare și pentru a deosebi o implementare de alta

Public types

TypeDescription
EPdfTextShapingErrorExcepție ridicată pentru intrări invalide, încălcări ale limitelor de resurse, eșecuri ale datelor de font sau erori ale motorului de shaping
TPdfTextDirectionptdAuto, ptdLeftToRight sau ptdRightToLeft
TPdfShapedGlyphO glifă cu GlyphID, Advance, OffsetX, OffsetY, ClusterStart și ClusterLength
TPdfShapedGlyphsVector dinamic de înregistrări TPdfShapedGlyph
TPdfShapedRunUn run vizual cu TextStart, TextLength, VisualX, Width, BidiLevel, IsRightToLeft și Glyphs
TPdfShapedRunsVector dinamic de înregistrări TPdfShapedRun în ordine vizuală
TPdfShapedTextTextul sursă Text, FontName și FontSize selectate, FontData încorporat, Runs modelate, lățimea totală Width, GlyphCount și LogicalCharacterCount
TPdfTextShapingOptionsLimitele de resurse Direction, MaxCharacters, MaxGlyphs și MaxRuns
TPdfTextShaperClasă de bază abstractă pentru o implementare de shaping furnizată de apelant
TPdfUniscribeTextShaperImplementarea Windows integrată a clasei TPdfTextShaper

Remarks

Example

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

See Also

TPdf.AddShapedText