'\" t .\" Title: chafa .\" Author: Hans Petter Jansson .\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 11/26/2020 .\" Manual: User Commands .\" Source: chafa .\" Language: English .\" .TH "CHAFA" "1" "" "chafa" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" chafa \- Character art facsimile generator .SH "SYNOPSIS" .HP \w'\fBchafa\fR\ 'u \fBchafa\fR [OPTION...] [IMAGE...] .SH "DESCRIPTION" .PP \fBchafa\fR is a utility that converts all kinds of images, including animated GIFs, into (potentially animated) ANSI/Unicode character output that can be displayed in a terminal\&. It supports alpha transparency and multiple color modes and color spaces, and combines a range of Unicode characters for optimal output\&. .PP You can specify one or more input files, but the default behavior is slightly different with multiple files \-\- for instance, animations will not loop forever when there is more than one input file\&. .SH "OPTIONS" .PP \fB\-\-bg \fR\fB\fIcolor\fR\fR .RS 4 Background color of display (color name or hex)\&. Partially transparent input will be blended with this color\&. Color names are based on those provided with X\&.Org\&. Defaults to black\&. .RE .PP \fB\-\-clear\fR .RS 4 Clear screen before processing each file\&. .RE .PP \fB\-c \fR\fB\fImode\fR\fR\fB, \-\-colors \fR\fB\fImode\fR\fR .RS 4 Set output color mode; one of [none, 2, 16, 240, 256, full]\&. Defaults to full (24\-bit)\&. The 240\-color mode is recommended over the 256\-color one, since the lower 16 colors are unreliable and tend to differ between terminals\&. 16\-color mode will use aixterm extensions to produce 16 foreground and background colors\&. 2\-color mode will only emit the ANSI codes for reverse color and attribute reset, while "none" will emit no ANSI color codes whatsoever\&. .sp In sixel mode, "full" will dynamically generate a 256\-color palette for each image or animation frame\&. The other modes refer to built\-in palettes\&. "none" and "2" are interchangeable and will use the specified foreground/background colors (see \-\-fg and \-\-bg)\&. .RE .PP \fB\-\-color\-extractor \fR\fB\fIextractor\fR\fR .RS 4 Method for extracting color from an area; one of [average, median]\&. Median normally produces crisper output, while average may perform better on noisy images\&. Defaults to median\&. .RE .PP \fB\-\-color\-space \fR\fB\fIcs\fR\fR .RS 4 Color space used for quantization; one of [rgb, din99d]\&. Defaults to rgb, which is faster but less accurate\&. .RE .PP \fB\-\-dither \fR\fB\fItype\fR\fR .RS 4 Type of dithering to apply during quantization\&. One of [none, ordered, diffusion]\&. "Bayer" is a synonym for "ordered", and "fs" (Floyd\-Steinberg) is a synonym for "diffusion"\&. .RE .PP \fB\-\-dither\-grain \fR\fB\fIwidth\fR\fR\fBx\fR\fB\fIheight\fR\fR .RS 4 Dimensions of grain used when dithering\&. Specified as width x height, where each can be one of [1, 2, 4, 8] pixels\&. One character cell is by definition 8 pixels across in both dimensions\&. Defaults to 4x4 in symbol mode and 1x1 in sixel mode\&. .RE .PP \fB\-\-dither\-intensity \fR\fB\fIintensity\fR\fR .RS 4 Intensity of dithering pattern\&. Ranges from 0\&.0 to infinity, with 1\&.0 considered neutral\&. Lower values tend to reduce the amount of dithering done, while higher values increase it\&. In practice, values higher than 10\&.0 are unlikely to produce useful results\&. .RE .PP \fB\-d, \-\-duration \fR\fB\fIseconds\fR\fR .RS 4 Time to show each file, in seconds\&. Defaults to zero for still images and for animations when multiple files are specified\&. If a single animation is specified, defaults to infinite\&. Animations will always be played through at least once, even if duration is e\&.g\&. zero\&. .RE .PP \fB\-\-fg \fR\fB\fIcolor\fR\fR .RS 4 Foreground color of display (color name or hex)\&. Together with the background color specified by \-\-bg, this specifies the terminal\*(Aqs palette in color modes 2 and none\&. Color names are based on those provided with X\&.Org\&. Defaults to white\&. .RE .PP \fB\-\-fill \fR\fB\fIsymbols\fR\fR .RS 4 Specify character symbols to use for fill/gradients\&. Defaults to none\&. Usage is similar to that of \-\-symbols; see below\&. .RE .PP \fB\-\-font\-ratio \fR\fB\fIwidth\fR\fR\fB/\fR\fB\fIheight\fR\fR .RS 4 Target font\*(Aqs width/height ratio\&. Can be specified as a real number or a fraction\&. Defaults to 1/2\&. .RE .PP \fB\-f, \-\-format \fR\fB\fIformat\fR\fR .RS 4 Set output format; one of [sixels, symbols]\&. The default is sixels if there is a sixel\-capable terminal connected, otherwise symbols will be used\&. Sixels yield much better quality, but support for it is fairly rare\&. .RE .PP \fB\-\-glyph\-file \fR\fB\fIfile\fR\fR .RS 4 Load glyph information from file, which can be any font file supported by FreeType (TTF, PCF, etc)\&. The glyph outlines will replace any existing outlines, including builtins\&. Useful in symbol mode for custom font support or for improving quality with a specific font\&. Note that this only makes sense if the output terminal is using a matching font\&. Can be specified multiple times\&. .RE .PP \fB\-h, \-\-help\fR .RS 4 Show a brief help text\&. .RE .PP \fB\-\-invert\fR .RS 4 Invert video\&. For display with bright backgrounds in color modes 2 and none\&. Swaps \-\-fg and \-\-bg\&. .RE .PP \fB\-p \fR\fB\fIbool\fR\fR\fB, \-\-preprocess \fR\fB\fIbool\fR\fR .RS 4 Image preprocessing [on, off]\&. Defaults to on with 16 colors or lower, off otherwise\&. This enhances colors and contrast prior to conversion, which can be useful in low\-color modes\&. .RE .PP \fB\-s \fR\fB\fIwidth\fR\fR\fBx\fR\fB\fIheight\fR\fR\fB, \-\-size \fR\fB\fIwidth\fR\fR\fBx\fR\fB\fIheight\fR\fR .RS 4 Set maximum output dimensions in columns and rows\&. By default this will be the size of your terminal, or 80x25 if size detection fails\&. .RE .PP \fB\-\-speed \fR\fB\fIspeed\fR\fR .RS 4 Set the speed animations will play at\&. This can be either a unitless multiplier (fractions are allowed), or a real number followed by "fps" to apply a specific framerate\&. .RE .PP \fB\-\-stretch\fR .RS 4 Stretch image to fit output dimensions; ignore aspect\&. Implies \-\-zoom\&. .RE .PP \fB\-\-symbols \fR\fB\fIsymbols\fR\fR .RS 4 Specify character symbols to employ in final output\&. See below for full usage and a list of symbol classes\&. .RE .PP \fB\-t \fR\fB\fIthreshold\fR\fR\fB, \-\-threshold \fR\fB\fIthreshold\fR\fR .RS 4 Threshold above which full transparency will be used [0\&.0 \- 1\&.0]\&. Setting this to 0\&.0 will render a blank image, while a value of 1\&.0 will replace any transparency with the background color (configurable with \-\-bg)\&. .RE .PP \fB\-\-version\fR .RS 4 Show version, feature and copyright information\&. .RE .PP \fB\-\-watch\fR .RS 4 Watch a single input file, redisplaying it whenever its contents change\&. Will run until manually interrupted or, if \-\-duration is set, until it expires\&. .RE .PP \fB\-w \fR\fB\fInum\fR\fR\fB, \-\-work \fR\fB\fInum\fR\fR .RS 4 How hard to work in terms of CPU and memory [1\-9]\&. 1 is the cheapest, 9 is the most accurate\&. Defaults to 5\&. .RE .PP \fB\-\-zoom\fR .RS 4 Allow scaling up beyond one character per pixel\&. .RE .SH "SYMBOLS" .PP Accepted classes for \-\-symbols are [all, none, space, solid, stipple, block, border, diagonal, dot, quad, half, hhalf, vhalf, inverted, braille, technical, geometric, ascii]\&. Some symbols belong to multiple classes, e\&.g\&. diagonals are also borders\&. .PP You can specify a list of classes separated by commas, or prefix them with + and \- to add or remove symbols relative to the existing set\&. The ordering is significant\&. .PP The default symbol set is all\-stipple\-braille\-ascii+space\-extra\-inverted for all modes except for "none", which uses all\-stipple\-braille\-ascii+space\-extra\&. .SH "EXAMPLES" .PP chafa in\&.gif .RS 4 Show a potentially animated GIF image in the terminal\&. If this is an animation, it will run until the user generates an interrupt (typically ctrl\-c)\&. All parameters will be autodetected based on the current environment\&. .RE .PP chafa \-c full \-s 200 in\&.gif .RS 4 Like the above, but force truecolor output that is 200 characters wide and calculate the height preserving the aspect of the original image\&. .RE .PP chafa \-c 16 \-\-color\-space din99d \-\-symbols \-dot in\&.jpg .RS 4 Generate 16\-color output with perceptual color picking and avoid using dot symbols\&. .RE .PP chafa \-c none \-\-symbols block+border\-solid in\&.png .RS 4 Generate uncolored output using block and border symbols, but avoid the solid block symbol\&. .RE .SH "FURTHER READING" .PP See the \m[blue]\fBChafa homepage\fR\m[]\&\s-2\u[1]\d\s+2 for more information\&. .SH "AUTHOR" .PP Written by \m[blue]\fBHans Petter Jansson\fR\m[]\&\s-2\u[2]\d\s+2 \&. .SH "NOTES" .IP " 1." 4 Chafa homepage .RS 4 \%https://hpjansson.org/chafa/ .RE .IP " 2." 4 Hans Petter Jansson .RS 4 \%https://hpjansson.org/ .RE