Articulo de referencia

Codificación digital de símbolos APL

El lenguaje de programación APL utiliza una serie de símbolos , en lugar de palabras del lenguaje natural, para identificar operaciones, de forma similar a los símbolos matemáti...

El lenguaje de programación APL utiliza una serie de símbolos , en lugar de palabras del lenguaje natural, para identificar operaciones, de forma similar a los símbolos matemáticos . Antes de la adopción generalizada de Unicode , se utilizaban varias páginas de códigos EBCDIC y no EBCDIC específicas para representar los símbolos necesarios para escribir APL.

Conjuntos de caracteres

Debido a su origen en las teleimpresoras IBM Selectric , los símbolos APL se han representado tradicionalmente en la transmisión por cable mediante un conjunto de caracteres único y no estándar. En las décadas de 1960 y 1970, existían pocos dispositivos terminales capaces de reproducirlos; los más populares eran los IBM 2741 e IBM 1050, equipados con un cabezal de impresión APL específico. Con el tiempo, gracias al uso generalizado de pantallas gráficas de alta calidad, dispositivos de impresión y compatibilidad con Unicode , el problema de la fuente de caracteres APL se ha solucionado en gran medida.

Repertorio de personajes

IBM asigna los siguientes identificadores de caracteres (GCGID) a la sintaxis APL, que se utilizan en las definiciones de sus páginas de códigos. [ 1 ] [ 2 ] [ 3 ]

Páginas de códigos EBCDIC

Página de códigos 293

La página de códigos 293 ( CCSID 293), [ 20 ] llamada "APL (USA)", es una página de códigos EBCDIC que incluye símbolos APL, además de conservar las letras latinas básicas y los números arábigos occidentales en sus ubicaciones EBCDIC habituales. [ 17 ] [ 18 ]

  Diferencias con respecto a la página 37 del Código

Página de códigos 310

La página de códigos 310 ("Graphic Escape APL/TN") incluye una gama más amplia de símbolos, pero no incluye las letras latinas básicas ni los dígitos básicos. [ 22 ] [ 4 ] Se utiliza junto con la página de códigos 37 (2) , [ 23 ] y los códigos de la página de códigos 310 se anteponen al carácter de control Graphic Escape (EBCDIC 0x08) [ 24 ] . [ 6 ] [ 25 ]

Página de códigos 351

La página de código 351 ("GDDM Default (USA)") [ 27 ] contiene la mayoría de los caracteres de las páginas de código 293 y 310 (excepto , épsilon con subrayado) además de las letras y dígitos, reemplazando varios caracteres de control con símbolos.

ASCII modificado de 7 bits

Página de códigos 371 (IR-68)

La página de código 371, [ 28 ] registrada para su uso con ISO/IEC 2022 como ISO-IR-68 , [ 29 ] [ 5 ] es un ASCII de 7 bits fuertemente modificado, diseñado por el Grupo de Trabajo APL de la Asociación Canadiense de Estándares , destinado a su uso con APL en un entorno que permite el tachado de caracteres mediante el código de control BS (retroceso, 0x08). [ 29 ] [ 5 ]

ASCII modificado y/o extendido de 8 bits

Página de códigos 907

La página de códigos 907 es utilizada por el IBM 3812, al igual que la página de códigos 906.

  Diferencias con respecto a la página 437 del código.

Página de códigos 909

La página de códigos 909 es otra codificación para APL, que difiere de la página de códigos 907 en que no incluye los caracteres subrayados, asigna códigos diferentes a los caracteres APL que se encuentran en el rango 0xB0–DF y reemplaza algunos de los gráficos de reemplazo C0 de la página de códigos 437 con codificaciones alternativas para ciertos símbolos APL.

  Diferencias con respecto a la página 437 del código.

Página de códigos 910

La página de códigos 910 es similar a la página de códigos 909, pero con menos flechas horizontales duplicadas, utilizando los mismos gráficos C0 que la página de códigos 437 e incluyendo algunos caracteres adicionales.

  Diferencias con respecto a la página 437 del código.

Unicode

La mayoría de los símbolos APL están presentes en Unicode, en el rango técnico misceláneo , [ 30 ] aunque algunos productos APL pueden no incluir aún Unicode, y algunos símbolos APL pueden no usarse o no estar disponibles en la implementación de un proveedor determinado.

