वेब ओपन फ़ॉन्ट फ़ॉर्मेट (.woff)

W3C मानक

वेब ओपन फॉन्ट फॉर्मेट (WOFF) W3C द्वारा समर्थित ऐतिहासिक पहली पीढ़ी का ओपन स्टैंडर्ड वेब फॉन्ट फॉर्मेट है, जो zlib कम्प्रेशन और XML लाइसेंसिंग मेटाडेटा के साथ मानक TrueType या OpenType फॉन्ट को रैप करता है।

निरीक्षण और मेटाडेटा

ऑपरेटिंग सिस्टम और फ़ाइल विश्लेषक शुरुआती बाइनरी बाइट अनुक्रम का निरीक्षण करके WOFF फ़ाइलों की पहचान करते हैं:

फ़ाइलें यहाँ चुनें या छोड़ें

निजी - फ़ाइलें कभी आपके डिवाइस से बाहर नहीं जातीं

या पेस्ट करें Ctrl+V
नेटवर्क पर कोई डेटा भेजे बिना गोपनीयता की गारंटी: बाहरी सर्वर पर 0 बाइट अपलोड किए गए। सारी प्रोसेसिंग आपके ब्राउज़र सैन्डबॉक्स में स्थानीय रूप से हुई।

बाइट-स्तरीय हेडर हस्ताक्षर (मैजिक बाइट्स)

ऑपरेटिंग सिस्टम और फ़ाइल विश्लेषक शुरुआती बाइनरी बाइट अनुक्रम का निरीक्षण करके WOFF फ़ाइलों की पहचान करते हैं:

HEX हस्ताक्षर (ऑफ़सेट 0):

77 4F 46 46

ASCII निरूपण: wOFF

मानकीकरण: W3C अनुशंसा (2012)

तकनीकी विनिर्देश

कंटेनर आर्किटेक्चर44-बाइट WOFF हेडर के बाद तालिका निर्देशिका, zlib-संपीड़ित तालिका डेटा, वैकल्पिक विस्तारित मेटाडेटा और निजी डेटा
कंप्रेशनहर अलग फ़ॉन्ट तालिका पर Deflate (zlib) संपीड़न लागू होता है
बाइट एंडियानेसबिग-एंडियन (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+)ब्राउज़र के अनुसार समर्थन अलग-अलग होता है।डेस्कटॉप ऑपरेटिंग सिस्टमडेस्कटॉप पब्लिशिंग और प्रिंट

सामान्य करप्शन मोड और हेक्स रिकवरी गाइड

ब्राउज़र कंसोल चेतावनी: 'Failed to decode downloaded font: OTS parsing error'।

मूल कारण: घोषित असंपीडित तालिका लंबाई में बेमेल या क्षतिग्रस्त zlib स्ट्रीम।

रिकवरी: फॉन्ट तालिकाओं को पुनः संपीड़ित करें या File2File.app फॉन्ट कनवर्टर का उपयोग करके WOFF2 में कनवर्ट करें।

सुरक्षा विश्लेषण और पार्सर अटैक वेक्टर्स

वेब ब्राउज़र एक्सप्लॉइट पेलोड को ब्लॉक करने के लिए ओपनटाइप सैनिटाइज़र (OTS) का उपयोग करके अविश्वसनीय वेब डोमेन से डाउनलोड की गई WOFF फाइलों को पार्स करते हैं।

ज्ञात अटैक वेक्टर्स

  • भ्रष्ट फॉन्ट तालिका चंक के zlib डिकम्प्रेशन के दौरान बफर ओवर-रीड।
  • फॉन्ट रेंडरर्स में हीप बफर ओवरफ्लो को ट्रिगर करने वाले बेमेल तालिका लंबाई फ़ील्ड।
  • फॉन्ट तालिका विस्तार के दौरान मेमोरी थकावट के माध्यम से सेवा से इनकार (DoS)।

सुरक्षात्मक सर्वोत्तम प्रथाएँ: ऑपरेटिंग सिस्टम फ़ॉन्ट इंजन में पास करने से पहले हमेशा OTS के साथ डाउनलोड किए गए WOFF फ़ाइलों को सैनिटाइज करें।

ऐतिहासिक मूल और मील के पत्थर

2018बेहतर Brotli कम्प्रेशन के कारण पसंदीदा वेब फॉन्ट स्टैंडर्ड के रूप में WOFF2 द्वारा इसका स्थान लिया गया।
2012W3C ने आधिकारिक तौर पर WOFF 1.0 को एक औपचारिक वेब स्टैंडर्ड रिकमेंडेशन के रूप में प्रकाशित किया।
2009हेनरिक राइडगार्ड, टाल लेमिंग और जोनाथन क्यू ने वेब फॉन्ट लाइसेंसिंग चिंताओं को हल करने के लिए WOFF को निर्दिष्ट किया।

मुख्य लाभ और खूबियाँ

  • कच्ची TTF या OTF फ़ाइलों की तुलना में वेब फ़ॉन्ट फ़ाइल का आकार घटा सकता है; कमी फ़ॉन्ट और एन्कोडर पर निर्भर करती है।
  • 2011 के बाद जारी हर डेस्कटॉप और मोबाइल वेब ब्राउज़र के साथ पिछली-संगतता।
  • फॉन्ट लाइसेंसिंग, लेखक क्रेडिट और फाउंड्री कॉपीराइट जानकारी के लिए एक वैकल्पिक XML मेटाडेटा ब्लॉक शामिल है।

तकनीकी सीमाएँ और कमियाँ

  • कई वेब कार्यप्रवाहों में WOFF2 ने इसकी जगह ली है। WOFF2 Brotli संपीड़न और फ़ॉन्ट टेबल रूपांतरण का उपयोग करता है; फ़ाइल आकार में बचत बदलती रहती है।
  • 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 की आवश्यकता केवल तभी होती है जब आपको इंटरनेट एक्सप्लोरर जैसे अप्रचलित ब्राउज़रों का समर्थन करना हो।