| A. ASCII コー ド | G. Unicode |
| B. 拡張 ASCII コード | H. 言語・地域の独自規格 |
| C. マルチ・バイト文字コード | 付表1: ISO 8859 |
| D. ISO 8859 | 付表2: ISO 8859 がカバーする言語の範囲 |
| E. DOS/Windows の文字コード | 参考資料 |
| F. Macintosh の文字コード |
名称
American Standard Code for Information Interchange の略。1963年、米国規格協会 (ANSI) が制定。
原理
コンピュータに必要な制御文字 (34個) や基本的英数字記号の文字群 (94個) を、コンピュータが機械語レベルで扱う2進数 (0 または 1, ビット bit) で表現すると、2 の 7 乗 (128個、7 ビット) の範囲で収まります。この128個中の94個の文字は、英語が使用するアルファベットに相当します。
ISO 646
ASCII のままでは西欧諸国語に対応できないので、その中の 12 文字分を各国の事情に応じて入れ替えたものが生まれました。そのままでは、この 12 文字分に関して各国語版のデータに共通性はありません。これらを国際規格である ISO に登録したものが、ISO 646 です (名称は ISO 8859 を参照) 。
原理
コンピュータで情報の最小単位は 8 bit からなる 1 バイト (byte) ですから、7 ビットで表記する ASCII コードでは最初の 桁を常にゼロとして扱い、残り 7 桁の範囲で文字を処理 (2 の 7 乗, 128個) しています。最初の桁に意味をもたせる、つまり、8 桁すべてを使えば、8 ビット からなる 1 バイトの情報を有効に活用できます。この時、論理的に処理可能な文字数は2倍の 256 (2 の 8 乗) となります。
この仕組みを「拡張 ASCII コード」 と呼び、配列上、元の ASCII コードを左半分 (low ASCII)、拡張部分を右半分 (high ASCII) に並べます。当初、拡張された右半分は未定義のままでした。
未定義部分の利用
拡張 ASCII コードの右半分の未定義部分は、その後コンピュータの OS ごとに利用方法が導入されました。また、日本で販売されるコンピュータはいずれも日本語処理機能を持っていますから、外国語処理については次のような図式になります。
ASCII 部分 拡張部分場所 左半分 右半分 言語 英語 他のラテン文字系言語 互換性 ほぼ共通 OS ごとに異なる
日本語、朝鮮語、中国語 (簡体字/繁体字) のように字数が多い言語は、 1 バイトで可能な 256 文字をはるかに超えるので、 複数のバイトを使用して文字コードを表現します。それぞれに補助集合がありますが、全体として、主なものは次の表のとおりです。
| 日本語 | JIS C 6226 (旧 JIS、6,802 字) JIS X 0208-1983 (新 JIS、6,879 字) |
JIS = Japan Industrial Standard (日本工業規格) |
| 韓国語 | KS C 5601 (8,224 字) | KS = Korean Standards |
| 簡体字中国語 | GB 2312 (7.445 字) GBK HZ |
GB = Guojia Biaozhun (国家標準) |
| 繁体字中国語 | Big5 (13,523 字) CNS 11643 |
CNS = Chinese National Standards |
(*) HZ = GB コードを、文字化けを防ぐためインターネット標準の 7 ビット ASCII 文字に変換 (エンコード) したもの。これに対応したブラウザでは自動的に復元されるが、HZ がよく使用されるメールでは、復元ソフトが必要となる。GBK, Big5, CNS 11643 は、後述。
ISO 2022
これらのマルチ・バイト文字や、上記の ISO 646 各国語版を混在させるためには、文字コードを切り替える必要があります。その切替を 「拡張」 と呼び、ISO 2022 は拡張方法を定めた国際規格です (名称は ISO 8859 を参照) 。これを実現するためには、特殊な制御文字を使用しますが、その使用方法により、次の種類があります。
|
7 ビットで拡張
|
8 ビットで拡張
|
|
| 日本語 | ISO-2022-JP (JUNET) | EUC-JP |
| 韓国語 | ISO-2022-KR | EUC-KR |
| 簡体字中国語 | ISO-2022-CN | EUC-CN |
| 繁体字中国語 | EUC-TW |
(*) EUC = Extended Unix Code
独自の拡張方法
日本語 Shift-JIS, 簡体字中国語 GBK, 繁体字中国語 Big5, タイ語、ベトナム語
JIS コードでは、他の文字コードと区別するために、前後に特殊記号を挿入して漢字であることを指定する必要がありました。これは面倒ですから Shift-JIS では、ASCII, 拡張 ASCII の未使用部分を漢字コードの 1 バイト目に割当てることにより、他の文字ではないことを示します。
GBK は、簡体字中国語の GB 2312 を実際的に使用するための CN-GB (8bit GB) を、独自の方法で拡張したもの。繁体字中国語の Big5 は、民間の手による独自規格で若干の混乱もありますが、一般に広く使われています。
名称
International Standards Organization (国際標準化機構) の略と規格番号。
原理
英語以外の諸言語で使用される各種アルファベットを処理するための文字集合の規格。1987 年制定の ISO 8859-1 Latin alphabet No.1 では西欧の主要言語を、同じく ISO 8859-2 Latin alphabet No.2 では中・東欧の諸言語をカバーしました。
扱える文字数
この方式では、拡張される右半分 128 個部分でも共通の記号類があるので、実質上、追加削除が可能な文字は、96 文字のみです。つまり、文字のみに限れば、256 の範囲があっても実際には、190 (ASCII 94 + 拡張 ASCII 96) 文字となります。
バリエーションの追加
拡張 ASCII コードでも自由に追加削除可能なのは 96 文字分だけなので、同時処理可能な言語数に制限があります。そこで、ISO 8859 では、自由に追加削除可能な 96 文字分に対し、諸言語を大まかな地域群にまとめてそれに必要な追加文字のセットを順次制定しました。2000 年春の時点で (構想も含めて)、ISO 8859-1 Latin alphabet No.1 から ISO 8859-16 Latin alphabet No.10 まで存在しているようです。
各 OS の対応
Windows/Macintosh を含め、各 OS 開発者は、コンピュータの発達と世界規模での普及に対応するため、外国語処理機能の追加のための標準となったこの ISO 8859 の規格をベースに多国語文字の追加を進めました。その際、それ以前との互換性の問題や各種の事情が重なり、Unicode が統一基準となりつつある現在まで、完全な互換性は困難でしたが、文字コードの標準化に大きな役割を果たしました。
文字集合の混在と拡張
このような ISO 8859 のセットは、文字コードが相互に重複するため、そのままでは同時混在は不可能です。そこで、これらの文字集合に特別な符号を割り当て (エスープ・シーケンスなど) て区別する拡張方法が考案され、ISO 2022 として制定されました。これにより、各 OS が対応する限りにおいて、その OS 内部においては多言語処理の仕組みが可能となりました。
問題
ISO 8859 は、大まかな地域で言語群をまとめるため、同一の言語が複数のセットの中に含まれることになります。また、いくつかのセットは、様々な理由で改定する際に古いセットとの混乱を避けるために新名称を付けるので、関連する言語は新旧のセットに含まれることになります。さらに、追加・削除の結果、新旧セットがカバーする言語群は、必ずしも同一ではありません。
このことは一般ユーザにおいて、通常は問題になりません。しかし、OS が対応しない言語を含む ISO 8859 のセットのフォントがその OS 用に存在し、それを使用したい場合に問題となります。ISO 8859 では 「X 語は Y のセットを使えばよい」 などの単純な表現はできませんが、最新セットの中で、どの言語群と混在使用するかにより、使用するセットのフォントを選択することになります。
ISO 8859 に関する情報源: (付表 1, 2 は主にこれらのサイトの情報を参考にしています)
- Inneacs * Everson Gunn Teoranta * Index http://www.egt.ie/
- ISO 8859 Alphabet Soup http://czyborra.com/charsets/iso8859.html
- CD for ISO/IEC 8859-16: Latin alphabet No. 10 http://www.egt.ie/standards/iso8859/cd8859-16-en.pdf
MS-DOS
1981 年、マイクロソフトが IBM のコンピュータのために MS-DOS を発売したとき、拡張 ASCII コードの右半分の未定義部分を 「IBM PC コード表」 として定め、Code Page 437 と名づけました。その後、MS-DOS の普及とともに、主要な言語ごとに Code Page を定め、各国語版の MS-DOS を販売しました。この頃、CHCP (Change Code Page) というコマンドで、各国語の Code Page に変更し、英語と英語以外の言語を扱うことが可能でした。
(*) 文字コード名: DOS/CP/IBM: 主要なものは、以下のとおり。
| CP |
MS-DOS 6.2/V
|
説 明
|
CP |
MS-DOS 6.2/V
|
説 明
|
| 437 | アメリカ合衆国 | IBM PC コード表 (基本) | 860 | ポルトガル語 | |
| 850 | マルチリンガル(ラテン1) | Multilingual Latin 1 (西欧諸語) | 863 | フランス系カナダ | カナダ・フランス語 |
| 852 | スラブ語(ラテン2) | Multilingual Latin 2 (ラテン文字の中欧諸語、旧 「東欧」 語) | 865 | ノルウェー/デンマーク語など | |
| 855 | Multilingual Cyrillic (キリル文字の東欧諸語) | 866 | ロシア語 (Alternative Code) | ||
| 857 | トルコ語 | 932 | 日本 | 日本語 Shift-JIS |
MS-DOS では、外国語処理はアプリケーションで対応するものとされており、この頃の代表的多言語ワープロ・ソフト Multi-Lingual Scholar (MLS, Gamma Productions, Inc.) は 52 言語をサポートしていました。英語版 MS-DOS 用で日本語には非対応でしたが、日本の我々には羨ましい限りでした。
日本では、NEC が日本語処理機能を内蔵させたコンピュータを発売し、独自の NEC 版 MS-DOS を提供して多大の貢献をしましたが、IBM は英語版 MS-DOS に特別なプログラムを組み込み日本語処理をしました。このため、NEC 版では外国語処理に独自の困難がある一方、IBM の PC/AT 互換機 (通称 DOS/V 機) では、日本語処理が不得意な時期がありました。NEC 版には、CHCP というコマンドは無縁の時代でした。
このため、NEC PC-98 マシンでは多言語に独自のフォントで対応する (株) 高電社の Koa-TechnoMate がよく使われました。NEC 版 OS/2 1.0 用の Koa-TechnoMate OS/2 は 30 を超える言語の混在が可能で Right-to-Left 言語にも対応したソフトでした。しかし、非ラテン文字はフォントを作成する必要があるのと、当時非常に高価だったメモリとレーザープリンタがネックとなり、あまり普及しないうちに NEC が OS/2 から撤退することになりました。
Windows 3.1
1993 年発売の Windows 3.1 では、国際文字規格の ISO 8859 を基準とするべく努力がなされた結果、ラテン文字系では変化がありました。英語版では、ISO 8859-1 (Latin 1) の空いている個所に24文字を入れたWindows ANSI 文字コード表 (Code Page 1252) が使用されています。
各国語版も、ISO 8859 のセットに準拠した Code Page が相次いで定められ、次々に発売されました。日本語は Code Page 932 (Shift-JIS) で基本的変化はありませんでしたが、従来の経緯から、NEC 版・マイクロソフト版・日本 IBM 版の3種類があり、処理可能文字が微妙に違いました。
(*) 文字コード名: Windows/Windows-125x はこちら。