Desde 2010, Unicode permite almacenar caracteres APL en archivos de texto, publicarlos en formato impreso y en la web, y compartirlos por correo electrónico y mensajería instantánea. Para introducir caracteres APL, aún se requiere un editor de entrada o una configuración de teclado específicos, o bien una interfaz táctil específica. Existen configuraciones de teclado APL gratuitas para la mayoría de los sistemas operativos, o bien se pueden obtener añadiendo los símbolos Unicode APL a una configuración de teclado existente.

Caracteres alfabéticos subrayados

En Unicode faltan los caracteres alfabéticos tradicionales subrayados que se incluyen en algunas páginas de códigos APL; su uso se ha eliminado o descontinuado en la mayoría de las implementaciones de APL. Estos se generaban en terminales de impresión APL superponiendo un guion bajo sobre una letra mayúscula recta. Algunas tablas los muestran simulados con subrayado y cursiva, sin incluir las asignaciones Unicode. [ 4 ]

IBM les asigna GCGIDs como "LA480000" (que denominan "A Line Below Capital/A Underscore (APL)"), "LB480000" ("B Line Below Capital/B Underscore (APL)") y así sucesivamente, bajo la serie "L" utilizada para las letras latinas. [ 1 ] El uso de un número par (48) en lugar de un número impar (47) se debe a que son mayúsculas: compárese el uso de SD110000 para un acento agudo solitario ´, LA110000 para la minúscula áy LA120000 para la mayúscula Á. [ 31 ] Están incluidos en el esquema de área de uso privado de IBM , codificados en orden alfabético inverso en los puntos de código impares desde U+F8BF hasta U+F8F1. [ 12 ]

Los usos homólogos de 47 incluyen la serie "SD" (diacrítica) GCGID SD470000 para "Línea debajo/Guion bajo discontinuo" [ 32 ] , es decir, macrón debajo , distinto del guion bajo ASCII que es SP090000 ("Subrayado/Guion bajo continuo") [ 31 ] , y la serie "A" ( letra árabe ) GCGID AD470009 para el ḏāl , [ 33 ] por ejemplo. El bloque adicional extendido latino de Unicode incluye los siguientes caracteres "Línea debajo" en mayúscula con el diacrítico de macrón debajo, para la transcripción semítica (incluye una ẖ precompuesta solo en minúscula):

  • U+1E06 LETRA MAYÚSCULA LATINA B CON LÍNEA DEBAJO
  • U+1E0E LETRA MAYÚSCULA LATINA D CON LÍNEA DEBAJO
  • U+1E34 LETRA MAYÚSCULA LATINA K CON LÍNEA DEBAJO
  • U+1E3A LETRA MAYÚSCULA LATINA L CON LÍNEA DEBAJO
  • U+1E48 LETRA MAYÚSCULA LATINA N CON LÍNEA DEBAJO
  • U+1E5E LETRA MAYÚSCULA LATINA R CON LÍNEA DEBAJO
  • U+1E6E LETRA MAYÚSCULA LATINA T CON LÍNEA DEBAJO
  • U+1E94 LETRA MAYÚSCULA LATINA Z CON LÍNEA DEBAJO

Sin embargo, esto no cubre todo el alfabeto latino básico ISO , y los glifos de referencia de IBM para los caracteres APL los muestran tanto subrayados como oblicuos , [ 2 ] y las tablas que los simulan con marcado pueden seguir el mismo patrón. [ 4 ] El bloque Símbolos alfanuméricos matemáticos de Unicode incluye caracteres en cursiva para su uso en notaciones donde contrastan con caracteres no cursivos. Unicode también incluye formas combinadas del macrón inferior y el guion bajo en el bloque Marcas diacríticas combinadas ; los caracteres superiores se descomponen canónicamente con el primero:

  • U+0331 ̱ COMBINANDO MACRON A CONTINUACIÓN
  • U+0332 ̲ LÍNEA BAJA DE COMBINACIÓN

Diseño del teclado

Existen reglas mnemotécnicas que asocian un carácter APL con una letra: ?( signo de interrogación ) en , ( potencia ) en , ( rho ) en , ( valor base ) en , ( eNcode ) en , ( módulo ) en , etc. Esto facilita a los hablantes de inglés la escritura de APL en un teclado que no sea APL, siempre que dispongan de información visual en la pantalla. Además, se han creado pegatinas para colocar en teclados estándar, ya sea en la parte frontal o superior de las teclas.QPρRBNM

Distribución del teclado APL. [ 34 ]

Los terminales IBM posteriores, en particular las estaciones de visualización IBM 3270 , tenían una disposición de teclado alternativa que constituye la base de algunos de los diseños de teclado APL modernos que se utilizan en la actualidad.

Se podían obtener caracteres APL adicionales superponiendo un carácter sobre otro. Por ejemplo, el símbolo de registro (⍟) se formaba superponiendo + sobre + . Esto ampliaba las capacidades gráficas de los primeros teletipos, pero dificultaba la corrección de errores y la edición de las líneas de programa.⇧ ShiftP⇧ ShiftO

Los proveedores introdujeron nuevos caracteres superpuestos al producir versiones de APL adaptadas a hardware, características del sistema, sistemas de archivos, etc. Además, las impresoras y las primeras terminales de rayos catódicos APL podían mostrar caracteres superpuestos arbitrarios, pero a medida que las computadoras personales reemplazaron rápidamente a las terminales como dispositivos de entrada de datos, la compatibilidad con caracteres APL pasó a proporcionarse mediante una ROM de generador de caracteres APL o un conjunto de caracteres generado por el dispositivo de visualización. Con la llegada de la PC moderna, los caracteres APL se definieron en fuentes específicas, eliminando la distinción entre caracteres superpuestos y caracteres estándar.

Finalmente, los símbolos fueron ratificados en Unicode y se les asignaron puntos de código específicos, con interpretaciones inequívocas, independientemente de la fuente gráfica.

Véase también

Notas a pie de página

  1. 1 2 3 4 5 6 7 8 9 10 11 12 Hay dos convenciones de nomenclatura (cuál es el orden de "arriba" y "abajo", y cuál es el de "izquierda" y "derecha") para los caracteres de tachuelas, las convenciones "London" y "Bosworth". [ 13 ] La convención utilizada difiere entre IBM y Unicode. La nomenclatura también difiere entre los caracteres Unicode compuestos destinados exclusivamente a APL (que coinciden con la nomenclatura de IBM y utilizan la convención Bosworth) y las tachuelas simples destinadas también a otras aplicaciones (que utilizan la convención London). [ 13 ] [ 14 ] Posteriormente, las especificaciones de APL adoptaron la convención London. [ 14 ] La documentación de Dyalog APL señala que la nomenclatura Unicode para las tachuelas compuestas (y por lo tanto la nomenclatura de IBM para todas las tachuelas), que sigue la convención "Bosworth" menos utilizada, [ 13 ] contradice la convención en la comunidad APL. [ 7 ]
  2. Unicode 1.0 tenía el carácter "APL out" en U+2301, pero fue eliminado en Unicode 1.0.1. [ 15 ]
  3. Las asignaciones documentadas varían. [ 4 ] [ 6 ] [ 26 ] [ 16 ]
  4. 1 2 3 4 Extensión aguda. [ 6 ]

