Perpustakaan C# .NET Gratis untuk Memuat, Membaca & Menggambar Font
Perpustakaan C# .NET Open Source untuk Memuat, Membaca, dan Menggambar Berbagai Jenis Font seperti TrueType, CFF, Woff, Woff2, dan banyak lagi.
Ketika berbicara tentang bekerja dengan font secara programatis, pengembang perangkat lunak sering membutuhkan alat dan pustaka yang kuat untuk menangani berbagai operasi terkait font. Salah satu pustaka sumber terbuka yang kuat dan telah mendapatkan popularitas di antara para pengembang adalah pustaka SixLabors Fonts. Fonts adalah pustaka C# .NET sumber terbuka yang sangat berguna yang menyediakan serangkaian fungsionalitas komprehensif untuk bekerja dengan berbagai jenis font di dalam aplikasi C#. Dikembangkan oleh tim Six Labors, pustaka Fonts bertujuan menyederhanakan tugas penanganan font dan mempermudah pengembang dalam bekerja dengan jenis huruf secara programatis. Baik pengguna perlu memuat, merender, mengukur, atau memanipulasi font, pustaka Fonts menawarkan API yang bersih dan intuitif untuk semua operasi tersebut.
Pustaka Fonts sumber terbuka menyediakan beberapa fitur untuk manipulasi dan kustomisasi font, memungkinkan pengembang perangkat lunak untuk membuat elemen teks yang unik dan menarik secara visual dalam aplikasi mereka. Ada beberapa fitur penting dalam pustaka ini, seperti memuat font dari berbagai sumber (jalur, aliran, atau sumber daya yang disematkan), kemampuan rendering glif berkualitas tinggi, melakukan tata letak dan perataan teks yang tepat, penanganan teks Unicode, mengorganisir font ke dalam koleksi, dan banyak lagi.
Pustaka Fonts dibangun di atas .NET Standard, menjadikannya kompatibel dengan berbagai platform dan kerangka kerja, termasuk .NET Core, .NET Framework, Xamarin, dan Mono. Pustaka ini menawarkan API yang sederhana dan intuitif, sehingga dapat diakses oleh pengembang dengan semua tingkat keahlian. Baik Anda sedang membangun aplikasi desktop, layanan web, atau aplikasi seluler, pustaka Fonts menyediakan fondasi yang kuat untuk semua kebutuhan manajemen font Anda. Jadi, cobalah dan buka dunia Font kreatif dalam aplikasi Anda dengan pustaka Fonts sumber terbuka.
Memulai dengan Font
Cara yang disarankan untuk menginstal Fonts adalah menggunakan NuGet. Silakan gunakan perintah berikut untuk instalasi yang lancar.
Instal Font melalui NuGet
PM > Install-Package SixLabors.Fonts –PreRelease
Anda juga dapat menginstalnya secara manual; unduh file rilis terbaru langsung dari repositori GitHub.
Muat & Baca Detail Font di dalam Aplikasi C#
Perpustakaan Fonts sumber terbuka memungkinkan pengembang perangkat lunak untuk memuat berbagai jenis font dan menampilkan detail lengkapnya di dalam aplikasi C#. Perpustakaan ini mendukung pemuatan font dari berbagai sumber, termasuk jalur file, aliran, sumber daya yang disematkan, dan lainnya. Fleksibilitas ini memungkinkan pengembang mengintegrasikan pemuatan font ke dalam aplikasi mereka dengan mulus. Perpustakaan ini mendukung kerja dengan font TrueType, font OpenType dengan outline CFF1, Woff, Woff2, dan sebagainya. Contoh berikut menunjukkan cara membaca deskripsi tentang font TTF menggunakan perintah C#.
Bagaimana Membaca Deskripsi Font menggunakan API C#?
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);
Dukungan Koleksi Font melalui C#
Perpustakaan sumber terbuka Fonts memungkinkan pengembang perangkat lunak untuk mengatur font ke dalam koleksi, memudahkan pengelolaan dan beralih antara berbagai keluarga dan gaya font. Dengan hanya beberapa baris kode, pengembang dapat membuat koleksi font khusus. Perpustakaan ini juga menyediakan dukungan untuk fitur OpenType lanjutan substitusi glif (GSUB) dan penempatan glif (GPOS). Contoh berikut menunjukkan bagaimana pengembang dapat bekerja dengan koleksi font di dalam aplikasi C#.
Bagaimana Bekerja dengan Koleksi sFont melalui kode C#?
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);
}