PeachDrawing.Text
0.9.21
dotnet add package PeachDrawing.Text --version 0.9.21
NuGet\Install-Package PeachDrawing.Text -Version 0.9.21
<PackageReference Include="PeachDrawing.Text" Version="0.9.21" />
<PackageVersion Include="PeachDrawing.Text" Version="0.9.21" />
<PackageReference Include="PeachDrawing.Text" />
paket add PeachDrawing.Text --version 0.9.21
#r "nuget: PeachDrawing.Text, 0.9.21"
#:package PeachDrawing.Text@0.9.21
#addin nuget:?package=PeachDrawing.Text&version=0.9.21
#tool nuget:?package=PeachDrawing.Text&version=0.9.21
PeachDrawing.Text
Font loading, OpenType shaping, bidirectional text and Unicode text primitives for .NET, with no package dependencies. It is the text engine PeachPDF renders HTML with, published as its own package so other applications can use it too.
Status: pre-1.0. The engine is complete and in production use inside PeachPDF, and its public API is being published area by area. Font loading and matching (FontSet, TypefaceFamily, Typeface), what a typeface says about itself (TypefaceMetrics, glyph mapping, advances), shaping (Shaper, ShapeSettings, GlyphRun), glyph outlines and colour glyphs (GlyphOutline, ColorPalette, the COLR paint graph, bitmap glyphs) and the PeachDrawing.Text.Unicode namespace (bidirectional text, script itemization, OpenType tags, vertical orientation, hyphenation, emoji presentation) the MATH table (Typeface.MathData) and font subsetting for embedding (TypefaceExporter) and variable fonts (Typeface.WithAxes) are public today; paragraph layout is still internal and will follow. It is versioned in lockstep with PeachPDF (the same number for every release) and is a dependency of it.
What is in it:
- Fonts: TrueType, OpenType (
glyfand CFF), WOFF and WOFF2 loading; TrueType/OpenType collections; installed-font discovery on Windows, macOS, Linux (fontconfig) and Android; CSS Fonts 4 face matching by weight, width and style;unicode-rangeand glyph-coverage fallback. - Shaping: GSUB and GPOS (ligatures, kerning, mark attachment, contextual and chaining lookups), Arabic and Syriac
joining, the Universal Shaping Engine for Devanagari, Bengali, Gujarati and Tamil, default-ignorable handling, and
cmapformat 14 variation sequences. - Outlines and colour: glyph outlines for
glyfand CFF, COLR v0/v1 with CPAL, and CBDT/CBLC and sbix bitmaps. - Unicode: the Unicode Bidirectional Algorithm (UAX #9, checked against
BidiCharacterTest), script itemization, vertical orientation, and TeX/Liang hyphenation for 73 languages.
Licence
BSD 3-Clause (see LICENSE). Parts of the font readers derive from PDFsharp (MIT), the TrueType bytecode interpreter
and Adobe's CFF engine that grid-fit outlines are ported from FreeType (FreeType Project License, FTL.TXT, with Adobe's patent licence grant), several shaping algorithms are
ports of HarfBuzz code (Old MIT), and the data tables come from the Unicode Character Database, the hyph-utf8
pattern collection and ICU's Thai and Khmer word lists; each of those notices is reproduced in THIRD-PARTY-LICENSES.md, which ships in this package.
Portions of this software are copyright © 1996-2026 The FreeType Project (https://freetype.org). All rights reserved. This software is based in part on the work of the FreeType Team.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. 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. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. net11.0 is compatible. |
-
net10.0
- PeachDrawing.Text.Data (>= 0.9.21)
-
net11.0
- PeachDrawing.Text.Data (>= 0.9.21)
-
net8.0
- PeachDrawing.Text.Data (>= 0.9.21)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on PeachDrawing.Text:
| Package | Downloads |
|---|---|
|
PeachPDF
Renders HTML and CSS to PDF in pure .NET, with no browser or external process: HTML parsing, the CSS cascade, layout, SVG, MathML and the PDF writer all run in-process. |
|
|
PeachDrawing.Core
The drawing-surface abstraction (Canvas, RenderContext, Brush, Pen, Font, Image, GraphicsPath and the paint-ready value types) PeachPDF targets to write PDF. A user of PeachDrawing.Core can build their own render target the same way PeachPDF targets it to PDF, or take PeachDrawing's own raster Canvas implementation. |
GitHub repositories
This package is not used by any popular GitHub repositories.