SectrPrototype/code/font/VEFontCache
2024-06-26 13:28:54 -04:00
..
docs VEFontCache: Codepath simplificiation & optimization 2024-06-26 06:01:06 -04:00
atlas.odin VEFontCache: Codepath simplificiation & optimization 2024-06-26 06:01:06 -04:00
draw.odin VEFontCache: Codepath simplificiation & optimization 2024-06-26 06:01:06 -04:00
LRU.odin VEFontCache: Codepath simplificiation & optimization 2024-06-26 06:01:06 -04:00
mappings.odin Clean up of last remaining vestitudes of using my containers in VEFontCache 2024-06-26 13:28:54 -04:00
misc.odin VEFontCache: Codepath simplificiation & optimization 2024-06-26 06:01:06 -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 VEFontCache: Codepath simplificiation & optimization 2024-06-26 06:01:06 -04:00
shaped_text.odin VEFontCache: Codepath simplificiation & optimization 2024-06-26 06:01:06 -04:00
shaper.odin Swapped LRU and temp_codepoint_seen to use odin's vendor hash map 2024-06-25 17:10:18 -04:00
VEFontCache.odin Clean up of last remaining vestitudes of using my containers in VEFontCache 2024-06-26 13:28:54 -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):

  • Use Odin's builtin dynamic arrays
  • Use Odin's builtin map type
  • 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