Universal.Common.Formats.TrueType
1.1.0
See the version list below for details.
dotnet add package Universal.Common.Formats.TrueType --version 1.1.0
NuGet\Install-Package Universal.Common.Formats.TrueType -Version 1.1.0
<PackageReference Include="Universal.Common.Formats.TrueType" Version="1.1.0" />
<PackageVersion Include="Universal.Common.Formats.TrueType" Version="1.1.0" />
<PackageReference Include="Universal.Common.Formats.TrueType" />
paket add Universal.Common.Formats.TrueType --version 1.1.0
#r "nuget: Universal.Common.Formats.TrueType, 1.1.0"
#:package Universal.Common.Formats.TrueType@1.1.0
#addin nuget:?package=Universal.Common.Formats.TrueType&version=1.1.0
#tool nuget:?package=Universal.Common.Formats.TrueType&version=1.1.0
Universal.Common.Formats.TrueType
Library for parsing TrueType font files.
Quickstart
Use the SfntStreamReader class to get started with reading the font directory. This will allow the parsing of TrueType and other SFNT-packaged fonts by extracting tables with known semantic meaning (as defined by those other formats).
using (Stream stream = FileStream.OpenRead("Arial.ttf"))
{
using (TrueTypeStreamReader streamReader = new TrueTypeStreamReader(stream))
{
TrueTypeFont trueTypeFont = streamReader.ReadTrueTypeFont(); // Contains select tables from the file.
}
}
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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. net10.0 was computed. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Universal.Common.Formats.Sfnt (>= 1.1.0)
NuGet packages (7)
Showing the top 5 NuGet packages that depend on Universal.Common.Formats.TrueType:
| Package | Downloads |
|---|---|
|
Universal.Common.Fonts
Font discovery, indexing, matching, resolution, shaping, metrics, and glyph access. |
|
|
Universal.Common.Formats.OpenXml.Rendering
Office Open XML rendering profiles, fonts, DrawingML, and mathematical layout. |
|
|
Universal.Common.Formats.TrueType.Hinting
TrueType hinting bytecode interpretation. |
|
|
Universal.Common.Formats.Pptx.Rendering
Lays out and renders PPTX slides. |
|
|
Universal.Common.Formats.Xlsx.Rendering
Lays out and renders XLSX worksheets. |
GitHub repositories
This package is not used by any popular GitHub repositories.
1.1.0: Retargeted from netstandard2.1 to netstandard2.0 (tracks
Universal.Common.Formats.Sfnt's own retarget) for broader consumer compatibility. Added 'glyf'/
'loca' glyph outline parsing (simple and composite glyphs), 'kern' table (format 0), 'OS/2' table,
and 'cvt '/'fpgm'/'prep' raw hinting-bytecode table reading (consumed by
Universal.Common.Formats.TrueType.Hinting). Added TrueType Collection (.ttc) support, reading the
first font in the collection. Fixed two pre-existing bugs found while verifying the new outline
parsing against real fonts: (1) HorizontalMetrics.Metrics had a Column-order collision (AdvanceWidth
and LeftSideBearing were both declared at Order 0), making LeftSideBearing's parsed value depend on
unspecified reflection member ordering instead of always reading correctly; (2)
CharacterMap.SubtableFormat4.Map()'s idRangeOffset branch indexed GlyphIndexArray with a raw
byte-pointer-arithmetic offset instead of correcting it to an array index (missing the /2 and the
segment-position adjustment), silently returning an unrelated glyph for any codepoint whose cmap
segment uses the indirect form - this affected real accented Latin characters (e.g. Arial's 'é'
resolved to an unrelated glyph, not an accented 'e', prior to this fix).