ansi: show ANSI art in a UTF-8 terminal, or as plain or shaded text
Draws an .ans file into a grid the way an ANSI-BBS terminal would (cursor moves, the wrap at the SAUCE width, iCE colours) and writes it out as UTF-8: in colour, --plain, or --mono with coloured areas shaded by brightness. info prints the SAUCE record. One C99 file with no dependencies.
This commit is contained in:
6 files changed
+937
No files matched your search
@@ -0,0 +1,69 @@
|
||||
.TH ANSI 1 "October 2026" "ansi 1.0.0" "User Commands"
|
||||
.SH NAME
|
||||
ansi \- show ANSI art in a UTF-8 terminal, or turn it into plain text
|
||||
.SH SYNOPSIS
|
||||
.B ansi
|
||||
[\fB\-p\fR | \fB\-m\fR] [\fB\-w\fR \fIwidth\fR] [\fIfile\fR ...]
|
||||
.br
|
||||
.B ansi info
|
||||
\fIfile\fR ...
|
||||
.SH DESCRIPTION
|
||||
ANSI art, the art of the BBS scene, is CP437 text with ANSI escape codes for
|
||||
colour and cursor movement, laid out for a terminal of a fixed width, usually
|
||||
80 columns, that wraps it.
|
||||
.B ansi
|
||||
draws each
|
||||
.I file
|
||||
into a grid the way an ANSI-BBS terminal would, following the cursor moves and
|
||||
the wrap, and writes the grid out as UTF-8 lines a modern terminal shows as
|
||||
the artist drew them.
|
||||
.PP
|
||||
The SAUCE record at the end of a file, when there is one, gives the width; a
|
||||
background with the blink attribute is shown bright, as iCE colour. With no
|
||||
.IR file ,
|
||||
or when
|
||||
.I file
|
||||
is
|
||||
.BR \- ,
|
||||
.B ansi
|
||||
reads standard input.
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
.BR \-p ", " \-\-plain
|
||||
Write the characters only, without colour.
|
||||
.TP
|
||||
.BR \-m ", " \-\-mono
|
||||
Write without colour, redrawing each coloured area as shading by how bright
|
||||
its colour looks: bright areas as full blocks, dark ones as light shade or
|
||||
space, and half blocks where the top and bottom of a cell differ. Art built
|
||||
from coloured spaces keeps its shape this way, where
|
||||
.B \-\-plain
|
||||
would leave it blank. Useful for newsgroups and mail, which show no colour.
|
||||
.TP
|
||||
.BR \-w ", " \-\-width " " \fIwidth\fR
|
||||
Lay the art out
|
||||
.I width
|
||||
columns wide instead of the SAUCE width (or 80).
|
||||
.TP
|
||||
.B info
|
||||
Print each file's SAUCE record: title, artist, group, date and size.
|
||||
.TP
|
||||
.BR \-h ", " \-\-help
|
||||
Show a summary of usage.
|
||||
.TP
|
||||
.BR \-V ", " \-\-version
|
||||
Show the version.
|
||||
.SH EXAMPLES
|
||||
.nf
|
||||
ansi piece.ans | less \-R
|
||||
ansi \-\-mono piece.ans > piece.txt
|
||||
ansi info *.ans
|
||||
curl \-s https://16colo.rs/pack/<pack>/raw/<piece>.ans | ansi
|
||||
.fi
|
||||
.SH EXIT STATUS
|
||||
0 on success, 1 for a usage error, 2 when a file could not be read.
|
||||
.SH SEE ALSO
|
||||
.BR less (1),
|
||||
.BR iconv (1)
|
||||
.SH AUTHOR
|
||||
funkpower <funkpower@pumpin.online>
|
||||
Reference in new issue
Block a user