תבנית גופני רשת פתוחה (.woff)

W3C תקן

פורמט גופני האינטרנט הפתוח (WOFF) הוא פורמט גופני האינטרנט הפתוח ההיסטורי מהדור הראשון שאושר על ידי W3C, ועוטף גופני TrueType או OpenType סטנדרטיים באמצעות דחיסת zlib ומטא-דאטה של רישוי XML.

בדיקה ומטא-נתונים

מערכות הפעלה ומנתחי קבצים מזהים קבצי WOFF על ידי בדיקת רצף הבייטים הבינארי הראשוני:

בחר או גרור קבצים לכאן

פרטי - הקבצים לעולם אינם עוזבים את המכשיר שלך

או הדבק Ctrl+V
הבטחת פרטיות ללא העברת נתונים ברשת: 0 בייט הועלו לשרתים חיצוניים. כל העיבוד התבצע באופן מקומי בארגז החול של הדפדפן שלך.

חתימת כותרת ברמת הבייט (Magic Bytes)

מערכות הפעלה ומנתחי קבצים מזהים קבצי WOFF על ידי בדיקת רצף הבייטים הבינארי הראשוני:

חתימת HEX (היסט 0):

77 4F 46 46

ייצוג ASCII: wOFF

תקינה: W3C Recommendation (2012)

מפרט טכני

מבנה המכולהכותרת WOFF בגודל 44 בתים, ואחריה ספריית טבלאות, נתוני טבלאות דחוסים ב-zlib, מטא-נתונים מורחבים אופציונליים ונתונים פרטיים
דחיסהדחיסת Deflate ‏(zlib) המופעלת על כל טבלת גופן בנפרד
סדר בתים (Endianness)סדר בתים Big-Endian (תקן SFNT)
מרחבי צבעעובר בירושה מטבלאות הגופן הבסיסיות
ערוצים ומבנהקווי מתאר של גליפי TrueType ('glyf') או PostScript ('CFF '), מדדים ותכונות טיפוגרפיות
ממדים מרבייםעד 65,535 גליפים בקובץ גופן
שקיפותעובר בירושה מתבנית הגופן הבסיסית
הזרמה ופרוגרסיביותפענוח דחיסה של כל טבלה בנפרד מאפשר טעינת גופנים בהזרמה

מטריצת השוואה טכנית: WOFF מול מתחרים

תכונה טכניתWOFF (נוכחי)WOFF2TTFOTF
קודק דחיסהDeflate (zlib) לכל טבלהBrotli עם עיבוד מקדים של טבלאותSFNT לא דחוסSFNT לא דחוס
חתימת זיהויwOFF (0x77 0x4F 0x46 0x46)wOF2 (0x77 0x4F 0x46 0x32)0x00 0x01 0x00 0x00OTTO (0x4F 0x54 0x54 0x4F)
גודל קובץ יחסיקטן לעיתים קרובות מ-TTF; החיסכון משתנה לפי הגופןקטן לעיתים קרובות מ-TTF; החיסכון משתנה לפי הגופןתקן בסיס (100%)תקן בסיס (100%)
סביבת יעדדפדפני אינטרנט ישנים (IE9+, Safari 5+)התמיכה משתנה בהתאם לדפדפן.מערכות הפעלה שולחניותהוצאה לאור שולחנית והדפסה

מצבי השחתה נפוצים ומדריך שחזור הקסדצימלי (Hex)

אזהרת קונסולת דפדפן: 'Failed to decode downloaded font: OTS parsing error'.

גורם שורש: אי התאמה באורך הטבלה הלא דחוסה המוצהרת או זרם zlib פגום.

שחזור: דחס מחדש את טבלאות הגופן או המר ל-WOFF2 באמצעות File2File.app Font Converter.

ניתוח אבטחה ווקטורי תקיפה נגד מנתחי פורמטים (parsers)

