CP437 — Википедия

CP437 (сокр. от англ. code page 437), также IBM437[1] или DOSLatinUS[2] — кодовая страница, использовавшаяся в первоначальной версии IBM PC с 1981 года. На CP437 основано множество других кодировок символов для IBM PC и совместимых с ними ПК, в том числе альтернативная кодировка для русского языка.
В ПЗУ видеоадаптера IBM PC был зашит шрифт для следующего набора символов:
.0 | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0. | NUL 0000 | ☺ 263A | ☻ 263B | ♥ 2665 | ♦ 2666 | ♣ 2663 | ♠ 2660 | • 2022 | ◘ 25D8 | ○ 25CB | ◙ 25D9 | ♂ 2642 | ♀ 2640 | ♪ 266A | ♫ 266B | ☼ 263C |
1. | ► 25BA | ◄ 25C4 | ↕ 2195 | ‼ 203C | ¶ 00B6 | § 00A7 | ▬ 25AC | ↨ 21A8 | ↑ 2191 | ↓ 2193 | → 2192 | ← 2190 | ∟ 221F | ↔ 2194 | ▲ 25B2 | ▼ 25BC |
2. | SP 0020 | ! 0021 | " 0022 | # 0023 | $ 0024 | % 0025 | & 0026 | ' 0027 | ( 0028 | ) 0029 | * 002A | + 002B | , 002C | - 002D | . 002E | / 002F |
3. | 0 0030 | 1 0031 | 2 0032 | 3 0033 | 4 0034 | 5 0035 | 6 0036 | 7 0037 | 8 0038 | 9 0039 | : 003A | ; 003B | < 003C | = 003D | > 003E | ? 003F |
4. | @ 0040 | A 0041 | B 0042 | C 0043 | D 0044 | E 0045 | F 0046 | G 0047 | H 0048 | I 0049 | J 004A | K 004B | L 004C | M 004D | N 004E | O 004F |
5. | P 0050 | Q 0051 | R 0052 | S 0053 | T 0054 | U 0055 | V 0056 | W 0057 | X 0058 | Y 0059 | Z 005A | [ 005B | \ 005C | ] 005D | ^ 005E | _ 005F |
6. | ` 0060 | a 0061 | b 0062 | c 0063 | d 0064 | e 0065 | f 0066 | g 0067 | h 0068 | i 0069 | j 006A | k 006B | l 006C | m 006D | n 006E | o 006F |
7. | p 0070 | q 0071 | r 0072 | s 0073 | t 0074 | u 0075 | v 0076 | w 0077 | x 0078 | y 0079 | z 007A | { 007B | ¦ 00A6 | } 007D | ~ 007E | ⌂ 2302 |
8. | Ç 00C7 | ü 00FC | é 00E9 | â 00E2 | ä 00E4 | à 00E0 | å 00E5 | ç 00E7 | ê 00EA | ë 00EB | è 00E8 | ï 00EF | î 00EE | ì 00EC | Ä 00C4 | Å 00C5 |
9. | É 00C9 | æ 00E6 | Æ 00C6 | ô 00F4 | ö 00F6 | ò 00F2 | û 00FB | ù 00F9 | ÿ 00FF | Ö 00D6 | Ü 00DC | ¢ 00A2 | £ 00A3 | ¥ 00A5 | ₧ 20A7 | ƒ 0192 |
A. | á 00E1 | í 00ED | ó 00F3 | ú 00FA | ñ 00F1 | Ñ 00D1 | ª 00AA | º 00BA | ¿ 00BF | ⌐ 2310 | ¬ 00AC | ½ 00BD | ¼ 00BC | ¡ 00A1 | « 00AB | » 00BB |
B. | ░ 2591 | ▒ 2592 | ▓ 2593 | │ 2502 | ┤ 2524 | ╡ 2561 | ╢ 2562 | ╖ 2556 | ╕ 2555 | ╣ 2563 | ║ 2551 | ╗ 2557 | ╝ 255D | ╜ 255C | ╛ 255B | ┐ 2510 |
C. | └ 2514 | ┴ 2534 | ┬ 252C | ├ 251C | ─ 2500 | ┼ 253C | ╞ 255E | ╟ 255F | ╚ 255A | ╔ 2554 | ╩ 2569 | ╦ 2566 | ╠ 2560 | ═ 2550 | ╬ 256C | ╧ 2567 |
D. | ╨ 2568 | ╤ 2564 | ╥ 2565 | ╙ 2559 | ╘ 2558 | ╒ 2552 | ╓ 2553 | ╫ 256B | ╪ 256A | ┘ 2518 | ┌ 250C | █ 2588 | ▄ 2584 | ▌ 258C | ▐ 2590 | ▀ 2580 |
E. | α 03B1 | ß 00DF | Γ 0393 | π 03C0 | Σ 03A3 | σ 03C3 | µ 00B5 | τ 03C4 | Φ 03A6 | Θ 0398 | Ω 03A9 | δ 03B4 | ∞ 221E | φ 03C6 | ε 03B5 | ∩ 2229 |
F. | ≡ 2261 | ± 00B1 | ≥ 2265 | ≤ 2264 | ⌠ 2320 | ⌡ 2321 | ÷ 00F7 | ≈ 2248 | ° 00B0 | ∙ 2219 | · 00B7 | √ 221A | ⁿ 207F | ² 00B2 | ■ 25A0 | NBSP 00A0 |
В CP437, однако, нижняя половина (позиции 0x00
—0x7F
) кодовой таблицы полностью совпадает с ASCII, то есть несколько отличается от представленной выше: так, позиции 0x01
—0x1F
и 0x7F
в ней заняты управляющими символами и не имеют графического представления, а в позиции 0x7C
размещена не разорванная (¦), а непрерывная вертикальная черта (|).
Большинство современных видеоадаптеров ПК также содержит этот шрифт в ПЗУ. Компьютеры стран — членов СЭВ как серии ЕС ПЭВМ (например, «Правец 16», «Роботрон», ЕС-1841), так и других архитектур имели версии с аппаратной кириллизацией (русификацией) видеоплат. Для техники, выпускавшейся в западных странах и странах третьего мира, более популярным был способ с загрузкой национальных шрифтов программными средствами, осуществлявшейся, как правило, на этапе загрузки операционной системы.
Интересный факт
[править | править код]В шрифтах видеоадаптеров MDA и VGA все символы имеют ширину 8 точек, но на экране в некоторых режимах отображаются шириной в 9 точек; дополнительная пустая колонка служит для визуального отделения букв друг от друга. При отображении символов псевдографики (точнее, при отображении символов с кодами в диапазоне 0xC0
—0xDF
) в так называемом «режиме рисования линий» (англ. Line Graphics Enable mode) дополнительная 9‑я колонка не пуста, а повторяет 8‑ю, чтобы горизонтальные линии были неразрывны[3]. Это является особенностью видеоконтроллера, и именно поэтому большинство псевдографических символов, не имеющих частей рамки с правого края, вынесено за указанный диапазон. Поэтому, загружая шрифт в видеоадаптер, нельзя размещать псевдографику в другом диапазоне, иначе горизонтальные линии будут разорваны.
Примечания
[править | править код]- ↑ Internet Assigned Numbers Authority. Character Sets (англ.). Дата обращения: 17 апреля 2025. Архивировано 11 апреля 2025 года.
- ↑ CFStringEncodings.dosLatinUS (англ.). Apple Developer Documentation. Дата обращения: 17 апреля 2025. Архивировано 22 июля 2022 года.
- ↑ VGA Text Mode Operation (англ.). FreeVGA Project. Дата обращения: 17 апреля 2025. Архивировано 26 ноября 2024 года.
Ссылки
[править | править код]- Таблица соответствия кодовой страницы CP437 Юникоду на официальном сайте Unicode, Inc.
- Таблица соответствия графических символов в диапазоне 0x01—0x1F и 0x7F Юникоду, там же