ฟอนต์ TrueType (.ttf)

ISO/IEC มาตรฐาน

Apple พัฒนารูปแบบ TrueType (TTF) และให้สิทธิ์ใช้งานแก่ Microsoft การ hint และการแสดงผลแตกต่างกันตามระบบและเอนจินข้อความ

แปลง TTF เป็น WOFF2

ตัวแปลงจาก TTF เป็น WOFF2 ฟรีในเบราว์เซอร์ แปลงไฟล์ได้ทันทีบนอุปกรณ์ของคุณ

ตรวจสอบไฟล์และข้อมูลเมตา

ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ TTF โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:

เลือกหรือวางไฟล์ที่นี่

เป็นส่วนตัว - ไฟล์จะไม่ออกจากอุปกรณ์ของคุณ

หรือวาง Ctrl+V
รับประกันความเป็นส่วนตัวโดยไม่มีการส่งข้อมูลผ่านเครือข่าย: อัปโหลด 0 ไบต์ไปยังเซิร์ฟเวอร์ภายนอก การประมวลผลทั้งหมดเกิดขึ้นภายในแซนด์บ็อกซ์ของเบราว์เซอร์ของคุณ

ลายเซ็นส่วนหัวระดับไบต์

ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ TTF โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:

ลายเซ็น HEX (OFFSET 0):

00 01 00 00

การแสดงผลรูปแบบ ASCII: ....

มาตรฐาน: ISO/IEC 14496-22 / Apple TrueType Reference Manual

ข้อมูลจำเพาะทางเทคนิค

สถาปัตยกรรมคอนเทนเนอร์ไดเรกทอรีตาราง SFNT ที่ครอบคลุมไกลฟ์เส้นโค้งเบซิเยร์กำลังสอง (ตาราง 'glyf') และคำสั่งไบต์โค้ดสำหรับ hinting ฟอนต์
การบีบอัดตาราง SFNT แบบไม่บีบอัด (บีบอัดด้วย Brotli ใน WOFF2)
การจัดลำดับไบต์ลำดับไบต์แบบ Big-Endian (มาตรฐาน SFNT ของ Motorola)
พื้นที่สีไกลฟ์อีโมจิสี COLR/CPAL, ตารางอีโมจิ SBIX ของ Apple, บิตแมปสี CBDT ของ Google
ช่องสัญญาณและโครงสร้างเส้นขอบไกลฟ์, เครื่องเสมือนไบต์โค้ด hinting, เคอร์นิง และตารางจับคู่อักขระ (cmap)
ขนาดสูงสุดรองรับไกลฟ์สูงสุด 65,535 ตัวต่อไฟล์ฟอนต์
ความโปร่งใสรองรับความโปร่งใสแบบอัลฟาในรูปแบบไกลฟ์อีโมจิสี
การสตรีมและแบบโปรเกรสซีฟเข้าถึงข้อมูลแบบสุ่มตามตารางผ่านไดเรกทอรีตาราง SFNT

ตารางเปรียบเทียบทางเทคนิค: TTF กับคู่แข่ง

คุณลักษณะทางเทคนิคTTF (ปัจจุบัน)OTFWOFF2WOFF
คณิตศาสตร์เส้นโค้งเค้าร่างเส้นโค้งเบซิเยร์แบบกำลังสอง ('glyf')เส้นโค้งเบซิเยร์แบบลูกบาศก์ ('CFF ')กำลังสองหรือลูกบาศก์ (บีบอัด)กำลังสองหรือลูกบาศก์ (บีบอัด)
เครื่องมือฮินต์ฟอนต์เครื่องเสมือนไบต์โค้ดที่สมบูรณ์เชิงทัวริงฮินต์ PostScript แบบประกาศคงรักษาจากฟอนต์ต้นทางคงรักษาจากฟอนต์ต้นทาง
ลายเซ็นไฟล์0x00 0x01 0x00 0x00OTTO (0x4F 0x54 0x54 0x4F)wOF2 (0x77 0x4F 0x46 0x32)wOFF (0x77 0x4F 0x46 0x46)
การปรับแต่งสำหรับเว็บไม่ได้บีบอัด (เน้นเดสก์ท็อป)ไม่ได้บีบอัด (เน้นเดสก์ท็อป)บีบอัดด้วย Brotli การประหยัดขนาดไฟล์แตกต่างตามฟอนต์บีบอัดด้วย zlib

รูปแบบความเสียหายทั่วไปและคู่มือการกู้คืน Hex

ฟอนต์แสดงผลด้วยข้อบกพร่องพิกเซลหยักหรือรูปร่างตัวอักษรบิดเบี้ยวที่ขนาดฟอนต์เฉพาะ

สาเหตุหลัก: ข้อบกพร่องในไบต์โค้ด hinting ของ TrueType ที่เครื่องเสมือนฟอนต์เรียกใช้

การกู้คืน: สร้างเค้าร่างฟอนต์ใหม่หรือลบการฮินต์ออกโดยใช้ File2File.app Font Tool

การวิเคราะห์ความปลอดภัยและเวกเตอร์การโจมตีตัวแยกวิเคราะห์

