SectrPrototype/code/font/VEFontCache
2024-06-26 21:51:33 -04:00
..
docs Set glyph_padding to 4 (when using 8x8 over_sample we need more padding) 2024-06-26 17:02:15 -04:00
atlas.odin moved catch_batch_glyph to draw file 2024-06-26 21:40:45 -04:00
draw.odin compile fixes 2024-06-26 21:51:33 -04:00
LRU.odin VEFontCache: Lifted the GlyphDrawBuffer member of atlas to the context 2024-06-26 15:15:03 -04:00
mappings.odin VEFontCache: Lifted the GlyphDrawBuffer member of atlas to the context 2024-06-26 15:15:03 -04:00
misc.odin Set glyph_padding to 4 (when using 8x8 over_sample we need more padding) 2024-06-26 17:02:15 -04:00
parser.odin Clean up of last remaining vestitudes of using my containers in VEFontCache 2024-06-26 13:28:54 -04:00
Readme.md Set glyph_padding to 4 (when using 8x8 over_sample we need more padding) 2024-06-26 17:02:15 -04:00
shaped_text.odin Set glyph_padding to 4 (when using 8x8 over_sample we need more padding) 2024-06-26 17:02:15 -04:00
shaper.odin VEFontCache: Lifted the GlyphDrawBuffer member of atlas to the context 2024-06-26 15:15:03 -04:00
VEFontCache.odin Set glyph_padding to 4 (when using 8x8 over_sample we need more padding) 2024-06-26 17:02:15 -04:00

VE Font Cache : Odin Port

This is a port of the library base on fork

Its original purpose was for use in game engines, however its rendeirng quality and performance is more than adequate for many other applications.

TODO (Making it a more idiomatic library):

  • Setup freetype, harfbuzz, depedency management within the library

TODO Documentation:

  • Pureref outline of draw_text exectuion
  • Markdown general documentation

TODO Content:

  • Port over the original demo utilizing sokol libraries instead
  • Provide a sokol_gfx backend package

TODO Additional Features:

  • Support for freetype
  • Support for harfbuzz
  • Ability to set a draw transform, viewport and projection
    • By default the library's position is in unsigned normalized render space
  • Allow curve_quality to be set on a per-font basis

TODO Optimizations:

  • Support more granular handling of shapes by chunking any text from draw_text into visible and whitespace/formatting