Serbian HOWTO: Podesavanje stampanja

Next Previous Contents

## 6. Podesavanje stampanja

Kod stampanja mozete naici na razne situacije:

- Stampac neposredno podrzava ISO Latin 2 raspored (idealno!)
- Stampac podrzava jedan od ostalih 8-bitnih rasporeda sa nasim slovima (na pr. kodni raspored 852), ali i 7-bitni raspored JUS I.B1.002 (bolje)
- Stampac razume PostScript (dobro)
- Stampac ne razume nista drugo osim ASCII znakova (lose!)

## 6.1 Stampaci koji podrzavaju ISO-8859-2 kodnu stranicu

Neki od novijih stampaca neposredno podrzavaju ISO-8859-2 kodni raspored. Medju njima su:

- Hewlett-Packard LaserJet 4 Plus i 4M Plus
- Hewlett-Packard LaserJet 5L
- Epson FX-2170
- Epson LQ-870
- Fujitsu DL700
- Fujitsu DL1150/1250
- Fujitsu DL3700/3800
- Fujitsu DL6400/6600

Sve sto treba da uradite je da stampacu naredite da koristi odgovarajucu kodnu stranicu. Komandna sekvenca za stampace Hewlett-Packard je:

> `\033(@N\033(s0p12h0s0b4099T`

gde je `\033` oktalni kod znaka `Escape`.

Jedan od nacina da pomocu datoteke `/etc/printcap` prilagodimo stampac da stampa po tom rasporedu opisan je u sledecem odeljku.

## 6.2 Stampaci koji podrzavaju neki drugi 8-bitni kodni raspored

Ako stampac podrzava neki drugi kodni raspored s nasim slovima, ipak mozemo pomocu njega stampati tekstove po ISO-8859-2 rasporedu, ako datoteku `/etc/printcap` prilagodimo na odgovarajuci nacin.

Postupak cemo objasniti na primeru stampaca marke Epson, koji ima znake po YUSCII rasporedu na mesto svedske abecede.

> `

>     lp|ascii|epson|Epson LQ-850:\
>             :lp=/dev/lp1:\
>             :sd=/usr/spool/lpd/epson:\
>             :lf=/usr/spool/lpd/ERRORLOG:\
>             :mx#0:\
>             :sh:
>     jus|Epson LQ-850 sa znakovima JUS I.B1.002:\
>             :lp=/dev/null:\
>             :sd=/usr/spool/lpd/jus:\
>             :if=/usr/spool/lpd/jus_filter:\
>             :lf=/usr/spool/lpd/ERRORLOG:\
>             :mx#0:\
>             :sh
>     latin2|text|Epson LQ-850 sa znakovima po ISO Latin 2:\
>             :lp=/dev/null:\
>             :sd=/usr/spool/lpd/latin2:\
>             :if=/usr/spool/lpd/latin2_filter:\
>             :lf=/usr/spool/lpd/ERRORLOG:\
>             :mx#0:\
>             :sh:

> `

U pitanju su tri reda za stampanje. Prva je americki (ASCII) izbor znakova. Drugi koristi `/var/spool/lpd/jus_epson`:

> `

>     #!/bin/sh
>     /usr/spool/lpd/jus_epson | lpr -Pascii

> `

Potrebno je da datoteku filtrirate kroz filter `/var/spool/lpd/jus_epson` i da je postavite u prvi red za stampanje. Filter `jus_epson` ne radi nista drugo osim sto bira svedski kodni raspored, prepise datoteku sa ulaza na izlaz i na kraju opet bira americki raspored. To je jedini deo programa koji zavisi od vrste stampaca:

> `

>     #!/bin/sh
>     # Stampanje dokumenta kodiranih po JUS I.B1.002 na stampac Epson LQ
>     #
>     # Biramo srpski (svedski) raspored
>     /bin/echo "\033R\005\c"
>     # Ispisujemo dokument
>     cat
>     # Biramo ASCII raspored
>     /bin/echo "\033R\000\c"

> `

Treci red (queue) je modifikacija drugog. Najpre se dokument pretvara iz Latin 2 u JUS kodni raspored, zatim se koristi prethodno opisani filter da doda na pocetku i na kraju potrebne kodove za stampac, i na kraju se datoteka salje u prvi red za stampanje.

> `

>     #!/bin/sh
>     /usr/local/bin/recode --force latin2:yu | \
>     /usr/spool/lpd/jus_epson | lpr -Pascii

> `

Ovde pretpostavljamo da posedujemo program `recode` u `/usr/local/bin` direktorijumu.

U ovu svrhu morate u direktorijumu `/usr/spool/lpd` (ili `/var/spool/lpd`) kreirati poddirektorijume `/usr/spool/lpd/epson, /usr/spool/lpd/jus` i `/usr/spool/lpd/latin2`.

Stampanje bi trebalo da ide lako:

1. Bez eksplicitne izbora reda, ili sa izborima `-Pepson` ili `-Pascii`, datoteka se stampa kao ASCII:

   > `lpr <datoteka>`

2. Izborom reda `-Pjus` datoteka se stampa kao dokument po JUS I.B1.002 rasporedu:

   > `lpr -Pjus <datoteka>`

3. Izborom reda `-Platin2` ili `-Ptext` datoteka se stampa po ISO-8859-2 rasporedu:

   > `lpr -Platin2 <datoteka>`

## 6.3 PostScript stampaci

Datoteku mozete lako odstampati ako koristite jedan od filtera za PostScript stampace koji podrzavaju ISO-8859-2 raspored. Takvi programi su, na primer, `a2ps` i GNU `enscript`. Poslednji podrzava ISO-8859-2 raspored, dok je podrska za prvi program u izradi.

Enscript za Red Hat distribucije mozete naci na http://rufus.w3.org/linux/RPM "skladistu" RPM paketa.

GNU enscript

  Ako niste instalirali GNU enscript, mozete to da ucinite po uputstvima koja prate program. Osim njega, potreban vam je i neki font u `Type 1` obliku koji sadrzi nasa slova. Dobar izbor bi bio IBM Courier, koji se distribuira uz X Windows sisteme ili sa programom `ghostscript`. Ako font postoji, ali ne znate tacno gde se nalazi, mozete ga pronaci komandom

  > `find / -name cour.pf[ab]`

  U licnu (`~/.enscriptrc`) ili sistemsku konfiguracionu datoteku (`/usr/local/etc/enscript.cfg` ili `/usr/loca/etc/enscriptsite.cfg`) dodajte put do datoteke sa fontovima. Osim toga, GNU enscript zahteva u svakom direktorijumu sa fontovima datoteku `font.map`, koja sadrzi preslikavanje izmedju fontova i datoteka u kojima se fontovi nalaze - slicno kao `fonts.dir`. Datoteku `font.map` mozete da kreirate naredbom `mkafmmap`.

  Primer konfiguracione datoteke `enscriptsite.cfg`:

  > `

  >     ...
  >     #  Gde su PostScript fontovi?
  >     AFMPath: /usr/lib/X11/fonts/Type1:/usr/local/lib/ghostscript/fonts
  >     ...
  >     # Podrazumevani nacin kodiranja:
  >     DefaultEncoding: latin2
  >     ...
  >     # Podrazumevani format papira:
  >     DefaultMedia: A4
  >     ...
  >     # lpd bira red za stampanje prekidacem -P...
  >     QueueParam: -P
  >     ...
  >     # Za stampanje koristimo naredbu lpr, a ne lp
  >     Spooler: lp

  > `

  Posto ste sve namestili, jednostavno posaljite datoteku na stampanje komandom

  > `enscript <datoteka>`

Next Previous Contents