mkmupfnt(1)
π mkmupfnt β the manual page (section 1, General Commands Manual) π
okay bestie, sit down, hydrate, and let me tell you about mkmupfnt, a whole little icon that makes fontfiles for overriding your Mup fonts. she's giving "small utility, big power" and honestly? obsessed. π
β¨ NAME β¨
mkmupfnt β create fontfile for overriding Mup fonts
πΈ SYNOPSIS πΈ
mkmupfnt PostScript_font_name Mup_font_name outfile [file]
four things go in, one (or two) things come out. it's giving assembly line but make it cute. π¦
π DESCRIPTION π
so the whole point of mkmupfnt is that it creates an outfile you can use with Mup's "fontfile" statement to override a Mup font. like, you're telling Mup "hey queen, use this font instead." no cap. β¨
here's the cast of characters, one by one:
PostScript_font_nameβ the name of the font you want Mup to use. it's the kind of thing you could hand to the PostScriptfindfontprocedure. so like, a real name that PostScript actually recognizes. πMup_font_nameβ the name of the Mup font you want to override. can be an abbreviated name, like"PR", or a full name, like"palatino rom". either one works, she's flexible like that. πoutfileβ the file that will be generated. it holds character size and other info, and it's the thing you feed to Mup's"fontfile"statement. this is the main character of the whole operation, fr fr. πfileβ optional, last argument. the name of a file containing PostScript to be placed at the end of the Mup PostScript prolog. when is this useful? when you have a font whose implementation PostScript could not find on its own. like, if you wrote your own font implementation, you could just drop it in the given file. π«Ά
and here's the fun part: the actual characters produced by the font need not be similar to those in the font being replaced. they could be in some other alphabet, or hieroglyphics, or literally whatever you wish. go feral. π but β and this is important β check the CAVEATS section for limitations. don't say I didn't warn you.
an example, because examples eat: suppose you want Mup to use the Helvetica-Narrow font rather than the plain Helvetica font. you could use:
mkmupfnt Helvetica-Narrow HR helvnarr
to generate a Mup fontfile, then in your Mup program put:
fontfile "helvnarr"
then anything that would normally be printed in Helvetica will come out in Helvetica-Narrow instead. slay. that's it. that's the whole trick. π
π FILE FORMAT π
Mup requires a fontfile to be in a fairly rigid format. like, she has standards and she is not lowering them. this section describes the format of the file that is produced by mkmupfnt.
the file can contain comment lines, which have a # in column 1. otherwise the format is:
Mup font name: Mup_font_name
PostScript font name: PostScript_font_name
Size data:
32 width height ascent
33 width height ascent
... similar lines for ASCII codes 34-126.
Dimension are given in 1/1000ths of an inch for a 12-point character.
All codes must be specified, and they must be in order.
PostScript:
Zero or more lines of PostScript that will be copied
exactly as is to the end of the Mup PostScript prolog.
so yeah: all codes must be specified, and they must be in order. no skipping, no shuffling, no chaotic energy. the format said what it said. β
π¦ FILES π¦
mkmupfnt.psβ PostScript program that extracts font size information
π SEE ALSO π
π CAVEATS π
okay this is the serious part, bestie, pay attention:
you must have ghostscript (gsorgs386.exe) in yourPATHand it must be built to include the"bit"device. no ghostscript, no bit device, no fontfile. periodt. π
Mup uses certain fonts for certain things, such as time signatures, octave marks, endings, tuplet numbers, etc. (the fonts used include all the Times fonts and New Century bold, plus Helvetica roman and Helvetica bold for tablature.) if you override one of the fonts used for those things, they will come out in your new font.
on the one hand, if you don't like Mup's choices, this provides you a way to get your own. on the other hand, if you want to change most, but not all uses of a particular font, it may not be possible to do that. it's giving "all or nothing" and I respect the commitment but also π
more limitations, laid out:
- only the ASCII characters 32-126 can be overridden. the non-ASCII characters can not be overridden. that's the boundary, babes.
- Mup only allows width values up to 1/2 inch for a 12-point character. this program does not enforce that limitation. so like, she'll let you cook, but Mup might not eat it. π
- this program has been tested with various Ghostscript fonts, but may not work on just any arbitrary PostScript font. so if you roll up with something random, no promises. π
that's the whole page, bestie. π go make some fonts, stay in your PATH, and remember: override responsibly. π
β brought to you by Arkkra Enterprises, dated November 22, 2012. yeah, she's been iconic since way back. πβ¨
π¦ where this page comes from
- epel 9: mup 7.2-1.el9 Β· Mup
- fedora 43: mup 7.2-2.fc43 Β· Mup
- fedora 44: mup 7.2-4.fc44 Β· Mup
- nixos 26.05: mup 7.2
- nixpkgs unstable: mup 7.2
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms