stringtranslate.com

Página de códigos 437

La página de códigos 437 ( CCSID 437) es el juego de caracteres de la PC IBM (computadora 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 lineal. A veces se la denomina "fuente OEM" o "ASCII alto", o " 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 . Como tal, el texto que se muestra cuando se reinicia una PC, antes de que se puedan cargar y representar las fuentes, generalmente se representa utilizando este conjunto de caracteres. [nota 1] Muchos formatos de archivo desarrollados en la época de IBM PC también se basan en la página de códigos 437.

Adaptadores de pantalla

La PC IBM 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 (MDA) de IBM y una fuente de 8 × 8 píxeles por carácter del Adaptador de gráficos en color ( CGA ). tarjetas. [ cita necesaria ] 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. [ cita necesaria ]

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 mediante puentes o configuración CMOS. Estos conjuntos fueron diseñados para coincidir con 437 tanto como sea posible, por ejemplo, compartiendo los puntos de código para muchos de los caracteres del dibujo lineal, y al mismo tiempo permitiendo que se muestre texto en un idioma local.

códigos alternativos

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 ingresar un carácter manteniendo presionada la tecla Alt e ingresando el código del carácter en el teclado numérico [6] y muchos usuarios memorizaron los números necesarios para CP437 (o para el CP850 similar ). Aunque Microsoft Windows utilizó diferentes conjuntos de caracteres como CP1252 , los números originales fueron emulados para que los usuarios pudieran seguir usándolos; Microsoft agregó la capacidad de escribir un código del juego 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 inmediatamente a la izquierda del carácter, muestra el nombre del punto del 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 diferentes, 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 PC IBM original interpretarían los códigos hexadecimales 07, 08, 0A y 0D como BEL , BS , CR y LF , respectivamente. Muchas impresoras tampoco pudieron 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.

  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
  2. ^ En el sistema GCGID de ID de caracteres de IBM, este es SM910000, simplemente anotado como "Dos notas musicales"; [12] [13] sin embargo, el glifo de referencia muestra dos semicorcheas con vigas [U+266C, ♬]. [12] El mapeo como se muestra en las corcheas emitidas [U+266B, ♫] sigue los datos proporcionados por el Unicode Consortium . [15] En la especificación para el código de host japonés de IBM , SM910080 (es decir, SM910000 con el conjunto de atributos de ancho completo ) se asigna explícitamente a U+266C y también muestra dos semicorcheas. [dieciséis]
  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 fue adoptada posteriormente 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ó [ ¿quién? ] que hay una barra vertical en ASCII en esta posición y que el símbolo de la barra rota no forma parte de ASCII.
  4. ^ 127 (7F hexadecimal ) es una "casa", pero a veces también se usaba como delta de la capital griega [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.
    225 (E1 hexadecimal ) es identificado por IBM como " Sharp s Small" latino [13] [U+00DF, ß] pero a veces se representa en fuentes OEM como beta pequeña griega [U+03B2, β]. La ubicación de este carácter latino entre los caracteres griegos sugiere un uso múltiple previsto.
  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 signo de producto n-ario [U +220F, ∏].
  8. ^ 228 (E4 hexadecimal ) es identificado por IBM como " Sigma Capital" griego [U+03A3, Σ] pero también se utiliza como el signo de suma n-ario [U+2211, ∑].
  9. ^ 230 (E6 hexadecimal ) es identificado por IBM como griego " Mu Small" [U+03BC, μ] pero también se utiliza como micro signo [U+00B5, µ]. En Unicode, la tabla GCGID griega de IBM [17] asigna el carácter en esta página de códigos a la letra griega, pero Python , por ejemplo, lo asigna al micro signo.
  10. ^ 233 (E9 hexadecimal ) 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 theta minúscula se usa mucho más comúnmente (por ejemplo, para coordenadas polares).
  11. ^ 234 (EA hexadecimal ) es identificado por IBM como " Omega Capital" griega [U+03A9, Ω] pero también se utiliza como signo de ohmio [U+2126, Ω]. Unicode considera que los caracteres son equivalentes y sugiere que se utilice U+03A9 en ambos contextos. [18]
  12. ^ 235 (EB hexadecimal ) es identificado por IBM como griego " Delta pequeño" [U+03B4, δ]. También se usó extraoficialmente para la eth pequeña [U+00F0, ð] y el signo de derivada parcial [U+2202, ∂]
  13. ^ 237 (ED hexadecimal ) es identificado por IBM como griego " Phi Small (forma cerrada)" [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 [19] ), se asigna a Unicode como la forma abierta (o "loopy") [U+03C6, φ]. La comparación de la tabla GCGID griega de IBM [17] con la tabla de códigos griegos de Unicode [20] muestra dónde IBM, por ejemplo, invirtió las formas abierta y cerrada al mapear a Unicode. Este carácter también se utiliza como signo de conjunto vacío [U+2205, ∅], signo de diámetro [U+2300, ⌀] y letra latina O con trazo [U+00D8, Ø; y U+00F8, ø].
  14. ^ 238 (EE hexadecimal ) es identificado por IBM como griego " Epsilon Small" [U+03B5, ε] pero a veces se representa en fuentes OEM como elemento de signo [U+2208, ∈]. A menudo se utilizaba como signo del euro [U+20AC, €]
  15. ^ 244 (F4 hexadecimal ) y 245 (F5 hexadecimal ) son la parte superior e inferior del símbolo integral (∫) y se pueden ampliar con el carácter 179 (B3 hexadecimal ), la línea vertical del bloque de dibujo del cuadro. 244 también podría usarse 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 medio y punto de multiplicación [U+2219, ∙]
  17. ^ 251 (FB hexadecimal ) también se usaba a veces como marca de verificación [U+2713, ✓].
  18. ^ 255 (FF hexadecimal ) dibuja un espacio en blanco; El uso como espacio de no separación (NBSP) tiene un precedente 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 procesadoras 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 texto dedicados de Wang, porque creíamos que las máquinas de uso general también podían hacer eso. Por eso, cuando llegó el momento de diseñar el teclado para la PC IBM, pusimos el divertido El personaje de Wang se instaló en la máquina, ya sabes, caras sonrientes, cuadros, triángulos y esas cosas. Estábamos pensando que algún día nos gustaría hacer un clon del software de procesamiento de textos de Wang".

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

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

La mayoría de las fuentes para Microsoft Windows incluyen 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 [24] replica todas las fuentes. página de códigos 437 caracteres, proporcionando así una forma de mostrar texto de DOS en una máquina Windows moderna como se mostraba en DOS, con limitaciones. [25]

La página de códigos 1055 , también conocida como conjunto de símbolos HP 0L, [26] es un subconjunto que incluye el dibujo de cuadro, 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 cuadrado negro, y los mueve a la mitad superior; el espacio también está incluido. [27]

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 el inglés , el alemán y el 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 con los símbolos monetarios del céntimo (¢), la libra esterlina (£) y el yen / yuan (¥), tiene un par de antiguos símbolos monetarios europeos: el florín (ƒ, Países Bajos) y la peseta (₧, España). La presencia de este último 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 abrevió como "Pt", "Pta", "Pts" o "Ptas". Los modelos españoles de máquina de escribir eléctrica IBM , sin embargo, también tenían un único 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 conservar los caracteres de dibujo de cuadro simples y dobles, 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

  1. ^ Los sistemas disponibles en los países de Europa del este, árabes y asiáticos suelen utilizar un conjunto diferente; sin embargo, estos conjuntos están diseñados para coincidir con 437 tanto como sea posible. La designación "OEM", para "fabricante de equipo original", indica que el fabricante podría cambiar el conjunto para satisfacer 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 esto probablemente no fue intencionado.

Referencias

  1. ^ Conjuntos de caracteres, Autoridad de números asignados de Internet (IANA), 12 de diciembre de 2018
  2. ^ "Documento informativo CCSID 437". Archivado desde el original el 27 de marzo de 2016.
  3. ^ "OEM 437". Ir al Centro global de desarrolladores . 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 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. "Ingreso de caracteres Unicode - Murray Sargent: Matemáticas en la oficina" . Consultado el 17 de agosto de 2018 .
  8. ^ "Combinaciones de teclas ASCII ALT + NUMPAD: α y Ω para crear contraseñas oscuras" . 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". Juegos 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 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 abcd CPGID 00437 (PDF) , IBM
  13. ^ abcd "Página de códigos (CPGID): 00437". Juegos 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. ^ Whistler, Ken (27 de julio de 1999). "Gráficos de vídeo asignados en memoria de IBM PC a Unicode". Consorcio Unicode .
  16. ^ "Conjunto de caracteres gráficos japoneses de IBM, kanji: DBCS – Host y DBCS-PC" (PDF) . IBM . 2002. CH 3-3220-024 2002-11.
  17. ^ ab "Identificadores de caracteres gráficos: alfabético, griego". Juegos de caracteres codificados y recursos relacionados . IBM . Consultado el 25 de febrero de 2017 .
  18. ^ 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). pag. 176.ISBN _ 0-321-18578-1. Consultado el 9 de junio de 2016 .
  19. ^ "cpython/cp437.py en master · python/cpython · GitHub". GitHub . Consultado el 17 de agosto de 2018 .
  20. ^ "Griego y copto: rango: 0370–03FF" (PDF) . El estándar Unicode, versión 9.0 . Consorcio Unicode . Consultado el 25 de febrero de 2017 .
  21. ^ Edwards, Benj (6 de noviembre de 2015) [2011]. "Orígenes del personaje 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 personajes caprichosos: caras sonrientes, notas musicales, palos de naipes y otros. Estos estaban destinados a juegos basados ​​​​en personajes [...] Como usábamos personajes de 8 bits, teníamos 128 nuevos espacios que 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 un adaptador de pantalla monocromática no tendrían ningún gráfico. [...] columnas tenían símbolos matemáticos, letras griegas (para matemáticas) y otros sobre los primeros 32 caracteres (x00-x1F)? [...] Estos personajes se originaron con la transmisión por teletipo. Pero podríamos mostrarlos en las pantallas basadas en personajes. Entonces agregamos un conjunto de personajes "no serios". Estaban destinados a ser caracteres de visualización únicamente, no para transmisión o almacenamiento. Su uso más probable sería en juegos basados ​​en personajes. [...] Como ocurre con 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 revisión. [...] conjunto de personajes se desarrolló en una reunión de cuatro horas de tres personas, y yo era uno de los que estaban en ese avión de Seattle a Atlanta. Hubo una revisión menor 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.
  22. ^ Wilton, Richard (diciembre de 1987). Guía del programador de sistemas de vídeo PC y PS/2: máximo rendimiento de vídeo desde EGA, VGA, HGC y MCGA (1ª ed.). Prensa de Microsoft . ISBN 1-55615-103-9.
  23. ^ Joshua D. Neal, Registros de controlador de atributos: registro de control de modo de atributo, página de información de programación de video VGA y SVGA de nivel de hardware: el bit 2 es la habilitación de gráficos de línea.
  24. ^ Mike Jacobs. "Familia de fuentes MS LineDraw - Tipografía | Microsoft Docs". Tipografía de Microsoft . 2.00. Corporación Microsoft . Consultado el 17 de agosto de 2018 .
  25. ^ Personal (26 de octubre de 2013). "WD97: la fuente MS LineDraw no se puede utilizar 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 .
  26. ^ "Conjuntos de símbolos HP".
  27. ^ "Página de códigos 1055" (PDF) . Archivado desde el original (PDF) el 21 de enero de 2013.

enlaces externos