Indyjski kod skryptu do wymiany informacji — Indian Script Code for Information Interchange

Indian Script Code for Information Interchange ( ISCII ) to schemat kodowania reprezentujący różne systemy pisma w Indiach . Koduje główne pismo indyjskie i transliterację rzymską. Obsługiwane skrypty to: asamski , bengalski (Bangla) , dewanagari , gudżarati , gurmukhi , kannada , malajalam , orija , tamilski i telugu . ISCII nie koduje indyjskich systemów pisma, które są oparte na języku perskim , ale jego kody przełączające systemy pisma uwzględniają kaszmirski , sindhi , urdu , perski , paszto i arabski . Systemy pisma oparte na języku perskim zostały następnie zakodowane w kodowaniu PASCII .

ISCII nie był szeroko stosowany poza niektórymi instytucjami rządowymi, chociaż wariant bez mechanizmu ATR był używany w klasycznym systemie Mac OS i stał się w dużej mierze przestarzały przez Unicode . Unicode używa oddzielnego bloku dla każdego systemu pisma indyjskiego i w dużej mierze zachowuje układ ISCII w każdym bloku.

tło

Podobną strukturę mają systemy pisma pochodzące od Brahmi. Tak więc ISCII koduje litery o tej samej wartości fonetycznej w tym samym punkcie kodowym, nakładając różne skrypty. Na przykład kody ISCII 0xB3 0xDB reprezentują [ki]. Będzie to oddawane jako കി w malajalam , कि w dewanagari, jako ਕਿ w Gurmukhi i jako கி w tamilskim. System pisania można wybrać w tekście sformatowanym za pomocą znaczników lub w postaci zwykłego tekstu za pomocą opisanego poniżej kodu ATR .

Jedną z motywacji do stosowania pojedynczego kodowania jest pomysł, że umożliwi ono łatwą transliterację z jednego systemu pisma do drugiego. Jest jednak wystarczająco dużo niezgodności, że nie jest to tak naprawdę praktyczny pomysł.

ISCII to 8-bitowe kodowanie. Dolne 128 punktów kodowych to zwykłe ASCII , górne 128 punktów kodowych jest specyficznych dla ISCII. Oprócz punktów kodowych reprezentujących znaki, ISCII wykorzystuje punkt kodowy z mnemonicznym ATR, który wskazuje, że następujący bajt zawiera jeden z dwóch rodzajów informacji. Jeden zestaw wartości zmienia system zapisu do następnego wskaźnika systemu zapisu lub końca wiersza. Inny zestaw wartości wybiera tryby wyświetlania, takie jak pogrubienie i kursywa. ISCII nie zapewnia możliwości wskazania domyślnego systemu zapisu.

Układ strony kodowej

Poniższa tabela przedstawia zestaw znaków dla Devanagari . Zestawy kodów dla języka asamskiego, bengalskiego, gudżarati, gurmukhi, kannada, malajalam, orija, tamilskiego i telugu są podobne, przy czym każda forma dewanagari jest zastępowana równoważną formą w każdym systemie pisma . Każdy znak jest wyświetlany z kodem dziesiętnym i odpowiednikiem Unicode .

