SectrPrototype/code/font/VEFontCache
Ed_ 6fac2a97ff Swapped LRU and temp_codepoint_seen to use odin's vendor hash map
Starting to get serious about profiling this procedure and optimizing performance.
I also want to make it more ideomatic now...
2024-06-25 17:10:18 -04:00
..
docs minor reorganization 2024-06-25 02:37:18 -04:00
atlas.odin Swapped LRU and temp_codepoint_seen to use odin's vendor hash map 2024-06-25 17:10:18 -04:00
draw.odin Swapped LRU and temp_codepoint_seen to use odin's vendor hash map 2024-06-25 17:10:18 -04:00
LRU.odin Swapped LRU and temp_codepoint_seen to use odin's vendor hash map 2024-06-25 17:10:18 -04:00
mappings.odin Swapped LRU and temp_codepoint_seen to use odin's vendor hash map 2024-06-25 17:10:18 -04:00
misc.odin Swapped LRU and temp_codepoint_seen to use odin's vendor hash map 2024-06-25 17:10:18 -04:00
parser.odin Swapped LRU and temp_codepoint_seen to use odin's vendor hash map 2024-06-25 17:10:18 -04:00
Readme.md minor reorganization 2024-06-25 02:37:18 -04:00
shaped_text.odin Swapped LRU and temp_codepoint_seen to use odin's vendor hash map 2024-06-25 17:10:18 -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 Swapped LRU and temp_codepoint_seen to use odin's vendor hash map 2024-06-25 17:10:18 -04:00

VE Font Cache : Odin Port

This is a port of the library base on fork

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