22

I am using Mac OS X 10.8 and XQuartz 2.7.2. I have downloaded and placed several TrueType fonts named *.ttf in my /Users/<name>/.fonts directory. Upon running XQuartz several files including fonts.dir are created. This file has X11 font names of various encodings, etc. for each font I've installed.

My trouble is that I can't always "figure out" the correct name to use in xterm -fa <NAME> or in my .Xresources XTerm*faceName entry. For some fonts the core font name as listed in the detailed X11 font name in the fonts.dir file works whereas for others it doesn't.

2

4 Answers 4

27

The following one-liner has often helped me a lot to find the correct font name:

$ fc-list | cut -f2 -d: | sort -u

Especially with Japanese fonts like 'IPAX0208Mincho', I would never have been able to guess the correct name. If you don't mind a little more typing effort, you might even prefer

$ fc-list | cut -f2 -d: | sort -u | less -r

to get a paged output.

7

You can use xfontsel to get the right name:

$ xfontsel

enter image description here

Chose the font you are interested in and then click on the "Select" button. That will copy the font name to the clipboard. Use that name to run xterm. E.g.:

$ xterm -font -adobe-helvetica-*-r-normal-*-12-120-*-*-*-*-*-*

Can't get it to work on my system (linux) using "-fa" but "-font" works.

4
  • 2
    Yes, I knew to use xfontsel to get the X11 font name and use xterm -font to select it. What's strange is that for some fonts I can use xterm -fa <simple font name> and it works fine on other fonts it doesn't. I think you must have to have a very specific spelling of the <simple font name> because if I take a font where it works and change one letter it doesn't work anymore. So, my basic question is how do you systematically determine the "correct" <simple font name> such that xterm -fa works. Aug 23, 2012 at 14:22
  • @JasonWaldrop Ah. In that case, I'm stumped.
    – terdon
    Aug 23, 2012 at 15:35
  • If it helps (from the man page): "… though xfd accepts a "-fa" option to denote FreeType fonts), xfontsel has not been similarly extended …" Feb 25, 2016 at 19:40
  • @JasonWaldrop you might be interested in the comment above.
    – terdon
    Feb 25, 2016 at 19:43
0

If you use FontBook to load the font, it will display the correct name to use with xterm -fa.

0

What's missing are entries in the fonts.alias file:

/usr/share/X11/fonts/75dpi/fonts.alias

What this file does is provide short names ("aliases") for X Window fonts that are installed. When you try to use a short name that isn't in the file, you get behavior like this when starting xterm:

lansdale:~> xterm -xrm \*font:courr12
xterm: cannot load font "courr12"

(The xterm does come up and runs with a default, different font)

The fonts.alias file exists because of the long length of X11 font names. For example, courr12 is the short name for:

-adobe-courier-medium-r-normal--12-120-75-75-m-70-iso10646-1

[The long names are actually 14 different editable fields stitched together with dashes/hyphens. Run program xfontsel to see them; it will start with all fields showing with an asterisk, meaning not set to something specific.]

Each line in the file begins with a short name (an alias), a blank, then the long name it points/refers to. This way, you don't have to use the long name all the time, just set up an alias and use that. When putting a new line in the file, you decide what the short name will be, only the full X11 name has to have a font file installed on the system.

When I first cut my teeth on Unix systems in the 1990s, I ran across courr12 and later came to desire font it (Courier 'Roman' size 12) for my xterms. On HP/UX and Solaris, the fonts.alias file already had courr12, so I could just put "XTerm*font: courr12" in my .Xdefaults file and everything would work fine.

1
  • I found that file here: /usr/share/fonts/X11/75dpi/fonts.alias Aug 29, 2021 at 1:07

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .