ওয়েব ওপেন ফন্ট ফরম্যাট (.woff)

W3C স্ট্যান্ডার্ড

ওয়েব ওপেন ফন্ট ফরম্যাট (WOFF) হল ডব্লিউ৩সি (W3C) দ্বারা অনুমোদিত ঐতিহাসিক প্রথম প্রজন্মের ওপেন স্ট্যান্ডার্ড ওয়েব ফন্ট ফরম্যাট, যা zlib কম্প্রেশন এবং XML লাইসেন্সিং মেটাডেটা সহ স্ট্যান্ডার্ড TrueType বা OpenType ফন্টগুলোকে মোড়কজাত করে।

ইনস্পেক্ট ও মেটাডেটা

অপারেটিং সিস্টেম এবং ফাইল অ্যানালাইজারগুলো শুরুর বাইনারি বাইট সিকোয়েন্স পরীক্ষা করে WOFF ফাইল শনাক্ত করে:

এখানে ফাইল নির্বাচন করুন বা ড্রপ করুন

ব্যক্তিগত - ফাইল কখনোই আপনার ডিভাইস ছেড়ে যায় না

অথবা পেস্ট করুন Ctrl+V
নেটওয়ার্কে কোনো ডেটা পাঠানো হয় না - গোপনীয়তার নিশ্চয়তা: বাহ্যিক সার্ভারে ০ বাইট আপলোড করা হয়েছে। সমস্ত প্রক্রিয়াকরণ আপনার ব্রাউজার স্যান্ডবক্সে স্থানীয়ভাবে ঘটেছে।

বাইট-লেভেল হেডার সিগনেচার (ম্যাজিক বাইটস)

অপারেটিং সিস্টেম এবং ফাইল অ্যানালাইজারগুলো শুরুর বাইনারি বাইট সিকোয়েন্স পরীক্ষা করে WOFF ফাইল শনাক্ত করে:

হেক্স সিগনেচার (অফসেট 0):

77 4F 46 46

ASCII রিপ্রেজেন্টেশন: wOFF

স্ট্যান্ডার্ডাইজেশন: W3C সুপারিশ (2012)

প্রযুক্তিগত বৈশিষ্ট্য

কন্টেইনার আর্কিটেকচার44-বাইট WOFF header-এর পরে থাকে table directory, zlib-কমপ্রেসড table data, ঐচ্ছিক বর্ধিত metadata এবং private data
কম্প্রেশনপ্রতিটি font table-এ আলাদাভাবে Deflate (zlib) কমপ্রেশন প্রয়োগ করা হয়
বাইট এন্ডিয়াননেসবিগ-এন্ডিয়ান (SFNT স্ট্যান্ডার্ড)
কালার স্পেসমূল ফন্টের table থেকে উত্তরাধিকারসূত্রে পাওয়া
চ্যানেল ও কাঠামোTrueType ('glyf') বা PostScript ('CFF ') glyph outline, মেট্রিক এবং টাইপোগ্রাফির বৈশিষ্ট্য
সর্বোচ্চ মাত্রাপ্রতি ফন্ট ফাইলে সর্বোচ্চ 65,535টি glyph
স্বচ্ছতামূল ফন্ট ফরম্যাট থেকে উত্তরাধিকারসূত্রে পাওয়া
স্ট্রিমিং ও প্রোগ্রেসিভtable ধরে ডিকম্প্রেশন করে ফন্ট স্ট্রিমিংয়ে লোড করা যায়

টেকনিক্যাল তুলনা ম্যাট্রিক্স: 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 এর চেয়ে প্রায় ৬০% ছোটবেসলাইন স্ট্যান্ডার্ড (১০০%)বেসলাইন স্ট্যান্ডার্ড (১০০%)
লক্ষ্য পরিবেশলিগ্যাসি ওয়েব ব্রাউজার (IE9+, Safari 5+)ব্রাউজারভেদে সমর্থন ভিন্ন হয়।ডেস্কটপ অপারেটিং সিস্টেমডেস্কটপ পাবলিশিং ও প্রিন্ট

সাধারণ করাপশন মোড এবং হেক্স রিকভারি গাইড

ব্রাউজার কনসোল সতর্কতা: 'Failed to decode downloaded font: OTS parsing error'।

মূল কারণ: ঘোষিত আনকম্প্রেসড টেবিলের দৈর্ঘ্যের সাথে অমিল অথবা ক্ষতিগ্রস্ত zlib স্ট্রিম।

পুনরুদ্ধার: File2File.app Font Converter ব্যবহার করে ফন্ট টেবিলগুলো পুনরায় কম্প্রেস করুন বা WOFF2-এ রূপান্তর করুন।

নিরাপত্তা বিশ্লেষণ ও পার্সার অ্যাটাক ভেক্টর

এক্সপ্লয়েট পেলোড ব্লক করতে ওয়েব ব্রাউজারগুলো ওপেনটাইপ স্যানিটাইজার (OTS) ব্যবহার করে অবিশ্বাসযোগ্য ওয়েব ডোমেন থেকে ডাউনলোড করা WOFF ফাইলগুলো পার্স করে।

