Hausa

Warsh Kano orthography notes

Updated 22 November, 2024

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

Hausa has a long tradition of writing in the Arabic script, however various styles have been developed. Two major orthographies are Warsh (a north African variant), and Hafs (much closer to the Arabic used in Egypt and the Gulf). Additionally, the Qur'an and other religious materials are written in Arabic, using the standard Arabic spellings, and these spellings often carry over to the many Arabic loan words in Hausa. On top of that, spelling is not standardised, and is often idiosynchratic to a given author.

Here we focus on the Warsh orthography used for Hausa, and with the Kano styling, although references are made from time to time to the Hafs spelling. Comprehensive sources are difficult to find, so this information reflects what information was found.

Note: Due to the difficulty in finding lists of Hausa words written in ajami that are associated with pronunciation information, most of the examples shown here are transcribed from terms in the Latin Boko orthography. It may be possible to find alternative spellings of such examples.

Referencing this document

Richard Ishida, Hausa (Warsh Kano) Orthography Notes, 22-Nov-2024, https://r12a.github.io/scripts/arab/ha

Sample

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

رَایُوَا بَبَّنْ رَبُو نَا | غُنْ مَسَاٻِى دُونْ شِدَیْنَا | تَرْسَشِنْ أیْكِى نَ ٻَرْنَا | فَیْ دَ ٻُویٜ سِڟَیْدَ سُنَّا | شِبِ أللَّهْ بَادَكَنْغَرَا بَا

Source: A verse from Aljiyu Namangi, Imfiraji, Part 3 (Verse 3)

Usage & history

Origins of the Arabic script, 6thC – today.

Phoenician

└ Aramaic

└ Nabataean

└ Arabic

Hausa can be written in the Latin script, but also (less commonly) using the Arabic ajami script. Use of ajami tends to be restricted to Muslim contexts.

There is a good deal of variation in the orthography for Hausa ajami, and no official standardisation. It should be borne in mind that while this page adopts a particular set of characters based on the Warsh variants as most representative of the orthography, and describes alternative characters under the label of 'infrequent', this is not necessarily representative of the orthography used in certain regions or contexts, especially outside the area around northern Nigeria.

For information about the script in general, see the Arabic overview.u

Orthographic development & variants

Hausa has been written in ajami since at least the early 17th century.whl

There is no standard system of using ajami for Hausa, and different writers may use letters with different values.whl

There are or have been a number of variant practices for writing Hausa ajami. There are also some confusable characters. They include the following:

Basic features

The Arabic script is an abjad. This means that in normal use the script represents only consonant and long vowel sounds. However, since Hausa ajami normally shows all the vowel diacritics, it actually functions as an alphabet. See the table to the right for a brief overview of features for Hausa using the Arabic script.

Hausa text runs right-to-left in horizontal lines, but numbers and embedded Latin text are read left-to-right.

Hausa uses two principal types of writing: Hafs (Ḥafṣ) orthography uses characters that look and behave more like Standard Arabic, whereas the Warsh (Warš) orthography changes the shape of some letters, and drops the dots associated with others in certain positions.

Typical visual differences between the Warsh and Hafs orthographies relate to the absence of dots in some positions, and the placement of dots relative to the base. These differences are produced by using different code points.

The Warsh orthography is typically written using a particularly African font style called Kano.

A mandatory ligature is used for combinations of lam + alif.

There is no case distinction. Words are separated by spaces.

❯ consonantSummary

The Warsh orthography for Hausa has 24 basic consonants plus 3 more used to express labialised and palatalised consonants. The usage of the last 3 is not fully standardised. 15 more consonants are available in the extended repertoire.

The diacritic 0651 indicates gemination in vowelled text.

❯ basicV

Hausa ajami is an alphabet where vowel sounds are written using a mixture of combining marks and letters. Unlike Semitic languages such as Arabic that build words on consonant patterns and so normally hide vowel diacritics in the Arabic script, it can be difficult to read Hausa text without the full vowel information, and therefore Hausa retains all vowel diacritics in the text.

The way a given vowel is written depends on its joining behaviour (initial, medial, or final). In some cases a vowel is written using just a diacritic, in others it is via combinations of letters and diacritics. Most of the letters also double as consonants. 7 combining marks are used to write vowels, and 7 letters, only 1 of which is a dedicated vowel letter.

Hausa also has more vowel sounds than Arabic, so some additional conventions are necessary to cover those. Mostly these adaptations follow the North African, magrebi approach.

Standalone vowels are preceded by a glottal stop, and word-initially are always based on a carrier.

Vowel absence is indicated using 0652.

Joining forms

Because the Arabic script is 'cursive' (ie. joined-up) writing, letters tend to have different shapes depending on whether they join with adjacent letters or not (see cursive). In addition, vowels can be represented using different characters, depending on where in a word they appear.

In scripts such as Arabic, several characters have no left-joining form. In what follows we'll use the characters ي and د to illustrate shapes. The former can join on both sides, but the latter can only join on the right.

Left-joining glyphs are commonly called initial; dual-joining are called medial; and right-joining are called final. Glyphs that don't join on either side are called isolated. However, these glyph shapes can be found in various places within a single word.

Word-initial characters usually have initial glyph shapes (eg. 064A ). However, characters that only join to the right will use an isolated glyph shape (eg. 062F ). Furthermore, words beginning with a vowel are always preceded by a vowel carrier, which is normally ا (eg. 0627 06CC or 0627 064E ).

Word-medial characters will typically join on both sides (eg. 064A ) but those that only join to the right will use a final glyph (eg. 062F ). However, if either of those is preceded by another character that only joins to the right, the glyph shapes rendered will be initial (eg. 064A ) and isolated (eg. 062F ), respectively.

Word-final characters will typically use a final glyph shape (eg. 064A and 062F ). However, if the previous character joins only to the right, they will use isolated glyph shapes (eg.064A and 062F ).

In all this contextual glyph shaping the basic shapes used for a character can vary significantly in a script like Arabic. This also includes some characters that only have ijam dots in certain contexts.

Character index

Letters

Show

Basic consonants

ب␣ݑ␣ت␣د␣ط␣ث␣ج␣ک␣ࢼ␣غ␣ع␣ࢻ␣س␣ڟ␣ز␣ش␣ح␣م␣ࢽ␣و␣ر␣ل␣ی␣ۑ␣ݣ␣ࣃ␣ࣄ

Hafs consonants

ك␣ٻ␣ق␣ف␣پ␣ص␣ذ␣ظ␣ه␣ن␣ض␣ؿ

Vowels

أ␣إ␣ا␣و␣ى␣ی

Combining marks

Show

Vowels

َ␣ُ␣ِ␣ْ␣ٰ␣ٕ␣ٜ␣ٔ

Other

ّ

Punctuation

Show
،␣؟␣«␣»␣‹␣›

ASCII

.␣!␣(␣)

Other

Show
‌␣‍␣⁧␣‫␣⁦␣‪␣⁨␣⁩␣‬␣‏␣‎

To be investigated

:␣͏␣؜
Character lists show:

Phonology

These are sounds for the Hausa language.

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

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

Vowel sounds

Plain vowels

i u e o a

Diphthongs

iu ui ai au

Consonant sounds

labial alveolar post-
alveolar
retroflex palatal velar glottal
stop b
ɓ
t d
ɗ
      k ɡ
ɡʷ
kʷʼ
kʲʼ
ʔ
affricate   t͡sʼ t͡ʃ d͡ʒ
       
fricative f
s z ʃ ʒ       h
nasal m n        
approximant w l     j
 
trill/flap   ɾ   ɽ

Tone

Hausa is a tonal language. Each of its five vowels may have low tone, high tone or falling tone.whl

Structure

Hausa has 3 syllable types: CV, CVV, and CVC, where VV can be a long vowel or a diphthong.bc The long vs. short vowel distinction is phonemically important, however when a syllable with a long vowel acquires and final consonant, the vowel is shortened.

Consonant clusters may occur where syllables are side by side, but not within a syllable. Gemination is, however, a distinctive feature.bc

Semivowels ʷ and ʲ may occur after an initial consonant.

Vowels

Vowel summary table

The following table summarises the main vowel to character assignments.

Each table cell shows word-initial, word-medial, and word-final forms from right to left. The glyphs shown are illustrative; alternative shapes may occur (see joining_forms). Click/tap on items to see a list of the components for that cell.

i إِ‍ ◌ِ ◌ِ
ىِٕ‍ ◌ِ‍ى‍ ◌ِ‍ى
u عُ‍ ◌ُ ◌ُ
عُو ◌‍ُو ◌‍ُو
e عٜ‍ ‍◌ٜ‍ ◌ٜ
ىٰٜ‍ ◌ٜ‍ىٰ‍ ◌ٜ‍ىٰ
o عُ‍ ◌ُ ◌ُ
عُو ◌ُ‍و ◌ُ‍واْ
a أَ‍ ◌َ ◌َ
? ◌َ‍ا ◌َ‍ا
ai au
◌َ‍یْ‍◌َ‍یْ ◌َ‍وْ‍◌َ‍وْ
Basic Hausa vowels.

In word-initial position vowels are usually attached to a consonant letter representing a glottal stop. It is shown here because it acts as a vowel carrier (see standalone). Otherwise, unlike orthographies for languages such as Arabic and Urdu, the characters used to represent a vowel are normally the same, regardless of the position within a word. The exception is the word-final , which breaks the regular pattern by adding an alef with sukun.

Observation: Need to check whether initial is written ىِٕ‍ or whether it should be إِى‍. Same for .

Observation: It appears to be very unusual for sounds other than a or i to appear at the start of a word.

Observation: It is very difficult to find information in the sources consulted, but my conclusion is that what would be an initial form of a vowel letter in Standard Arabic is normally written in Hausa by combining the usual vowel diacritic with a carrier, such as أ [U+0623 ARABIC LETTER ALEF WITH HAMZA ABOVE] or ع [U+0639 ARABIC LETTER AIN]. Where i don't have other information, these 'initial' forms are shown using AIN in the table.

Note the use of ى and ی, rather than ي.

Post-consonant vowels

Vowels following consonants are written using a mixture of combining marks and letters. Vowel diacritics are not hidden.

The way a given vowel is written depends on its joining behaviour (initial, medial, or final). In some cases a vowel is written using just a diacritic, in others it is via combinations of letters and diacritics. Most of the letters also double as consonants. 7 combining marks are used to write vowels, and 7 letters, only 1 of which is a dedicated vowel letter.

Combining marks used for vowels

Hausa uses the following combining characters for vowels.

َ␣ُ␣ِ␣ْ␣ٕ␣ٔ␣ٜ␣ٰ

0670 is never used alone, and is one of 2 diacritics used to write .

The diacritics 0654 and 0655 are only used where إ and أ are decomposed, which is rare.

Alef maksura

ى

ى is the only dedicated letter used for writing vowels in Hausa, and it is used in combinations that represent the long vowels and .

It is not used for diphthongs.

Consonant letters used for vowels

Hausa uses the following consonant characters to write long vowels in combination with diacritics.

ا␣و␣ی

In a standard Arabic orthography these characters would be regarded as matres lectionis, but since Hausa shows all vowel diacritics they don't have the same role here. Instead, they form part of a composite that distinguishes one vowel from another (see compositeV).

أ␣إ␣ع

The letters just above are used as vowel carriers (see standalone) and represent the glottal stop. In general, that makes them ordinary consonants. However, given that the first 2 appear only as carriers of vowels in word-initial position, it could perhaps be argued that they are part of a multipart vowel arrangement along with the following diacritic(s).

Diphthongs

Diphthongs ending with -i follow the initial vowel diacritic with یْ. Note that this is not ى (which indicates long vowels). Two dots below are visible in medial position but not at the end of a word, eg. compare:

حَیْرَࢽْ

حَࢽْحَیْ

Diphthongs ending with -u follow the initial vowel diacritic with وْ.

حَوْسَا

Vowel length

Long vowels are indicated using one of 0627, 0648, or 0649 after the vowel diacritic. See fig_vowelgrid.

Long vowel appears to also add اْ in final position, which is the only time it is distinguished from .

Nasalisation

Nasalisation is indicated by a syllable-final -n in the Latin orthography. There is a report that the tanwin diacritics are used for this in the ajami orthography, but this needs to be confirmed.

Multipart vowels

The 5 multipart vowels listed here all indicate long versions of the vowels. The vowel diacritic is followed by a letter (and in 2 cases, additional characters). Diphthongs and glides are not included here, and nor are word-initial clusters.

Click on the letters for examples.

ِى␣ُو␣ٜىٰ␣ُواْ␣َا

Standalone vowels

The syllable structure described in structure requires all syllables to begin with a consonant, so there are no true standalone vowels in Hausa. The closest one gets is a word that begins with one of the following characters representing a glottal stop.

أ␣إ␣ى␣ع

These letters are followed by the relevant vowel characters, as shown in fig_vowelgrid.

أَغَدٜ

إِسْکَا

Observation: Need to check whether is written ىِٕ‍ or whether it should be إِى‍. Same for .

Tones

Although Hausa is a tonal language, the tone values are not written in ajami.

Vowel sounds to characters

This section maps Hausa vowel sounds to common graphemes in the ajami orthography.

The columns run right to left and indicate typical word-initial, word-medial, and word-final usage. The joining forms shown are illustrative; alternative shapes may occur (see joining_forms).

Plain vowels

Per the rules for syllable structure in Hausa, vowels are always preceded by a consonant, and where no consonant is written before a vowel in the Boko orthography that consonant is an unwritten glottal stop.

 
 
word-final
word-medial
word-initial
i
 

0650

ثُوثِ

0650

بِکَا

0625 0650

إِسْکَا

 

0650 0649

جِࢽِى

0650 0649

أَدِّىࢽِى

0649 0650 0655

u
 

064F

تٜىٰکُ

064F

حُطُ

0639 064F

 

064F 0648

حُوتُو

064F 0648

سُوࢽَا

0639 064F 0648

e
 

065C

حَرْشٜ

065C

ࢻٜسْ

0639 065C

 

065C 0649 0670

ࢻُرٜىٰ

065C 0649 0670

تٜىٰکُ

0649 0670 065C

Omniglot shows the following for : ـٰٕ/ىٰٕ

o
 

064F same as u.

064F same as u.

دُکْتَا

0639 064F same as u.

 

064F 0648 0627 652 different from ulppuwa.

زُومُواْ

064F 0648

مُوتَا same as u.

0639 064F 0648 same as u.

a
 

064E

بَبَّ

064E

إِدَࢽْ

0623 064E

أَغَدٜ

 

064E 0627

دَاغَا

064E 0627

مُوتَا

Diphthongs

aj
 

064E 06CC 0652

064E 06CC 0652

سَیْوَا

0623 064E 06CC 0652

أَیْکِى

aw
 

064E 0648 0652

064E 0648 0652

حَوْسَا

Consonants

Consonant summary table

The following table summarises the main consonant to character assigments.

The right-hand column shows additional characters that may be used to write Hausa ajami, including some used for the Hafs orthography, and others used in borrowed words, or text written by speakers who don't make the phonemic distinctions in the table. They are not used for the Warsh orthography.

Stops
ب␣ݑ␣ت␣د␣ط␣ک␣ࢼ␣غ␣ع
ك␣ٻ␣ق
Palatalised/
velarised
ݣ␣ࣃ␣ࣄ
 
Afficates
ث␣ج
 
Fricatives
ࢻ␣س␣ڟ␣ز␣ش␣ح
ف␣پ␣ص␣ذ␣ظ␣ه
Nasals
م␣ࢽ
ن
Other
و␣ر␣ل␣ی␣ۑ
ض␣ؿ

For additional details see consonant_mappings.

There is no official standard for how to write African languages in ajami, and there has been a good deal of variation over the history of the writing.dbs In addition, dialects of Hausa have different phonemic repertoires, which are reflected in their writing. So there is some variation as to which characters are mapped to which sounds, and the sets described here are a synthesis of sources describing modern usage.

The typical orthography is based on Warsh (Warš) forms, which incorporate Maghribi characteristics, and are often written with Kano style glyphs (as here). Some sources describe an alternative Hafs (Ḥafṣ) orthography, used with hand-written adaptations for the newspaper Al-Fijir.

Additional alternative shapes also occur, typically used for borrowed words, or because sounds are not differentiated in some regions. These are preceded by an asterisk in the table. (Warren-Rothlinaww lists a handful of other, less commonly attested shapes, but they are not listed here.)

In some cases the triple dot (known as wagaf) may be written by some below the base and by others above the base, but Unicode is standardising on glyphs that show it above.

Basic set (Warsh orthography)

These characters are a basic set used for the Warsh orthography. See also labpal.

ب␣ݑ␣ت␣د␣ط␣ک␣ࢼ␣غ␣ع␣ث␣ج␣ࢻ␣س␣ڟ␣ز␣ش␣ح␣م␣ࢽ␣و␣ر␣ل␣ی␣ۑ

ب, د, and ک may be used for glottalised sounds as well as normal sounds.

SIL's Alkalami font description@SIL,https://software.sil.org/alkalami/features/ includes a character used for ng which hasn't appeared in other resources. It is represented using 0763.

Labialised & palatalised consonants

ݣ␣ࣃ␣ࣄ

Three consonant sounds in syllable initial position can be labialised ʷ or palatalised ʲ. They depend on an initial base consonant with a 3-dot diacritic, which may or may not be followed by و or ی.

One base character was encoded in Unicode 4.1: ݣ, used for combinations with the sound k. Unicode code points for the other two were encoded in Unicode v13. They are for ɡʷ/ɡʲ and for ƙʷ/ƙʲ. (Take care not to confuse these with ڠ U+06A0 LETTER AIN WITH THREE DOTS ABOVE and ڨ U+06A8 LETTER QAF WITH THREE DOTS ABOVE, neither of which are used for Hausa.)

There is little information available about how these characters are used, and some ambiguity in what there is.

Warren-Rothlinaww says the following about these characters.

The labialized and palatalized velars /ɡʷ/ and /ɡʲ/, /kʷ/ and /kʲ/, and /ƙʷ/ and /ƙʲ/ are usually not written, e.g. کْي ⟨k⁰y⟩ and کْو⟨k⁰w⟩, as one might expect, but کِي ⟨kiy⟩ or کُو ⟨kuw⟩, and even with the following vowel sound intervening (e.g. کَو⟨kaw⟩ for /kwa/). As noted above for other distinctive Hausa sounds, three dots usually smaller than standard nuqaṭ may be added above for labialization and below for palatalization (e.g. ⟨k₃aw⁰taʾ⟩ kyauta).

Rather than provide characters with triple dots above and others with triple dots below, Unicode is standardising on above.

Looking at the samples in the Unicode proposallpp, there seem to be two different forms for each. It isn't clearly indicated (especially since the boko transcription doesn't indicate vowel length), but I find myself wondering whether they reflect the difference between long and short vowels. Here are some examples. Compare the top and bottom items for each bullet.

Universität Wien's document also shows it being used alone, eg. ݣَاشٜىٰ

  See a list of words (in the Boko orthography) using ʷ or using ʲ.

Other consonants

The following are additional characters that may be used to write Hausa ajami, including some used for the Hafs orthography, and others used in borrowed words, or text written by speakers who don't make the phonemic distinctions in the table above.

ك␣ٻ␣ق␣ف␣پ␣ص␣ذ␣ظ␣ه␣ن␣ض␣ؿ

Dot variants

A typical feature of the Warsh orthography is that a character has dots in initial or medial positions, but none in final or isolate. Another is that the dots appear on the other side of the base in some characters from the side they would appear in the Hafs orthography. These differences are represented in Unicode by the use of different characters. They include the following.

