CP437
CP437 (Codepage 437, DOSLatinUS) — кодовая страница, использовавшаяся в первоначальной версии IBM PC с 1981 года. CP437 послужила образцом для множества других кодировок, в том числе альтернативной кодировки для русского языка.
В ПЗУ видеоадаптера IBM PC был зашит шрифт для следующего набора символов:
.0 | .1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0. | NULL 0 | ☺ 263A | ☻ 263B | ♥ 2665 | ♦ 2666 | ♣ 2663 | ♠ 2660 | • 2022 | ◘ 25D8 | ○ 25CB | ◙ 25D9 | ♂ 2642 | ♀ 2640 | ♪ 266A | ♫ 266B | ☼ 263C |
1. | ► 25BA | ◄ 25C4 | ↕ 2195 | ‼ 203C | ¶ B6 | § A7 | ▬ 25AC | ↨ 21A8 | ↑ 2191 | ↓ 2193 | → 2192 | ← 2190 | ∟ 221F | ↔ 2194 | ▲ 25B2 | ▼ 25BC |
2. | 20 | ! 21 | " 22 | # 23 | $ 24 | % 25 | & 26 | ' 27 | ( 28 | ) 29 | * 2A | + 2B | , 2C | - 2D | . 2E | / 2F |
3. | 0 30 | 1 31 | 2 32 | 3 33 | 4 34 | 5 35 | 6 36 | 7 37 | 8 38 | 9 39 | : 3A | ; 3B | < 3C | = 3D | > 3E | ? 3F |
4. | @ 40 | A 41 | B 42 | C 43 | D 44 | E 45 | F 46 | G 47 | H 48 | I 49 | J 4A | K 4B | L 4C | M 4D | N 4E | O 4F |
5. | P 50 | Q 51 | R 52 | S 53 | T 54 | U 55 | V 56 | W 57 | X 58 | Y 59 | Z 5A | [ 5B | \ 5C | ] 5D | ^ 5E | _ 5F |
6. | ` 60 | a 61 | b 62 | c 63 | d 64 | e 65 | f 66 | g 67 | h 68 | i 69 | j 6A | k 6B | l 6C | m 6D | n 6E | o 6F |
7. | p 70 | q 71 | r 72 | s 73 | t 74 | u 75 | v 76 | w 77 | x 78 | y 79 | z 7A | { 7B | | 7C | } 7D | ~ 7E | ⌂ 2302 |
8. | Ç C7 | ü FC | é E9 | â E2 | ä E4 | à E0 | å E5 | ç E7 | ê EA | ë EB | è E8 | ï EF | î EE | ì EC | Ä C4 | Å C5 |
9. | É C9 | æ E6 | Æ C6 | ô F4 | ö F6 | ò F2 | û FB | ù F9 | ÿ FF | Ö D6 | Ü DC | ¢ A2 | £ A3 | ¥ A5 | ₧ 20A7 | ƒ 192 |
A. | á E1 | í ED | ó F3 | ú FA | ñ F1 | Ñ D1 | ª AA | º BA | ¿ BF | ⌐ 2310 | ¬ AC | ½ BD | ¼ BC | ¡ A1 | « AB | » BB |
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. | α 3B1 | ß DF | Γ 393 | π 3C0 | Σ 3A3 | σ 3C3 | µ B5 | τ 3C4 | Φ 3A6 | Θ 398 | Ω 3A9 | δ 3B4 | ∞ 221E | φ 3C6 | ε 3B5 | ∩ 2229 |
F. | ≡ 2261 | ± B1 | ≥ 2265 | ≤ 2264 | ⌠ 2320 | ⌡ 2321 | ÷ F7 | ≈ 2248 | ° B0 | ∙ 2219 | · B7 | √ 221A | ⁿ 207F | ² B2 | ■ 25A0 | A0 |
В CP437, однако, кодовые позиции 0x00—0x1F и 0x7F заняты управляющими символами, то есть не имеют графического представления.
Большинство современных видеоадаптеров ПК также содержит этот шрифт в ПЗУ. Компьютеры стран — членов СЭВ как серии ЕС ПЭВМ (например, «Правец 16», «Роботрон», ЕС-1841), так и других архитектур имели версии с аппаратной кириллизацией (русификацией) видеоплат. Для техники, выпускавшейся в западных странах и странах третьего мира, более популярным был способ с загрузкой национальных шрифтов программными средствами, как правило, на этапе загрузки операционной системы.
Интересный факт
В шрифтах видеоадаптеров MDA и VGA все символы имеют ширину 8 точек, но на экране в некоторых режимах отображаются шириной в 9 точек. Дополнительная пустая колонка нужна для визуального отделения букв друг от друга. Однако при отображении символов псевдографики (а точнее, при отображении символов с кодами 0xB0…0xDF) при включённом так называемом англ. line graphics enable mode[1] дополнительная 9‑я колонка не пуста, а повторяет 8‑ю, чтобы горизонтальные линии были неразрывны. Это является особенностью видеоконтроллера, и именно поэтому символы, не имеющие частей рамки с правого края, вынесены за указанный диапазон. Поэтому, загружая шрифт в видеоадаптер, нельзя размещать псевдографику в другом диапазоне, иначе горизонтальные линии будут разорваны.
Примечания
- ↑ FreeVGA Project: VGA Text Mode Operation (англ.). Архивировано 1 сентября 2010 года.