Escribir lenguas antiguas antes de Unicode



En los años 90 del pasado siglo, cuando se empezó a extender el uso del ordenador de sobremesa, los que trabajábamos con diferentes sistemas de escritura acostumbrábamos a entregar los trabajos escritos junto con los tipos de letra utilizados para que el destinatario pudiera leerlo e imprimirlo. La cosa se complicaba cuando, además, se escribía en un sentido diferente, como es el caso de las lenguas que se escriben de derecha a izquierda. Unos cuantos empezamos a utilizar los ordenadores de Apple por aquella época, simplemente porque necesitábamos escribir en paz, sin perder horas y salud mental para meter una palabra, pongamos en hebreo y encima con niqqudim, dentro de un texto escrito en caracteres latinos. En efecto, en esos ordenadores se reflejaba el interés de Steve Jobs por la tipografía, pasión que nos facilitaba mucho la vida. Pero tanto MacOs, como Windows, los dos sistemas operativos que se impusieron en los hogares y oficinas (más tarde vendría Linux), presentaban dificultades, hoy prácticamente solventadas con Unicode.


Mi primer Mac, de tercera mano. Carísimos entonces.
Foto cortesía de © Christian Brockmann.

Leer y escribir en caracteres no latinos

Debemos distinguir entre tipografía y codificación. Aunque son dos cosas diferentes, están relacionadas y las necesitamos a las dos para poder leer un texto multilingüe. Ambas han cambiado y evolucionado en las últimas décadas.

Codificación de caracteres

La codificación de caracteres es la transformación, mediante las reglas del código que se aplique, de los caracteres y signos de un sistema de escritura tal como un alfabeto, silabario o escritura pictográfica, a un símbolo de otro sistema de representación, tal como secuencias de números o de pulsos eléctricos en un sistema electrónico.

Antes de Unicode, el sistema de codificación (casi) universal era el ASCII, acrónimo de American Standard Code for Information Interchange, creado en 1963 para aplicar a la informática el sistema de codificación empleado en telegrafía. Este sistema, que interpreta los caracteres con números, utiliza 7 bits para representarlos, y es el antecesor del estandarizado como ISO 646, que cuenta a su vez con variantes nacionales, que incluyen, por ejemplo, la ñ del español, la ç del francés o la ß del alemán. Además de los recogidos en la norma ISO 646, hay otros que nos interesan de 7 bits:
A partir de los sistemas de 7 bits, se desarrollaron diferentes sistemas de 8 bits, con posibilidad de almacenar muchos más caracteres (28= 256, frente a las 128 combinaciones del ASCII). El sistema de 7 bits, desarrollado para la telegrafía, incluía al principio un bit de control, que pronto se dejó de usar, por lo que el camino para los 8 bits ya estaba hecho. Todos los sistemas de 8 bits están estandarizados con la norma ISO 8859, dividida en subsecciones, de las que aquí destacamos algunas a modo de ejemplo:
  • ISO 8859.1, o «Latin 1», con los caracteres latinos necesarios para escribir la mayoría de las lenguas europeas occidentales.
  • ISO 8859.2, con más caracteres latinos, para escribir lenguas de Europa central.
  • ISO 8859.5, con caracteres cirílicos.
  • ISO 8859.6, árabe.
  • ISO 8859.7, griego.
  • ISO 8859.8, hebreo.
Basándose en los sistemas de 8 bits estandarizados según la norma ISO 8859, cada sistema operativo ideó su propio sistema de codificación. Así, Windows tiene sus propios sistemas de codificación para cada alfabeto (Windows 1252 para lenguas occidentales, Windows 1253 para griego, Windows 1255 para hebreo, etc.), Macintosh el suyo (MacOs Roman para escrituras en caracteres latinos), e IBM el suyo (Extended Binary Coded Decimal Interchange Code), que no deriva de ASCII, sino del código binario de las tarjetas perforadas que ya se usaban en los telares franceses del XVIII), por citar los principales.

Tarjeta perforada binaria de IBM Fotografía de Arnold Reinhold Licencia de Creative Commons


