コードページ437

コードページ437:IBM PC初期の文字セット



コードページ437(CP437)は、オリジナルのIBM PCで使われた文字セットであり、PC-8DOS Latin USとしても知られています。この文字セットは、ASCIIコードに加えて、アクセント付き文字、ギリシャ文字、記号、罫線などの拡張文字を含んでいます。特に、初期のEGAやVGAグラフィックカードのフォントとして利用され、PC起動時に表示されるテキストに用いられていました。

ディスプレイアダプタと文字表示



IBM PCでは、MDA(モノクロディスプレイアダプタ)では9×14ピクセルのフォント、CGA(カラーグラフィックスアダプタ)では8×8ピクセルのフォントとして、コードページ437の文字が利用されました。これらのアダプタでは、各文字に8ビットのコードポイントが割り当てられ、256通りの文字を表示できました。ASCIIコードで制御文字として予約されている範囲(0-31)も、表示可能な文字としてROMに割り当てられました。

初期のPCでは、東ヨーロッパ向けの機種で異なる文字セットが使用されることもあり、ジャンパやCMOSの設定で切り替え可能でした。これらの文字セットは、現地語表示を可能にしつつ、罫線文字の共有などにより、コードページ437との互換性を保つように設計されました。

Altコード



Altキーを押しながらテンキーで入力するAltコードは、コードページ437や他のDOSコードページに基づいています。Windowsでは、後にUnicodeベースの文字セットに移行しましたが、Altコードによる入力は保持されています。テンキー入力前に0を入力することで、CP1252などの文字セットのコードを入力することも可能です。

文字セットの詳細



コードページ437では、256個の8ビットコードすべてに文字や記号が割り当てられています。0から31のコードと127番のコードは、制御文字として扱われることもあり、一部のAPIでは表示されないことがあります。一方、32から126のコードは、ASCII印字可能文字に相当します。

128から175のコードは、国際的なテキスト文字が収録されています。176から223のコードは、罫線素片やブロック文字です。特に、罫線文字は、視覚的な連続性を高めるため、右側の線や塗りつぶしが可能な文字が配置されています。IBM PCMDAでは、これらの文字が8ピクセルの幅で格納され、画面上では9ピクセルごとに表示されることで、隙間をなくしていました。

224から255のコードは、数学記号やギリシャ文字が割り当てられています。積分記号の断片や、いくつかの異なる記号が含まれており、数学的な表現をサポートしています。

Windowsのフォントでは、WGL4セットの一部として、これらの文字に対応するUnicodeインデックスが提供されています。MS LinedrawというWindowsフォントは、コードページ437の文字を完全にサポートしており、DOS環境のテキスト表示をWindowsで再現できます。

Unicodeへの変換における注意点



コードページ437の一部の文字は、Unicodeに一対一で対応しないことがあります。正しい対応は文脈に依存するため、注意が必要です。

歴史



ビル・ゲイツは、コードページ437の文字セットがワングのワードプロセッサから影響を受けたと述べています。また、この文字セットは、IBM PCのBIOS開発者らによって、飛行機内での会議中に決定されたという逸話も残っています。

文字セットの構成



0-31, 127: 装飾記号
32-126: ASCII印字可能文字
128-175: 国際的なテキスト文字
176-223: 罫線素片とブロック文字
224-255: 数学記号とギリシャ文字

国際化の課題



コードページ437には、多くの西洋言語で重要な文字が欠けています。特に、スペイン語フランス語ポルトガル語イタリア語アイスランド語デンマーク語などの言語に必要なアクセント付き文字が不足しています。また、ギリシャ語の文字も一部に限られています。

これらの問題を解決するために、後発のDOS用文字セット(コードページ850850、737など)では、国際的な使用に適した文字を追加し、罫線文字の互換性を部分的に残しています。UnicodeやWGL4のような文字セットでは、コードページ437の文字をカバーしており、現代のシステムでも利用可能です。

関連項目



Altコード
ANSI
ASCII
セミグラフィック
Atari ST文字セット (コードページ437からの派生)

参考文献



IBM Code Page 437 reference chart
IBM PC memory-mapped video graphics to Unicode

外部リンク



4?topic=codes-437-character-set'>IBM Code Page 437 reference chart
012/tn012-2.html'>IBM PC memory-mapped video graphics to Unicode

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。