SixLabors.Fonts 2.1.3

Prefix Reserved
dotnet add package SixLabors.Fonts --version 2.1.3
                    
NuGet\Install-Package SixLabors.Fonts -Version 2.1.3
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SixLabors.Fonts" Version="2.1.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SixLabors.Fonts" Version="2.1.3" />
                    
Directory.Packages.props
<PackageReference Include="SixLabors.Fonts" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SixLabors.Fonts --version 2.1.3
                    
#r "nuget: SixLabors.Fonts, 2.1.3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=SixLabors.Fonts&version=2.1.3
                    
Install SixLabors.Fonts as a Cake Addin
#tool nuget:?package=SixLabors.Fonts&version=2.1.3
                    
Install SixLabors.Fonts as a Cake Tool

SixLabors.Fonts

SixLabors.Fonts

Build Status codecov License: Six Labors Split

GitHub issues GitHub stars GitHub forks

SixLabors.Fonts is a new cross-platform font loading and drawing library.

License

Support Six Labors

Support the efforts of the development of the Six Labors projects.

Documentation

  • Detailed documentation for the Fonts API is available. This includes additional conceptual documentation to help you get started.
  • Our Samples Repository is also available containing buildable code samples demonstrating common activities.

Questions

Code of Conduct

This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community.

Installation

Install stable releases via Nuget; development releases are available via Feedz.io.

Package Name Release (NuGet) Nightly (Feedz.io)
SixLabors.Fonts NuGet feedz.io

Manual build

If you prefer, you can compile Fonts yourself (please do and help!)

Alternatively, you can work from command line and/or with a lightweight editor on both Linux/Unix and Windows:

To clone Fonts locally, click the "Clone in [YOUR_OS]" button above or run the following git commands:

git clone https://github.com/SixLabors/Fonts

If working with Windows please ensure that you have enabled log file paths in git (run as Administrator).

git config --system core.longpaths true

Submodules

This repository contains git submodules. To add the submodules to the project, navigate to the repository root and type:

git submodule update --init --recursive

Features

  • Reading font description (name, family, subname etc plus other string metadata).
  • Loading OpenType fonts with with CFF1 and True Type outlines.
  • Loading True Type fonts.
  • Loading WOFF fonts.
  • Loading WOFF2 fonts.
  • Load all compatible fonts from local machine store.
  • Suppord for line breaking based on UAX 14
  • Support for rendering left to right, right to left and bidirectional text.
  • Support for ligatures.
  • Support for advanced OpenType features glyph substitution (GSUB) and glyph positioning (GPOS)

API Examples

Read font description

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

Populating a font collection

FontCollection fonts = new FontCollection();
FontFamily font1 = fonts.Add("./path/to/font1.ttf");
FontFamily font2 = fonts.Add("./path/to/font2.woff");

How can you help?

Please... Spread the word, contribute algorithms, submit performance improvements, unit tests.

Projects using SixLabors.Fonts

The SixLabors.Fonts Team

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net6.0

    • No dependencies.

NuGet packages (110)

Showing the top 5 NuGet packages that depend on SixLabors.Fonts:

Package Downloads
ClosedXML

See release notes https://github.com/ClosedXML/ClosedXML/releases/tag/0.105.0-rc ClosedXML is a .NET library for reading, manipulating and writing Excel 2007+ (.xlsx, .xlsm) files. It aims to provide an intuitive and user-friendly interface to dealing with the underlying OpenXML API.

NPOI

.NET port of Apache POI

SixLabors.ImageSharp.Drawing

An extension to ImageSharp that allows the drawing of images, paths, and text.

PdfSharpCore

PdfSharp for .NET Core PdfSharpCore is a partial port of PdfSharp.Xamarin for .NET Core Additionally MigraDoc has been ported as well (from version 1.32). Images have been implemented with ImageSharp from https://www.nuget.org/packages/SixLabors.ImageSharp

SixLabors.Shapes.Text

Allows generating glyphs for text and a fonts for manipulation using SixLabors.Shapes

GitHub repositories (26)

Showing the top 20 popular GitHub repositories that depend on SixLabors.Fonts:

Repository Stars
nissl-lab/npoi
a .NET library that can read/write Office formats without Microsoft Office installed. No COM+, no interop.
ClosedXML/ClosedXML
ClosedXML is a .NET library for reading, manipulating and writing Excel 2007+ (.xlsx, .xlsm) files. It aims to provide an intuitive and user-friendly interface to dealing with the underlying OpenXML API.
cyanfish/naps2
Scan documents to PDF and more, as simply as possible.
peachpiecompiler/peachpie
PeachPie - the PHP compiler and runtime for .NET and .NET Core
Webreaper/Damselfly
Damselfly is a server-based Photograph Management app. The goal of Damselfly is to index an extremely large collection of images, and allow easy search and retrieval of those images, using metadata such as the IPTC keyword tags, as well as the folder and file names. Damselfly includes support for object/face detection.
ststeiger/PdfSharpCore
Port of the PdfSharp library to .NET Core - largely removed GDI+ (only missing GetFontData - which can be replaced with freetype2)
swharden/Csharp-Data-Visualization
Resources for visualizing data using C# and the .NET platform
xianhc/ApeVolo.Admin
.Net 8 、SqlSugar ORM、Vue 2.X、RBAC、前后端分离的开箱则用的企业级中后台权限管理系统
SparkDevNetwork/Rock
An open source CMS, Relationship Management System (RMS) and Church Management System (ChMS) all rolled into one.
Tagliatti/NetBarcode
Barcode generation library written in C# and .NET Standard 2
hypar-io/Elements
The smallest useful BIM.
dem-net/DEM.Net
Digital Elevation model library in C#. 3D terrain models, line/point Elevations, intervisibility reports
SixLabors/ImageSharp.Drawing
:pen: Extensions to ImageSharp containing a cross-platform 2D polygon manipulation API and drawing operations.
MayDay-wpf/AIBotPublic
AIBot PRO 是一个基于.NET 6 的 AI聚合客户端 to C 弱 to B 可以集成众多AI产品(ChatGPT,Gemini,Claude,文心一言,通义千问,讯飞星火),无感切换对话,支持知识库、插件开发、AI流程引擎(workflow)、以及开放平台对外输出定制化的特色AI API
jhaygood86/PeachPDF
Peach PDF is a pure .NET HTML -> PDF rendering library
karaoke-dev/karaoke
Will be the best karaoke system.
maker-community/ElectronBot.DotNet
一个为ElectronBot机器人和瀚文键盘(HelloWorldKeyboard)开发的上位机软件(包含机器人USB操作SDK和瀚文键盘HID操作SDK),采用Windows App SDK框架编写界面。 A host computer software developed for ElectronBot robots (including robot USB operation SDK), using the Windows App SDK framework to write UI.
SilkCommunity/TrippyGL
A simple, lightweight yet highly versatile OpenGL graphics library
sunengine/SunEngine
SunEngine – site engine with blog, forum and articles sections features support.
Titlehhhh/Minecraft-Holy-Client
A high-performance platform for running Minecraft stress-test bots written in C#.
Version Downloads Last updated
2.1.3 44 4/26/2025
2.1.2 142,322 2/2/2025
2.1.1 3,513 1/30/2025
2.1.0 27,981 1/21/2025
2.0.9 23,607 1/10/2025
2.0.8 295,915 1/8/2025
2.0.7 44,319 12/16/2024
2.0.6 201,350 10/30/2024
2.0.5 1,116 10/30/2024
2.0.4 2,555,297 6/29/2024
2.0.3 1,322,916 3/28/2024
2.0.2 258,427 2/15/2024
2.0.1 1,595,992 12/1/2023
2.0.0 1,683,186 9/15/2023
1.0.1 7,217,182 9/15/2023
1.0.0 30,296,078 8/11/2023
1.0.0-beta19 7,459,797 10/30/2022
1.0.0-beta18 17,884,079 7/22/2022
1.0.0-beta17 10,614,375 5/18/2022
1.0.0-beta16 3,504,759 2/9/2022
1.0.0-beta15 1,391,376 5/20/2021
1.0.0-beta0013 8,343,200 6/18/2020
1.0.0-beta0012 69,692 6/8/2020
1.0.0-beta0011 369,313 5/13/2020
1.0.0-beta0009 2,186,999 9/1/2019
1.0.0-beta0008 1,120,040 1/25/2019
1.0.0-beta0007 795,910 8/5/2018
1.0.0-beta0006 8,528 6/7/2018
1.0.0-beta0005 3,051,306 5/24/2018
1.0.0-beta0004 3,817 3/27/2018
1.0.0-beta0003 144,756 11/17/2017
1.0.0-beta0002 16,061 9/16/2017
1.0.0-beta0001 28,926 9/13/2017
0.1.0-alpha0016 14,682 7/16/2017
0.1.0-alpha0015 1,344 6/22/2017
0.1.0-alpha0014 74,044 6/13/2017
0.1.0-alpha0013 12,933 6/6/2017
0.1.0-alpha0012 1,351 6/4/2017
0.1.0-alpha0011 244,058 5/30/2017
0.1.0-alpha0010 27,273 5/2/2017
0.1.0-alpha0009 1,302 4/21/2017
0.1.0-alpha0008 2,491 4/17/2017
0.1.0-alpha0007 1,336 4/16/2017
0.1.0-alpha0006 1,363 4/13/2017
0.1.0-alpha0005 1,486 4/12/2017
0.1.0-alpha0004 1,385 4/12/2017
0.1.0-alpha0003 1,306 4/12/2017
0.1.0-alpha0002 21,164 3/12/2017
0.1.0-alpha0001 1,541 3/5/2017