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ビット符号値で符号化される。これらの符号値は、データ交換システムが以下のヨーロッパ言語で通信する際の需要をほぼ満たす が、足りない文字のためにわずかな例外がある。これについては注記を参照されたい。

現代のアルファベットを完全に網羅している言語
アフリカーンス語
アルバニア語
ブルトン語
デンマーク語
英語（アメリカ合衆国と現代イギリス）
フェロー語
ガリシア語
ドイツ語アイスランド語
アイルランド語（新しい正書法）
イタリア語
ラテン語（基本的な古典的正書法）
ルクセンブルク語（基本的な古典的正書法）
ノルウェー語（ブークモールとニーノシュク）
オック語
ポルトガル語（ヨーロッパのポルトガル語とブラジル・ポルトガル語）レト・ロマンス語
スコットランド・ゲール語
スペイン語
スワヒリ語
スウェーデン語
ワロン語
日本語 (訓令式ローマ字)

アルファベットをほぼ完全にカバーしているため広く対応している言語
オランダ語（「」「」が足りないがこれらは電子形式では常に「」や「」として表現されるべきである）
エストニア語（外来語で使われる「」「」「」「」が足りない）
 Windows-1252とISO/IEC 8859-15はこれらを含むことに注意
フランス語（「」「」およびきわめてまれな「」が足りない; これらは一般に通常は必要なリガチャなしで「」や「」に置き換えられ、トレマなしで「」に置き換えられる）
 Windows-1252とISO-8859-15はこれらを含むことに注意
フィンランド語（外来語で使われる「」「」「」「」が足りない）
 Windows-1252とISO-8859-15はこれらを含むことに注意

約物と引用符の範囲
上の一覧に挙げたいくつかの言語では正しい印刷用の引用符が足りない。「」「」、「」「」のみが含まれている。

加えて、このエンコーディングはアポストロフィーと方向付き単引用符に正しい文字を提供しない。が、テキスト中で6型/9型の引用符やアポストロフィーの代わりに前進付きグレイヴ・アクセントと前進付きアキュート・アクセント（これらはどちらもISO 8859-1に含まれる）を使うやりかたもある。なお、このやりかただと、これらの文字が傾いたくさび型のグリフで表示される書体でもうまく表示できる。

 歴史 
ISO 8859-1はDECの有名な端末で使われていたをもとに作られた。開発は欧州電子計算機工業会（ECMA、現Ecmaインターナショナル）と米国国家規格協会が共同で行い、1984年12月ECMA-94として制定、1985年3月にECMA-94として出版された。ただし、この時点のECMA-94は、13/07「×」と15/07「÷」を含んでいなかった。1986年6月にECMA-94は改定されており、
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-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 である。

