This is a major feature release.
Added basic support for the Kitty and iTerm2 graphics protocols. These are enabled automatically when corresponding terminal support is detected, or manually with
Implemented an 8-color mode, selectable with
Implemented a foreground-only switch,
--fg-only. This produces character art using foreground colors only, and will avoid modifying or resetting the background color. Looks best with non-contiguous symbols (e.g.
Added builtins for Japanese kana fullwidth symbols. These can now be used without loading any external fonts (try
-c none --symbols wide).
Added builtins for legacy computer symbols (mainly wedges and sextant blocks). These were widely used in PETSCII and Teletext, and can be enabled using
--fillwith their respective tags:
Since there is a growing number of builtin symbols that may not be available everywhere, the default selection has been restricted to the widely supported block and border sets.
If possible, we now select a visually blank character from the specified symbol/fill sets instead of hardcoding ASCII space for featureless cells. One practical upshot of this is that the constant-width braille range can be used to produce consistent images even in contexts with variable-width fonts. U+2800 (BRAILLE PATTERN BLANK) will then be used in blank cells.
Improved terminal size detection when used with pipelines and redirection. This should now produce an image properly sized for your terminal:
curl https://i.imgur.com/WFDEFVg.jpeg | chafa - | tee out
ChafaCanvas gained API functions for programmatically getting and setting character cell contents. These are used in a new example in tests/ncurses.c demonstrating ncurses integration.
--disable-rpaththe default in order to simplify packaging.
Added a HACKING file featuring a much needed release checklist.
Improved terminal support: