Chapter 7. Fonts

7.1. Xterm Fonts

There are a lot of fonts available online that can be used in X terminals, the primary limitation being that they need a monospace font. As of 2009, many Linux fonts are still 256 character sets, despite the slowly growing acceptance of Unicode. The first 128 of these 256 characters are the characters that appear on your keyboard and the second 128 are "special characters." With most Linux fonts, the second 128 are primarily characters with accents used in European languages other than English. In older VGA fonts (commonly found in DOS and older versions of Windows, console fonts included line draw characters (blocks, dots, lines) in the upper 128 instead of text. I asked for an explanation of this difference, and Sérgio Vale e Pace wrote me:

I love computer history so here goes:

When IBM designed the first PC they needed some character codes to use, so they got the ASCII character table (128 numbers, letters, and some punctuation) and to fill a byte addressed table they added 128 more characters. Since the PC was designed to be a home computer, they fill the remaining 128 characters with dots, lines, points, etc, to be able to do borders, and grayscale effects (remember that we are talking about 2 color graphics).

Time passes, PCs become a standard, IBM creates more powerful systems and the VGA standard is born, along with 256 colour graphics, and IBM continues to include their IBM-ASCII characters table.

More time passes, IBM has lost their leadership in the PC market, and the OS authors discover that there are other languages in the world that use non-english characters, so they add international alphabet support in their systems. Since we now have bright and colorful screens, we can trash the dots, lines, etc. and use their space for accented characters and some greek letters, which you'll see in Linux.