UCS2ANY(1)

πŸ’… ucs2any β€” the ISO 10646-1 subset font generator (X Version 11, bestie)

okay so picture this: you've got ONE iconic master font in ISO 10646-1 encoding, and you need, like, a whole wardrobe of 8-bit encodings for it. that's literally what ucs2any does. it's serving group-chat organizer energy for your fonts. ✨


πŸŽ€ NAME πŸŽ€

ucs2any β€” generate BDF fonts containing subsets of ISO 10646-1 codepoints. yes, that's the whole vibe. πŸ’–


🌸 SYNOPSIS 🌸

ucs2any [ +d | -d ] source-name { mapping-file registry-encoding } ...

ucs2any [ --help | --version ]

πŸ¦‹ DESCRIPTION πŸ¦‹

so ucs2any lets you take an ISO 10646-1 encoded BDF font and generate other BDF fonts in literally any possible encoding from it. no cap. 🫢

the way this slaps is: you keep ONE single ISO 10646-1 master font, and from that you can derive a whole entire set of 8-bit fonts in all ISO 8859 encodings plus various other ones. one source font, infinite fits. main character font energy, honestly. πŸ‘‘


✨ OPTIONS ✨

  • +d β€” puts DEC VT100 graphics characters in the C0 range. this is the default for upright, character-cell fonts, iykyk. πŸ’…
  • -d β€” omits DEC VT100 graphics characters from the C0 range. this one's the default for all font types except upright, character-cell fonts. πŸ™ˆ
  • --help β€” prints the usage message and exits. tiny helpful icon. πŸŽ€
  • --version β€” prints version information and exits. slay, brief and to the point. ⭐

πŸ’œ OPERANDS πŸ’œ

  • source-name β€” the name of an ISO 10646-1 encoded BDF file. your starting material, your muse. 🧚
  • mapping-file β€” the name of a character set table like those at <ftp://ftp.unicode.org/Public/MAPPINGS/>. these files can also typically be found installed in the /usr/share/fonts/X11/util directory. go look, they're probably already there. πŸ”
  • registry-encoding β€” these are the CHARSET_REGISTRY and CHARSET_ENCODING field values for the font name (XLFD) of the target font, separated by a hyphen. that's the hyphen doing the separating, not me. πŸ’€

and here's the fun part: any number of mapping-file and registry-encoding operand pairs may be specified. go off, specify as many as you want. 🌈


πŸ”₯ EXAMPLE πŸ”₯

the command

ucs2any 6x13.bdf 8859-1.TXT iso8859-1 8859-2.TXT iso8859-2

will generate the files 6x13-iso8859-1.bdf and 6x13-iso8859-2.bdf. two fonts, one command, absolutely ate. 😭✨


🌟 FUTURE DIRECTIONS 🌟

hopefully a future release will have a facility similar to ucs2any built into the server, and re-encode ISO 10646-1 on the fly β€” because storing the same fonts in many different encodings is clearly a waste of storage capacity. fr fr, that's so much duplicated storage, we're all rooting for the glow-up. πŸ¦‹


🌸 SEE ALSO 🌸

bdftruncate(1) β€” go say hi, bestie lives next door. 🫢


πŸ‘‘ AUTHOR πŸ‘‘

ucs2any was written by Markus Kuhn. πŸ’–

Branden Robinson wrote this manual page, originally for the Debian Project. πŸŽ€


and that's the tea, bestie β€” brought to you by font-util 1.4.2, dated 2025-04-27. now go subset some fonts, you gorgeous nerd. πŸ’…βœ¨

πŸ“¦ where this page comes from