start

# 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

- Optimal Use of Fonts on Linux
- Ed Trager's Unicode Font Guide For Free/Libre Open Source Operating Systems
- The Wine projects discussion on creating missing Windows fonts
- Scribus page on fonts
- FontForge --- Free font editing and creation tool
- Indrek Hein’s Letter Database --- what special characters are needed by your/a language, their Unicode codes, etc
- Orthographies --- these files contain the list of characters needed by various languages.
- http://www.travelphrases.info/fonts.html --- want to see the scripts of various languages and their fonts, plus links to both free and proprietary fonts.
- Troubleshooting
  - Unix Fonts and AbiWord
  - OpenOffice.org’s Font Trouble Shooting Guide
- Freedesktop.org’s list of:
  - Open Source and other fonts
  - BSD and GPLd fonts --- this covers many non-Latin fonts
- A survey of free font licenses (NewsForge article)

## 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 langauges 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 usefull in building such an app:

- MSDN GetFontUnicodeRanges, GLYPHSET and WCRANGE
- A FreeType test that seems to test coverage: http://www.scipy.org/mailinglists/mailman?fn=scipy-cvs/2003-November/002280.html
- FontTools
- TTFQuery