ข้ามไปยังเนื้อหา

เมทริกซ์การรองรับฟอนต์และสคริปต์

คลาสฟอนต์สองประเภทเป็นตัวกำหนดว่าสคริปต์ใดเรนเดอร์ได้ ฟอนต์มาตรฐาน 14 ตัว (Helvetica, Times, Courier) รองรับชุดอักขระ WinAnsiEncoding แต่ไม่รองรับสคริปต์อื่น ฟอนต์ TrueType หรือ OpenType แบบฝังที่ลงทะเบียนแล้วจะเรนเดอร์สคริปต์ได้เมื่อทั้งแผนผังอักขระของฟอนต์และเส้นทางการขึ้นรูปปัจจุบันรองรับสคริปต์นั้นเท่านั้น ไม่มีคลาสฟอนต์ใดเรนเดอร์ Unicode ทั้งหมดได้ด้วยตัวเอง

สคริปต์ฟอนต์มาตรฐาน 14 ตัวฟอนต์ฝังที่ลงทะเบียน
ละตินยุโรปตะวันตกได้ — ชุดอักขระ WinAnsiEncoding (Windows-1252) ทั้งหมดได้
อักขระละตินที่มีเครื่องหมายเสริมนอก WinAnsi กรีก และซีริลลิกไม่ได้เมื่อแผนผังอักขระของฟอนต์รองรับ
จีน ญี่ปุ่น เกาหลี (CJK)ไม่ได้เมื่อแผนผังอักขระของฟอนต์รองรับ
อาหรับ เปอร์เซีย อูรดูไม่ได้ได้เมื่อมีการขึ้นรูปตามบริบท และแผนผังอักขระรองรับบล็อก Arabic Presentation Forms-B
ฮีบรูไม่ได้ถูกจัดเรียงเป็นลำดับเชิงภาพ แต่ไม่ถูกขึ้นรูป
ไทยและสคริปต์ซับซ้อนอื่นๆไม่ได้ได้เมื่อแผนผังอักขระรองรับ แต่การขึ้นรูปขั้นสูงยังมีข้อจำกัด

ตระกูลฟอนต์มาตรฐาน 14 ตัว — Helvetica, Times และ Courier — เรนเดอร์ชุดอักขระ WinAnsiEncoding (Windows code page 1252) ได้ทั้งหมด ได้แก่ ละตินยุโรปตะวันตกที่มีเครื่องหมายเสริม เครื่องหมายยูโร และเครื่องหมายวรรคตอนสำหรับงานพิมพ์ที่ใช้ทั่วไป รวมถึงขีดกลาง en และ em อัญประกาศโค้ง บุลเล็ต จุดไข่ปลา และเครื่องหมายการค้า (ISO 32000-2 Annex D.2) ฟอนต์เหล่านี้ไม่เรนเดอร์สคริปต์อื่น ให้ลงทะเบียนฟอนต์ฝังสำหรับอักขระที่อยู่นอกชุดอักขระนั้น Symbol และ ZapfDingbats เป็นหน้าฟอนต์สองรายการในชุดมาตรฐาน 14 ตัวที่ไม่มีตัวทดแทนที่เข้ากันได้เชิงเมตริก ให้ลงทะเบียนฟอนต์ที่ฝังได้เมื่อต้องการใช้หน้าฟอนต์ใดหน้าฟอนต์หนึ่ง

ดู เรียบเรียงข้อความด้วยฟอนต์และการจัดแนว สำหรับเวิร์กโฟลว์ของฟอนต์มาตรฐาน

ฟอนต์ TrueType หรือ OpenType ที่ลงทะเบียนแล้วจะเรนเดอร์ Unicode เฉพาะเมื่อทั้งแผนผังอักขระของฟอนต์ที่เลือกและเส้นทางการขึ้นรูปปัจจุบันครอบคลุมเพียงพอ การลงทะเบียนฟอนต์เพียงอย่างเดียวไม่รับประกันว่าจะมีกลีฟสำหรับทุกจุดรหัส

  • ความครอบคลุมขึ้นอยู่กับแผนผังอักขระ เอนจินจะวาดจุดรหัสก็ต่อเมื่อฟอนต์ฝังแมปจุดรหัสนั้นไปยังกลีฟ ฟอนต์ที่สร้างมาสำหรับสคริปต์หนึ่งจะไม่เรนเดอร์สคริปต์อื่น
  • ละติน กรีก ซีริลลิก และ CJK เรนเดอร์ได้โดยตรงจากแผนผังอักขระแบบหนึ่งกลีฟต่อหนึ่งจุดรหัส เมื่อฟอนต์รองรับสคริปต์เหล่านั้น
  • อาหรับ ยังต้องใช้การขึ้นรูปตามบริบท — รูปตัวอักษรเริ่มต้น รูปกลาง รูปท้าย และรูปเดี่ยว รวมถึงลิเกเจอร์ Lam-Alef — และฟอนต์ที่แผนผังอักขระรองรับบล็อก Arabic Presentation Forms-B การรองรับฟอนต์ที่พึ่งพาเฉพาะการแทนที่กลีฟด้วย OpenType (GSUB) และเส้นทางการขึ้นรูปแบบ HarfBuzz ยังเป็นงานในอนาคต
  • สคริปต์แบบขวาไปซ้าย (อาหรับ ฮีบรู เปอร์เซีย อูรดู) จะถูกจัดเรียงเป็นลำดับเชิงภาพตามอัลกอริทึมสองทิศทางของ Unicode ใน Unicode Standard Annex (UAX) #9 ฮีบรูจะถูกจัดเรียงลำดับแต่ไม่ถูกขึ้นรูป ซึ่งเป็นพฤติกรรมที่ถูกต้องสำหรับสคริปต์นี้

ดู เรนเดอร์ HTML ภาษาอาหรับแบบขวาไปซ้าย สำหรับตัวอย่างภาษาอาหรับที่จัดเตรียมไว้และข้อจำกัดของการจัดข้อความแบบขวาไปซ้ายในปัจจุบัน