stringtranslate.com

Página de código 437

La página de códigos 437 ( CCSID 437 ) es el conjunto de caracteres del IBM PC (ordenador personal) original. [2] También se conoce como CP437 , OEM-US , OEM 437 , [3] PC-8 , [4] o 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 de líneas. A veces se lo denomina " fuente OEM " o " ASCII alto ", o como " ASCII extendido " [4] (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 . Por ello, el texto que se muestra cuando se reinicia una PC, antes de que se puedan cargar y reproducir las fuentes, normalmente se reproduce utilizando este conjunto de caracteres. [nota 1] Muchos formatos de archivo desarrollados en la época de la IBM PC también se basan en la página de códigos 437.

Adaptadores de pantalla

La 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 ). [ cita requerida ] El IBM Enhanced Graphics Adapter (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. [ cita requerida ]

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 ), lo que da 256 valores posibles para caracteres gráficos. A todos 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.

Varias PC de Europa del Este utilizaban conjuntos de caracteres diferentes, a veces seleccionables por el usuario mediante puentes o configuración CMOS. Estos conjuntos estaban diseñados para que coincidieran con el 437 tanto como fuera posible, 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 un idioma local.

Códigos Alt

Un legado de la página de códigos 437 son las combinaciones de números utilizadas en los códigos Alt de Windows . [6] [7] [8] 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 [6] y muchos usuarios memorizaban los números necesarios para CP437 (o para el similar CP850 ). Aunque Microsoft Windows utilizaba 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. [6] [9]

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 es igual al código del carácter). Una información sobre herramientas , generalmente disponible solo cuando se apunta a la izquierda inmediata 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 un gráfico para los 256 códigos de 8 bits posibles, algunas API no imprimirán algunos puntos de código, en particular el rango 0-31 y el código en 127. [10] En cambio, los interpretarán como caracteres de control. Por ejemplo, muchos métodos de salida de texto en la IBM PC original interpretarían 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 y específico; la elección correcta puede depender del contexto.

  1. ^ 0 dibuja un espacio en blanco, pero su uso como terminador de cadena C significa que se traduce con mayor precisión como NUL. En su implementación basada en la página de códigos 437 de gráficos de región C0, las impresoras Star Micronics reutilizan este código como un cero con barra . [15]
  2. ^ La asignación como se muestra, a las corcheas con barra [U+266B, ♫], sigue los datos proporcionados por el Consorcio Unicode . [16] En el sistema GCGID (Identificador Global de Caracteres Gráficos) de IBM de identificadores de caracteres, este es SM910000, simplemente anotado como "Dos Notas Musicales"; [12] [13] sin embargo, el glifo de referencia muestra dos semicorcheas con barra [U+266C, ♬]. [12] 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 asigna explícitamente a U+266C y, en consecuencia, muestra dos semicorcheas. [17]
  3. ^ 124 (7C hexadecimal ) El glifo real en esta posición es una barra rota [U+00A6, ¦] en la fuente original de IBM PC y compatibles , tal como se representa en el MDA original . Esta representación se adoptó más tarde para CGA , EGA y VGA (ver 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 utilizan como "o". A principios de la década de 1990, se aclaró [¿ por quién? ] que hay una barra vertical en ASCII en esta posición y que el símbolo de barra rota no es parte de ASCII.
  4. ^ 127 (7F hex ) es una "casa", pero también se usaba a veces como capital griega delta [U+0394, Δ].
  5. ^ También podría servir como una extensión integral [U+23AE, ⎮] en la fuente de IBM.
  6. ^
    Comparación de caracteres en el rango E0 a EF en varios productos de IBM.
    IBM identifica el carácter 225 (E1 hex ) como " Sharp s Small" en latín [13] [U+00DF, ß], pero a veces se representa en las fuentes OEM como "grey small beta" [U+03B2, β] en griego. La ubicación de este carácter latino entre los caracteres griegos sugiere que se pretende que tenga múltiples usos.
  7. ^ 227 (E3 hexadecimal ) 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 símbolo del producto n-ario [U+220F, ∏].
  8. ^ 228 (E4 hex ) es identificado por IBM como " Sigma Capital" griega [U+03A3, Σ] pero también se utiliza como signo de suma n-ario [U+2211, ∑].
  9. ^ 230 (E6 hex ) es identificado por IBM como " Mu Small" griego [U+03BC, μ] pero también se utiliza como el signo micro [U+00B5, µ]. En Unicode, la tabla GCGID griega de IBM [18] asigna el carácter en esta página de códigos a la letra griega, pero Python , por ejemplo, lo asigna al signo micro.
  10. ^ 233 (E9 hex ) es identificado por IBM como " Theta Capital" griega [U+0398, Θ]. [12] [13] 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).
  11. ^ 234 (EA hex ) es identificado por IBM como " Omega Capital" griega [U+03A9, Ω] pero también se utiliza como el signo de ohmio [U+2126, Ω]. Unicode considera que los caracteres son equivalentes y sugiere que se utilice U+03A9 en ambos contextos. [19]
  12. ^ 235 (EB hex ) es identificado por IBM como " Delta pequeña" griega [U+03B4, δ]. También se utilizó de manera no oficial para la eth pequeña [U+00F0, ð] y el signo de la derivada parcial [U+2202, ∂]
  13. ^ 237 (ED hex ) es identificado por IBM como " Phi Small (Closed Form)" griego [U+03D5, ϕ; o, del conjunto matemático en cursiva, U+1D719, 𝜙] pero, en algunos códecs (por ejemplo, la biblioteca de códecs de Python [20] ), se asigna a Unicode como la forma abierta (o "con bucles") [U+03C6, φ]. La comparación de la tabla GCGID griega de IBM [18] con la tabla de códigos griegos de Unicode [21] muestra dónde IBM, por ejemplo, invirtió las formas abierta y cerrada al asignar a Unicode. Este carácter también se utiliza 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, ø].
  14. ^ 238 (EE hexadecimal ) es identificado por IBM como " Epsilon Small" en griego [U+03B5, ε] pero a veces se representa en fuentes OEM como el elemento de signo [U+2208, ∈]. A menudo se utilizaba como el símbolo del euro [U+20AC, €]
  15. ^ 244 (F4 hexadecimal ) y 245 (F5 hexadecimal ) son las porciones superior e inferior del símbolo integral (∫), y se pueden extender con el carácter 179 (B3 hexadecimal ), la línea vertical del bloque de dibujo del cuadro. 244 también se puede usar para el carácter s largo [U+017F, ſ].
  16. ^ 249 (F9 hexadecimal ) y 250 (FA hexadecimal ) son casi indistinguibles: el primero es un punto ligeramente más grande que el segundo, ambos se usaron como viñetas , punto central y punto de multiplicación [U+2219, ∙]
  17. ^ 251 (FB hex ) también se usaba a veces como marca de verificación [U+2713, ✓].
  18. ^ 255 (FF hexadecimal ) dibuja un espacio en blanco; su uso como espacio no divisible (NBSP) tiene precedentes en los procesadores de texto diseñados para IBM PC.

