Custom-draw most of the lines/blocks characters for gapless alignment.


Line drawing characters such as those used by tree, tmux pane splitters, mc frames/menus etc, sometimes align with gaps - which looks suboptimal. This can depend on font, size, scaling, and other factors.

Block drawing characters, such as lower-half-block which is sometimes used as a terminal “pixel” to display images, can also suffer from this issue.

This patch adds an option to custom-draw most of the lines/blocks characters using internal data (without using the font) so that they align perfectly with any font, at any size, and with any chscale/cwscale configuration values.

138 shapes are supported - all the codepoints at U+2500 - U+259F except dashes, diagonals and shades. The unsupported shapes render normally using the font.

See also: unicode references U2500.pdf and U2580.pdf, libvte test page.