MAKECONV(1)
β¨ MAKECONV π
okay so bestie, welcome to makeconv β it's the ICU 78.3 manual page and it's literally the tool that compiles a converter table. no cap. she's a compiler, she's an icon, she's giving build-step main character energy π
πΈ SYNOPSIS πΈ
---
# π DESCRIPTION π
So here's the tea, bestie: `makeconv` takes your ICU converter table called *convertertable* and turns it into a <mint>binary file</mint>. The glow-up is real β the binary file keeps the exact same base name as *convertertable*, but it gets a `.cnv` extension instead of the usual `.ucm` extension that the *convertertable* file rocks. β¨
Once it's compiled, that binary file can be read <purple>directly by ICU</purple>, or handed over to `pkgdata(1)` so it can get folded into a bigger archive or library. slay. π
Now, *convertertable* has to be in the ICU <cyan>ucm</cyan> (Unicode Codepage Mapping) format or `makeconv` simply will not understand it. periodt. The ICU ucm format is lowkey similar to the IBM NLTC `upmap`/`tpmap`/`rpmap` files. π¦
And the comments? Okay this part is kinda specific so stay with me:
- If a comment (one that starts with a `#` sign) comes **after** some text and it does contain the fallback indicator `|`, then <yellow>only the text starting with the `#` sign, and ending before the `|` sign, is ignored</yellow>.
- Otherwise β or if the comment is the very first thing on the line β the comment just runs all the way to the end of the line.
Why so extra? Because this special handling accommodates the practice of putting fallback information inside comments in the strict IBM NLTC `ucmap` format. iykyk π§
> π Not me dropping a very important fact: new converters get <green>automatically found by ICU</green> after they're installed in ICU's data directory. They do **not** need to be listed in the `convrtrs.txt(5)` converters aliases file in order to be available to apps using ICU. They **do** need to be listed there if you want to give them aliases, or tags, though. π
---
# β¨ OPTIONS β¨
- **`-h`, `-?`, `--help`** β prints help about usage and then exits. the classic "wait what does this do again" button π
- **`-c`, `--copyright`** β includes a copyright notice in the binary data. legal queen behavior π
- **`-v`, `--verbose`** β displays extra informative messages while it's running, so you can watch her work. π₯
- **`-d`, `--destdir destination`** β sets the destination directory to *destination*. The default destination directory is specified by the environment variable `ICU_DATA`.
---
# π CAVEATS π
Listen, this one matters. If an existing converter table gets changed and recompiled using `makeconv`, the resulting binary file **must** be packaged in the same way that it was packaged initially. no shortcuts. π
For example, if converters were grouped together in an archive or a library with `pkgdata(1)`, then that archive or library has to be <red>rebuilt with the new binary file</red>. And a standalone binary converter file will **not** take precedence over a packaged one. she said what she said. π«Ά
---
# π 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, so it is thus important to make sure that it is present if `ICU_DATA` is set. yes, the slash is load-bearing, bestie π
---
# β VERSION β
`78.3`
---
# π COPYRIGHT π
`Copyright (C) 2000 IBM, Inc. and others.`
---
# π¦ SEE ALSO π¦
- `convrtrs.txt(5)`
- `pkgdata(1)`
---
okay that's the whole page, you ate it, you're so smart π this was the ICU MANPAGE, dated <pink>16 April 2002</pink>, for ICU <purple>78.3</purple>. mwah. 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
- Copyright (C) 2016 and later: Unicode, Inc. and others
- Copyright (C) 2000-2002 IBM, Inc. and others
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms