Ir al contenido

PGD | §3.1 – Introducción a PostScript

§2.11 – Contextos de aplicación: Impresión de imágenes

En la historia de la ciencia y la tecnología encontramos muchas veces que algunos inventos y descubrimientos fueron luego aprovechados para fines distintos de los previstos por sus inventores o descubridores. También ocurre que éstos no vislumbraron en su momento el alcance de aquéllos. Los temas de este capítulo, PostScript y PDF, claramente pertenecen a esta categoría. Aquí los analizaremos, comenzando con una breve descripción histórica para ver porqué usamos tecnología que no fue en principio concebida para el fin que hoy tiene.

Contexto histórico[1]

Aquéllos que se iniciaron en la gráfica en la década de 1990 quizás desconozcan que la industria de la fotocomposición y la preprensa eran muy diferentes de lo que ahora conocemos. Antes de 1980 la preprensa digital estaba dominada por sistemas de fotocomposición que no sólo eran grandes, complejos y costosos, sino que además eran cerrados: todas sus etapas estaban implementadas y resueltas por el fabricante de manera propietaria, esto es, utilizando métodos cuyas especificaciones no estaban disponibles. En ese entonces un sistema de fotocomposición típico costaba entonces centenares de miles de dólares y requería semanas entrenamiento para poder operarlo y mantenerlo.

Por otro lado, la tecnología de impresión de documentos en papel estaba diseñada sobre el concepto de imprimir texto sólo en respuesta a una serie de caracteres ASCII como entrada. Esto significaba que la forma de cada letra (la tipografía) era una propiedad fija del equipo impresor, no existiendo control de esta característica por parte del usuario. Esto cambió parcialmente con el advenimiento de las primeras impresoras de matriz de puntos (dot-matrix) donde cada carácter se imprimía como una serie de puntos, cuya descripción descansaba en una memoria interna de la impresora. Luego esa tecnología permitió también, mediante algunos agregados, imprimir caracteres de texto como gráficos, dejando al programa de diseño el control de la tipografía, pero los resultados obtenidos dejaban mucho que desear desde el punto de vista de las artes gráficas, debido a la poca resolución alcanzable por estos métodos. La calidad necesaria podía ser alcanzada con la tecnología de impresión láser, pero no existía aún la forma de aprovechar sus características al máximo.

A finales de la década de 1970 el dominio del proceso electrónico de documentos era patrimonio de Xerox, lugar donde se estaban desarrollando las herramientas necesarias para controlar las nuevas impresoras de tecnología laser. Dentro del equipo abocado a esa tarea, un tal John Warnock era el responsable de diseño del protocolo o lenguaje necesario para comandar una impresora de esa tecnología. Ese lenguaje, llamado entonces Interpress, resultó tan potente que él y su jefe, ‘Chuck’ Geschke, intentan convencer a los directivos de Xerox de lanzarlo como un producto comercial. Ante el desinterés de la empresa, deciden abandonar Xerox y fundar Adobe. Tomaron como base InterPress y derivaron de él un lenguaje más simple, al que denominaron PostScript, el cual lanzaron al mercado en 1984.

El proyecto recibe un gran impulso cuando Steve Jobs, fundador y director de Apple para entonces, se interesó en la nueva tecnología e hizo inversiones en Adobe para asegurarse de tener un controlador PostScript para su impresora LaserWriter. Esto permitiría a este equipo imprimir con calidad tipográfica a un precio “accesible” de U$S 7.000[2]. Poco después Paul Brainerd, fundador de Aldus, desarrolla el primer software de diseño de página para la plataforma Macintosh, PageMaker, iniciando la revolución del “desktop publishing”.

Principales características de PostScript

El éxito de PostScript se basa en varios puntos fuertes. En esencia, separa la descripción de una página de su materialización; mientras anteriormente la impresión se reducía a una serie de comandos que movían las partes apropiadas de la impresora, el lenguaje PostScript describe el contenido de la página de manera independiente del método de impresión empleado, ya que esa descripción se reduce, en última instancia, a la serie de líneas rectas y curvas —definidas matemáticamente— necesarias para trazar los objetos presentes. Para lograr esto, no obstante, la impresora debe contar con un procesador interno capaz de “interpretar” esa descripción y accionar la impresora, pero con la ventaja que, una vez generada, esa descripción podía emplearse con cualquier dispositivo de impresión PostScript, cualquiera sea su tecnología.

Además, PostScript permitió encontrar una solución satisfactoria al problema de la impresión del texto, ya que ahora se tenía la posibilidad definir cada carácter como cualquier otro objeto gráfico —simplemente mediante líneas rectas y curvas— y de resolverlos a cualquier resolución. Esto derivó en el desarrollo de tipografías basadas en PostScript conocidas como Tipo 1 (Type 1).

