PDFium Delphi Component Docs

เมธอด AddShapedText

Component: TPdf  ·  Units: PDFium, FPdfTextShaping

Syntax

function AddShapedText(const Text, Font: WString; FontSize: Single; X, Y: Double; out Shaped: TPdfShapedText; Direction: TPdfTextDirection = ptdAuto; Color: TColor = clBlack; Alpha: Byte = $FF): Boolean;

Description

จัดรูปข้อความ Unicode ผ่าน script engine แบบ native ของ Windows โหลดฟอนต์ระบบที่เลือกเพียงครั้งเดียว และเขียน glyph ที่ระบุตำแหน่งชัดเจนผ่าน CID Type 2 font API ของ PDFium

ptdAuto หาทิศทางฐานของย่อหน้าจากอักขระ strong ตัวแรก ส่วนโหมดซ้ายไปขวาและขวาไปซ้ายแบบระบุชัดมีให้ใช้สำหรับเลย์เอาต์ที่แอปพลิเคชันควบคุมเอง

Unicode semantics

glyph แต่ละตัวได้รับการจับคู่ CID แบบมีขอบเขตและรายการ ToUnicode ที่สร้างขึ้น รวมถึงการจับคู่แบบรับรู้ cluster สำหรับ ligature และรูปตามบริบท

ออบเจ็กต์ข้อความบรรจุสตริงเชิงตรรกะต้นฉบับใน ActualText ผู้บริโภคที่สอดคล้องจึงกู้ลำดับการอ่านเชิงตรรกะได้ แม้เรขาคณิตของ glyph ที่ระบุตำแหน่งจะเป็นเนื้อหา bidi แบบเรียงตามภาพ

TPdf.Text เป็นไปตามลำดับการสกัด bidi เชิงกายภาพของ PDFium จึงอาจต่างจากลำดับอินพุตเชิงตรรกะต้นฉบับ

Shaping result

TPdfShapedText คืนไบต์ของฟอนต์ ความกว้างรวม จำนวน glyph และอักขระเชิงตรรกะ และ visual run ที่บรรจุ bidi level, glyph ID, advance, offset และ cluster ต้นทาง

ใช้ ShapePdfText เพื่อจัดรูปโดยไม่แก้ไขเอกสาร หรือสร้างอินสแตนซ์ TPdfUniscribeTextShaper ด้วย TPdfTextShapingOptions เมื่อต้องการงบประมาณอักขระ glyph และ run แบบระบุชัด

Safety and performance

ขีดจำกัดอินพุต glyph และ run ล้มเหลวแบบปิดก่อนการจัดสรรแบบไม่จำกัด

run ที่ใช้ baseline เดียวกันถูกสร้างเป็นออบเจ็กต์ข้อความเดียว และตำแหน่ง glyph ถูกสร้างในเวลาเชิงเส้น

เมธอดนี้ต้องการการ export ของ PDFium ด้านฟอนต์ CID Type 2, character-code, ตำแหน่ง, marked-content และการสร้างเนื้อหาใหม่

See Also

AddText, GetStructuredText, GenerateLayout