DOKK / manpages / debian 11 / 9base / fmt.1plan9.en
FMT(1plan9) FMT(1plan9)

fmt, htmlfmt - simple text formatters

fmt [ option ... ] [ file ... ]

htmlfmt [ -a ] [ -c charset ] [ -u url ] [ file ... ]

Fmt copies the given files (standard input by default) to its standard output, filling and indenting lines. The options are

Output line length is n, including indent (default 70).
A synonym for -l.
Indent n spaces (default 0).
Do not join short lines: only fold long lines.

Empty lines and initial white space in input lines are preserved. Empty lines are inserted between input files.

Fmt is idempotent: it leaves already formatted text unchanged.

Htmlfmt performs a similar service, but accepts as input text formatted with HTML tags. It accepts fmt's -l and -w flags and also:

Normally htmlfmt suppresses the contents of form fields and anchors (URLs and image files); this flag causes it to print them, in square brackets.
change the default character set from iso-8859-1 to charset. This is the character set assumed if there isn't one specified by the html itself in a <meta> directive.
Use url as the base URL for the document when displaying anchors; sets -a.

/src/cmd/fmt.c

/src/cmd/htmlfmt

Htmlfmt makes no attempt to render the two-dimensional geometry of tables; it just treats the table entries as plain, to-be-formatted text.