上表について:
- 左半分 (low) ASCII = 上段 00 - 07 (16 x 8 = 128)
- 右半分 (high 拡張) ASCII = 上段 08 - 15 (16 x 8 = 128)
- 表中の空白は、制御文字部分です。
- 出典: 錦見美貴子ほか『マルチリンガル環境の実現』 1996 年9月、プレンティスホール出版、p. 8
上の Code Page 1252 は、次に述べる Macintosh Standard Roman Character Set とよく似て多国語処理の可能性を持っており、英語版では各種のソフトがありました。Mac の WorldScript が登場して少し後の 1993 年には、 DOS 用 MLS を引き継いだ同社の Gamma UniVerse (58 言語対応) が販売され、早くも Unicode 形式で保存が可能でした。日本語処理はよくありませんでしたが操作性は抜群で、Mac でも単一のソフトでこれだけの言語を処理できるものはありませんでした。これを使うために DOS/V 機を購入した人も多いはずです。

Gamma UniVerse (Win 3.1 で起動)
NEC 版が主流の日本ではキーコードが異なり、英語版ソフトを利用することは困難で、独自のソフトが発達しました。 Gamma UniVerse の NEC PC-98 対応版も出ましたが使い勝手が悪く、世界の主要多言語ソフトが使えない悲哀は否定できませんでした。
Windows 95/98/98SE/Millenium Edition
Windows 95 (1995 年)
この OS の Unicode 対応は長いファイル名の処理にあったのですが、ユーザの目に見える形で現れたのは 「言語の追加」、「多国語サポート」 で、Windows 3.1 時代後半から爆発的に普及をはじめたインターネットに対応するためでした。日本語については、「マイクロソフト標準キャラクタセット」 を使用することにより、従来の混乱を吸収しました。しかし、アジアの言語 (中国語、韓国語、タイ語、ベトナム語) などは対象外だったこと、入力時に当該言語のキーボード表示ができなかったことなどの理由で、まだ Gamma UniVerse の後継 UniType International 1.71 (入力装置) や Global Writer 98 Pro (ワープロ) が手放せませんでした。UniType は後に、MS Office への多言語入力装置 Global Office となりました。
Windows 98 (1998 年秋) ・Windows 98 Second Edition (1999 年春)
外見はあまり変化ありませんが、アラビア文字言語・ヘブライ語の Right-to-Left 処理にも対応して多言語環境が充実しました。これにより、Global Writer/Office でも Right-to-Left 言語の処理が可能となりました。Windows Millenium Edition (2000 年9月)
最新の Windows ME の特徴は、 MS-DOS を見えなくするという次期 32 ビット OS への橋渡しとして、「起動ディスク作成」 以外では起動可能フロッピーの作成ができなくなっていたり、マルチメディアやインターネット環境の強化などです。その多言語機能は、多言語ブラウジング用にアジア系の言語対応フォントが標準インストールされたりその数が増えていますが、 Global IME を使用する Windows 9x 系がらのバージョンアップには注意が必要です。詳細は、こちらをご覧下さい。(*) 文字コード名: Windows/Windows-125x
876 タイ語 1252 Windows ANSI 文字コード表 (西欧諸語) 932 日本語 (Shift-JIS) 1253 ギリシア語 936 簡体字中国語 1254 トルコ語 949 韓国語 1255 ヘブライ語 950 繁体字中国語 1256 アラビア語 (ペルシア語を含む) 1250 ラテン文字の中欧諸語、旧 「東欧」 語 1257 バルト諸語 1251 キリル文字のロシア語・東欧諸語 1258 ベトナム語 (TCVN) Internet Explorer 5 (1999 年春)
これは単なるブラウザのバージョンアップではなく、OS 機能の一部ともいえる、上記未対応言語の入力機能を 「複数の言語サポート」 で提供しました。Internet Explorer 5 をプリインストールしたマシンでも、この 「複数の言語サポート」 機能は、Internet Explorer 5 の入った雑誌付録 CD-ROM などを用意して、別途インストールする必要があります。 2000 年夏には製品版の Internet Explorer 5.5 がリリースされ、これが最新バージョンです。パッケージ版 Windows 2000 には Internet Explorer 5、同 Windows ME には Internet Explorer 5.5 が入っています。キーボード表示も、MS Office 専用 とされていますが、Visual Keyboard for Office 2000 がマイクロソフト本社サイトからダウンロードできるようになり、多言語環境の基本的な問題は解決しました。Windows ME には、Windows 2000 と同じスクリーンキーボードが標準インストールされています。
以上から、Windows では以下の方法で多言語の入力・表示機能が設定できます。
|
機能の名称
|
インストール方法
|
処理可能となる言語
|
| 言語の追加 | OS の標準インストール | ISO 8859 の Latin1 相当 |
| 多国語サポート | OS に追加インストール | ISO 8859 の Latin 2, Latin 4, Latin 5, Latin/Cyrillic, Latin/Greek 相当 |
| 複数の言語サポート | Internet Explorer 5 で追加インストール (Win ME を除く) |
ISO 8859 の Latin/Arabic, Latin/Hebrew, Latin/Thai, 簡体字中国語, 繁体字中国語、韓国語 |
Windows NT/2000
Windows NT
32 ビットで動くマルチタスクのネットワーク用 OS として、その安定性に高い評価がありました。内部的には Unicode (Code Page 1200) に対応していたのですが、従来との互換性の必要上、実際は Shift-JIS に変換して処理していました。また、Unicode 用フォントも約 1,750 字分しかデータがなく、実用上不十分でした。Windows NT 4.0 + Service Pack 4 + Internet Explorer 5
その後機能の修正と追加がなされ、上記の環境では、Windows 98 の多言語環境に相当する機能が利用可能です。Windows 2000 (2000 年 2月)
完全に Unicode 対応の OS となりました。多言語環境は完璧で、対応していないのは、現時点で Unicode 自体の対応ができていない限られた言語群のみです。MS Office 2000 でインストールされる Arial Unicode MS フォントのサイズが 23,566 KB もあるのは、まだデザインを含めて不備があるとしても、Unicode のフォント情報を持っている雄弁な証拠です。標準搭載の IE は Internet Explorer 5.01 なので、最新のバージョン 5.5 はユーザ各自で導入する必要があります。また、キーボード表示は、標準で 「アクセサリ - ユーザー補助」 に 「スクリーンキーボード」 がありますから、これを利用します。
Windows 2000 Professional 多国語版 (MultiLanguage Version)
Windows 2000 の OS 言語すら切り替えることのできる、多国籍企業などを対象とするバージョンです。マイクロソフトの関連サイトによれば、「24 か国語すべてをサポートするユーザー インタフェースが使用可能」 で、「多国語版 は、Microsoft Open License、Select、Enterprise Agreement をご利用のお客様だけが購入できます」 とのことです。
Windows XP Professional
インターネットとマルチメディア時代の多言語対応 OS
2001年11月、Windows 2000 の32 ビット OS の安定性と Windows ME のマルチメディア機能を統合し、新時代のネットワーク機能を追加して出荷されました。Unicode バージョン 3.0 に対応
Windows 2000 の多言語対応範囲は、基本的に Unicode Version 2.0 (1996 年) でした。Windows XP は OS として、その後も改訂が進んだ Unicode Version 3.0 (2000 年 2 月) に対応しています。
使用可能な 「入力言語」 の増加
OS が Unicode のバージョン改訂に追随することは嬉しいことですが、OS 設計開始時点で策定済みの文字のすべてがその OS で利用できるわけではありません。フォント作成、経費投入の是非、時間との競争など、諸種の判断があると思われます。その結果、Windows XP で新たに使用可能となった 「入力言語」 は9言語にとどまりました。その分類は以下のとおりです。
- Unicode Version 2.x で既に策定済みであった言語: ガリシア語(ラテン文字)、キルギス語、モンゴル語(キリル文字)、カナラ語、グジャラート語、テルグ語、パンジャブ語(インド系言語)
- Unicode Version 3.0 で新たに追加された言語: シリア語(シリア文字)、ディベヒ語(ターナ文字)
逆に、Unicode 3.x までで策定済みであるのに Windows が対応していない主要な言語は、以下のとおりです。
ビルマ語、クメール語、ラオ語; アムハラ語; ウイグル語; ベンガル語、シンハラ語、チベット語、ネバール語、マラヤーラム語
諸種の理由があるとはいえ、アジア・アフリカ地域の言語文化の研究に携わるものとして、早急な対応を希望したいと思います。特に、多言語対応で Windows を常にリードしてきた Mac OS が、OS X 10.1.3(2002 年 3 月)の段階でも、従来よりサポートしていた7ヶ国語(日本語、英語、フランス語、ドイツ語、スペイン語、イタリア語、オランダ語)に、8ヶ国語(スウェーデン語、ブラジルポルトガル語、デンマーク語、フィンランド語、ノルウェー語、韓国語、簡体字中国語、繁体字中国語)が加わり、計15ヶ国語をサポートするに留まっている現状を考えると、マイクロソフト社の社会的責任は重いと考えられます。
用語の改善・ユーザーインターフェースの改良
詳細は次の URL を参照してください: http://www.microsoft.com/windowsxp/pro/techinfo/planning/multilingual/default.asp
名称
Apple は、1984 年発売の初代 Macintosh より、拡張ASCII コード右半分 high ASCII の未定義部分に対し、次表のように西欧の主要言語に必要な欧文特殊文字や記号類を割り当てました。これが Macintosh Standard Roman Character Set で、Mac OS のシステムで重要な役割を果たします。
上表について:
- 左/ (low) ASCII = 上段 0X - 7X (16 x 8 = 128)
- 右/ (high 拡張) ASCII = 上段 8X - FX (16 x 8 = 128)
- 出典: 三上吉彦・池田巧・山口真也編 『電脳外国語大学』 平成5年11月、技術評論社、p. 41
Windows と異なり、この文字セットを基に、Mac では OS が多言語環境に対応しました。各言語のキーボード・フォント・ソート機能などを提供したので、特に追加措置をすることなく西欧の主要言語すべての同時処理が可能でした。
原理 - World Script -
World Script は、OS 7.1 より搭載された Macintosh が使用する多言語環境の仕組みです。
Mac OS 8.5 からは、Unicode 対応の仕組みが本格的に導入されました。具体的には、次の三つです。
- TSM 1.5: Text Service Manager
- ATSUI: Apple Text Services for Unicode Imaging
- TEC: Text Encoding Converter (能拡張書類、Unicode 非対応プログラムに自動対応)
さらに、Mac OS 9 では、WorldScript 自身も修正されつつあるようで、WorldScript II は消えました。今後は、以下に述べる WorldScript 上の制約を取り払い、真に自由な多言語同時処理環境を目指すものと思われます。次をご覧ください。
TIL: 60521 : Mac OS 9: What's New - Multilingual Internet Access 2.0 and Language Kits
文字セットの修正
Mac の多言語環境実現に際して、Windows と同様に、ラテン文字については ISO 8859 と関連しつつ対応しました。非ラテン文字系言語は、個別の Language Kit 販売で対応したのですが、主要な言語を含む ISO 8859 Latin 1 - Latin 4 セットへの対応は以下のとおりでした。
ISO 8859 など 言 語 Apple の対応ISO 8859 Latin 1 西欧主要言語 Standard Roman Character Set Faeroese/ Icelandic Standard Roman Character Set の修正 ISO 8859 Latin 2 (East European: non-Cyrillic) Hungarian, Polish, Slovak, Slovenian Nisus Language Key で提供; OS 9 では標準添付; Nisus が提供を中止してからの OS 8 では対応不可能 Croatian, Romanian Standard Roman Character Set の修正 ISO 8859 Latin 3 (South European) Turkish Standard Roman Character Set の修正 Esperanto, Maltese 非対応 (?) ISO 8859 Latin 4 (North European & Nordic) Estonian, Latvian (Lettish), Lithuanian; Greenlandic, Lappish 非対応 (?) 非ラテン文字系言語 Cyrillic, Arabic, Hebrew, Indian; Japanese, Chinese, Korean Language Kit の販売 上表で見るとおり、対応した言語のうち Croatian, Romanian, Turkish, Icelandic/Faroese については、注意が必要です。これらの言語に必要な文字・記号が Standard Roman Character Set に含まれていないため、Apple は修正を加えました。これを Modified (version of the) Roman Character Set と呼びます。
Modified Roman Character Set で追加・移動のある文字 Croatian Romanian TurkishIcelandic/Faeroese Source: Inside Macintosh: Text (1993 Apple Computer,Inc.) Tables A-4, 5, 6, 7.
(scanned from the printed hard copy)
修正文字セット (Modified Roman Character Set) の影響
修正文字セットで作成されたデータは、標準文字セットのマシンと互換性がありません。少数とはいえ、追加は標準文字セットの文字記号を犠牲にしないとできませんし、配列順も変更されるからです。具体的には、次の問題が生じます。
- 修正文字セットのデータは、標準文字セットのマシンで完全に同一のフォントを使用しない限り、文字化けが生じ、適切なソートもできません。
- 原理上、「修正」文字セットは「標準」文字セットに置き換わるものですから、同一マシンに複数混在できません。したがって、「標準」文字セット A が対応する言語群 a b c と、別の「標準」文字セット B が対応する言語群 x y z は単一のマシン上で混在できません。
- 「いかなる言語の同時処理も可能とする」 という観点からは、これは真の多言語環境とは言えません。
したがって、これら 4 言語 (群) に関しては、次のことを知っておく必要があります。
修正文字セット Mac の対応と現象 対処法Turkish
- トルコ語ローカライズ版文字セット用フォント名は、標準文字セットと同じフォント名 (Geneva, Monaco, Times など)
- 標準文字セットのマシンに同名フォントはあるが、トルコ語固有の文字を含まないので、データは処理不能
- トルコ語固有の文字を含み、トルコ語ローカライズ版用フォントとは異なる Resource ID range で名前も異なるフォントを使用すれば、混乱は回避可能
- ただし、ローカライズ版で作成の従来データとの互換性はない
これに対応したトルコ語プログラムは、こちらをご覧ください。
Croatian, Icelandic/Faeroese, Romanian
- 各ローカライズ版のフォント名は、標準文字セットとは異なるフォント名となっている
- 標準文字セットのマシンには、ローカライズ版の文字セットを含むフォントがないので、データは処理不能
- 各ローカライズ版のフォントを入手する、ないし
- 各ローカライズ版のフォントに代用しうる別のフォントを入手すれば、表示は可能
そのようなフォントはこちらをごらんください。
Macintosh は奇妙なことに、Turkish, Croatian, Icelandic/Faeroese のスクリプトは Roman (Code 0) で、 Romanian は East European Roman (Code 29) と決めていたのに、 Romanian も標準文字セットの修正で対応したことになります。
World Script の基本情報
スクリプト・マネージャが個々の言語を処理するには、コード番号 (スクリプト、言語、地域) 、 FOND (font-family ID)、 Resource ID Range などの情報が必要です。これらを知ることは、Macintosh の World Script で構想されている多言語同時処理のスキームの理解に有用ですし、上記のような言語に対応するフォントを確認するために、あるフォントの情報 (フォント・ユーティリティなどで得られます) をチェックするにも必要です。これらのミスマッチは、混乱をもたらすからです。
基本情報の混乱 - アラビア語/ペルシア語
(*) Source: http://www.hf.uib.no/i/smi/ksv/otherscripts.html
上記の World Script 基本情報によれば、アラビア語 (Language Code 12) とペルシア語 (Language Code 31) はアラビア・スクリプト (Script Code 4, Resource ID range 17920 ‐18431) を使用する異なる言語です。両言語の使用地域は、文字順・数字形・通貨単位などの相違があるので、異なるキーボードと異なるソート順を定義すればよいはずでした。
- ローマン・スクリプト (Script Code 0) におけるフランス語 (Language Code 1) とドイツ語 (Language Code 2) の関係と同じです。
- アルファベット末尾: アラビア語 - Nun - Ha - Waw -Ya; ペルシア語 - Nun - Waw - Ha - Ya.
しかし、Macintosh では両言語のキーボードと基本フォント (al-Qahira/Tehran に同一の Resource ID range (17920-21) を割り当てたため、アラビア語とペルシア語の同時混在は不可能となりました。なぜこんな対応となったのか不明ですが、両言語の同時混在のためには、次の対処を行いました。
(*) ただし、OS 9 の新 Language Kit では Tehran フォントがありません。
両言語同時混在の場合は、ペルシア語の Resource ID range (17920-21) はそのままで、アラビア語を Resource ID range (17923-24) に変更するという仕組みです。注意を要するのは、アラビア語単独の場合は変更なし、という点です。つまり、2種類のアラビア語リソース (単独の 17920-21 と 混在の 17923-24) が存在するという結果になりました。多言語同時処理の観点からは、非常に残念なことです。
Macintosh のアラビア・スクリプトは、以下の 4 とおりで提供されています:
- Nisus 販売の Language Key (販売停止)
- Macintosh Arabic Language Kit
- OS 8.5/8.6 Multilingual Internet Access (Arabic only)
- OS 9 (new) Language Kit 1.0
上記の問題は、ペルシア語を含まない 3 を除けは、未解決のままです。したがって、アラビア語とペルシア語をインストールする際には特別の注意が必要です。あまり目立ちませんが、Apple もこの件に関して注意を促す記述を必ず同梱しています。詳しくは、上の該当項目をクリックしてください。
早急な対処の要望
このように、Macintosh はきわめて早くから優れた仕組みで多言語処理の発達に大きく貢献しました。しかし、以下の点は、場合によれば既存データとの互換性が犠牲となることもありえますが、早急な対応が望まれます。
- East European Roman はラテン文字ながら異なるスクリプト (Code 29) の扱いと決めたのに、OS 9 に搭載するまで長期にわたり正式な対応がなく、最新 OS 使用者以外には入手方法がないこと。
- 多国語処理に OS として対応する方針であるはずなのに、ローマン・スクリプト修正文字セットの導入のため、上記のような一貫性の欠如があること。
- アラビア・スクリプトにおいて、実際上、アラビア語とペルシア語が混在不可能であること。
- 未対応の重要なスクリプトや言語が少なからずあること。
- スクリプト・言語などの基本情報があらかじめ決められているため、Apple 社の策定から外れたものへの対応は、事実上、不可能であり、あえて対処する場合は、既存の他のリソースを借用する方法しか取れないこと。
名称
Microsoft 社、IBM 社、Apple 社などの主要な会社が設立した非営利の Unicode Consortium により提唱される文字コードの規格。URL はこちら。
原理
世界の言語で使用される文字体系を2バイトで処理し、すべての文字を単一のコードで表現することにより、電子媒体により記録される文字データの互換性を目指しています。1993 年には、ISO 10646 として位置付けられることになり、支持も広がりました。
Unicode Version 2.0 (1996 年) は、25 文字体系 38,885 文字を含んでいます。Windows 2000 が OS としてこれに対応したことにより、Windows マシンで使用可能な言語数が飛躍的に増大しました。しかし、下記のように主要な言語で未策定の言語もありました。
モンゴル語、ビルマ語、クメール語 (カンボジア)、エチオピア語、シンハラ語 (スリランカ) など。
Version 3.0 (2000 年 2 月) では、下記の言語ブロックが追加されました。Windows XP が対応する Unicode のバージョンは、この Version 3.0 です (一部の言語を除く)。
Mongolian, Burmese (Myanmar), Khmer, Sinhala, Thaana, Ethiopic, Syriac;
(Unified) Canadian Aboriginal Syllabics, Cherokee, Ogham, Runic(*) インド洋マルディヴのディヴェヒ語 Divehi のターナ文字まで含まれたことには、大きな感動を覚えます。同時に、このことは、主要な言語の規格化がほぼ終わったことを意味します。
Unicode 自身は Version 3.1 (2001年 5 月、グルジア文字の修正、ゴート語と Etruscan などの古代イタリア諸語の文字の追加)、Version 3.2 (2002年 3 月、Tagalog, Hanunoo, Buhid などのフィリピン諸語の文字の追加) と改訂が進んでいますが、当然ながらこれらの言語と文字は Windows XP ではまだ使用できません。詳細は次の URL を参照してください。
http://www.unicode.org/unicode/standard/versions/Unicode3.0.html
エンコード方式
Unicode の利用には4方式のエンコード方法がありますが、よく目にするのは次の二つです。
| UTF-8 | 拡張 ASCII コードの 1 バイト (8 ビット) 部分の表記は従来どおりとし、その他を 2 バイト表記とする。 |
| UTF-7 | ASCII コードの 7 ビット分だけを従来どおりとし、拡張 ASCII コードの右側拡張部分から2バイト表記する。 |
問題
- 当初、CJK (Chinese-Japanese-Korean) 漢字圏の伝統がなおざりにされかねないこと、各国固有の文字コードデータによる蓄積との互換性などの懸念から、日本での関心は薄いものでしたが、電子媒体による情報の共有と互換性の観点から、マイナス面より利点のほうが大きいのは今日では明白となりました。
- CJK の問題のみならず、他の言語においても、異字形の扱い・補助記号の取り扱い・当該文字文化圏の伝統習慣への尊重などの重要な問題があります。
- 個別文字文化の当事者からの代表が不在のまま決められる言語群もあることはゆゆしきことで、その地域の言語文化研究者が積極的に発言する必要があります。
(*) 日本語・韓国語・中国語の独自規格については、こちらをご覧ください。
キリル文字 - KOI8
8-bitnyi Kod dlya Obmena obrabotki Informatsii (情報交換・処理のための 8 ビット・コード) の略。当初、 1970 年代に定められたもの (旧 KOI8) が 1980 年代に改良されました。KOI8-R はロシア語用、KOI8-U はウクライナ語用。
KOI8-R は、1993 年から、インターネットで多く使われましたが、現在は、Windows-1251 の使用が増加しています。 KOI8-U は、当初、非公式のものでしたが、1998 年以降は多く使われるようになりました。旧 KOI8 を基に、ウクライナ語も含むキリル文字東欧諸語に対応したものが、ISO-IR-111 です。
(*) キリル文字の詳細は、こちらをご覧ください。
アラビア語 - ASMO 708
アラビア語の文字規格は、ASMO (Arab Standardization and Metrology Organization) が定めています。MS-DOS 時代の ASMO 449 (= ISO 9036) を改良した ASMO 708 が一般的で、Macintosh のアラビア・スクリプトもこれに準じています。その後、フランス語にも対応可能な、ASMO 708-FR Plus も作られました。
Windows 登場後は、Windows-1256 も広く使われるようになりました。ASMO 708 をベースにした、アラブの会社による DOS、Windows の文字コードもあります。
ベトナム語 - TCVN, VISCII, VPS
ベトナム語には、複数の文字規格があります。ベトナム語はラテン文字を使用しますが、多くの補助記号を使用するので、ASCII 拡張部分の対応では困難ですから、多くの試みが登場したわけです。中でも、VISCII (Vietnamese Standard for Information Interchange) の方式が優勢のようです。VPS は Vietnamese Professionals Society の略語で、同組織がフォントやキーボードも提供しています。
独自規格の VISCII に対して、TCVN 5712 は ISO 2022 に準拠しています。ABC とか VSCII とも呼ばれ、Windows-1258 として採用されています。
詳細は、下記の URL から各組織のホームページをご覧ください:
"VietGATE - Vietnamese Fonts" http://www.vietgate.net/fonts/タイ語 - TIS-620
TIS-620 は、Thai Industrial Standard 620.2529.1 の略でタイ語の統一規格です。詳細は、こちらをご覧ください。
アルメニア語 - ARMSCII
アルメニア語の統一文字規格は、ArmSCII (Armenian Standard Code for Information Interchange) と呼ばれます。詳細は、こちらをご覧ください。
Source:
- 錦見美貴子ほか『マルチリンガル環境の実現』 1996年9月、プレンティスホール出版、pp. 12-14, 326-337
- Inneacs * Everson Gunn Teoranta * Index http://www.egt.ie/
- ISO 8859 Alphabet Soup http://czyborra.com/charsets/iso8859.html
- CD for ISO/IEC 8859-16: Latin alphabet No. 10 http://www.egt.ie/standards/iso8859/cd8859-16-en.pdf
|
ISO 8859
|
対象地域/拡張 ASCII コードの右半分
|
含まれる他の言語例 (*)
|
|
ISO 8859-1 (Latin1) 1987 |
West European: Albanian (sq), Basque (eu), Catalan (ca), Danish (da), Dutch (nl), Faroese (fo), Finnish (fi), French (fr), German (de), Icelandic (is), Irish (ga), Italian (it), Norwegian (no), Portuguese (pt), Rhaeto-Romanic (rm), Scottish (gd), Spanish (es), Swedish (sv) |
Afrikaans (af), Indonesian, Filipino, Swahili (sw) |
| ISO 8859-2 (Latin2) 1987 |
East European: Croatian (hr), Czech (cs), Hungarian (hu), Polish (pl), Romanian (ro), Slovak (sk), Slovenian (sl), Sorbian. |
Albanian (sq), German (de) |
| ISO 8859-3 (Latin3) 1988 | South Europian: Esperanto (eo), Maltese (mt), Turkish (before Latin5/1988) | Afrikaans (af), Catalan (ca), Italian (it), German (de), Spanish (es) |
| ISO 8859-4 (Latin4) 1988 | North European:
Estonian (et), Latvian (lv, Lettish), Lithuanian (lt) Nordic: Greenlandic (kl), Lappish (Latin6 も参照) |
Danish (da), Finnish (fi), German (de), Swedish (sv), Norwegian (no) |
| ISO 8859-5 (Latin/Cyrillic) 1988 | Cyrillic: Bulgarian (bg), Byelorussian (be), Macedonian (mk), Russian (ru), Serbian (sr), pre-1990 (no ghe with upturn) Ukrainian (uk) | |
| ISO 8859-6 (Latin/Arabic) 1987 |
Arabic: Arabic
(ar) |
|
|
ISO 8859-7 (Latin/Greek) 1987 |
Greek: (modern monotonic) Greek (el), formerly known as ELOT-928 or ECMA-118:1986 | |
| ISO 8859-8 (Latin/Hebrew) 1988 | Hebrew: Hebrew (iw), Yiddish (ji) | |
| ISO 8859-9 (Latin5) 1989 |
Turkish (Latin1 の改訂): Turkish (tu) |
Latin1 の言語群で Icelandic (is) 以外は混在が可能。 |
|
ISO 8859-10 (Latin6) 1993 |
Nordic (Latin4 の改訂): Latin4 + Inuit (Greenlandic Eskimo) + non-Skolt Sami (Lappish) + Icelandic. Skolt Sami を除く。 |
Latin4 に準ずる。この改訂で Latvian (lv) は除外。 |
| ISO 8859-11 (Latin/Thai) | Thai: Thai (th) = TIS620 | |
| ISO 8859-12 | reserved for ISCII Indian | |
| ISO 8859-13 (Latin7) | Baltic Rim: Latin6 で除かれた Latvian (lv) を復活。 | |
| ISO 8859-14 (Latin8) | Celtic (Latin1 の改訂): Gaelic, Welsh (cy) |
全ケルト語を含めるための Latin1 の改訂なので、その多くが使用可能。 |
| ISO 8859-15 (Latin9) 1999 | West European (Latin1 の改訂): ユーロ記号とフランス語に欠けていた3文字を追加。 |
Latin1 の改訂なので、その多くが使用可能。 |
| ISO 8859-16 (Latin10) 2000 |
East European (Latin2 の改訂): Croatian (hr), Hungarian (hu), Polish (pl), Romanian (ro), Slovenian (sl); Latin2 から Czech (cs), Slovak (sk), Sorbian を除き、Romanian (ro) に完全対応。 |
Albanian (sq), German (de), Finnish (fi), French (fr), Irish Gaelic, Italian (it) |
| Vietnamese (vi) |
ベトナム語は記号の組み合わせが多く、ISO-8859 の枠組みでは対応困難。VISCII の使用が考えられる。 |
(*) English (en) は、拡張 ASCII コードの左半分なので常に対応している。Table drawn by Y. Takashina.
Source: CD for ISO/IEC 8859-16: Latin alphabet No. 10. p. 7 (scanned from the printed hard copy and rearranged to fit Web layout.)
Note:
- Numbers 1-10: corresponding ISO 8859 Latin set number, e.g., 5 = Lain5
- Numers in brackets: previous (incomplete) coverage, newer set recommended.
