# libcaca Documentation

### 0.99.beta11

## 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 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, 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

libcaca relies on a low-level, device independent library, called libcucul. libcucul can be used alone as a simple ASCII and/or Unicode compositing canvas.

The complete libcucul and libcaca programming interface is available from the following headers:

- cucul.h
- caca.h

Some other topics are covered by specific sections:

- A libcucul and 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)
- Coding style

## User's documentation

- Environment variables

## Misc

- News
- Authors
- Thanks
- TODO list

## 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://sam.zoy.org/wtfpl/ .