Historia

El repertorio de la página de códigos 437 fue tomado del conjunto de caracteres de las máquinas de procesamiento de textos 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 textos especializados 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 el IBM PC, pusimos el divertido conjunto de caracteres de Wang en la máquina: ya sabes, caras sonrientes, cuadros, triángulos y cosas así. Pensábamos que nos gustaría hacer un clon del software de procesamiento de textos de Wang algún día".

Según una entrevista con David J. Bradley (desarrollador del ROM-BIOS del 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 vídeo), Lew Eggebrecht (ingeniero jefe del PC) y él mismo. [22]

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

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 recomienda a los diseñadores de fuentes que admitan. (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 [25] replica todos los caracteres de la página de códigos 437, lo que proporciona una forma de mostrar texto DOS en una máquina Windows moderna como se mostraba en DOS, con limitaciones. [26]

La página de códigos 1055 , también conocida como conjunto de símbolos HP 0L, [27] es un subconjunto que incluye el dibujo de caja, medios bloques, círculos negros (el círculo negro reemplaza a la viñeta, que reemplaza al punto del medio en esta página de códigos) y el cuadrado negro, y los mueve a la mitad superior; el espacio también está incluido. [28]

Internacionalización

La página de códigos 437 tiene una serie de caracteres internacionales, principalmente valores del 128 al 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 [nota 2] y , por lo tanto, carece de varios caracteres (principalmente letras mayúsculas) importantes para muchos de los principales idiomas de Europa occidental:

Junto a los símbolos monetarios del céntimo (¢), la libra esterlina (£) y el yen / yuan (¥), posee un par de antiguos símbolos monetarios europeos: el florín (ƒ, Países Bajos) y la peseta (₧, España). La presencia de esta última es inusual, ya que la peseta española nunca fue una moneda de relevancia internacional, y tampoco tuvo nunca un símbolo propio; simplemente se abreviaba 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 una única 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), llenaron los vacíos 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 núcleo Linux y las fuentes ISO 10646 para X11 .

Véase también

Notas

  1. ^ Los sistemas disponibles en países de Europa del Este, países árabes y países asiáticos suelen utilizar un conjunto diferente; sin embargo, estos conjuntos están diseñados para coincidir con el 437 tanto como sea posible. La designación "OEM", de "fabricante de equipo original", indica que el fabricante podría cambiar el conjunto para adaptarse a diferentes mercados.
  2. ^ También cubre algunos idiomas menos importantes de Europa occidental, así como algunos otros idiomas, en su totalidad, incluidos el vasco , el malayo y el alfabeto latino turcomano anterior a 1999 , pero es probable que esto no haya sido intencionado.

