Commit Briefs

Omar Polo

start to refactor the rendering

Previously each vline (visual line) had a full copy of its associated string, this changes it so it only slices a part of the parent line. Reduces significantly the memory usage. This actually worsen the emojify-link glitch reported by Freezr after the some recent refactoring in the wrapping code. Not a big deal since I'm about to restructure the whole rendering bit by bit (hopefully!)




Omar Polo

use libgrapheme for text reflowing

unlike the previous hack, libgrapheme is UNICODE 15.0 compliant (at the time of writing) and provides some nice API. While here, drop the hard wrap method for preformatted blocks: always use the normal wrapping. Since libgrapheme is not yet widely available, future commits will probably add a bundled version to ease packaging. I'll also start to replace various home-grown UNICODE/utf8 handling routines with functions from libgrapheme.