GENCFU(1)
π GENCFU β bestie's guide to making Unicode Confusable data files π
okay so like. the manual name is gencfu and it lives in the ICU 78.3 manual, and honestly? she's a little icon. she generates Unicode Confusable data files. that's the whole job. periodt.
β¨ SYNOPSIS β¨
gencfu [ -h, -?, --help ] [ -V, --version ] [ -c, --copyright ] [ -v,
--verbose ] [ -d, --destdir destination ] [ -i, --icudatadir directory ]
-r, --rules rule-file -w, --wsrules whole-script-rule-file -o, --out
output-file
π¦ DESCRIPTION π¦
okay so real talk β gencfu reads confusable character definitions from the input file. and what is that input file? it's a plain text file stuffed with confusable character definitions, written in the input format that Unicode UAX39 defines, specifically for the files confusables.txt and confusablesWholeScript.txt.
that source .txt format? yeah, ICU spoof detectors accept it too. bestie, it's giving universal.
but here's the thing β the files MUST be encoded in utf-8 format, with or without a BOM. (yes, both work. we love flexibility.) and normally, the output data file gets the .cfu extension. that's just the vibe. π
π OPTIONS π
-h,-?,--helpβ prints help about usage and dips. that's it, that's the whole thing.-V,--versionβ prints the version ofgencfuand exits. quick lil flex.-c,--copyrightβ embeds the standard ICU copyright into theoutput-file. yes, literally into it. iconic behavior.-v,--verboseβ displays extra informative messages while it's running. so if you wanna know what's going on in there? this is your girl.-d,--destdirdestination β sets the destination directory of theoutput-fileto destination. put it wherever you want, bestie.-i,--icudatadirdirectory β looks for any necessary ICU data files in directory. like, for example, the filepnames.icuhas to be locatable when ICU's data isn't built as a shared library. and the default ICU data directory? that's specified by the environment variableICU_DATA. but β and this is the best part β most configurations of ICU do not require this argument. so like, don't stress unless you gotta. π-r,--rulesrule-file β the source file to read. the main character, honestly.-w,--wsruleswhole-script-rule-file β the whole script source file to read. yes, it's a separate file. yes, you need it. no cap.-o,--outoutput-file β the output data file to write. where all the magic lands. β¨
π VERSION π
1.0
π COPYRIGHT π
Copyright (C) 2009 International Business Machines Corporation and
others
ngl bestie, if you forget the.txtfiles have to beutf-8, that's on you. we warned you. with or without a BOM though β she's forgiving. π«Ά
k that's the whole page!! this was ICU MANPAGE, dated 24 May 2009, living inside the ICU 78.3 Manual, and it ATE. go generate some confusable data, you got this. mwah πβ¨πΈπ¦π
π¦ where this page comes from
- arch rolling: icu 78.3-1 Β· LicenseRef-Unicode-3.0 AND BSD-2-Clause AND BSD-3-Clause AND NAIST-2003
- ubuntu stonking: icu-devtools 78.3-2ubuntu1 Β· MIT
- Copyright (C) 2016 and later: Unicode, Inc. and others
- Copyright (C) 2012 International Business Machines Corporation and others
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms