ISO/IEC 8859

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

ISO 8859(より正式にはISO/IEC 8859)はコンピュータでの利用を目的とした8ビット文字コードの標準である。ISOIECが合同で定めた。この標準は複数の部(英: part)に分かれており、それぞれがISO/IEC 8859-1、ISO/IEC 8859-2などのように番号付きで出版されている。それぞれの部自体を、非公式に標準として参照することがある。2009年現在、15の部(破棄されたISO/IEC 8859-12標準を除く)が存在する。

概要[編集]

ASCIIの印字可能文字のビットパターンは95個ある。これは現代英語の情報交換には十分だが、ラテン文字を使う他の言語のほとんどでは、ASCIIに含まれない文字をさらに追加する必要がある。たとえば「ß」(ドイツ語)、「ñ」(スペイン語)、「å」(スウェーデン語と他の北ゲルマン語群)などである。ISO 8859では、8ビットバイトの第8ビットを使ってさらに128文字分の領域を確保することで、この問題を改善することを目指している(第8ビットはかつて、データ伝送手順の情報に使われる以外は、未使用のままだった)。しかし、単一の8ビット文字コードで収容できる以上の文字が必要になったため、ラテン文字を含めるのに必要な最低10個をはじめ、複数のマッピングが開発された。

ISO 8859-n符号化は印字可能文字のみを含み、未割り当ての符号位置にマップされる制御文字と組み合わせて使うように設計されていた。この目的のためにIANAが登録した一連の文字コードは、ISO 646からC0制御集合(符号位置0から31にマップされる制御文字)を、ISO 6429からC1制御集合(符号位置127から159にマップされる制御文字)を追加し、その結果完全な8ビット文字マッピングのほとんど(ないしはすべて)に文字を割り当てている。これらの集合はその推奨MIME名(推奨MIME名が規定されていない場合その正式名称)としてISO-8859-nという名前を持つ。多くの人が、用語ISO 8859-nとISO-8859-nを同等な意味を持つものとして用いる。ISO 8859-11TIS-620とほとんど同じであるためか、このようなキャラクタセット名を割り当てられていない。

文字[編集]

ISO 8859標準はタイポグラフィのためではなく、信頼性の高い情報交換のために設計されている。この標準は高品質のタイポグラフィに必要な文字(たとえば必須でない合字、左右の区別のある引用符、ダッシュなど)を省略している。その結果、高品質の電子組版のためのシステムでは、しばしばASCIIとISO 8859標準と相互交換のできないあるいは独自の拡張をほどこして使用したり、Unicodeを代わりに使ったりしている。

おおざっぱに言って、ある文字や記号がすでに広く使われているデータ処理文字集合の一部でなく、なんらかの言語用のタイプライタの鍵盤でも通常は提供されていない場合、その文字や記号は採用されていない。それゆえいくつかのヨーロッパ言語で使われている向きのある二重引用符「«」と「»」は含まれたが、英語などいくつかの言語で使われる向きのある二重引用符「“」と「”」は含まれなかった。フランス語の「œ」と「Œ」は「oe」、「OE」とタイプできるため採用されなかった。「Ÿ」はテキストがすべて大文字でも必要とされるが、省略された。しかしながら、これらの文字は最近のISO 8859-15で新しいユーロ記号 € の導入に際して含められることになった。同様にオランダ語の 'ij' と 'IJ' の文字も収録されなかった。オランダ語話者は、代わりにこれらを2文字でタイプしてきたからである。ルーマニア語の「Ș/ș」と「Ț/ț」(コンマアクセント付きの文字)も最初は収録されなかった。これらの文字は当初「Ş/ş」と「Ţ/ţ」(セディーユ付きの文字)に統合されていたためである。ユニコードコンソーシアムは、下付きコンマの字形はセディーユの字形のグリフ変種であると考えてきた。しかしながら、後にUnicode標準とISO 8859-16でも、下付きコンマを区別して追加した。

ISO 8859エンコーディングのほとんどで、各種のヨーロッパ言語で必要なダイアクリティカルマーク付き文字を提供している。そうでないものは非ラテン文字を提供しているもの(ギリシア文字キリル文字ヘブライ文字アラビア文字タイ文字)である。エンコーディングのほとんどは前進文字のみを含むが、ヘブライ文字とアラビア文字のものは結合文字をも含んでいる。しかしながら、この標準は東アジア言語(CJK)用の用字系は何も提供していない。それらの漢字系書記体系には数千もの符号位置が必要だからである。ベトナム語はラテン文字ベースの文字を使うが、96個の位置には(結合ダイアクリティカルマークを使わない限り)やはりおさまらない。日本語の音節文字(ひらがなとカタカナ、仮名を参照)のそれぞれは収まるが、ISO 8859では符号化されていない。また世界の他の表音文字も符号化されていない。

ISO 8859の部[編集]

ISO 8859は以下の部に分かれている:

第1部 ラテン1
西ヨーロッパ
おそらくもっとも広く使われているISO 8859の部であり、ほとんどの西ヨーロッパ言語をカバーする。デンマーク語オランダ語(一部[1])、英語フェロー語フィンランド語(一部[2])、フランス語(一部[2])、ドイツ語アイスランド語アイルランド語イタリア語ノルウェー語ポルトガル語レト・ロマンス語群スコットランド・ゲール語スペイン語スウェーデン語である。世界の他地域の言語もカバーしている。東ヨーロッパのアルバニア語、東南アジアのインドネシア語、そのほかアフリカの言語アフリカーンス語スワヒリ語である。ユーロ記号と大文字の Ÿ が欠けていたが、改訂版のISO 8859-15には追加されている。IANAが承認したこれに対応するキャラクタセットISO-8859-1は、レガシーなHTML文書とHTTP応答のようなMIMEメッセージを経由して伝送される文書において、文書のメディアタイプが "text" ("text/html"など) であるときのデフォルトのエンコーディングである。
第2部 ラテン2
中央ヨーロッパ
ラテン文字を使う中央ヨーロッパおよび東ヨーロッパの言語に対応している。次の言語が含まれる。ボスニア語ポーランド語クロアチア語チェコ語スロバキア語スロベニア語ハンガリー語ユーロ記号が欠けていたが、ISO 8859-16版に含まれることになった。
第3部 ラテン3
南ヨーロッパ
トルコ語マルタ語エスペラント。トルコ語に関してはISO 8859-9が、エスペラントに関してはUnicodeが取って替わった。
第4部 ラテン4
北ヨーロッパ
エストニア語ラトビア語リトアニア語グリーンランド語サーミ語
第5部 ラテン/キリル キリル文字を使うほとんどのスラブ言語をカバーする。以下の言語が含まれる。ベラルーシ語ブルガリア語マケドニア語ロシア語セルビア語ウクライナ語(一部[3])。
第6部 ラテン/アラビア アラビア語で広く使われる文字のほとんどをカバーする。アラビア文字を使う他の言語には対応していない。表示にはBiDi筆記体文字の接合の処理が必要。
第7部 ラテン/ギリシア 現代ギリシア語モノトニック・ギリシア語(en) をカバーする。古代ギリシア語でもアクセントを使わないかモノトニック表記法で表記する場合には使えるが、ポリトニック・ギリシア語(en)で使用するダイアクリティカルマークが欠けている。Unicodeではこれらの欠けている文字を導入している。
第8部 ラテン/ヘブライ イスラエルで使われている現代ヘブライ文字をカバーする。現実には以下の2つの異なるエンコーディングが存在する。論理順序 (表示にBiDi処理が必要) と視覚 (left-to-right) 順序(事実上、bidi処理と改行処理を行った後のも)。
第9部 ラテン5
トルコ語
多くの部分はISO 8859-1と同じだが、めったに使わないアイスランド語の文字をトルコ語のものに置き換えている。クルド語にも使える。
第10部 ラテン6
北ゲルマン語群
ラテン4を再配列したもの。北ゲルマン語群でより役に立つと考えられている。バルト語派はラテン4 を使うことのほうが多い。
第11部 ラテン/タイ タイ語に必要なグリフのほとんどを含む。TIS-620と同じ。
存在しない
第12部
ラテン/デーヴァナーガリー デーヴァナーガリー用に8859の部を作成する作業は、1997年に公式に破棄された。ISCIIUnicode/ISO/IEC 10646がデーヴァナーガリーをカバーする。
第13部 ラテン7
バルト語
バルト語派で使われ、ラテン4とラテン6には含まれていないいくつかの文字を追加したもの。
第14部 ラテン8
ケルト語
ゲール語ブルトン語などのケルト語派をカバーする。
第15部 ラテン9 8859-1の改訂。いくつかのほとんど使われない記号を取り除き、ユーロ記号 や文字 Š, š, Ž, ž, Œ, œ, Ÿで置き換えたことにより、フランス語フィンランド語およびエストニア語を完全にカバーした。
第16部 ラテン10
南東ヨーロッパ
アルバニア語クロアチア語ハンガリー語イタリア語ポーランド語ルーマニア語スロベニア語で使うことを意図しているが、フィンランド語、フランス語、ドイツ語、アイルランド・ゲール語 (新正書法) でも使える。文字よりも記号に焦点を当てている。国際通貨記号ユーロ記号で置き換えられている。
  1. ^ 通常IJで表されるIJ/ij(文字IJ)だけは欠けている。
  2. ^ a b 足りない文字はISO 8859-15に含まれる。
  3. ^ 1991年ウクライナ語に再導入された Ґ/ґ 文字が欠けている。

ISO 8859の各部はしばしば、互いに借用し合っている言語に対応するよう設計されているので、各言語で必要とされる文字は、通常は1つの部に収容されている。しかしながら、文字と言語の組み合わせによっては転写なしでは収容できない。変換を可能な限りスムーズにしようとする努力がなされてきた。たとえば、ドイツ語はその7つの特殊文字をすべてのラテン変種 (1-4, 9-10, 13-16) で同じ符号位置に持ち、多くの符号位置で文字のセット間の違いはダイアクリティカルマークにのみ存在する。とくに、1-4の変種は共同で設計され、すべての符号化文字は与えられた位置に出現するか、あるいはまったく出現しないという特性を持つ。

[編集]

ISO 8859の各部の比較
2進 8進 10進 16進 1 2 3 4 5 6 7 8 9 10 11 13 14 15 16
10100000 240 160 A0 ノーブレークスペース (NBSP)
10100001 241 161 A1 ¡ Ą Ħ Ą Ё     ¡ Ą ¡ Ą
10100010 242 162 A2 ¢ ˘ ĸ Ђ   ¢ ¢ Ē ¢ ¢ ą
10100011 243 163 A3 £ Ł £ Ŗ Ѓ   £ Ģ £ Ł
10100100 244 164 A4 ¤ Є ¤ ¤ Ī ¤ Ċ
10100101 245 165 A5 ¥ Ľ   Ĩ Ѕ   ¥ Ĩ ċ ¥
10100110 246 166 A6 ¦ Ś Ĥ Ļ І   ¦ Ķ ¦ Š
10100111 247 167 A7 § Ї   § §
10101000 250 168 A8 ¨ Ј   ¨ Ļ Ø š
10101001 251 169 A9 © Š İ Š Љ   © Đ ©
10101010 252 170 AA ª Ş Ē Њ   ͺ × ª Š Ŗ ª Ș
10101011 253 171 AB « Ť Ğ Ģ Ћ   « Ŧ « «
10101100 254 172 AC ¬ Ź Ĵ Ŧ Ќ ، ¬ Ž ¬ ¬ Ź
10101101 255 173 AD ソフトハイフン (SHY) SHY
10101110 256 174 AE ® Ž   Ž Ў     ® Ū ® ź
10101111 257 175 AF ¯ Ż ¯ Џ   ¯ Ŋ Æ Ÿ ¯ Ż
10110000 260 176 B0 ° А   ° ° °
10110001 261 177 B1 ± ą ħ ą Б   ± ą ± ±
10110010 262 178 B2 ² ˛ ² ˛ В   ² ē ² Ġ ² Č
10110011 263 179 B3 ³ ł ³ ŗ Г   ³ ģ ³ ġ ³ ł
10110100 264 180 B4 ´ Д   ΄ ´ ī Ž
10110101 265 181 B5 µ ľ µ ĩ Е   ΅ µ ĩ µ µ
10110110 266 182 B6 ś ĥ ļ Ж   Ά ķ
10110111 267 183 B7 · ˇ · ˇ З   · · ·
10111000 270 184 B8 ¸ И   Έ ¸ ļ ø ž
10111001 271 185 B9 ¹ š ı š Й   Ή ¹ đ ¹ ¹ č
10111010 272 186 BA º ş ē К   Ί ÷ º š ŗ º ș
10111011 273 187 BB » ť ğ ģ Л ؛ » ŧ » »
10111100 274 188 BC ¼ ź ĵ ŧ М   Ό ¼ ž ¼ Œ
10111101 275 189 BD ½ ˝ ½ Ŋ Н   ½ ½ œ
10111110 276 190 BE ¾ ž   ž О   Ύ ¾ ū ¾ Ÿ
10111111 277 191 BF ¿ ż ŋ П ؟ Ώ   ¿ ŋ æ ¿ ż
11000000 300 192 C0 À Ŕ À Ā Р   ΐ   À Ā Ą À
11000001 301 193 C1 Á С ء Α   Á Į Á
11000010 302 194 C2 Â Т آ Β   Â Ā Â
11000011 303 195 C3 Ã Ă   Ã У أ Γ   Ã Ć Ã Ă
11000100 304 196 C4 Ä Ф ؤ Δ   Ä Ä
11000101 305 197 C5 Å Ĺ Ċ Å Х إ Ε   Å Å Ć
11000110 306 198 C6 Æ Ć Ĉ Æ Ц ئ Ζ   Æ Ę Æ
11000111 307 199 C7 Ç Į Ч ا Η   Ç Į Ē Ç
11001000 310 200 C8 È Č È Č Ш ب Θ   È Č Č È
11001001 311 201 C9 É Щ ة Ι   É É
11001010 312 202 CA Ê Ę Ê Ę Ъ ت Κ   Ê Ę Ź Ê
11001011 313 203 CB Ë Ы ث Λ   Ë Ė Ë
11001100 314 204 CC Ì Ě Ì Ė Ь ج Μ   Ì Ė Ģ Ì
11001101 315 205 CD Í Э ح Ν   Í Ķ Í
11001110 316 206 CE Î Ю خ Ξ   Î Ī Î
11001111 317 207 CF Ï Ď Ï Ī Я د Ο   Ï Ļ Ï
11010000 320 208 D0 Ð Đ   Đ а ذ Π   Ğ Ð Š Ŵ Ð
11010001 321 209 D1 Ñ Ń Ñ Ņ б ر Ρ   Ñ Ņ Ń Ñ Ń
11010010 322 210 D2 Ò Ň Ò Ō в ز     Ò Ō Ņ Ò
11010011 323 211 D3 Ó Ķ г س Σ   Ó Ó
11010100 324 212 D4 Ô д ش Τ   Ô Ō Ô
11010101 325 213 D5 Õ Ő Ġ Õ е ص Υ   Õ Ő
11010110 326 214 D6 Ö ж ض Φ   Ö Ö
11010111 327 215 D7 × з ط Χ   × Ũ × × Ś
11011000 330 216 D8 Ø Ř Ĝ Ø и ظ Ψ   Ø Ų Ø Ű
11011001 331 217 D9 Ù Ů Ù Ų й ع Ω   Ù Ų Ł Ù
11011010 332 218 DA Ú к غ Ϊ   Ú Ś Ú
11011011 333 219 DB Û Ű Û л   Ϋ   Û   Ū Û
11011100 334 220 DC Ü м   ά   Ü   Ü
11011101 335 221 DD Ý Ŭ Ũ н   έ   İ Ý   Ż Ý Ę
11011110 336 222 DE Þ Ţ Ŝ Ū о   ή   Ş Þ   Ž Ŷ Þ Ț
11011111 337 223 DF ß п   ί ß ฿ ß
11100000 340 224 E0 à ŕ à ā р ـ ΰ א à ā ą à
11100001 341 225 E1 á с ف α ב á į á
11100010 342 226 E2 â т ق β ג â ā â
11100011 343 227 E3 ã ă   ã у ك γ ד ã ć ã ă
11100100 344 228 E4 ä ф ل δ ה ä ä
11100101 345 229 E5 å ĺ ċ å х م ε ו å å ć
11100110 346 230 E6 æ ć ĉ æ ц ن ζ ז æ ę æ
11100111 347 231 E7 ç į ч ه η ח ç į ē ç
11101000 350 232 E8 è č è č ш و θ ט è č č è
11101001 351 233 E9 é щ ى ι י é é
11101010 352 234 EA ê ę ê ę ъ ي κ ך ê ę ź ê
11101011 353 235 EB ë ы ً λ כ ë ė ë
11101100 354 236 EC ì ě ì ė ь ٌ μ ל ì ė ģ ì
11101101 355 237 ED í э ٍ ν ם í ķ í
11101110 356 238 EE î ю َ ξ מ î ī î
11101111 357 239 EF ï ď ï ī я ُ ο ן ï ļ ï
11110000 360 240 F0 ð đ   đ ȑ ِ π נ ğ ð š ŵ ð đ
11110001 361 241 F1 ñ ń ñ ņ ё ّ ρ ס ñ ņ ń ñ ń
11110010 362 242 F2 ò ň ò ō ђ ْ ς ע ò ō ņ ò
11110011 363 243 F3 ó ķ ѓ   σ ף ó ó
11110100 364 244 F4 ô є   τ פ ô ō ô
11110101 365 245 F5 õ ő ġ õ ѕ   υ ץ õ ő
11110110 366 246 F6 ö і   φ צ ö ö
11110111 367 247 F7 ÷ ї   χ ק ÷ ũ ÷ ÷ ś
11111000 370 248 F8 ø ř ĝ ø ј   ψ ר ø ų ø ű
11111001 371 249 F9 ù ů ù ų љ   ω ש ù ų ł ù
11111010 372 250 FA ú њ   ϊ ת ú ś ú
11111011 373 251 FB û ű û ћ   ϋ   û ū û
11111100 374 252 FC ü ќ   ό   ü   ü
11111101 375 253 FD ý ŭ ũ §   ύ LRM ı ý   ż ý ę
11111110 376 254 FE þ ţ ŝ ū ў   ώ RLM ş þ   ž ŷ þ ț
11111111 377 255 FF ÿ ˙ џ       ÿ ĸ   ÿ

