This is still work-in-progress. There's a lot of missing functionality and inconsistencies between backends. Typography is also largely untested for scripts other than Latin.
If you think this library seems interesting, I'd love to hear some feedback on what you think could be improved and what new features you might find useful.
- Path-based 2D drawing.
- Unicode based text itemization, shaping and placement.
- GDI + Uniscribe (Windows XP+)
- Cairo + Pango
Linux platforms are currently restricted the Cairo/Pango backend, but this will be improved later as the API stabilizes and other backend's come online.
- Software backend
- Direct2D + DirectWrite backend
- Core Graphics + Core Text backend (Apple)
- PDF output
- SVG output
- Support for complex scripts such as Arabic
Do the following in one source file:
#define MINIDRAW_IMPLEMENTATION
#include "minidraw.h"
Just compile. There is no need to link to anything or specify any compiler flags.
To enable the Cairo backend you will need to use the following compiler flags:
`pkg-config --cflags --libs cairo pango pangocairo` -ldl -lm
See the examples and tests folder for examples on how to use the API. It is based largely on other path based APIs such as Cairo and GDI.