फ़ॉन्ट्स पार्सिंग और राइटिंग के लिए नि:शुल्क जावास्क्रिप्ट लाइब्रेरी
ओपन सोर्स जावास्क्रिप्ट लाइब्रेरी जो ट्रू टाइप या ओपन टाइप फ़ॉन्ट्स को पार्स, पढ़ने और लिखने की अनुमति देती है। यह जावास्क्रिप्ट एप्लिकेशन्स में फ़ॉन्ट हैंडलिंग, ग्लिफ़ मेट्रिक्स और टेक्स्ट लेआउट का समर्थन करती है।
सॉफ़्टवेयर वेब विकास और डिजिटल टाइपोग्राफी के क्षेत्र में, फ़ॉन्ट फ़ाइलों को संभालना और सहज टेक्स्ट रेंडरिंग अनुभव बनाना एक कठिन कार्य हो सकता है। हालांकि, OpenType फ़ॉन्ट्स के साथ काम करना भी चुनौतीपूर्ण हो सकता है, विशेष रूप से जब उनकी उन्नत टाइपोग्राफिक सुविधाओं तक पहुँच की बात आती है। यहीं पर OpenType.js काम आता है – एक क्रांतिकारी ओपन-सोर्स लाइब्रेरी जो ब्राउज़र में OpenType फ़ॉन्ट्स के साथ काम करना आसान बनाती है। OpenType.js का एक प्रमुख लाभ यह है कि यह OpenType फ़ॉन्ट्स के साथ काम करने की प्रक्रिया को सरल बनाता है। अन्य लाइब्रेरीज़ के विपरीत जिन्हें फ़ॉन्ट तकनीक का विस्तृत ज्ञान चाहिए, OpenType.js एक सीधा API प्रदान करता है जिससे शुरूआत करना आसान हो जाता है।
OpenType.js एक जावास्क्रिप्ट लाइब्रेरी है जो OpenType फ़ॉन्ट्स की उन्नत टाइपोग्राफिक सुविधाओं तक पहुँचने के लिए एक सरल और सहज API प्रदान करती है। OpenType.js के साथ, सॉफ़्टवेयर डेवलपर्स आसानी से लिगेचर, वैकल्पिक ग्लिफ़, वैरिएबल फ़ॉन्ट्स आदि जैसी सुविधाओं तक पहुँच सकते हैं, जिससे वे जटिल और परिष्कृत टाइपोग्राफी डिज़ाइन बना सकते हैं। मौजूदा फ़ॉन्ट्स को पार्स करने और उनमें बदलाव करने के अलावा, opentype.js नई फ़ॉन्ट फ़ाइलें शून्य से बनाने का भी समर्थन करता है। यह सुविधा उन डेवलपर्स के लिए मूल्यवान है जो प्रोग्रामेटिक रूप से कस्टम फ़ॉन्ट्स उत्पन्न करना चाहते हैं। एक जावास्क्रिप्ट लाइब्रेरी होने के नाते, opentype.js क्लाइंट-साइड और सर्वर-साइड दोनों वातावरण में उपयोग की जा सकती है, जिससे यह विभिन्न प्रोजेक्ट्स के लिए एक लचीला विकल्प बनता है। कुल मिलाकर, यह एक शक्तिशाली और बहुमुखी लाइब्रेरी है जो ब्राउज़र में OpenType फ़ॉन्ट्स के साथ काम करने का एक सरल और सहज तरीका प्रदान करती है।
Opentype.js के साथ शुरुआत
OpenType.js को स्थापित करने का अनुशंसित तरीका NPM का उपयोग करना है। कृपया सुगम स्थापना के लिए निम्नलिखित कमांड का उपयोग करें।
npm का उपयोग करके Opentype.js स्थापित करें
npm install opentype.jsआप इसे मैन्युअल रूप से भी स्थापित कर सकते हैं; नवीनतम रिलीज़ फ़ाइलें सीधे GitHub रिपॉज़िटरी से डाउनलोड करें।
Node.js एप्लिकेशन्स में फ़ॉन्ट पार्सिंग
OpenType.js की मुख्य विशेषताओं में से एक इसकी क्षमता है कि वह केवल कुछ ही JavaScript कोड की लाइनों से OpenType और TrueType फ़ॉन्ट फ़ाइलों को पार्स कर सकता है। यह सॉफ़्टवेयर डेवलपर्स को फ़ॉन्ट की संरचना को पढ़ने और समझने की अनुमति देता है, जिसमें उसके glyphs, kerning जानकारी, और अन्य आवश्यक डेटा शामिल हैं। नीचे दिए गए उदाहरण में, Roboto Regular फ़ॉन्ट को एक TTF फ़ाइल से लोड किया गया है। लाइब्रेरी फ़ॉन्ट को पार्स करती है, जिससे उसका डेटा आगे की हेरफेर के लिए उपलब्ध हो जाता है।
Node.js के भीतर TTF फ़ाइल से फ़ॉन्ट को लोड और पार्स कैसे करें??
const opentype = require('opentype.js');
// Load a font from a file
opentype.load('fonts/Roboto-Regular.ttf', function(err, font) {
if (err) {
console.error('Font could not be loaded:', err);
} else {
console.log('Font loaded successfully:', font);
console.log('Number of glyphs:', font.numGlyphs);
}
});
Node.js के भीतर फ़ॉन्ट के ग्लिफ़ तक पहुंच और हेरफेर
ओपन सोर्स Node.js लाइब्रेरी OpenType.js सॉफ़्टवेयर डेवलपर्स को Node.js एप्लिकेशन्स के भीतर फ़ॉन्ट के व्यक्तिगत glyphs तक पहुँचने और उन्हें संशोधित करने की सुविधा देती है। Glyphs फ़ॉन्ट में अक्षरों के दृश्य प्रतिनिधित्व होते हैं। इस सुविधा के साथ, आप glyph पाथ्स को निकाल सकते हैं, उन्हें संशोधित कर सकते हैं, या यहाँ तक कि नए glyphs बना सकते हैं। यहाँ एक कोड स्निपेट है जो फ़ॉन्ट लोड करता है, अक्षर "A," के लिए glyph को प्राप्त करता है, और फिर glyph को उसके मूल आकार से 1.5 गुना स्केल करता है। toPathData() मेथड glyph के पाथ को SVG पाथ डेटा में बदलता है, जिसे रेंडरिंग या आगे की हेरफेर के लिए उपयोग किया जा सकता है।
Node.js ऐप्स में फ़ॉन्ट को लोड करें और ग्लिफ़ को संशोधित कैसे करें?
const opentype = require('opentype.js');
// Load a font and modify a glyph
opentype.load('fonts/Roboto-Regular.ttf', function(err, font) {
if (err) {
console.error('Font could not be loaded:', err);
} else {
const glyph = font.charToGlyph('A');
console.log('Original Glyph Path:', glyph.path.toPathData());
// Modify the glyph path (e.g., scale it)
glyph.path.scale(1.5);
console.log('Scaled Glyph Path:', glyph.path.toPathData());
}
});
Node.js लाइब्रेरी के माध्यम से फ़ॉन्ट टेबल्स के साथ काम करना
OpenType.js डेवलपर्स को अंतर्निहित फ़ॉन्ट टेबल्स तक पहुँच प्रदान करता है, जो फ़ॉन्ट के डिज़ाइन और मीट्रिक्स के बारे में विस्तृत जानकारी संग्रहीत करते हैं। यह उन्नत फ़ॉन्ट हेरफेर या विश्लेषण के लिए विशेष रूप से उपयोगी हो सकता है। नीचे दिए गए उदाहरण में कोड स्निपेट दर्शाता है कि कैसे विशिष्ट फ़ॉन्ट टेबल्स तक पहुँच प्राप्त की जा सकती है, जैसे कि head टेबल (जिसमें फ़ॉन्ट हेडर जानकारी होती है) और hhea टेबल (जो क्षैतिज हेडर मीट्रिक्स रखती है)। ये टेबल्स आवश्यक विवरण प्रदान करती हैं जिन्हें फ़ॉन्ट रेंडरिंग और लेआउट पर सटीक नियंत्रण के लिए उपयोग किया जा सकता है।
Node.js लाइब्रेरी का उपयोग करके विशिष्ट फ़ॉन्ट टेबल्स और उसके भीतर फ़ॉन्ट तक कैसे पहुँचें?
const opentype = require('opentype.js');
opentype.load('path/to/font.ttf', function(err, font) {
if (err) {
console.error('Font could not be loaded: ' + err);
} else {
// Access the 'head' table (font header)
const headTable = font.tables.head;
console.log('Units per Em: ' + headTable.unitsPerEm);
// Access the 'hhea' table (horizontal header)
const hheaTable = font.tables.hhea;
console.log('Ascender: ' + hheaTable.ascender);
console.log('Descender: ' + hheaTable.descender);
}
});