Ir al contenido

PGD | §3.8 – Aplicaciones de las convenciones DSC

§3.7 – Convenciones de estructura de documentos PostScript (DSC)

Tal como mencionamos, todo uso profesional de PostScript utiliza DSC. Los siguientes son unos pocos ejemplos prácticos de su aplicación.

PostScript Encapsulado o EPS (Encapsulated PostScript)

Un documento EPS puede pensarse como un documento PostScript donde se utiliza un subconjunto del lenguaje orientado a la descripción de un grupo de objetos (formados por pixeles y/o vectoriales) cuyo destino inmediato no es necesariamente un dispositivo de impresión. En particular se emplea para empaquetar un conjunto de elementos gráficos descriptos utilizando PostScript para su empleo como imágenes en programas de diseño. Para que esto sea posible, el documento debe representar una sola página (PostScript de página única), y deben emplearse directivas DSC que especifiquen:

  • Bounding box (caja delimitadora): Establece el rectángulo mínimo que contiene al conjunto de objetos descriptos por el EPS, ya que en este tipo de contenido no tiene interés el tamaño de página. Se especifica mediante el comentario DSC %%BoundingBox: llx lly urx ury, donde llx, lly marcan la esquina inferior izquerda y urx, ury la esquina superior derecha;
  • Preview (vista previa): Define una imagen en baja resolución del EPS, de manera que un programa que lo utilice pueda mostrar su contenido sin requerir una interpretación del código PostScript. Se inicia la especificación de la misma mediante el comentario DSC de apertura[1] %%BeginPreview: w h d l (donde w y h son el ancho y el alto, respectivamente, de la vista previa; d es la profundidad de bits —habitualmente 1, 2, 4 u 8 bits— y l es la cantidad de líneas de información que ocupa en el documento) y se termina mediante el comentario DSC de cierre %%EndPreview.
%!PS-Adobe-3.0 EPSF-3.0
%%BoundingBox: 0 0 80 24
%%Pages: 1
%%Creator: Edgardo Garcia
%%CreationDate: July 1, 2008
%%EndComments
%%BeginProlog
%%BeginPreview: 80 24 1 24
%FFFFFFFFFFFFFFFFFFFF
%FFFFFFFFFFFFFFFFFFFF
%FFFFFFFFFFFFFFFFFFFF
%FFFFFFFFFFFFFFFFFFFF
%FFFFFFFFFFFFFFFFFFFF
%FFFFFFFFFFFFFFFFFFFF
%FFFFFFFFFFFFFFFFFFFF
%FFFFFFFFFFFFFFFFFFFF
%FF0000000000000000FF
%FF0000000000000000FF
%FF0000000000000000FF
%FF0000000000000000FF
%FF0000000000000000FF
%FF0000000000000000FF
%FF0000000000000000FF
%FF0000000000000000FF
%FFFFFFFFFFFFFFFFFFFF
%FFFFFFFFFFFFFFFFFFFF
%FFFFFFFFFFFFFFFFFFFF
%FFFFFFFFFFFFFFFFFFFF
%FFFFFFFFFFFFFFFFFFFF
%FFFFFFFFFFFFFFFFFFFF
%FFFFFFFFFFFFFFFFFFFF
%FFFFFFFFFFFFFFFFFFFF
%%EndPreview
%%EndProlog 
%%Page: "one" 1
4 4 moveto
72 0 rlineto
0 16 rlineto 
-72 0 rlineto
closepath
8 setlinewidth
0.5 setgray
stroke
%%EOF

ps-eps-sample
Ejemplo de EPS conteniendo un rectángulo gris ubicado en la esquina inferior izquierda de la página (aunque la ubicación relativa del diseño, dado el uso que se hará de él, es irrelevante en un EPS).

Finalmente, se impone una restricción sobre el conjunto de operadores PostScript permitidos en un EPS; algunos están restringidos en la forma que pueden ser empleados, mientras que otros están completamente prohibidos. La firma de un documento PostScript encapsulado es la siguiente:

%!PS-Adobe-3.0 EPSF-3.0

En este caso, como podemos ver, se trata de un EPS versión 3.0, utilizando DSC versión 3.0.

Interfaz Abierta de Preprensa u OPI (Open Prepress Interface)

En las primeras épocas de la preimpresión digital surgió una iniciativa de Aldus (ahora Adobe) para minimizar el impacto que producían, dentro del flujo de trabajo, las transferencias de imágenes de alta resolución (con varios MB de tamaño de archivo) entre las distintas etapas del proceso. La idea era crear una imagen de muestra de baja resolución (denominada imagen FPO – for position only, también llamadas proxy) que se empleaba en lugar de la imagen de alta resolución para agilizar los tiempos de transferencia, dejando para la salida final el reemplazo de aquélla por esta última. Adobe define este mecanismo como Interfaz Abierta de Preprensa (OPI) de la manera siguiente[2]:

“…Es una colección de convenciones del lenguaje PostScript que permite emplear imágenes proxy de baja resolución para diseño. Las versiones de alta resolución de las imágenes son sustituidas luego automáticamente por un servidor de sustitución. Tanto las aplicaciones de escritorio como los sistemas de preimpresión electrónica pueden utilizar OPI para minimizar el tráfico de red y los requerimientos de almacenamiento de imágenes.”

“Los documentos PostScript que utilicen OPI (…) deben adherir a las Convenciones de Estructuración de Documentos”.

En la actualidad, las redes más rápidas, los discos rígidos de grandes capacidades a bajo costo y los algoritmos de compresión JPEG han vuelto este sistema casi innecesario, excepto casos muy específicos donde deban tratarse imágenes realmente pesadas (varios cientos de megabytes) que no puedan comprimirse y descomprimirse por el excesivo tiempo de proceso que demandaría.

Tipografías PostScript Tipo 1 (Type 1)

Al lograr el control preciso de una impresora, hemos visto cómo PostScript permitió tratar tipografías de la misma manera que otros objetos gráficos, definiéndolas mediante operadores adecuados. Sin embargo, un trabajo de calidad implicaba definir también cómo cada letra debía interpretarse al convertirla en pixeles de una determinada medida para lograr la mejor legibilidad posible en cualquier tamaño. Adobe desarrolla un formato, la fuente Tipo 1, donde los operadores PostScript necesarios para la descripción de la tipografía se complementan con instrucciones de cómo convertir las formas definidas a pixeles según la resolución y el tamaño empleados. La firma de un documento PostScript que contiene una tipografía tipo 1 es

%!PS-AdobeFont-1.0

Según Adobe[3]:

“…Un programa de fuentes Tipo 1 es un caso especial de programa PostScript [con estas características]: 1) Contienen una parte en texto claro y otra en texto encriptado; 2) Los comandos PostScript empleados deben conformar una sintaxis más estricta; 3) Pueden incorporar indicios (hints) que hagan su representación tan exacta como sea posible en una amplia variedad de dispositivos y tamaños de pixel.”

En la actualidad, las tipografías tipo 1 están prácticamenter reemplazadas por otras variantes. El primer intento de reemplazo provino de un desarrollo conjunto de Microsoft y Apple para combatir la posición dominante de Adobe durante el auge de estas tipografías: las tipografías TrueType. Al momento de su aparición, presentaban la ventaja de tener una especificación públicamente disponible (las tipo 1 no lo eran entonces; de hecho, Adobe revisó su estrategia y publicó desde entonces la especificación de su formato). Otra ventaja era que un solo archivo era suficiente, a diferencia de las tipo 1 que exige dos archivos separados —la fuente de pantalla (screen font), utilizada al momento del diseño, y la fuente de impresión (printer font), utilizada al imprimir—. Sin embargo, el algoritmo TrueType utilizaba curvas de tipo cuadrático (a diferencia de las tipo 1, que por ser PostScript utilizan curvas cúbicas tipo Bézier), lo que implica para el diseñador de tipografías un control menos preciso de la forma de los caracteres.

Una desventaja común a ambos formatos es la dependencia de la plataforma; tanto las Tipo 1 como las TrueType tienen formatos de archivo diferentes según se utilicen en Windows o en Macintosh. Este inconveniente se solucionó en un segundo intento con la creación de un nuevo formato, desarrollado en conjunto por Adobe y Microsoft, denominado OpenType. Este formato de tipografía puede verse en realidad como un superformato que puede contener, indistintamente, una descripción de los caracteres utilizando código PostScript o TrueType, pero de una manera independiente de la plataforma.


1 Esta forma de definir la vista previa corresponde a un tipo de EPS conocido como EPSI (EPS Interchange, es decir, EPS para intercambio) pues produce la definición más compatible entre sistemas.
2 Adobe PostScript Open Prepress Interface Specification, Versión 2.0.
3 Adobe Type 1 Font Format Specification.