PDFium Component Docs

FPdfTextShaping-enhet

Unit: FPdfTextShaping
Formerer todireksjonal Unicode-tekst til visuelle glyffruns for TPdf.AddShapedText, med begrensede inn- og utdatastørrelser og en utvidbar shaper-grunnklasse

Workflow

APIPurpose
ShapePdfText(Text, FontName, FontSize, Direction, out Shaped)Formerer tekst med den innebygde Windows Uniscribe-implementasjonen og standard ressursgrenser
TPdfTextShaper.ShapeAbstrakt shaping-kontrakt for egendefinerte motorer som returnerer glyffidentifikatorer, klynger, visuelle runs, fremskritt og valgte fontdata
TPdfUniscribeTextShaper.ShapeBruker usp10.dll til å segmentere, shape, plassere og visuelt stokke om tekstruns
TPdfTextShapingOptions.DefaultReturnerer automatisk retning med grensene 1,000,000 tegn, 2,000,000 glyffer og 100,000 runs
ConfigureTextShaper(Shaper)Installerer shaping-backend-en uniten bruker, og erstatter den innebygde for resten av prosessen; uniten tar eierskap til instansen
ClearTextShaperFjerner en installert backend og går tilbake til plattformstandarden
ActiveTextShaperBackend-en som er i bruk for øyeblikket, eller nil når ingen shaper er tilgjengelig på denne plattformen
ActiveTextShaperNameNavnet den aktive backend-en rapporterer, for logging og for å skille ulike utrullinger fra hverandre

Public types

TypeDescription
EPdfTextShapingErrorUnntak som utløses ved ugyldige inndata, brudd på ressursgrensene, fontdatafeil eller feil i shaping-motoren
TPdfTextDirectionptdAuto, ptdLeftToRight eller ptdRightToLeft
TPdfShapedGlyphÉn glyff med GlyphID, Advance, OffsetX, OffsetY, ClusterStart og ClusterLength
TPdfShapedGlyphsDynamisk array av TPdfShapedGlyph-records
TPdfShapedRunÉn visuell run med TextStart, TextLength, VisualX, Width, BidiLevel, IsRightToLeft og Glyphs
TPdfShapedRunsDynamisk array av TPdfShapedRun-records i visuell rekkefølge
TPdfShapedTextKildeteksten Text, valgt FontName, FontSize, innebygd FontData, shapede Runs, total Width, GlyphCount og LogicalCharacterCount
TPdfTextShapingOptionsDirection samt ressursgrensene MaxCharacters, MaxGlyphs og MaxRuns
TPdfTextShaperAbstrakt grunnklasse for en shaping-implementasjon levert av kalleren
TPdfUniscribeTextShaperInnebygd Windows-implementasjon av 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