Wolof

Garay orthography notes

Updated 7 June, 2023

This page brings together basic information about the Garay script and its use for the Wolof language. It aims to provide a brief, descriptive summary of the modern, printed orthography and typographic features, and to advise how to write Wolof using Unicode.

Garay is scheduled for inclusion into the Unicode repertoire in version 16. This page uses the code points that are expected to be used for version 16. Because Garay is not yet encoded in Unicode, some links may not produce results.

The Garay font used for this page was not really designed for use with running text. It doesn't place diacritics above base characters, and there is an overlarge gap before 𐵌, but gaps are missing around several other letters when side by side. Allowances need to be made for the fact that this is a very early implementation when looking at examples.

Sample

Select part of this sample text to show a list of characters, with links to more details. Source
Change size:   24px

šµššµŒšµŽšµ²šµ‹ šµ°šµŠšµŽšµŗšµŠšµ²šµŠ šµ¼šµ©šµš¶‚šµŖ šµŗšµŠš¶šµšµŒšµ¼ šµµšµšµŒšµŗšµŖšµšµŒŲŒ 𐵼𐵊𐵲 𐵱𐵋 šµ½šµŠšµ·š¶€šµ©šµŽšµ» 𐵱𐵋 𐵶𐵊𐵹 𐵰𐵊𐵳 𐵶𐵊𐵿𐵯. 𐵔𐵩𐵳𐵪 𐶁𐵊 𐵰𐵋𐵽 šµ³šµšµŒ 𐵻𐵊𐵲 šµŗšµšµŠšµ¹šµŖ 𐵽𐵩 šµ°šµŠšµŽš¶šµŗ 𐶁𐵊 𐵰𐵊𐵳 𐵻𐵩𐵸𐵊𐵲، 𐵽𐵩 𐵷𐵊𐵾 š¶šµŠšµŽ šµµšµšµŠš¶€šµøšµŠš¶šµ½šµ© 𐵊𐵳 š¶šµŠšµ·šµøšµ©šµŽš¶ŲŒ 𐵽𐵩 𐵽𐵩𐵹 𐵳𐵌 𐵱𐵋 šµ·šµŠšµŽšµøšµŖšµšµŒ 𐵓𐵩𐵌𐵳𐵪.

