Arabic script in Unicode
Many scripts in Unicode, such as Arabic, have special orthographic rules that require certain combinations of letterforms to be combined into special ligature forms. In English, the common ampersand (&) developed from a ligature in which the handwritten Latin letters e and t (spelling et, Latin for and) were combined. The rules governing ligature formation in Arabic can be quite complex, requiring special script-shaping technologies such as the Arabic Calligraphic Engine by Thomas Milo's DecoType.
As of Unicode 16.0, the Arabic script is contained in the following blocks:
- Arabic (0600–06FF, 256 characters)
- Arabic Supplement (0750–077F, 48 characters)
- Arabic Extended-B (0870–089F, 42 characters)
- Arabic Extended-A (08A0–08FF, 96 characters)
- Arabic Presentation Forms-A (FB50–FDFF, 631 characters)
- Arabic Presentation Forms-B (FE70–FEFF, 141 characters)
- Rumi Numeral Symbols (10E60–10E7F, 31 characters)
- Arabic Extended-C (10EC0-10EFF, 7 characters)
- Indic Siyaq Numbers (1EC70–1ECBF, 68 characters)
- Ottoman Siyaq Numbers (1ED00–1ED4F, 61 characters)
- Arabic Mathematical Alphabetic Symbols (1EE00–1EEFF, 143 characters)
The basic Arabic range encodes the standard letters and diacritics, but does not encode contextual forms (U+0621–U+0652 being directly based on ISO 8859-6); and also includes the most common diacritics and Arabic-Indic digits. The Arabic Supplement range encodes letter variants mostly used for writing African (non-Arabic) languages. The Arabic Extended-B and Arabic Extended-A ranges encode additional Qur'anic annotations and letter variants used for various non-Arabic languages. The Arabic Presentation Forms-A range encodes contextual forms and ligatures of letter variants needed for Persian, Urdu, Sindhi and Central Asian languages. The Arabic Presentation Forms-B range encodes spacing forms of Arabic diacritics, and more contextual letter forms. The presentation forms are present only for compatibility with older standards, and are not currently needed for coding text. The Arabic Mathematical Alphabetical Symbols block encodes characters used in Arabic mathematical expressions. The Indic Siyaq Numbers block contains a specialized subset of Arabic script that was used for accounting in India under the Mughal Empire by the 17th century through the middle of the 20th century. The Ottoman Siyaq Numbers block contains a specialized subset of Arabic script, also known as Siyakat numbers, used for accounting in Ottoman Turkish documents.
Contextual forms
Below is a demonstration for the basic alphabet used in Modern Standard Arabic illustrating how Arabic letters are expected to appear in different contexts. Codepoints listed as contextual forms should "should not be used in general interchange". Unicode has other methods of encoding the difference if necessary, such as Zero-width joiner.
Punctuation and ornaments
Only the Arabic question mark ⟨؟⟩ and the Arabic comma ⟨،⟩ are used in regular Arabic script typing and the comma is often substituted for the Latin script comma ⟨,⟩ which is also used as the decimal separator when the Eastern Arabic numerals are used (e.g. ⟨100.6⟩ compared to ⟨١٠٠,٦⟩).
- U+060C ، ARABIC COMMA
- U+060D ؍ ARABIC DATE SEPARATOR
- U+060E ؎ ARABIC POETIC VERSE SIGN
- U+060F ؏ ARABIC SIGN MISRA
- U+061B ؛ ARABIC SEMICOLON
- U+061E ؞ ARABIC TRIPLE DOT PUNCTUATION MARK
- U+061F ؟ ARABIC QUESTION MARK
- U+066D ٭ARABIC FIVE POINTED STAR
- U+06D4 ۔ ARABIC FULL STOP
- U+06DD ARABIC END OF AYAH
- U+06DE ۞ ARABIC START OF RUB EL HIZB
- U+06E9 ۩ ARABIC PLACE OF SAJDAH
- U+06FD ۽ ARABIC SIGN SINDHI AMPERSAND
- U+FD3E ﴾ Arabic ornate left parenthesis
- U+FD3F ﴿ Arabic ornate right parenthesis
Word ligatures
Arabic Presentation Forms-A has a few characters defined as "word ligatures" for terms frequently used in formulaic expressions in Arabic. They are rarely used out of professional liturgical typing, also the Rial grapheme is normally written fully, not by the ligature.
- U+FDF0 ﷰ ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM (صلى, stylized as صلے)
- U+FDF1 ﷱ ARABIC LIGATURE QALA USED AS KORANIC STOP SIGN ISOLATED FORM (قلى, stylized as قلے)
- U+FDF2 ﷲ ARABIC LIGATURE ALLAH ISOLATED FORM (اللّٰه)
- U+FDF3 ﷳ ARABIC LIGATURE AKBAR ISOLATED FORM (اكبر), as in the phrase الله اكبر Allāhu akbar
- U+FDF4 ﷴ ARABIC LIGATURE MOHAMMAD ISOLATED FORM (محمد)
- U+FDF5 ﷵ ARABIC LIGATURE SALAM ISOLATED FORM (صلعم, the abbreviation for صلى الله عليه وسلم "peace be upon him")
- U+FDF6 ﷶ ARABIC LIGATURE RASOUL ISOLATED FORM (رسول)
- U+FDF7 ﷷ ARABIC LIGATURE ALAYHE ISOLATED FORM (عليه)
- U+FDF8 ﷸ ARABIC LIGATURE WASALLAM ISOLATED FORM (وسلم)
- U+FDF9 ﷹ ARABIC LIGATURE SALLA ISOLATED FORM (صلى)
- U+FDFA ﷺ ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM (صلى الله عليه وسلم "peace be upon him")
- U+FDFB ﷻ ARABIC LIGATURE JALLAJALALOUHOU (جل جلاله)
- U+FDFC ﷼ RIAL SIGN (ريال)
- U+FDFD ﷽ ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM (بسم الله الرحمن الرحيم bism-i llāh-i r-raḥmān-i r-raḥīm)
Code blocks
Arabic
Character table
Compact table
Arabic Supplement
Arabic Extended-B
Arabic Extended-A
Arabic Presentation Forms A
They are mostly ligatures which can be created from the previous charts' characters, with the exception of the bracket-like graphemes ﴾ ﴿ and some of them are ligatures of common liturgical phrases.
Arabic Presentation Forms B
These can all be created from the basic chart's characters.
Rumi Numeral Symbols
Arabic Extended-C
Indic Siyaq Numbers
Ottoman Siyaq Numbers
Arabic Mathematical Alphabetic Symbols
References
External links
- Oibane. "Unicode problems". Arabic on Linux. Archived from the original on 2008-02-03.
- Arabunic. "Arabunic : unicode <-> glyphs, 2 way converter". Java applet that convert glyphs to unicode (and unicode to glyphs). It accounts for ligatures, lam-alif, diacritics, etc.
- Scheherazade or Scheherazade New, an extended Arabic script font designed by SIL International, distributed under the SIL Open Font License (OFL)
- Harmattan, an extended Arabic script font designed by SIL International for West Africa, distributed under the SIL Open Font License (OFL)