ฟอนต์ OpenType (.otf)
ISO/IEC มาตรฐานOpenType Font (OTF) คือมาตรฐานตัวอักษรดิจิทัลชั้นนำที่พัฒนาร่วมกันโดย Adobe และ Microsoft โดยผสมผสานความแม่นยำของเส้นโค้งเบซิเยร์แบบลูกบาศก์ของ PostScript เข้ากับคุณสมบัติการพิมพ์ขั้นสูงที่หลากหลาย รวมถึงลิกเจอร์ ตัวพิมพ์ใหญ่ขนาดเล็ก และตัวอักษรทางเลือก
ตรวจสอบไฟล์และข้อมูลเมตา
ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ OTF โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:
ลายเซ็นส่วนหัวระดับไบต์
ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ OTF โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:
ลายเซ็น HEX (OFFSET 0):
4F 54 54 4Fการแสดงผลรูปแบบ ASCII: OTTO
มาตรฐาน: ISO/IEC 14496-22 (Open Font Format) / OpenType 1.9
ข้อมูลจำเพาะทางเทคนิค
| สถาปัตยกรรมคอนเทนเนอร์ | ไดเรกทอรีตาราง SFNT ที่ครอบคลุมเส้นโค้งเบซิเยร์ลูกบาศก์ของ Compact Font Format (CFF/CFF2) และตารางจัดวาง OpenType ขั้นสูง |
| การบีบอัด | ตาราง SFNT แบบไม่บีบอัด (บีบอัดด้วย Brotli ใน WOFF2 หรือ Flate ใน WOFF) |
| การจัดลำดับไบต์ | ลำดับไบต์แบบ Big-Endian (มาตรฐาน SFNT ของ Motorola) |
| พื้นที่สี | ฟอนต์สี OpenType-SVG, ตารางไกลฟ์สี COLR/CPAL |
| ช่องสัญญาณและโครงสร้าง | เส้นขอบรูปทรงไกลฟ์, การปรับระยะเคอร์นิง, การแทนชุดอักษรควบ (GSUB), การจัดตำแหน่ง (GPOS) และแกนฟอนต์แบบแปรผัน |
| ขนาดสูงสุด | รองรับไกลฟ์สูงสุด 65,535 ตัวต่อไฟล์ฟอนต์ |
| ความโปร่งใส | รองรับความโปร่งใสแบบอัลฟาในไกลฟ์สี OpenType-SVG และ COLRv1 |
| การสตรีมและแบบโปรเกรสซีฟ | เข้าถึงข้อมูลแบบสุ่มตามตารางผ่านไดเรกทอรีตาราง SFNT |
ตารางเปรียบเทียบทางเทคนิค: OTF กับคู่แข่ง
| คุณลักษณะทางเทคนิค | OTF (ปัจจุบัน) | TTF | WOFF2 | WOFF |
|---|---|---|---|---|
| คณิตศาสตร์เส้นเค้าร่าง | เส้นโค้งเบซิเยร์แบบลูกบาศก์ (CFF / PostScript) | เส้นโค้งเบซิเยร์แบบกำลังสอง (TrueType) | ลูกบาศก์หรือกำลังสอง (บีบอัด) | ลูกบาศก์หรือกำลังสอง (บีบอัด) |
| ลายเซ็นไฟล์ | OTTO (0x4F 0x54 0x54 0x4F) | 0x00 0x01 0x00 0x00 | wOF2 (0x77 0x4F 0x46 0x32) | wOFF (0x77 0x4F 0x46 0x46) |
| ปลายทางหลัก | การจัดพิมพ์บนเดสก์ท็อป การออกแบบกราฟิก การพิมพ์ | ระบบปฏิบัติการและงานตัวพิมพ์บนเดสก์ท็อป | มาตรฐานงานตัวพิมพ์บนเว็บสมัยใหม่ | มาตรฐานงานตัวพิมพ์บนเว็บรุ่นเก่า |
| การบีบอัดสำหรับเว็บ | คอนเทนเนอร์ SFNT ที่ไม่ได้บีบอัด | คอนเทนเนอร์ SFNT ที่ไม่ได้บีบอัด | บีบอัดด้วย Brotli (เล็กกว่า ~30%) | บีบอัดด้วย zlib / Deflate |
รูปแบบความเสียหายทั่วไปและคู่มือการกู้คืน Hex
ระบบปฏิบัติการแสดงข้อความ 'The requested file is not a valid font file'
สาเหตุหลัก: ผลรวมตรวจสอบของตาราง SFNT เสียหาย หรือออฟเซ็ตข้อมูลกลิฟในตาราง 'CFF ' เสียหาย
การกู้คืน: ตรวจสอบและสร้างตารางฟอนต์ใหม่โดยใช้ File2File.app Font Converter หรือ ttx/fonttools
การวิเคราะห์ความปลอดภัยและเวกเตอร์การโจมตีตัวแยกวิเคราะห์
ฟอนต์ OpenType มีตัวแปลเครื่องเสมือนและเครื่องจักรสถานะสำหรับจัดวางข้อความที่ซับซ้อน ซึ่งในอดีตเคยมีข้อบกพร่องที่เปิดทางให้ยกระดับสิทธิ์ในเคอร์เนลได้
เวกเตอร์การโจมตีที่ทราบ
- บัฟเฟอร์ล้นในตัวแยกวิเคราะห์ฟอนต์เคอร์เนลของ Windows (win32k.sys) ระหว่างการแยกวิเคราะห์ตาราง CFF
- จำนวนเต็มล้นระหว่างคำนวณพิกัดเส้นเค้าร่างกลิฟ
- การปฏิเสธการให้บริการผ่านลูปการแทนที่ลิกเจอร์แบบเรียกซ้ำ
แนวทางปฏิบัติที่ดีที่สุดในการป้องกัน: แยกวิเคราะห์และเรสเตอร์ไรส์ฟอนต์ในสภาพแวดล้อมแซนด์บ็อกซ์โหมดผู้ใช้เท่านั้น
ประวัติความเป็นมาและเหตุการณ์สำคัญ
ข้อได้เปรียบและจุดเด่นสำคัญ
- รองรับการจัดรูปแบบตัวพิมพ์ขั้นสูง: ลิกเจอร์ที่เลือกใช้ได้ รูปแบบตัวอักษรทางเลือกตามบริบท ตัวพิมพ์ใหญ่ขนาดเล็กแท้ และตัวเลขที่จัดแนวเท่ากัน
- เส้นโค้งเบซิเยร์แบบลูกบาศก์ของ PostScript (CFF) ให้ความสง่างามและความแม่นยำทางคณิตศาสตร์ที่ไม่มีใครเทียบได้สำหรับการออกแบบตัวอักษรที่ซับซ้อน
- ฟอนต์ OpenType ใช้ได้กับหลายระบบปฏิบัติการ แต่การแสดงผลขึ้นอยู่กับระบบและซอฟต์แวร์
ข้อจำกัดทางเทคนิคและข้อควรพิจารณา
- ขนาดไฟล์ใหญ่กว่ารูปแบบที่ปรับแต่งสำหรับเว็บเล็กน้อย เช่น WOFF2
- ในอดีตขาดคำสั่งการฮินต์ฟอนต์แบบเนทีฟบนหน้าจอ Windows ClearType ความละเอียดต่ำเมื่อเทียบกับ TrueType
- คุณสมบัติเค้าโครง OpenType ขั้นสูงต้องใช้ซอฟต์แวร์ที่เข้ากันได้ (เช่น InDesign หรือ CSS font-feature-settings) เพื่อเปิดใช้งาน
เกร็ดความรู้ทางเทคนิคที่น่าสนใจ
- ลายเซ็นไบต์ของฟอนต์ OpenType ที่มีเส้นเค้าร่าง PostScript คือ 'OTTO' (0x4F 0x54 0x54 0x4F)
- ฟอนต์ OpenType หนึ่งไฟล์บรรจุกลิฟได้มากกว่า 65,000 ตัว ซึ่งเพียงพอสำหรับอักษรจีน ญี่ปุ่น เกาหลี ละติน กรีก และซีริลลิกทั้งหมด
- OpenType Variable Fonts ช่วยให้สามารถเคลื่อนไหวความหนา ความเอียง หรือความกว้างของฟอนต์ได้อย่างราบรื่นแบบเรียลไทม์โดยใช้ CSS
คำถามทางเทคนิคที่พบบ่อย
ความแตกต่างระหว่าง OTF และ TTF คืออะไร
OTF ใช้เส้นโค้งเบซิเยร์แบบลูกบาศก์ (PostScript) และโดดเด่นด้านการจัดตัวพิมพ์สำหรับงานพิมพ์ระดับสูง พร้อมกลิฟทางเลือกขั้นสูง ส่วน TTF ใช้เส้นโค้งกำลังสอง และในอดีตได้รับความนิยมเพราะมีการ hinting บนหน้าจอ Windows
ฉันจะแปลงฟอนต์ OTF เป็น WOFF2 สำหรับเว็บไซต์ของฉันได้อย่างไร
คุณสามารถแปลงฟอนต์ OTF เป็นฟอนต์เว็บ WOFF2 ที่บีบอัดและมีความเร็วสูงพิเศษได้ด้วยคลิกเดียวโดยใช้ File2File.app บนเบราว์เซอร์ของคุณ
ฉันสามารถติดตั้งฟอนต์ OTF บน Windows และ Mac ได้หรือไม่
ได้ ทั้ง Windows และ macOS รองรับฟอนต์ OTF ตามค่าเริ่มต้น เพียงดับเบิลคลิกที่ไฟล์ .otf และเลือก 'ติดตั้ง'