Hispanopedia WikiContenido en espanolLectura gratuita
La página de códigos 437 ( CCSID 437 ) es el conjunto de caracteres del IBM PC original (ordenador personal). [ 2 ] También se conoce como CP437 , OEM-US , OEM 437 , [ 3 ] PC-8 , [ 4 ] o MS-DOS Latin US . [ 5 ] El conjunto incluye todos los caracteres ASCII imprimibles , así como algunas letras acentuadas ( diacríticos ), letras griegas, iconos y símbolos de dibujo lineal. A veces se le denomina " fuente OEM " o " ASCII alto ", o como " ASCII extendido " [ 4 ] (una de las muchas extensiones ASCII mutuamente incompatibles).
El IBM PC original contenía esta fuente como una fuente de 9×14 píxeles por carácter almacenada en la ROM del IBM Monochrome Display Adapter (MDA) y una fuente de 8×8 píxeles por carácter de las tarjetas Color Graphics Adapter ( CGA ). El IBM Enhanced Graphics Adapter (EGA) contenía una versión de 8×14 píxeles por carácter [ 6 ] y, para los modos compatibles con CGA, una versión de 8×8 píxeles por carácter [ 7 ] . 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 caracteres contiene un punto de código de carácter de 8 bits (ver detalles ), lo que proporciona 256 valores posibles para caracteres gráficos. A los 256 códigos se les asignó un carácter gráfico en la ROM, incluidos los códigos del 0 al 31 que estaban reservados en ASCII para caracteres de control no gráficos.
Diversos ordenadores personales de Europa del Este utilizaban conjuntos de caracteres diferentes, a veces seleccionables por el usuario mediante puentes o configuración de la CMOS. Estos conjuntos se diseñaron para coincidir lo máximo posible con el 437, por ejemplo, compartiendo los puntos de código para muchos de los caracteres de dibujo de líneas, al tiempo que permitían mostrar texto en el idioma local.
Códigos Alt
Un legado de la página de códigos 437 son las combinaciones numéricas utilizadas en los códigos Alt de Windows . [ 8 ] [ 9 ] [ 10 ] Un usuario de DOS podía introducir un carácter manteniendo pulsada la tecla Alt e introduciendo el código del carácter en el teclado numérico [ 8 ] y muchos usuarios memorizaron los números necesarios para CP437 (o para el similar CP850 ). Aunque Microsoft Windows utilizó conjuntos de caracteres diferentes, como CP1252 , los números originales se emularon para que los usuarios pudieran seguir utilizándolos; Microsoft añadió la posibilidad de escribir un código del conjunto de caracteres de Windows escribiendo 0 antes de los dígitos. [ 8 ] [ 11 ]
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 (cuando no coincide con el código del carácter). Una información emergente , generalmente disponible solo al colocar el cursor inmediatamente a la izquierda del carácter, muestra el nombre del punto de código Unicode y el código Alt decimal . Consulte también las notas a continuación, ya que existen varios caracteres Unicode equivalentes para algunos puntos de código.
Aunque la ROM proporciona una representación gráfica para los 256 códigos de 8 bits posibles, algunas API no imprimen ciertos puntos de código, en particular el rango 0-31 y el código en 127. [ 12 ] En su lugar, los interpretan como caracteres de control. Por ejemplo, muchos métodos de salida de texto en el IBM PC original interpretaban los códigos hexadecimales 07, 08, 0A y 0D como BEL , BS , LF y CR , respectivamente. Muchas impresoras tampoco podían imprimir estos caracteres.
Símbolos y puntuación
Al traducir a Unicode, algunos códigos no tienen un equivalente Unicode único; la elección correcta puede depender del contexto.
↑ 14 (E hex ) El mapeo como se muestra, a las corcheas unidas [U+266B, ♫], sigue los datos proporcionados por el Consorcio Unicode . [ 18 ] En el sistema de identificadores de caracteres GCGID (Graphic Character Global IDentifier) de IBM, este es SM910000, simplemente anotado como "Dos notas musicales"; [ 14 ] [ 15 ] sin embargo, el glifo de referencia muestra dos semicorcheas unidas [U+266C, ♬]. [ 14 ] En la especificación para el código de host japonés de IBM , SM910080 (es decir, SM910000 con el atributo de ancho completo establecido) se mapea explícitamente a U+266C y, en consecuencia, muestra dos semicorcheas. [ 19 ]
↑ 124 (7C hexadecimal ) El glifo real en esta posición es una barra discontinua [U+00A6, ¦] en la fuente original de IBM PC y compatibles , tal como la renderizaba el MDA original . Esta renderización se adoptó posteriormente para CGA , EGA y VGA (véase la imagen al principio del artículo). Sin embargo, casi todo el software asume que este código es el carácter ASCII [U+007C, |]; por ejemplo, los lenguajes de programación lo usan como "o". A principios de la década de 1990, se aclaróque existe una barra vertical en ASCII en esta posición y que el símbolo de barra discontinua no forma parte de ASCII.
↑ 127 (7F hex ) es una "casa", pero también se usaba a veces como delta capital griega [U+0394, Δ].
↑ 179 (B3 hexadecimal ) También podría servir como una extensión integral [U+23AE, ⎮] en la fuente de IBM.
↑Comparación de caracteres en el rango E0 a EF en varios productos de IBM.El carácter 225 (E1 hexadecimal ) es identificado por IBM como latín " Sharp s Small" [ 15 ] [U+00DF, ß], pero a veces se representa en fuentes OEM como griego small beta [U+03B2, β]. La ubicación de este carácter latino entre caracteres griegos sugiere que se pretendía que tuviera múltiples usos.
↑ 227 (E3 hex ) es identificado por IBM como " Pi pequeño" griego [U+03C0, π], pero a veces se representa en fuentes OEM como pi mayúscula griega [U+03A0, Π] o el signo de producto n-ario [U+220F, ∏].
↑ 228 (E4 hex ) es identificado por IBM como la " Sigma Capital" griega [U+03A3, Σ] pero también se utiliza como el signo de sumatoria n-aria [U+2211, ∑].
↑ 230 (E6 hexadecimal ) es identificado por IBM como la letra griega " Mu pequeña" [U+03BC, μ], pero también se utiliza como el microsigno [U+00B5, µ]. La tabla GCGID griega de IBM [ 20 ] asigna el carácter de esta página de códigos a la letra griega, pero la tabla cp437_DOSLatinUS a Unicode [ 13 ] lo asigna al microsigno.
↑ 233 (E9 hex ) es identificado por IBM como la " Theta Capital" griega [U+0398, Θ]. [ 14 ] [ 15 ] Sin embargo, estos símbolos son para matemáticas y física, en las que la theta minúscula se usa mucho más comúnmente (por ejemplo, para coordenadas polares).
↑ 234 (EA hexadecimal ) es identificado por IBM como la letra griega " Omega mayúscula" [U+03A9, Ω], pero también se usa como el símbolo de ohm [U+2126, Ω]. Unicode considera que los caracteres son equivalentes y sugiere que U+03A9 se use en ambos contextos. [ 21 ]
↑ 235 (EB hex ) es identificado por IBM como " Delta Pequeña" griega [U+03B4, δ]. También se usó extraoficialmente para la eth pequeña [U+00F0, ð] y el signo de derivada parcial [U+2202, ∂].
↑ 237 (ED hex ) es identificado por IBM como el griego " Phi pequeño (forma cerrada)" [U+03D5, ϕ; o, del conjunto matemático en cursiva, U+1D719, 𝜙] pero Unicode lo asigna a la forma abierta (o "en bucle") [U+03C6, φ] en su tabla cp437_DOSLatinUS. [ 13 ] La comparación de la tabla GCGID griega de IBM [ 20 ] con la tabla de códigos griegos de Unicode [ 22 ] muestra dónde IBM, por ejemplo, invirtió las formas abierta y cerrada al asignarlas a Unicode. Este carácter también se usa como el signo de conjunto vacío [U+2205, ∅], el signo de diámetro [U+2300, ⌀] y la letra latina O con trazo [U+00D8, Ø; y U+00F8, ø].
↑ 238 ( hexadecimal EE ) es identificado por IBM como el símbolo griego " Épsilon pequeño" [U+03B5, ε], pero a veces se representa en fuentes OEM como el símbolo de elemento [U+2208, ∈]. Se usaba frecuentemente como el símbolo del euro [U+20AC, €].
↑ 244 (F4 hex ) y 245 (F5 hex ) son la parte superior e inferior del símbolo de integral (∫), y se pueden extender con el carácter 179 (B3 hex ), la línea vertical del bloque de dibujo de la caja. 244 también podría usarse para elcarácter s largo [U+017F, ſ].
↑ 249 (F9 hex ) y 250 (FA hex ) son casi indistinguibles: el primero es un punto ligeramente más grande que el segundo, ambos se usaron como viñetas , punto medio y punto de multiplicación [U+2219, ∙]
↑ 255 (FF hexadecimal ) dibuja un espacio en blanco; su uso como espacio de no separación (NBSP) tiene precedentes en procesadores de texto diseñados para el IBM PC.
Historia
El repertorio de la página de código 437 se tomó parcialmente del conjunto de caracteres de las máquinas de procesamiento de texto Wang ( WISCII ), 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 fascinaban los procesadores de texto especializados de Wang, porque creíamos que las máquinas de propósito general podían hacer lo mismo. Por eso, cuando llegó el momento de diseñar el teclado para el IBM PC, incorporamos el peculiar conjunto de caracteres de Wang: ya sabes, caritas sonrientes, cuadrados, triángulos y demás. Pensábamos que algún día nos gustaría crear un clon del software de procesamiento de texto de Wang."
Sin embargo, el relato de Gates ha sido cuestionado por ser parcialmente inexacto, ya que el conjunto de caracteres WISCII no incluye caras sonrientes ni caracteres de dibujo de cajas. [ 23 ]
Según una entrevista con David J. Bradley (desarrollador de la ROM-BIOS de la PC ), los caracteres fueron decididos durante una reunión de cuatro horas en un vuelo de Seattle a Atlanta por Andy Saenz (responsable de la tarjeta de video), Lew Eggebrecht (ingeniero jefe de la PC) y él mismo. [ 24 ]
La selección de caracteres gráficos tiene cierta lógica interna:
Las filas 0 y 1 de la tabla, códigos del 0 al 31 (00 hexadecimal al 1F hexadecimal ), son caracteres decorativos variados (complementarios y ornamentales). El carácter aislado 127 (7F hexadecimal ) también pertenece a este grupo.
Las filas 2 a 7 de la tabla, códigos del 32 al 126 ( del hexadecimal 20 al 7E ), son los caracteres ASCII imprimibles estándar.
Las filas 8 a 10 de la tabla, códigos 128 a 175 (de 80 hexadecimal a AF hexadecimal ), son una selección de caracteres de texto internacionales.
Las filas 11 a 13 de la tabla, códigos 176 a 223 (B0 hexadecimal a DF hexadecimal ), son caracteres de dibujo de caja y de bloque . Este bloque está dispuesto de manera que los caracteres 192 a 223 (C0 hexadecimal a DF hexadecimal ) contienen todos los brazos derechos y las áreas rellenas a la derecha. El adaptador de pantalla MDA original del IBM PC 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 mejorar la visualización los mostraba cada nueve píxeles en la pantalla. Este rango de caracteres tenía la octava columna de píxeles duplicada por un circuito de hardware especial, [ 25 ] rellenando así los huecos en las líneas y las áreas rellenas. El adaptador VGA permite activar o desactivar este comportamiento. [ 26 ]
Las filas 14 y 15 de la tabla, códigos del 224 al 254 (E0 hexadecimal a FE hexadecimal ), están dedicadas a símbolos matemáticos, donde los doce primeros 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 mostrados, ya que forman parte del conjunto WGL4 que Microsoft anima a los diseñadores de fuentes a admitir. (La familia de fuentes rasterizadas 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 [ 27 ] replica todos los caracteres de la página de códigos 437, proporcionando así una forma de mostrar texto de DOS en una máquina Windows moderna tal como se mostraba en DOS, con limitaciones. [ 28 ]
La página de códigos 1055 , también conocida como conjunto de símbolos HP 0L, [ 29 ] es un subconjunto que incluye el dibujo de la caja, los medios bloques, los círculos negros (el círculo negro reemplaza la viñeta, que reemplaza el punto central en esta página de códigos) y el cuadrado negro, y los mueve a la mitad superior; el espacio también está incluido. [ 30 ]
Internacionalización
La página de códigos 437 contiene una serie de caracteres internacionales, principalmente valores del 128 al 175 ( hexadecimal 80 a hexadecimal AF ). Sin embargo, solo abarca por completo algunos de los principales idiomas de Europa Occidental, incluidos el inglés , el alemán [ nota 2 ] y el sueco [ nota 3 ] , por lo que carece de varios caracteres (principalmente letras mayúsculas) importantes para muchos de los principales idiomas de Europa Occidental:
Danés / Noruego : Ø y ø. El carácter número 237 (ED hexadecimal ), la phi pequeña (forma cerrada), podría usarse como sustituto aunque no se represente bien (además, tiende a asignarse a Unicode y/o a representarse en fuentes Unicode como la phi de forma abierta o la phi de forma vertical cerrada, que están aún más alejadas 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 (¢) por ø y el signo de yen (¥) por Ø.
Además de los símbolos monetarios del centavo (¢), la libra esterlina (£) y el yen / yuan (¥), incluye un par de antiguos símbolos monetarios europeos: el florín (ƒ, Países Bajos) y la peseta (₧, España). La presencia de esta última resulta inusual, ya que la peseta española nunca fue una moneda de relevancia internacional ni tuvo un símbolo propio; simplemente se abreviaba como "Pt", "Pta", "Pts" o "Ptas". Sin embargo, los modelos españoles de la máquina de escribir eléctrica IBM también contaban con una posición dedicada a ella.
Los conjuntos de caracteres DOS posteriores, como la página de códigos 850 (DOS Latin-1), la página de códigos 852 (DOS Central-European) y la página de códigos 737 (DOS Greek), cubrieron las carencias para el uso internacional con cierta compatibilidad con la página de códigos 437 al conservar los caracteres de dibujo de caja simple y doble, mientras que descartaron 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 de Microsoft Windows , y también en la fuente VGA predeterminada del kernel de Linux y en las fuentes ISO 10646 para X11 .
↑ Los sistemas disponibles en países de Europa del Este, árabes y asiáticos suelen utilizar un conjunto diferente; sin embargo, estos conjuntos están diseñados para ser compatibles con el estándar 437 en la medida de lo posible. La designación "OEM" (fabricante de equipo original) indica que el fabricante puede modificar el conjunto para adaptarlo a los diferentes mercados.
↑ Excepto ẞ, que no se adoptó hasta 2017 y solo se usa en texto en mayúsculas.
↑ También abarca por completo algunos idiomas menos importantes de Europa Occidental, así como otros idiomas, incluidos el euskera , el malayo y el alfabeto latino turcomano anterior a 1999, pero esto probablemente se debió a que el alfabeto se construyó sobre la base de él, y no al revés.
↑ "Documento informativo CCSID 437" . Archivado del original el 27 de marzo de 2016.
↑ "OEM 437" . Centro de desarrolladores Go Global . Microsoft . Archivado del original el 9 de junio de 2016. Consultado el 22 de septiembre de 2011 .
1 2 "Fuente OEM" . Enciclopedia . PCmag.com. Archivado del original el 27 de noviembre de 2020. Consultado el 19 de octubre de 2021 .
↑ Kano, Nadine. «Apéndice H Páginas de códigos». Globalización y localización : Página de códigos 437 MS-DOS Latin US . Microsoft . Archivado del original el 17 de marzo de 2016. Recuperado el 6 de febrero de 2025 .
↑ Manual del adaptador de gráficos mejorado de IBM (PDF) . pág. 1.
↑ Manual del adaptador de gráficos mejorado de IBM (PDF) . pág. 1.
1 2 3 "Glosario de términos utilizados en este sitio" . Microsoft . (Consulte la descripción del término "Alt+Teclado numérico") . Consultado el 17 de agosto de 2018 .{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace )
↑ Murray Sargent. "Introducción de caracteres Unicode – Murray Sargent: Matemáticas en Office" . Consultado el 17 de agosto de 2018 .
↑ "Combinaciones de teclas ASCII ALT+NUMPAD: El alfa y la octava forma de crear contraseñas oscuras" . Consultado el 17 de agosto de 2018 .
↑ "Insertar símbolos y caracteres latinos ASCII o Unicode - Soporte de Office" . Microsoft . Consultado el 17 de agosto de 2018 .
↑ "Documento informativo de la página de códigos SBCS CPGID 00437" . Conjuntos de caracteres codificados y recursos relacionados . IBM . 1986 [1984-05-01]. Archivado del original el 9 de junio de 2016. Recuperado el 14 de noviembre de 2011 .
1 2 3 Steele, Shawn (24 de abril de 1996). "cp437_DOSLatinUS a tabla Unicode" (TXT) . 2.00. Consorcio Unicode . Archivado del original el 9 de junio de 2016. Recuperado el 14 de noviembre de 2011 .
1 2 3 4 "Página de códigos (CPGID): 00437" . Conjuntos de caracteres codificados y recursos relacionados . IBM . 1984. Consultado el 3 de agosto de 2023 .
↑ Componentes internacionales para Unicode (ICU), ibm-437_P100-1995.ucm , 3 de diciembre de 2002
↑ "Apéndice D: Conjuntos de caracteres (§ Conjunto de caracteres especiales de IBM)" (PDF) . Manual del usuario: Impresora matricial LC-8021 . Star Micronics . 1997. pág. 55. Archivado (PDF) del original el 8 de septiembre de 2004. Consultado el 25 de abril de 2024 .
↑ Whistler, Ken (27 de julio de 1999). "Gráficos de vídeo mapeados en memoria de IBM PC a Unicode" . Consorcio Unicode .
↑ "Conjunto de caracteres gráficos japoneses de IBM, Kanji: DBCS–Host y DBCS-PC" (PDF) . IBM . 2002. CH 3-3220-024 2002-11.
1 2 "Identificadores gráficos de caracteres: Alfabéticos, Griegos" . Conjuntos de caracteres codificados y recursos relacionados . IBM . Consultado el 25 de febrero de 2017 .
↑ El Consorcio Unicode (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). pág. 176. ISBN0-321-18578-1Consultado el 9 de junio de 2016 .
↑ "Griego y copto: rango: 0370–03FF" (PDF) . El estándar Unicode, versión 9.0 . Consorcio Unicode . Consultado el 25 de febrero de 2017 .
^ Necasek, Michal (1 de octubre de 2021). "Cuentos extraños" . Museo OS/2 . Consultado el 5 de abril de 2026 .
↑ Edwards, Benj (6 de noviembre de 2015) [2011]. "Orígenes del carácter de carita sonriente ASCII: un intercambio de correos electrónicos con el Dr. David Bradley" . Archivado del original el 28 de noviembre de 2016. Recuperado el 27 de noviembre de 2016. Si observa los primeros 32 caracteres del conjunto de caracteres de IBM PC, verá muchos caracteres caprichosos: caras sonrientes, notas musicales, palos de cartas y otros. Estos estaban destinados a juegos basados en caracteres [...] Dado que estábamos usando caracteres de 8 bits, teníamos 128 nuevos espacios para llenar. Colocamos caracteres serios allí: tres columnas de caracteres extranjeros, basados en nuestra experiencia con Datamaster . Tres columnas de caracteres gráficos de bloque [...] muchos clientes con adaptador de pantalla monocromático no tendrían gráficos en absoluto. [...] dos columnas tenían símbolos matemáticos, letras griegas (para matemáticas) y otros [...] ¿sobre los primeros 32 caracteres (x00-x1F)? [...] Estos caracteres se originaron con la transmisión de teletipo. Pero podíamos mostrarlos en las pantallas basadas en caracteres. Así que añadimos un conjunto de caracteres "no serios". Estaban pensados solo para visualización, no para transmisión ni almacenamiento. Su uso más probable sería en juegos basados en caracteres. [...] Como en la mayoría de las cosas para el IBM PC, el cronograma de desarrollo de un año dejó poco tiempo para la reflexión y la revisión. [...] el conjunto de caracteres se desarrolló en una reunión de 4 horas con tres personas, y yo era uno de los que iban en ese avión de Seattle a Atlanta. Hubo algunas revisiones menores después de esa reunión, pero había muchas otras cosas que diseñar/arreglar/decidir, así que ahí quedó 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 del PC.
↑ Wilton, Richard (diciembre de 1987). Guía del programador para sistemas de vídeo de PC y PS/2: Máximo rendimiento de vídeo con EGA, VGA, HGC y MCGA (1.ª ed.). Microsoft Press . ISBN1-55615-103-9.
↑ Joshua D. Neal, Registros del controlador de atributos: Registro de control del modo de atributo , Página de información de programación de vídeo VGA y SVGA a nivel de hardware: el bit 2 es la habilitación de gráficos de línea.
↑ 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 .
↑ Personal (26 de octubre de 2013). "WD97: La fuente MS LineDraw no se puede usar en Word" . Microsoft . 2.0. Microsoft . KB179422, Q179422. Archivado del original el 24 de marzo de 2016. Consultado el 1 de julio de 2012 .