Página de códigos 437 - Code page 437

Página de códigos 437
Codepage-437.png
Página de códigos 437, representada por una PC IBM utilizando VGA estándar
MIME / IANA IBM437
Alias cp437, 437, csPC8CodePage437, OEM en EE. UU.
Idioma (s) inglés
Clasificación ASCII extendido , página de códigos OEM
Se extiende US-ASCII
Otras codificaciones relacionadas Página de códigos 850 , CWI-2

La página de códigos 437 ( CCSID 437) es el conjunto de caracteres del IBM PC (computadora personal) original. También se conoce como CP437, OEM-US, OEM 437, PC-8 o DOS Latin US. El conjunto incluye todos los caracteres ASCII imprimibles , códigos extendidos para letras acentuadas ( diacríticos ), algunas letras griegas, iconos y símbolos de dibujo de líneas. A veces se le denomina "fuente OEM" o "ASCII alto", o " ASCII extendido " (una de las muchas extensiones ASCII mutuamente incompatibles).

Este conjunto de caracteres sigue siendo el conjunto principal en el núcleo de cualquier tarjeta gráfica compatible con EGA y VGA . Como tal, el texto que se muestra cuando se reinicia una PC, antes de que las fuentes se puedan cargar y renderizar, normalmente se renderiza con este conjunto de caracteres. Muchos formatos de archivo desarrollados en el momento de la IBM PC también se basan en la página de códigos 437.

Adaptadores de pantalla

El IBM PC original contenía esta fuente como una fuente de 9 × 14 píxeles por carácter almacenada en la ROM del Adaptador de pantalla monocromática de IBM (MDA) y una fuente de 8 × 8 píxeles por carácter del Adaptador de gráficos en color ( CGA ) tarjetas. El Adaptador de gráficos mejorado de IBM (EGA) contenía una versión de 8 × 14 píxeles por carácter, y el VGA contenía una versión de 9 × 16.

Todos estos adaptadores de pantalla tienen modos de texto en los que cada celda de carácter contiene un punto de código de carácter de 8 bits (ver detalles ), dando 256 valores posibles para caracteres gráficos. A los 256 códigos se les asignó un carácter gráfico en ROM, incluidos los códigos del 0 al 31 que estaban reservados en ASCII para caracteres de control no gráficos.

Varias PC de Europa del Este usaban diferentes conjuntos de caracteres, a veces seleccionables por el usuario a través de puentes o configuración CMOS. Estos conjuntos se diseñaron para coincidir con 437 tanto como fuera posible, por ejemplo, compartiendo los puntos de código para muchos de los caracteres de los dibujos de líneas, al mismo tiempo que permite que se muestre el texto en un idioma local.

Códigos alternativos

Un legado de la página de códigos 437 son las combinaciones de números que se utilizan en los códigos de tecla Alt de Windows . El usuario podía ingresar un carácter manteniendo presionada la tecla Alt e ingresando el código de tecla Alt decimal de tres dígitos en el teclado numérico y muchos usuarios memorizaron los números necesarios para CP437 (o para la página de códigos similares 850 ). Cuando Microsoft cambió a sus juegos de caracteres patentados (como CP1252 ) y posteriormente Unicode en Windows, se conservaron los códigos originales; Microsoft agregó la capacidad de escribir un código en el nuevo juego de caracteres escribiendo el teclado numérico 0 antes de los dígitos.

Conjunto de caracteres

Las siguientes tablas muestran la página de códigos 437. Cada carácter se muestra con su punto de código Unicode equivalente y su código Alt decimal . Consulte también las notas a continuación, ya que hay varios caracteres Unicode equivalentes para algunos puntos de código.

Aunque la ROM proporciona un gráfico para los 256 códigos de 8 bits posibles diferentes, algunas API no imprimirán algunos puntos de código, en particular el rango 0-31 y el código en 127. En su lugar, los interpretarán como caracteres de control. Por ejemplo, muchos métodos de salida de texto en el IBM PC original interpretarían los códigos para BEL, BS, CR y LF. Muchas imprentas tampoco pudieron imprimir estos caracteres.

Página de códigos 437
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _MI _F
0_ NUL
0000
0

263A
1

263B
2

2665
3

2666
4

2663
5

2660
6

2022
7

25D8
8

25CB
9

25D9
10

2642
11

2640
12

266A
13

266B
14

263C
15
1_
25BA
16

25C4
17

2195
18

203C
19

00B6
20
§
00A7
21