পরিচিত অ্যাটাক ভেক্টর

  • ক্ষতিগ্রস্ত ফন্ট টেবিল চাঙ্কের zlib ডিকম্প্রেশনের সময় বাফার ওভার-রিড।
  • অমিল টেবিল দৈর্ঘ্যের ক্ষেত্রগুলো ফন্ট রেন্ডারারগুলোতে হিপ বাফার ওভারফ্লো ঘটাচ্ছে।
  • ফন্ট টেবিল এক্সপানশনের সময় মেমরি অবসানের মাধ্যমে পরিষেবা অস্বীকার (Denial of service)।

প্রতিরক্ষামূলক সেরা অনুশীলন: অপারেটিং সিস্টেম ফন্ট ইঞ্জিনে পাস করার আগে সর্বদা OTS দিয়ে ডাউনলোড করা WOFF ফাইলগুলি স্যানিটাইজ করুন।

ঐতিহাসিক উৎপত্তি ও মাইলফলক

2018উন্নত ব্রটলিন (Brotli) কম্প্রেশনের কারণে পছন্দের ওয়েব ফন্ট স্ট্যান্ডার্ড হিসেবে WOFF2 দ্বারা প্রতিস্থাপিত হয়।
2012W3C আনুষ্ঠানিকভাবে WOFF 1.0-কে একটি আনুষ্ঠানিক ওয়েব স্ট্যান্ডার্ড রিকমেন্ডেশন হিসেবে প্রকাশ করে।
2009হেনরিক রাইডগার্ড, তাল লেমিং এবং জোনাথন কিউ ওয়েব ফন্ট লাইসেন্সিং সংক্রান্ত উদ্বেগ দূর করতে WOFF নির্দিষ্ট করেন।

প্রধান সুবিধাসমূহ ও গুণাবলী

  • কাঁচা TTF বা OTF ফাইলের তুলনায় ওয়েব ফন্টের আকার কমাতে পারে; কতটা কমবে তা ফন্ট ও encoder-এর ওপর নির্ভর করে।
  • ২০১১ সাল থেকে প্রকাশিত প্রতিটি ডেস্কটপ এবং মোবাইল ওয়েব ব্রাউজারের সাথে ইউনিভার্সাল ব্যাকওয়ার্ড কম্প্যাটিবিলিটি রয়েছে।
  • ফন্ট লাইসেন্সিং, লেখকের ক্রেডিট এবং ফাউন্ড্রি কপিরাইট তথ্যের জন্য একটি ঐচ্ছিক XML মেটাডেটা ব্লক অন্তর্ভুক্ত করে।

কারিগরি সীমাবদ্ধতা ও অসুবিধা

  • অনেক ওয়েব workflow-এ WOFF2 এটি প্রতিস্থাপন করেছে; WOFF2-তে Brotli কমপ্রেশন ও font table transform ব্যবহৃত হয়, তবে ফাইলের আকার কতটা কমবে তা ভিন্ন হতে পারে।
  • TTF/OTF-এ রূপান্তর করা ছাড়া সরাসরি ডেস্কটপ অপারেটিং সিস্টেমে (Windows/Mac) ইনস্টল করা যায় না।
  • পুরোনো zlib কম্প্রেশন অ্যালগরিদম আধুনিক এন্ট্রপি এনকোডারগুলির মতো দক্ষ নয়।

আকর্ষণীয় কারিগরি তথ্য

  • WOFF 1.0-এর ম্যাজিক বাইটগুলো হলো 'wOFF' (0x77 0x4F 0x46 0x46), অন্যদিকে WOFF 2.0 ব্যবহার করে 'wOF2'।
  • টাইপ ফাউন্ড্রিগুলো WOFF তৈরি হওয়ার পরেই ওয়েবে তাদের ফন্টগুলোর অনুমতি দিতে সম্মত হয়েছিল, কারণ এর বিশেষায়িত কন্টেইনারটি পাইরেট করা ডেস্কটপ ফন্ট থেকে ওয়েব ফন্টগুলোকে আলাদা করেছিল।
  • অফিসিয়াল W3C রিকমেন্ডেশন হওয়ার আগে WOFF মূলত ২০১০ সালে Firefox 3.6-এ প্রয়োগ করা হয়েছিল।

সচরাচর জিজ্ঞাসিত প্রযুক্তিগত প্রশ্নাবলি

WOFF এবং WOFF2-এর মধ্যে পার্থক্য কী?

WOFF-এ zlib কমপ্রেশন ব্যবহৃত হয়, আর WOFF2-তে Brotli কমপ্রেশন ও font table transform। ফলে ফাইলের আকারে পার্থক্য ফন্ট ও encoder-এর ওপর নির্ভর করে।

ডেস্কটপে ব্যবহারের জন্য আমি কীভাবে একটি WOFF ফন্টকে TTF বা OTF-এ রূপান্তর করতে পারি?

আপনি সরাসরি আপনার ওয়েব ব্রাউজারে File2File.app ব্যবহার করে কয়েক সেকেন্ডের মধ্যে WOFF ফাইলগুলোকে ইনস্টলযোগ্য ডেস্কটপ TTF বা OTF ফন্টে রূপান্তর করতে পারেন।

আধুনিক ওয়েবসাইটে কি আমার এখনও WOFF 1.0 প্রয়োজন?

না। সমস্ত আধুনিক ব্রাউজার স্বাভাবিকভাবেই WOFF2 সমর্থন করে। ইন্টারনেট এক্সপ্লোরার-এর মতো পুরনো লিগ্যাসি ব্রাউজারগুলোকে সমর্থন করার প্রয়োজন হলেই কেবল WOFF 1.0 দরকার হয়।