ISCII Dewanagari
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _ZA _B _DO _RE _MI _FA
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
MOŻE
0018
EM
0019
SUB
001A
ESC
001B
FS
001C
GS
001D
RS
001E
USA
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

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
P
0051
R
0052
S
0053
T
0054
U
0055
V
0056
W
0057
X
0058
Tak
0059
Z
005A
[
005B
\
005C
]
005D
^
005E
_
005F
6_
96
`
0060

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
0.074
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

  List  Numer  Interpunkcja  Symbol  Inny  Nieokreślony

Specjalne punkty kodowe

Znak INV - punkt kodowy D9 (217)
Znak INV (niewidoczna spółgłoska) jest używany jako pseudospółgłoska do wyświetlania elementów łączących w izolacji. Na przykład क (ka) + ् (halant) + INV = क्‍ (pół ka). Odpowiednikiem Unicode jest U+200D ZERO WIDTH JOINER ( ZWJ ). Jednak, jak wspomniano poniżej , znak halant ISCII można podwoić lub połączyć z nuktą ISCII, aby uzyskać efekty tworzone przez ZWNJ lub ZWJ w Unicode. Z tego powodu Apple mapuje znak ISCII INV na znak Unicode od lewej do prawej , aby zagwarantować round-tripping .
Znak ATR — punkt kodowy EF (239)
Znak ATR (atrybutu), po którym następuje kod bajtowy, służy do przełączania na inny atrybut czcionki (np. pogrubienie) lub na inny język ISCII lub PASCII (np. bengalski), aż do następnej sekwencji ATR lub końca linia. Nie ma to bezpośredniego odpowiednika Unicode, ponieważ atrybuty czcionek nie są częścią Unicode, a każdy skrypt ma odrębny zestaw punktów kodowych.
Atrybuty prezentacyjne
ATR + bajt Mnemoniczny Opcja formatowania
0x30 BLD Pogrubienie
0x31 WŁOCHY Kursywa
0x32 UL Podkreślanie
0x33 EXP Rozszerzony
0x34 HLT Atrakcja
0x35 OTL Zarys
0x36 SHD Cień
0x37 TOP Górna połowa znaku (używana z LOW do tworzenia znaków o podwójnej wysokości)
0x38 NISKA Dolna połowa znaku (używana z TOP do tworzenia znaków o podwójnej wysokości)
0x39 DBL Cały rząd podwójna szerokość i podwójna wysokość
Przechodzi do skryptów ISCII
ATR + bajt Mnemoniczny Skrypt ISCII
0x40 DEF Skrypt domyślny (tzn. skrypt, do którego zostanie przełączony z powrotem po łamaniu wiersza)
0x41 RMN Transliteracja zromanizowana
0x42 DEV dewanagari
0x43 BNG Pismo bengalskie
0x44 TML Pismo tamilskie
0x45 TLG Pismo telugu
0x46 JAKO M pismo asamskie
0x47 LUB JA Skrypt orija
0x48 KND Skrypt kannada
0x49 MLM Pismo malajalam
0x4A GJR Pismo gudżarati
0x4B PNJ Gurmukhi
Przejście do PASCII
ATR + bajt Mnemoniczny Lokalizacja PASCII
0x71 ARB Arabski alfabet
0x72 PES alfabet perski
0x73 URD Alfabet urdu
0x74 SND alfabet sindhi
0x75 KSM alfabet kaszmirski
0x76 PST alfabet paszto
Znak EXT — punkt kodowy F0 (240)
Znak EXT (rozszerzenie dla wedyjskiego), po którym następuje kod bajtowy, wskazuje akcent wedyjski. Nie ma to bezpośredniego odpowiednika Unicode, ponieważ akcenty wedyjskie są przypisane do różnych punktów kodowych.
Halant znak ् — punkt kodowy E8 (232)
Znak halantu usuwa niejawną samogłoskę ze spółgłoski i jest używany między spółgłoskami do reprezentowania spółgłosek sprzężonych. Na przykład क (ka) + ् (halant) + त (ta) = क्त (kta). Sekwencja ् (halant) + ् (halant) wyświetla koniunkcję z wyraźnym halantem, na przykład क (ka) + ् (halant) + ् (halant) + त (ta) = क्‌त. Sekwencja ् (halant) + ़ (nukta) wyświetla koniunkcję z półspółgłoskami, jeśli jest dostępna, na przykład क (ka) + ् (halant) + ़ (nukta) + त (ta) = क्‍त.
Korespondencja między ISCII a zachowaniem halent/virama Unicode
ISCII Unicode
pojedynczy halant E8 halant 094D
halant + halant E8 E8 halant + ZWNJ 094D 200C
halant + nukta E8 E9 halant + ZWJ 094D 200D
Znak Nukta ़ — punkt kodowy E9 (233)
Znak nukta po innym znaku ISCII jest używany dla kilku rzadszych znaków, które nie istnieją w głównym zestawie ISCII. Na przykład क (ka) + ़ (nukta) = क़ (qa). Te znaki mają wstępnie skomponowane formularze w formacie Unicode, jak pokazano w poniższej tabeli.
Pojedyncze znaki Unicode odpowiadające sekwencjom ISCII nukta
Punkt
kodowy ISCII
Oryginalna
postać
Postać
z nukta

Punkt kodu Unicode
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

Strony kodowe do konwersji ISCII

Do konwersji z Unicode (UTF-8) na kodowanie ISCII / ANSI można użyć następujących stron kodowych:

  • 57002: dewanagari (hindi, marathi, sanskryt, konkani)
  • 57003: bengalski
  • 57004: tamilski
  • 57005: telugu
  • 57006: Asamski
  • 57007: Odia
  • 57008: Kannada
  • 57009: malajalam
  • 57010: gudżarati
  • 57011: pendżabski (Gurmukhi)

Punkty kodowe dla wszystkich języków

Bibliografia

Linki zewnętrzne