Por Pedro Fernández

Desde que edité el modelo de carta para el Senado que tan amablemente nos había proporcionado Fernando Acero en su reciente artículo de 18 de Enero de 2011 y que posteriormente pasé a formato PDF, ya son varias las personas que me preguntan por el procesador de textos utilizado para tal fin. Mi respuesta, aunque no parecía satisfacer la curiosidad de mis interlocutores, era simple y directa: cualquier editor simple texto y una impresora virtual (en este caso mediante GPL GhostScript v8.62) para generar el fichero PDF final.

Cuando de generar un documento de libre disposición se trata, hace mucho tiempo que lo vengo haciendo así... exactamente, no recordaba bien por qué, así que me puse a buscar y, al fin, encontré un artículo que yo mismo había confeccionado hacia 2004 para otra audiencia pero que, al final, no llegó a ver la luz. Se quedó un poco en el baúl del olvido. Creo recordar que por aquellas fechas o quizás un tiempo después, tomó gran importancia la cuestión de los metadatos, porque cierto documento generado por un procesador de textos comercial sirvió para generar otro en formato PDF y justificar artificialmente ciertos daños colaterales y otras gravísimas cuestiones, al parecer, totalmente inexistentes. Gracias a -o por culpa de- los metadatos generados por este tipo de editores de texto complejos, se supo todo, dando lugar a un gran escándalo internacional... En Kriptópolis se trató el tema a través del artículo Metadatos para mentecatos enviado por admin el 18 de Mayo de 2007 aunque, previamente, hubo un monográfico sobre los Metadatos en el estándar ISO 26300: Metadatos en OpenDocument (ISO 26300) enviado por zodiac el 10 de Julio de 2006.

Paso, pues, a exponer el artículo en cuestión revisado y ampliado confiando en que os sea de alguna utilidad y sin mayor pretensión que la de dejar una referencia a los editores simples de texto en ésta, mi admirada comunidad virtual. Os ruego seáis indulgentes porque el tema es muy dinámico y genera conflictos (por ejemplo, UNICODE ya ha sacado su versión 6.0 en Octubre de 2010)...

IMPORTANCIA Y UTILIDAD DE LOS EDITORES SIMPLES DE TEXTO

Diferentes formatos de idioma con manejadores de texto estándar

Estos editores simples de texto NO AÑADEN NINGUNA INFORMACIÓN ESPECIAL en los ficheros con los que trabajan, tales como metainformación sobre los colores elegidos o el tipo de letra y sus singularidades dentro de un párrafo también predefinido. Permiten crear y abrir documentos en varios formatos:

ANSI, UNICODE (ISO/IEC-10646), UNICODE big-endian (Apple Macintosh), UTF8, UTF16 y, algunos, UTF32; aunque los 8 bits del UTF8 lo hacen mucho más asequible a toda clase de arquitectura, tanto antigua como moderna, avanzando hacia su consideración de nuevo estándar "de facto" para la aplicación real de las partes del UNICODE que ya son totalmente implementables. En este sentido, se piensa en UTF8 como el sustituto del vetusto y reducido ASCII estándar de 7 bits y su extensión de 8 bits llamado ASCII alto que habilita el acceso a los caracteres 128 al 255.[1]

Estos formatos permiten trabajar con documentos que utilizan varios Juegos de Caracteres o Páginas de Códigos ("cp"; acrónimo de Code Pages) antiguos y los de más reciente definición que cubren las diferentes localizaciones regionales:

  1. "Code Pages" tipo IBM-DOS como cp437 (ASCII), cp850 (Internacional), cp852, etc... que constituyen las definiciones del estándar ANSI creado en EEUU.
  2. ISO-8859-1 a ISO-8859-16 y los sinónimos aceptados para alfabetos derivados del antiguo LATÍN; desde latin1 (alias del ISO-8859-1) hasta latin9 (alias del ISO-8859-15), así como otros alfabetos cuya complejidad es direccionable con los 8 bits que forman un octeto (byte) y un máximo de 256 caracteres [1], aunque la solución no abarca todas las necesidades de algunos idiomas locales.
  3. "Code Pages" específicos de MS Windows como cp1250, cp1251, cp1252... Con ligeras variaciones respecto a las normas ISO-8859-1 a 16 correspondientes. Por ejemplo; entre otras mejoras y revisiones, desde el uso de la moneda europea Euro, su símbolo "€" es accesible tanto a través del cp1252, al que MS denomina "latín 1 de Windows", como del estándar internacional ISO-8859-15 alias latin9. Pero el direccionamiento dentro de unas y otras tablas no siempre coincide, lo que obliga a desarrolladores y usuarios de diferentes arquitecturas a una nueva redefinición de programas y documentos cuya portabilidad se pretende.

De forma predeterminada, los documentos se guardarán como texto ANSI estándar en el caso de MS Windows (EEUU), ya que sus "cp" se adhieren a ese estándar, y como ISO-8859-1 a 16 en el caso de GNU/Linux y las demás plataformas adheridas a las normas internacionales ISO.

UNICODE es un conjunto de los principales direccionamientos de comandos usados en el planeta. Incluye los juegos de caracteres completos, los amplía y reserva espacios para definiciones y usos particulares, enlazando su uso local habitual con las necesidades de digitalización asentadas y emergentes. Cuando se guarda un documento en formato UNICODE, los llamados "Caracteres de control de UNICODE" se pueden utilizar para definir la dirección (vertical, horizontal...) y sentido (izquierda-derecha, derecha-izquierda...) en que debe ir la escritura, así como el fluir del texto... Utilizado en idiomas como el Árabe, el Chino o el Hebreo.

