HarfBuzzSharp 14.2.1.300

HarfBuzzSharp

NuGet NuGet downloads License: MIT

HarfBuzzSharp provides .NET bindings for the HarfBuzz OpenType text shaping engine. It converts Unicode text into correctly selected and positioned glyphs for complex scripts, ligatures, kerning, variable fonts, bidirectional text, and advanced typographic features.

Capabilities

  • Shape text for Arabic, Indic, Southeast Asian, and other complex writing systems.
  • Apply OpenType features, language, script, and direction settings.
  • Inspect glyph IDs, clusters, advances, and offsets.
  • Read OpenType variation axes, names, metrics, color glyph data, and layout information.
  • Run on Windows, macOS, Linux, Android, iOS, Mac Catalyst, tvOS, Tizen, and WebAssembly.
  • Integrate with SkiaSharp rendering through SkiaSharp.HarfBuzz.

Get started

Install the package:

dotnet add package HarfBuzzSharp

Shape a string using an OpenType font:

using HarfBuzzSharp;

using var blob = Blob.FromFile("NotoSansArabic-Regular.ttf");
using var face = new Face(blob, 0);
using var font = new Font(face);
font.SetScale(face.UnitsPerEm, face.UnitsPerEm);

using var buffer = new HarfBuzzSharp.Buffer();
buffer.AddUtf8("مرحبا بالعالم");
buffer.GuessSegmentProperties();

font.Shape(buffer);

foreach (var glyph in buffer.GlyphInfos)
    Console.WriteLine($"Glyph {glyph.Codepoint}, cluster {glyph.Cluster}");

For drawing shaped text with SkiaSharp, install SkiaSharp.HarfBuzz and use SKShaper:

dotnet add package SkiaSharp.HarfBuzz

Linux and WebAssembly: add the matching HarfBuzzSharp.NativeAssets.* package directly to the application project when the target does not receive native assets transitively. See the package deployment guide.

Documentation and resources

Feedback and contributing

HarfBuzzSharp is part of the open-source SkiaSharp project from Microsoft. Use GitHub Discussions for questions, file bugs and feature requests in the issue tracker, and read the contributing guide to get involved.

HarfBuzzSharp is released under the MIT license.

Showing the top 20 packages that depend on HarfBuzzSharp.

Packages Downloads
SkiaSharp.HarfBuzz
This package adds text shaping support to SkiaSharp via HarfBuzz.
71
SkiaSharp.HarfBuzz
This package adds text shaping support to SkiaSharp via HarfBuzz.
70
SkiaSharp.HarfBuzz
This package adds text shaping support to SkiaSharp via HarfBuzz.
68
SkiaSharp.HarfBuzz
This package adds text shaping support to SkiaSharp via HarfBuzz.
67
SkiaSharp.HarfBuzz
This package adds text shaping support to SkiaSharp via HarfBuzz.
66

Please visit https://go.microsoft.com/fwlink/?linkid=868517 to view the release notes.

.NET 10.0

.NET Standard 2.1

.NET Standard 2.0

.NET 9.0

.NET 9.0

.NET 9.0

.NET 9.0

.NET 9.0

.NET 9.0

.NET 9.0

.NET 9.0

.NET 6.0

.NET 6.0

.NET 10.0

.NET 10.0

.NET 10.0

.NET 10.0

.NET 10.0

.NET 10.0

.NET Framework 4.6.2

.NET Framework 4.8

.NET 10.0

