libcaca Documentation

# 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 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 S-Lang library or the ncurses library, on DOS using the conio library, and on Windows systems using the native Win32 console, the conio library, or using S-Lang or ncurses (through Cygwin emulation). There is also a native X11 driver, and an OpenGL driver (through freeglut) that does not require a text terminal. For machines without a screen, the raw driver can be used to send the output to another machine, using for instance cacaserver.

libcaca is free software, released under the Do What the Fuck You Want to Public License. This ensures that no one, not even the libcaca developers, will ever have anything to say about what you do with the software. It used to be licensed under the GNU Lesser General Public License, but that was not free enough.

# Developer's documentation

The complete libcaca programming interface is available from the following header:

- caca.h

There is language-specific documentation for the various bindings:

- Libcaca ruby bindings

Some other topics are covered by specific sections:

- A libcaca tutorial
- Migrating from libcaca 0.x to the 1.0 API

There is also information specially targeted at libcaca developers:

- The libcaca font format (version 1)
- The libcaca canvas format (version 1)
- Libcaca coding style

# User's documentation

- Libcaca environment variables

# Misc

- libcaca-news
- libcaca-authors
- libcaca-thanks

# License

Permission is granted to copy, distribute and/or modify this document under the terms of the Do What the Fuck You Want to Public License, version 2 as published by Sam Hocevar. For details see http://www.wtfpl.net/ .