x fonts
X11 font naming was quite obscure to me until I finally decided to look for some explanations.
Let's throw some light on X11 fonts.
On today X11 servers, there are actually two different font systems:
- Original core protocol: fonts are stored on the X11 server and clients send text through the X11 connection.
- XFT library: fonts are stored on client side, the client sends drawing primitives to the server.
See also this Guide to X11 Fonts.
Original core protocol
If you ever played with X resources, you probably have seen font names like:
-misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1
This is the complete name of a specific monospaced font. You can use
xfontsel
to compose such a name and use it in your urxvt configuration for
example.
Those names are listed in fonts.dir
files, have a look at
/usr/share/fonts/X11/misc
on a Debian system.
However, more human friendly names are also defined, look at fonts.alias
files, you will see names like 10x20
which can remind you of the default
XTerm configuration.
Using the original core protocol, only X11 compatible fonts are usable, no TTF!
Seen here.
XFT library
The XFT library allows more flexible font manipulation because everything is done on the client side. It also adds support for more font formats like TTF. However, according to rxvt-unicode FAQ, it is slower than core protocol.
Font names are using the following format:
<family>-<size>:<name>=<value>...
Where size is the font size in point, and name/value pairs define other properties. Look at Keith Packard's Xft Tutorial.
One useful example if points are not meaningful for you:
times:pixelsize=100
By the way, the modern point is a 72th of an inch, and it is converted to
pixel size based on the resolution of your monitor (see xdpyinfo | grep
resolution
).