Hrvatska slova u X Window Systemu i latin2 printanje u Linuxu: Printanje ISO 8859-2

## 3. Printanje ISO 8859-2

Ovdje ću opisati način kako je kod mene riješeno printanje iz LaTeX-a, StarOffice-a i Communicatora. Glede printanja pod Linuxom, trebali biste procitati Printing-HOWTO i Printing-Usage-HOWTO. U svezi naših slova poželjno je pročitati Slovenian HOWTO i pogledati stranicu:

http://sizif.mf.uni-lj.si/linux/cee/printing.html

Dosada sam u Linuxu koristio Epson Stylus 800+ i trenutno HP 6L. Slijedeći redovi odnosit će se, dakle uglavnom na non-postscript printere.

Većina ce instalirati jedan od dva najpopularnija filtera koja dolaze u vašoj distribuciji - apsfilter i magicfilter. Koristim potonji jer je malo jednostavniji (malen /etc/printcap) i odmah je proradio :).

Dakle, želite li magicfilter, upišite kao root:

`magicfilterconfig`

Instalacija je glatka i intuitivna, jedino izaberite odgovarajući driver, za mene je to `ljet4`. Isprobajte printanje iz komandne linije s:

`lpr nekifajl` (ja uvijek koristim tiger.ps :) i obican txt file) bez naših kvačica)

i ako nešto nije u redu, možete izvršiti rekonfiguraciju s:

`magicfilterconfig --force`

Naravno, podrazumijeva se prije svega ovoga da je podrška za printanje ukomponirana u kernel.

## 3.1 LaTeX2e

Ovu aplikaciju velika većina nece koristiti, a ovdje je navodim samo zato jer ne zahtijeva instaliranje Type1 latin2 fontova, sve je vec na svom mjestu i možete odmah započet pisat našim kvakama. Radi se o makro paketu 0.9x distribucije teTeXa.

Za probu, napravite ovakav fajl imena `primjer.tex`:

    \documentclass{article}

    \usepackage{croatian}               % mijenjam po volji croatian.ldf
    \usepackage[latin2]{inputenc}       % ova dva retka uvijek
    \usepackage[T1]{fontenc}            % koristite za naša slova

    \begin{document}

    Čekajući Žarka.\\
    Šime se šiša.\\
    Đurđa ima dečka.

    \end{document}

Upisite u komand promptu:

`latex primjer.tex`

i dobit ćete, između ostalih, fajl `primjer.dvi`. Prije printanja (`lpr primjer.dvi - dvips` vam vjerojatno pretvara dvi u postscript), možete izvršiti preview naredbom `xdvi primjer.dvi`. xdvi naravno pod XWS.

Postoje i drugačije mogućnosti printanja, (`man dvilj` ako imate LaserJet) pod različitim printerima, ali to nije tema ovog dokumenta. Pretpostavlja se, naravno da ste pravilno konfigurirali svoj printer.

## 3.2 Instalacija latin2 Type1 fontova

Izgleda da će u novijim distribucijama Type1 fontovi biti već preinstalirani, no ukoliko nemate latin2 Type1 fontove evo što treba učiniti.

Ukratko, što se latin2 printanja tiče, treba nabaviti Type1 fontove i instalirat ih tako da ih prepozna Ghostscript i XWS i kasnije ih ukomponirat u SO. Koristim Aladdin Ghostscript 5.10.

Arhivu s Type1 fontovima raspakirajte na isti način kao i X fontove, postupak je isti (ne zaboravite i XF86Config). Nakon toga trebalo bi u novonastalom direktoriju, npr:

`/usr/X11R6/lib/X11/fonts/Type1-il2`

pokrenuti program `type1inst`. To je ustvari Perl skripta koja u zadanom direktoriju stvara `Fontmap` i `fonts.scale` datoteke koje onda koristi Ghostscript. Type1inst lako je pronaći, ja sam ga skinuo sa sunsitea.

Ukoliko ste raspakiranjem arhive dobili i dva navedena fajla, tada ne morate koristiti type1inst. U svakom slučaju, dobro je pročitati njegov README.

Radi jednostavnosti (ne treba type1inst), mi ćemo u našem primjeru koristiti Type1 arhivu s http://www.comp.cz/linux/ftp/fonty_ISO-8859-2/ koju je spomenuo D. Pleić u grupi hr.comp.linux. Osim arhive X11-cz-Type1-02.tgz, dobro je skinuti i StarOffice-fonty_ISO-8859-2.tgz, koja će nam biti vrlo korisna. Nažalost izgleda da ovaj link više ne egzistira pa probajte npr. `ftp.linux.hr`.

Sve pfa, afm (stavio sam i pfm) fajlove fontova koje želite printati treba kopirati u direktorij s ghostscript fontovima (možete napraviti i symlink). Kod mene je to `/usr/lib/ghostscript/fonts`. Obavezno kopirajte i `fonts.scale` koji je identičan fonts.dir fajlu. Fontmap datoteku također kopirajte ili izvršite copy & paste u originalni Ghostscriptov Fontmap (prethodno Ghostscriptov Fontmap backupirajte, korisno ga je pročitati).