Si bien la capacidad de manejar color estaba originalmente limitada al modelo RGB, el interés de la industria gráfica (de la mano de Linotype y otros primeros adeptos a la nueva tecnología) lleva a Adobe a presentar en 1991 una nueva versión, PostScript Level 2, capaz de manejar objetos en CMYK, procesar imágenes con la novedosa compresión JPEG, crear separaciones y generar tramas mediante algoritmos más avanzados. En 1997, una última actualización, PostScript 3, incorpora el soporte de espacios de color genéricos y mejores degradados al aumentar la especificación de niveles de un tono de 8 a 12 bits, pasando así de 256 a 4096 niveles.

Desventajas de PostScript

La aplicación sistemática de PostScript en la industria gráfica mostró, a la larga, sus puntos débiles. Su principal desventaja procede, paradójicamente, de su fortaleza inicial. Aunque está orientado a la descripción de páginas (y por tanto es un miembro de la familia de lenguajes PDL, por Page Description Language — lenguaje de descripción de páginas), PostScript es ante todo un lenguaje de programación, y potencialmente tiene más capacidades que las necesarias para simplemente describir el contenido de una página. Visto retrospectivamente, solucionó el problema del control preciso de un equipo de impresión, obteniendo calidades nunca antes alcanzadas, pero a expensas de algo que hoy es más importante en la industria gráfica: la confiabilidad en el intercambio de información. En efecto, como en cualquier otro lenguaje de programación, un programa PostScript puede contener errores de ejecución —accidentales o deliberados— que impidan obtener la página descripta; por su naturaleza, un sistema PostScript no puede recuperarse de un error durante la ejecución de un programa; en una situación así deja de procesar el documento y simplemente informa del error.

Otra complicación surgió por la necesidad de indicar al sistema de impresión ciertas opciones sólo válidas para él, como por ejemplo la elección de un tamaño de hoja específico (como en las impresoras que poseen más de un origen para la carga del papel), la utilización de una resolución o lineatura determinada, etc. Dado que esta información era dependiente del equipo, Adobe concibió la idea de sintetizar todas las opciones válidas posibles para cada equipo particular en un archivo descriptivo conocido como descripción de impresora PostScript (PostScript Printer Description), o más comúnmente, archivo PPD. Cuando se instala el driver[3] de una impresora PostScript, éste contiene un archivo PPD que es el que permitirá al usuario elegir las opciones que ese equipo soporta mediante el diálogo Ajuste de Página (Page Setup) al momento de imprimir. El documento PostScript así generado incluye instrucciones extra para seleccionar esas opciones, que si bien no deja de ser una característica cómoda en un cierto flujo de trabajo, contradice uno de sus objetivos de diseño, a saber, la independencia del dispositivo; el documento PostScript así generado ya no es apropiado para cualquier impresora, sino sólo para esa impresora específica.

Estos inconvenientes quedan subsanados con un tipo de documento que Adobe diseñó tiempo después de la consolidación de PostScript, con el concepto del intercambio de información en mente: el Formato de Documento Portable ó PDF (Portable Document Format). De hecho, luego de unos pocos años de desarrollo paralelo, Adobe dejó de introducir mejoras en PostScript para incorporarlas en PDF, por lo que en teoría nos obliga a considerar a la primera como una tecnología obsoleta. No obstante ello, hay varias razones que podemos presentar para justificar su estudio. Algunas podrían ser las siguientes:

  • El modelo de imagen (conjunto de convenciones adoptadas para la representación de los distintos objetos gráficos) es, en un nivel fundamental, el mismo tanto para PostScript como para PDF.
  • A pesar de su complejidad, PostScript es más sencillo que PDF para entender ese modelo desde el punto de vista pedagógico.
  • Ciertos derivados de PostScript aún en uso, como el formato EPS y las tipografías Tipo 1, están basados en PostScript.
  • En la industria gráfica todavía se emplean muchas herramientas y procesos que utilizan PostScript como su lenguaje nativo.
  • Si bien las especificaciones de PDF (como las de PostScript) son públicas, no todos los paquetes de diseño gráfico generan documentos PDF suficientemente robustos como para que la tasa de errores —comparada con PostScript— sea sustancialmente menor, por lo cual en algunos casos la única manera confiable de crear un documento PDF continúa siendo la generación previa de un archivo PostScript para su posterior proceso mediante Distiller.

Es hora ya de analizar los fundamentos de PostScript, su filosofía y su mecanismo para tratar con los objetos gráficos que se encuentran en cualquier diseño.

§3.2 – Elementos de PostScript >

1 Encontrarán una descripción histórica más precisa y documentada en la nota Historia de PostScript.
2 Téngase en cuenta que la primera impresora láser de Xerox costaba, en 1978, alrededor de medio millón de dólares.
3 Programa (software) encargado de comunicar el sistema operativo de una computadora con un dispositivo específico. En general, cada dispositivo conectado al sistema requiere un driver. El término proviene de to drive (conducir, manejar, controlar), por el hecho que permite al sistema controlar al dispositivo por su intermedio. En español se lo suele llamar controlador.