Alates RedHat 8 on probleem tegelikult suuresti lahenenud, seega jääb käesolev artikkel hüvastijätukõneks seni Linuxis valitsenud fondihaldusetusele, huvitatud lugeja leiab siit aga ka mõne näpunäite.

Klient–server arhitektuuri puudused

Kogu Linuxi graafiline kasutajaliides, X window System — X, on loodud klient–server arhitektuurile. Programmid suhtlevad display serveriga ehk tarkvaraga, mis näitab aknaid, menüüsid ja nuppe, üle võrgu. Tavaliselt töötavad nii programmid kui server samas arvutis ja kasutatakse arvutisisest andmekanalit nimega Unix Domain Socket, klientprogrammid ja server võivad aga töötada täiesti erinevates arvutites — nii on võimalik luua odavaid terminalitöökohti.

Fontidega on X–i arhitektuur seotud seeläbi, et kuna server tegeleb niikuinii kogu renderdusega, on ka fondid tema pärusmaa. Programmidel on vaid võimalik serverilt paluda teatud kirjatüübi, suuruse jms parameetritega teksti ekraanile joonistada. Kusjuures X–i serveril ei pruugi isegi fondifaile olla, vaid ta võib esitada päringu konkreetsete tähemärkide saamiseks omakorda fondiserverile.

Kui kohtate oma Linuxi süsteemis sarnast rida: monotype–times new roman–medium–i–normal—0–0–0–0–p–0–iso8859–1 siis on tegemist X–i serverile sobivas formaadis fondi kirjeldusega (antud juhul määramata suurusega Times New Roman kodeeringus iso8859–1). Oma X–i serverile teadaolevaid fonte saate vaadata käsuga xlsfonts.

Teoorias on serveripoolsed fondid elegantne lahendus, praktikas aga tänapäeval sobimatu:

• Parameetrite arv, mida programm saab X–i serverile fondi valimiseks esitada, on piiratud. Näiteks ei tea X–i server midagi vektorfontidest ja programmid, mille jaoks on oluline tähemärkide paigutamine vastavalt kontekstile, olid siiani suures hädas. Vahest seetõttu pole Linuxis ühtegi korralikku DTP programmi?

• Programmil puudub juurdepääs fondifailile ja vastupidi — kui tal on käepärast fondifail, pole tal võimalik seda näitamiseks serverisse (kes tegelikult failist tähemärgid renderdab) laadida. Näiteks lihtne utiliit, mille abil saab vaadata fondifailis olevaid tähemärke (nagu pildivaatajaga saab vaadata pildifailis olevat pilti), osutub selle puuduse tõttu ülikeerukaks ettevõtmiseks.

• X–i server ei tea midagi poolläbipaistvatest pikslitest, seega ei saa antud lahendusega kasutada anti–aliasingut.

Siinkohas jätan pikemalt kirjeldamata ka selle, kuidas X–i serverile fonte juurde installida, kindlasti võib aga protseduuri keerukuse liigitada kolmandaks puuduseks.

Kliendipoolsed fondid

Eelmisel aastal võeti koheselt laialt kasutusele väljapakutud Linuxi uus fondihaldusarhitektuur, mis koosneb kolmest komponendist:

FreeType

FreeType teek renderdab fondifailis olevad tähemärgid sobiva suurusega bitmapiks, mida ekraanil näemegi. Praegune versioon (2.1.4) saab hakkama nii PostScript kui TrueType fontidega, lisaks veel OpenType ja erinevad bitmap–vormingud. Olgu siin kohe öeldud, et kõige vähem probleeme tekib TrueType formaadis fontidega ja neid on ka kõige laiemalt saada. Tõsi küll — suurem osa tasuta levitatavatest TTF fontidest ei kõlba kasutada, professionaalsed TTF fondid aga on erakordselt loetavad kõigil suurustel. FreeType teegi kodulehelt (www.freetype.com) leiate rohkelt lisainfot ja vihjeid just TTF fontide renderdamise optimeerimiseks.

Fontconfig

Fontconfig tegeleb fontide leidmisega süsteemist. Programmid pöörduvad sobiva fondi leidmiseks selle teegi poole, mis otsib sobiva faili määratud kataloogidest. Et selle failiga midagi peale hakata, tuleb edasi pöörduda juba Freetype’i poole. RedHatis on ka tavakasutajatel võimalik fonte lisada. Selleks tuleb luua kodukataloogi .fonts nimega alamkataloog ja tõsta vajalikud fondifailid sinna. Käivitades nüüd mõne uuema programmi (kõik GNOME2 ja KDE3 programmid), peaks uued fondid kohe kasutatavad olema.

Kui on vaja teha fonte kättesaadavaks kõigile kasutajatele, peaks kontrollima, millised kataloogid on määratud /etc/fonts/fonts.conf failis, ning kopeerima fondid sobivasse kohta. Seejärel tuleks juurkasutaja õigustes käivitata käsk fc–cache, mis lisab uued failid fontide puhvrisse. Kindlasti soovitan külastada oma Windowsi partitsiooni (kui teil veel see alles on) või veebilehekülge www.fontconfig.org/webfonts. Lühidalt —Windowsi põhifondid nagu Times New Roman, Arial jt ei ole mitte ainult väga hea kvaliteediga, vaid tagavad parema ühilduvuse enamuste veebilehekülgede ja dokumentidega.

Xft

Xft — X FreeType — on asendus vananenud X–i fondiprotokollile. Selle abil on lühidalt võimalik teha kõiki neid asju, mida eelnevalt kirjeldatud serveripoolsete fontidega teha ei saanud. Kuna renderdamine ise toimub ka Xft puhul serveris (kuhu on aga võimalik laadida oma faile jne), saab kasutada graafikakaardi riistvarakiirendust. Kuigi tähemärgid on pisikesed, käib tuhandete pisikeste pildikeste renderdamine vanema arvuti protsessorile üle jõu.

FreeType, Fontconfig ja Xft kombinatsiooni nimetatakse üldiselt samuti Xft–x või Xft2–x.

Seadistamine

Xft2 abil on fontide paigaldamine imelihtne, seadistamiseks on aga kaks võimalust: minna tekstiredaktoriga seadistusfaili kallale või kasutada GNOME2–ga komplektis olevat programmi. RedHatis leiate selle menüüst RedHat / Preferences / Fonts, üldiselt aga ka GNOME kontrollpaneelist.

Peamine valik on seoses anti–aliasinguga. Tegemist on tehnoloogiaga, mis joonistab tähemärkides teatud kohtadesse halle punktikesi, mille tagajärjel meie silm tajub jooni pehmemate ja selgematena. Anti–aliasing näeb mõnel monitoril välja tunduvalt parem kui teisel, üldreeglina aga parandab oluliselt kehvade ja keskmiste fontide väljanägemist ekraanil.

Laptopi või LCD monitori omanikud võiksid proovida ka subpixel smoothing valikut, mida Microsoft nimetab ClearType’iks. LCD ehituse tõttu on võimalik anti–aliasingu puhul kasutada mitte terveid piksleid, vaid nende erivärvi komponente (punane, roheline ja sinine). Mõnel puhul võib tulemus olla oluliselt parem puhtalt halltoonides anti–aliasinguga võrreldes, mõnel teisel ekraanil tekkivad aga tähemärkide ümber selged sinakad varjud — parima tulemuse saab eksperimenteerides.

Hintingu abil muudetakse tähemärkide kuju vastavalt suurusele. Näiteks on väikestel suurustel parem jätta sakid (seriifid) joonistamata, sest üksikute pikslitega on raske esitada teravaid servi ja tulemus jääks liialt sakiline. Osalt kasutatakse hintinguks fondi arendaja poolt kaasa pandud vihjete — hintide — abil, samas võib kasutada ka puhast matemaatikat. Muide — hintingut kontrollib mitu Apple Computersi patenti ja sellega on olnud mõningaid probleeme. Tundub aga, et Freetype arendajad on suutnud saavutada soovitud tulemuse patenteeritud tehnoloogiat kasutamata. Lähem info Freetype’i kodulehelt.

Käsitsi seadistamiseks, mis lubab loomulikult rohkem kui graafiline, tuleks alustada /etc/fonts/fonts.conf failist ja lugedes kommentaare, ise eksperimenteerida.

Xft2 toetus programmides

Nagu mainitud, kõik GNOME2 ja KDE3 programmid kasutavad Xft2–e. Kui mingil põhjusel tundub, et see nii ei ole, kontrollige üle keskkonnamuutuja GDK_USE_XFT=1 ning Kontrollkeskuse fondivalikud (GNOME puhul) ja Kontrollkeskusest Appearance & Themes / Fonts valikud (KDE puhul).

Olulistest programmidest toetavad Xft2–e veel:

• Mozilla, millest on saada nii Xft kui „tavaline” versioon. Esimesel on failinimes tavaliselt xft või rh. Debiani kasutajad peaksid installima paketi mozilla–xft.

• AbiWord2. Tõsi, seda ei ole veel ametlikult väljas, aga juba praegused versioonid sobivad lihtsamate kirjade jaoks.

• Opera 7.

• IceWM–i viimased versioonid.

Kõige olulisem programm aga, mis fonte ise üles ei leia, on OpenOffice.org. Tema puhul tasub käivitada Printer Administrator ja lisada fondid selle abil — ei midagi keerulist, kuid siiski piisavalt tüütu. Koos Ximian Desktop 2–ga jagatav OpenOffice.org sisaldab juba ka fontconfigu toetust ja jääb ainult loota, et Ximiani täiustused jõuavad kiiresti põhikoodibaasi.

Samuti ei tunnista Xft2–e (antud juhul on oluline küll vaid fontconfig) Ghostscript ja seega võivad tulla ette teatud puudused printimisel. See on aga omaette teema, mille puhul ei pääse enam fontide sobivasse kataloogi tõstmisega.

Veel ilusaid fonte

Kui kõik kirjeldatu kenasti töötab, tekib kindlasti kiusatus veel fonte installida. Nagu mainitud, hea kvaliteediga fonte on raske leida, saati siis selliseid, mida Linuxiga tasuta kaasa anda (Microsofti fontide litsentsileping lubab neid levitada ainult originaalformaadis, see tähendab self–extracting arhiivina). Siinkohal on sobilik tänada BitStreami, kelle fondid on väga kvaliteetsed ja kes annetas ametlikult GNOME töökeskkonnale (ja sealt kaudu kogu Linuxi seltskonnale) Vera fondiperekonna.