Es decir, antes de Unicode, cada sistema operativo tenía su propia manera de codificar los tipos y, a su vez, cada sistema de escritura se codificaba de una forma distinta. Para leer un texto en el procesador de textos de un ordenador, en una página web o para imprimirlo, había que tener en primer lugar instalado el tipo en cuestión en el disco duro (y muchas veces, también en la impresora). Para escribir en esos tipos, además, había que instalar o activar la distribución de teclado (keyboard layout) correspondiente.

  • Beta Code

El Beta Code («código beta») es un método de reproducir, usando solo caracteres ASCII, textos en griego antiguo. No se trata de una romanización del alfabeto griego, sino de una representación del mismo, así como de todos los signos utilizados en la edición de textos. Se establece una equivalencia entre los caracteres ASCII alfabéticos y las letras del alfabeto griego, mientras que los espíritus, acentos, e iota subscrita se indican tras la vocal mediante caracteres no alfabéticos, de la siguiente manera (lo vemos en el principio de la Ilíada):

MH=NIN A)/EIDE QEA/ *PHLHI+A/DEW *)AXILH=OS
OU)LOME/NHN, H(\ MURI/' *)AXAIOI=S A)/LGE' E)/QHKE

μῆνιν ἄειδε θεὰ Πηληϊάδεω Ἀχιλῆος
οὐλομένην, ἣ μυρί᾽ Ἀχαιοῖς ἄλγε᾽ ἔθηκε

Fue desarrollado por David W. Packard en la década de los 70 a partir del sistema Alpha Code creado por él mismo, en un esfuerzo para dotar al recién creado Thesaurus Linguae Graecae (TLG) de la infraestructura informática necesaria. Beta Code ha sido, y en cierta medida sigue siendo, el estándar de representación para la edición digital de textos griegos y, hasta muy recientemente, la base de datos de Perseus se hacía con este formato. La disposición del teclado politónico, tras la irrupción del Unicode, se hace siguiendo la tabla de equivalencias Beta-Code.

Hay varios programitas y métodos para convertir Beta Code en Unicode. Para Mac 10.4 y posterior, yo solía utilizar UniGreek, pero hay otros. La conversión, no obstante, no es fácil y siempre hay que corregir, pues no deja de presentar problemas.

Teclados

El uso de un alfabeto determinado viene asociado a una distribución de teclado (diremos 'teclado' a partir de ahora para abreviar). Con Unicode, la mayoría de los sistemas de escritura y sus correspondientes teclados van unidos, de modo que basta con activar, por ejemplo, el teclado griego politónico para empezar a escribir en griego clásico. Hay formas, en todos los sitemas operativos, de pasar de un teclado a otro rápidamente para escribir un texto multilingüe.

La disposición del teclado del ordenador y otros dispositivos informáticos suele ser heredera de la de las antiguas máquinas de escribir, generalmente QWERTY, aunque no siempre. En francés, por ejemplo, se impuso el teclado AZERTY. Estos teclados fueron concebidos a partir de un análisis de la frecuencia de pulsaciones, para evitar "atascos" en el mecanismo, que se producían al presionar seguidas determinadas teclas. Diseñados específicamente para ordenador, están los teclados Dvorak, accesibles desde todos los sistemas operativos.

Tipos de una máquina de escribir. Fotografía del usuario Mohylek, Wikimedia CommonsLicencia de Creative Commons

En el caso de las lenguas modernas que se escriben en caracteres no latinos, como el griego, el hebreo o el árabe, por ejemplo, se ha adoptado el teclado de las antiguas máquinas de escribir, aunque también es posible encontrar teclados que asocien cada carácter a su semejante latino (o mejor, inglés) en teclado QWERTY o, para francófonos, el teclado AZERTY. Así, por ejemplo, en el teclado hebreo tradicional, la ר (resh) se sitúa en lo que sería la L de un teclado QWERTY, mientras que en uno construido a semejanza fonética, se situaría sobre la R.

máquina de escribir blanca con teclas negras, portátil años 70, caracteres hebreos
Fuente: Wikimedia Commons, fotografía cedida por el usuario Golf Bravo - Own work, Licencia de Creative Commons

Esto ya se hacía así en MacOs Classic. En el caso del griego, por ejemplo, me gustaría mencionar las GreekKeys, de la American Philological Association, desarrollado para Macintosh en 1984 y en uso hasta hace poco. 

Tipografías

