Cahiers GUTenberg

n * 10-11 -



T@X and Africa
Institut für Kernphysik,
e-mail knappan0vkpmzd.


Main.~, Postfach

99 80, D-W 6500 Mainz

Abstract. At the present time, TEX is not usable for typesetting many african languages. They use special letters which don’ occur in the standard t fonts (and aren’ induded in the ec-scheme). t The letters nsed in the major languages of africa cari put into one font. A font encoding scheme (fc) and some METRFONT code is prepared. There is work in progress on hausa ‘ &X (done by Gos Ekhagnere, Ibadan). Nous n’ étions pas en mesure, jusqu’ l’ à heum actuelle, d’ utiliser Résumé. QX pour 10 composition de textes rédigés dans plusieures longues africaines. Ces langues utilisent des carnetères speciouz, qui ne sont pas disponibles dans les fontes standards. Les symboles utilisés dons les langues africaines importantes sont regroupés dons une seule fonte, dessinée avec METAFONT, pour Ioquelle nous ooons préparé un schémas d’ encodage. Gos Ekhaguere (d’ lbadan, Nigeria) poursuit actuellement ce trovoil et utilise hausa ‘ QX. Key words: african languages, special letters, font encoding,



Whenever the latin alphabet was adopted to another language some adjustements were made. This was done by shifting the meaning of seldom used letters or by introducing new letters. The main way of creating new letters is the addition of a diacritical mark, for example an accent, a cedilla or an extra stroke like in polish 1. The other way is creating new shapes from the existing ones and borrowing characters from other alphabets. Famous examples are the icelandic characters a and p, the latter borrowed from runes. Although ?&X cari handle accented letters by the use of control sequences, it is advantageous to have them ready in a font. The ec font encoding scheme, proposed at the TF$ conference of Cork 1990, satisfies the need of european w users well.


J. h’ nappen

For african languages the situation is quite different. Many of them use special letters for phonemes unknown to european languages. These letters are sometimes borrowed from the international phonetic alphabet (IPA), sometimes derived by modification of standard latin letters. Accents are used to mark the different tones. (Many african languages are tonal languages like chinese.) Unfortunately, the extensions of the latin alphabet are not made in a consistent way. For each language exist an own solution or - even worse more than one solution. The process of standardisation bas just begun and is far away from reaching its end point. In africa several hundred languages are spoken. It seems to be impossible to scan all these languages and their writing system. In this work 1 confined myself to the so-called critical languages as defined by the US departement of education in 1986. Each of these languages bas at least 1 mio. speakers.


How to Extend T)jX to African Languages

The first thing to do is the creation of fonts which contain the zusatz letters used in african languages. It turns out that one 256-character font will do the job for ail major african languages. It also supports french and portugese. The second step is to create appropriate format files, including the new fonts and setting up the control sequences for the accents and special letters. Hyphenation pattern for the different languages are needed. Then make national style files for TF$/I~TEX. The national style should provide some prescription how to use standard ascii input. This cari be done by making some character(s) active, like in german. sty. Altematively, you could access the special letters as ligatures. This approach would lead to different fonts (different by their llgtable) for different languages. Therefore it was discarded. For BTEX, all the names (like references) should be set into the national language. If existing, special typografical conventions should be included.

The last step: After finishing the work, make it accessible to the public and look how it spreads. For this, it is helpful, if there are simple introductions adapted for the different languages (and written in these languages).


T,@Y and Africa


Work in Progress

1 have prepared a font containing that characters which have entirely new shapes. 1 plundered nearly every source code available to do this and added the missing shapes. For some letters, variant glyphs are provided. At this moment, the shapes are not completely refined. Italics are under development now. The letters “long f (S)” and “round v (u)” provide a new kind of problem. The usual italic shape denotes a different character in some african languages. The solution is to redesign the italic f and v (and as a consequence of this also the w and y). The ffcmr font is the First aFrican Computer Modern Roman font. It includes computer modern roman in the lower 128 code positions and 36 african zusatz characters in the upper half. The latter already have their fc code positions, but some of the lower half will be moved. The next step Will be an afc (Almost aFrican Computer) font. This will have aJ characters positioned according to the EC/FC scheme, but Will not be complete. Some accented letters might be absent (and are probable SO). After completion, the name Will change to fc, which Will be the final form.

Gos Ekhaguere from the Departement of Mathematics, Ibadan, Nigeria, is working on hausa T#. This is the first project in Africa known to me.


Institut fiir Ethnologie to the critical languages und and

