Charta.Shaping.HarfBuzz
1.5.0
dotnet add package Charta.Shaping.HarfBuzz --version 1.5.0
NuGet\Install-Package Charta.Shaping.HarfBuzz -Version 1.5.0
<PackageReference Include="Charta.Shaping.HarfBuzz" Version="1.5.0" />
<PackageVersion Include="Charta.Shaping.HarfBuzz" Version="1.5.0" />
<PackageReference Include="Charta.Shaping.HarfBuzz" />
paket add Charta.Shaping.HarfBuzz --version 1.5.0
#r "nuget: Charta.Shaping.HarfBuzz, 1.5.0"
#:package Charta.Shaping.HarfBuzz@1.5.0
#addin nuget:?package=Charta.Shaping.HarfBuzz&version=1.5.0
#tool nuget:?package=Charta.Shaping.HarfBuzz&version=1.5.0
Charta.Shaping.HarfBuzz
HarfBuzz text shaping for Charta — correct cursive joining, contextual forms, reordering, and mark positioning for Arabic, Syriac, Indic, and other complex scripts.
Charta's core is dependency-free and shapes Latin, Cyrillic, Greek, CJK, and Hebrew correctly on its own. This optional add-on plugs HarfBuzz in for the scripts that need full OpenType shaping. It is a separate package because it carries a native HarfBuzz binary per platform — the core stays managed and tiny.
Usage
using Charta.Shaping.HarfBuzz;
ChartaHarfBuzz.Register(); // once at startup
// From here on, Arabic joins correctly:
Document.Create(doc => doc.Page(page =>
page.Content().Text("مرحبا بالعالم").FontFamily("Noto Sans Arabic")))
.GeneratePdf("arabic.pdf");
Register a font that covers the script (FontManager.RegisterFont(...)) — the shaper needs the
font's GSUB/GPOS tables to do its work.
License
| 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. |
-
net10.0
- Charta (>= 1.5.0)
- HarfBuzzSharp (>= 8.3.1.1)
- HarfBuzzSharp.NativeAssets.Linux (>= 8.3.1.1)
- HarfBuzzSharp.NativeAssets.macOS (>= 8.3.1.1)
- HarfBuzzSharp.NativeAssets.Win32 (>= 8.3.1.1)
-
net8.0
- Charta (>= 1.5.0)
- HarfBuzzSharp (>= 8.3.1.1)
- HarfBuzzSharp.NativeAssets.Linux (>= 8.3.1.1)
- HarfBuzzSharp.NativeAssets.macOS (>= 8.3.1.1)
- HarfBuzzSharp.NativeAssets.Win32 (>= 8.3.1.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.