Petter Reinholdtsen <pere@td.org.uit.no>
1996-12-18 v2
Internt notat for Data Consult AS

Printerstyring - dokumentasjon

Dette dokumentet beskriver dc_lpspool, et konfigurerbart filter for ut utskrift. Den leser inn en fil, og returnerer den på stdout. Det har 3-nivås konfigurering av printer-oppsettet. De tre nivåene er printertype-oppsett, lokale endinger, og endringer i enkeltutskrifter.

Filteret har følgende parameterlinje: dc_lpspool <innfil> <bredde> <høyde> <printernavn>

Hvis antall parametre ikke er korrekt, så vil programmet avslutte med returverdi 1. Hvis innfil ikke er lesbar, så avslutter programmet med returverdi 2.

Parametre:

Hvis bredde er 0, så settes den til 112. Hvis høyde er 0, så settes den til 46. Valg av skriftstørrelse og retning på arket gjøres etter følgende kriterier (l_10 er landscape, 10 cpi):

Hvis høyde er mindre enn 46:
b udefinert
b = 11, h = 11l_11
Hvis høyde er 46, så vil følgende skrifttype velges basert på bredde:
b = 11p_11
b < 80p_10
80 <= b <= 112 l_10
112 < b <= 132 l_12
132 < b l_15
Hvis høyde større enn 46, så vil følgende skrifttyper velges:
b < 80 udefinert
80 <= b <= 112 p_12
112 < b <= 132 p_15
132 < b udefinert

Oppsett:

Filteret slår opp <printernavn> i filen sf. Programmet leter etter filen i følge path-spesifikasjonen i SF_PATH, som er en kolonseparert liste med kataloger. Formatet i sf er "<printernavn>\t<printertype>\t<lokale tilpassinger>"
Formatet til <lokale tilpassinger> er beskrevet under Printcap.

Når <printertype> er slått opp, så leter programmet etter filen <printertype>.cap i path satt ved PCAP_PATH. Formatet er beskrevet under Printcap.

Tilslutt leser den gjennom PRINTERCAP for å få endringer som gjelder kun for den ene utskriften. Her kan skuffevalg og andre endringer gjøres. Formatet er beskrevet under Printcap.

Printcap

Printerkodene (esc-sekvenser) spesifiseres via et format som ligner termcap. Variabelinnhold spesifiseres slik: "<navn>=<val>:...", der <val> inneholder det som skal sendes til skriveren. UNIX backspace-sekvenser (\e, \n, \r, \t) konverteres før utskrift.

Navn er variablenavnet, som skrives ut i denne rekkefølgen:

  1. init
  2. setcharset
  3. a4
  4. settray (tray)
  5. start
  6. Basert på bredde og høyde:
    portrait / landscape
    font{10,11,12,15}cpi
  7. Innholdet fil fila som skal skrives ut
  8. stop
  9. reset

Variable settray skal inneholde '%s' der verdien for selve skuffevalget skal legges inn. Denne erstattes under utskrift med variabel tray.

Valg av papirskuff

Variable tray settes til følgende verdi på de beskrevne skriverne:
Canon (type=C):
0 - automatisk
1 - manuell
2 - nedre kassett
3 - øvre kasett
4 - konvolutt-skuff
HP (type=L):
0 - kast ark (skal ikke brukes!)
1 - kassett
2 - manuell
3 - manuell konvolutt

Mangler 1996-12-17