ISO/IEC 8859-1
ISO 8859-1(より正式にはISO/IEC 8859-1)はISO/IEC 8859の第一部であり、ラテンアルファベットの文字コード標準である。よりくだけた言い方ではLatin-1と呼ばれる。最初はISOによって開発されたが、後にISOとIECによって合同で保守されている。この標準に追加の文字を(16進符号0x00-0x1Fの「C0領域」と、0x80-0x9F「C1領域」の範囲に)割り当てたものは、2つの広く使われているキャラクタセットの基となる。ISO-8859-1(余分なハイフンに注意)とWindows-1252と呼ばれるものである。
2004年6月、8ビット符号化文字集合の整備を担当するISO/IECの作業部会は、国際符号化文字集合 (UCS) とUnicodeの開発に専念するために解散し、ISO 8859-1を含むすべてのISO 8859の整備を中止した。コンピュータアプリケーションにおいては、(UTF-8やUTF-16のような)完全なUCSサポートを提供するエンコーディングが、ISO 8859-1に基づくエンコーディングよりもますます多く使われるようになりつつある。
ISO 8859-1が符号化しているものは「ラテン文字第1部」と呼ばれ、ラテン用字系の191文字からなる。この文字エンコーディングはアメリカ州、西ヨーロッパ、オセアニア、およびアフリカの多くで使われている。東アジア言語のほとんどの標準ローマ字表記でも広く使われている。
各文字は単一の8ビット符号値で符号化される。これらの符号値は、データ交換システムが以下のヨーロッパ言語で通信する際の需要をほぼ満たす が、足りない文字のためにわずかな例外がある。これについては注記を参照されたい。
上の一覧に挙げたいくつかの言語では正しい印刷用の引用符が足りない。「fr」「fr」、「"」「'」のみが含まれている。
加えて、このエンコーディングはアポストロフィーと方向付き単引用符に正しい文字を提供しない。が、テキスト中で6型/9型の引用符やアポストロフィーの代わりに前進付きグレイヴ・アクセントと前進付きアキュート・アクセント(これらはどちらもISO 8859-1に含まれる)を使うやりかたもある。なお、このやりかただと、これらの文字が傾いたくさび型のグリフで表示される書体でもうまく表示できる。
ISO 8859-1はDECの有名なVT220端末で使われていたMultinational Character Setをもとに作られた。開発は欧州電子計算機工業会(ECMA、現Ecmaインターナショナル)と米国国家規格協会が共同で行い、1984年12月ECMA-94として制定、1985年3月にECMA-94として出版された。ただし、この時点のECMA-94は、13/07「×」と15/07「÷」を含んでいなかった。1986年6月にECMA-94は改定されており、
は規格の一部としてISO/IEC 8859-2、ISO/IEC 8859-3、およびISO/IEC 8859-4をも含んでいる。
ECMA-94の一部であるISO 8859-1およびISO 8859-2は、1987年2月15日にISOの国際規格として制定された。また、ISO 8859-3およびISO 8859-4は、少し遅れて1988年4月15日に制定されている。
ISO/IEC 8859-1にはほとんどのフランス語テキストの表記に十分な文字が含まれているが、使用頻度の低い少数の文字が欠けている。文字 Ĳ の単一グリフによる表現、外国の固有名詞や少数の外来語で使われるフィンランド語の文字(ŠとŽ)、印刷用の引用符、ダッシュ、およびユーロ記号 (en) (€) やダガー (†) のようなよく使われる記号も不足している。
ISO/IEC 8859-15はISO/IEC 8859-1の更新版として開発され、これらの文字のいくつかを提供した。しかしそのためには、ISO/IEC 8859-1からあまり使われない文字をいくつか取り除く必要があった。取り除かれた文字は以下の通りで、分数記号や単独のダイアクリティカルマークが含まれる。¤, ¦, ¨, ´, ¸, ¼, ½, ¾ である。
ISO/IEC 8859-1によって符号化される191文字はすべて「図形」(graphic。制御符号でない文字を表すISOの用語)であり、かつほとんどのWebブラウザと互換性があるため、以下の表でグリフとして示すことができる。空白、ノーブレークスペース、およびソフトハイフン文字は通常不可視なので、その名前の省略形によって表現してある。すべての他の文字はそのまま表現してある。行見出しと列見出しは8ビット符号値を作り出すための16進数による桁の組み合わせを示す。たとえば、文字 L は符号値 4C である。
符号値00–1F, 7F–9FはISO/IEC 8859-1では文字を割り当てていない。
下位領域の20から7E(G0部分集合)はISO 646 US版(通称ASCII)のG0部分集合と正確に同じマッピングである。ISO 2022の指示シーケンスは"ESC ( B"。上位領域のA0からFF(G1部分集合)はISO 2022のシーケンス"ESC . A"で指示される部分集合と正確に同じマッピングである。
ISO/IEC 8859-1標準は、長い間多数の 文字マッピング(別名キャラクタセット、charsets、もしくはコードページ)の基盤となってきた。キャラクタセットのうちもっとも有名なものは ISO-8859-1とWindows-1252である。これらのマッピングはどちらもISO/IEC 8859-1の上位集合である。すなわち、これらは00–1F, 7F, および 80〜9F範囲にある符号値の少なくとも一部に追加の文字をマッピングすることにより、標準の191文字に割り当てを追加する。
1992年、Internet Assigned Numbers Authorityは文字マッピングISO_8859-1:1987をインターネットで使うために登録した。ISO_8859-1:1987はISO 8859-1の上位集合であり、その推奨MIME名ISO-8859-1(ISO 8859-1に余分なハイフンが付いていることに注意)でより広く知られている。この写像はC0およびC1制御文字を符号値00–1F, 7F, および80–9Fに割り当てている。8ビットで可能なあらゆる値に割り当てをしているため、256文字を提供していることになる。
ISO-8859-1は(少なくとも規格によると)HTTP経由で配信され、"text/"で始まるMIMEタイプの文書における既定のエンコーディングである。ISO-8859-1はある種の記述的なHTTPヘッダの値の既定のエンコーディングであり、この文字集合を使うロケールのほとんどのUNIXマシン上でX Window Systemによって使われる標準エンコーディングである。ISO-8859-1はさらにHTML 3.2文書で許される文字レパートリの基になっている(しかしながら、HTML 4.0はUnicodeに基づく)。
エスケープシーケンス(ISO/IEC 6429やISO/IEC 2022に由来する)はISO-8859-1で符号化されているとラベル付けされた文書では解釈されない。上述の正式名称や推奨MIME名ばかりでなく、以下のような別名がISO-8859-1のために登録されている: ISO_8859-1, ISO-8859-1, iso-ir-100, csISOLatin1, latin1, l1, IBM819, CP819. ISO-8859-1はISO/IEC 10646とUnicodeの最初の256個の符号位置にも組み込まれた。
注: これらの制御文字のほとんどは、移植可能なISO-8859-1で符号化されたプレーンテキスト文書で使うために設計されたわけではなく、動作が標準化されている数個の文字を例外として、特定のプロトコルや機器でのみ使われる。例外は次の通り。TAB (09), LF (0A), CR (0D), NEL (85)。TAB以外は行の終わりや段落の区切りを符号化するために使われ、TABはしばしばホワイトスペースと等価であるとみなされる。しかしながら FF (0C) もプレーンテキスト文書を解釈するいくつかのアプリケーションで追加の無視可能な行頭のホワイトスペースとして広く受け入れられ、印刷時の明示的な改ページ位置を示すために使われる。
また、いくつかのエンコーディングでは、BS (08) を使って印刷機器上での複数文字の重ね打ちをエミュレートすることによって追加の文字を作成することを認めている。
いくつかのISO標準(たとえば ISO 2022)ではいくつかの制御記号に特定の機能を割り当てている。
SO (0E), SI (0F), DLE (10), ESC (1B) および SS2 (8E) が後続の文字エンコーディングの制御や、複数のエンコーディング間での切り替えに使われる。
NUL文字 (00) はいくつかのプログラミング言語における文字列の終端子やデータベースレコードの埋め草として広く使われ、無視されなければならず、符号化されたテキストの一部ではない。STX (02) とETX (03) はいくつかの伝送プロトコルでフレームの区切りとして広く使われる。SUB (1A) も入力伝送ストリームで検出されたエラーを示すために広く使われ、図形的に描画されることもある。DC1 (11) とDC3 (13) はXON/XOFFプロトコルで伝送速度の制御に広く使われる。最後に、EM (19) やEOT (04) はいくつかのテキストファイル形式でファイル終端マーカーとして使われることがある。
実際にはWindows-1252で符号化されているのに、誤ってキャラクタセットISO-8859-1のラベルを付けることは、きわめてよくある誤りである。Windows-1252では、0x80から0x9Fの間の符号は文字と約物に使われるが、ISO-8859-1では制御符号である。多くのWebブラウザや電子メールクライアントはこのようなラベル付けの誤りに対応するため、ISO-8859-1の制御符号をWindows-1252の文字と解釈するが、これは標準に準拠した振る舞いではなく、ISO-8859-1とラベル付けされた内容ではこういった文字を生成することを避けるよう注意が払われるべきである。
Apple MacintoshコンピュータはMac OS Romanと呼ばれる文字エンコーディングを、1984年に導入した。Mac Romanは西欧のDTPに適切であることを意図していた。Mac RomanはISO-8859-1と同様ASCIIの上位集合であり、ISO-8859-1の文字をほとんど含んでいるが、文字の配列は完全に異なる。Internet Assigned Numbers Authorityが "Macintosh" として登録した後継バージョンは国際通貨記号 ¤ をユーロ記号 € で置き換えた。ISO 8859-1に含まれるがこの集合に含まれないわずかな文字は、しばしば古いMacintoshブラウザ(Internet Explorer for Macの最終版を含む)でWebサイト上のテキストを編集するとき、トラブルの元となる。しかしながらMacRomanでは、Windows-1252がC1符号値の範囲に持つ追加の文字にはすべて対応しており、わずかに不足している少数の文字を除き、グリフの符号値番号をマッピングし直すことによって、MacintoshでISO-8859-1(C1制御文字を含む)やWindows-1252として符号化/マークされたファイル (および電子メール) を送受信できる。
DOSにはコードページ850が存在し、これはISO-8859-1が持つすべての印字可能文字を (配列は完全に異なるものの) 持ち、加えてコードページ437の最も広く使われる図形文字も含む。