- Wrote utf8Check and updated utf8Tools.
- I thought that Lua 5.3’s
utf8.len()
was suitable for validating strings in LÖVE, but it will allow some invalid code points through that LÖVE rejects, like surrogate pairs.
- I thought that Lua 5.3’s
- Minor work on the internal spacing and layout of checkbox and radio button widgets:
- Widget spacing is now split horizontally, with one rectangle for the tick box, and another rectangle for the text label. The tick box can be aligned within its rectangle (center, top-left, etc.), and the text alignment can be left, center, right or justify.
- Better handling of multi-line text labels. The widget calculates the number of wrapped lines so that the text height can be cached for render time. The skinner applies a scissor box to prevent overly-long text from spilling out of the widget.
- Experimented with a LÖVE function to get the height of some text without making a temporary table. There is probably a better way to do this (this function is just a copy of font:getWrap() with a few changes), but my C++ knowledge is limited. Maybe later…
The checkbox widget with debug visualizations of its internal viewports. Blue: The widget outline. Red: viewport region dedicated to text. Green: region dedicated to the tick box.