1. Produkty
  2.   Font
  3.   .NET
  4.   Czcionki
 
  

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.

Previous Next

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);
}
 Polski