Free and Open Source Fonts

If your language doesn’t use traditional Latin characters then most likely you will need to look at fonts. Here we try to list fonts that you can actually change to add your characters.

Resources

Font List

We probably need to start classifiying this list: decrotive, bitmap, etc.

  • Bitsream Vera (2) font – you can’t change this one see DejaVu if you want to add your languages characters
  • DejaVu – if you have to extend Bitstream Vera then do it in this font.
  • Greenville – Tahoma replacement (comparison) – seems to be vapourware
  • URW – the 35 standard PostScript(TM) fonts, donated under the GPL by URW++ Design and Development GmbH.
  • X.org’s list of Open Source fonts
  • Free UCS Outline Fonts – This project aims to provide a set of free outline (PostScript Type0, TrueType, OpenType…) fonts covering the ISO 10646/Unicode UCS (Universal Character Set).
  • Computer Modern Unicode Fonts
  • UCS bitmap fonts
  • Wine Projects fonts replacements for Windows courier, marlett, sans serif and system
  • MgOpen fonts cover Greek but also Latin characters and are licensed in the same way as Bitstream Vera ie you can create derivatives if you use another name. They also mention that you can try to get your glyphs accepted into the main font which seems like a good option, otherwise you would need to start an effort similar to DejaVu
  • Matt Chisholm’s free decorative fonts (GPLd)
  • Dark Garden decorative font
  • Artwiz bitmap fonts
  • Libertine fonts. Regular, italic, bold and small caps. Regular has very good latin coverage the others are still in progress.
  • John Stracke’s decorative fonts
  • Some bitmap fonts on the Yudit site.
  • Junicode a font for medievalists. This has pretty good general latin coverage.

Determining Font Coverage

What characters are included in a font? This is often hard to work out and tedious if you have to type and check characters. Its easier to let fontforge do the work for you. Here are the steps to be followed:

  1. Open the font file(s): TTF, etc using fontforge
  2. Save as a fontforge .sfd file
  3. Use status.pl from the DejaVu project to create a coverage file

This example creates a coverage file for Micrsoft’s Arial Unicode font:

$ fontforge ARIALUNI.TTF # File Save As... and make sure you save an SFD file
$ touch ArialUnicodeMS.status.txt
$ ./status.pl original ArialUnicodeMS.status.txt ArialUnicodeMS.sfd  >> ArialUnicodeMS.status.txt.new
$ vim ArialUnicodeMS.status.txt.new # to view the coverage

Coverage – a future hack

Ideally you need a small app that can output coverage or more ideally if fed a font or font directory plus a list of required code points it will return a list of fonts that can satisfy the requirements. It should run on either Windows or Linux, be able to find the system font directory by default or be supplied with a directory or font file. It must be able to output all code points covered or return a coverage percentage if a list of required code points is supplied.

The following links could prove useful in building such an app: