コードページ437

コードページ437とは、オリジナルのIBM PC（パーソナルコンピュータ）の文字セットである。CP437やOEM-US、OEM 437、PC-8、DOS Latin USとしても知られる。32番から126番のASCIIコード、アクセント付き文字（ダイアクリティカルマーク）の拡張範囲のコード、ギリシア文字がいくつか、アイコン、線を引くための記号、これらが含まれている。「OEMフォント」や「high ASCII」、「拡張ASCII」（同様に互換性のないASCII拡張の1つ）として言及されることもある。
この文字セットはEGAおよびVGAに互換性があるグラフィックカードの初期フォントとして残っている。PCが再起動してフォントが記録媒体から読み込まれる前に表示されるテキストは一般的にこの文字セットで描画される。IBM PCの時代に開発された多くのファイルフォーマットもまたコードページ437がもとになっている。
ディスプレイアダプタ.
9×14ピクセルのフォントとしてIBM Monochrome Display Adapter (MDA) のROMに、またColor Graphics Adapter (CGA) カードの8×8ピクセルのフォントとしてこのフォントはオリジナルのIBM PCに含まれていた。
これらのディスプレイアダプタはすべて各文字のセルに8ビット文字のコードポイントが含まれているテキストモードが存在していて（はこちらを参照）、256通りの値が表示可能文字として使えるようになっていた。ASCIIで非表示可能文字として予約されている0番から31番の範囲のコードも含めて、256コードすべてが表示可能文字としてROMに割り当てられた。
東ヨーロッパの様々なPC機種で異なる文字セットが使われていて、ジャンパやCMOSの設定でユーザーが選べるものもあった。現地語のテキストを表示ができるようにしつつもコードポイントを多くの罫線素片で共有するなどして、可能な限りコードページ437と合うようにこれらの文字セットは設計された。
Altコード.
の数字の組み合わせはコードページ437とその他のDOSコードページがもとになっている。Altキーを押しつつテンキーで3桁で十進法のAltキーコードを入力することによってユーザーは文字を入力できる。マイクロソフトによって（CP1252などの）専用の文字セットに、後にUnicodeにWindowsで切り替えがなされたとき、もとのコードは残された（マイクロソフトはテンキーで数字の前に0を入力することでCP1252など実際の文字セットでコードを入力できるようにした）。
文字セット.
コードページ437は次の表に表される。対応するUnicodeのコードポイントと十進法でのコードポイントが各文字とあわせて表示される。一部のコードポイントには対応するUnicodeのコードポイントが複数あるため下の注記も見ること。十進法のコードはAltコードとして知られてもいる。
256通りすべての8ビットコードにグラフィックがROMで提供されているが、一部のコードポイント、特に1番から31番の範囲と127番のコードは一部のAPIでは表示されない。代わりに制御文字として解釈される。例えばオリジナルのIBM PCでは多くのテキスト出力方法ではそれらのコードはBEL、BS、CR、LFとして解釈される。また多くのプリンタでもこれらの文字は印刷ができなかった。
脚注.
Unicodeに変換するときには一部のコードは一対一にUnicodeで対応するものがないことに気を付けるべきである。何が正しい選択かは状況による。
歴史.
ビル・ゲイツは1995年10月2日号の"Fortune Magazine"のビル・ゲイツとポール・アレンとのインタビューの中でワングのワードプロセッサの文字セットからコードページ437の範囲はとられたと述べている。
デイビッド・J・ブラッドリー（PCのBIOSの開発者）のインタビューによると、Andy Saenz（ビデオカードの責任者）、Lew Eggebrecht（PCの主任技術者）、また彼自身によってシアトルからアトランタへの飛行機に乗っているときの4時間の会議中にこれらの文字は定められた。
表示文字の選ばれ方に関する内部規則がある。
マイクロソフトによってフォントのデザイナーにサポートすることが推奨されているWGL4セットの一部として、Windowsの多くのフォントはこれらの特別な表示文字は示したUnicodeのインデックスに含まれている。（少なくとも一部の解像度において、等幅のラスターフォントファミリであるTerminalはコードページ437の文字すべてを持つ初期のフォントである。）これらの文字をコードページ437のコードポイントから直接表示するためにMS LinedrawというWindowsのフォントはコードページ437の文字すべてを持ち、制限付きながらも、DOS向けのテキストをDOSで表示したように今のWindowsマシンで表示できるようにしている。
国際化.
大体128から175の数値で国際文字が一続きにコードページ437に存在する。しかしながら多くの西洋の言語に大切ないくつかの文字が欠けている。
セント(¢)、ポンド(£)、円/元(¥)の通貨記号といっしょに以前使われていたヨーロッパの通貨記号がいくつかある。フローリン（ƒ、オランダ）やペセタ（₧、スペイン）である。スペインのペセタは国際的な通用力を持っていたわけでもなく、また「Pt」、「Pta」、「Pts」、「Ptas」のように省略されていただけであってそれ自体の記号はなかったため、後者の存在は異例である。ただしIBM Electric typewriterのスペインモデルでもその記号に独立した位置づけがされていた。
コードページ850(DOS Latin-1)やコードページ850(DOS 中央ヨーロッパ)、コードページ737(DOS ギリシア語)のような後にできたのODS用の文字セットでは、混ぜ合わせた文字（"例" 二重線の横線/単線の縦線）は無くしつつも、単線および二線の罫線素片を残してコードページ437との互換性を部分的に保ちつつ国際的な使用をするために隙間がなくなっている。UnicodeとマイクロソフトのWGL4の文字セットに似ている字形がコードページ437の文字すべてにあり、そのためWindowsのほとんどのフォントで、またLinuxカーネルの標準VGAフォントで、X11のISO 10646フォントで使うことができる。