เมทริกซ์การรองรับฟอนต์และสคริปต์
ภาพรวมโดยย่อ
หัวข้อที่มีชื่อว่า “ภาพรวมโดยย่อ”คลาสฟอนต์สองประเภทเป็นตัวกำหนดว่าสคริปต์ใดเรนเดอร์ได้ ฟอนต์มาตรฐาน 14 ตัว (Helvetica, Times, Courier) รองรับชุดอักขระ WinAnsiEncoding แต่ไม่รองรับสคริปต์อื่น ฟอนต์ TrueType หรือ OpenType แบบฝังที่ลงทะเบียนแล้วจะเรนเดอร์สคริปต์ได้เมื่อทั้งแผนผังอักขระของฟอนต์และเส้นทางการขึ้นรูปปัจจุบันรองรับสคริปต์นั้นเท่านั้น ไม่มีคลาสฟอนต์ใดเรนเดอร์ Unicode ทั้งหมดได้ด้วยตัวเอง
ความครอบคลุมของสคริปต์
หัวข้อที่มีชื่อว่า “ความครอบคลุมของสคริปต์”| สคริปต์ | ฟอนต์มาตรฐาน 14 ตัว | ฟอนต์ฝังที่ลงทะเบียน |
|---|---|---|
| ละตินยุโรปตะวันตก | ได้ — ชุดอักขระ WinAnsiEncoding (Windows-1252) ทั้งหมด | ได้ |
| อักขระละตินที่มีเครื่องหมายเสริมนอก WinAnsi กรีก และซีริลลิก | ไม่ได้ | เมื่อแผนผังอักขระของฟอนต์รองรับ |
| จีน ญี่ปุ่น เกาหลี (CJK) | ไม่ได้ | เมื่อแผนผังอักขระของฟอนต์รองรับ |
| อาหรับ เปอร์เซีย อูรดู | ไม่ได้ | ได้เมื่อมีการขึ้นรูปตามบริบท และแผนผังอักขระรองรับบล็อก Arabic Presentation Forms-B |
| ฮีบรู | ไม่ได้ | ถูกจัดเรียงเป็นลำดับเชิงภาพ แต่ไม่ถูกขึ้นรูป |
| ไทยและสคริปต์ซับซ้อนอื่นๆ | ไม่ได้ | ได้เมื่อแผนผังอักขระรองรับ แต่การขึ้นรูปขั้นสูงยังมีข้อจำกัด |
ฟอนต์มาตรฐาน 14 ตัว
หัวข้อที่มีชื่อว่า “ฟอนต์มาตรฐาน 14 ตัว”ตระกูลฟอนต์มาตรฐาน 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 ภาษาอาหรับแบบขวาไปซ้าย สำหรับตัวอย่างภาษาอาหรับที่จัดเตรียมไว้และข้อจำกัดของการจัดข้อความแบบขวาไปซ้ายในปัจจุบัน
ดูเพิ่มเติม
หัวข้อที่มีชื่อว่า “ดูเพิ่มเติม”- Font: ชนิดของค่า การฝัง และการสำรอง — ออบเจกต์ค่า
FontInfoและการสำรองด้วยฟอนต์ทดแทนจากชุดมาตรฐาน 14 ตัว - Typography: รีจิสทรีฟอนต์ การสร้างซับเซต CMap และการเข้ารหัส BiDi — การลงทะเบียน การเข้ารหัส และเอนจินสองทิศทาง
- เมทริกซ์การรองรับ CSS — การรองรับฟีเจอร์ CSS รวมถึง
direction