PDFium Component Docs

FPdfTextShaping unit

Unit: FPdfTextShaping
Vormt bidirectionele Unicode-tekst tot visuele glyph-runs voor TPdf.AddShapedText, met begrensde invoer- en uitvoerafmetingen en een uitbreidbare shaper-basisklasse

Workflow

APIPurpose
ShapePdfText(Text, FontName, FontSize, Direction, out Shaped)Vormt tekst met de ingebouwde Windows Uniscribe-implementatie en standaard resourcelimieten
TPdfTextShaper.ShapeAbstract vormingscontract voor eigen engines die glyph-identificatoren, clusters, visuele runs, advances en geselecteerde lettertypedata teruggeven
TPdfUniscribeTextShaper.ShapeGebruikt usp10.dll om tekst-runs te itemiseren, te vormen, te plaatsen en visueel te herschikken
TPdfTextShapingOptions.DefaultGeeft automatische richting terug met limieten van 1,000,000 tekens, 2,000,000 glyphs en 100,000 runs
ConfigureTextShaper(Shaper)Installeert de shaping-backend die de unit gebruikt en vervangt de ingebouwde voor de rest van het proces; de unit wordt eigenaar van de instantie
ClearTextShaperVerwijdert een geïnstalleerde backend en gaat terug naar de platformstandaard
ActiveTextShaperDe backend die momenteel in gebruik is, of nil wanneer er op dit platform geen shaper beschikbaar is
ActiveTextShaperNameDe naam die de actieve backend rapporteert, voor logging en om de ene inzet van de andere te onderscheiden

Public types

TypeDescription
EPdfTextShapingErrorExceptie die wordt opgeworpen bij ongeldige invoer, schendingen van resourcelimieten, fouten in lettertypedata of fouten in de vormingsengine
TPdfTextDirectionptdAuto, ptdLeftToRight of ptdRightToLeft
TPdfShapedGlyphEén glyph met GlyphID, Advance, OffsetX, OffsetY, ClusterStart en ClusterLength
TPdfShapedGlyphsDynamische array van TPdfShapedGlyph-records
TPdfShapedRunEén visuele run met TextStart, TextLength, VisualX, Width, BidiLevel, IsRightToLeft en Glyphs
TPdfShapedRunsDynamische array van TPdfShapedRun-records in visuele volgorde
TPdfShapedTextBrontekst Text, geselecteerde FontName, FontSize, ingebedde FontData, gevormde Runs, totale Width, GlyphCount en LogicalCharacterCount
TPdfTextShapingOptionsResourcelimieten Direction, MaxCharacters, MaxGlyphs en MaxRuns
TPdfTextShaperAbstracte basisklasse voor een door de aanroeper geleverde vormingsimplementatie
TPdfUniscribeTextShaperIngebouwde Windows-implementatie van 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