EOT
Embedded OpenType — รูปแบบ web font เฉพาะของ Microsoft เกี่ยวข้องเฉพาะสำหรับการรองรับ Internet Explorer รุ่นเก่า
EOT คืออะไร?
EOT ถูกสร้างโดย Microsoft ในปี 1997 เป็น รูปแบบ web font แรกเลย ถูกส่งไปยัง W3C เพื่อการกำหนดมาตรฐานแต่ไม่ได้รับการยอมรับ — ส่วนใหญ่เพราะอัลกอริทึมการบีบอัดเฉพาะ (MTX) และคุณสมบัติ DRM ในตัวที่ผู้ขายเบราว์เซอร์อื่นปฏิเสธ
รูปแบบนี้รวม URL binding กลไกที่จำกัดฟอนต์ให้ใช้งานได้เฉพาะบนโดเมนที่ระบุ และรองรับ การ subset ฟอนต์ เพื่อลดขนาดไฟล์โดยลบ glyphs ที่ไม่ใช้ออก สิ่งเหล่านี้เป็นคุณสมบัติที่ล้ำหน้าในปลายทศวรรษ 1990 แต่ลักษณะเฉพาะของรูปแบบหมายความว่ามันถูกนำไปใช้เฉพาะใน Internet Explorer เท่านั้น
เกือบทศวรรษ — ตั้งแต่ IE 4 จนถึงกลางยุค 2000 — EOT เป็น วิธีเดียว ในการใช้ฟอนต์กำหนดเองบนเว็บ ต้องรอจนกว่า WOFF จะมาในปี 2010 จึงจะมีทางเลือกข้ามเบราว์เซอร์ ปัจจุบัน EOT เป็นสิ่งที่ล้าสมัย: มีประโยชน์เฉพาะสำหรับโปรเจกต์ที่หายากที่ยังต้องรองรับ IE 8 หรือก่อนหน้า
วิธีการทำงาน
ไฟล์ EOT ห่อข้อมูลฟอนต์ TrueType ด้วย การบีบอัด MTX ของ Microsoft และ header เฉพาะ header มีข้อมูล URL binding (รายการโดเมนที่ฟอนต์ได้รับอนุญาตให้โหลด) flags การอนุญาตสิทธิ์ และ metadata ฟอนต์เช่นชื่อ family และ style
เมื่อ Internet Explorer พบ EOT font ใน stylesheet มันจะอ่าน header ตรวจสอบว่า URL ต้นทางของหน้าปัจจุบันตรงกับโดเมนที่อนุญาตหนึ่งในนั้น และเฉพาะเมื่อนั้นจึงแตกการบีบอัดและ render ฟอนต์ ถ้าการตรวจสอบ URL ล้มเหลว ฟอนต์จะถูกปฏิเสธแบบเงียบๆ — เป็นการป้องกัน hotlink ขั้นพื้นฐาน
ไวยากรณ์ "bulletproof" @font-face แบบคลาสสิกที่รวม EOT มีลักษณะดังนี้:
@font-face {
font-family: 'MyIcons';
src: url('icons.eot'); /* IE9 compat */
src: url('icons.eot?#iefix') format('embedded-opentype'),
url('icons.woff2') format('woff2'),
url('icons.woff') format('woff'),
url('icons.ttf') format('truetype');
}
query string ?#iefix เป็นวิธีแก้ปัญหา IE 9 parser bug IE 9 ไม่สามารถจัดการรายการ src หลายรายการในการประกาศเดียวได้อย่างถูกต้อง — มันพยายามโหลดทั้งสตริง (รวมถึงคำใบ้ format()) เป็น URL เดียวซึ่งจะล้มเหลว การเพิ่ม ?#iefix ไปยัง URL ของ EOT หลอก IE 9 ให้ถือเป็น URL ที่ถูกต้องและเป็นอิสระ เบราว์เซอร์สมัยใหม่ละเว้น query string ทั้งหมด
ข้อดีและข้อเสีย
- รูปแบบฟอนต์เดียวที่รองรับโดย IE 6-8
- ขนาดไฟล์เล็กด้วยการบีบอัด MTX
- URL binding ให้การป้องกัน hotlink ขั้นพื้นฐาน
- รูปแบบเฉพาะของ Microsoft (ไม่ได้รับการกำหนดมาตรฐานโดย W3C)
- ใช้งานได้เฉพาะใน Internet Explorer
- DRM/URL binding ที่ซับซ้อนอาจทำให้เกิดปัญหาการ deploy
- เบราว์เซอร์สมัยใหม่ไม่รองรับ
- เทคโนโลยีที่เลิกใช้แล้วโดยไม่มีการพัฒนาต่อ
เมื่อไรควรใช้ EOT
เฉพาะเมื่อคุณ ต้องรองรับ IE 8 หรือก่อนหน้า เบราว์เซอร์โบราณเหล่านี้ไม่เข้าใจ WOFF, WOFF2 หรือแม้แต่ TTF ดิบผ่าน @font-face — EOT เป็นตัวเลือกเดียวของพวกเขา
สำหรับ IE 9-11 WOFF เป็นตัวเลือกที่ดีกว่า: เป็นมาตรฐานเปิด มีการรองรับเครื่องมือที่กว้างกว่า และไม่มีภาระของ DRM และ URL binding หาก analytics ของคุณแสดง traffic IE 8 เป็นศูนย์ — ซึ่งเป็นไปได้สูงในปี 2024 และต่อไป — ข้าม EOT ทั้งหมด
ก่อนรวม EOT ใน build ของคุณ ตรวจสอบ analytics เบราว์เซอร์จริงของคุณ ส่วนแบ่งการใช้งานทั่วโลกของ IE 8 และก่อนหน้าเป็น 0% อย่างมีประสิทธิภาพ เว้นแต่คุณกำหนดเป้าหมายระบบ intranet ขององค์กรเฉพาะหรือระบบรัฐบาลที่ยึดติดกับ IE เวอร์ชันเก่า EOT จะเพิ่มความซับซ้อนของ build โดยไม่มีประโยชน์จริง
ttf2eot เพื่อแปลงจาก TTF ดังนั้นไม่มีขั้นตอนการแปลงด้วยตนเอง — เพียงสลับตัวเลือกในกล่องโต้ตอบการส่งออกและไฟล์ .eot จะถูกสร้างพร้อมกับรูปแบบฟอนต์อื่นๆ ของคุณ