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 β¨π
π¦ where this page comes from
- alpine 3.24: texlive-doc 2026.0-r0 Β· GPL-2.0-or-later AND GPL-3.0-or-later
- arch rolling: texlive-doc 2026.1-1 Β· GPL
- centos-stream 10: texlive-texlive-scripts 13:20240311-6.el10 Β· LPPL-1.3c
- centos-stream 9: texlive-texlive-scripts 9:20200406-26.el9 Β· LPPL
- debian bookworm: texlive-base 2022.20230122-3
- debian trixie: texlive-base 2024.20250309-1
- fedora 43: texlive-texlive-scripts 11:svn66584-93.fc43 Β· LPPL-1.3c
- fedora 43: texlive-texlive-scripts 11:svn66584-95.fc43.1 Β· LPPL-1.3c
- fedora 44: texlive-texlive-scripts 12:svn78361-105.fc44 Β· LPPL-1.3c
- fedora 44: texlive-texlive-scripts 12:svn78361-111.fc44 Β· LPPL-1.3c
- opensuse-leap 16.0: texlive-scripts-doc 2025.221.svn74474-160000.3.1 Β· LPPL-1.0
- ubuntu jammy: texlive-base 2021.20220204-1
- ubuntu noble: texlive-base 2023.20240207-1
- ubuntu questing: texlive-base 2024.20250309-1
- ubuntu resolute: texlive-base 2025.20260124-1
- ubuntu stonking: texlive-base 2026.20260711-2
- π girlified by anthropic/claude-haiku-5.5 on : a language model's rewrite of the original, under its terms