šµ“šµšµŒ 𐶁𐵩 šµ²šµšµŠš¶ š¶šµŠšµŽ 𐵷𐵊𐵻 𐶁𐵩 𐵰𐵊𐵲 𐶁𐵊 𐵰𐵊𐵼 𐵶𐵊𐵿𐵯 𐵰𐵊𐵳 𐵰𐵊𐵼 šµ½šµŠšµ·š¶€šµ©šµŽšµ» šµ¼šµšµŒ šµ¶šµŒšµ¶šµŒšµŽ 𐵱𐵋 šµ“šµŠšµ½šµŠšµŽšµ»šµŠšµø šµ“šµ‹šµŽ 𐵽𐵩 šµŠšµ²šµšµŒšµø šµ»šµ©šµŽšµ¼ 𐵰𐵊𐵳 šµ¶šµ©šµŽš¶ŲŒ šµ¾šµŠšµ·šµŠšµ½šµ‹š¶šµŠ 𐵱𐵋 šµ·šµŠšµŽšµøšµŖšµšµŒ šµ»šµ©šµŽšµ½ŲŒ 𐵲𐵩𐵸𐵌، 𐵰𐵊𐵷𐵾𐵊، šµøšµŠšµŽšµ³šµŖŲŒ šµŗšµ‹šµŽš¶šµ©šµŲŒ š¶‚šµ©šµŽšµ½šµ© 𐵱𐵋 šµ·šµŠšµŽšµøšµŖšµšµŒ š¶‚šµŒšµøšµ‹šµ½šµ‹šµ¹ŲŒ šµ»šµŠšµøšµŠšµŽšµ½ŲŒ šµ¾šµ©šµšµŽšµ· šµ“šµ©šµŠšµŽ 𐵰𐵊𐵶𐵳𐵊𐶁 šµ·šµŒšµŽ šµ²šµšµŠš¶ 𐵽𐵋 šµ¶šµŒšµ¶šµŒšµŽŲŒ 𐵱𐵋 𐵰𐵋𐵽 šµ·šµŠšµŽšµøšµŖšµšµŒ šµµšµšµŒšµŗšµŖšµšµŒ 𐵰𐵊𐵸𐵊𐵸 𐵰𐵊𐵳 šµøšµšµŒ šµ²šµšµŒ šµ²šµšµŠš¶ 𐵽𐵋 šµŗšµŒšµŽš¶. šµžšµŠšµ» 𐵶𐵊 šµŗšµŒšµøšµŖšµ‹ šµ°šµŠšµ²šµšµŒšµø šµ»šµ©šµŽšµµ 𐵰𐵊𐵳 šµ¶šµ©šµŽš¶ 𐵱𐵋 š¶‚šµŒšµøšµ‹šµ½šµ‹šµ¹ŲŒ šµ¼šµŒšµŽš¶ŲŒ šµ“šµ©šµŠšµŽ šµŗšµŒšµ»šµŠšµøšµ‹š¶ šµ·šµšµŒ šµ°šµŠšµµšµšµŒ 𐵱𐵋 𐵓𐵋𐵽𐵋𐵲 šµ¾šµ©šµšµŽšµ· šµ“šµ©šµŠšµŽ šµ¶šµšµŒšµŽš¶€ šµ¶šµŒšµŽ 𐵻𐵊𐵲𐶁𐵩 𐶁𐵋𐵽 𐵳𐵋 š¶€šµŠ 𐵸𐵊 šµ±šµŒšµ¶šµŠšµŽš¶šµŒšµŽŲ› šµ¾šµ©šµšµ· šµ²šµŒšµŽšµ²šµšµŒ šµ“šµ©šµŠšµŽ šµ¶šµšµŒšµŽš¶€ šµ¶šµŒšµŽšµ¶šµšµŒ šµ²šµŒšµŽšµ² 𐶁𐵊 šµ“šµŒš¶‚šµŖšµŠšµ² 𐵷𐵊𐵸𐵪𐵊 šµŗšµ©šµŽšµ½ŲŒ šµ“šµ©šµŠšµŽ šµæšµšµŒ 𐵼𐵊𐵲𐵊𐵸𐵩 šµ¼šµ©š¶šµ¹šµšµŒ-šµ¼šµšµŠš¶šµ¹šµŒšµŽšµ².

Usage & history

The Wolof language is spoken by around 40% of Senegalese, and others in Mauritania and The Gambia. There are around 5.5 million native speakers in Senegal, and the total number of speakers is a little over 12 million.

The Garay script was created by Assane Faye in Senegal and published in January 1961. The official script in Senegal for Wolof is Latin, although the Wolofal script (an Arabic-based script written in the ajami style) is also used. The user community for Garay is small, including women’s groups and adult literacy for Mandinka as well as for Wolof. The script has been taught informally for more than fifty years since its invention. Faye has written manuscripts including textbooks, folktales, and maps; there also exists a Quran with interlinear translations into Wolof using the Garay script.e

𐵹𐵊𐵾𐵊𐵼 ɔaraj the Garay script

Faye designed Garay to be easy to learn, familiar to anyone who had learned some of the Arabic script, but gave it a simpler design.e

Basic features

The Garay script is an alphabet. This means that it is largely phonetic in nature, where each letter represents a basic sound. See the table to the right for a brief overview of features for the modern Wolof orthography using the Latin script.

Garay text runs right-to-left in horizontal lines.

Words are separated by spaces.

The orthography is not fully bicameral. Consonant letters, including the vowel support, have upper- and lowercase forms, but characters used to write vowels do not have casing forms.

Garay uses 19 consonant letters to write 21 basic consonant sounds – the difference is made up by one digraph and one diacritic. All this duplicated in upper- and lowercase. One more digraph and 3 letters with diacritics add 4 extra consonant sounds for use with other languages. āÆ consonants

Four additional pre-nasalised stop sounds are indicated using an attached diacritic, which also doubles as a vowel. āÆ prenasalisation

Consonant gemination is common and phonetically distinctive, and is written using a dedicated combining mark. Another combining mark indicates nasalisation. āÆ gemination

Garay uses 5 vowel code points, including 1 combining mark, to write 9 vowel sounds. The shortfall is made up by combining vowel code points into digraphs. Long vowels are indicated by following the vowel character(s) with 10D4E. āÆ vowels

Because the sign for the vowel ɛ is identical to the sign that indicates prenasalisation, 10D69 is used in both cases. When the prenasalised stops are followed by the sound ɛ they use 10D4D, rather than the normal combining mark.

Words that begin with a vowel sound precede the vowel characters with a bicameral 'vowel carrier' (10D70), much like the alef in Arabic.

Languages in the Atlantic group of the Niger-Congo family, of which Wolof is one, are unusual in that they are not tonal.

A set of Garay digits is used, as well as a few Garay mathematical symbols.

Line-breaking and justification are primarily based on inter-word spaces, but Garay uses a special character as a hyphen when a word is broken by a line break.

Character index

Letters

Show

Consonants

𐵱␣𐵲␣𐵳␣𐵓␣𐵵␣𐵶␣𐵷␣𐵸␣𐵹␣𐵺␣𐵻␣𐵼␣𐵽␣𐵾␣𐵿␣𐶀␣𐶁␣𐶂
šµ‘ā£šµ’ā£šµ“ā£šµ”ā£šµ•ā£šµ–ā£šµ—ā£šµ˜ā£šµ™ā£šµšā£šµ›ā£šµœā£šµā£šµžā£šµŸā£šµ ā£šµ”ā£šµ¢

Vowels

šµŠā£šµ‹ā£šµŒā£šµā£šµŽ
𐵐

Other

šµ

Not used

𐶄␣𐶅␣𐵤␣𐵄

Combining marks

Show
𐵩␣𐵪␣𐵫␣𐵬␣𐵭

Punctuation

Show
ā€˜ā£ā€™ā£ā€œā£ā€ā£šµ®

ASCII

,␣;␣:␣.␣?␣!␣(␣)

Symbols

Show
𐵯

Other

Show
‌␣‍␣⁧␣‫␣⁦␣‪␣⁨␣⁩␣‬␣‏␣‎␣؜␣͏
Items to show in lists

Phonology

The following represents the general repertoire of the Wolof languages and dialects.

Click on the sounds to reveal locations in this document where they are mentioned.

Phones in a lighter colour are non-native or allophones. Source Wikipedia.

Vowel sounds

i iː u uː ə ə əː e eː o oː ɛ ɛː ɔ ɔː a aː

Long vowel sounds are distinctive.

Consonant sounds

labial alveolar palatal velar glottal
stop p b t d c ɟ k É” Ź”
pre-nasalised ᵐb ⁿd ᶮɟ ᵑɔ  
fricative f s   x  
nasal m n ɲ ŋ
approximant w l j  
trill/flap   r

Vowel harmony

Vowels in suffixes tend to be altered due to vowel harmony, based on the advanced tongue retraction (ATR) of the word-initial vowel. There are some exceptions.

+ATR vowels are: i u é ó ë.

-ATR vowels are: e o a.

Authors differ in whether they reflect the vowel harmony in writing.

Tone

There is no tone in Wolof.

Structure

Gemination is common and occurs with all consonants except q, Ź”, f, s, and x.

Gemination and consonant clusters do not occur in word-initial position, but can occur medially and in final position, where they may be followed by a faint epenthetic schwa.

p, d, c, and k only occur formally in word-initial position, unless geminated (which is common), or following a nasal. However, word final b, j, and g are typically devoiced and become allophones of those consonants.

Vowels

Vowel summary

Simple:
šµ‹ā£šµ‹šµŽā£ ā£šµšµŒā£šµšµŒšµŽ
šµ©šµā£šµšµā£šµšµšµŽā£ ā£šµŒšµā£šµŒšµšµŽ
šµšµŠā£šµšµŠšµŽ
šµ©ā£šµā£šµ©šµŽā£šµšµŽā£ ā£šµŒā£šµŒšµŽ
šµŠā£šµŠšµŽ
Standalone:
𐵰𐵋␣ ā£šµ°šµšµŒ
𐵐𐵋␣ ā£šµšµšµŒ
šµ°šµšµ©šµā£ ā£šµ°šµŒšµ
šµšµšµ©šµā£ ā£šµšµŒšµ
šµ°šµšµŠ
šµšµšµŠ
šµ°šµšµ©ā£ ␣𐵰𐵌
šµšµšµ©ā£ ␣𐵐𐵌
𐵰𐵊
𐵐𐵊

For additional details see vowel_mappings.

Vowel letters

Garay uses 5 vowel characters, one of which is a combining mark, to write 9 vowel sounds. Five of the vowel sounds are written using a combination of characters. None of these characters are bicameral.

šµ‹ā£šµā£šµ©ā£šµŒā£šµŠ

