ISCII(Indian Script Code for Information Interchange、情報交換用
インド文字符号)は、
インドの多様な文字体系をコンピュータ上で表現するための符号化方式です。これは、
アッサム文字、
ベンガル文字、
デーヴァナーガリー、
グジャラーティー文字、
グルムキー文字、
カンナダ文字、
マラヤーラム文字、
オリヤー文字、
タミル文字、
テルグ文字といった主要な
インド系文字と、ローマ字転写を符号化の対象としています。
ISCIIの大きな特徴の一つは、同じ音価の文字を各文字体系で同じ符号位置に割り当てている点です。例えば、[ki]という音は、
デーヴァナーガリーでは「कि」、
グルムキー文字では「ਕਿ」、
タミル文字では「கி」とそれぞれ異なる文字で表現されますが、ISCIIでは全て同じ符号で表されます。これにより、異なる文字体系間での文字の対応付けが容易になり、理論的には
翻字の簡略化が期待されました。
しかし、実際には各文字体系間の非互換性が大きいため、この目的は完全に達成されているとは言えません。文字体系の選択は、リッチテキストではマークアップで指定され、プレーンテキストでは後述するATR(Attribute)符号を使用します。
ISCIIは8ビットの固定長符号で、下位128個の符号位置は
ASCIIと互換性があります。上位128個の符号位置に
インド系文字や制御符号が割り当てられています。しかし、ISCIIにはデフォルトの文字体系を指定する機能はありません。
ATR符号と書記体系の切り替え
ISCIIには、文字の符号位置に加え、ATR(0xE0)と呼ばれる特別な符号位置があります。ATRに続く符号によって、文字体系やフォントの属性を切り替えることができます。具体的には、0x42から0x4Bまでの符号は、それぞれ
デーヴァナーガリー、
ベンガル文字、
タミル文字、
テルグ文字、
アッサム文字、
オリヤー文字、
カンナダ文字、
マラヤーラム文字、
グジャラーティー文字、
グルムキー文字への切り替えを指定します。これらの指定が有効な間は、
ASCIIの数字も各文字体系の数字で表示されます。また、0x41を指定すると、ローマ字転写が表示されます。
さらに、ATRに続く0x71から0x76までの符号は、
アラビア語、
ペルシア語、
ウルドゥー語、
シンド語、
カシミール語、
パシュトー語といった
アラビア文字系の表示を指示しますが、具体的な符号化方法はISCIIでは規定されていません。
表示モードの切り替えは、ATRに続く0x30から0x39までの符号で行われ、太字、斜体、下線、倍幅などの指定が可能です。ATRの詳しい使い方は、ISCIIの付属書Eに規定されています。
ISCIIは、EXT(0xF0)と呼ばれる符号位置を使用することで、
ヴェーダ文字を表現できます。
ヴェーダ文字は
デーヴァナーガリーの拡張とみなされ、
リグ・ヴェーダなどの古代文献で使用される特殊な記号や発音記号を符号化できます。EXTによる
ヴェーダ文字指定は、ATRによる他の文字体系やローマ字転写の指定よりも優先されます。
EXTで表現できる文字は、修飾文字(0xB4 - 0xBE)と非修飾文字(0xA1 - 0xB3)に分けられ、修飾文字は音節の後か非修飾文字の後にのみ配置できます。
Unicodeでは、ISCIIとは異なり、各文字体系に専用のブロックが割り当てられています。
デーヴァナーガリーはU+0900、ベンガル・
アッサム文字はU+0980、
グルムキー文字はU+0A00、
グジャラーティー文字はU+0A80、
オリヤー文字はU+0B00、
タミル文字はU+0B80、
テルグ文字はU+0C00、
カンナダ文字はU+0C80、
マラヤーラム文字はU+0D00から始まるブロックが使用されます。ただし、各ブロック内の文字配列はISCIIとの互換性が高く保たれています。
ISCIIでEXTを使って表現されていた
[ヴェーダ]]文字は、Unicodeバージョン5.2で追加されました。また、ISCIIでハラント(
ヴィラーマ)とINV(D9)を使って表現される半体は、
Unicodeではハラントと
ゼロ幅接合子]を組み合わせることで表現します。ISCIIではハラントを2回重ねて表示するのに対し、
[Unicodeではハラントに[[ゼロ幅非接合子]を組み合わせます。
ISCIIの利用状況と現状
ISCIIは一部の政府機関で使用されたものの、広く普及することはありませんでした。現在では、
Unicodeが広く普及しており、ISCIIはほぼ時代遅れとなっています。しかし、
Unicodeの各文字体系のブロック内では、ISCIIの配置がほぼ維持されているため、過去の資産との互換性が考慮されています。
インドには、ISCIIの他にIS 10315(
ASCIIと同じ)やIS 12326(ISO/IEC 2022と同じ)といった文字コード規格も存在しています。