Files
ansi/README.md
T

38 lines
1.3 KiB
Markdown
Raw Normal View History

# ansi
Show ANSI art in a modern terminal, or turn it into plain text.
An `.ans` file is CP437 text with ANSI colour and cursor codes, laid out for an
80-column BBS terminal that wraps it. Converting it with `iconv` gets the
characters right but not the layout: a lot of art has no line breaks at all, and
much of it moves the cursor around. `ansi` draws the file into a grid the way a
BBS terminal would, then writes the grid out as UTF-8 lines.
```console
$ ansi piece.ans | less -R # in colour
$ ansi --mono piece.ans > piece.txt # no colour, coloured areas as shading
$ ansi --plain piece.ans # the characters only
$ ansi info piece.ans # title, artist, group, date and size
$ curl -s https://16colo.rs/pack/dd26/raw/dd-cola.ans | ansi
```
`--mono` is for places that show no colour, like newsgroups and mail. Each
coloured area is redrawn by how bright its colour looks, so art built from
coloured spaces keeps its shape instead of going blank.
It follows the SAUCE record for the width, shows blinking backgrounds bright
(iCE colour), and reads standard input when given no file or `-`.
## Install
One C99 file, no dependencies.
```console
$ make
$ make install # into ~/bin and ~/share/man/man1
$ make install PREFIX=/usr/local
```
## Licence
GPL-2.0. See `LICENSE`.