Fontları Yüklemek, Okumak ve Çizmek İçin Ücretsiz C# .NET Kütüphanesi
TrueType, CFF, Woff, Woff2 ve daha birçok font tipini yüklemek, okumak ve çizmek için Açık Kaynak C# .NET Kütüphanesi.
Yazı tipleriyle programlı olarak çalışırken, yazılım geliştiricileri genellikle çeşitli yazı tipiyle ilgili işlemleri yönetebilecek sağlam araç ve kütüphanelere ihtiyaç duyar. Geliştiriciler arasında popülerlik kazanmış güçlü bir açık kaynak kütüphane SixLabors Fonts kütüphanesidir. Fonts, C# .NET için çok faydalı bir açık kaynak kütüphanesidir ve C# uygulamaları içinde çeşitli yazı tipleriyle çalışmak için kapsamlı bir işlev seti sunar. Six Labors ekibi tarafından geliştirilen Fonts kütüphanesi, yazı tipi işleme görevlerini basitleştirmeyi ve geliştiricilerin tipografiyle programlı olarak çalışmasını kolaylaştırmayı amaçlar. Kullanıcılar yazı tiplerini yüklemek, renderlamak, ölçmek veya manipüle etmek isterlerse, Fonts kütüphanesi bu tüm işlemler için temiz ve sezgisel bir API sunar.
Açık kaynak Fonts kütüphanesi, yazı tipi manipülasyonu ve özelleştirmesi için çeşitli özellikler sunar, böylece yazılım geliştiricileri uygulamalarında benzersiz ve görsel olarak çekici metin öğeleri oluşturabilir. Kütüphanenin içinde yer alan birçok önemli özellik vardır; örneğin çeşitli kaynaklardan (yollar, akışlar veya gömülü kaynaklar) yazı tiplerini yükleme, yüksek kaliteli glif renderleme yetenekleri, hassas metin yerleşimi ve hizalaması gerçekleştirme, Unicode metin işleme, yazı tiplerini koleksiyonlar halinde düzenleme ve daha fazlası.
Fonts kütüphanesi .NET Standard üzerine inşa edilmiştir, bu sayede .NET Core, .NET Framework, Xamarin ve Mono dahil olmak üzere birden çok platform ve çerçeveyle uyumludur. Kütüphane, tüm beceri seviyelerindeki geliştiriciler için erişilebilir, basit ve sezgisel bir API sunar. İster bir masaüstü uygulaması, ister bir web servisi, ister bir mobil uygulama geliştirin, Fonts kütüphanesi tüm yazı tipi yönetimi ihtiyaçlarınız için sağlam bir temel sağlar. Bu yüzden bir deneme yapın ve açık kaynak Fonts kütüphanesiyle uygulamalarınızda yaratıcı Fonts dünyasının kilidini açın.
Yazı Tipleriyle Başlarken
Fonts'i kurmanın önerilen yolu NuGet kullanmaktır. Lütfen sorunsuz bir kurulum için aşağıdaki komutu kullanın.
NuGet ile Yazı Tiplerini Yükle
PM > Install-Package SixLabors.Fonts –PreRelease
Ayrıca manuel olarak da kurabilirsiniz; en son sürüm dosyalarını doğrudan GitHub deposundan indirin.
C# Uygulamalarında Yazı Tipi Detaylarını Yükle ve Oku
Açık kaynaklı Fonts kütüphanesi, yazılım geliştiricilerin çeşitli tipte fontları yüklemesine ve C# uygulamaları içinde fontların tam ayrıntılarını görüntülemesine olanak tanır. Kütüphane, dosya yolları, akışlar, gömülü kaynaklar ve daha fazlası dahil olmak üzere çeşitli kaynaklardan font yüklemeyi destekler. Bu esneklik, geliştiricilerin font yüklemeyi uygulamalarına sorunsuz bir şekilde entegre etmelerini sağlar. Kütüphane, TrueType fontları, CFF1 konturlu OpenType fontları, Woff, Woff2 ve benzeri formatlarla çalışmayı destekler. Aşağıdaki örnek, C# komutları kullanarak TTF fontunun açıklamasının nasıl okunacağını gösterir.
C# API'si Kullanarak Yazı Tipi Açıklaması Nasıl Okunur?
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# ile Yazı Tipi Koleksiyonları Desteği
Açık kaynaklı Fonts kütüphanesi, yazılım geliştiricilerin yazı tiplerini koleksiyonlar halinde düzenlemelerine olanak tanır, böylece farklı yazı tipi aileleri ve stilleri arasında yönetimi ve geçişi kolaylaştırır. Sadece birkaç satır kodla geliştiriciler özel yazı tipi koleksiyonları oluşturabilir. Kütüphane ayrıca gelişmiş OpenType özellikleri olan glif ikamesi (GSUB) ve glif konumlandırması (GPOS) desteği de sağlamaktadır. Aşağıdaki örnek, geliştiricilerin C# uygulamaları içinde yazı tipi koleksiyonlarıyla nasıl çalışabileceğini gösterir.
C# kodu ile sFont Koleksiyonu Nasıl Kullanılır?
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);
}