Indian Script Code for Information Interchange

Indian Script Code for Information Interchange (ISCII) is a coding scheme for representing various writing systems of India. It encodes the main Indic scripts and a Roman transliteration. The supported scripts are: Assamese, Bengal (Bangla), Devanagari, Gujarati, Gurmukhi, Kannada, Malayalam, Oriya, Tamil, and Telugu. ISCII does not encode the writing systems of India based on Persian, but its writing system switching codes nonetheless provide for Kashmiri, Sindhi, Urdu, Persian, Pashto and Arabic. The Persian-based writing systems were subsequently encoded in the PASCII encoding.

ISCII has not been widely used outside certain government institutions, although a variant without the ATR mechanism was used on classic Mac OS,[1] and it has now been rendered largely obsolete by Unicode. Unicode uses a separate block for each Indic writing system, and largely preserves the ISCII layout within each block.

Background

The Brahmi-derived writing systems have similar structure. So ISCII encodes letters with the same phonetic value at the same code point, overlaying the various scripts. For example, the ISCII codes 0xB3 0xDB represent [ki]. This will be rendered as കി in Malayalam, कि in Devanagari, as ਕਿ in Gurmukhi, and as கி in Tamil. The writing system can be selected in rich text by markup or in plain text by means of the ATR code described below.

One motivation for the use of a single encoding is the idea that it will allow easy transliteration from one writing system to another. However, there are enough incompatibilities that this is not really a practical idea.

ISCII is an 8-bit encoding. The lower 128 code points are plain ASCII, the upper 128 code points are ISCII-specific. In addition to the code points representing characters, ISCII makes use of a code point with mnemonic ATR that indicates that the following byte contains one of two kinds of information. One set of values changes the writing system until the next writing system indicator or end-of-line. Another set of values select display modes such as bold and italic. ISCII does not provide a means of indicating the default writing system.

Codepage layout

The following table shows the character set for Devanagari. The code sets for Assamese, Bengali, Gujarati, Gurmukhi, Kannada, Malayalam, Oriya, Tamil, and Telugu are similar, with each Devanagari form replaced by the equivalent form in each writing system. Each character is shown with its decimal code and its Unicode equivalent.

