Display PostScript (o DPS ) es un sistema de motor de gráficos 2D para computadoras que utiliza el modelo y el lenguaje de imágenes PostScript (PS) (originalmente desarrollado para impresión por computadora ) para generar gráficos en pantalla. Al sistema PS básico, DPS agrega una serie de funciones destinadas a facilitar el trabajo con pantallas de mapa de bits y mejorar el rendimiento de algunas tareas comunes.
Las primeras versiones de los sistemas de visualización PostScript se desarrollaron en Adobe Systems . Durante el desarrollo de las computadoras NeXT , NeXT y Adobe colaboraron para producir el sistema DPS oficial, que fue lanzado en 1987. NeXT usó DPS a lo largo de su historia, mientras que las versiones de Adobe fueron populares en las estaciones de trabajo Unix durante un tiempo durante las décadas de 1980 y 1990.
Diseño
Para admitir el uso interactivo en pantalla con un rendimiento razonable, se necesitaban cambios:
- Múltiples contextos de ejecución : a diferencia de un entorno de impresora donde un intérprete de PS procesa un trabajo a la vez, DPS se usaría en varias ventanas al mismo tiempo, cada una con su propia configuración (colores, configuraciones de pincel, escala, etc.). Esto requirió una modificación en el sistema para permitirle mantener activos varios "contextos" (conjuntos de datos de estado), uno para cada proceso (ventana).
- Nombres codificados : muchos de los procedimientos y estructuras de datos en PostScript se buscan por nombre, identificador de cadena. En DPS, estos nombres podrían reemplazarse por números enteros, que son mucho más rápidos de encontrar para una computadora. [ cita requerida ]
- Soporte de interacción : se definieron varios procedimientos para manejar la interacción, incluida la detección de aciertos .
- Fase de semitonos : para mejorar el rendimiento del desplazamiento, DPS solo dibujó la pequeña parte de la ventana que se hizo visible, desplazando el resto de la imagen en lugar de volver a dibujarla. Sin embargo, esto significaba que los medios tonos podrían no alinearse, produciendo líneas y cuadros visibles en la visualización de los gráficos. DPS incluyó código adicional para manejar correctamente estos casos. Las pantallas modernas a todo color sin medios tonos han hecho que esta idea sea casi obsoleta.
- Actualizaciones incrementales : en las aplicaciones de impresión, el código PS se interpreta hasta que llega un
showpage
momento en el que se imprime. Esto no es adecuado para una situación de visualización en la que se necesita una gran cantidad de actualizaciones menores todo el tiempo. DPS incluyó modos para permitir la visualización en tiempo semi-real a medida que se recibían las instrucciones de los programas del usuario. - Compatibilidad con fuentes de mapa de bits : DPS agregó la capacidad de asignar fuentes PS a fuentes de mapa de bits dibujadas a mano y cambiar de una a otra sobre la marcha. La capacidad de Adobe PS para mostrar fuentes en dispositivos de baja resolución (significativamente menos de 300 ppp ) era muy pobre. Por ejemplo, una pantalla NeXT usó solo 96 ppp. Esta limitación de PS se solucionó mediante el uso de fuentes de mapa de bits creadas a mano para proporcionar una calidad aceptable. Las implementaciones posteriores de PS (incluidos reemplazos compatibles como Ghostscript ) proporcionaron fuentes suavizadas en pantallas en escala de grises o en color, lo que mejoró significativamente la calidad. Sin embargo, este desarrollo fue demasiado tarde para ser de mucha utilidad. Las pantallas modernas todavía tienen alrededor de 100 ppp [ necesita actualización ] , pero tienen una calidad de fuente muy superior sin usar fuentes de mapa de bits.
- Compatibilidad con el lenguaje de programación : DPS introdujo el concepto de "
pswrap
", que permitía a los desarrolladores envolver el código PostScript en una función del lenguaje C que luego se podía llamar desde una aplicación.
Sin embargo, DPS no agregó un sistema de ventanas. Eso se dejó a la implementación para que lo proporcionara, y DPS estaba destinado a ser utilizado junto con un motor de ventanas existente. Este era a menudo el sistema X Window , y de esta forma, Display PostScript fue adoptado más tarde por empresas como IBM y SGI para sus estaciones de trabajo. A menudo, el código necesario para pasar de una ventana X a un contexto DPS era mucho más complicado que el resto de la interfaz DPS [ cita requerida ] . Esto limitó en gran medida la popularidad de DPS cuando había alguna alternativa disponible [ cita requerida ] .
Historia
Los desarrolladores de NeXT escribieron un motor de ventanas completamente nuevo para aprovechar al máximo el sistema operativo orientado a objetos de NeXT . Se agregaron varios comandos a DPS para crear realmente las ventanas y reaccionar a los eventos, similar pero más simple que NeWS . La única API hizo que la programación en niveles más altos fuera mucho más fácil y convirtió a NeXT en uno de los pocos sistemas que usa DPS de manera extensa. La biblioteca del sistema de ventanas de espacio de usuario NeXTSTEP usó PostScript para dibujar elementos como barras de título y desplazadores. Esto, a su vez, hizo un uso extensivo de pswrap
s, que a su vez estaban envueltos en objetos y presentados al programador en forma de objeto.
Derivados modernos
Manzana 's Mac OS X sistema operativo utiliza un servidor ventana central (creada enteramente por Apple) que los gráficos de la ventana cachés como PDF , en lugar de almacenar y ejecutar código PostScript [ cita requerida ] . Una biblioteca de gráficos llamada Quartz 2D proporciona imágenes de estilo PostScript usando el modelo de renderizado PDF (un subconjunto, más ajustes, del modelo PostScript), pero esto es usado por los marcos de aplicaciones; no hay PostScript presente en el servidor de ventanas de Mac OS X. Apple eligió usar este modelo por una variedad de razones, incluida la eliminación de tarifas de licencia para DPS y una compatibilidad más eficiente con el código Carbon y Classic heredado ; Las aplicaciones basadas en QuickDraw utilizan exclusivamente dibujos de mapas de bits. Por lo tanto, se pretende que las estipulaciones de derechos de autor de Adobe [ cita requerida ] que se aplican al estándar PDF sean mucho menos restrictivas, otorgando, se ha reclamado (es decir, aquí, por un autor anterior) permiso de derechos de autor condicional a cualquier persona para usar el formato en aplicaciones de software de forma gratuita. [ cita requerida ]
Ver también
- Codificación estándar PostScript (juego de caracteres PostScript)
- Siguiente juego de caracteres
- Noticias
- Cuarzo 2D
Referencias
Otras lecturas
- Adobe Systems Incorporated (1990) [1985]. Manual de referencia del lenguaje PostScript (2ª ed.). Compañía editorial de Addison-Wesley . (Nota: esta edición también contiene una descripción de Display PostScript, que ya no se trata en la tercera edición).