Sigma Consolefonts

Last updated 2011-01-18.

download sigma-consolefonts-0.8.tar.bz2
md5sum is 406907a264ed1ca1e140cc06d664ba49


This is the home page for my consolefonts. Actually, it was only one font, in an 8x16 size but with a number of variations of what gets mapped into the (psfu) consolefont. See the bottom of the page for an alternative. If you aren't using Linux and a UTF-8 locale, this probably will not have any relevance to you. Still interested ? Ok, here is a less than wonderful photograph of what the sigma-general version of this font can do. Apologies for the poor quality of the photo, I hope you can get an idea of what this does - and if you are using the linux console without a graphical desktop, you'll just have to download it to try it out.

screen photo.

I aim to let people see as many characters as possible on their console. I know that most people assume a graphical desktop is necessary to see a wide range of characters, but the standard console can display 512 characters if you do without the bold colours.

Traditional console fonts have often used separate glyphs for cyrillic and latin letters of the same shape, but desktop fonts normally render them identically (e.g. latin A and cyrillic А), and so do I - this helps make some space available. I have used Dmitry Bolkhovityanov's perl script to select which glyphs are used in a particular psfu font, and to map multiple codepoints to the same glyph. There are a limited range of line-drawing characters (enough to give a decent display in the linux kernel's 'make menuconfig').

The main use of these fonts is when you don't have a graphical desktop but still want to be able to read text in many languages. So, perhaps they are most appropriate to people running servers. For myself, they let me read my mail over ssh when I am building the graphical desktop for a new system.

The font itself started out as etl16 from one of the debian console packages. I altered it to give more balanced letters - longer descenders at the expense of less space above the letters, and bringing the accents closer to the letter. The 'cell' format of a capital letter is 3 rows above the letter, 10 rows for the letter, and another 3 rows for the descender. In hex, that is 3A3, hence the name (U+03A3 is Σ).

Unlike traditional vga fonts hard-coded into the machine, these fonts are much less bright - you may have to increase your screen's brightness. This is because they are thin (normally only one pixel wide). The 8x16 size is very much "one size fits all" - adequate for most accented latin, and for cyrillic and current greek, but not ideal where there are multiple accents (livonian, vietnamese, polytonic greek).

Unlike most other console fonts, these come with the source (a bdf font) and a series of map files to decide what to include. So, if you really dislike the form of one of the letters you can alter it - the bdf is just 16 lines of hex codes, e.g. a capital U has nine lines of x42 (0100 0010) and a baseline of x3C (0011 1100).

If you want to change a map, either to add something else, or to remove something you don't use, they are simple to edit.

The linux console cannot accomodate CJK languages, so this font is for people who use alphabetic languages. The armenian and georgian glyphs should be identical to what is in etl16, also the arabic and hebrew (and I really don't know how useful those are on a left-to-right terminal). Everything else has been tweaked to provide what I think is a satisfactory result.

The tarball includes my attempt at listing the alphabets for the languages covered - to answer the question, which glyphs do you need for a particular language. These files may also be useful if you are using xorg and want to check whether your fonts provide adequate coverage.

For most Europeans, I think the 'LatGrkCyr' version should work well (latin, greek and the main european cyrillic letters). Some people may prefer the 'cyrillic' variant (all current cyrillic, greek, some latin letters. Others may prefer the 'general' variant which is what I used to use. There is also a 'caucasian' variant (latin, cyrillic, armenian, georgian) and some other example and proof-of-concept variants, e.g. 'african', 'polytonic', 'vietnamese'. Ultimately, the african languages are limited by a lack of precomposed glyphs in unicode (AFAIK, there is a lack of terminals which support combining diacriticals), but some languages such as venda should work. Languages with multiple accents above the letter (livonian, polytonic greek, vietnamese) are not wonderful in the 8x16 size, but they might suffice.

You may also wish to look at my LatGrkCyr fonts - I wanted to try a 12x22 font when I switched to kernel mode setting, but the existing fonts seemed to lack many glyphs I was used to. Then I found psf-tools, and learned how to use that to edit fonts psf-tools homepage. The 12x22 font is derived from the iso01-12x22 font in the kbd package, and thus from the kernel's sun 12x22 font, so it is licensed under the GPL v2. For convenience, I've packaged both the 12x22 and 8x16 versions together.

download LatGrkCyr-20110117.tar.bz2
md5sum is 3183b35a2f4e706f13f03f32051b91a2