Перейти к содержанию

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]. Это является особенностью видеоконтроллера, и именно поэтому большинство псевдографических символов, не имеющих частей рамки с правого края, вынесено за указанный диапазон. Поэтому, загружая шрифт в видеоадаптер, нельзя размещать псевдографику в другом диапазоне, инач�� горизонтальные линии будут разорваны.

Примечания

[править | править код]
  1. ↑ Internet Assigned Numbers Authority. Character Sets (англ.). Дата обращения: 17 апреля 2025. Архивировано 11 апреля 2025 года.
  2. ↑ CFStringEncodings.dosLatinUS (англ.). Apple Developer Documentation. Дата обращения: 17 апреля 2025. Архивировано 22 июля 2022 года.
  3. ↑ VGA Text Mode Operation (англ.). FreeVGA Project. Дата обращения: 17 апреля 2025. Архивировано 26 ноября 2024 года.