To discuss the content of this page, visit Talk:Font_considerations (it's the link labeled Discussion above).
Because the OLPC will be used in many different countries with different writing systems and scripts, it needs to have fairly broad font support. In addition, the OLPC is targetted at regions where there are currently very few computers in use. This means that existing fonts may not support the full set of glyphs required. The OLPC relies on the Unicode support in GTK+/Pango, Python, and Linux in order to input, manipulate and display text. There are many Unicode fonts available but in order to be used on the OLPC, we either need an open-source font (preferable) or a license to use the font.
Consequences of Fedora Linux use
Since the OLPC system is a Fedora derivative:
- its fonts are mostly a subset of Fedora fonts.
- OLPC font packaging and installation conventions are the Fedora packaging conventions.
- the easiest way to complete OLPC fonts is to install the corresponding Fedora font packages (using yum), since the OLPC team may choose not to include some fonts already packaged by Fedora.
Font packages taken from other distributions (such as SuSE) may use different conventions and not integrate correctly with the rest of the system. (This is not an indictment of those distributions; some of the plumbing is just different. The Fedora Fonts SIG has friendly relations with other distributions font teams, and even shares an IRC channel with the Debian and Ubuntu font groups.)
The best way to improve the OLPC font situation is to join the Fedora group in charge of fonts and package new fonts there. The OLPC team will pick up the resulting packages next time it syncs the OLPC system with a Fedora release.
By acting at the Fedora level, you benefit from the expertise and support of the Fedora teams. Packaging fonts is trickier than it seems:
- many fonts present legal challenges,
- you may need to convince font authors to perform legal or technical changes,
- international fonts need to be properly declared in fontconfig to avoid conflicts,
Shipping fonts in Fedora also insures they are tested by the Fedora community before being deployed on the OLPC, making the OLPC quality assurance work easier.
While it's possible to package fonts at the OLPC level:
- that will needlessly increase the integration burden OLPC-side,
- the OLPC teams do not have the capacity or experience to perform the level of review Fedora excels at,
- you'll need to follow Fedora packaging guidelines anyway (without having a say in their evolution), and
- the day someone else duplicates your work Fedora-side your package will be dropped.
This is not an efficient use of your time and of community resources.
Fedora packaging is comprehensively documented, and fonts are no exception. The font Fedora packaging process is detailed here.
You can, of course, limit your involvement to adding new entries to the Fedora font whishlist. However, even though there are more people doing system work Fedora-side than OLPC-side, there is still a chronic lack of font packagers. Packaging contributions will help more than wishlist contributions.
Packaging fonts in Fedora is not hard and a great way to contribute to OLPC. Just follow the official Fedora templates and the advice given during the package review process.
What fonts are already installed
A quick way to see some of the fonts available is to start the Write activity and from its Text menu click the arrow for the pop-up font menu.
In a Terminal Activity, enter the command
for a more detailed list of fonts including variants such as bold and oblique.
Many of the fonts installed on the XO provide glyphs for other languages and so their letter forms for Western alphabets are not very interesting.
yum search -- -fonts
which will list available font packages. To install one of these packages, enter
yum install font_name-fonts
(you can leave out the .noarch extension). For example,
yum install gfs-neohellenic-fonts
Note: In other repositories (such as for SuSE) font RPMs are named with a "ttf-" prefix:
yum install ttf-font_name
By copying .ttf files
If you have a .ttf font, you may be able to copy it to the XO depending on the license agreement you have for the font.
Detailed instructions to do this using a USB flash drive are at http://mathcasts.org/mtwiki/XOLaptop/Fonts
To sum up, as root in a Terminal Activity, create a directory truetype in /usr/share/fonts, and copy the .ttf file to this directory.
Note that many guides to fonts for the X Window System suggest you can install fonts in a .fonts directory in the user's home directory. This does not work for the default "olpc" user on the XO (ticket #6629), possibly because the Rainbow security framework isolates each activity.