トップQs
タイムライン
チャット
視点

コードページ437

ウィキペディアから

コードページ437
Remove ads

コードページ437とは、オリジナルのIBM PCパーソナルコンピュータ)の文字セットである。CP437やOEM-US、OEM 437[1]、PC-8[2]、DOS Latin USとしても知られる[3]。32番から126番のASCIIコード、アクセント付き文字(ダイアクリティカルマーク)の拡張範囲のコード、ギリシア文字がいくつか、アイコン、線を引くための記号、これらが含まれている。「OEMフォント」や「high ASCII」、「拡張ASCII[2](同様に互換性のないASCII拡張の1つ)として言及されることもある。

概要 別名, 言語 ...

この文字セットはEGAおよびVGAに互換性があるグラフィックカードの初期フォントとして残っている。PCが再起動してフォントが記録媒体から読み込まれる前に表示されるテキストは一般的にこの文字セットで描画される[脚注 1]。IBM PCの時代に開発された多くのファイルフォーマットもまたコードページ437がもとになっている。

Remove ads

ディスプレイアダプタ

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と合うようにこれらの文字セットは設計された。

Remove ads

Altコード

Altコード英語版の数字の組み合わせはコードページ437とその他のDOSコードページがもとになっている[4][5][6]Altキーを押しつつテンキーで3桁で十進法のAltキーコードを入力することによってユーザーは文字を入力できる[4]マイクロソフトによって(CP1252などの)専用の文字セットに、後にUnicodeWindowsで切り替えがなされたとき、もとのコードは残された(マイクロソフトはテンキーで数字の前に0を入力することでCP1252など実際の文字セットでコードを入力できるようにした[4][7])。

文字セット

要約
視点

コードページ437は次の表に表される。対応するUnicodeのコードポイントと十進法でのコードポイントが各文字とあわせて表示される。一部のコードポイントには対応するUnicodeのコードポイントが複数あるため下の注記も見ること。十進法のコードはAltコードとして知られてもいる。

256通りすべての8ビットコードにグラフィックがROMで提供されているが、一部のコードポイント、特に1番から31番の範囲と127番のコードは一部のAPIでは表示されない[8]。代わりに制御文字として解釈される。例えばオリジナルのIBM PCでは多くのテキスト出力方法ではそれらのコードはBEL、BS、CR、LFとして解釈される。また多くのプリンタでもこれらの文字は印刷ができなかった。

凡例:

 アルファベット
 制御文字
 数字
 記号
 拡張記号
 図形文字
 国際
 未定義
さらに見る 16進の1の位が_0, 16進の1の位が_1 ...

脚注

Thumb
異なるIBMの製品間のE0からEFの範囲の文字の比較

Unicodeに変換するときには一部のコードは一対一にUnicodeで対応するものがないことに気を付けるべきである。何が正しい選択かは状況による。

  1. 0、32 (20hex)、255 (FFhex) ではすべて空白が表示される。IBM PC向けにデザインされたワードプロセッサではU+00A0のノンブレーキングスペース (NBSP) にあたる255が使われている。
  2. ギリシア文字の大文字のデルタ[U+0394, Δ]として127 (7Fhex) も時々使われた。
  3. 225 (E1hex) はIBMによってラテン文字の「小文字の鋭いs[10][U+00DF, ß]として識別されているが、OEMフォントではギリシア文字の小文字のベータとして表示されることがある。
  4. 227 (E3hex) はIBMによってギリシア文字の「小文字のパイ」[U+03C0, π]として識別されているが、OEMフォントではギリシア文字の大文字のパイ[U+03A0, Π]やN項総乗記号[U+220F, ∏]として表示されることがある。
  5. 228 (E4hex) はIBMによってギリシア文字の「大文字のシグマ」[U+03A3, Σ]として識別されているが、N項総和記号[U+2211, ∑]としても使われる。
  6. 230 (E6 hex) はIBMによってギリシア文字の「「小文字のミュー」[U+03BC, μ]として識別されているが、マイクロ記号[U+00B5, µ]として使われることもある。UnicodeやIBMのギリシア文字のGCGID表[11]ではこのコードページのこの文字はこのギリシア文字に対応付けられているが、例えばPythonではマイクロ記号に対応付けられている。
  7. 234 (EAhex) はIBMによってギリシア文字の「大文字のオメガ」[U+03A9, Ω]として識別されているが、オーム 記号[U+2126, Ω]としても使われる。Unicodeではオーム記号は大文字のオメガと同じであるとみなされており、後者をどちらの状況でも使うことを推奨している[12]
  8. 235 (EBhex) はIBMによってギリシア文字の「「小文字のデルタ」として識別されている。また非公式的に小文字のエズ[U++00F0, ð]や偏微分の記号[U+2202, ∂]としても使われた。
  9. 237 (EDhex) はIBMによってギリシア文字の「「小文字の(閉じた形の)ファイ」[U+03D5, ϕ、または斜体の数学用英数字記号であるU+1D719, 𝜙]として識別されているが、 (Pythonのコーデックライブラリなど[13])一部のコーデックは開いた(または緩い)字形[U+03C6, φ]でUnicodeに割り当てられている。IBMのギリシア文字のGCGID表[11]とUnicodeのギリシア文字のチャート[14]を見比べると、Unicodeへの対応付けを行うときにどこで開いた形と閉じた形をIBMは逆にしたかなどが分かる。この文字は空集合の記号[U+2205, ∅]や、直径記号[U+2300, ⌀]、ストローク付きの0[U++00D8, ØとU++00f8, ø]として使われることもある。
  10. 238 (EEhex) はIBMによってギリシア文字の「「小文字のエプシロン」[U+03B5, ε]として識別されているが、OEMフォントでは属する記号[U+2208, ∈]として表示されることがある。後に非公式的にユーロ記号[U+20AC, €]として使われた。
  11. チェックマーク[U+2713, ✓]として251 (FBhex) も時々使われた。