เครื่องเสมือนไบต์โค้ดของ TrueType รันคำสั่งคล้ายแอสเซมบลีที่ยังไม่ได้ตรวจสอบ ซึ่งในอดีตตกเป็นเป้าหมายสำหรับการเจาะช่องโหว่เคอร์เนล

เวกเตอร์การโจมตีที่ทราบ

  • เขียนหน่วยความจำนอกขอบเขตในตัวแปลไบต์โค้ด TrueType (เช่น CVE-2015-2426)
  • การล้นของจำนวนเต็มระหว่างการแยกวิเคราะห์ไดเรกทอรีตารางฟอนต์ในไดรเวอร์กราฟิกเคอร์เนล
  • การปฏิเสธการให้บริการผ่านลูปอนันต์ในการดำเนินการฮินต์ฟอนต์

แนวทางปฏิบัติที่ดีที่สุดในการป้องกัน: ดำเนินการฮินต์ฟอนต์ในพื้นที่หน่วยความจำแซนด์บ็อกซ์ที่ไม่มีสิทธิ์พิเศษอย่างเคร่งครัด

ประวัติความเป็นมาและเหตุการณ์สำคัญ

1992Microsoft รวมฟอนต์ TrueType หลัก 44 แบบ (รวมถึง Arial, Times New Roman และ Courier New) เข้ากับ Windows 3.1
1991Apple เปิดตัว TrueType พร้อมกับ Mac OS System 7
1989วิศวกรของ Apple Sampo Kaasila และ Mike Reed สร้าง TrueType (ชื่อรหัส 'Royal') เพื่อหลีกเลี่ยงการจ่ายค่าลิขสิทธิ์ให้ Adobe สำหรับฟอนต์ PostScript

ข้อได้เปรียบและจุดเด่นสำคัญ

  • การ hint ของ TrueType อาจช่วยให้แสดง glyph บนจอความละเอียดต่ำได้ดีขึ้น แต่ผลลัพธ์ขึ้นอยู่กับ rasterizer
  • TrueType รองรับโดยระบบเดสก์ท็อปและมือถือหลายระบบ แต่การรองรับขึ้นอยู่กับแพลตฟอร์มและฟอนต์
  • ประสิทธิภาพการเรนเดอร์ที่ยอดเยี่ยม: เส้นโค้งเบซิเยร์แบบกำลังสองเร็วกว่าเส้นโค้งลูกบาศก์ในแง่ของการคำนวณเมื่อนำมาเรสเตอร์

ข้อจำกัดทางเทคนิคและข้อควรพิจารณา

  • การสร้างคำสั่งฮินต์ TrueType ด้วยมือเป็นเรื่องที่ยากและใช้เวลานานมากสำหรับนักออกแบบตัวอักษร
  • คอนเทนเนอร์ SFNT ที่ไม่ได้บีบอัดมีขนาดใหญ่กว่ารูปแบบเฉพาะของเว็บ เช่น WOFF2
  • ขาดชุดตัวอักษรทางเลือกสไตล์ OpenType จำนวนมากที่มักพบใน OTF แบบตระกูล PostScript

เกร็ดความรู้ทางเทคนิคที่น่าสนใจ

  • 4 ไบต์แรกของฟอนต์ TrueType มาตรฐานคือ 0x00 0x01 0x00 0x00 ซึ่งแสดงถึงเวอร์ชัน 1.0 ในรูปแบบจุดคงที่ 16.16
  • อีโมจิทุกตัวบนโทรศัพท์ iPhone และ Android ของคุณแสดงผ่านตารางกลิฟสีเฉพาะทางที่ฝังอยู่ในฟอนต์ TrueType/OpenType
  • ฟอนต์อีโมจิบางแบบใช้ตาราง glyph สีในฟอนต์ TrueType หรือ OpenType รูปลักษณ์อีโมจิและการรองรับฟอนต์แตกต่างตามแพลตฟอร์ม

คำถามทางเทคนิคที่พบบ่อย

ฉันสามารถแปลง TTF เป็น WOFF2 สำหรับเว็บไซต์ของฉันได้หรือไม่

การแปลง TTF เป็น WOFF2 ด้วย File2File.app อาจช่วยลดขนาดไฟล์ โดยปริมาณขึ้นอยู่กับฟอนต์และการตั้งค่าการแปลง

เหตุใด Apple และ Microsoft จึงสร้าง TrueType ขึ้นมา

พวกเขาสร้าง TrueType เพื่อหลีกเลี่ยงการจ่ายค่าลิขสิทธิ์ที่สูงให้กับ Adobe สำหรับฟอนต์ Type 1 และเพื่อให้ระบบปฏิบัติการสามารถควบคุมการเรนเดอร์ฟอนต์บนหน้าจอได้อย่างเต็มที่

ฉันจะติดตั้งฟอนต์ TTF ได้อย่างไร

บน Windows ให้คลิกขวาที่ไฟล์ .ttf แล้วเลือก 'ติดตั้ง' บน Mac ให้ดับเบิลคลิกที่ไฟล์ .ttf แล้วคลิก 'ติดตั้งฟอนต์' ใน Font Book