どの部でも位置 0xA0 には必ずノーブレークスペースが存在し、0xAD にはほとんどの部でソフトハイフンが存在する。これらの位置には改行のみを示している。他の空のフィールドは未割り当てであるか、使用しているシステムが表示できないかのいずれかである。

ISO/IEC 8859-7:2003とISO/IEC 8859-8:1999の版で新規追加された文字がある。LRMはleft-to-right mark (U+200E) の頭字語で、RLMはright-to-left mark (U+200F) の頭字語である。

UnicodeおよびUCSとの関係[編集]

1991年から、Unicode Consortiumは、ISOと協力してUnicode標準ISO/IEC 10646: 国際符号化文字集合 (UCS) を開発する作業をしてきた。この2つの標準が作成された目的の1つは、各文字に (当初は) 16ビットの符号値を割り当てることによって ISO 8859の文字レパートリを統合することであった。いくつかの符号値は未割り当てのまま残った。時を経て、それらのモデルは文字を固定ビット幅の値よりむしろ抽象的な数値の符号値にマップするよう再構成された。その結果、より多くの符号位置と符号化法に対応できるようになった。

UnicodeとISO/IEC 10646は現在、100万を超える符号空間におよそ100,000の文字を割り当て、すべての利用可能な符号位置を表現できるいくつかの標準エンコーディングを定義している。UnicodeとUCSの標準エンコーディングは1つから4つの8ビット符号値の並びを使用する (UTF-8) か、1つか2つの16ビット符号値を使用する (UTF-16) か、1つの32ビット符号値を使用する(UTF-32もしくはUCS-4)。1つの16ビット符号値を使用して利用可能な符号位置の17分の1だけを表現可能なより古いエンコーディング (UCS-2) も存在する。これらの符号化形式のうち、UTF-8のバイト並びのみが固定された順序を持っている。他のものは特殊な符号化帯域外の手段で解決される、プラットフォーム依存のバイト順序の問題がある。

