SharpAstro.FreeType
3.2.13
dotnet add package SharpAstro.FreeType --version 3.2.13
NuGet\Install-Package SharpAstro.FreeType -Version 3.2.13
<PackageReference Include="SharpAstro.FreeType" Version="3.2.13" />
<PackageVersion Include="SharpAstro.FreeType" Version="3.2.13" />
<PackageReference Include="SharpAstro.FreeType" />
paket add SharpAstro.FreeType --version 3.2.13
#r "nuget: SharpAstro.FreeType, 3.2.13"
#:package SharpAstro.FreeType@3.2.13
#addin nuget:?package=SharpAstro.FreeType&version=3.2.13
#tool nuget:?package=SharpAstro.FreeType&version=3.2.13
FreeTypeSharp
A modern managed FreeType2 library which has source code generated from the original C headers.
FreeTypeSharp v2+ provides cross-platform bindings for:
- netcoreapp3.1;net9.0 (Windows, Linux, macOS)
- net9.0-android
- net9.0-ios
- net9.0-tvos
- netstandard2.0
- net9.0 (UWP)
README for release v1.X
FreeType Wrapped
FreeType 2.13.2
Native binaries are built by the CI in https://github.com/ryancheung/freetype/tree/csharp-patch
Installation
dotnet add package FreeTypeSharp
UWP target is in a seperate package
dotnet add package FreeTypeSharp.UWP
Usage
There's no magic(abstraction) based on the original C freetype API. All managed API are almost identical with the original freetype C API.
Import the namespaces like using FreeTypeSharp; and using static FreeTypeSharp.FT;, then you can play the font rendering as what you do in C.
Here are few sample code:
using static FreeTypeSharp.FT;
using static FreeTypeSharp.FT_LOAD;
using static FreeTypeSharp.FT_Render_Mode_;
FT_LibraryRec_* lib;
FT_FaceRec_* face;
var error = FT_Init_FreeType(&lib);
error = FT_New_Face(lib, (byte*)Marshal.StringToHGlobalAnsi("some_font_name.ttf"), 0, &face);
error = FT_Set_Char_Size(face, 0, 16 * 64, 300, 300);
var glyphIndex = FT_Get_Char_Index(face, 'F');
error = FT_Load_Glyph(face, glyphIndex, FT_LOAD_DEFAULT);
error = FT_Render_Glyph(face->glyph, FT_RENDER_MODE_NORMAL);
...
More FreeType docs: https://freetype.org/freetype2/docs/documentation.html
Credits
Special thanks to https://github.com/tonisimakov99/FreeTypeBinding for source code generator.
| 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 is compatible. net10.0-android was computed. net10.0-android36.0 is compatible. net10.0-browser was computed. net10.0-ios was computed. net10.0-ios26.0 is compatible. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-tvos26.0 is compatible. 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 is compatible. |
| .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. |
-
.NETCoreApp 3.1
- No dependencies.
-
.NETStandard 2.0
- No dependencies.
-
net10.0
- No dependencies.
-
net10.0-android36.0
- No dependencies.
-
net10.0-ios26.0
- No dependencies.
-
net10.0-tvos26.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on SharpAstro.FreeType:
| Package | Downloads |
|---|---|
|
DIR.Lib
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.