একটি WOFF2 ফাইল কি?
WOFF2 হল একটি ফন্ট ফাইল ফরম্যাট যা ওয়েব ওপেন ফন্ট ফরম্যাটের (WOFF) আরও সংকুচিত সংস্করণ। এটি ওয়েব ফন্টগুলির ফাইলের আকার হ্রাস করার উপায় হিসাবে তৈরি করা হয়েছিল, তাদের দ্রুত লোড করতে এবং কম ব্যান্ডউইথ ব্যবহার করার অনুমতি দেয়। WOFF2 ফন্ট ডেটা সংকুচিত করার জন্য Brotli নামক একটি কম্প্রেশন অ্যালগরিদম ব্যবহার করে, যার ফলে ফাইলের আকারগুলি সমতুল্য WOFF ফন্টের তুলনায় উল্লেখযোগ্যভাবে ছোট হতে পারে। এই বিন্যাসটি ক্রোম, ফায়ারফক্স, সাফারি, অপেরা এবং এজ (সংস্করণ 14 এর পর) সহ বেশিরভাগ আধুনিক ওয়েব ব্রাউজার দ্বারা সমর্থিত।
WOFF2 ফাইল বিন্যাস - আরও তথ্য
একটি WOFF2 ফন্ট ফাইলের অভ্যন্তরীণ ফাইল কাঠামো একটি শিরোনাম, মেটাডেটা, একটি টেবিল ডিরেক্টরি এবং ফন্ট ডেটা সহ বিভিন্ন অংশ নিয়ে গঠিত।
শিরোনামে ফাইলের সামগ্রিক বিন্যাস সম্পর্কে তথ্য রয়েছে, যার মধ্যে সংস্করণ নম্বর এবং ফাইলটিতে উপস্থিত টেবিলের সংখ্যা রয়েছে।
মেটাডেটা বিভাগে ফন্টের নাম, কপিরাইট এবং অন্যান্য ফন্ট-সম্পর্কিত তথ্যের মতো তথ্য রয়েছে।
টেবিল ডিরেক্টরিতে বিভিন্ন টেবিলের তথ্য রয়েছে যা ফন্ট তৈরি করে, ফাইলে তাদের অবস্থান এবং তাদের দৈর্ঘ্য সহ।
ফন্ট ডেটা নিজেই বিভিন্ন টেবিলে বিভক্ত, যার প্রতিটিতে ফন্ট সম্পর্কে নির্দিষ্ট তথ্য রয়েছে, যেমন এর অক্ষর এবং তাদের সংশ্লিষ্ট গ্লিফ। এই টেবিল অন্তর্ভুক্ত হতে পারে:
- গ্লাইফ’ টেবিলে প্রতিটি অক্ষরের আকার এবং আকার সহ প্রকৃত ফন্টের রূপরেখা রয়েছে।
- হেড’ টেবিলে ফন্ট সম্পর্কে সাধারণ তথ্য রয়েছে, যেমন এর সংস্করণ নম্বর, নকশার আকার ইত্যাদি।
- hmtx’ টেবিলে অক্ষরের প্রস্থ এবং অবস্থান সহ ফন্টের মেট্রিক্স সম্পর্কে তথ্য রয়েছে।
- প্রতিটি টেবিল এনকোডিং প্রক্রিয়া সম্পন্ন করার পরে WOFF2 ফাইল বিন্যাসে সংকুচিত এবং সংরক্ষণ করা হয়।
সামগ্রিক কাঠামোটি দ্রুত পার্সিং এবং ডিকোডিংয়ের অনুমতি দেওয়ার জন্য ডিজাইন করা হয়েছে, যাতে ওয়েব ব্রাউজারগুলি দ্রুত এবং দক্ষতার সাথে একটি ওয়েবসাইটে ফন্টটি লোড এবং প্রদর্শন করতে পারে।
WOFF2 হেডার
WOFF শিরোনামটি একটি সনাক্তকারী স্বাক্ষর নিয়ে গঠিত যা ফাইলটিতে অন্তর্ভুক্ত ডেটার প্রকার নির্দেশ করে। WOFF শিরোনাম এবং এর ক্ষেত্রগুলি অনুসরণ করা হয়েছে।
প্রকার | ক্ষেত্রের নাম | বিবরণ |
---|---|---|
UInt32 | স্বাক্ষর | 0x774F4632 ‘wOF2’ |
UInt32 | স্বাদ | ইনপুট ফন্টের sfnt সংস্করণ৷ |
UInt32 | দৈর্ঘ্য | WOFF ফাইলের মোট আকার। |
UInt16 | numTables | ফন্ট টেবিলের ডিরেক্টরিতে এন্ট্রির সংখ্যা। |
UInt16 | সংরক্ষিত | সংরক্ষিত; শূন্য সেট. |
UInt32 | totalSfntSize | sfnt শিরোনাম, ডিরেক্টরি এবং ফন্ট টেবিল (প্যাডিং সহ) সহ অসঙ্কোচিত ফন্ট ডেটার জন্য প্রয়োজনীয় মোট আকার। |
UInt32 | totalCompressedSize সংকুচিত ডেটা ব্লকের মোট দৈর্ঘ্য। | |
UInt16 | majorVersion | WOFF ফাইলের প্রধান সংস্করণ। |
UInt16 | minorVersion | WOFF ফাইলের ছোট সংস্করণ। |
UInt32 | metaOffset | WOFF ফাইলের শুরু থেকে মেটাডেটা ব্লকে অফসেট। |
UInt32 | metaLength | সংকুচিত মেটাডেটা ব্লকের দৈর্ঘ্য। |
UInt32 | metaOrigLength | মেটাডেটা ব্লকের অসংকুচিত আকার। |
UInt32 | privOffset | WOFF ফাইলের শুরু থেকে ব্যক্তিগত ডেটা ব্লকে অফসেট। |
UInt32 | privLength | ব্যক্তিগত ডেটা ব্লকের দৈর্ঘ্য। |