अक्सर पूछे जाने वाले प्रश्न
लाइसेंसिंग और ओपन सोर्स
लाइसेंस मॉडल क्या है?
Aspose.Font FOSS Python के तहत जारी किया गया है MIT License. आप सॉफ़्टवेयर की सभी प्रतियों या उसके महत्वपूर्ण भागों में कॉपीराइट नोटिस और लाइसेंस पाठ को शामिल करके, उपयोग, कॉपी, संशोधित, मर्ज, प्रकाशित, वितरित, सब-लाइसेंस या बेच सकते हैं, बिना किसी प्रतिबंध के।
क्या मैं इसे व्यावसायिक उत्पादों में उपयोग कर सकता हूँ?
Yes. MIT लाइसेंस बंद‑स्रोत और व्यावसायिक उत्पादों में उपयोग की अनुमति देता है। कॉपीराइट हेडर को अपनी लाइब्रेरी की प्रतियों में रखे रखने के अलावा कोई रॉयल्टी या एट्रिब्यूशन दायित्व नहीं है। Note: the CffFont class को अपडेट किया गया है (API_MODIFIED); मौजूदा कोड को छोटे समायोजन की आवश्यकता हो सकती है।
क्या अधिक सुविधाओं के साथ कोई पेड संस्करण है?Aspose.Font FOSS ओपन-सोर्स संस्करण है। FOSS संस्करण TTF, OTF, CFF को कवर करता है,
Type 1, WOFF, WOFF2, और EOT — जो वास्तविक-विश्व फ़ॉन्ट कार्य का अधिकांश हिस्सा कवर करता है।
स्थापना और आवश्यकताएँ
मैं Aspose.Font FOSS को Python के लिए कैसे स्थापित करूँ?
अपडेटेड पैकेज स्थापित करें (Python 3.10+ की आवश्यकता है):
git clone https://github.com/aspose-font-foss/Aspose.Font-FOSS-for-Python.git
cd Aspose.Font-FOSS-for-Python
pip install -e .फ़ॉन्ट API को संशोधित किया गया है (API_MODIFIED)। किसी भी सिस्टम-स्तर की मूल निर्भरताएँ आवश्यक नहीं हैं।
कौनसे Python संस्करण समर्थित हैं?
Python 3.10 और उसके बाद के संस्करण। लाइब्रेरी केवल मानक लाइब्रेरी सुविधाओं का उपयोग करती है, इसलिए यह CPython और PyPy कार्यान्वयन पर काम करती है जो Python 3.10+ का समर्थन करते हैं।
क्या कोई मूल या प्लेटफ़ॉर्म निर्भरताएँ हैं?
नं. Aspose.Font FOSS for Python में कोई C एक्सटेंशन नहीं है, कोई सिस्टम फ़ॉन्ट नहीं है, और कोई प्लेटफ़ॉर्म API नहीं है। यह Windows, macOS, और Linux पर समान रूप से काम करता है।
फ़ॉर्मेट समर्थन
कौन से फ़ॉन्ट फ़ॉर्मेट पढ़े जा सकते हैं?
FontLoader.open() TTF, OTF, CFF (standalone), Type 1, WOFF, WOFF2, और EOT लोड कर सकता है।
from aspose_font import FontLoader
font = FontLoader.open("MyFont.ttf")कौन से फ़ॉर्मेट लिखे जा सकते हैं?
FontConverter.convert() TTF, CFF, WOFF, और WOFF2 में रूपांतरण का समर्थन करता है। आउटपुट फ़ॉन्ट को बाइट्स या फ़ाइल स्ट्रीम में सहेजा जा सकता है।
क्या WOFF2 डिकंप्रेशन बिल्ट-इन है?
हाँ। WOFF2 Brotli संपीड़न और डिकंप्रेशन पूरी तरह से लाइब्रेरी के भीतर लागू किए गए हैं। कोई बाहरी Brotli पैकेज आवश्यक नहीं है।
API Usage
मैं फ़ॉन्ट को कैसे लोड करूँ और उसके मेटाडेटा की जाँच करूँ?
FontLoader.open() का उपयोग करें जो एक Font इंस्टेंस लौटाता है। TTF/OTF फ़ॉन्ट्स के लिए TtfFont में कास्ट करके TTF-विशिष्ट गुणों तक पहुँचें:
from aspose_font import FontLoader
from aspose_font import TtfFont
ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
print(ttf_font.font_name)
print(ttf_font.num_glyphs)मैं TTF को WOFF2 में कैसे बदलूँ?
FontLoader.open() से फ़ॉन्ट लोड करें, फिर उसे FontConverter.convert() को पास करें और लक्ष्य के रूप में FontType.WOFF2 निर्दिष्ट करें। वापसी में मिला ऑब्जेक्ट Woff2Font इंस्टेंस है जो सीरियलाइज़ करने के लिए तैयार है:
from aspose_font import FontLoader
from aspose_font.converter import FontConverter # internal API — may change between releases
from aspose_font import FontType
font = FontLoader.open("Roboto-Regular.ttf")
woff2 = FontConverter.convert(font, FontType.WOFF2)मैं वेब डिलीवरी के लिए फ़ॉन्ट को कैसे सबसेट करूँ?
FontSubsetter.subset_by_text() का उपयोग करके एक नया फ़ॉन्ट बनाएं जो केवल प्रदान किए गए टेक्स्ट स्ट्रिंग को रेंडर करने के लिए आवश्यक ग्लिफ़्स को शामिल करता है, जिससे वेब पेज एम्बेडिंग के लिए फ़ाइल आकार कम हो जाता है:
from aspose_font import FontLoader
from aspose_font import FontSubsetter
font = FontLoader.open("Roboto-Regular.ttf")
subset = FontSubsetter.subset_by_text(font, "Hello World")मैं व्यक्तिगत ग्लिफ़्स तक कैसे पहुँचूँ?
Font.glyph_accessor का उपयोग करें जो GlyphAccessor को लागू करता है। संबंधित glyph ऑब्जेक्ट प्राप्त करने और उसके मीट्रिक या रूपरेखा को जांचने के लिए get_glyph_by_unicode() को एक Unicode कोड पॉइंट के साथ कॉल करें:
from aspose_font import FontLoader
font = FontLoader.open("Roboto-Regular.ttf")
glyph = font.glyph_accessor.get_glyph_by_unicode(0x0041) # 'A'
print(glyph.glyph_id)ज्ञात सीमाएँ
क्या Font.to_bytes() लागू किया गया है?
ऐब्स्ट्रैक्ट बेस क्लास Font.to_bytes(font_type) सीधे कॉल किए जाने पर NotImplementedError उठाता है। हालांकि, सभी कॉंक्रिट फ़ॉन्ट क्लासेस — TtfFont, CffFont, WoffFont, Woff2Font, EotFont, और Type1Font — to_bytes() को पूरी तरह से लागू करते हैं। FontLoader.open() के साथ एक फ़ॉन्ट लोड करें और लौटाए गए कॉंक्रिट इंस्टेंस पर to_bytes() को कॉल करें। FontConverter.convert() किसी भी समर्थित टारगेट फॉर्मेट में नया फ़ॉन्ट भी बना सकता है।
क्या TtfTableSet में सभी टेबल प्रकार भरे हुए हैं?
केवल सामान्य टेबल्स (head, hhea, maxp, os2, name, post, cmap, loca, hmtx, kern) को TtfTableSet पर नामित प्रॉपर्टीज़ के रूप में उजागर किया जाता है। अन्य टेबल्स को TtfFont.get_table_bytes(tag) के माध्यम से कच्चे बाइट्स के रूप में पढ़ा जा सकता है।
क्या लाइब्रेरी वेरिएबल फ़ॉन्ट इंस्टैंसिएशन का समर्थन करती है?
हाँ। TtfFont.instantiate(coordinates) निर्दिष्ट एक्सिस निर्देशांक पर एक स्थैतिक TtfFont बनाता है। पहले TtfFont.is_variable और TtfFont.axes का उपयोग करके वैरिएशन एक्सिस का पता लगाएँ।