Another (bicameral) symbol is used to write standalone vowels (see standalone), and one more to indicate long vowels (see vlength).

The combinations of characters used can be seen in vowel_mappings, but we also list them here for quick reference.

šµ‹ā£šµšµ‹ā£šµšµŒā£šµ©šµā£šµšµā£šµŒšµā£šµšµŠā£šµ©ā£šµā£šµŒā£šµŠ

The iʰ is a so-called 'strong' articulation of i, which is not reflected in the Latin orthography and is dialectal. In the past it was, incorrectly, romanised as ü.rsr,4

The vowels ɛ and e

šµ©ā£šµ

The vowel ɛ is usually written using the combining mark, 𐵩 [U+10D69 GARAY VOWEL SIGN E].

š¶‚šµ©š¶šµ³šµšµŒ

However, the same mark is also used to indicate prenasalisation of 4 consonants.

𐵓𐵩␣𐵺𐵩␣𐵵𐵩␣𐵹𐵩

Therefore, to avoid ambiguity, 𐵍 [U+10D4D GARAY VOWEL SIGN EE] is used, instead, for those consonants. The following list shows the 4 consonants followed by the sound ɛ.

šµ“šµā£šµŗšµā£šµµšµā£šµ¹šµ

Prenasalised consonants followed by ɛ are followed by both characters.

The same applies to e, except that the default is 10D69 10D4D, and after prenasalised consonants this becomes 10D4D 10D4D. (In other words, it is the same as ɛ except that it adds an extra 'squiggle' in each case.)

In addition to consonants that may be prenasalised, this alternative approach applies to all letters which have a diacritic above their standard form.rsr,14

Consonant+eConsonant+ɛConsonant
šµ¶šµ«šµšµ šµ¶šµ«šµ 𐵶𐵫
šµ¶šµ¬šµšµ šµ¶šµ¬šµ 𐵶𐵬
šµ¹šµ©šµšµ šµ¹šµ©šµ 𐵹𐵩

Finally, q is written in an idiosyncratic way.rsr,14

Consonant+eConsonant+ɛConsonant
šµ»šµ°šµšµ©šµ šµ»šµ°šµšµ© 𐵻𐵰

In older versions of the script the comma-like glyph appeared over the squiggle, rather than over the consonant.

Standalone vowels

𐵰␣𐵐

For words that begin with a standalone vowel in the Garay orthography the vowel letter needs to be preceded by one of 10D70 or 10D50. This is analogous to the letter alef in Arabic.

𐵰𐵊𐵳𐵊𐵾𐵊

There are 2 special cases. Word-initial ɛ, normally rendered using just a diacritic, is 10D70 10D4D 10D69. And word-initial e is 10D70 10D4D 10D69 10D4Drsr,5.

Standalone vowels don't really occur in Wolof in word-medial position. Usually an epenthetic consonant is slipped in before the vowel, like the j between the i and the a at the end of the word Australiarsr,7.

šµšµŒšµ¶šµ½šµ©šµ¾šµ©šµøšµ‹šµ¼šµŠ

Vowel length

šµŽ

Long vowel sounds are written by following the vowel character(s) with 𐵎 [U+10D4E GARAY VOWEL LENGTH MARK].

šµ°šµŠšµŽšµ½šµ©šµŽšµ³šµŠšµ½

Long and short vowel sounds are phonemically distinctive.

Nasalisation

tbd

Tones

Wolof is not a tonal language.

Vowel sounds to characters

This section maps Wolof vowel sounds to common graphemes in the Latin orthography. Uppercase is not shown. Click on a grapheme to find other mentions on this page (links appear at the bottom of the page). Click on the character name to see examples and for detailed descriptions of the character(s) shown.

Uppercase only affects the vowel-carrier for word-initial standalone positions; that form is not shown in the table, but it is 𐵐. Long word-initial forms are not shown, but they are produced in the same way as for standard vowels.

i
 

𐵋

 
word-initial

10D70 10D4B

iː
 

šµ‹šµŽ

u
 

šµšµŒ

 
word-initial

10D70 10D4D 10D4C

uː
 

šµšµŒšµŽ

e
 

10D69 10D4D after most consonants

10D4D 10D4D after a consonant that can be prenasalised

 
word-initial

10D70 10D4D 10D69 10D4D

eː
 

10D4D 10D4D 10D4E

o
 

10D4C 10D4D

 
word-initial

