Creative Commons License
Excepto donde se indique otra cosa, todo el contenido de este lugar está bajo una licencia de Creative Commons.
Taquiones > hardware > Archivos PPD

Archivos PPD

PPD es el acrónimo inglés de PostScript Printer Description, es decir, descripción de impresoras con soporte PostScript, y se emplea en sistemas como CUPS para manejar impresoras, aunque en este último caso se ha desviado de la norma para poder usarlos con impresoras sin soporte PostScript. En este 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.

En este caso tengo algunos enlaces que pueden ayudar:

Para comprobar si un archivo PPD es correcto se puede emplear la utilidad cupstestppd ó 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.

Dejo aquí esto temporalmente:

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

Cabecera

La cabecera consiste en una línea de texto completa con el siguiente contenido literal:

\*PPD-Adobe: "4.3"

Comentario

Los comentarios son líneas de texto que comienzan por la secuencia *% y contienen caracteres imprimibles de ASCII.

\*% This is a comment

Bloque de datos

PENDIENTE DE COMPLETAR

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 UTF-8, del que ya debería estar avisado, y que vienen documentados en el sitio oficial.

Para traducir un archivo PPD hay que seguir estas normas:

  1. El valor de la variable LanguageVersion debe ser English.
  2. El valor de LanguageEncoding debe ser ISOLatin1.
  3. Se debe incluír una variable cupsLanguages que liste todos los languajes (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 UTF-8.
  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 UTF-8.
  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 línea 1.

Otros enlaces al respecto son:

Archivos PPD personales

Estos son los archivos PPD que tengo alojados:

mié 03 mar 2010 10:35:14 GMT ML-2855ps.ppd
mar 29 sep 2009 11:55:18 BST Dymo LabelWriter 400 Turbo.ppd
mar 29 sep 2009 11:55:18 BST HP Color LaserJet 2605.ppd