1 want to thank Prof. N. Cyffer from the Afrikastudien, Mainz, for leading my interest for help in finding good sources.


J. Knappen


Characters Required for African Languages

Here is a list of african special letter including the laquages in which they are used. The first part of the list contains entirely new shapes, the second part deals with letters carrying diacriticaf marks. 6 hooktop b used in many languages including Hausa, Fulful, Kpelle. In Zulu and Xhosa now obsolete. Uppercase: ‘ (Hausa, Fulful, Kpelle), B (Xhosa, B Zulu) d d with tail Ewe. Uppercase: â hooktop d Fulful and Hausa. D Uppercase: 1)

e open e very common, e.g. Mandekan (Bambara), a inverted Kanuri. e Uppercase: 3

Basa (Kru), Dinka, Ewe, Fulful, Ga, Kpelle, Mende, Ngala (Lingala). Uppercase: C

f long f Ewe. The usual fis used, too. Uppercase: 1( ipa gamma Dinka, Ewe, Kpelle. h crossed h Maltese. Uppercase: k hooktop k Hausa. Uppercase: P 4 Songhai. Basa(Kru), Uppercase: Uppercase: K N Efik, Fulful, Uppercase: # Y


Bemba, Dinka, 13, variant: Cl





3 open 0 very common, e.g. Mandekan (Bambara),

Basa (Kru), Di&a, Ewe, Fulful, Ga, Kpelle, Mende, Ngala (Lingala). Uppercase: 3


@Y and Africa

J esh Ga. Uppercase:

J. I’ seen also C, but have no reference ve 1 included T. from u,v,y. this, because

for this. in

t crossed t Sami. Although not african, the Cork scheme. Uppercase: w round v Ewe. Must be distinguished

it is missing



w raised smd w Efik. Occurs only after certain y hooktop y Fulful. Must be distinguished T is acceptable, too.

consonants. from normal y, Uppercase: Y. Maybe

Accented letters are also in frequent use in african writing. In some languages, accents are used to distinguish phonemes, in other languages they are tonal marks, and even double use is possible. Since tonal marking is mostly optional, tonal marks shuld be created with floating accents.The most common tonal marks are acute, grave, and circumflex, efik uses also hacek and the universal accent ( ’). The other letters where the accent is obligatory should be included in an african font. The list of accented Acute Grave Circumflex Diaresis Tilde letters is

m, ri: Efik è, 0: Mandekan, ê, ô: Sotho Sotho (South African Orthografie)



ë, 0: Sotho (B) a, ê, f, i, 0, 3, ii: Kpelle i, ü: Kikuyu ii: Efik, Oromo


ë, 0: Sotho (SA) S: Oromo, Sotho (SA) Sir: Ga 6, 8: Basa(Kru) ri: Bamileke, Basa( Kru) g, i: Maltese 19

Breve Dot above

J. Knappen

Macron Dot below

ë, 0: Sotho (SA) e, s: Yoruba o: Igbo, Yoruba i, 9: Igbo e, 9: Basa(Kru), Kikuyu n: Luganda (Kinya Rwanda)

Line below


The fc Character Encoding Scheme

The TUG conference of Cork 1990 bas proposed a 256 character font encoding scheme well suited for european languages. This scheme does not fit for the various african languages with latin writing. SO 1 want to propose a scheme suited for the SO called critical languages of africa. It should be named FC or FCM for aFrican Computer. The following
l l

rules are used to the Cork scheme

The lower 128 codes are identical

A glyph also occurring in the Cork scheme is placed on the same code point as in the Cork scheme Each letter work) from the 128-char cm-font is saved (Thus i, L, 0, etc. will



The uppercase/




The following languages are covered: Akan, Bamileke, Basa (Kru), Bemba, Ciokwe, Dinka, Efik, Ewe-Fon, Fulani (Fulful), Ga, Gbaya, Hausa, Igbo, Kanuri, Kikuyu, Kikongo, Kpelle, Krio, Luba, Mandekan (Bambara), Mende, More, Ngala, Nyanja, Oromo, Rundi, Kinya Rwanda, Sango, Shona, Somali, Songhai, Sotho (two different writing systems), Suaheli, Tiv, Yao, Yoruba, Xhosa and Zulu. Also covered are: Maltese the Cork scheme). 1 tried mentioned and Sami (European languages not covered by of the

to cons& the most recent dictionaries. A good part languages bas not yet a standardised writing system.

1 considered accents which are only tonal marks and optional in writing not to be a part of a letter. These should be created by using floating 20

T&$ and Africa

accents. Even double accenting is possible, e.g. Open e with tilde and acute (z?). Accented letters, where the accent is a part of the letter, are included.


The fc Font Encoding Table :lwh T3 9 &
3 F


200 201 202 203 204 205 206 207 210 211 212 213 214 215 216 217 220 221 222 223 224 225 226 227 230 231 232 233 234 235

B # K N 3 n S 13 U Y G Iii 3 N ! ci

description Capital letter Capital letter Capital letter Capital letter Capital letter Capital letter Capital letter Capital letter Capital letter Capital letter Capital letter Capital letter Capital letter Capital letter Capital letter Capital letter Capital Capital Capital Capital Capital Capital Capital Capital Capital Capital Capital Capital ligature ligature letter letter letter letter letter letter letter letter letter letter

hooktop B hooktop D open E reversed E long F E with haEek ipa Gamma double barred H hooktop K Enj open 0 (reversed C) N with acute Esh Eng round V hooktop Y G with dot above M with acute S with hacek N with dot above N with line below S with dot below W with breve crossed T E with dot above E with dot below


0 ts -a-

letter 1 with tilde letter 0 with macron t-esh fj


J. Knappen

,octal code 236 237 240 241 242 243 244 245 246 247 250 251 252 253 254 255 256 257 260 261 262 263 264 265 266 267 270 271 272 273 274 275 276 277

description Small letter double grave Smala letter SmaU letter Small letter Small letter Small letter Small letter Small letter Small letter Smsll letter SmaU letter SmaU letter Small letter Small letter Small letter Small letter Small letter Smrdl letter Smala letter Small letter Small letter Small letter

crossed d accent hooktop b hooktop d open e inverted e long f e with hacek ipa gamma crossed h hooktop k enj open 0 n with acute esh eng round v hooktop y g with dot above m with acute s with hacek n with dot above n with line below

Small letter s with dot below Smala letter w with breve Small letter crossed t Small letter e with dot above Small letter e with dot below Small letter i tilde Small letter o with macron small raised w inverted exclamation mark inverted question mark universal accent


!l&Y and Africa

3yph A 5 Â A c 5 Æ ç È É Ê Ë F

kctal code
300 301 302 303 304 305 306 307 310 311 312 313 314 315 316 317 320 321 322 323 324 325 326 327 330 331 332 333 334 335 336 337

description Capital Capital Capital Capital Capital Capital Capital Capital Capital Capital Capital Capital Capital Capital Capital Capital Capital Capital Capital Capital Capital Capital Capital Capital Capital Capital Capital Capital Capital Capital Capital letter letter letter letter letter letter A with acute 1 with dot below A with circumflex A with tilde Open E with tilde Open 0 with tilde

ligature AE letter C with cedilla letter letter letter letter letter letter letter letter letter letter letter letter E with grave E with acute E with E with E with E with E with 1 with crossed N with circumflex diaresis line below macron tilde diaresis D (Edh) tilde

1 D N 0 ô ô 0 0 03 0 0 9 U 0 u tr

0 with grave 0 with dot above circumflex tilde diaresis 0 dot below line below circumflex h&Eek dot below tilde

letter 0 with letter 0 with letter 0 with ligature OE letter crossed letter 0 with letter 0 with letter U with letter 0 with letter U with letter U with

cross piece for polish L and 1


J. Knappen


rlvnh >“ A a i â a É 5 æ ç è é ê ë c ë ë ï é ii 0 8 ô 0 0 œ

? 0 ii 0 u it

1 octal code 1 description Small letter a with acute 340 Small letter i with dot below 341 Small letter a with circumflex 342 Smala letter a with tilde 343 Small letter open e with tilde 344 Small letter open o with tilde 345 Small ligature ae 346 Small letter c with cedilla 347 Small letter e with grave 350 Small letter e with acute 351 Small letter e with circumflex 352 Small letter e with diaresis 353 Smrdl letter e with line below 354 Smala letter e with macron 355 Small letter e with tilde 356 Small letter i with diaresis 357 Small letter d with tail (note: not edh!) 360 Small letter n with tilde 361 Smala letter o with grave 362 Small letter o with dot above 363 Small letter o with circumflex 364 Small letter o with tilde 365 Small letter o with diaresis 366 Small ligature oe 367 Sma.ll letter crossed o 370 Small letter o with dot below 371 Small letter o with line below 372 Small letter u with circumflex 373 Smala letter o with hacek 374 Smrdl letter u with dot below 375 Small letter u with tilde 376 Small letter eszet 377