.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"