Referencias

  1. ^ Conjuntos de caracteres, Autoridad de Números Asignados en Internet (IANA), 12 de diciembre de 2018
  2. ^ "Documento informativo del CCSID 437". Archivado desde el original el 27 de marzo de 2016.
  3. ^ "OEM 437". Centro de desarrolladores Go Global . Microsoft . Archivado desde el original el 9 de junio de 2016. Consultado el 22 de septiembre de 2011 .
  4. ^ ab "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. Microsoft . Archivado desde el original el 17 de marzo de 2016. Consultado el 14 de noviembre de 2011 .
  6. ^ abc "Glosario de términos utilizados en este sitio". Microsoft . (Consulte la descripción del término "Alt+Numpad"). 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: Math in Office» (Matemáticas en la oficina) . Consultado el 17 de agosto de 2018 .
  8. ^ "Combinaciones de teclas ASCII ALT+NUMPAD: las teclas α y Ω para crear contraseñas poco claras" . Consultado el 17 de agosto de 2018 .
  9. ^ "Insertar símbolos y caracteres latinos ASCII o Unicode - 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 [1984-05-01]. 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 to Unicode table» (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 abcd CPGID 00437 (PDF) , IBM
  13. ^ abcd «Página de códigos (CPGID): 00437». Conjuntos de caracteres codificados y recursos relacionados . IBM . 1984 . Consultado el 3 de agosto de 2023 .
  14. ^ Componentes internacionales para Unicode (ICU), ibm-437_P100-1995.ucm, 3 de diciembre de 2002
  15. ^ "Apéndice D: Conjuntos de caracteres (§ Conjunto de caracteres especiales de IBM)" (PDF) . Manual del usuario: Impresora matricial LC-8021 . Star Micronics . 1997. p. 55. Archivado (PDF) desde el original el 8 de septiembre de 2004 . Consultado el 25 de abril de 2024 .
  16. ^ Whistler, Ken (27 de julio de 1999). "Gráficos de video mapeados en memoria de IBM PC a Unicode". Consorcio Unicode .
  17. ^ "Conjunto de caracteres gráficos japoneses de IBM, Kanji: DBCS–Host y DBCS-PC" (PDF) . IBM . 2002. CH 3-3220-024 2002-11.
  18. ^ ab "Identificadores de caracteres gráficos: Alfabeto, griego". Conjuntos de caracteres codificados y recursos relacionados . IBM . Consultado el 25 de febrero de 2017 .
  19. ^ El Consorcio Unicode (21 de mayo de 2003). «Capítulo 7: Sistemas de escritura alfabéticos europeos». El estándar Unicode 4.0 (PDF) . Addison-Wesley (publicado en agosto de 2003). pág. 176. ISBN 0-321-18578-1. Recuperado el 9 de junio de 2016 .
  20. ^ "cpython/cp437.py en master · python/cpython · GitHub". GitHub . Consultado el 17 de agosto de 2018 .
  21. ^ "Griego y copto: rango: 0370–03FF" (PDF) . El estándar Unicode, versión 9.0 . Consorcio Unicode . Consultado el 25 de febrero de 2017 .
  22. ^ Edwards, Benj (6 de noviembre de 2015) [2011]. "Orígenes del carácter sonriente 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 caracteres extravagantes: caras sonrientes, notas musicales, palos de naipes y otros. Estos estaban destinados a juegos basados ​​en personajes [...] Como estábamos usando caracteres de 8 bits, teníamos 128 nuevos espacios para llenar. Pusimos caracteres serios allí: tres columnas de caracteres extranjeros, según nuestra experiencia con Datamaster . Tres columnas de caracteres gráficos en bloque [...] muchos clientes con adaptador de pantalla monocromática 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 por teletipo. Pero podríamos mostrarlos en las pantallas basadas en caracteres. Así que añadimos un conjunto de caracteres "no serios". Estaban pensados ​​como personajes de presentación únicamente, 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 IBM PC, el cronograma 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 cuatro horas, y yo era uno de los que viajaban 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 eso fue todo. [...] los otros participantes en ese viaje en avión fueron Andy Saenz, responsable de la tarjeta de vídeo, y Lew Eggebrecht, el ingeniero jefe de la PC.
  23. ^ Wilton, Richard (diciembre de 1987). Guía del programador para sistemas de vídeo para PC y PS/2: Máximo rendimiento de vídeo de EGA, VGA, HGC y MCGA (1.ª ed.). Microsoft Press . ISBN 1-55615-103-9.
  24. ^ Joshua D. Neal, Registros del controlador de atributos: Registro de control del modo de atributo, Página de información de programación de video VGA y SVGA a nivel de hardware: el bit 2 es Habilitar gráficos de línea.
  25. ^ Mike Jacobs. «Familia de fuentes MS LineDraw - Tipografía | Microsoft Docs». ​​Tipografía de Microsoft . 2.00. Microsoft Corporation . Consultado el 17 de agosto de 2018 .
  26. ^ Staff (26 de octubre de 2013). «WD97: MS LineDraw Font Not Usable in Word». Microsoft . 2.0. Microsoft . KB179422, Q179422. Archivado desde el original el 24 de marzo de 2016 . Consultado el 1 de julio de 2012 .
  27. ^ "Conjuntos de símbolos HP".
  28. ^ "Página de códigos 1055" (PDF) . Archivado desde el original (PDF) el 21 de enero de 2013.

Enlaces externos