Darmowa biblioteka C# .NET do ładowania, odczytywania i rysowania czcionek
Otwarto‑źródłowa biblioteka C# .NET do ładowania, odczytywania i rysowania różnych typów czcionek, takich jak TrueType, CFF, Woff, Woff2 i wiele innych.
Kiedy chodzi o programowe operowanie czcionkami, programiści często potrzebują solidnych narzędzi i bibliotek do obsługi różnych operacji związanych z czcionkami. Jedną z takich potężnych, otwarto‑źródłowych bibliotek, która zyskała popularność wśród programistów, jest biblioteka SixLabors Fonts. Fonts to bardzo przydatna, otwarto‑źródłowa biblioteka C# .NET, która zapewnia kompleksowy zestaw funkcji do pracy z różnymi typami czcionek w aplikacjach C#. Opracowana przez zespół Six Labors, biblioteka Fonts ma na celu uproszczenie zadań związanych z obsługą czcionek i ułatwienie programistom programowego korzystania z krojów pisma. Niezależnie od tego, czy użytkownicy potrzebują ładować, renderować, mierzyć czy manipulować czcionkami, biblioteka Fonts oferuje czyste i intuicyjne API dla wszystkich tych operacji.
Biblioteka czcionek open source oferuje wiele funkcji manipulacji i dostosowywania czcionek, umożliwiając programistom tworzenie unikalnych i atrakcyjnych wizualnie elementów tekstowych w ich aplikacjach. Biblioteka zawiera kilka istotnych funkcji, takich jak ładowanie czcionek z różnych źródeł (ścieżek, strumieni lub zasobów osadzonych), wysokiej jakości renderowanie glifów, precyzyjne układanie i wyrównywanie tekstu, obsługa tekstu Unicode, organizowanie czcionek w kolekcje i wiele innych.
Biblioteka Fonts została zbudowana na .NET Standard, co czyni ją kompatybilną z wieloma platformami i frameworkami, w tym .NET Core, .NET Framework, Xamarin i Mono. Biblioteka oferuje prosty i intuicyjny interfejs API, co sprawia, że jest dostępna dla programistów o różnym poziomie umiejętności. Niezależnie od tego, czy tworzysz aplikację desktopową, usługę internetową czy aplikację mobilną, biblioteka Fonts zapewnia solidną podstawę dla wszystkich potrzeb zarządzania czcionkami. Wypróbuj ją i otwórz świat kreatywnych czcionek w swoich aplikacjach dzięki otwartoźródłowej bibliotece Fonts.
Rozpoczęcie pracy z czcionkami
Zalecanym sposobem instalacji Fonts jest użycie NuGet. Proszę użyć poniższego polecenia, aby uzyskać płynną instalację.
Instalowanie czcionek przez NuGet
PM > Install-Package SixLabors.Fonts –PreRelease
Możesz również zainstalować go ręcznie; pobierz najnowsze pliki wydania bezpośrednio z repozytorium GitHub.
Ładowanie i odczytywanie szczegółów czcionek w aplikacjach C#
Biblioteka open source Fonts umożliwia programistom ładowanie różnych typów czcionek i wyświetlanie ich pełnych szczegółów w aplikacjach C#. Biblioteka obsługuje ładowanie czcionek z różnych źródeł, w tym ścieżek plików, strumieni, zasobów osadzonych i nie tylko. Ta elastyczność pozwala programistom płynnie integrować ładowanie czcionek w swoich aplikacjach. Biblioteka obsługuje czcionki TrueType, czcionki OpenType z konturami CFF1, Woff, Woff2 i inne. Poniższy przykład pokazuje, jak odczytać opis czcionki TTF przy użyciu poleceń C#.
Jak odczytać opis czcionki przy użyciu 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);
Obsługa kolekcji czcionek za pomocą C#
Biblioteka open source Fonts pozwala programistom na organizowanie czcionek w kolekcje, co ułatwia zarządzanie i przełączanie się między różnymi rodzinami i stylami czcionek. Za pomocą kilku linii kodu programiści mogą tworzyć własne kolekcje czcionek. Biblioteka zapewnia również wsparcie dla zaawansowanych funkcji OpenType: podstawianie glifów (GSUB) i pozycjonowanie glifów (GPOS). Poniższy przykład pokazuje, jak programiści mogą pracować z kolekcjami czcionek w aplikacjach C#.
Jak pracować z kolekcją sFont przy użyciu kodu 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);
}