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 of gencfu and exits. quick lil flex.
  • -c, --copyright β€” embeds the standard ICU copyright into the output-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, --destdir destination β€” sets the destination directory of the output-file to destination. put it wherever you want, bestie.
  • -i, --icudatadir directory β€” looks for any necessary ICU data files in directory. like, for example, the file pnames.icu has 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 variable ICU_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, --rules rule-file β€” the source file to read. the main character, honestly.
  • -w, --wsrules whole-script-rule-file β€” the whole script source file to read. yes, it's a separate file. yes, you need it. no cap.
  • -o, --out output-file β€” the output data file to write. where all the magic lands. ✨

🌈 VERSION 🌈

1.0


Copyright (C) 2009 International Business Machines Corporation and
others

ngl bestie, if you forget the .txt files have to be utf-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