Display PostScript

Display PostScript (o DPS) es un sistema de representación en pantalla. Como el nombre sugiere, DPS emplea el lenguaje PostScript (PS) para generar gráficos en pantalla.

NeXT Computer Inc. diseñó DPS como sistema de representación para su empleo en las computadoras personales basadas en Unix en 1987. Mientras que las versiones anteriores de PostScript habían sido desarrolladas por Adobe, la implementación de Display PostScript fue desarrollada por NeXT en cooperación con Adobe Systems, e hicieron un producto oficial Adobe con sus propios estándares, documentos y requisitos de licencias.

Modificaciones

Para conseguir el uso interactivo en pantalla con un rendimiento razonable tuvieron que realizar algunos cambios:

  • Contextos de ejecución múltiple: A diferencia de los entornos de impresión donde los intérpretes PostScript procesan una tarea cada vez, DPS podría emplearse en varias ventanas a la vez, cada una con sus propia configuración (color, brochas, escala, etc.). Esto requería una modificación del sistema para permitir el almacenamiento de muchos “contextos” (conjuntos de datos de estado) activos, uno para cada proceso o ventana.
  • Nombres codificados: Muchos de los procesos y estructuras de datos de PostScript se obtenían al buscar por su nombre. En DPS estos nombres podían reemplazarse por números pequeños, mucho más fáciles de encontrar por una computadora.
  • Apoyo a la interacción: Se difinieron varios procedimientos para manejar la interacción, incluyendo la detección de hits.
  • Fase de semitono: Para mejorar el rendimiento al desplazar el texto, DPS sólo dibujaba la pequeña porción de la ventana que se volvía visible, desplazando el resto de la imagen en lugar de recalcularla. Sin embargo, esto significaba que los semitonos no se alineaban, produciendo líneas y rectángulos visibles en la representación. DPS incluía código adicional para solucionar estos casos. Los sistemas de representación modernos en color sin semitonos han hecho que esta idea quede obsoleta.
  • Actualizaciones incrementales: En las aplicaciones con capacidad de impresión el código PostScript se interpreta hasta que se obtiene una showpage, punto en el que se imprime realmente. Esto no es apropiado para situaciones donde se necesita mostrar un gran número de actualizaciones menores. DPS incluía modos para permitir representaciones casi en tiempo real a medida que las instrucciones de los programas de usuario se recibían.
  • Soporte de tipos Bitmap: DPS añadió la capacidad de mapear fuentes PostScript en tipos de mapa de bits dibujados a mano y cambiar de unos a otros rápidamente. Mientras que la capacidad de PostScript de representar tipos en dispositivos de “baja resolución” era buenta, “baja resolución” significaba representacionoes del orden de los 300 dpi, no los 96dpi que empleaba la pantalla del NeXT. Esto hacía más conveniente el uso de fuentes de mapa de bits para obtener un rendimiento razonable.
  • Soporte a programadores: DPS introdujo el concepto de “pswrap”, que permitía a los desarrolladores encapsular código PostScript en una función en lenguaje C que podía llamarse desde una aplicación.
Other Languages