1eb81aba4dAccepting request 1199786 from graphics
factory
Ana Guerrero
2024-09-10 19:13:47 +0000
690378d14b- Update to 1.14.4: * Bug fixes: #216 Dither intensity does not work properly
devel
Michael Vetter
2024-09-10 05:20:30 +0000
68c72479f9Accepting request 1199545 from graphics
Ana Guerrero
2024-09-09 12:45:01 +0000
52794a727f- Update to 1.14.3: * Sixel transparency has been reenabled for still frames. Animations will be pre-composited on an opaque background to prevent flicker/glitchiness (#211) * Now supports the Ghostty terminal, defaulting to the Kitty graphics protocol there. * Bug fixes: #185 Chafa version 1.14 breaks image preview on lf. #210 Crash with -f sixels. #211 Sixels are too small in Windows Terminal. #212 Aspect-preserving calculations are off in some cases. [unfiled] Inconsistent fraction parsing in CLI arguments. [unfiled] A few small memory leaks in the JPEG XL loader.
Michael Vetter
2024-09-09 06:20:55 +0000
f581c87573Accepting request 1189703 from graphics
Dominique Leuenberger
2024-07-26 14:16:00 +0000
5ca726df86- Update to 1.14.2: * #203 Chafa 1.14.1 fails to build on i686 * #205 Symbols mode not working since 1.14.1 * #206 Crash when importing more than 32767 glyphs * Fix erroneous base64 encoding of final byte in some circumstances
Michael Vetter
2024-07-26 05:55:24 +0000
382249552bAccepting request 1181390 from graphics
Ana Guerrero
2024-06-18 20:51:32 +0000
1855b848b0- Update to 1.14.1: * A JPEG XL (.jxl) loader was added using libjxl (#188). * Added detection of the Eat "Emulate a Terminal" Emacs terminal. * Symbols mode was sped up significantly on AVX2-capable platforms. * Tests: A new test driver was added. It will log the specifics of any failures, which aids debugging of CI builds. * Bug fixes: #189 Fix installation of zsh completions. #190 Fix a small memory leak in ChafaCanvas. #192 Wrong sixel padding in some circumstances. #195 tmux passthrough enabled when already set. #196 iTerm mode not enabled automatically.
Michael Vetter
2024-06-18 05:53:47 +0000
00eab23c7fAccepting request 1175427 from graphics
Ana Guerrero
2024-05-21 16:36:14 +0000
beca3e2426Accepting request 1175423 from home:pallaswept:branches:graphics
Michael Vetter
2024-05-21 05:30:13 +0000
edd43f2268Accepting request 1137674 from graphics
Ana Guerrero
2024-01-09 19:50:37 +0000
d02d507d87Accepting request 1137672 from home:smolsheep:upgrades
Michael Vetter
2024-01-09 08:19:14 +0000
cb69072b03Accepting request 1088257 from graphics
Dominique Leuenberger
2023-05-22 11:14:30 +0000
4762110844- Update to 1.12.5: * Fix#123 crash on canvas created with chafa_canvas_new_similar() * Fix#141 distortion when rowstride is not a multiple of 4 * Fix missing comma in --help output
Michael Vetter
2023-05-22 06:25:46 +0000
5e4f2fe4f9Accepting request 1035537 from graphics
Dominique Leuenberger
2022-11-14 13:28:56 +0000
6d04b2cb29- Update to 1.12.4: * MS Windows: Added support for Unicode command-line arguments. * MS Windows: Enabled support for building a DLL. * Improved quality of accelerated symbol picking (the default with -w 6 and lower), especially along sharp edges. * The XWD loader now supports unaligned image data, which can occur when the header is of an uneven length. Such images will no longer be rejected. * Bug fixes: - #100[1] Reading image data from stdin fails on Windows - #104[3] Artifacts with transparent animations on Kitty - #108[5] Bad interaction with lolcat - #112[7] Bad documentation for -c default - #113[9] Autogen/build fails on CentOS 7 (partial solution) - huntr.dev: Uncontrolled memory allocation in lodepng - [unfiled] -lm should not be in pkg-config Libs: list - [unfiled] The --watch switch was broken with the introduction of --animate.
Michael Vetter
2022-11-13 20:19:19 +0000
89b94eb44cAccepting request 986632 from graphics
Dominique Leuenberger
2022-07-05 10:09:13 +0000
75e526d331- Update to 1.12.3: * Increased GLib minimum version to 2.26. * Enabled a few compiler warnings not included in -Wall -Wextra in order to catch more potential issues early. Also started using -Werror selectively. * Silenced deprecation warnings for older GLib APIs that we would like to keep using a bit longer. * Fix#96 Regression: Fails to build on Linux/Debian
Michael Vetter
2022-07-04 11:54:09 +0000
8645f7ce9cAccepting request 983868 from graphics
Dominique Leuenberger
2022-06-20 13:38:30 +0000
5c9749397e- Update to 1.12.1: * Increased GLib minimum version to 2.20. * Added 12 new test inputs, including bad inputs to handle gracefully. * Added a few symbols to API documentation that were accidentally left out. * Bug fixes: + huntr.dev CVE-2022-2061: Out-of-bounds read in libnsgif's lzw_decode() + [unfiled] Undefined behavior in libnsgif due to uninitialized frame fields. + [unfiled] Signed integer overflow in chafa_pack_color(). + [unfiled] Integer overflow in normalization pass on some images. + [unfiled] Potential unaligned access with corrupt XWD images. + [unfiled] Integer overflow in quantization on some images. + [unfiled] Calculating offset from NULL pointer in LodePNG.
Michael Vetter
2022-06-20 07:58:31 +0000
4036cc475dAccepting request 980989 from graphics
Dominique Leuenberger
2022-06-06 10:38:48 +0000
47ce8e2f30- Update to 1.12.0: * The ImageMagick dependency is now optional and deprecated. Packagers are encouraged to drop the ImageMagick dependency (--without-imagemagick) and add direct dependencies on relevant image codecs. ImageMagick support will be removed in a future release. * Added image loaders for the following formats: JPEG, SVG, TIFF, WebP. Like the existing GIF, PNG and XWD loaders, these are much faster and generally safer than their ImageMagick counterparts. If ImageMagick is enabled, it will be used as a fallback. Supported image loaders will be listed in the --version output. * Implemented a 16/8 mode producing 8 colors and an additional 8 bright foreground-only colors for a total of 16 foreground and 8 background colors. When using ANSI escape sequences in symbol mode, the sequence for bold text is used to enable bright colors. This scheme corresponds to that of the IBM PC's VGA hardware text modes and was popular with terminal emulators in the late 1980s to early 2000s. With a few tweaks, output from this mode can be turned into ANSI art scene .ANS files compatible with utilities like the wonderful Ansilove[2], e.g: $ chafa -f symbols -c 16/8 -s 80 --symbols space+solid+half --fill stipple \ in.jpg | tr -d '\n' | iconv -c -f utf8 -t cp437 > out.ans $ ansilove out.ans -o out.png * New builtin Latin symbols (available with --symbols latin). This class comprises most of the symbols from the Latin-1 Supplement, Latin Extended-A and -B, IPA Extensions and Spacing Modifier Letters plus a few Latin-like symbols from other ranges, using Terminus as the reference font. The ASCII class is also a subset of this class. * Reworked ASCII symbols to be more representative of modern terminal fonts. As with the other Latin ranges, the reference font is now Terminus. * New option: --scale <n>. This takes a real number specifying the on-screen scaling factor relative to the input's pixel size, respecting the terminal
Michael Vetter
2022-06-06 09:34:45 +0000
cb7ebd2c50Accepting request 975093 from graphics
Dominique Leuenberger
2022-05-05 21:07:01 +0000
14e1f61bbf- Update to 1.10.3: * Improved input validation in the XWD loader. * huntr.dev: Buffer over-read when compiled with -O0 or non-x86 target
Michael Vetter
2022-05-05 08:34:23 +0000
82a0a5f8efAccepting request 972507 from graphics
Dominique Leuenberger
2022-04-25 21:35:26 +0000
869657d06b- Update to 1.10.2: * Added disclosure guidelines in SECURITY.md * Fix huntr.dev: Null pointer dereference in libnsgif with crafted GIF file * [unfiled] File magic would not effectively rule out internal loaders. * [unfiled] Very big images could cause absurd allocation requests triggering an abort in the loader.
Michael Vetter
2022-04-25 08:24:13 +0000
b21480e0deAccepting request 966791 from graphics
Dominique Leuenberger
2022-04-04 17:26:46 +0000
12b2d8572a- Update to 0.10.1: * #87 Garbled last row of pixels on some images * [unfiled] Correctly label new functions since 1.10
Michael Vetter
2022-04-04 10:40:00 +0000
e7c870bbd7Accepting request 963661 from graphics
Dominique Leuenberger
2022-03-21 19:12:36 +0000
4093f47a82Accepting request 915447 from graphics
Dominique Leuenberger
2021-09-01 19:37:12 +0000
0ef534fe89- Update to 1.8.0: * Added basic support for the Kitty and iTerm2 graphics protocols. These are enabled automatically when corresponding terminal support is detected, or manually with -f kitty or -f iterm. * Implemented an 8-color mode, selectable with -c 8 * 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. ascii). * 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 --symbols or --fill with their respective tags: legacy, wedge and sextant (@hodefoting). * 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. * Made --disable-rpath the default in order to simplify packaging.
Michael Vetter
2021-09-01 10:13:09 +0000
93ae7d1d81Accepting request 898181 from graphics
Dominique Leuenberger
2021-06-07 20:45:01 +0000
f20ee0af04- Update to 1.6.1: * Add NOCONFIGURE variable to autogen.sh to skip configure Bug fixes: * #50 SIGBUS while loading huge GIFs * #52 Produces small glitches in output with some images * #54 Haiku port fails on 32bit * [unfiled] Exclude RTL code points that could break the output. * [unfiled] Apple Terminal lacks truecolor support, so make it default to 256 colors * [unfiled] Fix typo affecting middle dot symbol.
Michael Vetter
2021-06-07 18:31:45 +0000
abc6bc86beAccepting request 863252 from graphics
Dominique Leuenberger
2021-01-15 18:46:44 +0000
6c24e3d9bc- Update to 1.6.0: * Added support for fullwidth symbols that take up two character cells. These are common in East Asian scripts. Single-cell and double-cell symbols can be mixed, and -f symbols mode will use both if possible. * New symbol tags: alpha, digit, alnum, narrow, wide, ambiguous, ugly, bad. "Ambiguous" symbols have uncertain widths and may render poorly in some terminals. "Ugly" denotes symbols that are unsuitable for Chafa's cell-based graphics (multicolor emoji, ideographic descriptors, etc). "Bad" is a superset of these two categories. Bad symbols are always excluded unless explicitly enabled with e.g. CHAFA_SYMBOL_TAG_BAD (--symbols +bad in the frontend). * The font loader (--glyph-file option) now does a better job with proportional fonts. * Added options for controlling lossless optimization of output. Currently, attribute reuse and character repetition (REP sequence) are implemented. * Added -O option to the frontend. This controls the optimization level. * Added a simple abstraction layer for terminal control sequences (ChafaTermInfo and ChafaTermDb). This allows for improved terminal support. * FbTerm is now supported with TERM=fbterm in the environment. * Bug fixes: - #43 Fix signal handler. - [unfiled] Crash when invalid font paths were passed on command line. - [unfiled] Small typo in fontgen's READM). - [unfiled] Bad contrast adjustment in images with transparency.
Michael Vetter
2021-01-15 08:45:17 +0000
b61862e78dAccepting request 793444 from graphics
Dominique Leuenberger
2020-04-13 10:54:45 +0000
16c1e6cce4- Update to 1.4.1: * Added configure option --disable-rpath. This allows packagers to prevent the hard-coded library search path from being embedded in the chafa command-line tool (Mo Zhou, #39). * Added defaults for the yaft terminal. Bug fixes: * #40 - Fails to build on hurd-i386 + other i386 (reported by Mo Zhou). * [unfiled] - Rare failed assert with mostly transparent sixel image (reported by Reddit user spryfigure). * [unfiled] - Minor typo in function docstring.
Michael Vetter
2020-04-12 21:22:00 +0000
754b4b4e3eAccepting request 790804 from graphics
Dominique Leuenberger
2020-04-02 15:44:09 +0000
68035fd951- Update to 1.4.0: * Added sixel graphics support. Chafa will automatically produce sixels if the connected terminal supports it. It can also be forced using the new -f or --format flag. This is a new implementation written from the ground up to maximize throughput. * Added the --glyph-file option, which loads glyph-symbol mappings from any file format supported by FreeType (TTF, PCF, etc). This allows for custom font support and improved symbol selection. * Added the --speed option specifying animation speed. It accepts a unitless multiplier, a specific number of frames per second, or max for maximum throughput. * There are now two ways to assign colors to symbol cells. Formerly, this was done based on the average color of the covered area. The new default is to use the median color, which produces sharper edges, but is slightly more prone to high-frequency noise. The new option --color-extractor selects the method to employ. * When displaying multiple files, the default delay between files has been changed from three seconds to zero. Animations will still play through once. This can be overridden on the chafa command line with -d or --duration. * Minor tweaks to built-in symbols. Performance improvements: * Halved pixel storage requirements from 64 bits to 32 bits, resulting in significant memory savings. * Now builds with -ffast-math, yielding a big speedup for DIN99d.
Michael Vetter
2020-04-02 08:18:06 +0000
32d7331a67Accepting request 781387 from graphics
Dominique Leuenberger
2020-03-04 08:48:37 +0000
79ec830730- Update to 1.2.2: * Fix#34 Cannot compile example
Michael Vetter
2020-03-04 06:45:46 +0000
c8c340c120Accepting request 725785 from graphics
Dominique Leuenberger
2019-08-24 16:49:51 +0000
95c190f5acAccepting request 725762 from home:jengelh:branches:graphics
Michael Vetter
2019-08-24 08:38:48 +0000
2999963980Accepting request 724705 from graphics
Dominique Leuenberger
2019-08-20 09:00:04 +0000
003f55c672- Update to 1.2.1: * Detect kitty and mlterm virtual terminals and apply optimal defaults accordingly * Make Automake build more strict and fix a few compatibility nits * Fix#30 - Failed to build on hurd-i386 * Fix crash on certain broken GIFs
Michael Vetter
2019-08-20 07:25:43 +0000
a53eb81399Accepting request 720967 from graphics
Dominique Leuenberger
2019-08-19 19:27:07 +0000
817769274a- Update to 1.2.0: * Added --dither, --dither-grain and --dither-intensity options. These allow for sub-cell dithering in quantized modes (none, 2, 16, 240 and 256). Especially beneficial when used with -p off. * Added API for ordered and diffusion-based dithering in quantization. * Added API support for multiple 8bpc pixel modes: RGB, BGR, RGBA, BGRA, ARGB, ABGR with either premultiplied or unassociated alpha channels. * Smooth scaling is now done internally, meaning libchafa consumers no longer need to prescale images. * Implemented a machine learning tool that can generate custom fonts for efficient image reproduction from a provided dataset. This is left uninstalled since it's still experimental * Throughput improvements: + GIF animations now start playing instantly. + GIF CPU overhead reduced by 75%, peak memory use down 95%-99% (!). + XWD common case CPU overhead down 60-70%, peak memory down 70%. + Additional halving of CPU overhead in 240- and 256-color modes. + Streamlined pixel pipeline for better parallelization. * Installation instructions: + New: Guix (Guy Fleury Iteriteka). + New: openSUSE (@jubalh). * Bug fixes: + [unfiled] Certain SVGs had transparency replaced with a white background (nemo). + [unfiled] -lm dependency belongs in libchafa, not frontend.
Michael Vetter
2019-08-05 07:13:41 +0000