Version Downloads Last updated
14.4.0.100-preview.1.26512.10 7 10/19/2026
14.4.0-rc.1.26512.8 7 10/18/2026
14.4.0-preview.2.26479.13 10 10/01/2026
14.2.1.500-preview.1.26471.14 11 10/03/2026
14.2.1.400 2 10/29/2026
14.2.1.400-rc.1.26479.14 9 10/04/2026
14.2.1.400-preview.2.26471.11 9 10/03/2026
14.2.1.400-preview.1.26454.9 15 09/05/2026
14.2.1.302 1 10/29/2026
14.2.1.301 9 10/04/2026
14.2.1.300 9 10/03/2026
14.2.1.300-rc.1.26456.2 13 09/18/2026
14.2.1.300-preview.1.26454.6 14 09/05/2026
14.2.1.204 1 10/29/2026
14.2.1.203 9 10/04/2026
14.2.1.202 10 10/03/2026
14.2.1.201 11 09/18/2026
14.2.1.200 14 09/11/2026
14.2.1.200-rc.1.26426.14 16 08/28/2026
14.2.1.105 9 10/04/2026
14.2.1.104 9 10/03/2026
14.2.1.103 9 09/19/2026
14.2.1.102 16 09/03/2026
14.2.1.5 9 10/03/2026
14.2.1.4 10 10/03/2026
14.2.1.3 16 09/03/2026
14.2.1.2 18 08/10/2026
14.2.1.1 32 07/16/2026
14.2.1 36 07/09/2026
14.2.1-rc.1.1 30 07/01/2026
14.2.1-preview.2.1 28 06/26/2026
14.2.1-preview.1.1 28 07/03/2026
14.2.0 27 06/26/2026
14.2.0-rc.1.2 36 06/14/2026
14.2.0-preview.1.1 32 06/16/2026
8.3.1.6-preview.3.1 36 05/26/2026
8.3.1.6-preview.2.1 36 05/13/2026
8.3.1.6-preview.1.1 43 05/01/2026
8.3.1.5 31 05/26/2026
8.3.1.5-preview.1.1 45 04/23/2026
8.3.1.4-preview.1.1 49 02/14/2026
8.3.1.3 44 02/09/2026
8.3.1.3-preview.3.1 52 02/09/2026
8.3.1.3-preview.2.3 51 01/29/2026
8.3.1.3-preview.1 64 10/23/2025
8.3.1.2 64 10/23/2025
8.3.1.2-preview.1 68 10/23/2025
8.3.1.1 68 10/23/2025
8.3.1.1-stable.1 66 10/23/2025
8.3.1.1-preview.1.2 66 10/23/2025
8.3.1-preview.2.3 61 10/23/2025
8.3.1-preview.1.2 73 10/23/2025
8.3.0.1 67 10/17/2025
8.3.0 65 10/23/2025
8.3.0-preview.6.1 62 10/23/2025
8.3.0-preview.5.4 65 10/23/2025
8.3.0-preview.4.1 69 10/23/2025
8.3.0-preview.3.1 65 10/23/2025
8.3.0-preview.2.1 67 10/23/2025
8.3.0-preview.1.8 64 10/23/2025
8.3.0-preview.0.132 64 10/23/2025
7.3.0.3 78 10/23/2025
7.3.0.3-preview.2.2 64 10/23/2025
7.3.0.3-preview.1.1 63 10/23/2025
7.3.0.2 63 10/23/2025
7.3.0.2-preview.1.1 66 10/23/2025
7.3.0.1 65 10/23/2025
7.3.0 66 10/23/2025
7.3.0-preview.1.2 60 10/23/2025
2.8.2.5 67 10/23/2025
2.8.2.4 66 10/23/2025
2.8.2.4-preview.96 69 10/23/2025
2.8.2.4-preview.95 63 10/23/2025
2.8.2.4-preview.89 66 10/23/2025
2.8.2.4-preview.84 65 10/23/2025
2.8.2.4-preview.82 63 10/23/2025
2.8.2.4-preview.76 65 10/23/2025
2.8.2.4-preview.70 69 10/23/2025
2.8.2.3 64 10/23/2025
2.8.2.2 68 10/23/2025
2.8.2.2-preview.8 70 10/23/2025
2.8.2.1 68 10/23/2025
2.8.2.1-preview.108 67 10/23/2025
2.8.2.1-preview.104 65 10/23/2025
2.8.2.1-preview.91 64 10/23/2025
2.8.2.1-preview.79 68 10/23/2025
2.8.2.1-preview.75 71 10/23/2025
2.8.2.1-preview.71 65 10/23/2025
2.8.2.1-preview.63 73 10/23/2025
2.8.2.1-preview.1 73 10/23/2025
2.8.2 63 10/23/2025
2.8.2-preview.266 75 10/23/2025
2.8.2-preview.256 70 10/23/2025
2.8.2-preview.254 63 10/23/2025
2.8.2-preview.232 77 10/23/2025
2.8.2-preview.209 64 10/23/2025
2.8.2-preview.187 70 10/23/2025
2.8.2-preview.179 62 10/23/2025
2.8.2-preview.178 67 10/23/2025
2.8.2-preview.155 68 10/23/2025
2.8.2-preview.152 62 10/23/2025
2.8.2-preview.150 67 10/23/2025
2.8.2-preview.145 72 10/23/2025
2.8.2-preview.140 63 10/23/2025
2.8.2-preview.139 65 10/23/2025
2.8.2-preview.127 65 10/23/2025
2.6.1.9 67 10/23/2025
2.6.1.9-preview.120 62 10/23/2025
2.6.1.9-preview.9 65 10/23/2025
2.6.1.9-preview.6 68 10/23/2025
2.6.1.9-preview.5 65 10/23/2025
2.6.1.9-preview.2 66 10/23/2025
2.6.1.8 70 10/23/2025
2.6.1.8-preview.93 65 10/23/2025
2.6.1.8-preview.90 65 10/23/2025
2.6.1.8-preview.61 72 10/23/2025
2.6.1.7 62 10/23/2025
2.6.1.7-preview.40 65 10/23/2025
2.6.1.7-preview.36 63 10/23/2025
2.6.1.7-preview.33 62 10/23/2025
2.6.1.7-preview.24 70 10/23/2025
2.6.1.7-preview.18 67 10/23/2025
2.6.1.6 77 10/23/2025
2.6.1.6-preview.19 63 10/23/2025
2.6.1.6-preview.18 67 10/23/2025
2.6.1.6-preview.9 68 10/23/2025
2.6.1.5 66 10/23/2025
2.6.1.5-preview.33 73 10/23/2025
2.6.1.5-preview.24 73 10/23/2025
2.6.1.5-preview.14 61 10/23/2025
2.6.1.5-preview.12 76 10/23/2025
2.6.1.5-preview.3 69 10/23/2025
2.6.1.4 66 10/23/2025
2.6.1.4-preview.2 71 10/23/2025
2.6.1.3 67 10/23/2025
2.6.1.2 64 10/23/2025
2.6.1.1 64 10/23/2025
2.6.1.1-preview.60 68 10/23/2025
2.6.1.1-preview.50 64 10/23/2025
2.6.1.1-preview.45 81 10/23/2025
2.6.1.1-preview.43 66 10/23/2025
2.6.1.1-preview.39 67 10/23/2025
2.6.1.1-preview.29 68 10/23/2025
2.6.1.1-preview.21 65 10/23/2025
2.6.1.1-preview.17 68 10/23/2025
2.6.1.1-preview.9 66 10/23/2025
2.6.1 65 10/23/2025
2.6.1-rc.172 63 10/23/2025
2.6.1-rc.170 65 10/23/2025
2.6.1-rc.169 67 10/23/2025
2.6.1-rc.165 72 10/23/2025
2.6.1-rc.153 64 10/23/2025
2.5.3-rc.147 63 10/23/2025
1.4.6.2 65 10/23/2025
1.4.6.2-preview28 69 10/23/2025
1.4.6.1 75 10/23/2025
1.4.6 64 10/23/2025
1.4.5 67 10/23/2025