17 Jun 2009 yosch   » (Master)

open fonts and mobile devices

The availability and use of all kinds of mobile devices is growing like crazy but what about fonts on these devices?

What happens when the default set shipped with the particular OS is not good enough for you? When the fonts simply look ugly to you or don't provide sufficient support for a language and the corresponding writing system you're using, or you really really want a specific design? You may happen to use the device as an e-book-reader, something to read RSS feeds, do blogging, drawing or whatever, you might also use it as some kind of literacy primer digital chalkboard...

Basically you own the device and you want to enjoy or create content with your preferred font (an open font or not) and not be dependent upon the decision of the creator of the device who may not care about your needs in that area. If you agree that malleability of a device includes choosing and being able to install and use your own font then all devices are not equal: sometime the device makes it very easy, sometimes you have to fight it, hack aggressively the filesystem, reflash, and sometimes you're just stuck. Let's hope that the device makers will come to see the value of allowing end-user font changes. With the pressure of open mobile platforms we can hope the current status quo will improve.

  • Nokia Internet tablet: flashable, open architecture based on the Maemo which is itself based on Debian components (with only a few restricted components): you easily get access to the filesystem, you can install a terminal application then simply add your font to ~/.fonts and fontconfig will allow you to see it in all the apps. There are also font packages available in the repositories, you can install various browsers, future versions of these browsers will support @font-face.

  • Android: flashable, open architecture, the Droid font family was commissioned to ship with the device, it's an open font and is hosted under DVCS alongside the rest of the Android source code. The browser based on webkit supports @font-face. You can push new fonts only as part of an application but you don't have access to the system fonts folder. You need to go through the SDK or a dedicated image to push the fonts you want.

  • OLPC: flashable open hardware and open architecture with a gorgeous screen resolution and a nice ebook mode: the distros running on the OLPC already include a good selection of open fonts, with more in the repositories and you can just put your desired fonts in ~/.fonts/ and fontconfig will do its thing.

  • Kindle: restricted platform (some patches to the libraries making up the OS are apparently now available but not the system itself): no end-user UI to add new fonts, you need to use a unofficial hack to flash it with a custom image to add fonts with better Unicode coverage. I don't know about the browser features.

  • Iphone: very restricted platform, a jailbroken one allows access to the filesystem to add new fonts to /System/Library/Fonts/Cache/ and you need to tweak the plist by hand but the browser supports @font-face.

  • Blackberry: very restricted platform, themes can change the fonts and there is apparently a font folder exposed /system/fonts but putting fonts in there doesn't do anything. Meh.

  • the various Netbook distros: Ubuntu Netbook Remix, Moblin, etc all these very nice open platforms give you access to the repositories where we already maintain packages for various open fonts. And fontconfig is there too so just a copy into ~/.fonts is fine. The browser with support for @font-face will be easily available.

  • Sony reader: restricted platform. But apparently a /FONT folder in the filesystem is exposed allowing to add new fonts. Again you need to tweak the settings by hand. No browser it seems.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!