تنسيق خطوط الويب المفتوحة (.woff)

W3C قياسي

تنسيق خط الويب المفتوح (WOFF) هو تنسيق خط ويب قياسي مفتوح تاريخي من الجيل الأول معتمد من قبل W3C، حيث يغلف خطوط TrueType أو OpenType القياسية باستخدام ضغط zlib وبيانات تعريف ترخيص XML.

فحص البيانات الوصفية

تتعرف أنظمة التشغيل ومحللات الملفات على ملفات WOFF من خلال فحص تسلسل البايت الثنائي البادئ:

اختر أو أقطِف الملفات هنا

تحويل خاص بنسبة 100% داخل المتصفح - لا تغادر الملفات جهازك أبداً

أو الصق Ctrl+V
ضمان الخصوصية وعدم الإرسال عبر الشبكة: صفر بايت يتم رفعه إلى خوادم خارجية. تمت كل عمليات المعالجة محلياً في صندوق الحماية (Sandbox) الخاص بمتصفحك.

توقيع رأس الملف على مستوى البايت (Magic Bytes)

تتعرف أنظمة التشغيل ومحللات الملفات على ملفات WOFF من خلال فحص تسلسل البايت الثنائي البادئ:

التوقيع الست عشري (الإزاحة 0):

77 4F 46 46

تمثيل ASCII: wOFF

القياسية: W3C Recommendation (2012)

المواصفات الفنية

هيكلية الحاوية44-byte WOFF header followed by table directory, zlib-compressed table data, optional extended metadata, and private data
الضغطDeflate (zlib) compression applied to each individual font table
ترتيب البايتات (Endianness)Big-Endian (SFNT standard)
مساحات الألوانInherited from underlying font tables
القنوات والبنيةTrueType ('glyf') or PostScript ('CFF ') glyph outlines, metrics, and typographic features
الحد الأقصى للأبعادUp to 65,535 glyphs per font file
الشفافيةInherited from underlying font format
البث والتحميل التدرجيTable-by-table decompression enables streaming font loading

مصفوفة المقارنة التقنية: 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)
حجم الملف النسبيأصغر بنسبة ~40% مقارنة بـ TTFأصغر بنسبة ~60% مقارنة بـ TTFالمعيار الأساسي (100%)المعيار الأساسي (100%)
البيئة المستهدفةمتصفحات الويب القديمة (IE9+، Safari 5+)متصفحات الويب الحديثة (عالمية)أنظمة تشغيل سطح المكتبالنشر المكتبي والطباعة

أنماط التلف الشائعة ودليل استرداد النظام السداسي

تحذير وحدة تحكم المتصفح: 'فشل في فك تشفير الخط المُنزَّل: خطأ في تحليل OTS'.

السبب الجذري: عدم تطابق في طول الجدول غير المضغوط المُعلَن عنه أو تضرر تدفق zlib.

الاسترداد: إعادة ضغط جداول الخطوط أو التحويل إلى WOFF2 باستخدام محول الخطوط File2File Font Converter.

تحليل الأمان وناقلات هجوم المحلل اللغوي

تقوم متصفحات الويب بتحليل ملفات WOFF المُنزَّلة من نطاقات ويب غير موثوق بها باستخدام مطهر OpenType (OTS) لحظر حمولات الاستغلال.

ناقلات الهجوم المعروفة

  • تجاوز قراءة المخزن المؤقت أثناء ضغط zlib لأجزاء جدول الخطوط التالفة.
  • حقول طول جدول غير متطابقة تسبب تجاوزات مخزن الذاكرة المؤقتة للكومة في عارضات الخطوط.
  • حرمان من الخدمة من خلال استنفاد الذاكرة أثناء توسيع جدول الخطوط.

أفضل الممارسات الدفاعية:

الأصول التاريخية والمحطات الرئيسية

2018تم استبداله بواسطة WOTF2 باعتباره معيار خط الويب المفضل نظراً لضغط Brotli المتفوق.
2012تنشر منظمة W3C رسمياً تنسيق WOFF 1.0 كوصية معيارية رسمية لتنسيق الويب.
2009يقوم كل من Henrik Rydgård و Tal Leming و Jonathan Kew بتحديد مواصفات WOFF لحل مخاوف ترخيص خطوط الويب.

المزايا الرئيسية والإيجابيات

  • يقلل من أحجام ملفات خطوط الويب بنسبة 30% إلى 50% مقارنة بملفات TTF أو OTF الخام غير المضغوطة.
  • توافق عكسي شامل عبر كل متصفح ويب لأجهزة سطح المكتب والهواتف المحولة تم إصداره منذ عام 2011.
  • يستوعب كتلة بيانات تعريف XML اختيارية لترخيص الخطوط، واعتمادات المؤلف، ومعلومات حقوق النشر للمسبك.

القيود الفنية والسلبيات

  • تم استبداله بـ WOFF2، والذي يضغط بحجم أصغر بنسبة 30% تقريباً باستخدام خوارزمية Brotli.
  • لا يمكن تثبيته مباشرة في أنظمة تشغيل سطح المكتب (Windows/Mac) بدون تحويل إلى TTF/OTF.
  • خوارزمية ضغط zlib القديمة أقل كفاءة من مشفرات الانتروبيا الحديثة.

معلومات تقنية طريفة

  • بايتات السحر لتنسيق 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 الأحدث من جوجل وتعديلات الجداول، مما ينتج عنه ملفات أصغر بنسبة 30% تقريباً مقارنة بصيغة WOFF.

كيف يمكنني تحويل خط WOFF إلى TTF أو OTF للاستخدام على سطح المكتب؟

يمكنك تحويل ملفات WOFF إلى خطوط TTF أو OTF قابلة للتثبيت على سطح المكتب في ثوانٍ باستخدام File2File.app مباشرة في متصفح الويب الخاص بك.

هل ما زلت بحاجة إلى صيغة WOFF 1.0 على مواقع الويب الحديثة؟

لا. تدعم جميع المتصفحات الحديثة صيغة WOFF2 بشكل أصلي. لا تكون صيغة WOFF 1.0 مطلوبة إلا إذا كنت بحاجة إلى دعم متصفحات قديمة عفا عليها الزمن مثل إنترنت إكسبلورر.