1. उत्पादों
  2.   Aspose.Font
  3.   Aspose.Font FOSS for Python

Aspose.Font FOSS Python के लिए

ओपन-सोर्स Python लाइब्रेरी लोड करने, निरीक्षण करने, रूपांतरण करने और TTF, OTF, CFF, WOFF, WOFF2, और EOT फ़ॉन्ट फ़ाइलों को उपसमुच्चय बनाने के लिए।

Python में प्रोग्रामेटिक रूप से फ़ॉन्ट्स के साथ काम करें

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() के साथ
  • स्वचालित रूप से फ़ॉर्मेट का पता लगाएँ: TTF, OTF, CFF, WOFF, WOFF2, EOT, Type 1
  • फ़ॉन्ट मेटाडेटा तक पहुँचें Font बेस क्लास के माध्यम से: font_name, font_family, font_style, num_glyphs
  • ग्लिफ एन्कोडिंग मानचित्रों को FontEncoding.unicode_to_gid() और get_all_codepoints() के साथ पढ़ें
  • फ़ॉन्ट मीट्रिक्स की जाँच करें FontMetrics के साथ: ascent, descent, line gap, em-square

सामान्य उपयोग मामलों

  • फ़ॉन्ट सत्यापन और मेटाडेटा निष्कर्षण पाइपलाइन
  • फ़ॉन्ट फ़ैमिली नाम और ग्लिफ़ काउंट को सत्यापित करने वाले CI/CD चेक
  • एकाधिक इनपुट फ़ॉर्मैट स्वीकार करने वाली वेब फ़ॉन्ट इन्गेस्ट्शन सेवाएँ
  • फ़ॉन्ट डिज़ाइन टूल्स जो डेस्कटॉप रनटाइम के बिना मेटाडेटा प्रदर्शित करते हैं

ग्लिफ़ एक्सेस और पाथ निरीक्षण

  • ID या Unicode द्वारा glyphs प्राप्त करें GlyphAccessor.get_glyph_by_id() और get_glyph_by_unicode() के साथ
  • एक स्ट्रिंग के लिए सभी ग्लिफ़्स को GlyphAccessor.get_glyphs_for_text() के साथ हल करें
  • टाइप किए गए कमांड के रूप में ग्लिफ़ रूपरेखा पथों की जांच करें: MoveTo, LineTo, QuadraticTo, CurveTo, ClosePath
  • ग्लिफ बाउंडिंग बॉक्स, एडवांस विड्थ, और साइड बियरिंग्स को Glyph प्रॉपर्टीज़ से एक्सेस करें
  • सटीक टेक्स्ट‑लेआउट गणनाओं के लिए KernPair से केरनिंग पेयर्स पढ़ें

सामान्य उपयोग मामलों

  • बहुभाषी पाठ रेंडरिंग के लिए ग्लिफ कवरेज जांच
  • SVG पाथ या वेक्टर जनरेशन के लिए रूपरेखा निष्कर्षण
  • फ़ॉन्ट QA कार्यप्रवाहों में कर्निंग टेबल सत्यापन
  • टेक्स्ट शेपिंग अनुसंधान और लो‑लेवल लेआउट प्रयोग

फ़ॉन्ट रूपांतरण

  • TTF, OTF, CFF, WOFF, WOFF2, EOT, और Type 1 के बीच रूपांतरण करें FontConverter.convert() के साथ
  • Bezier वक्र प्रकारों को CurveAdapter.quad_to_cubic() और cubic_to_quads() के साथ अनुकूलित करें
  • क्वाड्रेटिक और क्यूबिक के बीच ग्लिफ पाथ को convert_path_quad_to_cubic() और convert_path_cubic_to_quad() के साथ बदलें

