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.
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.