SHA256
1
0
forked from pool/chafa
Commit Graph

23 Commits

Author SHA256 Message Date
Michael Vetter
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.

OBS-URL: https://build.opensuse.org/package/show/graphics/chafa?expand=0&rev=43
2024-06-18 05:53:47 +00:00
Michael Vetter
beca3e2426 Accepting request 1175423 from home:pallaswept:branches:graphics
- Enable optional image formats
  * jpeg
  * svg
  * tiff
  * webp

Hi graphics team,

I made a small change to the build here, to enable optional image format support. 

This will allow, for example, users to use the svg logos included with every SUSE distro, to generate fastfetch/neofetch-style ascii art logos for their machine.

I hope this is helpful!

OBS-URL: https://build.opensuse.org/request/show/1175423
OBS-URL: https://build.opensuse.org/package/show/graphics/chafa?expand=0&rev=41
2024-05-21 05:30:13 +00:00
Michael Vetter
d02d507d87 Accepting request 1137672 from home:smolsheep:upgrades
- Update to 1.14.0:
  * Removed ImageMagick loader support. Packagers can now remove
    this dependency
  * Polite mode is now off by default. The new default eliminates
    cursor flicker and makes the output more robust against unusual
    terminal settings. The old behavior can be restored with
    --polite on.
  * Added image loaders for the AVIF and QOI formats.
  * sRGB gamma is now handled correctly in scaling operations.
  * New option: --passthrough=<auto|none|screen|tmux>. This allows
    passing graphics protocols like Sixels, iTerm and Kitty through
    a terminal multiplexer. It will be enabled automatically for
    Kitty, and can be enabled manually for other protocols with
    more limited support
  * New option: --view-size=<WxH>. Specifies width and height of
    the viewport, overriding the detected terminal size
  * New option: --fit-width. Fits images to the width of the
    viewport, allowing them to be taller than the viewport's height
  * New option: --relative=<bool>. Enables relative cursor
    positioning. Useful if you've pre-positioned the cursor at a
    particular offset where you want frames to appear, but tends to
    make the output illegible in pagers, e.g. less -R
  * New option: --exact-size=<auto|on|off>. Preserves the input
    pixel size when possible. Useful to avoid artifacts caused
    by resampling
  * New symbol selector: imported. This selects glyphs loaded with
    --glyph-file
  * Fontgen: Added a BDF font writer
  * Fontgen: Cleanup and modernization
  * The help text and manual page were overhauled for readability,
    and the API documentation now includes symbol indexes by version
    and deprecation status.
  * Added a zsh completion script
  * Fix "unknown file format" when using AVIF on stdin
  * Fix broken linking with libwebp-1.3.1
  * Fix make check with --without-tools
  * Fix --duration not working well with still images
  * Fix sixel rendering of animations
  * Fix operator precedence in geometry calculation

OBS-URL: https://build.opensuse.org/request/show/1137672
OBS-URL: https://build.opensuse.org/package/show/graphics/chafa?expand=0&rev=39
2024-01-09 08:19:14 +00:00
Michael Vetter
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

OBS-URL: https://build.opensuse.org/package/show/graphics/chafa?expand=0&rev=37
2023-05-22 06:25:46 +00:00
Michael Vetter
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.

OBS-URL: https://build.opensuse.org/package/show/graphics/chafa?expand=0&rev=35
2022-11-13 20:19:19 +00:00
Michael Vetter
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

- Update to 1.12.2:
  * Made everything compile for the x86_64-w64-mingw32 target using gcc.
  * Added support for the Windows 10 Command Prompt.
  * Improved error reporting.

OBS-URL: https://build.opensuse.org/package/show/graphics/chafa?expand=0&rev=33
2022-07-04 11:54:09 +00:00
Michael Vetter
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.

OBS-URL: https://build.opensuse.org/package/show/graphics/chafa?expand=0&rev=31
2022-06-20 07:58:31 +00:00
Michael Vetter
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

OBS-URL: https://build.opensuse.org/package/show/graphics/chafa?expand=0&rev=29
2022-06-06 09:34:45 +00:00
Michael Vetter
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

OBS-URL: https://build.opensuse.org/package/show/graphics/chafa?expand=0&rev=27
2022-05-05 08:34:23 +00:00
Michael Vetter
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.

OBS-URL: https://build.opensuse.org/package/show/graphics/chafa?expand=0&rev=25
2022-04-25 08:24:13 +00:00
Michael Vetter
12b2d8572a - Update to 0.10.1:
* #87 Garbled last row of pixels on some images
  * [unfiled] Correctly label new functions since 1.10

OBS-URL: https://build.opensuse.org/package/show/graphics/chafa?expand=0&rev=23
2022-04-04 10:40:00 +00:00
Michael Vetter
65b7bd0d99 OBS-URL: https://build.opensuse.org/package/show/graphics/chafa?expand=0&rev=21 2022-03-21 11:32:34 +00:00
Michael Vetter
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.

OBS-URL: https://build.opensuse.org/package/show/graphics/chafa?expand=0&rev=19
2021-09-01 10:13:09 +00:00
Michael Vetter
b3a724abb1 OBS-URL: https://build.opensuse.org/package/show/graphics/chafa?expand=0&rev=17 2021-06-07 18:38:34 +00:00
Michael Vetter
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.

OBS-URL: https://build.opensuse.org/package/show/graphics/chafa?expand=0&rev=16
2021-06-07 18:31:45 +00:00
Michael Vetter
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.

OBS-URL: https://build.opensuse.org/package/show/graphics/chafa?expand=0&rev=14
2021-01-15 08:45:17 +00:00
Michael Vetter
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.

OBS-URL: https://build.opensuse.org/package/show/graphics/chafa?expand=0&rev=12
2020-04-12 21:22:00 +00:00
Michael Vetter
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.

OBS-URL: https://build.opensuse.org/package/show/graphics/chafa?expand=0&rev=10
2020-04-02 08:18:06 +00:00
Michael Vetter
79ec830730 - Update to 1.2.2:
* Fix #34 Cannot compile example

OBS-URL: https://build.opensuse.org/package/show/graphics/chafa?expand=0&rev=8
2020-03-04 06:45:46 +00:00
Michael Vetter
95c190f5ac Accepting request 725762 from home:jengelh:branches:graphics
- Update descriptions.
- Avoid double-shipping documentation, and make docs noarch.

OBS-URL: https://build.opensuse.org/request/show/725762
OBS-URL: https://build.opensuse.org/package/show/graphics/chafa?expand=0&rev=6
2019-08-24 08:38:48 +00:00
Michael Vetter
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

OBS-URL: https://build.opensuse.org/package/show/graphics/chafa?expand=0&rev=4
2019-08-20 07:25:43 +00:00
Michael Vetter
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.

OBS-URL: https://build.opensuse.org/package/show/graphics/chafa?expand=0&rev=2
2019-08-05 07:13:41 +00:00
734a51b475 Accepting request 672773 from home:jubalh
Please add me as maintainer

OBS-URL: https://build.opensuse.org/request/show/672773
OBS-URL: https://build.opensuse.org/package/show/graphics/chafa?expand=0&rev=1
2019-02-13 16:57:34 +00:00