SectrPrototype/code/font/VEFontCache
2024-06-26 15:23:02 -04:00
..
docs VEFontCache: Codepath simplificiation & optimization 2024-06-26 06:01:06 -04:00
atlas.odin VEFontCache: Lifted the GlyphDrawBuffer member of atlas to the context 2024-06-26 15:15:03 -04:00
draw.odin VEFontCache: Lifted the GlyphDrawBuffer member of atlas to the context 2024-06-26 15:15:03 -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 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 Advance_Snap_Smallfont_Size to 0 by default, removed position rounding in shape_text_uncached 2024-06-26 15:23:02 -04:00
shaper.odin VEFontCache: Lifted the GlyphDrawBuffer member of atlas to the context 2024-06-26 15:15:03 -04:00
VEFontCache.odin Advance_Snap_Smallfont_Size to 0 by default, removed position rounding in shape_text_uncached 2024-06-26 15:23:02 -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