Remove ads

歴史

要約
視点

ビル・ゲイツは1995年10月2日号のFortune Magazineのビル・ゲイツとポール・アレンとのインタビューの中でワングのワードプロセッサの文字セットからコードページ437の範囲はとられたと述べている。

"... We were also fascinated by dedicated word processors from Wang, because we believed that general-purpose machines could do that just as well. That's why, when it came time to design the keyboard for the IBM PC, we put the funny Wang character set into the machine—you know, smiley faces and boxes and triangles and stuff. We were thinking we'd like to do a clone of Wang word-processing software someday."
「...汎用マシンでワードプロセッサと同じ役目が果たせると考えていたため、ワングの専用ワードプロセッサにわたしたちも夢中になりました。IBM PCのキーボードをデザインすることになったときに、お知りの通り笑顔や四角形や三角形など、ユーモアのあるワングの文字セットをマシンに取り入れたのはこれが理由です。」

デイビッド・J・ブラッドリー(PCのBIOSの開発者)のインタビューによると、Andy Saenz(ビデオカードの責任者)、Lew Eggebrecht(PCの主任技術者)、また彼自身によってシアトルからアトランタへの飛行機に乗っているときの4時間の会議中にこれらの文字は定められた[15]

表示文字の選ばれ方に関する内部規則がある。

  • 表の0番目と1番目の行、0番から31番 (00hexから1Fhex) までのコードは装飾記号(補足や装飾用の文字)に分類される。127 (7Fhex) 番と離れている文字もこのグループに属する。
  • 表の2番目から7番目の行、(127 (7Fhex) 番の文字を除いて、)32番から126番 (20hexから7Ehex) までのコードはASCII印字可能文字になる。
  • 表の8番目から10番目 (8hexからAhex )の行、128番から175番 (80hexからAFhex) までのコードは国際的なテキスト文字を収録している。
  • 表の11番目から13番目 (BhexからDhex)、176番から223番 (B0hexからDFhex) までのコードは罫線素片ブロック文字になる。右側に線がある文字や右側を塗りつぶすための文字は全て192番から223番 (C0hexからDFhex) までの文字に含まれるように、このブロックは配置されている。オリジナルのIBM PCMDAではこのコードページの437グリフは8ピクセルの幅のビットマップとして保持されていたが、見た目をよくするために画面上では9ピクセルごとに表示された。この範囲の文字における各文字の8番目のピクセル列は特殊なハードウェア回路によって重複して表示され[16]、各行の隙間、特に塗りつぶしを行った際の隙間をなくすために使われた。
  • 表の14番目から15番目 (EhexからFhex) の行、224番から255番 (E0hexからFFhex) までのコードは数学記号にあてられていて、最初の12コードは物理でよく使われるギリシャ文字を収録している。244番目 (FAhex) と245番目 (FBhex) は積分記号(∫)として使われる記号である斜体の長いsの上の部分、下の部分になっていて、179 (B3hex) 番の文字である罫線素片の縦線で伸ばせるようになっている。244 (F4hex) 番目の文字は長いs (ſ) の代替として使うこともできる。249番目 (F9hex) と250番目 (FAhex) は、前者が印刷上の中黒 (·) に似た後者を少し大きくしたものであり、ほとんど区別がつかない。255 (FFhex) 番目の文字はただ空白であり、数式を整えるためのノーブレークスペースのようなものとして働く。

