GENBRK(1)

πŸ’– GENBRK β€” bestie edition πŸ’–

okay so this is genbrk(1), straight outta the ICU 78.3 Manual, and it's literally the little tool that turns your break iteration rules into binary data files. sit down, grab a boba, we're doing this πŸ§‹βœ¨


✨ NAME ✨

genbrk β€” compiles ICU break iteration rules source files into binary data files. that's it, that's the job, and she does it flawlessly πŸ’…


🌸 SYNOPSIS 🌸

genbrk [ -h, -?, --help ] [ -V, --version ] [ -c, --copyright ] [ -v,
--verbose ] [ -d, --destdir destination ] [ -i, --icudatadir directory ]
-r, --rules rule-file -o, --out output-file

πŸ¦‹ DESCRIPTION πŸ¦‹

so genbrk reads the break (boundary) rule source code from rule-file and creates a break iteration data file. no cap. and normally? that data file has the .brk extension. that's her signature move πŸŽ€

the details of the rule syntax can be found in ICU's User Guide. iykyk πŸ“–


πŸ’… OPTIONS πŸ’…

  • -h, -?, --help β€” print help about usage and exit. the "hey bestie what do i do" button 🫢
  • -V, --version β€” print the version of genbrk and exit. main character introduction ✨
  • -c, --copyright β€” embeds the standard ICU copyright into the output-file. legal slay πŸ‘‘
  • -v, --verbose β€” display extra informative messages during execution. she's yapping and honestly? we're listening πŸ’¬
  • -d, --destdir destination β€” set the destination directory of the output-file to destination. where she drops the goods πŸ“
  • -i, --icudatadir directory β€” look for any necessary ICU data files in directory. for example, the file pnames.icu must be located when ICU's data is not built as a shared library. the default ICU data directory is specified by the environment variable ICU_DATA. most configurations of ICU do not require this argument. so like, usually you can skip it 🧚
  • -r, --rules rule-file β€” the source file to read. the input, the origin story 🌱
  • -o, --out output-file β€” the output data file to write. the glow-up destination 🌈

😭 CAVEATS 😭

okay listen, this part is important, don't scroll past it.

when the rule-file contains a byte order mark (BOM) at the beginning of the file, which is the Unicode character U+FEFF, then the rule-file is interpreted as Unicode. without the BOM, the file is interpreted in the current operating system default codepage.

so basically: no BOM = your OS's default codepage decides your fate. chaotic behaviour, not the cute kind πŸ’€

in order to eliminate any ambiguity of the encoding for how the rule-file was written, it is recommended that you write this file in UTF-8 with the BOM. fr fr, just do it πŸ™


🌈 ENVIRONMENT 🌈

  • ICU_DATA β€” specifies the directory containing ICU data. defaults to ${prefix}/share/icu/78.3/. some tools in ICU depend on the presence of the trailing slash. it is thus important to make sure that it is present if ICU_DATA is set.
not the trailing slash being load-bearing 😭 do NOT forget it, bestie, the tools will simply not vibe

🫢 AUTHORS 🫢

  • George Rhoten
  • Andy Heninger

the icons who made her πŸ‘‘


⭐ VERSION ⭐

1.0


Copyright (C) 2005 International Business Machines Corporation and others


πŸ”₯ SEE ALSO πŸ”₯

http://www.icu-project.org/userguide/boundaryAnalysis.html


and that's the whole page, bestie πŸŽ€ this was ICU MANPAGE, dated 2 December 2005, and she's still serving GENBRK(1) energy to this very day. go compile something gorgeous πŸ’–βœ¨

πŸ“¦ 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
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms