MKTEXTFM(1)

πŸŽ€ MKTEXTFM(1) πŸŽ€

okay bestie, this is the manual page for mktextfm, and it's giving font factory 🏭✨ it's part of the User Commands crew πŸ’…

✨ NAME ✨

okay so mktextfm is the thing that makes a TFM file for a font 🧚 that's the whole job, no cap

✨ SYNOPSIS ✨

mktextfm [options] font

πŸ’– DESCRIPTION πŸ’–

okay so mktextfm makes a tfm file from the Metafont source files for your font πŸ“ or it'll use hbf2gf(1) if that's possible 🌸 if you give it a destdir, the file gets installed right there πŸ¦‹ if you don't, it uses a (lowkey very complicated) heuristic to figure out where it goes πŸ™ˆ

if the tfm file is already sitting in the destination, it'll tell you and then do absolutely nothing πŸ’€ not me being like "wait, it's already here??"

the whole thing is lowkey a vibe check: if there's already a tfm in the spot, nothing new gets made.

also, if a GF (Generic Font) bitmap file gets generated too, which is super typical with ΜF 🌈, it gets converted into a PK (Packed Font) file and installed the same way 🫢

the full pathname of whatever got generated is printed on standard output ✨ so you can literally see where it landed πŸ’œ

if the mf-nowin(1) version of Metafont is available, mktextfm uses that to make the fonts πŸ”₯ this is so there's no chance of online display popping up, which is iconic behaviour tbh πŸ‘‘

and fyi, mktextfm is usually called by other programs through Kpathsea, rather than you typing it in the command line πŸ§šβ€β™€οΈ it's a background girlie, not a main character πŸ’…

πŸŽ€ OPTIONS πŸŽ€

mktextfm accepts the following options:

  • --destdir dir β€” this is where you tell it the destination directory πŸ“‚ if the directory is absolute, it gets used exactly as-is πŸ¦‹ if it's not absolute, it gets tacked onto the root destination directory that's set in the script 🌸
  • --help β€” prints a help message and exits successfully πŸ’–
  • --version β€” prints version information and exits successfully ✨

🌈 ENVIRONMENT 🌈

one environment variable is specific to mktextfm: MF_MODE_EXTRA_INFO 🧚 if it's set to a non-empty value, the Metafont macro mode_include_extra_info gets invoked when the font is made πŸ’œ the standard modes.mf file defines this, as of modes.mf version 4.0, which was released in 2020 πŸŽ€

this brings in the so-called Xerox-world information, and that includes the CODINGSCHEME for the font πŸ“ all of that goes into the tfm file 🫢 (this isn't done by default, because it's too intrusive to redefine the necessary primitives, per Don Knuth πŸ™ˆ respect the king πŸ‘‘)

the mftrace(1) program, for example, can use this to get a clue about the font encoding πŸ” just know the info isn't always perfectly definitive or unambiguous, so don't treat it as gospel πŸ’€

for more about the encodings of Metafont fonts, check out the section Bitmap font encodings in the Dvips manual (e.g., https://tug.org/texinfohtml/dvips.html) 🌸

and yeah, the many other environment variables and various configuration files that control a TeX system also affect how mktextfm behaves, as usual πŸ’…

πŸ¦‹ SEE ALSO πŸ¦‹

mf(1), mktexmf(1), mktexpk(1). πŸ’–

🚨 REPORTING BUGS 🚨

report bugs to: tex-k@tug.org (https://lists.tug.org/tex-k) πŸ“¬ TeX Live home page: https://tug.org/texlive/ 🌈


okay bestie that's the whole thing 🫢 this page is from TeX Live, dated 30 January 2020, all about MKTEXTFM ✨πŸ’