The other two characters have a triple-dot addition which is associated with glottalised consonants in the Warsh orthography. (They don't appear to have glyphs in the webfont used.)

Consonant clusters

Consonant clusters are not particularly common, but they are written by adding a sukun over the non-final consonant sounds.

حَࢽْتَا

إِسْکَا

Vowel absence is usually marked (unlike Standard Arabic), including over the YEH or WAW that signal the final part of a diphthong.

حَیْرَࢽْ

Consonant length

ّ␣ْ

Geminated consonants are indicated using 0651.

بَبَّ

أَدِّىࢽِى

Consonant sounds to characters

This section maps Hausa consonant sounds to common graphemes in the ajami orthography.

The right-hand column shows the various joining forms.

b
 

0628

بَبَّ

062806280628

ɓ
 

0751 according to Evans & Warren-Rothlinlpp and SIL@SIL,https://software.sil.org/alkalami/features/, is the Warsh character, and they assign to the Hafs style the character that most sources associate this sound, which is 067B. Bondarevdbs says that it is written as 067E in modern text. One of the 'alternate' shapes used for this sound is 0628.

رَاݑَا

075107510751

t
 

062A

تَتَّبَرَا

غََازٜت

062A062A062A

d
 

062F

دَاحِر

إِدَࢽْ

062F062F

ɗ
 

Typically written with 0637, this is sometimes written using 062F.

طَیَ

حُطُ

063706370637

k
 

06A9

کَمَالَا

بُکَّا

بِرْجِکْ

06A906A906A9

ɡ
 

063A

غَجٜىٰرٜىٰ

کُوغِى

063A063A063A

 

Evans & Warren-Rothlinlpp associate this sound with 08BC for the Warsh variant, as do others, but Warren-Rothlinaww lists what appears to be 06A7 for this sound (although it could be an incorrect attribution, given that the former has a dot over initial/medial forms).

ࢼُوࢼِࢼُوࢼِ

دَࢼِىࢼَا

08BC08BC08BC

 

0763

ݣَاشٜىٰ

076307630763

ɡʷ ɡʲ
 

08C3

08C308C308C3

ƙʷ ƙʲ
 

08C4

تَࣄَسْ

08C408C408C4

ʔ
 

0639

063906390639

t͡ʃ
 

062B

ثُوثِ

أَبَاثَادَا

062B062B062B

d͡ʒ
 

062C

جِࢽِى

بِرْجِکْ

062C062C062C

f ɸ
 

The Warsh orthography uses 08BB for this sound, and the Hafs uses 0641. Sometimes, 067E is used as one of the 'alternative' shapes. Warren-Rothlinaww also lists what appears to be 06A2 for this sound, although it could again be an incorrect attribution, given that 08BB has a dot below initial/medial forms.

ࢻُرٜىٰ

سُࢻَاࢽَا

08BB08BB08BB

s
 

Normally, this would be written using 0633, but 0635 is also used, mainly in Arabic loan words.aww

سِیَاسَا

تَࣄَسْ

063306330633

t͡sʼ
 

069F

ڟُوحُو

دُوڟٜىٰ

069F069F069F

z
 

Normally written using 0632, however there are 2 'alternate' letters, 0630, and 0638.

زُومُواْ

غََازٜت

06320632

ʃ
 

0634

شٜىٰکَرَا

حَرْشٜ

063406340634

ʒ
 

062C (same as d͡ʒ)

جِࢽِى

غَجٜىٰرٜىٰ

062C062C062C

h
 

The usual form is 062D. For Quranic names, 0647 is generally used, but both can sometimes also be used interchangeably, eg. حَوْسَا or هَوْسَا.aww

حَࢽْحَیْ

062D062D062D

m
 

0645

مُوتَا

کَمَالَا

064506450645

n
 

The Warsh form is 08BD and Hafs is 0646. Warren-Rothlinaww however indicates what appears to be 0646 rather than 08BD in Evans & Warren-Rothlinlpp and SIL@SIL,https://software.sil.org/alkalami/features/.

ࢽُوࢽُواْ

حَࢽْتَا

إِدَࢽْ

08BD08BD08BD

w
 

0648

وَتَ

سَیْوَا

06480648

r
 

0631

حَیْرَࢽْ

دَاحِر

06310631

ɽ
 

0631

رَاݑَا

یَرِى

06310631

l
 

0644 in the normal orthography, however an 'alternate' form used sometimes is 0636.

لَرُورَا

کَمَالَا

064406440644

j
 

06CC

یَرِى

سِیَاسَا

بِیُ

06CC06CC06CC

 

Warren-Rothlinaww indicates that this uses 06D1 for the Warsh orthography, rather than the 063F indicated by Evans & Warren-Rothlinlpp and SIL@SIL,https://software.sil.org/alkalami/features/. The IPA notation for this sound is somewhat ambiguous, including ƒ, ʔʲ, and . I settled for the last of these, though not for any convincing reason.

ۑَاۑَا

06D106D106D1

Other features

Formatting characters

The Arabic script uses a large number of Unicode characters that affect the way that other characters are rendered. Many of those have no visible form of their own.

Modern Arabic-script text makes use of a relatively large set of invisible formatting characters, especially in plain text, many of which are used to manage text direction. For more details, see the Arabic overview.

Encoding choices

In the Hausa orthography different sequences of Unicode characters may produce the same visual result. Here we look at those, and make notes on usage.

Hamza & precomposed characters

Unicode support for the various uses of the hamza is complicated.u,384 In general, the Unicode Standard recommends to use 0654 in combination with a base character. However, there are a few exceptions to consider.

Canonically-equivalent alternatives

A number of combinations with the hamza diacritic can be represented as either an atomic character or a decomposed sequence, where the parts are separated in Unicode Normalisation Form D (NFD) and recomposed in Unicode Normalisation Form C (NFC), so both approaches are canonically equivalent. These include the following:

Atomic Decomposed
أ 0627 0654
إ 0627 0655

The single code point per vowel-sign is the form preferred by the Unicode Standard but is rarely used in Hausa text, and the decomposed form is even rarer.

Codepoint sequences

When typing and in storage, combining marks always follow the base character they are associated with.

Special rendering rules

In principle, if more than one combining mark appears on the same side of the base character, Unicode expects applications to render the marks such that those marks closer to the base character in memory appear closer to the base character when rendered. (This is called the inside-out rule.) However, due to the reordering applied by the Unicode normalisation forms, some of the Arabic script diacritics end up in an inappropriate order on display.

For example, if a user types the sequence of characters in fig_amtra, the order of the marks will be changed such that applying the inside-out rule would render the shadda above the vowel (which is incorrect). (In fact, most application renderers have special rules to correct this.)

The Unicode Standard formally addresses this anomaly in the Technical Annex Unicode® Arabic Mark Rendering (AMTRA), with a set of rules for how to render sequences of Arabic characters. The rules generally move shadda, hamza, round dots, etc. so that they are close to the base character.

User inputPost-normalisation output

بُّ

ب

ّ

ُ

بُ͏ّ

ب

ُ

ّ

A sequence of shadda and damma as the user is likely to input it (left), and how it could potentially be arranged after normalisation (right).

In the rare exceptions where the AMTRA rules should not change the rendering, this can be achieved by placing an invisible 034F character between the combining marks. (In fact, this is what was done to simulate the incorrect appearance in fig_amtra, because otherwise the browser rendering engine would have automatically produced the same output as in the first column. Clicking on the example will show the sequence used.)

Numbers, dates, currency, etc

Need to confirm whether Hausa uses the following digit forms.

۰␣۴␣۵␣۶␣۴␣۵␣۶␣۷␣۸␣۹

Observation: Not clear whether Hausa uses ٫ U+066B ARABIC DECIMAL SEPARATOR and ٬ U+066C ARABIC THOUSANDS SEPARATOR.

Text direction

Hausa ajami 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 مبدينة
In this example of Arabic language text Arabic 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' (ie. the surrounding directional context) is set to right-to-left (RTL).

Characters are all stored in the order in which they are spoken (and typed). This so-called 'logical' order is then rendered as bidirectional flows by the application at run time, as the text is displayed or printed. The relative placement of characters within a single directional flow is based on strong directional properties (RTL or LTR) assigned to each Unicode character by the Unicode Standard. There exist, however a set of neutral direction property values, mostly for punctuation, where the placement of characters depends on the base direction.

Show default bidi_class properties for characters in this orthography.

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

في XHMTL 1.0 يتم تحقيق ذلك بإضافة العنصر المضمن bdo.
More Arabic language text, where this time the exact same sequence of characters with the base direction set to RTL (top), and with no base direction set on this LTR page (bottom). The arrows show how items are relocated.

In some circumstances the Unicode Bidirectional Algorithm requires additional assistance to correctly render the directionality of bidirectional text. For such cases the Unicode Standard provides invisible formatting characters for use in plain text. See directioncontrols.

In HTML the base direction and higher level controls can be set using the dir or bdi attributes. CSS should not be used to control direction. Unicode formatting codes should also not be used where markup is available.

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 a right-to-left page, and then use the dir attribute or bdi tag for ranges within the page, but only when you need to change the base direction. Also, use markup to manage direction, and do not use CSS styling.

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

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.

202B (RLE), 202A (LRE), and 202C (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 2067 (RLI), 2066 (LRI), and 2066 (PDI). The Unicode Standard recommends that these be used instead.

There is also 2068 (FSI), used initially to set the base direction according to the first recognised strongly-directional character.

061C (ALM) is used to produce correct sequencing of numeric data. Follow the link and see expressions for details.

200F (RLM) and 200E (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

You can experiment with examples using the Hausa ajami character app.

See the Arabic overview for more details.

Writing styles

The kano writing style is a common way of writing Hausa, especially in Northern Nigeria, in the ajami script, and like other East African writing it is based on Warsh (Warš) forms, which incorporate Maghribi characteristics. Text written in the Kano style will include glyphs for a number of African characters that may not be available in the average naskh font.

رَایُوَا بَبَّنْ رَبُو نَا | غُنْ مَسَاٻِى دُونْ شِدَیْنَا | تَرْسَشِنْ أیْكِى نَ ٻَرْنَا | فَیْ دَ ٻُویٜ سِڟَیْدَ سُنَّا | شِبِ أللَّهْ بَادَكَنْغَرَا بَا
Hausa may be written in the Kano style.
رَایُوَا بَبَّنْ رَبُو نَا | غُنْ مَسَاٻِى دُونْ شِدَیْنَا | تَرْسَشِنْ أیْكِى نَ ٻَرْنَا | فَیْ دَ ٻُویٜ سِڟَیْدَ سُنَّا | شِبِ أللَّهْ بَادَكَنْغَرَا بَا
The same text, written in a standard naskh writing style.

Another orthography, that looks much closer to naskh, is used with hand-written adaptations for the newspaper Al-Fijir, and is based on the Hafs orthography, but when writing in that orthography you need to use different code points from those used for the Kano style.

Typographic units

Word boundaries

Words are separated by spaces.

Graphemes

tbd

Punctuation & inline features

Phrase & section boundaries

،␣.␣؟␣!

Hausa uses a mixture of ASCII and Arabic punctuation.

phrase

،

sentence

.

؟

!

Bracketed text

(␣)

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

  start end
standard

(

)

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 more common ones.

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

Quotations & citations

See type samples.

”␣“␣’␣‘␣«␣»␣‹␣›

The following quotation marks can be found in Hausa ajami texts. When quoted text appears within quoted text different characters are used. (Of course, depending on ease of input, quotations may also be surrounded by ASCII double and single quote marks.).

  start end
primary « »
nested

Because they are mirrored, when using the guillemets, LEFT should be read as if it said START, and RIGHT as END.

  start end
primary

nested

Unlike the guillemets, these quote marks are not mirrored during display. As a result, LEFT means use on the left, and RIGHT means use on the right.

Line & paragraph layout

Line breaking & hyphenation

Lines are normally broken at word boundaries.

They are not broken at the small gaps that appear where a character doesn't join on the left.

Line-edge rules

As in almost all writing systems, certain punctuation characters should not appear at the end or the start of a line. The Unicode line-break properties help applications decide whether a character should appear at the start or end of a line.

Show default line-breaking properties for characters in this orthography.

The following list gives examples of typical behaviours for characters affected by these rules. Context may affect the behaviour of some of these and other characters.

  • « “ ‘ (   should not be the last character on a line
  • » ” ’ ) . ، ؛ ؟ !   should not begin a new line

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 upwards.

latin-line-breaks shows how two Latin words are apparently reordered in the flow of text to accommodate this rule. 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.

In this Arabic language 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.

Baselines, line height, etc.

tbd

Hausa ajami uses the so-called 'alphabetic' baseline, which is the same as for Latin and many other scripts.

Page & book layout

Online resources

References