ไฟล์ WOFF คืออะไร??
ไฟล์ที่มีนามสกุล .woff คือไฟล์ฟอนต์บนเว็บตามรูปแบบ Web Open Font (WOFF) มีคอนเทนเนอร์บีบอัดเฉพาะรูปแบบตามประเภทฟอนต์ TrueType (.TTF) หรือ OpenType (.OTT) WOFF ได้รับการแนะนำโดยมีวัตถุประสงค์เพื่อให้ฟอนต์เว็บแตกต่างจากไฟล์ฟอนต์ที่ใช้ในแอปพลิเคชันเดสก์ท็อป นอกจากนี้ รูปแบบยังกำหนดเป้าหมายเพื่อลดเวลาแฝงของการถ่ายโอนแบบอักษรจากเซิร์ฟเวอร์ไปยังคอมพิวเตอร์ของลูกค้าผ่านเครือข่าย มีเครื่องมือหลายอย่างที่สามารถแปลงไฟล์ WOFF เป็น TTF และรูปแบบไฟล์ฟอนต์อื่นๆ
รูปแบบไฟล์ WOFF
รูปแบบฟอนต์ WOFF บีบอัดตารางข้อมูลฟอนต์ของโครงสร้าง sfnt แบบตารางที่ใช้ในฟอนต์ประเภทต่างๆ เช่น TrueType, OpenType และ Open Font Format เป็นเหมือนคอนเทนเนอร์สำหรับประเภทฟอนต์เหล่านี้ และยังมีห้องสำหรับรวมข้อมูลเมตาของฟอนต์และข้อมูลการใช้งานส่วนตัวที่จะรวมไว้ในคอนเทนเนอร์ ตัวแปลงใช้ไฟล์ sfnt เป็นไฟล์ที่จัดรูปแบบ WOFF และตัวแทนผู้ใช้จะกู้คืนไฟล์ที่เข้ารหัสเพื่อใช้กับเอกสารบนเว็บ โปรดทราบว่าข้อมูลฟอนต์ที่กู้คืนนั้นตรงกับรูปแบบฟอนต์อินพุตจากทุกด้านทุกประการ
ยูทิลิตี้ไฟล์ WOFF มักมีคุณสมบัติเพิ่มเติม เช่น การตั้งค่าย่อย glyph การตรวจสอบความถูกต้อง หรือการเพิ่มคุณลักษณะแบบอักษร แต่ไม่จำเป็น ทั้งผู้สร้างและตัวแทนการใช้งานต้องมั่นใจว่าข้อมูลฟอนต์พื้นฐานนั้นถูกต้อง
โครงสร้างไฟล์ WOFF
โครงสร้างไฟล์ WOFF คล้ายกับฟอนต์ sfnt ซึ่งขึ้นอยู่กับไดเร็กทอรีตารางที่มีความยาวและออฟเซ็ตของตารางข้อมูลฟอนต์แต่ละตาราง ตารางทั้งหมดจะตามหลังข้อมูลเริ่มต้นนี้ ไฟล์นี้มีฐานข้อมูลฟอนต์ที่เหมือนกับฟอนต์ดั้งเดิม ลำดับของตารางจะเหมือนกัน แต่แต่ละตารางอาจถูกบีบอัด ไดเร็กทอรีตาราง WOFF จะแทนที่ไดเร็กทอรีตารางเดิม
ไฟล์ WOFF ประกอบด้วยสิ่งต่อไปนี้:
- WOFFHeader - ส่วนหัวของไฟล์ที่มีประเภทและเวอร์ชันแบบอักษรพื้นฐาน พร้อมด้วยการชดเชยข้อมูลเมตาและบล็อกข้อมูลส่วนตัว
- TableDirectory - ไดเรกทอรีของตารางแบบอักษร ระบุขนาดต้นฉบับ ขนาดที่บีบอัด และตำแหน่งของแต่ละตารางภายในไฟล์ WOFF
- FontTables - ตารางข้อมูลฟอนต์จากฟอนต์ sfnt อินพุต บีบอัดเพื่อลดความต้องการแบนด์วิธ
- ExtendedMetadata - บล็อกทางเลือกของข้อมูลเมตาเพิ่มเติม ซึ่งแสดงในรูปแบบ XML และบีบอัดเพื่อจัดเก็บในไฟล์ WOFF
- PrivateData- บล็อกตัวเลือกของข้อมูลส่วนตัวสำหรับนักออกแบบฟอนต์ โรงหล่อ หรือผู้ขายที่จะใช้
ส่วนหัว WOFF
ส่วนหัวของ WOFF ประกอบด้วยลายเซ็นที่ระบุซึ่งระบุประเภทของข้อมูลที่รวมอยู่ในไฟล์ ส่วนหัวของ WOFF พร้อมกับฟิลด์ต่างๆ มีดังต่อไปนี้
ประเภท | ชื่อฟิลด์ | คำอธิบาย |
---|---|---|
UInt32 | ลายเซ็น | 0x774F4646 ‘wOFF’ |
UInt32 | รส | “เวอร์ชัน sfnt” ของแบบอักษรอินพุต |
UInt32 | ความยาว | ขนาดทั้งหมดของไฟล์ WOFF. |
UInt16 | numTables | จำนวนรายการในไดเร็กทอรีของตารางแบบอักษร |
UInt16 | สงวน | สงวน; ตั้งค่าเป็นศูนย์ |
UInt32 | totalSfntSize | ขนาดทั้งหมดที่จำเป็นสำหรับข้อมูลฟอนต์ที่ไม่ได้บีบอัด รวมถึงส่วนหัว sfnt ไดเร็กทอรี และตารางฟอนต์ (รวมถึงช่องว่างภายใน) |
UInt16 | majorVersion | เวอร์ชันหลักของไฟล์ WOFF. |
UInt16 | minorVersion | เวอร์ชันรองของไฟล์ WOFF. |
UInt32 | metaOffset | ออฟเซ็ตเป็นบล็อกข้อมูลเมตาจากจุดเริ่มต้นของไฟล์ WOFF |
UInt32 | metaLength | ความยาวของบล็อกข้อมูลเมตาที่บีบอัด |
UInt32 | metaOrigLength | ขนาดที่ไม่บีบอัดของบล็อกข้อมูลเมตา |
UInt32 | privOffset | ออฟเซ็ตบล็อกข้อมูลส่วนตัว จากจุดเริ่มต้นของไฟล์ WOFF |
UInt32 | privLength | ความยาวของบล็อคข้อมูลส่วนตัว |