マイクロソフトによってフォントのデザイナーにサポートすることが推奨されているWGL4セットの一部として、Windowsの多くのフォントはこれらの特別な表示文字は示したUnicodeのインデックスに含まれている。(少なくとも一部の解像度において、等幅のラスターフォントファミリであるTerminalはコードページ437の文字すべてを持つ初期のフォントである。)これらの文字をコードページ437のコードポイントから直接表示するためにMS Linedraw[17]というWindowsのフォントはコードページ437の文字すべてを持ち、制限付きながらも、DOS向けのテキストをDOSで表示したように今のWindowsマシンで表示できるようにしている[18]

Remove ads

国際化

大体128から175の数値で国際文字が一続きにコードページ437に存在する。しかしながら多くの西洋の言語に大切ないくつかの文字が欠けている。

  • スペイン語: Á、Í、Ó、Ú
  • フランス語: À、Â、È、Ê、Ë、Î、Ï、Ô、Œ、œ、Ù、Û、Ÿ
  • ポルトガル語: Á、À、Â、Ã、ã、Ê、Í、Ó、Ô、Õ、õ、Ú
  • カタルーニャ語: À、È、Í、Ï、Ò、Ó、Ú
  • イタリア語: À、È、Ì、Ò and Ù
  • アイスランド語: Á、Ð、ð、Í、Ó、Ú、Ý、ý、Þ、þ
  • デンマーク語/ノルウェー語: Øø うまく描画されないかもしれないが、(加えて、ストローク付きのOからはさらに遠ざかった形である開いた形のファイや閉じた形の垂直なファイとして、Unicodeに対応づけられたりUnicodeのフォントで描画されやすい。)237 (EDhex) 番目の文字の(近い形をしている)小文字のファイが代替として使える。 これを埋め合わせるために、デンマーク語ノルウェー語アイスランド語のコードページ(コードページ865コードページ861)ではセント記号 (¢) をø、円記号 (¥) をØで置き換えた。
  • 基本的な数学記号の範囲をこえたほとんどのギリシア文字の記号は省略されている。(ギリシア語のコードーページのコードページ737コードページ869には含まれた。)

セント(¢)、ポンド(£)、/(¥)の通貨記号といっしょに以前使われていたヨーロッパの通貨記号がいくつかある。フローリン(ƒ、オランダ)やペセタ(₧、スペイン)である。スペインのペセタは国際的な通用力を持っていたわけでもなく、また「Pt」、「Pta」、「Pts」、「Ptas」のように省略されていただけであってそれ自体の記号はなかったため、後者の存在は異例である。ただしIBM Electric typewriterのスペインモデルでもその記号に独立した位置づけがされていた。

コードページ850(DOS Latin-1)やコードページ850(DOS 中央ヨーロッパ)、コードページ737(DOS ギリシア語)のような後にできたDOS用の文字セットでは、混ぜ合わせた文字( 二重線の横線/単線の縦線)は無くしつつも、単線および二線の罫線素片を残してコードページ437との互換性を部分的に保ちつつ国際的な使用をするために隙間がなくなっている。UnicodeとマイクロソフトのWGL4の文字セットに似ている字形がコードページ437の文字すべてにあり、そのためWindowsのほとんどのフォントで、またLinuxカーネルの標準VGAフォントで、X11ISO 10646フォントで使うことができる。

Remove ads

関連項目

脚注

  1. 西ヨーロッパやアラブ、アジアの国でのシステムでは異なる文字セットがよく使われる。「OEM」という名称は「他社ブランドの機器製造メーカー」を意味し、ROMで提供される「ネイティブ」なハードウェア文字セットは製造メーカーによって異なる市場に沿うように変えられるということを示す。

    参考文献

    Loading content...

    外部リンク

    Loading related searches...

    Wikiwand - on

    Seamless Wikipedia browsing. On steroids.

    Remove ads