Algunos conjuntos de caracteres de un mismo tipo o fuentes sólo están diseñadas para mostrar determinados caracteres y no abarcan todos los caracteres UNICODE. Al detectar en un fichero de texto la falta de algún carácter no incluido en la fuente aplicada, se puede cambiar dicha fuente por una que incluya ese carácter. Generalmente, las fuentes OpenType Sans Serif son buena elección para UNICODE.

Los octetos (octeto o byte: serie indivisible de 8 bits comparable al morfema) que componen una palabra en un documento UNICODE creado en una CPU big-endian, como la de Macintosh, están organizados en un orden opuesto al de los octetos que componen una palabra en un documento creado en un procesador x86. El octeto más significativo big-endian tiene la dirección más baja, de modo que LA PALABRA SE ALMACENA COMENZANDO POR EL FINAL. Para que los usuarios puedan tener acceso a estos documentos en este tipo de equipos, guárdese el fichero de estos editores simples de texto con formato UNICODE ESPECÍFICO PARA BIG-ENDIAN.

UTF es acrónimo de "Formato de Transformación del juego de caracteres Universal" (_Universal character set _Transformation _Format). UTF8 es el formato de 8 bits del UNICODE original de 16 bits, para proporcionar retro-compatibildad; guárdese el documento en UTF8 si se utilizan medios más antiguos de computación que sólo son compatibles con 8 bits direccionadores para cada uno de los octetos (bytes) individuales, bien sea para los 128 carácteres del ASCII de 7 (+1 ctrl) bits de los primigenios teletipos, o bien, para los 256 del ASCII llamado "estándar" (o cp437 para inglés de EEUU) y demás códigos de 8 bits que usan variaciones de 256 carácteres (de 0 a 255) en sus tablas como los ISO-8859-1_16.[1]

Visitando el sitio Web del UNICODE Consortium [ http://www.unicode.org ] se puede obtener más y mejor información acerca de estos formatos.

[1] El bit es la unidad mínima de información empleada en informática, en cualquier dispositivo digital, o en la teoría de la información (Wikipedia). La información es un suceso que proporciona significado o sentido a las cosas... aunque muchos seres vivos se comunican transmitiendo información para su supervivencia, la diferencia con los seres humanos radica en que, en general, los seres humanos demuestran una gran capacidad de generar y perfeccionar tanto códigos como símbolos con significados que conformaron lenguajes comunes útiles para la convivencia en sociedad. Aunque, en realidad, no tenga mucho "sentido" hablar de bits, es necesario hacer breve mención de su naturaleza. No obstante, en este contexto divulgativo, sería más adecuado hablar de bytes. Esto no es nuevo en absoluto; ya la ciencia lingüistica tiene bien definidos estos conceptos aunque con otros nombres v.g. fonema, morfema, etc. Una definición clásica de morfema (llamado formante o monema por otros autores) lo define como la unidad mínima significativa de la primera articulación o división del signo lingüístico: la palabra.

Sin entrar en teoría matemática la cual nos podría facilitar la labor pero la demostración sería larga y compleja, el cálculo propuesto es sencillo. El bit es la unidad mínima de información para un ordenador; corresponde a uno de los dos estados en que puede encontrarse el material semiconductor de cada uno de los millones de transistores de los que, como mínimo, dispone. Es decir, si deja que pase el flujo eléctrico el valor es "1" y también se dice que es "true" o "verdadero" o "yes" o "si"... Pero el material semiconductor, gracias a sus capas inferior y superior, puede cambiar su estado e impedir el paso del flujo eléctrico con lo cual está indicando otro valor que es "0" y también se dice que es "false" o "falso" o "no"... En definitiva tenemos un lenguaje BINARIO en la base 2. Ahora bien, necesitamos un número mínimo de unidades binarias (bit) para poder definir o direccionar con precisión un número más elevado de estados, y entonces, se pasa a la base OCTAL cuyas unidades son los octetos o bytes y cada uno está formado por 8 bits, siendo indivisibles pues su seccionamiento implica que la información que portaban se pierde dando lugar a otra inconexa. En los años 60 del S.XX, los teletipos usaban los octetos o bytes pero prescindían de uno de los 8 bits: con 7 bits definían o direccionaban 128 caracteres que era lo utilizado en las transmisiones que se realizaban y el bit restante podía servir para definir si los otros 7 habían sido correctamente recibidos en función de su estado respecto a los demás (una especie de autocontrol), pero también podía dársele un valor nulo, como el de un cero a la izquierda en base decimal, lo que también se hacía. Avanzada la década y llegados al año 1 de la informática según Unix, en los años 70 del S.XX se utilizan plenamente los 8 bits de cada octeto para poder definir 256 caracteres, usando además 1 bit de trasmisión y 1 bit de recepción permitiendo caracteríasticas avanzadas en el flujo de datos entre diferentes máquinas al hacer la comunicación vía modem (modulador-demodulador). Total 10 bits, pero ojo... Esto no nos quiere decir que se pase así a base decimal, sino que se usan 2 bases, una octal y la otra binaria, cada una con su cometido, nos centraremos aquí en la base octal. Ya en la década de los 80 y sobre todo en la de los 90 del S.XX se intuyen las necesidades de idoma globales y se define el estándar UNICODE como ISO/IEC-10646 que implementa la base HEXADECIMAL (16 bits), sin embargo esto lo hace incompatible con arquitecturas, sistemas operativos, tipos de letra y programas que no están diseñados para soportar 2 octetos o bytes (16 bits) en el definir o direccionar cada elemento mínimo ("morfema"), y la solución es seguir desarrollando UNICODE pues su definición es buena, pero al mismo tiempo implementar los formatos de transformación UTF8 (que es compatibile para todas las arquitecturas) y UTF16/32 en idiomas cuyos caracteres revisten una mayor complejidad sacrificando algo más la compatibilidad.