.net core FreeType interop demo using FreeType's official Windows builds (>= 2.10)
Utility classes taken from library.
Interops structs & external bindings are duplicating to handle C long data type (either 4 or 8 bytes) varies based on OS and CPU used throughout FreeType.
| OS | CPU | sizeof(long) | 
|---|---|---|
| Windows | IA-32 | 4 bytes | 
| Intel® 64 | 4 bytes | |
| Linux | IA-32 | 4 bytes | 
| Intel® 64 | 8 bytes | |
| mac OS | Intel® 64 | 8 bytes | 
- Therefore on Windows for Intel, long are always 4 bytes
 - Linux (for Intel CPUs) long are either 4 or 8 bytes
 - On MacOS, long is always 8 bytes
 
- See SharpFont.Dependencies's custom FreeType Win64 binaries with custom patch
 - See "Size of 'long integer' data type (C++) on various architectures and OS"