Code page 806
| Company type | Character encoding standard |
|---|---|
| Industry | Information technology, computing |
| Headquarters | India |
| Products | Character encoding for Indic scripts |
Indian Standard Code for Information Interchange (ISCII) is a character encoding system designed to represent multiple Indian scripts. It supports the primary Indic scripts along with a Roman transliteration, covering Bengali–Assamese, Devanagari, Gujarati, Gurmukhi, Kannada, Malayalam, Odia, Tamil, and Telugu. While ISCII does not directly encode Persian-derived scripts, it incorporates control codes to switch among Kashmiri, Sindhi, Urdu, Persian, Pashto, and Arabic; these were subsequently encoded separately in the PASCII specification.
ISCII experienced limited use beyond specific governmental agencies. An adaptation excluding the switching feature was implemented on classic Mac OS as the Mac OS Devanagari encoding. Nevertheless, ISCII has mostly been replaced by Unicode, which assigns distinct blocks for each Indic script while retaining much of ISCII’s original structure.
Background
Since Indic scripts derived from Brahmi exhibit common structural traits, ISCII maps characters with identical phonetic values to the same code points across different scripts. For instance, the ISCII byte pair 0xB3 0xDB corresponds to [ki], which appears as കി in Malayalam, कि in Devanagari, ਕਿ in Gurmukhi, and கி in Tamil. The selection of a particular writing system can be managed through markup in rich text or by using the dedicated control code in plain text.
One of the primary goals behind ISCII’s unified encoding was to enable transliteration between various scripts; however, practical limitations have constrained this functionality.
ISCII uses an 8-bit format where the first 128 code points match standard ASCII characters, and the upper 128 are reserved for ISCII-specific symbols. A special control code indicates that the subsequent byte either changes the active script until another switch occurs or modifies display attributes such as bold or italic. ISCII does not define a default script.
Codepage layout
The table below outlines the character repertoire for Devanagari. Equivalent code sets exist for Assamese, Bengali, Gujarati, Gurmukhi, Kannada, Malayalam, Oriya, Tamil, and Telugu, each substituting Devanagari glyphs with their corresponding forms from the Brahmic family of scripts. Every character entry lists its decimal value alongside its Unicode counterpart.
Special code points
- INV character—code point D9 (217)
- The INV (invisible consonant) symbol functions as a pseudo-consonant enabling the display of combining marks independently, for example, क + ् + INV results in क्. Its Unicode counterpart is (). In ISCII, the halant may be repeated or paired with nukta to imitate the behavior of or ZWJ in Unicode. Apple maps the ISCII INV to Unicode to ensure consistent round-trip format conversion.
- ATR character—code point EF (239)
- This character, used alongside a byte code, toggles font styles such as bold, italics, and underline, or switches between ISCII/PASCII scripts like Bengali. Since font styling falls outside Unicode's scope, no direct Unicode equivalent exists.
| ATR + byte | Mnemonic | Formatting style |
|---|---|---|
| 0x30 | BLD | Bold |
| 0x31 | ITA | Italics |
| 0x32 | UL | Underlining |
| 0x33 | EXP | Expanded |
| 0x34 | HLT | Highlight |
| 0x35 | OTL | Outline |
| 0x36 | SHD | Shadow |
| 0x37 | TOP | Upper half of character (used with LOW for double-height) |
| 0x38 | LOW | Lower half of character (used with TOP for double-height) |
| 0x39 | DBL | Full row double-width and double-height |
| ATR + byte | Mnemonic | ISCII script |
|---|---|---|
| 0x40 | DEF | Default script (resets after line break) |
| 0x41 | RMN | Romanised transliteration |
| 0x42 | DEV | Devanagari |
| 0x43 | BNG | Bengali script |
| 0x44 | TML | Tamil script |
| 0x45 | TLG | Telugu script |
| 0x46 | ASM | Assamese script |
| 0x47 | ORI | Odia script |
| 0x48 | KND | Kannada script |
| 0x49 | MLM | Malayalam script |
| 0x4A | GJR | Gujarati script |
| 0x4B | PNJ | Gurmukhī |
| ATR + byte | Mnemonic | PASCII locale |
|---|---|---|
| 0x71 | ARB | Arabic alphabet |
| 0x72 | PES | Persian alphabet |
| 0x73 | URD | Urdu alphabet |
| 0x74 | SND | Sindhi alphabet |
| 0x75 | KSM | Kashmiri alphabet |
| 0x76 | PST | Pashto alphabet |
- EXT character—code point F0 (240)
- Indicates Vedic accent marks through a subsequent byte code. Since Vedic accents have dedicated Unicode points, there is no exact Unicode equivalent.
- Halant character ्—code point E8 (232)
- Eliminates the inherent vowel from consonants and facilitates conjunct formation, such as क + ् + त producing क्त. Doubling the halant or combining it with nukta generates alternative conjunct forms.
| ISCII | Code | Unicode | Code |
|---|---|---|---|
| single halant | E8 |
halant | 094D
|
| halant + halant | E8 E8 |
halant + zero-width non-joiner | 094D 200C
|
| halant + nukta | E8 E9 |
halant + zero-width joiner | 094D 200D
|
- Nukta character ़—code point E9 (233)
- Applies diacritical marks to base ISCII characters to represent less common phonemes, for example, क + ़ resulting in क़. These combinations correspond to precomposed characters in Unicode.
| ISCII code | Base character | Character with nukta | Unicode code |
|---|---|---|---|
| A1 (161) | ँ | ॐ | 0950 |
| A6 (166) | इ | ऌ | 090C |
| A7 (167) | ई | ॡ | 0961 |
| AA (176) | ऋ | ॠ | 0960 |
| B3 (179) | क | क़ | 0958 |
| B4 (180) | ख | ख़ | 0959 |
| B5 (181) | ग | ग़ | 095A |
| ISCII code | Base character | Character with nukta | Unicode code |
|---|
Code pages utilized for ISCII translation
The following code pages facilitate the conversion process between Unicode (UTF-8) and ISCII/ANSI encoding:
- 57002: Devanagari script (used for Hindi, Marathi, Sanskrit, Konkani)
- 57003: Bengali
- 57004: Tamil
- 57005: Telugu
- 57006: Assamese
- 57007: Odia
- 57008: Kannada
- 57009: Malayalam
- 57010: Gujarati
- 57011: Punjabi (Gurmukhi)
Character codes for all supported languages
| Hex | Official Designation |
ISO 15919 | Devanagari | Bengali | Assamese | Gurmukhi | Gujarati | Oriya | Tamil | Telugu | Kannada | Malayalam | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| A0 | Sign OM | Ōm̐ | ॐ | 0950 | ૐ | 0AD0 | ||||||||||||||||
| A1 | Vowel modifier CHANDRABINDU | m̐ | ँ | 0901 | ঁ | 0981 !ঁ !0981 | ਁ | 0A01 | ઁ | 0A81 | ଁ | 0B01 | ఁ | 0C01 | ||||||||
| A2 | Vowel modifier ANUSWARAM | ṁ | ं | 0902 | ং | 0982 !ং !0982 | ਂ | 0A02 | ં | 0A82 | ଂ | 0B02 | ஂ | 0B82 | ం | 0C02 | ಂ | 0C82 | ം | 0D02 | ||
| A3 | Vowel modifier VISARGAM | ḥ | ः | 0903 | ঃ | 0983 !ঃ !0983 | ਃ | 0A03 | ઃ | 0A83 | ଃ | 0B03 | ஃ | 0B83 | ః | 0C03 | ಃ | 0C83 | ഃ | 0D03 | ||
| A4-A7* (Vowels) span from a (अ) through ī (ई), incorporating Sanskrit-exclusive vowels such as LI and LII across all scripts. | ||||||||||||||||||||||
| A8-AA* (Vowels) cover u (उ) to ṝ (ॠ), with matching signs in regional writing systems. | ||||||||||||||||||||||
| AB-AE (Vowels) represent e (ऎ) to ô (ऑ), showing differences in Southern scripts. | ||||||||||||||||||||||
| AF-B1 encompass vowels o (ऒ) to au (औ) across the various scripts. | ||||||||||||||||||||||
| B2-B7 contain consonants KA through NGA, including Urdu-specific forms like QA and KHHA. | ||||||||||||||||||||||
| B8-BA* list consonants CHA to JA, featuring the Urdu variant ZA. | ||||||||||||||||||||||
| BB-CC include JHA, JNA, and consonants from Hard TA to MA. | ||||||||||||||||||||||
| CD-CE represent YA and JYA consonants. | ||||||||||||||||||||||
| CF-D3 detail RA variants and LA variants, including the Tamil-specific ZHA. | ||||||||||||||||||||||
| D4-D9 cover consonants VA through HA. | ||||||||||||||||||||||
| DA-DF* include vowel signs AA to RII, also incorporating Sanskrit-specialized forms. | ||||||||||||||||||||||
| E0-E7 represent vowel signs E to AWE used in Southern scripts. | ||||||||||||||||||||||
| E8-E9 contain the vowel suppression sign (Halant) and the diacritic mark (Nuktam). | ||||||||||||||||||||||
| EA-EA* include punctuation marks such as full stop (Viram) and the vowel stress marker (Avagraha). | ||||||||||||||||||||||
| F1-FA correspond to digits zero through nine across all scripts. | ||||||||||||||||||||||