דפדפני אינטרנט מנתחים קבצי WOFF שהורדו מדומיינים לא מהימנים באינטרנט באמצעות OpenType Sanitizer (OTS) כדי לחסום עומסי ניצול לרעה.

ווקטורי תקיפה ידועים

  • קריאת יתר של חוצץ (Buffer over-read) במהלך שחרור הדחיסה של zlib של נתחי טבלת גופנים פגומים.
  • שדות אורך טבלה לא תואמים המפעילים גלישת חוצץ בערימה (heap buffer overflows) במעבדי גופנים.
  • מניעת שירות עקב מיצוי זיכרון במהלך הרחבת טבלת גופנים.

שיטות מומלצות להגנה: טהר תמיד קובצי WOFF שהורדו באמצעות OTS לפני העברתם למנועי הגופנים של מערכת ההפעלה.

היסטוריה ואבני דרך

2018מוחלף על ידי WOFF2 כתקן מועדף לגופני אינטרנט בשל דחיסת Brotli עדיפה.
2012ארגון W3C מפרסם באופן רשמי את WOFF 1.0 כהמלצת תקן אינטרנט רשמית.
2009הנריק רידגורד, טאל למינג וג'ונתן קיו מגדירים את WOFF כדי לפתור חששות לגבי רישוי גופני אינטרנט.

יתרונות מרכזיים

  • יכול לצמצם את גודל קובצי הגופנים באינטרנט לעומת קובצי TTF או OTF גולמיים; מידת הצמצום תלויה בגופן ובמקודד.
  • WOFF נתמך בדפדפנים רבים, כולל גרסאות ישנות; התאימות תלויה בגרסת הדפדפן ובפלטפורמה.
  • כולל בלוק מטא-דאטה אופציונלי של XML עבור רישוי גופנים, קרדיטים ליוצרים ומידע זכויות יוצרים של בתי יציקה לגופנים.

מגבלות טכניות וחסרונות

  • במקרים רבים WOFF2 החליף אותו בתהליכי עבודה לאינטרנט; הוא משתמש בדחיסת Brotli ובהמרות של טבלאות גופן, והחיסכון בגודל הקובץ משתנה.
  • לא ניתן להתקנה ישירות במערכות הפעלה שולחניות (Windows/Mac) ללא המרה ל-TTF/OTF.
  • אלגוריתם דחיסת zlib הישן פחות יעיל ממקודדי אנטרופיה מודרניים.

עובדות טכניות מעניינות

  • בייטים הקסדצימליים (Magic bytes) עבור WOFF 1.0 הם 'wOFF' (0x77 0x4F 0x46 0x46), בעוד ש-WOFF 2.0 משתמש ב-'wOF2'.
  • יציקות גופנים הסכימו לאפשר את הגופנים שלהם באינטרנט רק לאחר שנוצר WOFF, מכיוון שהמיכל הייעודי שלו הבדיל בין גופני אינטרנט לגופנים שולחניים הניתנים להעתקה בלתי חוקית.
  • WOFF הוטמע במקור ב-Firefox 3.6 בשנת 2010 לפני שהפך להמלצה רשמית של W3C.

שאלות טכניות נפוצות

מה ההבדל בין WOFF ל-WOFF2?

WOFF משתמש בדחיסת zlib, ואילו WOFF2 משתמש בדחיסת Brotli ובהמרות של טבלאות גופן. ההבדל בגודל הקובץ תלוי בגופן ובמקודד.

איך אני יכול להמיר גופן WOFF ל-TTF או OTF לשימוש שולחני?

אתה יכול להמיר קבצי WOFF לגופני TTF או OTF שולחניים הניתנים להתקנה בתוך שניות באמצעות File2File.app ישירות בדפדפן האינטרנט שלך.

האם אני עדיין צריך WOFF 1.0 באתרי אינטרנט מודרניים?

דפדפנים גדולים ועדכניים תומכים ב-WOFF2. גיבוי בפורמט WOFF עשוי עדיין להועיל בדפדפנים ישנים או בסביבות משובצות מסוימות.