dotextwrap - line-folding (text-wrapping) filter program with i18n
dotextwrap [<columns> [<tabs> [<header1> [<header2>]]]]
dotextwrap is a small filter to wrap text or fold lines. Text-wrapping
means formatting a given text by adding newline characters at proper
positions so that the text fits the given width (or number of columns)
of the terminal.
Since this is a filter, it reads from standard input and writes to
Unlike other softwares, this supports internationalization.
At first, this automatically detects the current LC_CTYPE locale and
Next, this supports multibyte encodings such as UTF-8 and EUC-JP. In
multibyte encodings, one character consists from one or more bytes.
Third, this supports fullwidth characters such as CJK Ideogram,
Katakana, Hiragana, and Hangul. These characters occupy two columns
per one character on the terminal.
Forth, this supports combining characters such as Thai and accents for
Latin scripts. These characters occupy zero columns per one character
on the terminal.
Fifth, this supports languages which do not use whitespaces between
words. In these languages, lines can be folded at any places with
small amount of exception (such as before commas).
Manual pages of textwrap(3), setlocale(3), locale(7), charsets(7), and
Tomohiro KUBOTA <email@example.com>.