07395f7777b837f72cb2db3ac4e713f28e3664f8
allegro_schrift
Drop-in replacement for Allegro_TTF that contains libschrift, instead of using FreeType2.
It is 100% API compatible with the vanilla TrueType addon. Compile Allegro with these files inside of /addons/ttf.
Pros:
- It doesn't require NT 6 kernel calls
- It doesn't dynamically link against hundreds of thousands of lines of ugly corporate-backed C code you can't read
- Our addon is only a couple or few hundred lines, and libschrift is less than 2,000. They're compiled together.
The original Allegro_TTF is over 1,000 lines (for a good reason) and has a relatively massive dependency weight (for a stupid reason).
- Our addon is only a couple or few hundred lines, and libschrift is less than 2,000. They're compiled together.
Caveats:
- Pre-stretching is not implemented.
- The entire caching system is gone, fonts are baked to textures immediately and no further. This makes supporting some languages with this add-on inconvenient, or impossible.
If your usecase doesn't need every fancy rendering feature and can use schrift, you probably aren't supporting enough characters and languages to need on-the-fly caching, so we consider this an acceptable tradeoff.- The
cache_textsetting in allegro5.cfg is now reused to determine what glyphs can be rendered at all.skip_cache_misseshas no effect.
Whencache_textis undefined, the Latin, Germanic, and Romance alphabets will be generated by default. (not necessarily 32 - 255) - TODO Alternatively, the developer can force a custom range of unicode characters to be generated using a new parameter in the
al_load_ttf_fontfunction.
- The
- Kerning, per-character advance and offsets, and other features which are exposed by libschrift are not currently implemented, but doing so is possible. See the above comparison screenshot.
Description
libschrift glue addon for Allegro, drop-in replacement for allegro_ttf
495 KiB
0 Stars
2 Watchers
0 Forks
Languages
C
98.6%
CMake
1.4%
