1. Товары
  2.   Font
  3.   .NET
  4.   Шрифты
 
  

Бесплатная библиотека C# .NET для загрузки, чтения и отрисовки шрифтов

Библиотека с открытым исходным кодом C# .NET для загрузки, чтения и отрисовки различных типов шрифтов, таких как TrueType, CFF, Woff, Woff2 и многие другие.

Когда речь идет о работе со шрифтами программно, разработчикам программного обеспечения часто нужны надежные инструменты и библиотеки для выполнения различных операций, связанных со шрифтами. Одной из таких мощных открытых библиотек, завоевавших популярность среди разработчиков, является библиотека SixLabors Fonts. Fonts — очень полезная открытая библиотека C# .NET, предоставляющая широкий набор функций для работы с различными типами шрифтов в приложениях C#. Разработанная командой Six Labors, библиотека Fonts стремится упростить задачи обработки шрифтов и облегчить разработчикам работу с типографикой программно. Независимо от того, нужно ли пользователям загружать, рендерить, измерять или манипулировать шрифтами, библиотека Fonts предлагает чистый и интуитивно понятный API для всех этих операций.

Библиотека шрифтов с открытым исходным кодом предоставляет несколько функций для манипуляции шрифтами и их настройки, позволяя разработчикам программного обеспечения создавать уникальные и визуально привлекательные текстовые элементы в своих приложениях. В библиотеке есть несколько важных функций, таких как загрузка шрифтов из различных источников (путей, потоков или встроенных ресурсов), возможности высококачественного рендеринга глифов, точное размещение и выравнивание текста, обработка Unicode‑текста, организация шрифтов в коллекции и многое другое.

Библиотека Fonts построена на .NET Standard, что делает её совместимой с множеством платформ и фреймворков, включая .NET Core, .NET Framework, Xamarin и Mono. Библиотека предлагает простой и интуитивно понятный API, доступный разработчикам любого уровня. Независимо от того, создаёте ли вы настольное приложение, веб‑службу или мобильное приложение, библиотека Fonts предоставляет надёжную основу для всех ваших потребностей в управлении шрифтами. Попробуйте её и откройте мир креативных шрифтов в своих приложениях с помощью библиотеки шрифтов с открытым исходным кодом.

Previous Next

Начало работы со шрифтами

Рекомендуемый способ установки Fonts — использовать NuGet. Пожалуйста, используйте следующую команду для простой установки.

Установка шрифтов через NuGet

 PM > Install-Package SixLabors.Fonts –PreRelease

Вы также можете установить его вручную; загрузите последние файлы релиза напрямую из репозитория GitHub.

Загрузка и чтение деталей шрифта в приложениях C#

Библиотека открытого кода Fonts позволяет разработчикам программного обеспечения загружать различные типы шрифтов и отображать их полные сведения в приложениях C#. Библиотека поддерживает загрузку шрифтов из различных источников, включая пути к файлам, потоки, встроенные ресурсы и многое другое. Эта гибкость позволяет разработчикам бесшовно интегрировать загрузку шрифтов в свои приложения. Библиотека поддерживает работу с TrueType‑шрифтами, OpenType‑шрифтами с контурами CFF1, Woff, Woff2 и т.д. Следующий пример показывает, как прочитать описание TTF‑шрифта с помощью команд C#.

Как прочитать описание шрифта с помощью 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);

Поддержка коллекций шрифтов через C#

Открытая библиотека Fonts позволяет разработчикам программного обеспечения организовывать шрифты в коллекции, упрощая управление и переключение между различными семействами и стилями шрифтов. Всего лишь несколькими строками кода разработчики могут создавать пользовательские коллекции шрифтов. Библиотека также предоставляет поддержку продвинутых функций OpenType: замены глифов (GSUB) и позиционирования глифов (GPOS). Ниже приведён пример, показывающий, как разработчики могут работать с коллекциями шрифтов в приложениях на C#.

Как работать с коллекцией sFont через код 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);
}
 Русский