Font considerations

From OLPC
Jump to: navigation, search

To discuss the content of this page, visit Talk:Font_considerations (it's the link labeled Discussion above).

OLPC font integration is done Fedora-side

The XO runs a modified Fedora system. That means all the generic system integration work (as opposed to OLPC-specific developments such as Sugar), is done by Fedora. Fonts are no exception in this regard. If you wish to improve the OLPC font selection, please act through the Fedora group in charge of fonts.


Introduction

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:

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,
  • etc.

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.

Installing fonts

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

fc-list|sort

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.

Using yum

For fonts in the yum repository that the XO is set up to use, just become root in the Terminal Activity, and enter

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 (<trac>6629</trac>), possibly because the Rainbow security framework isolates each activity.