DocWright.ComplexText
1.1.2
dotnet add package DocWright.ComplexText --version 1.1.2
NuGet\Install-Package DocWright.ComplexText -Version 1.1.2
<PackageReference Include="DocWright.ComplexText" Version="1.1.2" />
<PackageVersion Include="DocWright.ComplexText" Version="1.1.2" />
<PackageReference Include="DocWright.ComplexText" />
paket add DocWright.ComplexText --version 1.1.2
#r "nuget: DocWright.ComplexText, 1.1.2"
#:package DocWright.ComplexText@1.1.2
#addin nuget:?package=DocWright.ComplexText&version=1.1.2
#tool nuget:?package=DocWright.ComplexText&version=1.1.2
DocWright.ComplexText
HarfBuzz-backed text shaping for DocWright.
Install this if you render Arabic, Hebrew, or Indic scripts. Without a shaper, complex text is drawn as individual unjoined characters — visually wrong, and wrong in a way that pixel-similarity checks do not reliably catch.
Install
dotnet add package DocWright.ComplexText
This one does bring a third-party dependency with it — HarfBuzzSharp, which carries
native binaries. Every other DocWright package is dependency-free, which is exactly why
shaping is opt-in rather than built in.
You will also want the main package:
dotnet add package DocWright
Usage
Set it once on ConvertOptions and convert as normal:
using DocWright;
using DocWright.ComplexText;
var converter = new DocWrightConverter();
var options = new ConvertOptions
{
TextShaper = new HarfBuzzTextShaper(),
};
using FileStream input = File.OpenRead("arabic.docx");
using FileStream output = File.Create("arabic.pdf");
converter.Convert(input, output, options);
Why it is not the default
The rest of DocWright has no third-party or native dependencies, which keeps deployment
simple and makes trimming and AOT straightforward. HarfBuzzSharp ships native code per
platform, so it is a real deployment cost — one worth paying only if your documents need
it.
Latin, Cyrillic and Greek text does not need this package.
Requirements
.NET Framework 4.8, .NET Standard 2.0, .NET 8.0 or .NET 10.0, plus a platform supported by
HarfBuzzSharp.
License
MIT. HarfBuzzSharp and HarfBuzz carry their own licenses.
| 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 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. |
| .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 is compatible. 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. |
-
.NETFramework 4.8
- DocWright.Core (>= 1.1.2)
- DocWright.Fonts (>= 1.1.2)
- HarfBuzzSharp (>= 8.3.1.1)
- Microsoft.Bcl.HashCode (>= 1.1.1)
- System.Buffers (>= 4.6.1)
- System.Memory (>= 4.6.3)
- System.Runtime.CompilerServices.Unsafe (>= 6.1.2)
-
.NETStandard 2.0
- DocWright.Core (>= 1.1.2)
- DocWright.Fonts (>= 1.1.2)
- HarfBuzzSharp (>= 8.3.1.1)
- Microsoft.Bcl.HashCode (>= 1.1.1)
- System.Buffers (>= 4.6.1)
- System.Memory (>= 4.6.3)
- System.Runtime.CompilerServices.Unsafe (>= 6.1.2)
-
net10.0
- DocWright.Core (>= 1.1.2)
- DocWright.Fonts (>= 1.1.2)
- HarfBuzzSharp (>= 8.3.1.1)
-
net8.0
- DocWright.Core (>= 1.1.2)
- DocWright.Fonts (>= 1.1.2)
- HarfBuzzSharp (>= 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.
See https://github.com/albahadly/DocWright/releases for release notes.