1. उत्पादों
  2.   Font
  3.   .NET
  4.   फ़ॉन्ट्स
 
  

फ़ॉन्ट्स को लोड, पढ़ने और ड्रॉ करने के लिए मुफ्त C# .NET लाइब्रेरी

विभिन्न प्रकार के फ़ॉन्ट्स जैसे TrueType, CFF, Woff, Woff2 आदि को लोड, पढ़ने और ड्रॉ करने के लिए ओपन सोर्स C# .NET लाइब्रेरी।

फ़ॉन्ट्स के साथ प्रोग्रामेटिक रूप से काम करने पर, सॉफ़्टवेयर डेवलपर्स को अक्सर विभिन्न फ़ॉन्ट-संबंधित कार्यों को संभालने के लिए मजबूत टूल्स और लाइब्रेरीज़ की आवश्यकता होती है। ऐसा ही एक शक्तिशाली ओपन-सोर्स लाइब्रेरी जो डेवलपर्स में लोकप्रियता हासिल कर चुका है, वह SixLabors Fonts लाइब्रेरी है। Fonts एक बहुत उपयोगी ओपन-सोर्स C# .NET लाइब्रेरी है जो C# एप्लिकेशन्स में विभिन्न प्रकार के फ़ॉन्ट्स के साथ काम करने के लिए व्यापक कार्यक्षमताओं का सेट प्रदान करती है। Six Labors टीम द्वारा विकसित, Fonts लाइब्रेरी फ़ॉन्ट हैंडलिंग कार्यों को सरल बनाने और डेवलपर्स के लिए टाइपफ़ेस के साथ प्रोग्रामेटिक रूप से काम करना आसान बनाने का लक्ष्य रखती है। चाहे उपयोगकर्ताओं को फ़ॉन्ट्स लोड करने, रेंडर करने, मापने या संशोधित करने की आवश्यकता हो, Fonts लाइब्रेरी इन सभी कार्यों के लिए एक साफ़ और सहज API प्रदान करती है।

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

फ़ॉन्ट्स लाइब्रेरी .NET Standard पर निर्मित है, जिससे यह कई प्लेटफ़ॉर्म और फ्रेमवर्क जैसे .NET Core, .NET Framework, Xamarin, और Mono के साथ संगत है। लाइब्रेरी एक सरल और सहज API प्रदान करती है, जिससे सभी स्तर के डेवलपर्स के लिए यह सुलभ है। चाहे आप डेस्कटॉप एप्लिकेशन, वेब सर्विस, या मोबाइल ऐप बना रहे हों, फ़ॉन्ट्स लाइब्रेरी आपके सभी फ़ॉन्ट प्रबंधन आवश्यकताओं के लिए एक ठोस आधार प्रदान करती है। इसलिए, इसे आज़माएँ और ओपन सोर्स फ़ॉन्ट्स लाइब्रेरी के साथ अपने अनुप्रयोगों में रचनात्मक फ़ॉन्ट्स की दुनिया को अनलॉक करें।

Previous Next

फ़ॉन्ट्स के साथ शुरुआत

फ़ॉन्ट्स स्थापित करने का अनुशंसित तरीका NuGet का उपयोग करना है। कृपया सुगम स्थापना के लिए निम्नलिखित कमांड का उपयोग करें।

NuGet के माध्यम से फ़ॉन्ट्स स्थापित करें

 PM > Install-Package SixLabors.Fonts –PreRelease

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

C# ऐप्स में फ़ॉन्ट विवरण लोड और पढ़ें

ओपन सोर्स फ़ॉन्ट्स लाइब्रेरी सॉफ़्टवेयर डेवलपर्स को विभिन्न प्रकार के फ़ॉन्ट लोड करने और C# एप्लिकेशनों के भीतर इसकी पूरी जानकारी प्रदर्शित करने की अनुमति देती है। लाइब्रेरी फ़ाइल पथ, स्ट्रीम, एम्बेडेड रिसोर्सेज आदि सहित विभिन्न स्रोतों से फ़ॉन्ट लोड करने का समर्थन करती है। यह लचीलापन डेवलपर्स को फ़ॉन्ट लोडिंग को अपने एप्लिकेशनों में सहजता से एकीकृत करने में मदद करता है। लाइब्रेरी TrueType फ़ॉन्ट्स, CFF1 आउटलाइन वाले OpenType फ़ॉन्ट्स, Woff, Woff2 आदि के साथ काम करने का समर्थन करती है। निम्नलिखित उदाहरण दिखाता है कि C# कमांड्स का उपयोग करके TTF फ़ॉन्ट के विवरण को कैसे पढ़ा जाए।

C# API का उपयोग करके फ़ॉन्ट विवरण कैसे पढ़ें?

FontDescription description = null;

using(var fs = File.OpenRead("Font.ttf")){
    description = FontDescription.Load(fs); // once it has loaded the data the stream is no longer required and can be disposed of
}

string name = description.FontName(CultureInfo.InvariantCulture);

C# के माध्यम से फ़ॉन्ट संग्रह समर्थन

ओपन सोर्स लाइब्रेरी Fonts सॉफ़्टवेयर डेवलपर्स को फ़ॉन्ट्स को संग्रहों में व्यवस्थित करने की सुविधा देती है, जिससे विभिन्न फ़ॉन्ट परिवारों और शैलियों के बीच प्रबंधन और स्विच करना आसान हो जाता है। केवल कुछ पंक्तियों के कोड से डेवलपर्स कस्टम फ़ॉन्ट संग्रह बना सकते हैं। इस लाइब्रेरी ने उन्नत OpenType सुविधाओं जैसे ग्लिफ़ प्रतिस्थापन (GSUB) और ग्लिफ़ पोजिशनिंग (GPOS) के लिए भी समर्थन प्रदान किया है। निम्नलिखित उदाहरण दिखाता है कि डेवलपर्स C# अनुप्रयोगों में फ़ॉन्ट संग्रहों के साथ कैसे काम कर सकते हैं।

C# कोड के माध्यम से sFont संग्रह के साथ कैसे काम करें?

using SixLabors.Fonts;

FontCollection collection = new();
collection.Add("path/to/font.ttf");
collection.Add("path/to/font2.ttf");
collection.Add("path/to/emojiFont.ttf");
collection.AddCollection("path/to/font.ttc");

if(collection.TryFind("Font Name", out FontFamily family))
if(collection.TryFind("Emoji Font Name", out FontFamily emojiFamily))
{
    // family will not be null here
    Font font = family.CreateFont(12, FontStyle.Italic);

    // TextOptions provides comprehensive customization options support
    TextOptions options = new(font)
    {
        // Will be used if a particular code point doesn't exist in the font passed into the constructor. (e.g. emoji)
        FallbackFontFamilies  = new [] { emojiFamily }
    };

    FontRectangle rect = TextMeasurer.Measure("Text to measure", options);
}
 हिन्दी