ما هو ملف WOFF؟
WOFF (صيغة خطوط الويب المفتوحة) هي صيغة حاوية للخطوط مصممة خصيصاً لتوصيل الويب بكفاءة، طورتها موزيلا وType Supply وLettError. أصبحت توصية W3C عام 2012. تغلّف بيانات خطوط TrueType أو OpenType الموجودة مع ضغط zlib وتضيف كتلة بيانات وصفية لمعلومات الترخيص، مما يقلل أحجام ملفات الخطوط بنسبة 30-40% مقارنة بملفات TTF/OTF الخام.
تدعم جميع المتصفحات الحديثة ملفات WOFF بشكل أصلي، وتظل مستخدمة على نطاق واسع كصيغة احتياطية إلى جانب WOFF2.
كيفية فتح ملفات WOFF
- جميع المتصفحات الحديثة — عرض أصلي عبر CSS
@font-face - FontForge (ويندوز، ماك، لينكس) — محرر خطوط مجاني ومفتوح المصدر يقرأ WOFF ويكتبه
- Transfonter (ويب) — أداة عبر الإنترنت لتحويل صيغ الخطوط
- FontDrop (ويب) — عارض خطوط عبر الإنترنت وفاحص الحروف
المواصفات التقنية
| الخاصية | القيمة |
|---|---|
| الضغط | zlib (خوارزمية DEFLATE) |
| بيانات الخط | يغلّف TTF أو OTF مع البيانات الوصفية |
| تقليل الحجم | ~30-40% أصغر من TTF المعادل |
| البيانات الوصفية | كتلة XML اختيارية للترخيص/حقوق النشر |
| بايتات سحرية | 77 4F 46 46 (أي wOFF بـ ASCII) |
| نوع MIME | font/woff |
| دعم المتصفحات | جميع المتصفحات الحديثة |
الاستخدامات الشائعة
- الطباعة المخصصة على الويب: تحميل خطوط العلامات التجارية عبر CSS
@font-face - الخطوط المستضافة ذاتياً: استضافة الخطوط على خادمك الخاص بدلاً من Google Fonts للامتثال لـ GDPR
- التوافق الاحتياطي: تقديم WOFF إلى جانب WOFF2 لدعم المتصفحات الأقدم
- خطوط الأيقونات: مكتبات مثل Font Awesome توزع الأيقونات كملفات WOFF/WOFF2
استخدام WOFF في CSS
@font-face {
font-family: 'خطي';
src: url('/fonts/myfont.woff2') format('woff2'),
url('/fonts/myfont.woff') format('woff');
font-weight: 400;
font-style: normal;
font-display: swap;
}
body {
font-family: 'خطي', system-ui, sans-serif;
}
خاصية font-display: swap تعرض خطاً احتياطياً فورياً بينما يُحمَّل الخط المخصص، مما يمنع النص غير المرئي أثناء التحميل. يُدرج WOFF2 أولاً بوصفه الصيغة المفضلة؛ وWOFF هو الاحتياط للمتصفحات الأقدم.
WOFF مقابل WOFF2 مقابل TTF
| الصيغة | الضغط | الحجم | دعم المتصفحات |
|---|---|---|---|
| TTF | لا يوجد | الأكبر | الجميع |
| WOFF | zlib | ~60-70% من TTF | جميع الحديثة + IE9+ |
| WOFF2 | Brotli | ~40-50% من TTF | جميع الحديثة (95%+) |
للمشاريع الجديدة: قدّم WOFF2 كصيغة أساسية مع WOFF كاحتياط. TTF مطلوب فقط لدعم المتصفحات القديمة جداً كـ IE8 وما قبله، وهو غير ذي صلة عملياً.