より新しいバージョンのISO 8859は文字をそのUnicode/UCS名称とU+nnnn記法で表現している。これは事実上、ISO 8859の各部をUCSの非常に小さな部分集合から単一の8ビットバイトに写像する、Unicode/UCSの符号化方式の1つになったに等しいと言えよう。UnicodeとUCSの最初の256文字はISO-8859-1の文字と同じである。

ISO 8859の部やその派生を含む1バイトキャラクタセットは、安定していてソフトウェアへの実装が簡単であるという利点から、1990年代を通じて好んで使われてきた。つまり、1バイトと1文字が等価であるという単純な構造であるため、ほとんどの単一言語アプリケーションにとっては十分実用になるいっぽう、結合文字や字形の変化がない。

1文字に複数バイトを使用するためには比較的多くのコンピュータ資源が必要だが、これが減少し始めたため、プログラミング言語とオペレーティングシステムはそのシステムのコードページに加え、Unicodeのネイティブサポートを追加した。Windows NTはきわめて早期にUnicodeを導入した。しかしながら、Windows 9xのUnicodeサポートは特殊な互換レイヤをリンクするか、Windows APIのきわめて限られたサブセットのみを使って設計する必要があったため、Unicodeはほとんど使われることがなかった。Unicode対応オペレーティングシステムが広まるにつれ、ISO 8859や他のレガシーエンコーディングは人気を失っていった。ISO 8859と1バイト文字モデルの残存勢力が、多くのオペレーシングシステム、プログラミング言語、データ格納システム、ネットワークアプリケーション、表示ハードウェア、エンドユーザアプリケーションソフトウェアの奥深くに残っているが、昨今のコンピュータアプリケーションはほとんどがUnicodeを内部的に使用しており、他のエンコーディングとの相互変換が必要な場合には変換テーブルに頼っている。

