PDFium Delphi Component Docs

FPdfTextShaping enhed

Enhed: FPdfTextShaping
Danner visuelle glyf-runs ud fra bidirektionel Unicode-tekst til TPdf.AddShapedText, med begrænsede input- og outputstørrelser og en udvidelig shaper-basklasse

Workflow

APIPurpose
ShapePdfText(Text, FontName, FontSize, Direction, out Shaped)Danner tekst med den indbyggede Windows Uniscribe-implementering og standardressourcegrænserne
TPdfTextShaper.ShapeAbstrakt shaping-kontrakt til brugerdefinerede engines, der returnerer glyf-id'er, klynger, visuelle runs, advances og valgte fontdata
TPdfUniscribeTextShaper.ShapeBruger usp10.dll til at opdele, forme, placere og visuelt sortere tekstruns
TPdfTextShapingOptions.DefaultReturnerer automatisk retning med grænserne 1,000,000 tegn, 2,000,000 glyffer og 100,000 runs
ConfigureTextShaper(Shaper)Installerer den shaping-backend, enheden bruger, og erstatter den indbyggede for resten af processens levetid; enheden overtager ejerskabet af instansen
ClearTextShaperFjerner en installeret backend og vender tilbage til platformstandard
ActiveTextShaperDen backend, der er i brug lige nu, eller nil, når der ikke findes nogen shaper på denne platform
ActiveTextShaperNameNavnet, som den aktive backend rapporterer, til logning og til at skelne én deployment fra en anden

Public types

TypeDescription
EPdfTextShapingErrorException, der udløses ved ugyldige input, overtrædelse af ressourcegrænser, fejl i fontdata eller fejl i shaping-enginen
TPdfTextDirectionptdAuto, ptdLeftToRight eller ptdRightToLeft
TPdfShapedGlyphÉn glyf med GlyphID, Advance, OffsetX, OffsetY, ClusterStart og ClusterLength
TPdfShapedGlyphsDynamisk array af TPdfShapedGlyph-records
TPdfShapedRunÉt visuelt run med TextStart, TextLength, VisualX, Width, BidiLevel, IsRightToLeft og Glyphs
TPdfShapedRunsDynamisk array af TPdfShapedRun-records i visuel rækkefølge
TPdfShapedTextKilde-Text, valgt FontName, FontSize, indlejret FontData, dannede Runs, samlet Width, GlyphCount og LogicalCharacterCount
TPdfTextShapingOptionsRessourcegrænserne Direction, MaxCharacters, MaxGlyphs og MaxRuns
TPdfTextShaperAbstrakt basklasse til en shaping-implementering, som kalderen leverer
TPdfUniscribeTextShaperIndbygget Windows-implementering af 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