[[Image(source:/www/logo-caca.png, align=right, border=2, 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://sam.zoy.org/wtfpl/ Do What The Fuck You Want To Public License]. {{{ #!html

libcaca Ohloh metrics toilet Ohloh metrics zzuf Ohloh metrics

}}} == News == * '''18 May 2008''': [wiki:zzuf zzuf] 0.11 * '''1 Apr 2008''': libcaca to be [http://blog.thebehrens.net/2008/04/01/new-highly-portable-canvas-backend/ OpenOffice.org’s official multiplatform rendering backend] * '''24 Feb 2008''': we are now using Trac! * '''24 Jan 2008''': [/labs/img2oric.html img2oric], the first Caca Labs piece of research software * '''28 Nov 2007''': [wiki:libcaca libcaca] 0.99.beta13 * '''24 Oct 2007''': Report on [/cacacon07/ CacaCon’07], the first international libcaca conference. {{{ #!comment * '''30 Sep 2007''': [wiki:libcaca libcaca] 0.99.beta12 * '''16 Nov 2006''': [wiki:libcaca libcaca] 0.99.beta11 * '''16 Nov 2006''': [wiki:toilet TOIlet] 0.1 * '''12 Nov 2006''': [wiki:libcaca libcaca] 0.99.beta10 * '''6 Nov 2006''': [wiki:libcaca libcaca] 0.99.beta9 * '''22 Oct 2006''': [wiki:libcaca libcaca] 0.99.beta8 * '''4 Oct 2006''': [wiki:libcaca libcaca] 0.99.beta7 }}} [[Image(source:/www/img/sample.png, align=right, border=2)]] == Screenshots == {{{ #!comment Change those fucking screenshots to proper Trac stuff when 0.11 is in Debian: [[Image(source:/www/img/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
}}} See also the various export formats, generated from an old ANSI file: PNG (through TGA), HTML, SVG, PostScript. == 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.

}}} As for the name “libcucul”, please refer to the pioneer of modernist Polish fiction: {{{ #!html

Mais contre le cucul, il n’y a pas de refuge. Courez après moi si vous voulez, je m’enfuis la gueule entre les mains. Et voilà, tralala, Zut à celui qui le lira !
-- Witold Gombrowicz, Ferdydurke

}}}