Toliau Atgal Turinys

3. X window ir Netscape

3.1 X11 Šriftai

Pirmiausia susiradau lietuviškus X11 šriftus ISO-8859-13 lentelėje -- XSekaFonts (1.6 MB). Juose parašyta, kad jie ISO-8859-1, nors faktiškai juose visi simboliai atitinka ISO-8859-13 lentelę. Norint galima juos rankomis arba su Perl'u paredaguoti ir pasidaryti ``legalius'' ISO-8859-13 šriftus. Deja, neaišku, kiek tų šriftų naudojimas yra legalus teisine prasme. Jie yra nemokami mokslo institucijoms, o dėl jų privataus naudojimo neaišku... Taip kad vis dar yra poreikis nemokamiems kokybiškiems lietuviškiems šriftams.

Kitas dalykas, tie šriftai pateikti BDF formate, ir į X11 naudojamą PCF formatą juos verstis teks patiems. Aš tai dariau taip: kiekvienoje direktorijoje su šriftais:

$ for i in *.; do bdftopcf -o ${i}pcf $i; gzip ${i}pcf; done

Galima nesivarginti, ir susirasti šriftus iš karto PCF formatu ir su tvarkingu iso8859-13 kodavimu. Kur?

http://www.soften.ktu.lt/~diskena/fonts/xfonts-latin7-pcf.tar.gz

http://www.mif.vu.lt/~alga/XSeka-13.tar.gz

ftp://diedas.soften.ktu.lt/pub/linux-lt/XSEKAfonts-iso8859-13.tar.bz2

Na, per daug linkų dar niekada niekam nemaišė :)

Tada įrašiau į XF86Config šias eilutes:

    FontPath    "/usr/X11R6/lib/X11/fonts/iso8859-13/misc" 
    FontPath    "/usr/X11R6/lib/X11/fonts/iso8859-13/75dpi"
    FontPath    "/usr/X11R6/lib/X11/fonts/iso8859-13/100dpi"
    FontPath    "/usr/X11R6/lib/X11/fonts/iso8859-13/F3"

kaip tik prieš

    FontPath    "/usr/X11R6/lib/X11/fonts/misc/"
    FontPath    "/usr/X11R6/lib/X11/fonts/Type1/"
    FontPath    "/usr/X11R6/lib/X11/fonts/Speedo/"
    FontPath    "/usr/X11R6/lib/X11/fonts/75dpi/"
    FontPath    "/usr/X11R6/lib/X11/fonts/100dpi/"

Pas Red Hatininkus gali ir nebūti XF86Config'e jokių FontPath'ų, viskas servinama xfs serverio. Tada reikia kažkur (/etc/X11/xfs/?) susirasti jo konfigūracijos failus ir įrašyti ten šitas direktorijas.

Na, dabar Netscape ir xterm turi pradėti rodyti lietuviškas raides. Deja, deja... Iki Netscape versijos 4.51 imtinai viskas buvo taip paprasta... O Netscape Communicator 4.6 puslapių, kurių charset'as nurodytas kaip windows-1257, arba bet koks kitas, kurio Netscape nepalaiko, neberodo. Rodo tik krūvą klaustukų. Is that a bug or a feature? Atsakyt gali tik genijai iš Netscape, o šitą ligą savam Netscape'e galite išgydyti, praleisdami jį pro Perl skriptą NC_baltic, esantį aukščiau minėtame x-lt pakete. Šitas skriptas privers Netscape'ą perkoduot visus lietuviškus puslapius į iso8859-4 kodavimą, tai yra jums prireiks Latin-4 šriftų.

Yra kitas panašus skriptas, kurį rasite adresu ftp://diedas.soften.ktu.lt/pub/linux-lt/Netscape-iso8859-13. Jis priverčia Netscape ,,suprasti`` iso8859-13 kodavimą ir naudoti iso8859-13 šriftus (bingo! mes juos jau turime!), o šio vaistuko trūkumas yra tas, kad Netscape'as neįsimins nustatyto kodavimo Baltic (iso8859-13), ir teks nustatinėti kaskart paleidus Netscape... Na, bent jau klaustukų nėra.

3.2 X11 Klaviatūra

Su klaviatūra yra sunkiau. Egzistuoja du keymap'ų keitimo būdai. Vienas - naudojant xmodmap programą ir ~/.Xmodmap failą. Kitas - naudojant X11'ų xkb extention'ą. Pastarasis būdas yra pažangesnis (nežinau kodėl :). Xmodmap paliekamas skaitytojui kaip pratimas -

 $ man xmodmap
 $ man xev 

Taip pat yra programėlė aldona, leidžianti lietuvišką klaviatūrą gauti vienu pelės paspaudimu (arba nebūtinai pelės). Ji yra Window Maker'io applet'as. Autoriai pateikia ne tik source'us po GPL licenzija, bet ir Red Hat'o ir Debiano paketus. Ačiū jiems už tokią nuostabią programą!

Jei pasiryžome visgi klaviatūrą tvarkytis patys, tai labiausiai mus domina /usr/X11R6/lib/X11/xkb/symbols/ failai. Juose aprašyti patys klaviatūrų išdėstymai, o kituose katalogo /usr/X11R6/lib/X11/xkb/ pakatalogiuose yra visokiausia informacija, daranti X'us portabiliais - klaviatūrų geometrijos skirtingose platformose ir t.t.

Problema yra ta, kad norėdami tikrai susilietuvinti X11, turite perkompiliuoti XFree86 serverį. Tai yra ilgas ir skausmingas procesas. Serveris yra sukompiliuojamas iš 40 MB išeities tekstų.

X11 serveryje yra ``įsiuvami'' naudojamos lentelės simbolių pavadinimai, todėl be perkompiliavimo naudojamos lentelės nepakeisi. Bet galima šią problemą apeiti - rašyti pavadinimus simbolių tos lentelės, su kuria serveris sukompiliuotas.

R. Čepo pakete yra simbolių failas lt, kuriame aprašytas lietuviškos klaviatūros išdėstymas ant skaičių Latin-4 kodavime. Pakeitęs tame faile lietuviškų raidžių simbolius pavadinimais Latin-1 raidžių, kurių kodai atitinka lietuviškų raidžių ISO-8859-13 lentelėje kodus, aš gavau symbols failą, kuris, nors ir negerai, bet daro savo darbą.

Kaip ir su fontais, tai yra viso labo X11 serverio apgaudinėjimas. Jis, vargšas, mano, kad dirba su Latin-1 simboliais, bet mes spausdiname ir matome lietuviškas raides. Problema išnyra į paviršių, kai bandome naudoti mūsų ``lietuvišką'' klaviatūrą su, pvz., Corel WordPerfect. Jis gauna iš klaviatūros draiverio pranešimą, kad paspausta ``agrave'', ir rašo a raidę su kairiniu kirčiu, o visai ne ą nosinę, ``aogonek''.

Kad mūsų ``lietuviška'' klaviatūra pradėtų veikti, ją reikia įjungti XF86Config faile. Prieš pat "Keyboard" sekcijos pabaigą įterpkite:

   XkbRules        "xfree86"
   XkbModel        "pc102"
   XkbLayout       "lt+lt(left_switch)"
   XkbOptions      "grp:shift_toggle"

Dabar galite perjunginėti klaviatūros režimus paspausdami abu Shift'us.


Toliau Atgal Turinys