Skip to content

TJYSunset/HardFuzz

Repository files navigation

HardFuzz

Build status Unit test status NuGet

Yet another HarfBuzz C# binding. Intended to be a more complete alternative to SharpFont.HarfBuzz and HarfBuzzSharp.

.NET Standard 2.0. Not really tested on environment other than .NET Core 3.1 plus Windows 10 x64 though.

Native binaries not included; HarfBuzz provides official builds for 32-bit Windows, while you can get my MinGW 64-bit build here (don't forget the other DLLs!)

WIP.

Target HarfBuzz version

2.6.4

What's implemented now

  • hb-common
    • hb_direction_t
    • hb_feature_t
    • hb_language_t
    • hb_script_t
    • hb_tag_t
  • hb-unicode
    • hb_unicode_funcs_get_default()
    • hb_unicode_funcs_destroy()
  • hb-buffer (most of it's end-user-related part)
  • hb-blob (immutable only)
  • hb-font
  • hb-shape
    • hb_font_destroy()
  • hb-ft
    • hb_ft_font_create()

Known issue(s)

  • hb_shape_list_shapers() is bound using a dirty approach and has potential memory corruption risk

Documentation

None at this point. Only some basic XML docs are present. Please refer to HarfBuzz Manual.

Usage

Please refer to the unit test.

To-do

  • Unicode functions
  • Maybe other features if someone asked me
  • Complete XML docs (<param> tags etc.)
  • Unit tests
  • Handle unmanaged errors more properly

License

The library itself is LGPL. HarfBuzz is under its own license. Other libraries/files' (if any) license information can be found in their own respective NuGet packages, in the directory containing them, etc.

About

yet another HarfBuzz C# binding

Topics

Resources

License

GPL-3.0, Unknown licenses found

Licenses found

GPL-3.0
COPYING.md
Unknown
COPYING.HARFBUZZ

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages