वेब ओपन फ़ॉन्ट फ़ॉर्मेट (.woff)
W3C मानकवेब ओपन फॉन्ट फॉर्मेट (WOFF) W3C द्वारा समर्थित ऐतिहासिक पहली पीढ़ी का ओपन स्टैंडर्ड वेब फॉन्ट फॉर्मेट है, जो zlib कम्प्रेशन और XML लाइसेंसिंग मेटाडेटा के साथ मानक TrueType या OpenType फॉन्ट को रैप करता है।
इंस्पेक्ट और मेटाडेटा
ऑपरेटिंग सिस्टम और फ़ाइल विश्लेषक शुरुआती बाइनरी बाइट अनुक्रम का निरीक्षण करके WOFF फ़ाइलों की पहचान करते हैं:
बाइट-स्तरीय हेडर हस्ताक्षर (मैजिक बाइट्स)
ऑपरेटिंग सिस्टम और फ़ाइल विश्लेषक शुरुआती बाइनरी बाइट अनुक्रम का निरीक्षण करके WOFF फ़ाइलों की पहचान करते हैं:
HEX हस्ताक्षर (ऑफ़सेट 0):
77 4F 46 46ASCII निरूपण: 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 |
| बाइट एंडियानेस | 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 |
| पारदर्शिता (Transparency) | Inherited from underlying font format |
| स्ट्रीमिंग और प्रोग्रेसिव | Table-by-table decompression enables streaming font loading |
तकनीकी तुलना मैट्रिक्स: WOFF बनाम प्रतियोगी
| तकनीकी विशेषता | WOFF (वर्तमान) | WOFF2 | TTF | OTF |
|---|---|---|---|---|
| कंप्रेशन कोडेक | प्रति तालिका Deflate (zlib) | तालिका प्रीप्रोसेसिंग के साथ Brotli | असंपीडित SFNT | असंपीडित SFNT |
| मैजिक सिग्नेचर | wOFF (0x77 0x4F 0x46 0x46) | wOF2 (0x77 0x4F 0x46 0x32) | 0x00 0x01 0x00 0x00 | OTTO (0x4F 0x54 0x54 0x4F) |
| सापेक्ष फ़ाइल आकार | TTF से ~40% छोटा | TTF से ~60% छोटा | बेसलाइन स्टैंडर्ड (100%) | बेसलाइन स्टैंडर्ड (100%) |
| लक्षित पर्यावरण | लिगेसी वेब ब्राउज़र (IE9+, Safari 5+) | आधुनिक वेब ब्राउज़र (यूनिवर्सल) | डेस्कटॉप ऑपरेटिंग सिस्टम | डेस्कटॉप पब्लिशिंग और प्रिंट |
सामान्य करप्शन मोड और हेक्स रिकवरी गाइड
ब्राउज़र कंसोल चेतावनी: 'Failed to decode downloaded font: OTS parsing error'।
मूल कारण: घोषित असंपीडित तालिका लंबाई में बेमेल या क्षतिग्रस्त zlib स्ट्रीम।
रिकवरी: फॉन्ट तालिकाओं को पुनः संपीड़ित करें या File2File फॉन्ट कनवर्टर का उपयोग करके WOFF2 में कनवर्ट करें।
सुरक्षा विश्लेषण और पार्सर अटैक वेक्टर्स
वेब ब्राउज़र एक्सप्लॉइट पेलोड को ब्लॉक करने के लिए ओपनटाइप सैनिटाइज़र (OTS) का उपयोग करके अविश्वसनीय वेब डोमेन से डाउनलोड की गई WOFF फाइलों को पार्स करते हैं।
ज्ञात अटैक वेक्टर्स
- भ्रष्ट फॉन्ट तालिका चंक के zlib डिकम्प्रेशन के दौरान बफर ओवर-रीड।
- फॉन्ट रेंडरर्स में हीप बफर ओवरफ्लो को ट्रिगर करने वाले बेमेल तालिका लंबाई फ़ील्ड।
- फॉन्ट तालिका विस्तार के दौरान मेमोरी थकावट के माध्यम से सेवा से इनकार (DoS)।
सुरक्षात्मक सर्वोत्तम प्रथाएँ:
ऐतिहासिक मूल और मील के पत्थर
मुख्य लाभ और खूबियाँ
- कच्ची असंपीडित TTF या OTF फाइलों की तुलना में वेब फॉन्ट फाइल के आकार को 30% से 50% तक कम करता है।
- 2011 के बाद जारी किए गए प्रत्येक डेस्कटॉप और मोबाइल वेब ब्राउज़र में यूनिवर्सल बैकवर्ड कम्पैटिबिलिटी।
- फॉन्ट लाइसेंसिंग, लेखक क्रेडिट और फाउंड्री कॉपीराइट जानकारी के लिए एक वैकल्पिक XML मेटाडेटा ब्लॉक शामिल है।
तकनीकी सीमाएँ और कमियाँ
- WOFF2 द्वारा प्रतिस्थापित, जो Brotli एल्गोरिदम का उपयोग करके लगभग 30% छोटा संपीड़न करता है।
- TTF/OTF में रूपांतरण के बिना सीधे डेस्कटॉप ऑपरेटिंग सिस्टम (Windows/Mac) में स्थापित नहीं किया जा सकता है।
- पुराना zlib संपीड़न एल्गोरिदम आधुनिक एन्ट्रॉपी एनकोडर की तुलना में कम कुशल है।
रोचक तकनीकी जानकारी
- WOFF 1.0 के लिए मैजिक बाइट्स 'wOFF' (0x77 0x4F 0x46 0x46) हैं, जबकि WOFF 2.0 'wOF2' का उपयोग करता है।
- टाइप फाउंड्रीज़ केवल WOFF के बनाए जाने के बाद ही वेब पर अपने फॉन्ट की अनुमति देने के लिए सहमत हुईं, क्योंकि इसके विशिष्ट कंटेनर ने वेब फॉन्ट को पाइरेटेबल डेस्कटॉप फॉन्ट से अलग किया था।
- आधिकारिक W3C रिकमेंडेशन बनने से पहले WOFF को मूल रूप से 2010 में Firefox 3.6 में लागू किया गया था।
अक्सर पूछे جانے वाले तकनीकी प्रश्न
WOFF और WOFF2 में क्या अंतर है?
WOFF zlib संपीड़न का उपयोग करता है, जबकि WOFF2 Google के नए Brotli एल्गोरिथ्म और टेबल ट्रांसफॉर्म का उपयोग करता है, जिसके परिणामस्वरूप ऐसी फ़ाइलें मिलती हैं जो WOFF से लगभग 30% छोटी होती हैं।
डेस्कटॉप उपयोग के लिए मैं WOFF फ़ॉन्ट को TTF या OTF में कैसे बदल सकता हूँ?
आप अपने वेब ब्राउज़र में सीधे File2File.app का उपयोग करके सेकंडों में WOFF फ़ाइलों को इंस्टॉल करने योग्य डेस्कटॉप TTF या OTF फ़ॉन्ट्स में बदल सकते हैं।
क्या मुझे अभी भी आधुनिक वेबसाइटों पर WOFF 1.0 की आवश्यकता है?
नहीं। सभी आधुनिक ब्राउज़र मूल रूप से WOFF2 का समर्थन करते हैं। WOFF 1.0 की आवश्यकता केवल तभी होती है जब आपको इंटरनेट एक्सप्लोरर जैसे पुराने लेगेसी ब्राउज़रों का समर्थन करना हो।