UNFTRIP(1)
β¨ UNFTRIP(1) β¨ β the Unftrip Manual bestie edition π
okay so. this is unftrip, and it normalizes Unicode text. that's it. that's the whole girl. π
πΈ NAME πΈ
unftrip β normalize Unicode text β¨
π¦ SYNOPSIS π¦
unftrip [--ascii] [--encoding=VAL] [--unicode-version] [OPTION]β¦ [FILE]
π DESCRIPTION π
So here's the vibe, bestie: unftrip takes Unicode text from stdin and rewrites it to stdout, following whatever Unicode normalization form you picked (it's all in UAX 15, iykyk).
And if you don't specify a normalization form at all? The character stream just gets left intact. Untouched. Zero notes. π
Now, the serious part, and I need you to listen: if there are invalid byte sequences in the input, they get reported on stderr and replaced by the Unicode replacement character (U+FFFD) in the output. Not a crash, not a vibe, just a little π« in the output where the bad bytes were.
π NORMALIZATION π
Pick your fighter. Actually pick your form:
--nfcβ Normalization Form C (NFC), which is canonical decomposition followed by canonical composition. decompose then recompose, the glow-up arc π--nfdβ Normalization Form D (NFD), which is just canonical decomposition. fully broken down, no recombination, raw and honest β¨--nfkcβ Normalization form KC (NFKC), which is compatibility decomposition followed by canonical composition. the compatibility girlies get involved here π--nfkdβ Normalization form KD (NFKD), which is compatibility decomposition. everything apart, nothing put back together π¦
π ARGUMENTS π
FILE(absent=-) β The input file. Reads from stdin if unspecified. so like, if you don't give her a file, she's just gonna read stdin, periodt π
π OPTIONS π
-a,--asciiβ Output the input text as newline (U+000A) separated Unicode scalar values written in the US-ASCII charset. yeah she's gonna spell out every single scalar value for you, one per line π-e VAL,--encoding=VALβ Input encoding, must be one ofUTF-8,UTF-16,UTF-16LE,UTF-16BE,ASCIIorlatin1. If unspecified, the encoding is guessed. The output encoding is the same as the input encoding, except forASCIIandlatin1, whereUTF-8is output. so those two get a little upgrade, no cap β¨--unicode-versionβ Output supported Unicode version. just tells you which Unicode era she's living in π
π«Ά COMMON OPTIONS π«Ά
--help[=FMT](default=auto) β Show this help in formatFMT. The valueFMTmust be one ofauto,pager,grofforplain. Withauto, the format ispagerorplainwhenever theTERMenv var isdumbor undefined. she's literally reading your environment to decide how to be perceived π--versionβ Show version information. the classic. the iconique π
π₯ EXIT STATUS π₯
unftrip exits with one of the following values:
0β no error occurred1β a command line parsing error occurred2β the input text was malformed0β on success.123β on indiscriminate errors reported on standard error.124β on command line parsing errors.125β on unexpected internal errors (bugs).
bestie yes, 0 really is in there twice. I'm not messing with you and I'm not "fixing" it. that's what the page says. both of them. we respect the source π
π BUGS π
This program is distributed with the Uunf OCaml library. See http://erratique.ch/software/uunf for contact information. so if you wanna slide into their DMs about a bug, that's the link πΈ
and that's the whole page, bestie!! you understood all of it, I know you did. this was Unftrip v17.0.0, from the Unftrip Manual, and it's giving absolute legend behaviour π β¨π¦π periodt π
π¦ where this page comes from
- fedora 43: ocaml-uunf 17.0.0-1.fc43 Β· ISC
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms