[[Image(/static/libcaca-logo.png, align=right, alt="libcaca logo")]] == Introduction == 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 [http://aa-project.sourceforge.net/aalib/ AAlib] library, with the following improvements: * Unicode support * 2048 available colours (some devices can only handle 16) * dithering of colour images * advanced text canvas operations (blitting, rotations) Libcaca works in a text terminal (and should thus work on all Unix systems including Mac OS X) using the S-Lang or ncurses libraries. It also works natively on DOS and Windows. Libcaca was written by Sam Hocevar and Jean-Yves Lamoureux. It is free software, and can be used, modified and distributed under the terms of the [http://www.wtfpl.net/ Do What The Fuck You Want To Public License]. [[Image(/static/sample.png, align=right, border=2)]] == Screenshots == {{{ #!comment Change those fucking screenshots to proper Trac stuff when 0.11 is in Debian: [[Image(/static/images/tn-stitch-80x45.jpeg, link=/img/stitch-80x45.png)]] }}} Here are a few libcaca screenshots. {{{ #!html
cacaview
cacaview
cacaball
cacaball
cacaplas
cacaplas
truecolor
TrueColor
unicode
Unicode
swallow
swallowing applications
rotation
canvas rotation
rotation
ANSI to PNG
}}} == Download == The latest development version of libcaca is 0.99.beta18 (6 Apr 2012): * [/files/libcaca/libcaca-0.99.beta18.tar.gz libcaca-0.99.beta18.tar.gz] The old, deprecated 0.9 release is still available. You are encouraged to evaluate and use 0.99, though. * [/files/libcaca/libcaca-0.9.tar.gz libcaca-0.9.tar.gz] * [/files/libcaca/libcaca-win32-0.9.zip libcaca-win32-0.9.zip] == Development == Read the following if you wish to hack on libcaca: * [wiki:libcaca/devel development notes] Development happens in a centralised Subversion repository: * svn://svn.zoy.org/caca/libcaca/trunk * associated [http://caca.zoy.org/browser/libcaca/trunk web interface] There is also a Git repository that mirrors the central one: * using the Git protocol: git://git.zoy.org/libcaca.git * using HTTP: http://caca.zoy.org/git/libcaca.git == Why? == {{{ #!html

Que dites-vous ?... C’est inutile ?... Je le sais !
Mais on ne se bat pas dans l’espoir du succès !
Non ! non, c’est bien plus beau lorsque c’est inutile !
-- Edmond Rostand, Cyrano de Bergerac

}}} I am perfectly aware that libcaca is the waste of time it looks to be. No need to tell me about that. I urge you to read Théophile Gautier’s preface to ''Mademoiselle de Maupin'', which also gives an excellent explanation for the name “libcaca”: {{{ #!html

Il n’y a rien de vraiment beau que ce qui ne peut servir à rien ; tout ce qui est utile est laid ; car c’est l’expression de quelque besoin ; et ceux de l’homme sont ignobles et dégoûtants, comme sa pauvre et infirme nature. - L’endroit le plus utile d’une maison, ce sont les latrines.

}}}