ما هو ملف WOFF؟
الملف ذو الامتداد .woff هو ملف خط ويب يعتمد على تنسيق خط الويب المفتوح (WOFF). يحتوي على حاوية مضغوطة خاصة بالتنسيق بناءً على أنواع خطوط TrueType (.TTF) أو OpenType (.OTT). تم تقديم WOFF بهدف تمييز خطوط الويب عن ملفات الخطوط المستخدمة في تطبيقات سطح المكتب. بالإضافة إلى ذلك ، فإن التنسيق المستهدف لتقليل زمن انتقال الخطوط من الخادم إلى كمبيوتر العميل عبر الشبكة. تتوفر العديد من الأدوات التي يمكنها تحويل ملفات WOFF إلى TTF وتنسيقات ملفات الخطوط الأخرى.
** تنسيق ملف WOFF **
يقوم تنسيق خط WOFF بضغط جداول بيانات الخط لهياكل sfnt المستندة إلى الجدول المستخدمة في أنواع خطوط مختلفة مثل TrueType و OpenType و Open Font Format. إنه مثل حاوية لأنواع الخطوط هذه ويحتوي أيضًا على مساحة لتضمين البيانات الوصفية للخط وبيانات الاستخدام الخاص ليتم تضمينها في الحاوية. تستخدم المحولات ملفات sfnt في ملف بتنسيق WOFF ويستعيد وكلاء المستخدم الملف المشفر لاستخدامه مع مستند الويب. وتجدر الإشارة إلى أن بيانات الخط المستعادة تتطابق تمامًا مع تنسيق خط الإدخال من جميع الجوانب.
غالبًا ما تحتوي أدوات WOFF file Utilities على ميزات إضافية مثل إضافة الحروف الرسومية أو التحقق من الصحة أو إضافات ميزة الخط ولكنها ليست ضرورية. يجب أن يضمن كل من المنشئ ووكلاء الاستخدام الحفاظ على صلاحية بيانات الخط الأساسية.
بنية ملف 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 | mainVersion | الإصدار الرئيسي لملف WOFF. |
UInt16 | MinorVersion | إصدار ثانوي من ملف WOFF. |
UInt32 | metaOffset | الإزاحة إلى كتلة بيانات التعريف ، من بداية ملف WOFF. |
UInt32 | metaLength | طول كتلة البيانات الوصفية المضغوطة. |
UInt32 | metaOrigLength | حجم غير مضغوط لكتلة واصفات البيانات. |
UInt32 | privOffset | الإزاحة إلى كتلة البيانات الخاصة ، من بداية ملف WOFF. |
UInt32 | privLength | طول كتلة البيانات الخاصة. |