Aspose.Font FOSS for Python एक शुद्ध-Python टूलकिट है जो TrueType, OpenType, CFF, Type 1, WOFF, WOFF2, और EOT फ़ॉर्मैट्स में फ़ॉन्ट्स को लोड करने, निरीक्षण करने, रूपांतरित करने, उपसमुच्चय बनाने और पूर्वावलोकन करने के लिए उपयोग किया जाता है। लाइब्रेरी Python 3.10 या बाद के संस्करण पर चलती है और इसे किसी बाहरी OS फ़ॉन्ट लाइब्रेरी या मूल निर्भरताओं की आवश्यकता नहीं होती।
लाइब्रेरी फ़ॉन्ट लोडिंग के लिए FontLoader के माध्यम से, ग्लिफ़ एक्सेस के लिए GlyphAccessor के माध्यम से, फ़ॉर्मेट रूपांतरण के लिए FontConverter के माध्यम से, वेब ऑप्टिमाइज़ेशन के लिए FontCleaner के माध्यम से, टेक्स्ट‑एवेयर सबसेटिंग के लिए FontSubsetter के माध्यम से, और वैरिएबल फ़ॉन्ट एनीमेशन के लिए AnimationPreviewBuilder के माध्यम से एक साफ़ API प्रदान करती है। नाम, फ़ैमिली, स्टाइल, ग्लिफ़ काउंट, एन्कोडिंग, और मीट्रिक्स जैसी फ़ॉन्ट मेटाडेटा Font बेस क्लास के माध्यम से बाइनरी टेबल्स को मैन्युअली पार्स किए बिना उपलब्ध है।
Aspose.Font FOSS MIT लाइसेंस प्राप्त है और PyPI से एकल pip install कमांड के साथ स्थापित किया जा सकता है। यह फ़ॉन्ट डिज़ाइन टूलिंग, वेब फ़ॉन्ट पाइपलाइन, ग्लिफ़ रेंडरिंग इंजन, और किसी भी Python एप्लिकेशन के लिए उपयुक्त है जिसे फ़ॉन्ट फ़ाइलें पढ़ने, बदलने या बनाने की आवश्यकता होती है। एंटरप्राइज़ प्रोडक्ट फ़ैमिली के लिए, देखें Aspose.Font — Enterprise Product Family।
FontLoader.open() और FontLoader.load() के साथFont बेस क्लास के माध्यम से: font_name, font_family, font_style, num_glyphsFontEncoding.unicode_to_gid() और get_all_codepoints() के साथ पढ़ेंFontMetrics के साथ: ascent, descent, line gap, em-squareGlyphAccessor.get_glyph_by_id() और get_glyph_by_unicode() के साथGlyphAccessor.get_glyphs_for_text() के साथ हल करेंMoveTo, LineTo, QuadraticTo, CurveTo, ClosePathGlyph प्रॉपर्टीज़ से एक्सेस करेंKernPair से केरनिंग पेयर्स पढ़ेंFontConverter.convert() के साथCurveAdapter.quad_to_cubic() और cubic_to_quads() के साथ अनुकूलित करेंconvert_path_quad_to_cubic() और convert_path_cubic_to_quad() के साथ बदलेंFontSubsetter.subset_by_text()FontSubsetter.subset_by_gids() के साथFontSubsetter.subset_for_web() के साथ बनाएंFontSubsetter.subset_by_presets() और available_presets() के साथ लागू करेंFontSubsetter.analyze_coverage() और analyze_web_coverage() के साथ उपसमुच्चय कवरेज का विश्लेषण करेंFontCleaner.clean_for_web() के साथ हटाएँCompatibilityChecker.compare_fonts() और compare_variable_instances() के साथAnimationPreviewBuilder.build_axis_sweep() के साथ एनीमेटेड APNG एक्सिस स्वीप उत्पन्न करेंAnimationPreviewBuilder.build_path() के साथ बहु‑चरणीय एनीमेशन पाथ बनाएंफ़ाइल पथ से एक TrueType या OpenType फ़ॉन्ट खोलें और उसकी मूल मेटाडेटा पढ़ें।
from aspose_font.loader import FontLoader
font = FontLoader.open("Roboto-Regular.ttf")
print(font.font_name) # e.g. "Roboto"
print(font.font_family) # e.g. "Roboto"
print(font.num_glyphs) # e.g. 1294
एक Unicode कोड पॉइंट के लिए सभी glyphs को हल करें और उनके outline paths की जांच करें।
from aspose_font.loader import FontLoader
font = FontLoader.open("OpenSans-Regular.otf")
glyph_id = font.encoding.unicode_to_gid(0x41) # Unicode for A
glyph = font.glyph_accessor.get_glyph_by_id(glyph_id)
for cmd in glyph.path.commands:
print(type(cmd).__name__, cmd)
एक एनीमेटेड APNG बनाएं जो एक वैरिएबल फ़ॉन्ट अक्ष को प्रारंभिक मान से अंतिम मान तक स्वाइप करे।
from aspose_font.loader import FontLoader
from aspose_font.animation import AnimationPreviewBuilder
font = FontLoader.open("Roboto-VariableFont_wdth,wght.ttf")
asset = AnimationPreviewBuilder.build_axis_sweep(
font,
axis_tag="wdth",
start_val=75.0,
end_val=100.0,
frames=3,
fps=10,
text="A",
size=10.0,
bounce=True,
)
asset.write_to("roboto-sweep-wdth.png")
वेब सर्विंग से पहले बाइनरी आकार को कम करने के लिए लेगेसी टेबल्स और मैक नाम रिकॉर्ड्स को हटाएँ।
from aspose_font.loader import FontLoader
from aspose_font.cleaner import FontCleaner
font = FontLoader.open("Roboto-Regular.ttf")
cleaned = FontCleaner.clean_for_web(font)
# DSIG, FFTM, meta tables removed; Mac platform name records stripped
यह एक मुफ्त, MIT-लाइसेंस वाली pure-Python लाइब्रेरी है जो TTF, OTF, CFF, Type 1, WOFF, WOFF2, और EOT फ़ॉर्मैट में फ़ॉन्ट को लोड करने, निरीक्षण करने, परिवर्तित करने और सबसेट करने के लिए उपयोग की जाती है। कोई नेटिव निर्भरताएँ आवश्यक नहीं हैं।
चलाएँ pip install "aspose-font>=1.0.0". सिस्टम-स्तर की कोई निर्भरताएँ आवश्यक नहीं हैं। लाइब्रेरी Windows, macOS, और Linux पर Python 3.10 या बाद के संस्करण के साथ काम करती है।
FontLoader.open() TTF, OTF, CFF, Type 1, WOFF, WOFF2, और EOT पढ़ता है। FontConverter.convert() TTF, CFF, WOFF, और WOFF2 लिखता है। EOT केवल पढ़ने योग्य है।
नहीं। Font.to_bytes() बेस क्लास में लागू नहीं है। इच्छित फ़ॉर्मेट में नया Font बनाने के लिए FontConverter.convert() का उपयोग करें।
हाँ। FontSubsetter.subset_by_text(font, text) केवल दिए गए टेक्स्ट के लिए आवश्यक ग्लिफ़्स को शामिल करने वाला नया Font लौटाता है। FontSubsetter.subset(font, codepoints) और subset_by_gids(font, gids) अधिक सूक्ष्म नियंत्रण प्रदान करते हैं।