PostScript
Sumario
Enlaces y referencias
- Sobre aplicaciones concretas:
- Tutoriales:
- Sobre tipografías:
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:
- Ref: Construir un archivo PPD en la documentación oficial de CUPS. Muy breve y conciso pero es un buen punto de partida.
- Ref: Diferencias entre PageSize y PageRegion o por qué existen las mismas cosas con diferentes nombres en estos archivos.
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:
- El valor de la variable LanguageVersion debe ser English.
- El valor de LanguageEncoding debe ser ISOLatin1.
- Se debe incluír la variable cupsLanguages que contenga todos los lenguajes (locales) incluídos en el archivo.
- 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.
- La variable Translation está reservada y no debe usarse nunca.
- En los valores de las variables y opciones no deben emplearse caracteres fuera del subconjunto ASCII del ISOLatin1 y UTF8.
- 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.
- Los textos traducidos deben estar en UTF8.
- Para traducir una variable se debe emplear la palabra clave Translation de la siguiente forma
*es.Translation PaperSize/Tamaño del papel: ""
- Mientras que para las opciones se debe emplear el nombre de la variable a la que pertenezcan:
*es.PaperSize Letter/Tamaño carta: ""
- Las traducciones pueden aparecer en cualquier parte y cualquier orden a partir de la segunda línea.
Otras referencias son:
- Comentarios en una lista de correo aunque son algo antiguos.
- Notas de Apple al respecto.