फ़ॉन्ट्स पढ़ने के लिए पायथन लाइब्रेरी

ओपन सोर्स पायथन API जो सॉफ़्टवेयर डेवलपर्स और डिज़ाइनर्स को फ़ॉन्ट्स को आसानी से हेरफेर, संपादित और विश्लेषण करने में सक्षम बनाता है।

FontTools डिज़ाइन, ब्रांडिंग और संचार में एक महत्वपूर्ण भूमिका निभाता है, और फ़ॉन्ट दृश्य सौंदर्यशास्त्र की बुनियादी इकाइयाँ हैं। डिजिटल युग में फ़ॉन्ट प्रबंधन और हेरफेर की महत्ता लगातार बढ़ रही है। एक शक्तिशाली उपकरण जो डेवलपर्स और डिज़ाइनरों के बीच लोकप्रियता हासिल कर चुका है, वह है FontTools लाइब्रेरी। FontTools एक बहुमुखी ओपन सोर्स Python लाइब्रेरी है जो फ़ॉन्ट्स के साथ काम करने के लिए व्यापक टूल्स का सेट प्रदान करती है और फ़ॉन्ट प्रेमियों, डिज़ाइनरों, डेवलपर्स और टाइपोग्राफ़रों के लिए एक शक्तिशाली साधन बन गई है। इसकी विस्तृत विशेषताओं के साथ, Python-आधारित इंटरफ़ेस इसे फ़ॉन्ट-संबंधित कार्यों और प्रोजेक्ट्स के लिए एक उत्कृष्ट विकल्प बनाता है।

FontTools एक ओपन-सोर्स लाइब्रेरी है जो सॉफ़्टवेयर डेवलपर्स को फ़ॉन्ट फ़ाइलों के साथ प्रोग्रामेटिक रूप से इंटरैक्ट करने में सक्षम बनाती है। यह फ़ॉन्ट मैनिपुलेशन, संपादन और विश्लेषण के लिए विस्तृत कार्यक्षमता प्रदान करती है। यह विभिन्न तरीकों से फ़ॉन्ट को मैनिपुलेट करने, बुनियादी ग्लिफ़ संपादन संचालन, उन्नत फ़ॉन्ट मर्जिंग, एकल ग्लिफ़ हटाने, SFNT टेबल समर्थन, विभिन्न SFNT मानों की पहचान और कार्यान्वयन, ग्लिफ़ कंटूर को संशोधित करने, फ़ॉन्ट मीट्रिक को समायोजित करने, फ़ॉन्ट एन्कोडिंग बदलने, टेबल जोड़ने या हटाने, विभिन्न लेआउट सिस्टमों के बीच लेआउट परिभाषाओं का रूपांतरण, नाम स्ट्रिंग्स को खोजने और संपादित करने आदि जैसी सुविधाओं का समर्थन करता है।

FontTools लाइब्रेरी सॉफ़्टवेयर प्रोग्रामरों को फ़ॉन्ट फ़ाइलों के विभिन्न पहलुओं तक प्रोग्रामेटिक रूप से पहुँच, संपादन और विश्लेषण करने में सक्षम बनाती है। यह कई फ़ॉन्ट फ़ॉर्मैट्स का समर्थन करती है, जिसमें TrueType (TTF), OpenType (OTF), AFM, कुछ हद तक Type 1, और कुछ Mac-विशिष्ट फ़ॉर्मैट्स शामिल हैं, जिससे यह विभिन्न फ़ॉन्ट प्रकारों के साथ काम करने के लिए एक बहुमुखी विकल्प बन जाता है। FontTools एक जीवंत और सहायक समुदाय से लाभान्वित है। यह प्रोजेक्ट ओपन सोर्स है और सक्रिय रूप से बनाए रखा जाता है, नियमित अपडेट और बग फिक्स के साथ। चाहे आप फ़ॉन्ट हेरफेर को स्वचालित कर रहे हों, टाइपफ़ेस को फाइन‑ट्यून कर रहे हों, या विस्तृत फ़ॉन्ट विश्लेषण कर रहे हों, FontTools आवश्यक टूल्स और लचीलापन प्रदान करता है ताकि आप अपने लक्ष्य को कुशलता से प्राप्त कर सकें।

Previous Next

FontTools के साथ शुरुआत

FontTools को Python 3.8 या उसके बाद के संस्करण की आवश्यकता होती है। FontTools को स्थापित करने का अनुशंसित तरीका PyPI का उपयोग करना है। कृपया सुगम स्थापना के लिए निम्नलिखित कमांड का उपयोग करें।

NuGet के माध्यम से FontTools स्थापित करें

 pip install fonttools 

आप इसे मैन्युअल रूप से भी स्थापित कर सकते हैं; नवीनतम रिलीज़ फ़ाइलें सीधे GitHub रिपॉज़िटरी से डाउनलोड करें।

Python API के माध्यम से फ़ॉन्ट संपादन और हेरफेर

ओपन FontTools लाइब्रेरी उपयोग करने में बहुत आसान है और इसमें कई महत्वपूर्ण सुविधाएँ शामिल हैं जो सॉफ़्टवेयर डेवलपर्स को उनके Python अनुप्रयोगों में विभिन्न तरीकों से फ़ॉन्ट्स को नियंत्रित करने में सक्षम बनाती हैं। यह उन्हें फ़ॉन्ट फ़ाइलों से जानकारी निकालने, ग्लिफ़ आउटलाइन को संशोधित करने, मीट्रिक को नियंत्रित करने, और यहाँ तक कि शून्य से नए फ़ॉन्ट बनाने, दोहरावदार फ़ॉन्ट-संबंधी कार्यों को स्वचालित करने आदि की अनुमति देती है। FontTools लाइब्रेरी का उपयोग करके सॉफ़्टवेयर डेवलपर्स ग्लिफ़ कंटूर को भी संशोधित कर सकते हैं, मीट्रिक को समायोजित कर सकते हैं, एन्कोडिंग बदल सकते हैं, और टेबल्स को जोड़ या हटा सकते हैं। यह लचीलापन डिज़ाइनरों को विशिष्ट आवश्यकताओं के अनुसार फ़ॉन्ट्स को फाइन‑ट्यून करने या अपने प्रोजेक्ट्स के लिए कस्टमाइज़्ड संस्करण बनाने की अनुमति देता है।

Python API के माध्यम से रूपरेखा पथ को कैसे संशोधित करें?

path_orig = get_outline(font, "a")
startdraw(200,200)

paths = []
for i in path_orig:
    if i[0] == 'moveTo':
        path = draw.BezierPath()
        path.moveTo((i[1][0]))
    if i[0] == 'lineTo':
        path.lineTo((i[1][0]))
    if i[0] == 'qCurveTo':
        path.qCurveTo(*(i[1]))
    if i[0] == 'closePath':
        path.closePath()
        paths.append(path)

finalpath = paths[0].difference(paths[1])
finalpath.scale(0.3) #let's scale it down!
draw.fill(0.5)
draw.stroke(0)
draw.drawPath(finalpath)
show()

Python API के माध्यम से ग्लिफ़ हेरफेर

ओपन सोर्स FontTools लाइब्रेरी सॉफ़्टवेयर डेवलपर्स के लिए व्यक्तिगत ग्लिफ़ को प्रोग्रामेटिक रूप से हेरफेर करना आसान बनाती है। यह ग्लिफ़ आउटलाइन, मेट्रिक्स और एट्रिब्यूट्स तक पहुँचने और उन्हें संशोधित करने के लिए मेथड्स प्रदान करती है, जिससे उपयोगकर्ताओं को अपनी विशिष्ट आवश्यकताओं के अनुसार फ़ॉन्ट को कस्टमाइज़ करने की लचीलापन मिलती है। चाहे वह कर्निंग पेयर्स को समायोजित करना हो, ग्लिफ़ आकार बदलना हो, लिगेचर जोड़ना हो, या ग्लिफ़ आउटलाइन की तुलना करना हो, FontTools ग्लिफ़ हेरफेर की प्रक्रिया को सरल बनाता है। निम्नलिखित उदाहरण दिखाता है कि दो ग्लिफ़ की आउटलाइन की तुलना कैसे करें और पायथन कोड का उपयोग करके परिणाम प्रदर्शित करें।

Python API का उपयोग करके दो ग्लिफ़ों की रूपरेखाओं की तुलना कैसे करें?

from fontTools.ttLib import TTFont
from fontTools.pens.recordingPen import RecordingPen

font = TTFont(filename)
cmap = font.getBestCmap()
gs = font.getGlyphSet()

g1 = gs[cmap[ord("A")]]
g2 = gs[cmap[ord("B")]]

p1 = RecordingPen()
p2 = RecordingPen()

g1.draw(p1)
g2.draw(p2)

print(p1.value == p2.value)

Python API के माध्यम से फ़ॉन्ट निर्माण और रूपांतरण

ओपन सोर्स FontTools लाइब्रेरी नई फ़ॉन्ट फ़ाइलें बनाने या मौजूदा फ़ाइलों को विभिन्न फ़ॉर्मैट में परिवर्तित करने की कार्यक्षमताएँ प्रदान करती है। यह सुविधा विशेष रूप से उन डिज़ाइनरों और डेवलपर्स के लिए उपयोगी है जिन्हें कस्टम फ़ॉन्ट बनाने या विशिष्ट प्लेटफ़ॉर्म के लिए फ़ॉन्ट को अनुकूलित करने की आवश्यकता होती है। FontTools के साथ, उपयोगकर्ता विभिन्न वजन, शैली और वैरिएशन वाले फ़ॉन्ट इंस्टेंस बना सकते हैं, या TrueType और OpenType फ़ॉर्मैट के बीच फ़ॉन्ट को सहजता से परिवर्तित कर सकते हैं। निम्नलिखित उदाहरण दिखाता है कि पायथन कमांड्स का उपयोग करके CFF फ़ॉर्मेट को CFF2 फ़ॉर्मेट में कैसे परिवर्तित किया जाए।

 हिन्दी