Referencias

  1. 1 2 3 "Graphic Escape APL2/TN - 138" . IBM . GCSGID 00963.
  2. 1 2 3 "Graphic Escape APL2/TN - 138 (gráfico)" (PDF) . IBM . GCSGID 00963.
  3. 1 2 3 4 5 6 7 8 "Identificadores de caracteres gráficos: especiales, símbolos APL" . IBM . Archivado del original el 22 de enero de 2016.
  4. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Tachyon Software (2007-07-31). Página de códigos 00310: 3270 APL Graphic Escape .
  5. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Cowan, John (2004-06-29). "ISO-IR-68 a Unicode" . Unicode.org . Unicode , Inc. Recuperado el 19 de junio de 2017 .
  6. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 "Conjunto de caracteres x3270" . Documentación x3270 . Archivado del original el 10/11/2018.
  7. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 "Nomenclatura de Dyalog: funciones y operadores" (PDF) . Dyalog - Centro de documentación . Dyalog APL.
  8. 1 2 "Ordenador personal" . IBM . CPGID 00437.
  9. 1 2 3 IBM . Página de códigos 00907 (PDF) . Archivado del original (PDF) el 3 de agosto de 2017.
  10. 1 2 3 IBM . Página de códigos 00909 (PDF) . Archivado del original (PDF) el 08-07-2015.
  11. 1 2 3 IBM . Página de códigos 00910 (PDF) . Archivado del original (PDF) el 08-07-2015.
  12. 1 2 3 4 5 6 7 IBM (1997). unicode.nam: Permite especificar los caracteres Unicode utilizando nombres similares a IBM o PostScript .(Incluido con Borgendale, Ken, Herramientas de visualización de teclado y página de códigos OS/2))
  13. 1 2 3 Dickey, Leroy J. "La denominación de los símbolos de las tachuelas" . Universidad de Waterloo .
  14. 1 2 Freytag, Asmus; McGowan, Rick; Whistler, Ken (14 de junio de 2021). "Anomalías conocidas en los nombres de caracteres Unicode" . Consorcio Unicode . UTN n.° 27.
  15. "Adenda Unicode 1.0.1" (PDF) . El estándar Unicode . 3 de noviembre de 1992. Consultado el 21 de septiembre de 2024 .
  16. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 "Tablas EBCDIC y ASCII" . Archivado del original el 27 de agosto de 2016.
  17. 1 2 3 4 5 IBM (1996) [1984]. "Página de códigos (CPGID) 00293: APL (EE. UU.)" . REGISTRO, Conjuntos de caracteres gráficos y páginas de códigos .
  18. 1 2 3 4 Tachyon Software (31-07-2007). Página de códigos 00293: EBCDIC APL .
  19. "Conjunto de caracteres gráficos chinos simplificados de IBM para código UNIX extendido (EUC)" (PDF) . IBM . 1994. CH 3-3220-132 1994-06.
  20. "Documento informativo CCSID 293" . Archivado del original el 27 de marzo de 2016.
  21. Página de códigos CPGID 00293 (pdf) (PDF) , IBM
  22. 1 2 IBM (1987). "Página de códigos (CPGID) 00310: Escape gráfico APL/TN" . REGISTRO, Conjuntos de caracteres gráficos y páginas de códigos .
  23. xlate - Transliterate Contents of Records , IBM Corporation , 2010 [1986], archivado del original el 16-06-2019 , recuperado el 18-10-2016
  24. IBM . "Apéndice G-1. Definiciones de caracteres de control EBCDIC" . Globalización de IBM . Archivado del original el 11 de septiembre de 2018.
  25. "Capítulo 5. 3270 Tablas de páginas de códigos de estaciones de visualización e impresoras (§ Página de códigos de funciones de texto APL/APL2)" (PDF) . 3174 Referencia del conjunto de caracteres del controlador de establecimiento (3.ª ed.). IBM . 1990 [1988]. pág. 5·6. GA27-3831-02.  
  26. 1 2 Página de códigos CPGID 00310 (pdf) (PDF) , IBM
  27. 1 2 Tachyon Software (31-07-2007). Página de códigos 00351: GDDM predeterminado (EE. UU.) .
  28. "Página de códigos 00371" (PDF) . IBM . Archivado del original (PDF) el 8 de julio de 2015.
  29. 1 2 Consejo de Normas de Canadá (1983-06-01). Conjunto de caracteres APL para intercambio de espacios de trabajo (PDF) . ITSCJ/ IPSJ . ISO-IR -68.
  30. "Tablas de códigos del estándar Unicode 5.1: Símbolos técnicos U+2300-U+23FF" (PDF) . Estándar Unicode 5.1 . Consorcio Unicode . Archivado (PDF) del original el 2 de octubre de 2008. Consultado el 12 de octubre de 2008 .
  31. 1 2 "Windows, Latin 1" . IBM . CPGID 01252.
  32. "OCR B" . IBM . GCSGID 00969.
  33. "Windows, árabe (PDF)" (PDF) . IBM . CPGID 01256.
  34. Un diagrama de teclado más actualizado, aplicable para APL2 y otras implementaciones modernas, está disponible en WikensOnline Union Diseño de teclado grande APL para Windows Archivado el 10 de marzo de 2012, en Wayback Machine , foto real + diagrama aquí Archivado el 3 de abril de 2015, en Wayback Machine y NARS2000 Diseño de teclado APL aquí .
Obtenido de " https://en.wikipedia.org/w/index.php?title=Digital_encoding_of_APL_symbols&oldid=1349626399#Code_page_910 "