Los tipos de la imprenta tradicional son cada una de las piezas en las que hay un signo metálico en realce, es decir, hecho con fundición en una fragua. La palabra inglesa font, cuya cruda y pésima traducción 'fuente' ha terminado por extenderse, significa precisamente eso, fundición. En la edición por ordenador, se llama tipo al conjunto de letras, signos y blancos de un mismo diseño y carácter a cada signo o letra, entre otras denominaciones, pues la terminología dista de estar unificada.

Antes de Unicode, si no teníamos instalado un tipo en el ordenador, no podíamos leerlo. Si nos faltaba un tipo griego o hebreo determinado, veíamos un cuadradito. Y en ocasiones, aunque lo veíamos, no podíamos imprimirlo. Era una tarea fatigosa y frustrante. Hoy en día, tenemos que tener un tipo que contenga los bloques de caracteres que necesitamos, pero no necesitamos uno diferente para cada sistema de escritura.

  • Mapa de bits (tipos matriciales)

Un tipo matricial, o de mapa de bits (bitmap font), está hecho con píxeles o puntos. Normalmente, está asociado a un tamaño, pues al agrandarlo, se pixela. Con el advenimiento de la interfaz gráfica, deja prácticamente de utilizarse, pero durante muchos años no tuvimos otra cosa.

  • Tipos vectoriales (outline fonts)

Los tipos vectoriales son escalables, es decir, pueden cambiar de tamaño sin pixelarse y se basan no en una matriz de puntos, como las anteriores, sino en formas geométricas tales como curvas de Bézier. Observemos, en este gráfico, la diferencia entre tipos matriciales y vectoriales:

diferencia entre el carácter S matricial y vectorial ampliados
Créditos: Wikimedia Commons, elemento creado por los usuarios Yug, 3247 y Tiger 66Licencia de Creative Commons


Dentro de los tipos vectoriales, tenemos los TrueType, OpenType y Postscript. Como yo en esto soy mera aficionada, prefiero ceder la palabra a quien de esto sí sabe. Sobre True-Type y PostScript, esta magnífica entrada de Unos Tipos Duros, y sobre TrueType vs. OpenType, de Tipos con carácter.

El empleo de distintas tipografías causaba, a menudo, problemas informáticos de incompatibilidad de extensiones (¡ay, los Postscript!), que en aquellos tiempos se manifestaban con un aviso ciertamente impensable en el presente:



Y por fin, Unicode

Unicode es el estándar de codificación de caracteres, de todos los caracteres, de todos los sistemas de escritura. Unicode especifica un nombre e identificador numérico único para cada carácter o símbolo, llamado code point, y provee de toda la información necesarias para su uso, como la dirección de escritura. Absolutamente todos los sistemas de escritura se están implementando en Unicode, como podemos ver en las tablas de caracteres, con el código numérico correspondiente. Sí, todos. Hasta los caracteres del Disco de Festo.


Teclado Unicode del Disco de Festo
Caracteres Unicode del disco de Festo


¿Y cómo sabemos qué con qué tipos puedo representar según qué signos? En este ejemplo extremo, el Disco de Festo aparecerá, como es de esperar, en pocos tipos. Podemos ver qué bloques de Unicode aparecen en qué tipos en la página de Fileformat.info, entre otras. Así, comprobamos que EversonMono contiene completo el Disco de Festo, el LinearB, el silabario chipriota, arameo imperial, nabateo, etc., con lo que, en principio, es un buen tipo para trabajar con lenguas antiguas.

Hay mucho trabajo por hacer todavía, pero, sin duda, este es el camino. La norma ISO/IEC 10646 se actualiza a la par que el estándar Unicode (o debería). La última revisión del estándar Unicode (Unicode 10.0, de junio 2017) incluye 136,690 caracteres y 139 sistemas de escritura, contando, por supuesto, el alfabeto fonético internacional (IPA) y otros sistemas de codificación lingüísticos y filológicos.

Es, aún, un tanto fatigoso incluir un carácter Unicode tecleando su clasificación hexadecimal. Hay distintos métodos para incluirlo, dependiendo del sistema operativo, la plataforma o incluso la aplicación. Será más fácil con el tiempo.

Queda mucho por decir, y por hacer, pero terminemos solo citando al Unicode Consortium, formado por organismos, empresas y particulares, para el desarrollo, la estandarización y la implantación de Unicode en las distintas tipografías y lenguas del mundo.