# ISO/IEC 8859-6

ISO/IEC 8859-6:1999, Information technology — 8-bit single-byte coded graphic character sets — Part 6: Latin/Arabic alphabet, is part of the ISO/IEC 8859 series of ASCII-based standard character encodings, first edition published in 1987. It is informally referred to as Latin/Arabic. It was designed to cover Arabic. Only nominal letters are encoded, no preshaped forms of the letters, so shaping processing is required for display. It does not include the extra letters needed to write most Arabic-script languages other than Arabic itself (such as Persian, Urdu, etc.).
ISO-8859-6 is the IANA preferred charset name for this standard when supplemented with the C0 and C1 control codes from ISO/IEC 6429. The text is in logical order, so BiDi processing is required for display. Nominally ISO-8859-6 (code page 28596) is for "visual order", and ISO-8859-6-I (code page 38596) is for logical order. But in practice, and required for HTML and XML documents, ISO-8859-6 also stands for logical order text. There is also ISO-8859-6-E which supposedly requires directionality to be explicitly specified with special control characters; this latter variant is in practice unused. IBM has assigned code page/CCSID 1089 to ISO 8859-6. It is an emulation for their AIX operating system.
ISO-8859-6 was used as the reference standard for encoding the Arabic script in Unicode but is now technologically obsolete. Unicode is preferred in modern applications, especially on the Internet; meaning the dominant UTF-8 encoding for web pages (see also Arabic script in Unicode, for complete coverage, unlike for e.g. ISO-8859-6 or Windows 1256 that do not cover extras). Less than 0.0002% of all web pages use ISO-8859-6, and it is not even the third-most popular encoding option for Arabic on the web.

## History

ASMO 708 was devised by the now defunct Arab Standardization and Metrology Organization in 1986 to be the 8-bit standard to be used in Arabic-speaking countries. The design of this character set was inspired by the previous 7-bit standard — ASMO 449 — but it is not simply the 7-bit character set moved to the upper part; there are some differences.
ASMO 708 is a bidirectional character set. The lower part of the character set differs from standard ISO 646 in the digits and in some punctuation. Depending on the context (whether the numbers are within Latin script or Arabic script), the digits are rendered either as Latin digits or Arabic digits. Also, depending on the context, symmetrical punctuation marks are reversed, i.e., whenever there is an opening punctuation mark, the shape is rendered differently according to the direction of the script.
The upper part of the character set has only the Arabic letters, Arabic punctuation that is different from Latin punctuation, plus few other characters.
ASMO 708 was designed in close cooperation with ECMA, which adopted it as its own ECMA-114 standard in 1986. It was also approved as an ISO standard as ISO 8859-6. It was also registered in the International Register of Coded Character Sets as IR 127 in 1986.

## Relationship with other character sets

Some other character sets are related to ASMO 708:
* ASMO 708/French 1 adds French lower case characters;
* French 1/ASMO 708 adds French lower case characters in their ISO 8859-1 code points and dislocates the Arabic ones;
* ISO/IR 167 adds French and German characters;
* Microsoft's code page 708, for MS-DOS, adds French characters in their typical code points from code page 437 and adds box-drawing characters;
* Both Microsoft's code page 710 (Transparent Arabic) and Microsoft's code page 720 (Transparent ASMO), for MS-DOS, add French characters in their typical code points from code page 437 but dislocates the Arabic characters to allow the box-drawing characters from code page 437 to be in their original code points;
* Microsoft's Windows 1256 adds French lower case characters in their Windows 1252 code points and dislocates the Arabic ones;

## Code chart

ISO/IEC 8859-6 :
| | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
| 0x | | | | | | | | | | | | | | | | |
| 1x | | | | | | | | | | | | | | | | |
| 2x | SP | ! | " | # | $ | %/٪ | & | ' | ( | ) | */٭ | + | , | - | . | / |
| 3x | 0/٠ | 1/١ | 2/٢ | 3/٣ | 4/٤ | 5/٥ | 6/٦ | 7/٧ | 8/٨ | 9/٩ | : | ; | < | = | > | ? |
| 4x | @ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
| 5x | P | Q | R | S | T | U | V | W | X | Y | Z | [ | \ | ] | ^ | _ |
| 6x | ` | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o |
| 7x | p | q | r | s | t | u | v | w | x | y | z | { | | | } | ~ | |
| 8x | | | | | | | | | | | | | | | | |
| 9x | | | | | | | | | | | | | | | | |
| Ax | NBSP | | | | ¤ | | | | | | | | ، | SHY | | |
| Bx | | | | | | | | | | | | ؛ | | | | ؟ |
| Cx | | ء | آ | أ | ؤ | إ | ئ | ا | ب | ة | ت | ث | ج | ح | خ | د |
| Dx | ذ | ر | ز | س | ش | ص | ض | ط | ظ | ع | غ | | | | | |
| Ex | ـ | ف | ق | ك | ل | م | ن | ه | و | ى | ي | ◌ً | ◌ٌ | ◌ٍ | ◌َ | ◌ُ |
| Fx | ◌ِ | ◌ّ | ◌ْ | | | | | | | | | | | | | |
Code values 0xEB–0xF2 are assigned to combining characters.