10D70 10D4C 10D4D

oː
 

10D4C 10D4D 10D4E

ə
 

10D4D 10D4A

 
word-initial

10D70 10D4D 10D4A

əː
 

10D4D 10D4A 10D4E

ɛ
 

10D69 after most consonants.

10D4D after a consonant that can be prenasalised.

 
word-initial

10D70 10D4D 10D69

ɛː
 

10D69 10D4E above most consonants.

10D4D 10D4E after a consonant that can be prenasalised.

ɔ
 

10D4C

 
word-initial

10D70 10D4C

ɔː
 

10D4C 10D4E

a
 

10D4A

 
word-initial

10D70 10D4A

aː
 

10D4A 10D4E

Consonants

Consonant summary

All:
𐶂␣𐵓␣𐵽␣𐵺␣𐵳␣𐵹␣𐵻𐵰
šµ¢ā£šµ”ā£šµā£šµšā£šµ“ā£šµ™ā£šµ›šµ
𐵱␣𐵵
𐵑␣𐵕
𐵓𐵩␣𐵺𐵩␣𐵵𐵩␣𐵹𐵩
šµ•šµ©ā£šµššµ©ā£šµ•šµ©ā£šµ™šµ©
š¶€ā£šµ°šµ·ā£šµ¶ā£šµ¶šµ¬ā£šµ°šµ¶ā£šµ¶šµ«ā£šµ»ā£š¶ƒ
𐵠␣𐵐𐵷␣𐵖␣𐵖𐵬␣𐵐𐵶␣𐵖𐵫␣𐵛␣𐵣
𐵲␣𐶁␣𐵿␣𐵹𐵫
šµ’ā£šµ”ā£šµŸā£šµ™šµ«
𐵷␣𐵾␣𐵸␣𐵼
šµ—ā£šµžā£šµ˜ā£šµœ

For additional details see consonant_mappings.

Basic consonants

𐶂␣𐵓␣𐵽␣𐵺␣𐵳␣𐵹␣𐵻𐵰
šµ¢ā£šµ”ā£šµā£šµšā£šµ“ā£šµ™ā£šµ›šµ
𐵱␣𐵵
𐵑␣𐵕
š¶€ā£šµ¶ā£šµ»ā£š¶ƒ
𐵠␣𐵖␣𐵛␣𐵣
𐵲␣𐶁␣𐵿␣𐵹𐵫
šµ’ā£šµ”ā£šµŸā£šµ™šµ«
𐵷␣𐵾␣𐵸␣𐵼
šµ—ā£šµžā£šµ˜ā£šµœ

As can be seen above, one sound is represented by a digraph, and another by adding a combining mark.

Pre-nasalised stops

𐵓𐵩␣𐵺𐵩␣𐵵𐵩␣𐵹𐵩
šµ•šµ©ā£šµššµ©ā£šµ•šµ©ā£šµ™šµ©

Pre-nasalised sounds are marked using the diacritic 10D69, and frequently occur word-initially as well as within a word.

šµ“šµ©šµ‹šµŽšµ²

šµ²šµ‹šµŽšµ¹šµ©šµŒ

𐵺𐵩𐵋𐵲

𐵓𐵩 𐵔𐵩
Lowercase (left) and uppercase (right) forms of the prenasalised stop ᵐb.

Non-native sounds

𐵫␣𐵬␣𐵰

Garay adds diacritics to regular consonant letters or forms digraphs in order to represent non-native sounds.

𐵰𐵷␣𐵶𐵬␣𐵰𐵶␣𐵶𐵫
𐵐𐵷␣𐵖𐵬␣𐵐𐵶␣𐵖𐵫
𐵓𐵩 𐵔𐵩
Lowercase (left) and uppercase (right) forms of the letter z, which uses diacritics attached to the letter for s.

Vowel absence

šµ

The Garay orthography has šµ to signal that no vowel appears after a consonant. It is a spacing letter. According to Rovenchak, Faye, and Riley, it is now obsolete.rsr,10

Onset consonants

tbd

Final consonants

tbd

Consonant clusters

tbd

Gemination

𐵪

Consonant gemination is common and is phonemically distinctive in Wolof. Gemination is written by adding 𐵪 [U+10D6A GARAY CONSONANT GEMINATION MARK] over the geminated consonant.

šµ“šµšµŠšµ½

šµ“šµšµŠšµ½šµŖ

