Aspose.Font पायथन के लिए FOSS एक शुद्ध-पायथन टूलकिट है जो ट्रूटाइप, ओपनटाइप्स, सीएफएफ, टाइप 1, WOFF, WOff2 और ईओटी प्रारूपों में फ़ॉन्ट लोड करने, निरीक्षण करने , परिवर्तित करने और पूर्वावलोकन करने के लिये है। पुस्तकालय Python 3.10 या बाद की पर चलता है और इसके लिए बाहरी OS फ़ोन्ट लाइब्रेरी या देशी निर्भरता की आवश्यकता नहीं होती है.
पुस्तकालय FontLoader के माध्यम से फ़ॉन्ट लोड करने, GlyphAccessor के द्वारा glyph access,FontConverter द्वारा format conversion, (Web) optimization via FontCleaner, text-aware subset viaFontSubsetter और AnimationPreviewBuilder की सहायता से variable font animation के लिए एक clean API को उजागर करता है। फ़ोन्ट मेटाडेटा जैसे नाम, परिवार, शैली, glypha count, encoding, and metrics का उपयोग Font बेस क्लास के जरिए बिना बाइनरी टेबलों में manually parsing किया जा सकता है.
Aspose.Font FOSS MIT लाइसेंस प्राप्त है और PyPI से एक एकल पिप स्थापित कमांड के साथ इंस्टॉल किया जा सकता है। यह फ़ॉन्ट डिजाइन टूलिंग, वेब फ़ोंट पाइपलाइन, ग्लिफ रेंडर इंजन और किसी भी पायथन एप्लिकेशन के लिए उपयुक्त है जिसे फोंट्स फ़ाइलों को पढ़ने, बदलने या बनाने की आवश्यकता होती है. एंटरप्राइज़ उत्पाद परिवार के लिये, Aspose.Font — Enterprise Product Family देखें।
FontLoader.open() और FontLoader.load() के साथ फ़ाइल पथ या कच्चे बाइट से फ़ॉन्ट लोड करेंFont बेस क्लास के माध्यम से फ़ॉन्ट मेटाडेटा तक पहुंचः font_name, font_family , font_style और num_glyphsFontEncoding.unicode_to_gid() और get_all_codepoints() के साथ glyph कोडिंग मानचित्र पढ़ेंFontMetrics के साथ फ़ॉन्ट मीट्रिक की जाँच करेंः चढ़ाई, उतरती, लाइन अंतर, em-वर्गGlyphAccessor.get_glyph_by_id() और get_glyph_by_unicode() के साथ आईडी या यूनिकोड द्वारा ग्लिफ पुनर्प्राप्त करेंGlyphAccessor.get_glyphs_for_text() के साथ एक स्ट्रिंग के लिए सभी glyphs को हल करेंMoveTo, LineTo , QuadraticTo,, CurveTo,ClosePathGlyph गुणों से glyph bounding box, advance width और साइड बीयरिंग तक पहुँचेंKernPair से kerning जोड़े पढ़ेंFontConverter.convert() के साथ TTF, OTF , CFF, WOFF , WOff2, EOT और टाइप 1 में परिवर्तित करें.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() के साथ glyph ID सूची द्वारा उपसमूह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 या OpenTyme फ़ॉन्ट खोलें और इसके मूल मेटाडेटा पढ़ें.
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
यूनिकोड कोड बिंदु के लिए सभी glyphs को हल करें और उनके रूपरेखा पथों की जांच करें.
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
यह एक मुफ्त, एमआईटी-लाइसेंस प्राप्त शुद्ध पायथन पुस्तकालय है जो टीटीएफ, ओटीएफ़, सीएफएफ , टाइप 1, डब्ल्यूओएफपी, डब्लूओएएफ 2 और ईओटी प्रारूपों में फ़ॉन्ट्स को लोड करने, निरीक्षण करने और परिवर्तित करने के लिए आवश्यक है। कोई देशी निर्भरता की आवश्यकता नहीं है.
pip install "aspose-font>=1.0.0" चलाएं। सिस्टम-स्तरीय निर्भरता की आवश्यकता नहीं है. पुस्तकालय पायथन 3.10 या बाद के साथ विंडोज, मैकओएस और लिनक्स पर काम करता है।
FontLoader.open() TTF, OTF , CFF, टाइप 1, WOFF , WOff2, और EOT पढ़ता है. FontConverter.convert() लिखता TFT, CFC, WOF, और WOFL2। ईओटी केवल पढ़ने के लिए है।
नहीं. Font.to_bytes() को आधार वर्ग में लागू नहीं किया गया है। वांछित प्रारूप में एक नया Font उत्पन्न करने के लिए FontConverter.convert() का उपयोग करें.
हाँ. FontSubsetter.subset_by_text(font, text) एक नया Font देता है जिसमें केवल दिए गए पाठ के लिए आवश्यक glyphs होते हैं.FontSubsetter.subset(font, codepoints) और subset_by_gids(font, gids) बेहतर नियंत्रण देते हैं।