libcaca is a graphics library that outputs text instead of pixels, so that it can work on older video cards or text terminals. It is not unlike the famous AAlib library. libcaca can use almost any virtual terminal to work, thus it should work on all Unix systems (including Mac OS X) using either the slang library or the ncurses library, on DOS using the conio library, and on Windows systems using either slang or ncurses (through Cygwin emulation) or conio. There is also a native X11 driver that does not require a text terminal.
libcaca is free software, released under the GNU Lesser General Public License. This ensures that libcaca will always remain free software.
The complete libcaca programming interface is available from the caca.h header.
Some environment variables can be used to change the behaviour of libcaca without having to modify the program which uses it. These variables are:
conio uses the DOS conio.h interface.ncurses uses the ncurses library.slang uses the S-Lang library.x11 uses the native X11 driver.solid uses solid coloured backgrounds for all characters. This feature does not work with all terminal emulators. This is the default choice.black uses only black backgrounds to render characters.none disables antialiasing.prefilter uses a simple prefilter antialiasing method. This is the default choice.none disables dithering.ordered2 uses a 2x2 Bayer matrix for dithering.ordered4 uses a 4x4 Bayer matrix for dithering. This is the default choice.ordered8 uses a 8x8 Bayer matrix for dithering.random uses random dithering.