25AC
22

21A8
23

2191
24

2193
25

2192
26

2190
27

221F
28

2194
29

25B2
30

25BC
31
2_ SP
0020
32
!
0021
33
"
0022
34
#
0023
35
$
0024
36
%
0025
37
&
0026
38
«
0027
39
(
0028
40
)
0029
41
*
002A
42
+
002B
43
,
002C
44
-
002D
45
.
002E
46
/
002F
47
3_ 0
0030
48
1
0031
49
2
0032
50
3
0033
51
4
0034
52
5
0035
53
6
0036
54
7
0037
55
8
0038
56
9
0039
57
:
003A
58
;
003B
59
<
003C
60
=
003D
61
>
003E
62
?
003F
63
4_ @
0040
64
A
0041
65
B
0042
66
C
0043
67
D
0044
68
E
0045
69
F
0046
70
G
0047
71
H
0048
72
Yo
0049
73
J
004A
74
K
004B
75
L
004C
76
M
004D
77
N
004E
78
O
004F
79
5_ P
0050
80
Q
0051
81
R
0052
82
S
0053
83
T
0054
84
U
0055
85
V
0056
86
W
0057
87
X
0058
88
Y
0059
89
Z
005A
90
[
005B
91
\
005C
92
]
005D
93
^
005E
94
_
005F
95
6_ `
0060
96
a
0061
97
b
0062
98
c
0063
99
d
0.064
100
e
0065
101
f
0066
102
g
0067
103
h
0068
104
yo
0069
105
j
006A
106
k
006B
107
l
006C
108
m
006D
109
n
006E
110
o
006F
111
7_ p
0070
112
q
0071
113
r
0072
114
s
0073
115
t
0074
116
u
0075
117
v
0076
118
w
0077
119
x
0078
120
y
0079
121
z
007A
122
{
007B
123
|
007C
124
}
007D
125
~
007E
126

2 302
127
8_ Ç
00C7
128
ü
00FC
129
é
00E9
130
â
00E2
131
ä
00E4
132
à
00E0
133
å
00E5
134
ç
00E7
135
ê
00EA
136
ë
00EB
137
è
00E8
138
ï
00EF
139
î
00EE
140
ì
00EC
141
Ä
00C4
142
Å
00C5
143
9_ É
00C9
144
æ
00E6
145
Æ
00C6
146
ô
00F4
147
ö
00F6
148
ò
00F2
149
û
00FB
150
ù
00F9
151
ÿ
00FF
152
Ö
00D6
153
Ü
00DC
154
¢
00A2
155
£
00A3
156
¥
00A5
157

20A7
158
ƒ
0192
159
A_ á
00E1
160
í
00ED
161
ó
00F3
162
ú
00FA
163
ñ
00F1
164
Ñ
00D1
165
ª
00AA
166
º
00BA
167
¿
00BF
168

2310
169
¬
00AC
170
½
00BD
171
¼
00BC
172
¡
00A1
173
«
00AB
174
»
00BB
175
B_ °
2591
176

2592
177

2593
178

2502
179

2.524 mil
180

2561
181

2562
182

2556
183

2555
184

2563
185

2551
186

2.557 mil
187

255D
188

255C
189

255B
190

2510
191
C_
2514
192

2534
193

252C
194

251C
195

2500
196

253C
197

255E
198

255F
199

255A
200

2554
201

2569
202

2 566
203

2560
204

2,550
205

256C
206

2567
207
D_
de 2568
208

2564
209

2565
210

2559
211

2558
212

2552
213

2553
214

256B
215

256A
216

2518
217

250C
218

2588
219

2,584 mil
220

258C
221

2590
222

2 580
223
MI_ α
03B1
224
ß
00DF
225
Γ
0393
226
π
03C0
227
Σ
03A3
228
σ
03C3
229
µ
00B5
230
τ
03C4
231
Φ
03A6
232
Θ
0398
233
Ω
03A9
234
δ
03B4
235

221E
236
φ
03C6
237
ε
03B5
238

2229
239
F_
2261
240
±
00B1
241

2265
242

2264
243

2320
244

2321
245
÷
00F7
246

2248
247
°
00B0
248

2219
249
·
00B7
250

221A
251

207F
252
²
00B2
253

25A0
254
nbsp
00A0
255

  Carta  Número  Puntuación  Símbolo  Otro  Indefinido

Al traducir a Unicode, algunos códigos no tienen un único equivalente Unicode; la elección correcta puede depender del contexto.

Historia

El repertorio de la página de códigos 437 se tomó del conjunto de caracteres de las máquinas procesadoras de texto Wang , según Bill Gates en una entrevista con Gates y Paul Allen que apareció en la edición del 2 de octubre de 1995 de la revista Fortune:

"... También nos fascinaron los procesadores de texto dedicados de Wang, porque creíamos que las máquinas de uso general podían hacer eso igual de bien. Por eso, cuando llegó el momento de diseñar el teclado para la PC IBM, pusimos lo divertido Conjunto de caracteres de Wang en la máquina, ya sabes, caras sonrientes, cajas, triángulos y esas cosas. Estábamos pensando que algún día nos gustaría hacer un clon del software de procesamiento de texto de Wang ".

Según una entrevista con David J. Bradley (desarrollador de la ROM-BIOS de la PC ), los personajes fueron decididos durante una reunión de cuatro horas en un viaje en avión de Seattle a Atlanta por Andy Saenz (responsable de la tarjeta de video), Lew Eggebrecht. (ingeniero jefe de la PC) y él mismo.

La selección de caracteres gráficos tiene cierta lógica interna:

  • Las filas de la tabla 0 y 1, códigos 0 a 31 (00 hexadecimal a 1F hexadecimal ), son dingbats surtidos (caracteres complementarios y decorativos). El carácter aislado 127 (7F hex ) también pertenece a este grupo.
  • Las filas de la tabla 2 a 7, códigos 32 a 126 (20 hexadecimales a 7E hexadecimal ), son los caracteres imprimibles ASCII estándar .
  • Las filas de la tabla 8 a 10, códigos 128 a 175 (80 hexadecimal a AF hexadecimal ), son una selección de caracteres de texto internacionales.
  • Las filas de la tabla 11 a 13, códigos 176 a 223 (B0 hexadecimal a DF hexadecimal ), son dibujos de recuadros y caracteres de bloque . Este bloque está organizado de modo que los caracteres 192 a 223 (C0 hex a DF hex ) contengan todos los brazos derechos y áreas llenas de derechos. El adaptador de pantalla IBM PC MDA original almacenaba los glifos de caracteres de la página de códigos 437 como mapas de bits de ocho píxeles de ancho, pero para una mejora visual los mostraba cada nueve píxeles en la pantalla. Este rango de caracteres tenía la octava columna de píxeles duplicada por circuitos de hardware especiales, llenando así los espacios en las líneas y áreas rellenas. El adaptador VGA permite activar o desactivar este comportamiento.
  • Las filas 14 y 15 de la tabla, los códigos 224 a 254 (E0 hexadecimal a FE hexadecimal ) están dedicados a los símbolos matemáticos, donde los primeros doce son una selección de letras griegas de uso común en física.

La mayoría de las fuentes para Microsoft Windows incluyen los caracteres gráficos especiales en los índices Unicode que se muestran, ya que son parte del conjunto WGL4 que Microsoft alienta a los diseñadores de fuentes a admitir. (La familia de fuentes ráster monoespaciadas Terminal fue una de las primeras fuentes que replicaba todos los caracteres de la página de códigos 437, al menos en algunas resoluciones). Para dibujar estos caracteres directamente desde estos puntos de código, una fuente de Microsoft Windows llamada MS Linedraw replica toda la página de códigos 437 caracteres, proporcionando así una forma de mostrar el texto de DOS en una máquina Windows moderna como se mostraba en DOS, con limitaciones.

Internacionalización

La página de códigos 437 tiene una serie de caracteres internacionales, principalmente valores de 128 a 175 (80 hexadecimal a AF hexadecimal ). Sin embargo, solo cubre algunos de los principales idiomas de Europa occidental en su totalidad, incluidos inglés , alemán y sueco , por lo que carece de varios caracteres (en su mayoría letras mayúsculas) importantes para muchos de los principales idiomas de Europa occidental:

  • Español : Á, Í, Ó y Ú
  • Francés : À, Â, È, Ê, Ë, Î, Ï, Ô, Œ, œ, Ù, Û y Ÿ
  • Portugués : Á, À, Â, Ã, ã, Ê, Í, Ó, Ô, Õ, õ y Ú
  • Catalán : À, È, Í, Ï, Ò, Ó y Ú
  • Italiano : À, È, Ì, Ò y Ù
  • Islandés : Á, Ð, ð, Í, Ó, Ú, Ý, ý, Þ y þ
  • Danés / noruego : Ø y ø. El carácter número 237 (ED hexadecimal ), el phi pequeño (forma cerrada), podría usarse como sustituto aunque no se procese bien (además, tiende a mapearse en Unicode y / o procesarse en fuentes Unicode, como el código abierto -forma phi o la forma vertical cerrada phi, que están aún más lejos de la O con trazo). Para compensar, las páginas de códigos danés / noruego e islandés ( 865 y 861 ) reemplazaron el signo de centavo (¢) con ø y el signo de yen (¥) con Ø.
  • Se omitieron la mayoría de los símbolos del alfabeto griego , más allá de los símbolos matemáticos básicos. (Se incluyeron en las páginas de códigos en idioma griego 737 y 869. Algunos de los símbolos griegos que ya estaban en la página de códigos 437 tenían sus glifos cambiados de formas matemáticas o científicas para que coincidieran con el uso real en griego).

Junto con los símbolos de moneda centavo (¢), libra esterlina (£) y yen / yuan (¥), tiene un par de antiguos símbolos de moneda europea: el florín (ƒ, Países Bajos) y la peseta (₧, España). La presencia de la última es inusual, ya que la peseta española nunca fue una moneda de relevancia internacional, y tampoco tuvo un símbolo propio; simplemente se abrevió como "Pt", "Pta", "Pts" o "Ptas". Los modelos españoles de la máquina de escribir eléctrica IBM , sin embargo, también tenían un solo puesto dedicado a ella.

Los conjuntos de caracteres de DOS posteriores, como la página de códigos 850 (DOS Latin-1), la página de códigos 852 (DOS centroeuropeo) y la página de códigos 737 (DOS griego), llenaron los vacíos para el uso internacional con cierta compatibilidad con la página de códigos 437 al retener los caracteres de dibujo de caja simple y doble, descartando los mixtos ( por ejemplo, doble horizontal / simple vertical). Todos los caracteres de la página de códigos 437 tienen glifos similares en Unicode y en el conjunto de caracteres WGL4 de Microsoft y, por lo tanto, están disponibles en la mayoría de las fuentes en Microsoft Windows , y también en la fuente VGA predeterminada del kernel de Linux y las fuentes ISO 10646 para X11 .

Ver también

Notas

Referencias

  1. ^ Juegos de caracteres , Autoridad de números asignados de Internet (IANA), 12 de diciembre de 2018
  2. ^ "Documento de información CCSID 437" . Archivado desde el original el 27 de marzo de 2016.
  3. ^ "OEM 437" . Vaya al Centro de desarrolladores global . Microsoft . Archivado desde el original el 9 de junio de 2016 . Consultado el 22 de septiembre de 2011 .
  4. ^ a b "Fuente OEM" . Enciclopedia . PCmag.com. Archivado desde el original el 27 de noviembre de 2020 . Consultado el 19 de octubre de 2021 .
  5. ^ Kano, Nadine. "Páginas de códigos del Apéndice H". Globalización y localización: página de códigos 437 DOS Latin US . Desarrollo de software internacional . Microsoft . Archivado desde el original el 17 de marzo de 2016 . Consultado el 14 de noviembre de 2011 .
  6. ^ a b c "Glosario de términos utilizados en este sitio" . Microsoft . (Consulte la descripción sobre el término "Alt + Teclado numérico"). Archivado desde el original el 8 de septiembre de 2012 . Consultado el 17 de agosto de 2018 .
  7. ^ Murray Sargent. "Introducción de caracteres Unicode - Murray Sargent: matemáticas en Office" . Consultado el 17 de agosto de 2018 .
  8. ^ "Combinaciones de teclas ASCII ALT + NUMPAD: El α y Ω de la creación de contraseñas oscuras" . Consultado el 17 de agosto de 2018 .
  9. ^ "Insertar símbolos y caracteres basados ​​en ASCII o Unicode latinos - Soporte de Office" . Microsoft . Consultado el 17 de agosto de 2018 .
  10. ^ "Documento de información de la página de códigos SBCS CPGID 00437" . Conjuntos de caracteres codificados y recursos relacionados . IBM . 1986 [1 de mayo de 1984]. Archivado desde el original el 9 de junio de 2016 . Consultado el 14 de noviembre de 2011 .
  11. ^ Steele, Shawn (24 de abril de 1996). "cp437_DOSLatinUS a tabla Unicode" (TXT) . 2,00. Consorcio Unicode . Archivado desde el original el 9 de junio de 2016 . Consultado el 14 de noviembre de 2011 .
  12. ^ Página de códigos CPGID 00437 (pdf) (PDF) , IBM
  13. ^ Página de códigos CPGID 00437 (txt) , IBM
  14. ^ Componentes internacionales para Unicode (ICU), ibm-437_P100-1995.ucm , 3 de diciembre de 2002
  15. ^ "Página de códigos (CPGID): 00437" . Conjuntos de caracteres codificados y recursos relacionados . IBM . 1984 . Consultado el 25 de febrero de 2017 .
  16. ^ a b "Identificadores de caracteres gráficos: alfabético, griego" . Conjuntos de caracteres codificados y recursos relacionados . IBM . Consultado el 25 de febrero de 2017 .
  17. ^ The Unicode Consortium (21 de mayo de 2003). "Capítulo 7: Escrituras alfabéticas europeas". El estándar Unicode 4.0 (PDF) . Addison-Wesley (publicado en agosto de 2003). pag. 176. ISBN 0-321-18578-1. Consultado el 9 de junio de 2016 .
  18. ^ "cpython / cp437.py en el maestro · python / cpython · GitHub" . Consultado el 17 de agosto de 2018 .
  19. ^ "Griego y copto: rango: 0370–03FF" (PDF) . El estándar Unicode, versión 9.0 . Consorcio Unicode . Consultado el 25 de febrero de 2017 .
  20. ^ Edwards, Benj (6 de noviembre de 2015) [2011]. "Orígenes del carácter Smiley ASCII: un intercambio de correo electrónico con el Dr. David Bradley" . Archivado desde el original el 28 de noviembre de 2016 . Consultado el 27 de noviembre de 2016 . Si observa los primeros 32 caracteres del conjunto de caracteres de IBM PC , verá muchos personajes extravagantes: caritas sonrientes, notas musicales, naipes y otros. Estos estaban pensados ​​para juegos basados ​​en personajes [...] Como estábamos usando caracteres de 8 bits, teníamos 128 nuevos espacios para llenar. Ponemos personajes serios allí: tres columnas de caracteres extranjeros, basados ​​en nuestra experiencia con Datamaster . Tres columnas de bloques de caracteres gráficos [...] muchos clientes con Adaptador de pantalla monocromática no tendrían ningún gráfico. [...] dos columnas tenían símbolos matemáticos, letras griegas (para matemáticas) y otras [...] sobre los primeros 32 caracteres (x00-x1F)? [...] Estos caracteres se originaron con la transmisión de teletipos. Pero podríamos mostrarlos en las pantallas basadas en personajes. Así que agregamos un conjunto de personajes "no serios". Fueron pensados ​​para mostrar solo caracteres, no para transmisión o almacenamiento. Su uso más probable sería en juegos basados ​​en personajes. [...] Como en la mayoría de las cosas para la PC de IBM, el programa de desarrollo de un año dejó poco tiempo para la contemplación y la revisión. [...] el conjunto de caracteres se desarrolló en una reunión de tres personas de 4 horas, y yo era uno de los que viajaban en ese avión de Seattle a Atlanta. Hubo una pequeña revisión después de esa reunión, pero había muchas otras cosas que diseñar / arreglar / decidir, así que eso fue todo. [...] los otros participantes en ese viaje en avión fueron Andy Saenz, responsable de la tarjeta de video, y Lew Eggebrecht, el ingeniero jefe de la PC.
  21. ^ Wilton, Richard (diciembre de 1987). Guía del programador para sistemas de video PC y PS / 2: rendimiento de video máximo desde EGA, VGA, HGC y MCGA (1ª ed.). Microsoft Press . ISBN 1-55615-103-9.
  22. ^ Joshua D. Neal, Registros de controlador de atributo: Registro de control de modo de atributo , Nivel de hardware VGA y SVGA Página de información de programación de video: el bit 2 es Habilitación de gráficos de línea.
  23. ^ Mike Jacobs. "Familia tipográfica MS LineDraw - Tipografía | Microsoft Docs" . Tipografía de Microsoft . 2,00. Microsoft Corporation . Consultado el 17 de agosto de 2018 .
  24. ^ Personal (26 de octubre de 2013). "WD97: fuente MS LineDraw no utilizable en Word" . Microsoft . 2.0. Microsoft . KB179422, Q179422. Archivado desde el original el 24 de marzo de 2016 . Consultado el 1 de julio de 2012 .

enlaces externos