PDFium Delphi Component Docs

FPdfTextShaping unit

Unit: FPdfTextShaping
Membentuk teks Unicode bidireksional menjadi visual glyph run untuk TPdf.AddShapedText, dengan ukuran masukan dan keluaran berbatas serta kelas dasar shaper yang dapat diperluas

Workflow

APIPurpose
ShapePdfText(Text, FontName, FontSize, Direction, out Shaped)Membentuk teks dengan implementasi Uniscribe Windows bawaan dan batas sumber daya standar
TPdfTextShaper.ShapeKontrak shaping abstrak untuk engine kustom yang mengembalikan identifier glyph, klaster, visual run, advance, dan data font terpilih
TPdfUniscribeTextShaper.ShapeMemakai usp10.dll untuk mengitemisasi, membentuk, menempatkan, dan mengurutkan ulang text run secara visual
TPdfTextShapingOptions.DefaultMengembalikan arah otomatis dengan batas 1,000,000 karakter, 2,000,000 glyph, dan 100,000 run
ConfigureTextShaper(Shaper)Memasang backend shaping yang dipakai unit, menggantikan backend bawaan untuk sisa proses; unit mengambil kepemilikan atas instance tersebut
ClearTextShaperMenghapus backend yang terpasang dan kembali ke bawaan platform
ActiveTextShaperBackend yang sedang dipakai, atau nil ketika tidak ada shaper yang tersedia di platform ini
ActiveTextShaperNameNama yang dilaporkan oleh backend aktif, untuk logging dan untuk membedakan satu deployment dari yang lain

Public types

TypeDescription
EPdfTextShapingErrorException yang dimunculkan untuk masukan tidak valid, pelanggaran batas sumber daya, kegagalan data font, atau kesalahan engine shaping
TPdfTextDirectionptdAuto, ptdLeftToRight, atau ptdRightToLeft
TPdfShapedGlyphSatu glyph dengan GlyphID, Advance, OffsetX, OffsetY, ClusterStart, dan ClusterLength
TPdfShapedGlyphsArray dinamis dari record TPdfShapedGlyph
TPdfShapedRunSatu visual run dengan TextStart, TextLength, VisualX, Width, BidiLevel, IsRightToLeft, dan Glyphs
TPdfShapedRunsArray dinamis dari record TPdfShapedRun dalam urutan visual
TPdfShapedTextText sumber, FontName dan FontSize terpilih, FontData tersemat, Runs hasil shaping, lebar total Width, GlyphCount, dan LogicalCharacterCount
TPdfTextShapingOptionsBatas sumber daya Direction, MaxCharacters, MaxGlyphs, dan MaxRuns
TPdfTextShaperKelas dasar abstrak untuk implementasi shaping yang disediakan pemanggil
TPdfUniscribeTextShaperImplementasi Windows bawaan dari 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