開発状況[編集]

ISO/IEC 8859標準はISO/IEC第1合同技術委員会 (JTC 1) 第2小委員会 (SC 2) 第3作業部会 (WG 3) によって保守されていた。2004年6月、WG 3は解散し、保守業務は SC 2 に転送された。小委員会に唯一残っている作業部会であるWG 2はISO/IEC 10646の開発に専念しているため、現在ISO/IEC 8859標準は更新されていない。

参考文献[編集]

  • ISO/IEC 8859文字コード標準と正確に対応することを意図したECMA標準が、以下に存在する (英語) :
    • Standard ECMA-94: 8-Bit Single Byte Coded Graphic Character Sets - Latin Alphabets No. 1 to No. 4 2nd edition (1986年6月)
    • Standard ECMA-113: 8-Bit Single-Byte Coded Graphic Character Sets - Latin/Cyrillic Alphabet 3rd edition (1999年12月)
    • Standard ECMA-114: 8-Bit Single-Byte Coded Graphic Character Sets - Latin/Arabic Alphabet 2nd edition (2000年12月)
    • Standard ECMA-118: 8-Bit Single-Byte Coded Graphic Character Sets - Latin/Greek Alphabet (1986年12月)
    • Standard ECMA-121: 8-Bit Single-Byte Coded Graphic Character Sets - Latin/Hebrew Alphabet 2nd edition (2000年12月)
    • Standard ECMA-128: 8-Bit Single-Byte Coded Graphic Character Sets - Latin Alphabet No. 5 2nd edition (1999年12月)
    • Standard ECMA-144: 8-Bit Single-Byte Coded Character Sets - Latin Alphabet No. 6 3rd edition (2000年12月)
  • ISO/IEC 8859-1からUnicodeへのマッピングテーブルがプレーンテキストファイルとしてUnicodeのFTPサイトに存在する。