PDFium Delphi Component Docs

FPdfTextShaping-enhet

Unit: FPdfTextShaping
Shapar tvåriktad Unicode-text till visuella glyph-run:ar för TPdf.AddShapedText, med avgränsade in- och utdatastorlekar och en utbyggbar shaper-basklass

Workflow

APIPurpose
ShapePdfText(Text, FontName, FontSize, Direction, out Shaped)Shapar text med den inbyggda Windows Uniscribe-implementeringen och standardgränserna för resurser
TPdfTextShaper.ShapeAbstrakt shaping-kontrakt för egna motorer som returnerar glyph-identifierare, kluster, visuella runs, advances och vald typsnittsdata
TPdfUniscribeTextShaper.ShapeAnvänder usp10.dll för att itemisera, shapa, placera och visuellt ordna om textruns
TPdfTextShapingOptions.DefaultReturnerar automatisk riktning med gränserna 1,000,000 tecken, 2,000,000 glyfer och 100,000 runs
ConfigureTextShaper(Shaper)Installerar den shaping-backend som enheten använder och ersätter den inbyggda för resten av processen; enheten tar ägarskap av instansen
ClearTextShaperTar bort en installerad backend och går tillbaka till plattformsstandarden
ActiveTextShaperBackenden som används just nu, eller nil när ingen shaper är tillgänglig på den här plattformen
ActiveTextShaperNameNamn som den aktiva backenden rapporterar, för loggning och för att skilja en driftsättning från en annan

Public types

TypeDescription
EPdfTextShapingErrorUndantag som utlöses för ogiltig indata, överträdelser av resursgränser, fel i typsnittsdata eller fel i shaping-motorn
TPdfTextDirectionptdAuto, ptdLeftToRight eller ptdRightToLeft
TPdfShapedGlyphEn glyph med GlyphID, Advance, OffsetX, OffsetY, ClusterStart och ClusterLength
TPdfShapedGlyphsDynamisk array av TPdfShapedGlyph-records
TPdfShapedRunEn visuell run med TextStart, TextLength, VisualX, Width, BidiLevel, IsRightToLeft och Glyphs
TPdfShapedRunsDynamisk array av TPdfShapedRun-records i visuell ordning
TPdfShapedTextKällans Text, valt FontName, FontSize, inbäddad FontData, shapade Runs, total Width, GlyphCount och LogicalCharacterCount
TPdfTextShapingOptionsDirection samt resursgränserna MaxCharacters, MaxGlyphs och MaxRuns
TPdfTextShaperAbstrakt basklass för en anroparlevererad shaping-implementering
TPdfUniscribeTextShaperInbyggd Windows-implementering 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