PostScript

De Astillas.net
Postscript.png

Enlaces y referencias

Conceptos

PPD

PPD es el acrónimo de PostScript Printer Description, es decir, descripción de impresoras con soporte PostScript, y se emplea en sistemas como CUPS para definir colas de impresión, aunque este programa se ha desviado de la norma para poder usarlos en dispositivos sin soporte directo de este lenguaje: en ese caso se llaman archivos CUPS-PPD.

Modificando ó creando archivos PPD

Dado que el contenido de estos archivos se utiliza en ocasiones para presentar opciones a un humano, es bastante posible que sea necesario modificarlo aunque sólo se trate de una traducción.

Las siguientes referencias pueden ser de ayuda:

Para comprobar la validez sintáctica de uno de estos archivos se puede emplear la utilidad cupstestppd (en Debian en el paquete cups-client) ó usar la versión en línea.

Estructura de un archivo PPD

Un archivo PPD es un archivo de texto, con líneas de hasta 255 caracteres terminadas por un retorno de carro, un salto de línea ó una combinación de ambos.

Se compone de una cabecera y un cuerpo, el cuál puede estar a su vez compuesto por bloques de datos y comentarios.

Esta es la representación sintáctica del contenido de un archivo de este tipo:

PPD-FILE = HEADER +(DATA / COMMENT / LINE-END)

HEADER   = "*" 0x50.50.44.2D.41.64.6F.62.65 ":"   ; *PPD-Adobe:
           *WSP DQUOTE "4.3" DQUOTE LINE-END

COMMENT  = "*%" *TCHAR LINE-END

DATA     = "*" 1*KCHAR [ WSP 1*KCHAR [ "/" 1*TCHAR ] ] ":"
            1*(*WSP VALUE) LINE-END

VALUE    = 1*TCHAR / DQUOTE 1*SCHAR DQUOTE

KCHAR    = ALPHA / DIGIT / "_" / "." / "-"

SCHAR    = LINE-END / WSP / %x21 / %x23-7E / %xA0-FF

TCHAR    = %x20-7E / %xA0-FF

LINE-END = CR / LF / CR LF
  • La cabecera consiste en una línea de texto completa con el siguiente contenido literal:
    *PPD-Adobe: "4.3"
  • Los comentarios son líneas de texto que comienzan por la secuencia `*%` y contienen caracteres imprimibles de ASCII
    *% This is a comment 

Traduciendo archivos

Respecto a la traducción de aquellas partes del archivo que se presentan al usuario, encuentro algunas dificultades con los juegos de caracteres como el UTF8, del que ya debería estar avisado, y que vienen documentados en el sitio oficial. u Para traducir un archivo PPD hay que seguir estos pasos:

  1. El valor de la variable LanguageVersion debe ser English.
  2. El valor de LanguageEncoding debe ser ISOLatin1.
  3. Se debe incluír la variable cupsLanguages que contenga todos los lenguajes (locales) incluídos en el archivo.
  4. Los nombres de variables y de opciones se deben limitar a 34 caracteres de longitud, en lugar de los 40 que permite la norma, para poder añadir los prefijos de lenguajes en los atributos traducidos.
  5. La variable Translation está reservada y no debe usarse nunca.
  6. En los valores de las variables y opciones no deben emplearse caracteres fuera del subconjunto ASCII del ISOLatin1 y UTF8.
  7. Los lenguajes se deben especificar con el prefijo de dos letras del código ISO de lenguages y, si procede, el código de dos letras ISO del país separados por un guión bajo.
  8. Los textos traducidos deben estar en UTF8.
  9. Para traducir una variable se debe emplear la palabra clave Translation de la siguiente forma
    *es.Translation PaperSize/Tamaño del papel: ""
  10. Mientras que para las opciones se debe emplear el nombre de la variable a la que pertenezcan:
    *es.PaperSize Letter/Tamaño carta: ""
  11. Las traducciones pueden aparecer en cualquier parte y cualquier orden a partir de la segunda línea.

Otras referencias son: