Information Technology in Missions: Font Engineering

Engineering of fonts or font engineering. Ok so why would this have intrigued me? Well maybe because I am a geek. However without this step the tools we discussed previously would not be usable.

Now you might be asking yourself the question, “What is so hard about font design?” It turns out it can be quite complicated. First let’s take a bit of a time out and explain some of the process. Fonts are more than just the letters, numbers, & symbols that type out across your screen or in a search or office document. Fonts are put on the screen by encoding them. “Encoding refers to the process of representing information in some form.”1

One of the most important and popular encodings right now is unicode. I think Jeffrey Fridel has one of the best definitions of Unicode, “At the most basic level, Unicode is a character set or a conceptual encoding — a logical mapping between a number and a character.”2
Unicode is designed with the intention of enabling “people around the world to use computers in any language.”3 So the idea is that a single encoding would be able to be used by most people world wide. (There is a lot of history to this, but it’s out of scope for this post.)

So what does all this geeky stuff have to do with Bible translation? Well, our language uses latin (also known as Roman) to communicate the written portion of our language. However, many people groups in the world use symbols which are completely different (sometimes called non-Roman).

U1700

Think of Chinese,  Arabic, or Tagalog (people group in the Philippines) to name just a few, now multiply that by several hundred! In order for the translation tools to work, the computer must first be able to map them from a number to the correct symbol. Then the computer must also know how these symbols work. Someone must map these fonts to their specific encoding (number). So for example in our language a “A” would be U+1D00 (for short). However the computer may also see it as a hex (utf-8) of 0xE1 0xB4 0x80 (e1b480). In binary (utf-8) the computer would see it as 11100001:10110100:10000000.4  I should take a moment to mention that this is the capital A, and does not include the lowercase a or other forms that a has in other latin based languages.

What do I mean by “the computer must know how these symbols work”? Take a simple comma for instance. A comma must come immediately behind a word with a space to the next word, but no space in front of it. If it comes to a new line the comma must be on the same line as the word. Now there are symbols in many languages that denote this same thing. As well as symbols that denote other uses. Their rules all vary from symbol to symbol and to language to language. It is font engineering that makes this possible.

Without these encodings not only can translators and consultants not do their work in that language, but anything that needs to be used in that language on the computer will not be possible. So while it sounds mundane and even a little mind boggling it is a skill that is greatly needed.

Note: This post is meant to be very brief. There is a lot more reading material if you wish to take a look.

How to pray for font engineering:

  1. Wisdom of how to map these fonts. Once they are mapped they are in the Unicode Consortium’s specification and meant to remain that way for good.
  2. Patience. Many of these languages the fonts have to be not only mapped, but designed (i.e. pictures for the what the fonts look like on the screen). Lots of work to be handed back and forth.
  3. Many times issues around fonts become political because this is the writing system that people’s language will be represented on the computer for a long time to come. So again wisdom and listening and prayerful consideration.

Related Articles:


1) http://scripts.sil.org/IWS-Chapter03
2) Mastering Regular Expressions 2nd Edition, Jeffrey E.F. Friedl, Published by O’Reilly page 206
3) Introductory paragraph on http://unicode.org.
4) Provided information from http://www.fileformat.info/info/unicode/char/1d00/index.htm