Lituanizacijos-HOWTO arba Kaip aš lietuvinau savo Linux'ą <author> Albertas Agejevas <alga@uosis.mif.vu.lt> <date> v. 0.7.2, 2000 06 13 <!-- Kartą gyveno senelis ir senelė --> <sect>Įvadas <p> <tt>#include <disclaimer.h></tt> Šiame rašinyje bandysiu aprašyti, kaip aš susidorojau su lietuviškų raidžių problema savo Linux'e. Iš karto atsiprašau už netaisyklingai vartojamą lietuvių kalbą, už aprašymo ribotumą, Linux'o i18n (internationalisation) niuansų nežinojimą bei kitas klaidas. Šito dokumento naujausią versiją galite rasti adresu <url url="http://ieva.mif.vu.lt/~alga/lt/">. Linux'as siūlo gana neblogą skirtingų kodų lentelių bei kalbų palaikymą. Jei jūs prancūzas ar vokietis, jums nebus jokių problemų su jūsų gimtosios kalbos palaikymu. Ko gero, viskas jau bus padaryta tiesiog distributyve ir jums reikės tik nurodyti savo kalbą instaliuojant sistemą. Jeigu jūs lietuvis, jūsų techninės galimybės dirbti savo kalba nėra mažesnės nei prancūzo ar vokiečio, tiesiog greičiausiai jums teks viską pasidaryti pačiam. <sect> Kodų košė <p> Ko gero, viskas būtų kitaip, jei egzistuotų bent jau vieninga lietuviškų raidžių kodine lentelė. Dabar yra buvęs ISO standartas lietuviškoms raidėms ISO-8859-4, vadinamasis Latin-4, kelios DOS'inės lentelės, ateities standarto Unicode įgyvendinimo būdas UTF-8, dabartinis ISO ir Lietuvos standartas ISO-8859-13 (Latin-7), ir, pagaliau, su juo beveik sutampanti MS Windows lietuviškų raidžių lentelė Windows-1257, žinoma ir Baltic RIM vardu. Pastaroji yra standartas de facto Internete, bei naudojama daugumos kompiuterių vartotojų lietuvių, kurie naudoja MS Windows... Nuo Latin-7 ji skiriasi tik tuo, kad lietuviško stiliaus kabučių simboliai (panašūs į ,, `` '') yra išdėstyti ten, kur ISO-8859 lentelėse yra valdantys simboliai. ``Nestandartinės'' kabutės automatiškai naudojamos, įjungus Smart Quotes opciją M$ produktuose. Be to, 1257 lentelėje tarp tų valdančių simbolių primėtyta keletas kitų simbolių, kaip (TM), durklo, promilės. Kadangi man lietuviškos raidės buvo reikalingos vien tik WWW peržiūrai arba retkarčiais surinkti kokiam referatui, kuris vis vien būtų spausdinamas pas draugą su MS Windows, iš pradžių aš nusprendžiau apsistoti ties Latin-7. Dabar dar rašau email'us lietuviškai, taigi naudoju rekomenduojamą charset'ą ISO-8859-13. Latin-4 privalumas yra tas, kad jį palaiko daug programinės įrangos. Jis senai yra tarp ISO standartų, taigi programinės įrangos gamintojai jį yra įdiegę daugelye savo produktų. Gaila, to negalima pasakyti apie Netscape. Jeigu jūs norite Latin-4 arba UTF-8 kodavimo, viską, ko jums reikia, rasite R. Čepo <url url="http://www.angelfire.com/me/rch/ll.html" name="x-lt pakete">, anksčiau vadintame linux-lt. <sect> X window ir Netscape <sect1> X11 Šriftai <P> Pirmiausia susiradau lietuviškus X11 šriftus ISO-8859-13 lentelėje -- <url url="ftp://ftp.vdu.lt/pub/Linux/lt/XSekaFonts.tar.gz" name="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: <tscreen><verb> $ for i in *.; do bdftopcf -o ${i}pcf $i; gzip ${i}pcf; done </verb></tscreen> Galima nesivarginti, ir susirasti šriftus iš karto PCF formatu ir su tvarkingu iso8859-13 kodavimu. Kur? <url url="http://www.soften.ktu.lt/~diskena/fonts/xfonts-latin7-pcf.tar.gz"> <url url="http://www.mif.vu.lt/~alga/XSeka-13.tar.gz"> <url url="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: <tscreen><verb> 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" </verb></tscreen> kaip tik prieš <tscreen><verb> 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/" </verb></tscreen> Pas Red Hatininkus gali ir nebūti XF86Config'e jokių FontPath'ų, viskas servinama <tt/xfs/ serverio. Tada reikia kažkur (<tt>/etc/X11/xfs/</tt>?) 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ą <tt/NC_baltic/, esantį aukščiau minėtame <url url="http://www.angelfire.com/me/rch/ll.html" name="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 <url url="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. <sect1> X11 Klaviatūra <p> Su klaviatūra yra sunkiau. Egzistuoja du keymap'ų keitimo būdai. Vienas - naudojant <tt>xmodmap</tt> programą ir <tt>~/.Xmodmap</tt> failą. Kitas - naudojant X11'ų xkb extention'ą. Pastarasis būdas yra pažangesnis (nežinau kodėl :). Xmodmap paliekamas skaitytojui kaip pratimas - <tscreen><verb> $ man xmodmap $ man xev </verb></tscreen> Taip pat yra programėlė <url url="http://www.soften.ktu.lt/~diskena/aldona/" name="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 <tt>/usr/X11R6/lib/X11/xkb/symbols/</tt> failai. Juose aprašyti patys klaviatūrų išdėstymai, o kituose katalogo <tt>/usr/X11R6/lib/X11/xkb/</tt> 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 <tt/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: <tscreen><verb> XkbRules "xfree86" XkbModel "pc102" XkbLayout "lt+lt(left_switch)" XkbOptions "grp:shift_toggle" </verb></tscreen> Dabar galite perjunginėti klaviatūros režimus paspausdami abu Shift'us. <sect> Konsolė <p> Trumpai paaiškinsiu, su kuo turėsime reikalą. Išsamiai konsolės šriftų ir keymap'ų naudojimas aprašytas Keyboard-and-Console-HOWTO. Keymap yra failas, kuriame aprašyta, kokius simbolius kernelis turėtų perduoti i terminalą, kai paspaudžiami kurie nors klavišai. Kitaip tariant, jame aprašytas klaviatūros išdėstymas. Keymap'ai yra įskaitomi ``plika akimi'' ir dėl to, turint noro, norimai susitvarkyti klaviatūros išdėstymą yra labai paprasta. Norint pakrauti keymapą, reikia įvykdyti: <tscreen><verb> $ loadkeys <keymap'o_pavadinimas> </verb></tscreen> Kita failų rūšis - konsolės šriftai. Jie yra tiesiog pabičiui išdėlioti ženklų nuo 0 iki 255 vaizdai. Tokiu būdu, vienas 8x16 dydžio ženklas užima 16 baitų. Visas šrifto failas - 4096. Dar būna PSF formato šriftų failai. Jie turi keturių baitų antraštę, nurodančią šrifto aukštį bei failo dydį, taip pat gali turėti lentelę, nurodančią jos simbolių Unicode atitikmenis. Norėdami pakrauti konsolės šriftą, rašykite <tscreen><verb> $ setfont <šrifto_vardas> </verb></tscreen> Dar yra ir trečia konsolės valdymo failų rūšis - ``transition tables''. Jos būna dviejų rūšių -- Screen Font Map (anksčiau vadinta tiesiog Unicode Mapping Table) ir Application Charset Map (anksčiau vadinta Screen Map). SFM mūsų laikais dažniausiai būna įsiūta į konsolinį šriftą, ir nurodo šrifto glifų Unicode reikšmes (arba tiesiog unikodus). Iš SFM kernelio konsolės draiveris sužino, kokie simboliai yra šrifte. ACM nurodo, koks charset'as norimas konsolėje, tai yra, kokius simbolius turės omeny programos, spausdindamos simbolius į ekraną. Pavyzdys galėtų būti Latin-1, arba Latin-7, arba KOI8-R. Nustatydami kokį nors ACM, mes užsitikriname, kad konsolės draiveris teisingai supras, kokių simbolių mes norime, spaudintdami ką nors į ekraną ir paskui bandys tuos simbolius atvaizduoti pakrautu šriftu, panaudodamas SFM, kad surastų, kokie būtent glifai reikalingi. Jei mes norime konsolėje lietuviškų raidžių Latin-7 lentelėje, tai tiesiog pakraunam bet kokį šriftą, kuriame yra lietuviškos raidės, bei jo SFM, o taip pat pakraunam Latin-7 ACM. Kernelis pats per ACM ir SFM suseks, kur šrifte yra lietuviškos raidės jas spausdins ekrane, kada reikės. kbd-0.99 paketo programos <tt/setfont/ ir <tt/mapscrn/ teoriškai palaikė šitą schemą, bet man niekaip nepavyko pakrauti norimo ACM šiomis programomis. Į Red Hat 6.0 ir kitų naujesnių distribucijų sudėtį vietoj kbd-0.99 įeina paketas console-tools. Pagrindinis išorinis skirtumas yra tas, kad nebėra programų <tt/setfont/ ir <tt/mapscrn/, o vietoj jų atsirado viena programa <tt/consolechars/. Ji naudojama taip: <tt/consolechars -f <šrifto_vardas>/ pakrauna konsolės šriftą <tt/consolechars --acm <map'o_vardas>/ pakrauna (surprise!!!) ACM <tt/consolechars --sfm <map'o_vardas>/ pakrauna SFM, jei norima jį krauti atskirai nuo šrifto. Visų triju rūšių failus -- šriftus, keymap'us ir transition table'us -- galite rasti <tt>/usr/lib/kbd/</tt> arba <tt>/usr/share/kbd/</tt> katalogo pakatalogiuose. Iš <url url="ftp://ftp.vdu.lt/pub/Linux/lt/linux-lith.tgz"> atsisiunčiau Baltic RIM lentelės šriftus bei keymap'us. Šriftas pieštas pačių, atrodo gana nekaip. Tada aš tiesiog pasidariau šriftą pats. Pasinaudojęs <url url="mailto:mgedmin@delfi.lt" name="Mariaus Gedmino"> šriftų grab'inimo utilita, pasiėmiau savo BIOS'o ir LIR'o šriftą KBL lentelėje. Tada savo gamybos programėle išardžiau jį į atskirus ženklus, sudėjau iš kelių šriftų kažką panašaus į Latin-7, ir vėl surinkau savo programėle. Taip gavau 16 pikselių aukščio konsolinį lietuvišką šriftą. O dėl keymap'o -- atsisiunčiau Mariaus Gedmino <url url="http://puni.osf.lt/~mgedmin/" name="paketą lit-con-0.99"> ir, pamodifikavęs savaip vieną iš failų, gavau gerą lietuvišką klaviatūros išdėstymą. Beje, minėtame pakete be skirtingų lietuviškų klaviatūros išdėstymų yra ir keletas leituviškų konsolės šriftų. Tada įrašiau mano šrifto ir keymap'o pakrovimą i <tt>/etc/rc.d/rc.sysinit</tt> ir taip gavau lietuviškas raides konsolėje. Nesenai man krito į akį šriftas 8x14thin... Jame raidės nupaišytos viengubo storio linijomis, kaip X'ų terminaliniuose fontuose. Aš jį išplėčiau, padariau virš 300 simbolių šriftą, kuriame suptilpo visa 437 pseudografika, visi Latin-1 simboliai, rusiškos raidės, lietuviškos raidės ir daugiau. Tą šriftą rinkdamasis neužmiršau padaryti tvarkingą SFM, ir dabar naudoju tą šriftą konsolėje, kai man reikia lietuviškų, rusiškų, ar dar kokių raidžių. <sect>Lokalės <p> Locale -- tai kokios nors kalbos ir kultūros nusistovėjusios datų rašymo, mėnesių ir savaitės dienų pavadinimų bei trumpinimo, pinigų žymėjimo, alfabetinės tvarkos ir t.t., taisyklės. Lokalė reikalinga bent tam, kad less ir ls komandos rodytų lietuviškas raides. Pagal nutylėjimą yra nustatyta POSIX lokalė, o ji nelaiko raidėmis nė vieno simbolio virš 0x7F. Lokales vadinamos kalbos ir šalies pavadinimų santrumpomis: <itemize> <item> en_CA - Kanados anglų, <item> de_DE - Vokietijos vokiečių, <item> lt_LT - Lietuvos lietuvių. </itemize> Lokalei nustatyti yra keletas aplinkos kintamųjų: <itemize> <item> LANG - viskas kartu; <item> LC_CTYPE - simbolių tipai (raidės, skaičiai, skirtukai ir t.t.); <item> LC_COLLATE - alfabetinio rūšiavimo tvarka; <item> LC_NUMERIC - skaičių vaizdavimas: koks dešimtainis kablelis, kaip rodyti didelis skaičius; <item> LC_TIME - mėnesiai, dienos, valandos; <item> LC_MONETARY - pinigų sumų vaizdavimas; <item> LC_MESSAGES - Taip/Ne atsakymų sutrumpinimai; <item> LC_ALL - viskas kartu. </itemize> LANG gali buti perdengtas bet kokio LC_ kintamojo, o LC_ALL perdengia kitus. Pavyzdys: jūs norite, kad <tt/ls -l/ komanda datas atspausdintų lietuviškai. Susiinstaliavę lietuvišką lokalę, darykite taip: <tscreen><verb> $ LC_TIME=lt_LT $ export LC_TIME $ ls -l </verb></tscreen> Patikrinti esamai lokalei yra komanda <tt>locale</tt>. Lokales laikomos nuo kodų lentelės nepriklausomuose failuose, o kodų lentelės aprašomos atskiruose charmap failuose. Taip, juose `ą' žymima kaip <a;>, o `č' - kaip <c<>. Prieš vartojant, lokalę visgi reikia susieti su kodų lentele. Tai daroma <tscreen><verb> $ localedef -f <charmap> -i <input_file> <locale_name> </verb></tscreen> komanda. Po to jau galima nustatinėti LANG kintamąjam tą reikšmę, kuria jūs pavadinote lokalę (<locale_name> pavyzdyje). Lokalės teisingo pavadinimo pavyzdys būtų <tt>lt_LT.iso8859-13</tt> Lokalių ir charmap'ų išeities tekstai yra <tt>/usr/share/i18n/locales</tt> ir <tt>/usr/share/i18n/charmaps</tt> kataloguose, o sukompiliuotos lokalės laikomos <tt>/usr/share/locales/</tt> katalogo pakatalogiuose. Lokalės išeities tekstus aš pasiėmiau iš R. Čepo linux-lt paketo, o charmap ISO-8859-13 failas (kaip ir CP1257) įėjo į Red Hat 6.0 sistemą. Patartina į <tt>/etc/profile</tt> įrašyti tokias eilutes: <tscreen><verb> LC_CTYPE=lt_LT.iso8859-13 LC_COLLATE=lt_LT.iso8859-13 export LC_TIME LC_COLLATE </verb></tscreen> <sect> LaTeX lituanizavimas <sect1> Senasis Testamentas <p> Šios dalies autorius - <url url="mailto:Marius Gedminas <mgedmin@delfi.lt>" name="Marius Gedminas">. 1) Atsisiunčiame is <url url="http://www.vtex.lt/tex" name="http://www.vtex.lt/tex/littex"> (ačiū šio paketo autoriui Sigitui Tolušiui) šiuos failus; <itemize> <item> <url url="http://www.vtex.lt/tex/littex/cpdef.zip" name="cpdef.zip"> <item> <url url="http://www.vtex.lt/tex/littex/lflate2e.zip" name="lflate2e.zip"> <item> <url url="http://www.vtex.lt/tex/littex/tfmlt.zip" name="tfmlt.zip"> <item> <url url="http://www.vtex.lt/tex/littex/vflt.zip" name="vflt.zip"> </itemize> 2) Išpakuojame kur nors ir nukopijuojame failus į reikiamus katalogus (raidžių dydis svarbus!). Iš lflate2e.zip: <tscreen><verb> LTCMR.FD -> (TeXmf)/tex/latex/base/LTcmr.fd LTCMSS.FD -> (TeXmf)/tex/latex/base/LTcmss.fd LTCMTT.FD -> (TeXmf)/tex/latex/base/LTcmtt.fd LTENC.FD -> (TeXmf)/tex/latex/base/LTenc.fd </verb></tscreen> Iš cpdefs.zip: <tscreen><verb> CP772.DEF -> (TeXmf)/tex/latex/base/cp772.def CP774.DEF -> (TeXmf)/tex/latex/base/cp774.def CP775.DEF -> (TeXmf)/tex/latex/base/cp775.def CPKBL.DEF -> (TeXmf)/tex/latex/base/cpKBL.def CPRIM.DEF -> (TeXmf)/tex/latex/base/cpRIM.def </verb></tscreen> Iš tfmlt.zip: sukurti katalogą <tt>(TeXmf)/fonts/tfm/lt</tt> <tscreen><verb> (visus failus) -> (TeXmf)/fonts/tfm/lt/(mažosiomis raidėmis!) </verb></tscreen> Iš vflt.zip: sukurti katalogą <tt>(TeXmf)/fonts/vf/lt</tt> <tscreen><verb> (visus failus) -> (TeXmf)/fonts/vf/lt/(mažosiomis raidėmis!) </verb></tscreen> Čia <tt>(TeXmf)</tt> - pagrindinis TeX'o distribucijos katalogas (Slackware - <tt>/usr/lib/teTeX/texmf</tt>, Red Hat 5.0 - <tt>/usr/lib/texmf/texmf</tt>, Red Hat 6.0 ir SuSE 6.0 - <tt>/usr/share/texmf</tt>). 3) Pakeičiame VF fontus: šie failai yra skirti DOS'inei TeX'o distribucijai, tad juose visi failų vardai yra nurodyti didžiosiomis raidėmis. Reikia su kokiu nors hex editoriumi (mc vidinis vieweris ir/arba redaktorius tinka, tik reikia elgtis atsargiai) juos pakeisti: nuo adreso 0x2b žodį perrasyti mažosiomis raidėmis (pvz. DCTT -> dctt). 3') Alternatyva: naudojant programas vftovp ir vptovf galima dvejetainius failus išskleisti į tekstinį pavidalą ir paprastai paredagavus konvertuoti atgal. 4) Paleidžiame <tt>texhash</tt> programą. 5) Lietuviško LaTeX dokumento pavyzdys: <tscreen><verb> \documentclass{article} \usepackage{inputenc} \inputencoding{LTenc} \inputencoding{cpRIM} \renewcommand{\encodingdefault}{LT} \begin{document} ... \end{document} </verb></tscreen> Lietuviškos raidės surenkamos tiesiai (cpXXX lentele) arba naudojant šiuos akcentus: <tscreen><verb> \k{A} \v{C} \k{E} \.{E} \k{I} \v{S} \k{U} \={U} \v{Z} </verb></tscreen> Deja, dar ne viskas veikia gerai, pvz. \texttt{...} trūksta kai kurių lietuviškų raidžių. Bet pradžia yra. <em/Pastaba: tai veikia su TeX 3.14159 ir LaTeX2e./ <em/Papildymas:/ čia ištrauka iš vieno Sigito Tolušio laiško Mariui: <tscreen><verb> Kadangi DC šriftai jau yra pasenę (naujausiose LaTeX2e versijose pakeisti į EC šriftus), tai aš linkęs šiuos paketus ir šriftus užšaldyti esamame stovyje. !!! Bet jau yra nauja lt virtualių šriftų versija, kuri remiasi PostScript šriftais (iš T1/ptm, T1/phv ir T1/pcr šeimų). Tai suteikia privalumų, kai iš DVI failų gaminami PS ir PDF failai, sistemoje reikia mažiau failų, apima visas "rezoliucijas" ir tai yra dabartinėse TeX versijose naudojami šriftai. Taigi, prieš naudojant naujus lt virtualius šriftus, TeX sistemoje reikia instaliuoti PostScript šriftų palaikymą, t.y. turi egzistuoti TeX šriftai ptmr8r, phvr8r, pcrr8r ir pan. Šiuos LT šriftus (lenteles, TeX failo pavyzdį) galima rasti: http://www.vtex.lt/tex/littex/ Jei tik įmanoma, patarčiau naudoti JUOS. </verb></tscreen> Kol kas Marius dar neturėjo laiko susirasti ir išbandyti šio varianto ("jei senas kol kas veikia, kam jį keisti, geriau eisu ir porą analizės konspekų susivesiu" - M.G. Be to, Slackware 3.4 distribucijoje nebuvo tų PostScript'inių šriftų). <sect1> Naujasis Testamentas <p> Kaip ir žadėjo Senojo Testamento pranašai, atsirado naujas, techniškai pažangesnis būdas lituanizuoti TeX ir LaTeX. <P> Atsisiūskite <url url="http://www.vtex.lt/tex/download/zip/TeXLT.zip"> (584K). Išspauskite ZIP failą su opcija -L, tam kad failų vardai būtų mažosiomis: <tscreen><verb> $ unzip -L TeXLT.zip </verb></tscreen> Dabar <tt>cd texlt</tt> ir nukopijuokite visus failus: <tscreen><verb> iš fonts/*/tfm/ į (TeXMF)/texmf/fonts/tfm iš fonts/*/vf/ į (TeXMF)/texmf/fonts/vf iš hyphens/ į (TeXMF)/texmf/tex/generic/hyphen/ iš texinput/ltpsnfss/ į (TeXMF)/texmf/tex/latex/base/ iš texinput/babel/ į (TeXMF)/texmf/tex/generic/babel/ texinput/inputenc/cp772.def ==> (TeXMF)/texmf/tex/latex/base/cp772.def texinput/inputenc/cp774.def ==> (TeXMF)/texmf/tex/latex/base/cp774.def texinput/inputenc/cp775.def ==> (TeXMF)/texmf/tex/latex/base/cp775.def texinput/inputenc/cpkbl.def ==> (TeXMF)/texmf/tex/latex/base/cpKBL.def texinput/inputenc/cprim.def ==> (TeXMF)/texmf/tex/latex/base/cpRIM.def btexfmts/latex712.fmt ==> (TeXMF)/texmf/web2c/latex712.fmt </verb></tscreen> Dabar paleiskit <tt>texhash</tt>, ir galite rašyti lietuviškus dokumentus. Pavyzdį galite susirasti ir pačiame TeXLT pakete, o nekantriausiems -- dokumentas su lietuviškomis raidėmis atrodo maždaug taip: <tscreen><code> \documentclass[a4paper]{article} \usepackage[cpRIM]{inputenc} \usepackage{addltenc} \title{Eilėraštukas} \author{Liaudies išmintis} \date{1999 Balandžio 22 d.} \begin{document} \maketitle \begin{verse} Du gaideliai, du gaideliai \\ Baltus žirnius kūlė, \\ Dvi vištelės, dvi vištelės \\ Į malūną vežė. \end{verse} \end{document} </code></tscreen> Kas man nepatinka su šitais PostScript'iniais fontais, tai kad su LaTeX padarytas dokumentas iš išvaizdos nebesiskiria nuo visų kitų, kad ir MS Word'o dokumentų. Standartiniai fontai -- Times, Helvetica, Courier. Nebėra to CM ar DC šriftų šeimų specifinio žavesio. Užtat su <tt/pdflatex/ programa išeina <em>labai</em> gražūs PDF'ai! Dabar LaTeX duoda rezultatus formatu, kurį gali perskaityt bet koks Windows vartotojas, turintis Acrobat Reader programą. <sect> Emacs <p> Taip, su Emacs'ais irgi reikėjo pažaist, kol jie leido ir konsolėje, ir X11'uose rašyti lietuviškomis raidėmis, bet dabar aš laimingas naudojuosi tų pastangų vaisiais. Štai mano <tt>˜/.emacs</tt> failas: <tscreen><verb> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; .emacs ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Beveik full 8 bit ant ekrano (standard-display-european t) ; syntax highlighting'as kada įmanoma (global-font-lock-mode t) ; klaviatura leidžia įvesti 0xA0..0xFF (set-input-mode (car (current-input-mode)) (nth 1 (current-input-mode)) 0) ; mutt mode - pagrinde tam, kad highlightintų quoted text'ą ; (Šitą dalyką -- mutt.el -- susiradau Freshmeat'e) (load "mutt") ; This one will make emacs treat "ąęėį" as normal letters -- in case ; converssion, word boundaries determination, etc. ; Could as well be any latin-x (load "latin-4") ; įjungiam word wrap tekstinuose režimuose (add-hook 'text-mode-hook '(lambda () (auto-fill-mode 1))) </verb></tscreen> <sect>StarOffice, GhostScript. Spausdinimas su lietuviškom raidėm <p> GhostScript yra PostScript interpretatorius. Jis gali paversti PostScript'inius dokumentus į beveik bet kokio printerio kalbą. Dėl to, kad Linux'e visas spausdinimas daromas PostScript kalba, norėdami išgauti lietuviškas raides printeryje, turime sulietuvinti GhostScriptą. <url name="Eugenijus Paulauskas" url="mailto:filija@klaipeda.omnitel.net"> netik sukonvertavo reikiamus šriftus, bet ir parašė nuoseklias instrukcijas, kaip juos panaudoti ir kaip sulietuvinti StarOffice. Rezultatą galite rasti adresu <url url="ftp://ftp.agvila.lt/LitFont/">, o jei neveiks, galite pasižvalgyti <url url="ftp://diedas.soften.ktu.lt/pub/linux-lt/">. Dabartinė GhostScript versija gali naudoti netik PostScript'inius šriftus, bet ir TrueType. O pakišus jam TrueType'inius šriftus windows-1257 kodavime, kaip TimesLT ir CourierLT viskas turi taip pat pradėti veikti. <sect>Pabaiga <p> Štai ir viskas. Daugiau man nepavyko nieko sužinoti apie Linux'o lietuvinimą. Atleiskite už rašybos klaidas. :-) <url url="http://ieva.mif.vu.lt/home/alga/lt/liet-20010319.tar.gz" name="Konsolės šriftą, keymapą, lokales ir X'ų klaviatūros simbolius galite pasiimti čia">. Jei kas nors norės aprašyti dalykus, kuriuos aš praleidau - <url url="mailto:Albertas Agejevas <alga@uosis.mif.vu.lt>" name="prašom">. Lauksiu atsiliepimų ir bug-fix'ų :) Time-stamp: "2001-03-19 05:10:31 alga" </article>