Updated 22 January, 2025
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.
The Garay font used for this page is still an early prototype. It doesn't place diacritics correctly sometimes, eg. above uppercase base characters. When looking at examples allowances need to be made for the fact that this is a very early implementation.
R Ishida, Wolof (Garay) Orthography Notes, 22-Jan-2025, https://r12a.github.io/scripts/gara/wo
šµšµšµšµ²šµ šµ°šµšµšµŗšµšµ²šµ šµ¼šµ©šµš¶šµŖ šµŗšµš¶šµšµšµ¼ šµµšµšµšµŗšµŖšµšµŲ šµ¼šµšµ² šµ±šµ šµ½šµšµ·š¶šµ©šµšµ» šµ±šµ šµ¶šµšµ¹ šµ°šµšµ³ šµ¶šµšµæšµÆ. šµ”šµ©šµ³šµŖ š¶šµ šµ°šµšµ½ šµ³šµšµ šµ»šµšµ² šµŗšµšµšµ¹šµŖ šµ½šµ© šµ°šµšµš¶šµŗ š¶šµ šµ°šµšµ³ šµ»šµ©šµøšµšµ²Ų šµ½šµ© šµ·šµšµ¾ š¶šµšµ šµµšµšµš¶šµøšµš¶šµ½šµ© šµšµ³ š¶šµšµ·šµøšµ©šµš¶Ų šµ½šµ© šµ½šµ©šµ¹ šµ³šµ šµ±šµ šµ·šµšµšµøšµŖšµšµ šµ“šµ©šµšµ³šµŖ.
šµšµšµ š¶šµ© šµ²šµšµš¶ š¶šµšµ šµ·šµšµ» š¶šµ© šµ°šµšµ² š¶šµ šµ°šµšµ¼ šµ¶šµšµæšµÆ šµ°šµšµ³ šµ°šµšµ¼ šµ½šµšµ·š¶šµ©šµšµ» šµ¼šµšµ šµ¶šµšµ¶šµšµ šµ±šµ šµ“šµšµ½šµšµšµ»šµšµø šµ“šµšµ šµ½šµ© šµšµ²šµšµšµø šµ»šµ©šµšµ¼ šµ°šµšµ³ šµ¶šµ©šµš¶Ų šµ¾šµšµ·šµšµ½šµš¶šµ šµ±šµ šµ·šµšµšµøšµŖšµšµ šµ»šµ©šµšµ½Ų šµ²šµ©šµøšµŲ šµ°šµšµ·šµ¾šµŲ šµøšµšµšµ³šµŖŲ šµŗšµšµš¶šµ©šµŲ š¶šµ©šµšµ½šµ© šµ±šµ šµ·šµšµšµøšµŖšµšµ š¶šµšµøšµšµ½šµšµ¹Ų šµ»šµšµøšµšµšµ½Ų šµ¾šµ©šµšµšµ· šµ“šµ©šµšµ šµ°šµšµ¶šµ³šµš¶ šµ·šµšµ šµ²šµšµš¶ šµ½šµ šµ¶šµšµ¶šµšµŲ šµ±šµ šµ°šµšµ½ šµ·šµšµšµøšµŖšµšµ šµµšµšµšµŗšµŖšµšµ šµ°šµšµøšµšµø šµ°šµšµ³ šµøšµšµ šµ²šµšµ šµ²šµšµš¶ šµ½šµ šµŗšµšµš¶. šµšµšµ» šµ¶šµ šµŗšµšµøšµŖšµ šµ°šµšµ²šµšµšµø šµ»šµ©šµšµµ šµ°šµšµ³ šµ¶šµ©šµš¶ šµ±šµ š¶šµšµøšµšµ½šµšµ¹Ų šµ¼šµšµš¶Ų šµ“šµ©šµšµ šµŗšµšµ»šµšµøšµš¶ šµ·šµšµ šµ°šµšµµšµšµ šµ±šµ šµ“šµšµ½šµšµ² šµ¾šµ©šµšµšµ· šµ“šµ©šµšµ šµ¶šµšµšµš¶ šµ¶šµšµ šµ»šµšµ²š¶šµ© š¶šµšµ½ šµ³šµ š¶šµ šµøšµ šµ±šµšµ¶šµšµš¶šµšµŲ šµ¾šµ©šµšµ· šµ²šµšµšµ²šµšµ šµ“šµ©šµšµ šµ¶šµšµšµš¶ šµ¶šµšµšµ¶šµšµ šµ²šµšµšµ² š¶šµ šµ“šµš¶šµŖšµšµ² šµ·šµšµøšµŖšµ šµŗšµ©šµšµ½Ų šµ“šµ©šµšµ šµæšµšµ šµ¼šµšµ²šµšµøšµ© šµ¼šµ©š¶šµ¹šµšµ-šµ¼šµšµš¶šµ¹šµšµšµ².
Source: Transcribed by hand from Unicode UDHR, articles 1 & 2
1961 ā today, but with limited usage (low adoption rate)
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
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 word-initial vowel carrier, have uppercase and lowercase forms, but characters used to write vowels do not.
āÆ consonantSummary
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.
Four additional pre-nasalised stop sounds are indicated using the diacritic 10D69 (which also doubles as a vowel).
Consonant gemination is common and phonetically distinctive, and is written using the dedicated combining mark 10D6A.
āÆ basicV
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.
The sign for the vowel É is identical to the sign that indicates prenasalisation, and the combining mark 10D69 is used in both cases. When stops that can be prenasalised are followed by the sound É they use 10D4D for the vowel, 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.
The Garay Unicode block also has a combining mark, 10D6D, to indicate nasalisation, however it isn't clear whether this is used.
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.
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.
Long vowel sounds are distinctive.
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 | ||||
![]() |
![]() |
![]() |
![]() |
![]() |
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.
There is no tone in Wolof.
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.
The following table summarises the main vowel to character assigments.
The left-hand column shows word-initial vowels. The initial letter in such standalone vowels has a lowercase and an uppercase form (not shown in the table; see just below). All other vowel letters are unicameral. Word-initial vowels are lengthened in the same way as normal vowels.
10D70 10D50
word-initial | post-consonant | |
---|---|---|
Simple: | ||
For additional details see vowel_mappings.
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 the section basicV, but they are also listed 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 vowel É is usually written using the combining mark, 10D69.
š¶šµ©š¶šµ³šµšµ
However, the same mark is also used to indicate prenasalisation of 4 consonants.
Therefore, to avoid ambiguity, after those consonants (even when not prenasalised) the vowel É is written using 10D4D instead. Prenasalised consonants followed by É are followed by both characters. The following list shows the 4 consonants followed by the sound É, and the corresponding prenasalised consonants followed by the same vowel.
The same applies to e, except that the default is 10D69 10D4D, and after those 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 also applies to the other letters which have a diacritic above their standard form.rsr,14
Finally, q is written in an idiosyncratic way.rsr,14
In older versions of the script the comma-like glyph appeared over the squiggle, rather than over the consonant.
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.
Observation: The Garay block has 10D6D, but it's not clear how this is used. It appears in the second Garay Proposal documentrsr, but there is no information about it other than a code point assignment. It is also not clear why this is named 'consonant' nasalisation, unless it acts perhaps as a final consonant mark.
`,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.
šµšµšµ¶šµ½šµ©šµ¾šµ©šµøšµšµ¼šµ
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
This section maps Wolof vowel sounds to common graphemes in the Garay orthography.
Word-initial forms that are formed by simply adding šµ° before the vowel are shown on the right-hand side of an item. When additional changes are involved, a new line is added below the lowercase entry. Uppercase only affects the vowel-carrier for word-initial standalone positions; that form is not shown in the table, but it is šµ.
Sounds listed as 'infrequent' are allophones, or sounds used for foreign words, etc. Light coloured characters occur infrequently.
šµ°šµ post-consonant šµ
šµ°šµšµ post-consonant šµšµ
post-consonant šµšµ
post-consonant šµšµšµ
šµ°šµšµ post-consonant šµšµ
šµ°šµšµšµ post-consonant šµšµšµ
post-consonant šµšµ after most consonants.
post-consonant šµ©šµ after a consonant that can be prenasalised.
word-initial šµ°šµšµ©šµ
post-consonant šµšµšµ
word-initial šµ°šµšµ©šµšµ
šµ°šµšµ post-consonant šµšµ
šµ°šµšµšµ post-consonant šµšµšµ
šµ°šµšµ post-consonant šµšµ
post-consonant šµšµšµ
post-consonant šµ© after most consonants.
post-consonant šµ after a consonant that can be prenasalised.
word-initial šµ°šµšµ©
post-consonant āšµ©šµ above most consonants.
post-consonant šµšµ after a consonant that can be prenasalised.
word-initial šµ°šµšµ©šµ
šµ°šµ post-consonant šµ
šµ°šµšµ post-consonant šµšµ
šµ°šµ post-consonant šµ
šµ°šµšµ post-consonant šµšµ
The following table summarises the main consonant to character assigments.
The left column is lowercase, and the right uppercase.
Stops | ||
---|---|---|
Fricatives | ||
Nasals | ||
Other |
For additional details see consonant_mappings.
The following lists show the basic consonant letters for Garay, lowercase above and uppercase below.
Combinations of characters have to be used to represent 2 other simple sounds:
Pre-nasalised sounds are marked using the diacritic 10D69, and frequently occur word-initially as well as within a word.
šµ“šµ©šµšµšµ²
šµŗšµ©šµšµ²
šµµšµ©šµšµ²šµšµøšµ
šµ¹šµ©šµšµøšµšµ·
To represent non-native sounds Garay adds one of the following to regular consonant letters.
Examples of non-native sounds.
No special mechanisms are used for syllable-initial consonants, other than for prenasalised consonants (see prenasalisation).
No special mechanisms are used for syllable-final consonants.
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. There is no special mechanism for indicating consonant clusters.
Consonant gemination is common and is phonemically distinctive in Wolof. Gemination is written by adding 10D6A over the geminated consonant.
šµ“šµšµšµ½
šµ“šµšµšµ½šµŖ
When a gemination mark is used over the same letter as 10D69, the gemination mark should be typed and stored last, whether the other diacritic represents prenasalisation or a vowelrsr,4. See fig_gemination.
šµ²šµ©šµæšµ©šµŖšµš¶
Observation: This makes sense in the case of prenasalisation, since the initial combining mark is closely associated with the basic quality of the consonant letter, but it appears slightly unusual when it actually represents a following vowel. Presumably, the order was dictated by the fact that the same combining mark is used for both roles, and a single ordering is preferred.
The letters in the list above are now obsoleted, but separate code points are available in Unicode for digitisation of legacy text.
This section maps Wolof consonant sounds to common graphemes in the Garay orthography.
Uppercase letters are shown on the right.
Sounds listed as 'infrequent' are allophones, or sounds used for foreign words, etc. Light coloured characters occur infrequently.
šµ¢ lc š¶
šµ lc šµ“
šµšµ© lc šµ“šµ©
šµ lc šµ½
šµ lc šµŗ
šµšµ© lc šµŗšµ©
šµ lc šµ±
šµ lc šµµ
šµšµ© lc šµµšµ©
šµ lc šµ³
šµ lc šµ¹
šµšµ© lc šµ¹šµ©
lc šµ»šµ°
šµ lc šµ° before word-initial vowels
šµ uc š¶
lc šµ°šµ·
šµ lc šµ¶
lc šµ¶šµ«
lc šµ¶šµ¬
lc šµ°šµ¶
lc šµ¶šµ©
šµ lc šµ»
šµ£ lc š¶
šµ lc šµ²
šµ” lc š¶
šµ lc šµæ
šµšµ« lc šµ¹šµ«
šµ lc šµ·
šµ lc šµ¾
šµ lc šµø
šµ lc šµ¼
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.
Numeric values are assigned to various Garay letters as shown below.rsr,3
Observation: Need more information about how and when these are used.
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).
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.
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.
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.
[U+202B RIGHT-TO-LEFT EMBEDDING] (RLE),
[U+202A LEFT-TO-RIGHT EMBEDDING] (LRE), and
[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 [U+2067 RIGHT-TO-LEFT ISOLATE] (RLI),
[U+2066 LEFT-TO-RIGHT ISOLATE] (LRI), and
[U+2069 POP DIRECTIONAL ISOLATE] (PDI). The Unicode Standard recommends that these be used instead.
There is also [U+2068 FIRST STRONG ISOLATE] (FSI), used initially to set the base direction according to the first recognised strongly-directional character.
[U+200F RIGHT-TO-LEFT MARK] (RLM) and
[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.
This section brings together information about the following topics: font/writing styles; cursive text; context-based shaping; context-based positioning; letterform slopes, weights, & italics; case & other character transforms.
You can experiment with examples using the Garay character app.
Unlike Arabic, Garay letters are not joined.
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.
Diacritic placement tends to vary, based on the shape of the base consonant to which it is attached. See fig_gpos for an example.
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.
With the exception of the vowel carrier, 10D50 and 10D70, characters used to write vowel sounds are not cased.
Words are separated by spaces.
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.
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.
![]() | šµ°šµšµ³šµšµ¾šµ |
![]() | šµµšµšµ³šµ©šµŖšµ¾ |
Basic phrase and section boundaries in Wolof use a mixture of ASCII and Arabic punctuation.
phrase |
Ų Ų : [U+003A COLON] |
---|---|
sentence | . [U+002E FULL STOP] Ų |
Apparently, both question marks are used.rsr,7
Wolof commonly uses ASCII parentheses to insert parenthetical information into text.
start | end | |
---|---|---|
standard |
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.
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.
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+201D RIGHT DOUBLE QUOTATION MARK] | |
nested | ’ [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.
tbd
Garay uses ā¦ to indicate ellipsis.
Garay uses 10D6F to double the word it follows.
šµ¼šµšµšµ³šµŖšµšµÆ
Lines are generally broken between words.e,5
Garay uses 10D6E at the end of a line to indicate that a word was broken.rsr,7
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.
The principal line-break opportunities are inter-word spaces.
tbd
Wolof uses the 'alphabetic' baseline.
Wolof uses ASCII digits as counters.
Garay books, magazines, etc., are bound on the right-hand side, and pages progress from right to left.
Columns are vertical but run right-to-left across the page.