The gemination mark code point should be typed and stored after 𐵩 [U+10D69 GARAY VOWEL SIGN E] if that character is being used on the same base.

šµ²šµ©šµæšµ©šµŖšµŽš¶€

šµ²šµ©šµæšµ©šµŖšµŽš¶€
An example of gemination, where the consonant carries both a vowel and gemination diacritic.

Historical letter forms

𐶄␣𐶅␣𐵤␣𐵄

The letters in the list above are now obsoleted, but separate code points are available in Unicode for digitisation of legacy text.

Consonant sounds to characters

This section maps Wolof consonant sounds to common graphemes in the Latin orthography. Uppercase is not shown. Click on a grapheme to find other mentions on this page (links appear at the bottom of the page). Click on the character name to see examples and for detailed descriptions of the character(s) shown.

Sounds listed as 'infrequent' are allophones, or sounds used for foreign words, etc.

Stops

p
 

10D82

 
uppercase

10D62

b
 

10D74

 
uppercase

10D54

t
 

10D7D

 
uppercase

10D5D

d
 

10D7A

 
uppercase

10D5A

k
 

10D73

 
uppercase

10D53

É”
 

10D79

 
uppercase

10D59

q
 

10D7B 10D70

 
uppercase

10D5B 10D70

Ź”
 

10D70 before word-initial vowels.

 
uppercase

10D50

Prenasalised

ᵐb
 

10D74 10D69 

 
uppercase

10D54 10D69

ⁿd
 

10D7A 10D69 

 
uppercase

10D5A 10D69

ᶮɟ
 

10D75 10D69 

 
uppercase

10D55 10D69

ᵑɔ
 

10D79 10D69 

 
uppercase

10D59 10D69

Affricates

c
 

10D71 

 
uppercase

10D51

ɟ
 

10D75 

 
uppercase

10D55

Fricatives

f
 

10D80 

 
uppercase

10D60

v
 

10D70 10D77 

s
 

10D76 

 
uppercase

10D56

z
 

10D76 10D6C 

ʃ
 

10D70 10D76 

Ź’
 

10D76 10D69 

x
 

10D7B 

 
uppercase

10D5B

Nasals

m
 

10D72 

 
uppercase

10D52

n
 

10D81 

 
uppercase

10D61

ɲ
 

10D7F 

 
uppercase

10D5F

ŋ
 

10D79 10D6B 

 
uppercase

10D59 10D6B

Other

w
 

10D77 

 
uppercase

10D57

r
 

10D7E 

 
uppercase

10D5E

l
 

10D78 

 
uppercase

10D58

j
 

10D7C 

 
uppercase

10D5C

Numbers, dates, currency, etc

Digits

šµ€ā£šµā£šµ‚ā£šµƒā£šµ„ā£šµ…ā£šµ†ā£šµ‡ā£šµˆā£šµ‰

Garay has its own set of digits. A number with multiple digits is read left-to-right within the right-to-left flow of the text.

In expressions and ranges the items flow from right to left.

Letters with numeric values

Numeric values are assigned to various Garay letters as shown below.rsr,3

šµā£šµ‘ā£šµ’ā£šµ“ā£šµ”ā£šµ•ā£šµ–ā£šµ—ā£šµ˜ā£šµ™ā£šµšā£šµ›ā£šµœā£šµā£šµžā£šµŸā£šµ ā£šµ”ā£šµ¢

Observation: Need more information about how and when these are used.

Text direction

Garay text is written horizontally and right-to-left in the main but, as in most right-to-left scripts, numbers and embedded text in other scripts are written left-to-right (producing 'bidirectional' text).

العاؓر Ł„ŁŠŁˆŁ†ŁŠŁƒŁˆŲÆ (Unicode Conference)ŲŒŲ§Ł„Ų°ŁŠ Ų³ŁŠŲ¹Ł‚ŲÆ في 10-12 Ų¢Ų°Ų§Ų± 1997 Ł…ŲØŲÆŁŠŁ†Ų©
Garay behaves like the following Arabic text, where words are read right-to-left, starting from the right of this line, but numbers and Latin text (highlighted) are read left-to-right.

The Unicode Bidirectional Algorithm automatically takes care of the ordering for all the text in fig_bidi, as long as the 'base direction' is set to RTL. In HTML this can be set using the dir attribute, or in plain text using formatting controls.