## 3.3 Netscape Communicator

Sada bi već mogli printati iz Navigatora. Edit - Preferences - Appearance - Fonts, for the encoding - iso8859-2 i izaberite novoinstalirane proporcionalne i fiksne Type1 fontove, npr. Times (SP) ili Arial (SP) za proporcionalni, odnosno Couriernew (SP) za fiksni. Prethodno također podesite View - Encoding - CE iso8859-2 i možda Set Default Encoding.

Za probu printanja pronađite neku html stranicu s latin2 tekstom (može i ova koju upravo čitate te provjerite kakve su kvačice na varijabilnim i fiksnim fontovima unutar stranice.

Problem mi se javlja kod Ariala, jer mi ga ovako Ghostscript ne prepoznaje, osim ako u Fontmapu ne stavim u alias odjeljku:

`/Times (arl2____.pfb) ;`

Budući da novodobiveni fontovi ne izgledaju najljepše u Netscapeu, savjetujem vam da si kao default pod CE iso8859-2 encoding fontove stavite TrueType ili X fontove koji vam se najviše sviđaju, premda se potonji ne mogu printati.

Zgodna stvar je da će se po defaultu printati novoinstalirani Times (SP) i Couriernew (SP). Moj osobni favorit varijabilni font za Netscapeov browser jest besplatni Microsoftov TrueType font Georgia koji se nalazi na http://www.microsoft.com/typography/fontpack/default.htm.

## 3.4 StarOffice 5.1

Slijedeći redovi vrijede i za prethodne verzije StarOffice-a. Općenito uzevši, treba obaviti neke stvari u `~/Office50/xp3` diru. Hint: Za SO 5.1 probajte dodati fontove preko Printer Setup-a. Da bude jednostavnije, spominjat ću samo Times L2 i Arial L2 font.

    1. cd pssoftfonts
       ln -s /usr/lib/ghostscript/fonts/arl2*.pfb .
       ln -s /usr/lib/ghostscript/fonts/tnrl2*.pfb .

    2. cd ~/Office40/xp3/fontmetrics/afm
       ln -s /usr/lib/ghostscript/fonts/arl2*.afm .
       ln -s /usr/lib/ghostscript/fonts/tnrl2*.afm .

    3. cd ~/Office/xp3
    # editorom dodati u datoteku psstd.fonts

    arl2____, -SP-arial L2-medium-r-normal--%d-%d-%d-%d-p-0-iso8859-2
    arl2b___, -SP-arial L2-bold-r-normal--%d-%d-%d-%d-p-0-iso8859-2
    arl2bi__, -SP-arial L2-bold-i-normal--%d-%d-%d-%d-p-0-iso8859-2
    arl2i___, -SP-arial L2-medium-i-normal--%d-%d-%d-%d-p-0-iso8859-2
    tnrl2___, -SP-times L2-medium-r-normal--%d-%d-%d-%d-p-0-iso8859-2
    tnrl2b__, -SP-times L2-bold-r-normal--%d-%d-%d-%d-p-0-iso8859-2
    tnrl2bi_, -SP-times L2-bold-i-normal--%d-%d-%d-%d-p-0-iso8859-2
    tnrl2i__, -SP-times L2-medium-i-normal--%d-%d-%d-%d-p-0-iso8859-2

Ako vas zbunjuje ovo L2, tako sam ja editirao svoj fonts.dir i fonts.scale svuda gdje se pojavljuju. Možete npr. staviti HR.

4. Eventualno editirajte Xpdefaults (PageSize, default printer itd). Čitajte uputstva, a možete to izvesti i direktno iz otvorenog SO (Printer Setup).

## 3.5 Printanje čistog teksta

Inače, za svoj printer sam riješio i printanje čistog teksta (iz komandne linije) tako da zadnji dio /usr/sbin/ljet4-filter glasi:

    # Default entry -- for normal (text) files.  MUST BE LAST.
    #default                        cat     \eE\e&k2G\e(0N  \eE
     default             cat     \eE\e&k2G\033(2N\033(s0p12h0s0b4099T \eE

Ovo sam dobio na temelju Slovenian HOWTO:

Vse, kar morate storiti, je izbrati pravilno kodno stran v tiskalniku. Ubezna sekvenca za tiskalnike Hewlett-Packard je

`\033(2N\033(s0p12h0s0b4099T`

Ovdje se dakle radi o ugrađenim fontovima (u ovom slučaju Courier). Moram napomenuti da sam s dobijanjeg ovog rješenja imao najviše problema, no za printanje čistog teksta postoje i drugačija rješenja (npr. a2ps će pretvoriti ascii tekst u PostScript).

Ukoliko nemate printer s ugrađenim ISO8859-2 character setom, možda pomogne recode (vidi Slovenian HOWTO)

Zahvaljujem svima na sugestijama i idejama, posebno Vladimiru Vuksanu na ideji i pomoci pri formatiranju ovog dokumenta. Primjedbe, pitanja, pohvale, pokude, želje, zapažanja itd. na markovicr@softhome.net