Commit Graph

5 Commits

Author SHA1 Message Date
Sasha Szpakowski de2b986787 Code style fixes 2023-01-01 15:07:37 -04:00
Sasha Szpakowski 6f14a18da0 Update copyright year in TextShaper files 2023-01-01 12:20:01 -04:00
Sasha Szpakowski 4ace4bc3b6 Initial fallback font support for Harfbuzz text shaping. 2022-12-31 21:45:12 -04:00
Sasha Szpakowski 9502942b7b font rendering: reimplement tab-as-spaces support. 2022-12-28 19:46:48 -04:00
Sasha Szpakowski 7a0f6621e7 Initial (WIP) Harfbuzz text shaping integration.
This a significant refactor / rewrite of much of the love.graphics Font code.
Text positioning is now split into TextShaper classes in the love.font module. This isn't exposed to users yet.
BMFonts and ImageFonts use the same text shaping as before (in the new TextShaper API). Fonts loaded via FreeType now use Harfbuzz for text shaping.

The new code isn't at feature-parity with the old code yet. Harfbuzz-based text shaping enables kerning support in more fonts, character combining into ligature glyphs, and directions other than left-to-right (this isn't supported in love yet).
2022-12-26 19:06:08 -04:00