सामान्य उपयोग मामलों

  • वेब फ़ॉन्ट पाइपलाइन जो TTF मास्टर फ़ॉन्ट को वितरण के लिए WOFF2 में परिवर्तित करती हैं
  • एक स्रोत से कई फ़ॉर्मेट टार्गेट्स में निर्यात करने वाला टाइप फाउंड्री टूलिंग
  • बैकवर्ड‑कम्पैटिबल वेब फ़ॉन्ट स्टैक्स के लिए लेगेसी EOT रूपांतरण
  • सतत एकीकरण में स्वचालित फ़ॉन्ट फ़ॉर्मेट सामान्यीकरण

फ़ॉन्ट उपसेटिंग

  • Unicode टेक्स्ट के साथ फ़ॉन्ट को उपसमुच्चय बनाएं FontSubsetter.subset_by_text()
  • ग्लिफ आईडी सूची द्वारा उपसमुच्चय FontSubsetter.subset_by_gids() के साथ
  • वेब‑ऑप्टिमाइज़्ड उपसमुच्चय FontSubsetter.subset_for_web() के साथ बनाएं
  • नामित प्रीसेट प्रोफ़ाइल को FontSubsetter.subset_by_presets() और available_presets() के साथ लागू करें
  • FontSubsetter.analyze_coverage() और analyze_web_coverage() के साथ उपसमुच्चय कवरेज का विश्लेषण करें

सामान्य उपयोग मामलों

  • सीमित अक्षर सेट वाले वेब पेजों के लिए WOFF2 पेलोड आकार को कम करना
  • i18n डिप्लॉयमेंट्स के लिए भाषा-विशिष्ट फ़ॉन्ट उपसमुच्चय बनाना
  • फ़ॉन्ट लाइसेंसिंग वर्कफ़्लो जो प्रति‑पृष्ठ‑सेट उपसमुच्चय वितरित करते हैं
  • मोबाइल वेब अनुप्रयोगों के लिए प्रदर्शन अनुकूलन

वेब अनुकूलन और वैरिएबल फ़ॉन्ट पूर्वावलोकन

  • लेगेसी टेबल्स और मैक नाम रिकॉर्ड्स को FontCleaner.clean_for_web() के साथ हटाएँ
  • परिवर्तनीय फ़ॉन्ट अक्ष संगतता की जाँच करें CompatibilityChecker.compare_fonts() और compare_variable_instances() के साथ
  • AnimationPreviewBuilder.build_axis_sweep() के साथ एनीमेटेड APNG एक्सिस स्वीप उत्पन्न करें
  • AnimationPreviewBuilder.build_path() के साथ बहु‑चरणीय एनीमेशन पाथ बनाएं

सामान्य उपयोग मामलों

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

फ़ॉन्ट फ़ाइल लोड करें

फ़ाइल पथ से एक 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

अक्सर पूछे जाने वाले प्रश्न

क्या है Aspose.Font FOSS Python के लिए?

यह एक मुफ्त, MIT-लाइसेंस वाली pure-Python लाइब्रेरी है जो TTF, OTF, CFF, Type 1, WOFF, WOFF2, और EOT फ़ॉर्मैट में फ़ॉन्ट को लोड करने, निरीक्षण करने, परिवर्तित करने और सबसेट करने के लिए उपयोग की जाती है। कोई नेटिव निर्भरताएँ आवश्यक नहीं हैं।

मैं Aspose.Font FOSS को Python के लिए कैसे इंस्टॉल करूँ?

चलाएँ 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.to_bytes() बेस क्लास में लागू नहीं है। इच्छित फ़ॉर्मेट में नया Font बनाने के लिए FontConverter.convert() का उपयोग करें।

क्या मैं वेब डिलीवरी के लिए फ़ॉन्ट का सबसेट बना सकता हूँ?

हाँ। FontSubsetter.subset_by_text(font, text) केवल दिए गए टेक्स्ट के लिए आवश्यक ग्लिफ़्स को शामिल करने वाला नया Font लौटाता है। FontSubsetter.subset(font, codepoints) और subset_by_gids(font, gids) अधिक सूक्ष्म नियंत्रण प्रदान करते हैं।

  

समर्थन और सीखने के संसाधन

 हिन्दी