टीटीएफ फाइल क्या है?
.ttf एक्सटेंशन वाली फ़ाइल ट्रू टाइप विनिर्देशों फ़ॉन्ट तकनीक पर आधारित फ़ॉन्ट फ़ाइलों का प्रतिनिधित्व करती है। इसे शुरू में मैक ओएस के लिए ऐप्पल कंप्यूटर, इंक द्वारा डिजाइन और लॉन्च किया गया था और बाद में माइक्रोसॉफ्ट द्वारा विंडोज ओएस के लिए अपनाया गया था। ट्रू टाइप फोंट कंप्यूटर स्क्रीन और प्रिंटर पर बिना किसी रिजॉल्यूशन पर निर्भरता के उच्चतम गुणवत्ता वाला डिस्प्ले प्रदान करते हैं। फोंट का उपयोग करने वाले सभी आधुनिक एप्लिकेशन टीटीएफ फाइलों के साथ काम करने में सक्षम हैं। TTF फ़ॉन्ट फ़ाइलें इंटरनेट पर स्वतंत्र रूप से उपलब्ध हैं और इन्हें OTF और WOFF जैसे अन्य फ़ॉन्ट फ़ाइल स्वरूपों में भी परिवर्तित किया जा सकता है।
संक्षिप्त इतिहास
मैकोज़ के लिए 1980 के दशक में एप्लाइड कंप्यूटर, इंक द्वारा डिज़ाइन किया गया, टीटीएफ फ़ॉन्ट प्रारूप का उद्देश्य एडोब के टाइप 1 प्रारूप द्वारा कुछ तकनीकी सीमाओं को हल करना था। ऐप्पल ने 1991 में मैक में ट्रू टाइप फोंट के लिए समर्थन शामिल किया। टीटीएफ फोंट के पीछे डिजाइन उद्देश्य भंडारण और प्रसंस्करण में दक्षता, और विस्तारशीलता था। इस विस्तारशीलता के आधार पर, मौजूदा फोंट को ट्रू टाइप प्रारूप में परिवर्तित किया जा सकता है।
Apple द्वारा Microsoft को ट्रू टाइप का लाइसेंस देने के लिए सहमत होने के बाद, Microsoft ने पहली बार अप्रैल 1992 में Windows 3.1 में ट्रू टाइप फ़ॉन्ट का उपयोग किया। इसने रास्टरराइजेशन तंत्र में सुधार किया, और इसकी दक्षता और प्रदर्शन में सुधार किया।
ट्रू टाइप फ़ाइल स्वरूप निर्दिष्टीकरण
एक ट्रू टाइप फ़ॉन्ट फ़ाइल एक बाइनरी फ़ाइल है जिसमें संयोजित तालिकाओं का एक क्रम होता है। प्रत्येक तालिका शब्दों का एक क्रम है और इसका एक नाम ‘टैग’ है। प्रत्येक टैग uint32 डेटा प्रकार का होता है और इसमें चार वर्ण होते हैं। फ़ाइल में पहली तालिका फ़ॉन्ट निर्देशिका है जो फ़ॉन्ट फ़ाइल में अन्य तालिकाओं तक पहुँच प्रदान करती है। फ़ॉन्ट निर्देशिका तालिका के बाद अन्य तालिकाओं में फ़ॉन्ट डेटा निहित है। चूंकि प्रत्येक तालिका को उसके टैग द्वारा पहुँचा जा सकता है, तालिकाएँ फ़ाइल में किसी भी क्रम में प्रकट हो सकती हैं।
आवश्यक तालिकाएँ और उनके टैग नाम निम्न तालिका में दिखाए गए हैं।
| टैग | टेबल | 
|---|---|
| ‘सीमैप’ | ग्लिफ़ मैपिंग के लिए चरित्र | 
| ‘ग्लिफ़’ | ग्लिफ़ डेटा | 
| ‘सिर’ | फ़ॉन्ट हेडर | 
| ‘हिया’ | क्षैतिज शीर्षलेख | 
| ‘एचएमटीएक्स’ | क्षैतिज मेट्रिक्स | 
| ‘लोका’ | स्थान के लिए सूचकांक | 
| ‘मैक्सपी’ | अधिकतम प्रोफ़ाइल | 
| ‘नाम’ | नामकरण | 
| ‘पोस्ट’ | पोस्टस्क्रिप्ट | 
डेटा के प्रकार
ट्रू टाइप फ़ॉन्ट मानक पूर्णांक और अतिरिक्त डेटा प्रकारों का उपयोग करते हैं जैसा कि निम्न तालिका में सूचीबद्ध है।
| डेटा प्रकार | विवरण | 
|---|---|
| शॉर्टफ्रैक | 16-बिट हस्ताक्षरित अंश | 
| फिक्स्ड | 16.16-बिट हस्ताक्षरित निश्चित-बिंदु संख्या | 
| एफवर्ड | 16-बिट हस्ताक्षरित पूर्णांक जो FUnits में एक मात्रा का वर्णन करता है, जो em स्पेस में सबसे छोटी मापने योग्य दूरी है। | 
| यूएफवर्ड | 16-बिट अहस्ताक्षरित पूर्णांक जो FUnits में एक मात्रा का वर्णन करता है, जो em स्पेस में सबसे छोटी मापनीय दूरी है। | 
| F2Dot14 | 16-बिट हस्ताक्षरित निश्चित संख्या जिसमें कम 14 बिट्स अंश का प्रतिनिधित्व करते हैं | 
| लॉन्गडेटटाइम | दिनांक 12:00 मध्यरात्रि, 1 जनवरी, 1904 के बाद से सेकंड में एक तिथि का लंबा आंतरिक प्रारूप। इसे एक हस्ताक्षरित 64-बिट पूर्णांक के रूप में दर्शाया गया है। | 
फ़ॉन्ट निर्देशिका
ट्रू टाइप फ़ॉन्ट में पहली तालिका फ़ॉन्ट निर्देशिका है जो अन्य तालिकाओं में डेटा तक पहुँचने के लिए आवश्यक जानकारी तक पहुँच प्रदान करती है। इसमें आगे शामिल हैं:
- ऑफसेट सबटेबल- फ़ॉन्ट में टेबल का रिकॉर्ड रखता है और निर्देशिका में प्रत्येक टेबल तक पहुंचने के लिए ऑफ़सेट जानकारी प्रदान करता है
- टेबल निर्देशिका- फ़ॉन्ट में प्रत्येक तालिका के लिए प्रविष्टियां शामिल हैं
ऑफसेट सबटेबल
ऑफसेट सबटेबल नीचे दिखाया गया है।
| प्रकार | नाम | विवरण | 
|---|---|---|
| uint32 | स्केलर प्रकार | इस फ़ॉन्ट को रैस्टराइज़ करने के लिए उपयोग किए जाने वाले OFA स्केलर को इंगित करने के लिए एक टैग; अधिक जानकारी के लिए नीचे दिए गए स्केलर प्रकार पर नोट देखें | 
| uint16 | numTables | तालिकाओं की संख्या | 
| uint16 | खोज श्रेणी | (अधिकतम शक्ति 2 <= numTables)*16 | 
| uint16 | प्रविष्टि चयनकर्ता | log2(2 <= numTables की अधिकतम शक्ति) | 
| uint16 | रेंजशिफ्ट | numTables*16-searchRange | 
टेबल निर्देशिका
ऑफ़सेट सबटेबल के ठीक बाद टेबल डायरेक्टरी आती है। इसकी संरचना निम्न तालिका में दर्शाई गई है।
| प्रकार | नाम | विवरण | 
|---|---|---|
| uint32 | टैग | 4-बाइट पहचानकर्ता | 
| uint32 | चेकसम | इस तालिका के लिए चेकसम | 
| uint32 | ऑफसेट | sfnt की शुरुआत से ऑफसेट | 
| uint32 | लंबाई | इस तालिका की लंबाई बाइट में (वास्तविक लंबाई गद्देदार लंबाई नहीं) | 
फ़ॉन्ट फ़ाइल में प्रत्येक तालिका की अपनी तालिका निर्देशिका प्रविष्टि होनी चाहिए। तालिका में प्रविष्टियों को टैग द्वारा आरोही क्रम में क्रमबद्ध किया जाना चाहिए।