PDFium Delphi Component Docs

FPdfTextShaping jednotka

Unit: FPdfTextShaping
Tvaruje obojsmerný text Unicode do vizuálnych behov glyfov pre TPdf.AddShapedText, s ohraničenými veľkosťami vstupu a výstupu a rozšíriteľnou základnou triedou tvarovača

Workflow

APIPurpose
ShapePdfText(Text, FontName, FontSize, Direction, out Shaped)Tvaruje text vstavanou implementáciou Windows Uniscribe s predvolenými limitmi zdrojov
TPdfTextShaper.ShapeAbstraktná zmluva tvarovania pre vlastné enginy, ktoré vracajú identifikátory glyfov, zhluky, vizuálne behy, posuny a vybrané dáta fontu
TPdfUniscribeTextShaper.ShapePoužije usp10.dll na rozčlenenie, tvarovanie, umiestnenie a vizuálne preusporiadanie behov textu
TPdfTextShapingOptions.DefaultVracia automatický smer s limitmi 1,000,000 znakov, 2,000,000 glyfov a 100,000 behov
ConfigureTextShaper(Shaper)Inštaluje tvarovací backend, ktorý jednotka používa, a nahrádza vstavaný backend pre zvyšok procesu; jednotka preberá vlastníctvo inštancie
ClearTextShaperOdstráni nainštalovaný backend a vráti sa k platformovému predvolenému
ActiveTextShaperBackend, ktorý sa práve používa, alebo nil, keď na tejto platforme nie je dostupný žiadny tvarovač
ActiveTextShaperNameNázov, ktorý aktívny backend hlási, na logovanie a na odlíšenie jedného nasadenia od druhého

Public types

TypeDescription
EPdfTextShapingErrorVýnimka vyvolaná pri neplatných vstupoch, porušení limitov zdrojov, zlyhaniach dát fontu alebo chybách enginu tvarovania
TPdfTextDirectionptdAuto, ptdLeftToRight alebo ptdRightToLeft
TPdfShapedGlyphJeden glyf s GlyphID, Advance, OffsetX, OffsetY, ClusterStart a ClusterLength
TPdfShapedGlyphsDynamické pole záznamov TPdfShapedGlyph
TPdfShapedRunJeden vizuálny beh s TextStart, TextLength, VisualX, Width, BidiLevel, IsRightToLeft a Glyphs
TPdfShapedRunsDynamické pole záznamov TPdfShapedRun vo vizuálnom poradí
TPdfShapedTextZdrojový Text, vybraný FontName, FontSize, vložené FontData, vytvarované Runs, celková Width, GlyphCount a LogicalCharacterCount
TPdfTextShapingOptionsLimity zdrojov Direction, MaxCharacters, MaxGlyphs a MaxRuns
TPdfTextShaperAbstraktná základná trieda pre implementáciu tvarovania dodanú volajúcim
TPdfUniscribeTextShaperVstavaná implementácia TPdfTextShaper pre Windows

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