If the base direction is not set appropriately, the directional runs will be ordered incorrectly , making it very difficult to get the meaning.

في XHMTL 1.0 ŁŠŲŖŁ… ŲŖŲ­Ł‚ŁŠŁ‚ Ų°Ł„Łƒ ب؄ضافة العنصر المضمن bdo.
في XHMTL 1.0 ŁŠŲŖŁ… ŲŖŲ­Ł‚ŁŠŁ‚ Ų°Ł„Łƒ ب؄ضافة العنصر المضمن bdo.
The exact same sequence of characters (in Arabic) with the base direction set to RTL (top), and with no base direction set on this LTR page (bottom). Certain items are highlighted to help track their position.

Show default bidi_class properties for characters in the Garay script.

For other aspects of dealing with right-to-left writing systems see the following sections:

For more information about how directionality and base direction work, see Unicode Bidirectional Algorithm basics. For information about plain text formatting characters see How to use Unicode controls for bidi text. And for working with markup in HTML, see Creating HTML Pages in Arabic, Hebrew and Other Right-to-left Scripts.

For authoring HTML pages, one of the most important things to remember is to use <html dir="rtl" … > at the top of the page. Also, use markup to manage direction, and do not use CSS styling.

Managing text direction

Unicode provides a set of 10 formatting characters that can be used to control the direction of text when displayed. These characters have no visual form in the rendered text, however text editing applications may have a way to show their location.

RLE [U+202B RIGHT-TO-LEFT EMBEDDING] (RLE), LRE [U+202A LEFT-TO-RIGHT EMBEDDING] (LRE), and PDF [U+202C POP DIRECTIONAL FORMATTING] (PDF) are in widespread use to set the base direction of a range of characters. RLE/LRE comes at the start, and PDF at the end of a range of characters for which the base direction is to be set.

In Unicode 6.1, the Unicode Standard added a set of characters which do the same thing but also isolate the content from surrounding characters, in order to avoid spillover effects. They are RLI [U+2067 RIGHT-TO-LEFT ISOLATE] (RLI), LRI [U+2066 LEFT-TO-RIGHT ISOLATE] (LRI), and PDI [U+2069 POP DIRECTIONAL ISOLATE] (PDI). The Unicode Standard recommends that these be used instead.

There is also PDI [U+2068 FIRST STRONG ISOLATE] (FSI), used initially to set the base direction according to the first recognised strongly-directional character.

؜ALM [U+061C ARABIC LETTER MARK] (ALM) is used to produce correct sequencing of numeric data. Follow the link and see expressions for details. 

RLM [U+200F RIGHT-TO-LEFT MARK] (RLM) and LRM [U+200E LEFT-TO-RIGHT MARK] (LRM) are invisible characters with strong directional properties that are also sometimes used to produce the correct ordering of text.

For more information about how to use these formatting characters see How to use Unicode controls for bidi text. Note, however, that when writing HTML you should generally use markup rather than these control codes. For information about that, see Creating HTML Pages in Arabic, Hebrew and Other Right-to-left Scripts.

Glyph shaping & positioning

This section brings together information about the following topics: writing styles; cursive text; context-based shaping; context-based positioning; font styles; case & other character transforms.

You can experiment with examples using the Garay character app.

Unlike Arabic, Garay letters are not joined.

Context-based shaping & positioning

Handwritten Garay typically features a swash at the end of a word which bends below the last letter, and may extend the whole length of the word. It purely ornamental and has no semantic significance.

An example of a handwritten page that shows the word-final swash running below the whole length of the word.@Assane Faye primer,https://catalogingafricana.files.wordpress.com/2016/03/fayems1.pdf

Diacritic placement tends to vary, based on the shape of the base consonant to which it is attached. See fig_gpos for an example.

𐵶𐵪 𐵶𐵩𐵪 𐵕𐵩 𐵔𐵩
Examples of varying heights of Garay diacritics.

Font styling & weight

tbd

Transforming characters

The consonant letters used for Garay are bicameral, and applications may need to provide transforms to allow the user to switch between cases. Capital letters are used at the beginning of sentences or titles, and for proper nouns.

Characters used to write vowel sounds (apart from the vowel carrier, 10D50 and 10D70) are not cased.

Graphemes

In normal Wolof text, grapheme clusters correspond to individual characters. Where combining marks appear, the combination of base and combining mark still fits within the definition of a grapheme cluster.

Grapheme clusters

Base (Mark?)

