
libcaca - Colour AsCii Art library
it’s da shit!
The libcaca library 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, with the following improvements:
- Unicode support
- 4096 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 is free software, and can be used, modified and distributed under the terms of the Do What The Fuck You Want To Public License. The logo on this page is copyrighted by Akira Toriyama so if anyone fancies drawing a new logo it would be much appreciated.
Screenshots
Here are a few libcaca screenshots.
![]() cacaview
|
![]() cacaball
|
![]() cacaplas
|
![]() TrueColor |
![]() Unicode |
See also the various export formats: PNG (through TGA), HTML, SVG, PostScript.
Where is the old libcaca page?
libcaca is currently undergoing a massive rewrite, and as such all previous patches and code examples are broken. Until this is done I have decided to put most of this page offline.
Developers
The latest libcaca snapshot is libcaca-0.99.beta1.tar.gz. Please download and test it. If you are a developer, please comment on the current API and let me know what is missing.
Important links:
- Documentation in HTML format
- Documentation in PDF format
- Mailing-list: libcaca@lists.zoy.org
(To subscribe, send an email to ecartis@lists.zoy.org
containing the words "
subscribe libcaca
". To unsubscribe, just use "unsubscribe libcaca
".) - Mailing-list archives
- Subversion repository:
svn://svn.zoy.org/libcaca/trunk
- Subversion web interface
Why?
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”:
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:
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