コードページ437:IBM PC初期の文字セット
コードページ
437(
CP
437)は、オリジナルの
IB
M P
Cで使われた文字セットであり、P
C-
8や
DOS Latin
USとしても知られています。この文字セットは、
ASCIIコードに加えて、アクセント付き文字、ギリシャ文字、記号、罫線などの拡張文字を含んでいます。特に、初期の
EGAや
VGAグラフィックカードのフォントとして利用され、P
C起動時に表示されるテキストに用いられていました。
ディスプレイアダプタと文字表示
IB
M P
Cでは、
MDA(モノクロディスプレイアダプタ)では
9×
14ピクセルのフォント、
CGA(カラーグラフィックスアダプタ)では
8×
8ピクセルのフォントとして、コードページ
437の文字が利用されました。これらのアダプタでは、各文字に
8ビットのコードポイントが割り当てられ、
256通りの文字を表示できました。
ASCIIコードで
制御文字として予約されている範囲(
0-
31)も、表示可能な文字として
RO
Mに割り当てられました。
初期のP
Cでは、東ヨーロッパ向けの機種で異なる文字セットが使用されることもあり、ジャンパや
CMOSの設定で切り替え可能でした。これらの文字セットは、現地語表示を可能にしつつ、罫線文字の共有などにより、コードページ
437との互換性を保つように設計されました。
Altコード
Altキーを押しながら
テンキーで入力するAltコードは、コードページ
437や他の
DOSコードページに基づいています。
Windowsでは、後に
Unicodeベースの文字セットに移行しましたが、Altコードによる入力は保持されています。
テンキー入力前に
0を入力することで、
CP
1252などの文字セットのコードを入力することも可能です。
文字セットの詳細
コードページ
437では、
256個の
8ビットコードすべてに文字や記号が割り当てられています。
0から
31のコードと
127番のコードは、
制御文字として扱われることもあり、一部のAP
Iでは表示されないことがあります。一方、
32から
126のコードは、
ASCII印字可能文字に相当します。
128から
17
5のコードは、国際的なテキスト文字が収録されています。
17
6から
223のコードは、罫線素片やブロック文字です。特に、罫線文字は、視覚的な連続性を高めるため、右側の線や塗りつぶしが可能な文字が配置されています。
IB
M P
Cの
MDAでは、これらの文字が
8ピクセルの幅で格納され、画面上では
9ピクセルごとに表示されることで、隙間をなくしていました。
224から
255のコードは、数学記号やギリシャ文字が割り当てられています。積分記号の断片や、いくつかの異なる記号が含まれており、数学的な表現をサポートしています。
Windowsのフォントでは、
WGL
4セットの一部として、これらの文字に対応する
Unicodeインデックスが提供されています。
MS Linedrawという
Windowsフォントは、コードページ
437の文字を完全にサポートしており、
DOS環境のテキスト表示を
Windowsで再現できます。
Unicodeへの変換における注意点
コードページ
437の一部の文字は、
Unicodeに一対一で対応しないことがあります。正しい対応は文脈に依存するため、注意が必要です。
歴史
ビル・ゲイツは、コードページ
437の文字セットがワングの
ワードプロセッサから影響を受けたと述べています。また、この文字セットは、
IB
M P
CのB
IOS開発者らによって、飛行機内での会議中に決定されたという逸話も残っています。
文字セットの構成
0-31, 127: 装飾記号
32-126: ASCII印字可能文字
128-175: 国際的なテキスト文字
176-223: 罫線素片とブロック文字
224-255: 数学記号とギリシャ文字
国際化の課題
コードページ
437には、多くの西洋言語で重要な文字が欠けています。特に、
スペイン語、
フランス語、
ポルトガル語、
イタリア語、
アイスランド語、
デンマーク語などの言語に必要なアクセント付き文字が不足しています。また、ギリシャ語の文字も一部に限られています。
これらの問題を解決するために、後発の
DOS用文字セット(コードページ
850、
850、7
37など)では、国際的な使用に適した文字を追加し、罫線文字の互換性を部分的に残しています。
Unicodeや
WGL
4のような文字セットでは、コードページ
437の文字をカバーしており、現代のシステムでも利用可能です。
関連項目
Altコード
ANS
I
ASCII
セミグラフィック
Atari ST文字セット (コードページ
437からの派生)
参考文献
IB
M Code Page
437 reference chart
IB
M P
C memory-mapped video graphics to
Unicode
外部リンク
4?topic=codes-
437-character-set'>
IB
M Code Page
437 reference chart
012/tn
012-
2.html'>
IB
M P
C memory-mapped video graphics to
Unicode