Each letter is a grapheme cluster, as is each combination of a base letter with combining marks.

Click on the text version of this word to see more detail about the composition.

𐵰𐵊𐵳𐵊𐵾𐵊
šµµšµšµ³šµ©šµŖšµ¾

Punctuation & inline features

Word boundaries

Words are separated by spaces.

Phrase & section boundaries

ŲŒā£Ų›ā£:␣.␣؟␣?␣!

Basic phrase and section boundaries in Wolof use a mixture of ASCII and Arabic punctuation.

phrase

،

Ų›

: [U+003A COLON]

sentence

. [U+002E FULL STOP]

؟

? [U+003F QUESTION MARK]

! [U+0021 EXCLAMATION MARK]

Apparently, both question marks are used.rsr,7

Bracketed text

(␣)

Wolof commonly uses ASCII parentheses to insert parenthetical information into text.

  start end
standard

( [U+0028 LEFT PARENTHESIS]

) [U+0029 RIGHT PARENTHESIS]

Mirrored characters

The words 'left' and 'right' in the Unicode names for parentheses, brackets, and other paired characters should be ignored. LEFT should be read as if it said START, and RIGHT as END. The direction in which the glyphs point will be automatically determined according to the base direction of the text.

A > B > C
𐵐 > 𐵑 > 𐵒
Both of these lines use > [U+003E GREATER-THAN SIGN], but the direction it faces depends on the base direction at the point of display.

The number of characters that are mirrored in this way is around 550, most of which are mathematical symbols. Some are single characters, rather than pairs. The following are some of the more common ones.

(␣)␣<␣>␣[␣]␣{␣}␣«␣»␣‹␣›

Quotations & citations

ā€œā£ā€ā£ā€˜ā£ā€™

Wolof texts may use quotation marks around quotations. Of course, due to keyboard design, quotations may also be surrounded by ASCII double and single quote marks.

  start end
initial

[U+201C LEFT DOUBLE QUOTATION MARK]

[U+201D RIGHT DOUBLE QUOTATION MARK]
nested

[U+2018 LEFT SINGLE QUOTATION MARK]

[U+2019 RIGHT SINGLE QUOTATION MARK]

Unlike the bracketing quotation marks, these characters are not mirrored during display. This means that LEFT means use on the left, and RIGHT means use on the right.

Emphasis

tbd

Abbreviation, ellipsis & repetition

tbd

Ellipsis

Garay uses … to indicate ellipsis.

Repetition

Garay uses 10D6F to double the word it follows.

šµ¼šµšµŒšµ³šµŖšµ‹šµÆ

Inline notes & annotations

tbd

Other punctuation

tbd

Other inline text decoration

tbd

Line & paragraph layout

Line breaking & hyphenation

Lines are generally broken between words.e,5

In-word line-breaks

Garay uses 10D6E at the end of a line to indicate that a word was broken.rsr,7

Breaking between Latin words

When a line break occurs in the middle of an embedded left-to-right sequence, the items in that sequence need to be rearranged visually so that it isn't necessary to read lines from top to bottom.

latin-line-breaks shows how two Latin words are apparently reordered in the flow of text to accommodate this rule. This is an Arabic text, but the same principles apply for Garay. Of course, the rearragement is only that of the visual glyphs: nothing affects the order of the characters in memory.

Text with no line break in Latin text.

Text with line break in Latin text.

The lower of these two images shows the result of decreasing the line width, so that text wraps between a sequence of Latin words.

Text alignment & justification

The principal line-break opportunities are inter-word spaces.

Text spacing

tbd

Baselines, line height, etc.

tbd

Wolof uses the 'alphabetic' baseline.

Counters, lists, etc.

Wolof uses ASCII digits as counters.

Styling initials

tbd

Page & book layout

This section is for any features that are specific to Wolof and that relate to the following topics: general page layout & progression; grids & tables; notes, footnotes, etc; forms & user interaction; page numbering, running headers, etc.

General page layout & progression

Garay books, magazines, etc., are bound on the right-hand side, and pages progress from right to left.

šµ½šµšµšµŽšµ¾šµšµ

Binding configuration for Garay books, magazines, etc.

Columns are vertical but run right-to-left across the page.

Grids & tables

tbd

Notes, footnotes, etc

tbd

Forms & user interaction

tbd

Page numbering, running headers, etc

tbd

Online resources

  1. Livre de Contes, Assane Faye

References