PDFium Delphi Component Docs

Đơn vị FPdfTextShaping

Unit: FPdfTextShaping
Định hình văn bản Unicode hai chiều thành các run glyph trực quan cho TPdf.AddShapedText, với kích thước đầu vào/đầu ra có giới hạn và một lớp cơ sở shaper có thể mở rộng

Workflow

APIPurpose
ShapePdfText(Text, FontName, FontSize, Direction, out Shaped)Định hình văn bản bằng hiện thực Windows Uniscribe tích hợp sẵn với các giới hạn tài nguyên mặc định
TPdfTextShaper.ShapeHợp đồng định hình trừu tượng cho các engine tùy chỉnh trả về định danh glyph, cụm, run trực quan, khoảng tiến và dữ liệu phông chữ đã chọn
TPdfUniscribeTextShaper.ShapeDùng usp10.dll để phân đoạn, định hình, định vị và sắp xếp lại trực quan các run văn bản
TPdfTextShapingOptions.DefaultTrả về hướng tự động với các giới hạn 1.000.000 ký tự, 2.000.000 glyph và 100.000 run
ConfigureTextShaper(Shaper)Cài đặt backend định hình mà đơn vị này sử dụng, thay thế backend tích hợp sẵn trong phần còn lại của tiến trình; đơn vị nhận quyền sở hữu thể hiện
ClearTextShaperGỡ bỏ backend đã cài đặt và quay về mặc định của nền tảng
ActiveTextShaperBackend đang được sử dụng, hoặc nil khi không có shaper khả dụng trên nền tảng này
ActiveTextShaperNameTên mà backend đang hoạt động báo cáo, dùng cho logging và để phân biệt một deployment với deployment khác

Public types

TypeDescription
EPdfTextShapingErrorNgoại lệ được phát sinh cho dữ liệu vào không hợp lệ, vi phạm giới hạn tài nguyên, lỗi dữ liệu phông chữ hoặc lỗi engine định hình
TPdfTextDirectionptdAuto, ptdLeftToRight hoặc ptdRightToLeft
TPdfShapedGlyphMột glyph với GlyphID, Advance, OffsetX, OffsetY, ClusterStartClusterLength
TPdfShapedGlyphsMảng động các bản ghi TPdfShapedGlyph
TPdfShapedRunMột run trực quan với TextStart, TextLength, VisualX, Width, BidiLevel, IsRightToLeftGlyphs
TPdfShapedRunsMảng động các bản ghi TPdfShapedRun theo thứ tự trực quan
TPdfShapedTextText nguồn, FontName, FontSize đã chọn, FontData nhúng, Runs đã định hình, tổng Width, GlyphCountLogicalCharacterCount
TPdfTextShapingOptionsCác giới hạn tài nguyên Direction, MaxCharacters, MaxGlyphsMaxRuns
TPdfTextShaperLớp cơ sở trừu tượng cho một hiện thực định hình do caller cung cấp
TPdfUniscribeTextShaperHiện thực Windows tích hợp sẵn của 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