{| class="wikitable Unicode" style="text-align:center"
|-
!colspan="17" style="background-color:#fcb;"|ISO/IEC 8859-1
|-
|
!x0!!x1!!x2!!x3!!x4!!x5!!x6!!x7!!x8!!x9!!xA!!xB!!xC!!xD!!xE!!xF
|-
!0x
|rowspan="2" colspan="16" style="background-color:#CFC"|
|-
!1x
|-
!2x
|style="text-decoration: underline"|SP||!||"||#||$||%||&||'||(||)||*||+||,||-||.||/
|-
!3x
|0||1||2||3||4||5||6||7||8||9||:||;||<||=||>||?
|-
!4x
|@||A||B||C||D||E||F||G||H||I||J||K||L||M||N||O
|-
!5x
|P||Q||R||S||T||U||V||W||X||Y||Z||[||||]||^||_
|-
!6x
|`||a||b||c||d||e||f||g||h||i||j||k||l||m||n||o
|-
!7x
|p||q||r||s||t||u||v||w||x||y||z||{|||||}||~
|-
!8x
|rowspan="2" colspan="16" style="background-color:#cfc"|
|-
!9x
|-
!Ax
|style="font-size: x-small; text-decoration: underline"|NBSP
|¡
|¢
|£
|¤
|¥
|¦
|§
|¨
|©
|ª
|«
|¬
|style="font-size: x-small; text-decoration: underline"|SHY
|®
|¯
|-
!Bx
|°
|±
|²
|³
|´
|µ
|¶
|·
|¸
|¹
|º
|»
|¼
|½
|¾
|¿
|-
!Cx
|À||Á||Â||Ã||Ä||Å||Æ||Ç||È||É||Ê||Ë||Ì||Í||Î||Ï
|-
!Dx
|Ð||Ñ||Ò||Ó||Ô||Õ||Ö||×||Ø||Ù||Ú||Û||Ü||Ý||Þ||ß
|-
!Ex
|à||á||â||ã||ä||å||æ||ç||è||é||ê||ë||ì||í||î||ï
|-
!Fx
|ð||ñ||ò||ó||ô||õ||ö||÷||ø||ù||ú||û||ü||ý||þ||ÿ
|}

符号値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文字に割り当てを追加する。

 ISO-8859-1 
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個の符号位置にも組み込まれた。

 符号値 制御文字 省略形 00 空文字 Null character NUL 01 ヘッダ開始 Start of Heading SOH 02 テキスト開始 Start of Text STX 03 テキスト終了 End of Text ETX 04 伝送終了 End of Transmission EOT 05 問い合わせ Enquiry ENQ 06 Acknowledge ACK 07 ベル Bell character BEL 08 1文字後退 Backspace BS 09 水平タブ Tab TAB 0A 改行 Line Feed LF 0B 垂直タブ Vertical Tab VT 0C 書式送り Form Feed FF 0D 復帰 Carriage Return CR 0E シフトアウト Shift Out SO 0F シフトイン Shift In SI 10 データリンク拡張 Data Link Escape DLE 11 装置制御1 Device Control 1 DC1 12 装置制御2 Device Control 2 DC2 13 装置制御3 Device Control 3 DC3 14 装置制御4 Device Control 4 DC4 15 否定応答 Negative-acknowledge character NAK 16 同期信号 Synchronous Idle SYN 17 伝送ブロック終了 End of Transmission Block ETB: 18 キャンセル Cancel character CAN 19 媒体終端 End of Medium EM 1A 置換 Substitute (character) SUB 1B エスケープ Escape character ESC 1C ファイルセパレータ File Separator FS 1D グループセパレータ Group Separator GS 1E レコードセパレータ Record Separator RS 1F ユニットセパレータ Unit Separator US 7F 削除 Delete DEL  符号値 制御文字 省略形 80 Padding Character PAD 81 High Octet Preset HOP 82 Break Permitted Here BPH 83 No Break Here NBH 84 Index IND 85 Next Line NEL 86 Start of Selected Area SSA 87 End of Selected Area ESA 88 Character Tabulation Set HTS 89 Character Tabulation with Justification HTJ 8A Line Tabulation Set VTS 8B Partial Line Forward PLD 8C Partial Line Backward PLU 8D Reverse Line Feed RI 8E Single Shift 2 SS2 8F Single Shift 3 SS3 90 Device Control String DCS 91 Private Use 1 PU1 92 Private Use 2 PU2 93 Set Transmit State STS 94 Cancel Character CCH 95 Message Waiting MW 96 Start of Guarded Area SPA 97 End of Guarded Area EPA 98 Start of String SOS 99 Single Graphic Character Introducer SGCI 9A Single Character Introducer SCI 9B Control Sequence Introducer CSI 9C String Terminator ST 9D Operating System Command OSC 9E Privacy Message PM 9F Application Program Command APC

注: これらの制御文字のほとんどは、移植可能なISO-8859-1で符号化されたプレーンテキスト文書で使うために設計されたわけではなく、動作が標準化されている数個の文字を例外として、特定のプロトコルや機器でのみ使われる。例外は次の通り。TAB , LF (0A), CR (0D), NEL 。TAB以外は行の終わりや段落の区切りを符号化するために使われ、TABはしばしばホワイトスペースと等価であるとみなされる。しかしながら FF (0C) もプレーンテキスト文書を解釈するいくつかのアプリケーションで追加の無視可能な行頭のホワイトスペースとして広く受け入れられ、印刷時の明示的な改ページ位置を示すために使われる。

また、いくつかのエンコーディングでは、BS を使って印刷機器上での複数文字の重ね打ちをエミュレートすることによって追加の文字を作成することを認めている。

いくつかのISO標準（たとえば ISO 2022）ではいくつかの制御記号に特定の機能を割り当てている。
SO (0E), SI (0F), DLE , ESC (1B) および SS2 (8E) が後続の文字エンコーディングの制御や、複数のエンコーディング間での切り替えに使われる。

NUL文字 はいくつかのプログラミング言語における文字列の終端子やデータベースレコードの埋め草として広く使われ、無視されなければならず、符号化されたテキストの一部ではない。STX とETX はいくつかの伝送プロトコルでフレームの区切りとして広く使われる。SUB (1A) も入力伝送ストリームで検出されたエラーを示すために広く使われ、図形的に描画されることもある。DC1 とDC3 はXON/XOFFプロトコルで伝送速度の制御に広く使われる。最後に、EM やEOT はいくつかのテキストファイル形式でファイル終端マーカーとして使われることがある。

 ISO-8859-1とWindows-1252の取り違え 
実際にはWindows-1252で符号化されているのに、誤ってキャラクタセットISO-8859-1のラベルを付けることは、きわめてよくある誤りである。Windows-1252では、0x80から0x9Fの間の符号は文字と約物に使われるが、ISO-8859-1では制御符号である。多くのWebブラウザや電子メールクライアントはこのようなラベル付けの誤りに対応するため、ISO-8859-1の制御符号をWindows-1252の文字と解釈するが、これは標準に準拠した振る舞いではなく、ISO-8859-1とラベル付けされた内容ではこういった文字を生成することを避けるよう注意が払われるべきである。

 類似のキャラクタセット 

Apple Macintoshコンピュータはと呼ばれる文字エンコーディングを、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の最も広く使われる図形文字も含む。