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

W3C मानक

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

इंस्पेक्ट और मेटाडेटा

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

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

100% प्राइवेट इन-ब्राउज़र कन्वर्शन - फ़ाइलें कभी आपका डिवाइस नहीं छोड़तीं

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

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

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

HEX हस्ताक्षर (ऑफ़सेट 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
बाइट एंडियानेस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 (वर्तमान)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 से ~40% छोटाTTF से ~60% छोटाबेसलाइन स्टैंडर्ड (100%)बेसलाइन स्टैंडर्ड (100%)
लक्षित पर्यावरणलिगेसी वेब ब्राउज़र (IE9+, Safari 5+)आधुनिक वेब ब्राउज़र (यूनिवर्सल)डेस्कटॉप ऑपरेटिंग सिस्टमडेस्कटॉप पब्लिशिंग और प्रिंट

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

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

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

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

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

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

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

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

सुरक्षात्मक सर्वोत्तम प्रथाएँ:

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

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

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

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