ISCII Devanagari
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
0_
0
NUL
0000
SOH
0001
STX
0002
ETX
0003
EOT
0004
ENQ
0005
ACK
0006
BEL
0007
BS
0008
HT
0009
LF
000A
VT
000B
FF
000C
CR
000D
SO
000E
SI
000F
1_
16
DLE
0010
DC1
0011
DC2
0012
DC3
0013
DC4
0014
NAK
0015
SYN
0016
ETB
0017
CAN
0018
EM
0019
SUB
001A
ESC
001B
FS
001C
GS
001D
RS
001E
US
001F
2_
32
SP
0020
!
0021
"
0022
#
0023
$
0024
%
0025
&
0026
'
0027
(
0028
)
0029
*
002A
+
002B
,
002C
-
002D
.
002E
/
002F
3_
48
0
0030
1
0031
2
0032
3
0033
4
0034
5
0035
6
0036
7
0037
8
0038
9
0039
:
003A
;
003B
<
003C
=
003D
>
003E
?
003F
4_
64
@
0040
A
0041
B
0042
C
0043
D
0044
E
0045
F
0046
G
0047
H
0048
I
0049
J
004A
K
004B
L
004C
M
004D
N
004E
O
004F
5_
80
P
0050
Q
0051
R
0052
S
0053
T
0054
U
0055
V
0056
W
0057
X
0058
Y
0059
Z
005A
[
005B
\
005C
]
005D
^
005E
_
005F
6_
96
`
0060
a
0061
b
0062
c
0063
d
0064
e
0065
f
0066
g
0067
h
0068
i
0069
j
006A
k
006B
l
006C
m
006D
n
006E
o
006F
7_
112
p
0070
q
0071
r
0072
s
0073
t
0074
u
0075
v
0076
w
0077
x
0078
y
0079
z
007A
{
007B
|
007C
}
007D
~
007E
DEL
007F
8_
128
9_
144
A_
160

0901

0902

0903

0905

0906

0907

0908

0909

090A

090B

090E

090F

0910

090D

0912
B_
176

0913

0914

0911

0915

0916

0917

0918

0919

091A

091B

091C

091D

091E

091F

0920

0921
C_
192

0922

0923

0924

0925

0926

0927

0928

0929

092A

092B

092C

092D

092E

092F
य़
095F

0930
D_
208

0931

0932

0933

0934

0935

0936

0937

0938

0939
INV
 

093E
ि
093F

0940

0941

0942

0943
E_
224

0946

0947

0948

0945

094A

094B

094C

0949

094D

093C

0964
ATR
 
F_
240
EXT
 

0966

0967

0968

0969

096A

096B

096C

096D

096E

096F

  Letter  Number  Punctuation  Symbol  Other  Undefined

Special code points

INV character—code point D9 (217)
The INV (invisible consonant) character is used as a pseudo-consonant to display combining elements in isolation. For example, क (ka) + ् (halant) + INV = क्‍ (half ka). The Unicode equivalent is U+200D ZERO WIDTH JOINER (ZWJ). However, as noted below, the ISCII halant character can be doubled or combined with the ISCII nukta to achieve effects created by ZWNJ or ZWJ in Unicode. For this reason, Apple maps the ISCII INV character to the Unicode left-to-right mark, so as to guarantee round-tripping.[1]
ATR character—code point EF (239)
The ATR (attribute) character followed by a byte code is used to switch to a different font attribute (such as bold) or to a different ISCII or PASCII language (such as Bengali), up to the next ATR sequence or the end of the line. This has no direct Unicode equivalent, as font attributes are not part of Unicode, and each script has a distinct set of code points.
Presentational attributes
ATR + byteMnemonicFormatting option
0x30BLDBold
0x31ITAItalics
0x32ULUnderlining
0x33EXPExpanded
0x34HLTHighlight
0x35OTLOutline
0x36SHDShadow
0x37TOPTop half of character (used with LOW to create double-height characters)
0x38LOWBottom half of character (used with TOP to create double-height characters)
0x39DBLEntire row double-width and double-height
Shifts to ISCII scripts
ATR + byteMnemonicISCII script
0x40DEFDefault script (i.e. the script which will be switched back to after a line break)
0x41RMNRomanised transliteration
0x42DEVDevanagari
0x43BNGBengali script
0x44TMLTamil script
0x45TLGTelugu script
0x46ASMAssamese script
0x47ORIOdia script
0x48KNDKannada script
0x49MLMMalayalam script
0x4AGJRGujarati script
0x4BPNJGurmukhī
Shifts to PASCII
ATR + byteMnemonicPASCII locale
0x71ARBArabic alphabet
0x72PESPersian alphabet
0x73URDUrdu alphabet
0x74SNDSindhi alphabet
0x75KSMKashmiri alphabet
0x76PSTPashto alphabet
EXT character—code point F0 (240)
The EXT (extensions for Vedic) character followed by a byte code indicates a Vedic accent. This has no direct Unicode equivalent, as Vedic accents are assigned to distinct code points.
Halant character ्—code point E8 (232)
The halant character removes the implicit vowel from a consonant and is used between consonants to represent conjunct consonants. For example, क (ka) + ् (halant) + त (ta) = क्त (kta). The sequence ् (halant) + ् (halant) displays a conjunct with an explicit halant, for example क (ka) + ् (halant) + ् (halant) + त (ta) = क्‌त. The sequence ् (halant) + ़ (nukta) displays a conjunct with half consonants, if available, for example क (ka) + ् (halant) + ़ (nukta) + त (ta) = क्‍त.
Correspondences between ISCII and Unicode halent/virama behaviour
ISCIIUnicode
single halantE8halant094D
halant + halantE8 E8halant + ZWNJ094D 200C
halant + nuktaE8 E9halant + ZWJ094D 200D
Nukta character ़—code point E9 (233)
The nukta character after another ISCII character is used for a number of rarer characters which don't exist in the main ISCII set. For example क (ka) + ़ (nukta) = क़ (qa). These characters have precomposed forms in Unicode, as shown in the following table.
Single Unicode characters corresponding to ISCII nukta sequences
ISCII
code point
Original
character
Character
with nukta
Unicode
code point
A1 (161)0950
A6 (166)090C
A7 (167)0961
AA (176)0960
B3 (179)क़0958
B4 (180)ख़0959
B5 (181)ग़095A
BA (186)ज़095B
BF (191)ड़095C
C0 (192)ढ़095D
C9 (201)फ़095E
DB (219)ि0962
DC (220)0963
DF (223)0944
EA (234)093D

Code pages for ISCII conversion

To convert from Unicode (UTF-8) to an ISCII / ANSI coding, the following code pages may be used:

  • 57002: Devanagari (Hindi, Marathi, Sanskrit, Konkani)
  • 57003: Bengali
  • 57004: Tamil
  • 57005: Telugu
  • 57006: Assamese
  • 57007: Odia
  • 57008: Kannada
  • 57009: Malayalam
  • 57010: Gujarati
  • 57011: Punjabi (Gurmukhi)

Code points for all language

References

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.