12. fejezet - Betűkészletek telepítése és beállítása a grafikus felülethez

Tartalomjegyzék

12.1. Az X11 alap betűkészletek
12.2. Az Xft

Az openSUSE rendszeren a további betűkészletek telepítése nagyon egyszerű. Egyszerűen csak át kell másolni a betűkészleteket az X11 betűkészletek elérési útvonalán belüli tetszőleges könyvtárba (lásd: 12.1. - Az X11 alap betűkészletek). A betűkészletek használatához a telepítési könyvtárnak az /etc/fonts/fonts.conf fájlban beállított könyvtár alatt kell lennie (lásd: 12.2. - Az Xft) vagy be kell ágyazni ebbe a fájlba az /etc/fonts/suse-font-dirs.conf használatával.

Az alábbiakban egy példát mutatunk az /etc/fonts/fonts.conf fájl részletére. Ez a fájl a normál konfigurációs fájl, amely a legtöbb esetre megfelelő beállításokat tartalmaz. Ez definiálja a mellékelt /etc/fonts/conf.d könyvtárat is. A fontconfig ebből a könyvtárból betölti az összes kétjegyű számmal kezdődő fájlt és szimbolikus láncot. E funkció részletesebb leírása az /etc/fonts/conf.d/README fájlban található.

<!-- Font directory list -->
<dir>/usr/share/fonts</dir>
<dir>/usr/X11R6/lib/X11/fonts</dir> 
<dir>/opt/kde3/share/fonts</dir>
<dir>/usr/local/share/fonts</dir>
<dir>~/.fonts</dir>

Az /etc/fonts/suse-font-dirs.conf automatikusan generálódik, hogy behozza a (jellemzően külső fél gyártotta) alkalmazások (például OpenOffice.org, Java vagy Adobe Acrobat Reader) betűkészleteit. Egy jellemző bejegyzés például így nézhet ki:

<dir>/usr/lib/Adobe/Reader9/Resource/Font</dir>
<dir>/usr/lib/Adobe/Reader9/Resource/Font/PFM</dir>
 

További betűkészletek teljes rendszerre érvényes telepítéséhez másolja át kézzel a betűkészletfájlokat (root felhasználóként) egy megfelelő könyvtárba, mint például az /usr/share/fonts/truetype. A feladat a KDE betűkészlet-telepítőjével is elvégezhető, a KDE személyes beállításoknál. Az eredmény ugyanaz.

A tényleges betűkészletek átmásolása helyett szimbolikus láncok is létrehozhatók. Erre akkor lehet szükség például, ha licencelt betűkészletekkel rendelkezik egy felcsatolt Windows partíción és használni kívánja őket. Ezt követően futtassa le a SuSEconfig --module fonts parancsot.

A SuSEconfig --module fonts a betűkészletek beállítását kezelő /usr/sbin/fonts-config parancsfájlt hajtja végre. A parancsfájl működésének megismeréséhez tekintse meg a parancsfájl kézikönyvoldalát (man fonts-config).

Az eljárás ugyanaz bittérképes, TrueType és OpenType, illetve Type 1 (PostScript) betűkészletek esetén. Ezek a betűtípusok mindegyike fonts-config által ismert tetszőleges könyvtárba telepíthető.

Az X.Org két teljesen különböző betűrendszert tartalmaz: a régi X11 alap betűrendszert, illetve az újonnan kialakított Xft és fontconfig rendszert. Az alábbiakban leírjuk a két rendszert röviden.

12.1. Az X11 alap betűkészletek

Manapság az X11 alap betűkészletrendszer nem csak bitképes betűkészletek, hanem méretezhető (Type 1, TrueType, OpenType és CID kulcsú) betűkészletek használatát is támogatja. A méretezhető betűk támogatása csak élsimítás és részpixel-kirajzolás nélkül támogatott és több nyelvnél a betűalakokat tartalmazó betűkészletek betöltése hosszú időt vehet igénybe. A Unicode-betűkészletek is támogatottak, de használatuk lassú lehet, és több memóriát igényel.

Az X11 alap betűkészletrendszer rendelkezik néhány öröklött gyengeséggel. Ez egy elavult rendszer, amely nem terjeszthető ki értelmes módon. A visszamenőleges kompatibilitás érdekében meg kell tartani, de ahol csak lehetséges, a modernebb Xft és fontconfig rendszert kell használni.

A működéshez az X-kiszolgálónak tudnia kell, hogy mely betűkészletek állnak rendelkezésére és ezek a rendszerben hol találhatók. Ezt FontPath változó kezeli, amely az összes érvényes rendszerbetűkészlet-könyvtár elérési útját tartalmazza. Ezekben a könyvtárakban egy fonts.dir nevű fájl a könyvtárban rendelkezésre álló összes betűkészletet felsorolja. A FontPath változót az X-kiszolgáló állítja elő indításkor. Végigkeresi az /etc/X11/xorg.conf konfigurációs fájl minden FontPath bejegyzését egy érvényes fonts.dir fájl után. Ezek a bejegyzések a Files szakaszban találhatók. A tényleges FontPath változó az xset q parancs segítségével jeleníthető meg. Ez az elérési út futás közben az xset parancs segítségével módosítható. További elérési út hozzáadásához használja az xset +fp <path>, eltávolításához pedig az xset -fp <path> parancsot.

Ha az X-kiszolgáló már aktív, akkor a felcsatolt könyvtárakban található, frissen telepített betűkészletek az xset fp rehash parancs segítségével aktiválhatók. Ezt a parancsot a SuSEconfig --module fonts hajtja végre. Mivel az xset parancsnak hozzá kell tudnia férni a futó X-kiszolgálóhoz, ez csak akkor működik, ha a SuSEconfig --module fonts egy olyan parancsértelmezőből van indítva, amelyik hozzá tud férni a futó X-kiszolgálóhoz. A legegyszerűbb mód ennek eléréséhez, ha az su parancs és a root jelszó megadásával szerez root jogosultságot. A su átadja az X-kiszolgáló az indítási felhasználó hozzáférésének jogosultságait a root parancsértelmezőnek. Annak ellenőrzéséhez, hogy a betűkészletek megfelelően telepítésre kerültek-e és hogy rendelkezésre állnak-e az X11 alap betűkészletrendszeren keresztül, az xlsfonts parancs segítségével jelenítse meg a rendelkezésre álló betűkészletek listáját.

Az openSUSE alapértelmezés szerint UTF-8 területi beállításokat használ. Éppen ezért a Unicode-betűkészletek a javasoltak (azok, amelyek neve iso10646-1-re végződik az xlsfonts kimenetében). Az összes Unicode-betűkészlet kiíratható az xlsfonts | grep iso10646-1 paranccsal. Az openSUSE szinte minden Unicode-betűkészletében megtalálhatók legalább az európai nyelvekhez szükséges (korábban iso-8859-*) betűalakok.

12.2. Az Xft

Az Xft programozói a kezdetektől fogva biztosították a méretezhető betűkészletek támogatását, beleértve az élsimítást is. Xft használata esetén a betűkészleteket az őket használó alkalmazások állítják elő, nem az Xkiszolgáló, mint az X11 alap betűrendszerben. Ily módon a megfelelő alkalmazás hozzá tud férni a tényleges betűkészletfájlokhoz és teljes mértékben szabályozhatja a betűalakok előállítását. Ez képezi a többnyelvű szöveg helyes megjelenítésének alapját. A betűkészletfájlok közvetlen elérése nagyon hasznos a betűkészletek nyomtatáshoz való beágyazásához, mert így ellenőrizhető, hogy a nyomtatási kimenet ugyanúgy néz-e ki, mint a képernyőkimenet.

openSUSE alatt a két asztali környezet (a KDE és a GNOME), a Mozilla és számos más alkalmazás alapértelmezés szerint már az Xft-t használja. Az Xft-t már több alkalmazás használja, mint a régi X11 alap betűrendszert.

Az Xft a fontconfig könyvtárat használja a betűkészletek megkereséséhez és az előállításuk szabályozásához. A fontconfig tulajdonságait az /etc/fonts/fonts.conf globális konfigurációs fájl szabályozza. A speciális beállításokat az /etc/fonts/local.conf fájlba, illetve a felhasználóspecifikus ~/.fonts.conf fájlokba kell felvenni. Ezeknek a fontconfig konfigurációs fájloknak az alábbi szöveggel kell kezdődniük:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>

és az alábbi szöveggel kell végződniük:

</fontconfig>

A betűkészletek kereséséhez további könyvtár az alábbi sor hozzáfűzésével vehetők fel:

<dir>/usr/local/share/fonts/</dir>

Erre azonban általában nincs szükség. A felhasználóspecifikus ~/.fonts alapértelmezés szerint már benne van az /etc/fonts/fonts.conf fájlban. Ennek megfelelően további betűkészletek telepítéséhez csak át kell őket másolni a ~/.fonts fájlba.

A betűkészletek megjelenését befolyásoló szabályok is beilleszthetők. Az összes betűkészlet élsimításának letiltásához írja be például az alábbit:

<match target="font">
 <edit name="antialias" mode="assign">
  <bool>false</bool>
 </edit>
</match>

vagy a következőket az adott betűkészletek élsimításának letiltásához:

<match target="font">
 <test name="family">
  <string>Luxi Mono</string>
  <string>Luxi Sans</string>
 </test>
 <edit name="antialias" mode="assign">
 <bool>false</bool>
 </edit>
</match>

A legtöbb alkalmazás alapértelmezés szerint a sans-serif (vagy az egyenértékű sans), serif vagy monospace betűkészletnevet használja. Ezek nem valódi betűkészletek, hanem csak álnevek, amelyek a nyelvi beállítástól függően feloldásra kerülnek a megfelelő betűkészletre.

A felhasználók egyszerűen hozzáadhatnak szabályokat a ~/.fonts.conf fájlhoz ahhoz, hogy ezek az álnevek a kedvenc betűkészletekre legyenek feloldva:

<alias>
 <family>sans-serif</family>
 <prefer>
  <family>FreeSans</family>
 </prefer>
</alias>
<alias>
 <family>serif</family>
 <prefer>
  <family>FreeSerif</family>
 </prefer>
</alias>
<alias>
 <family>monospace</family>
 <prefer>
  <family>FreeMono</family>
 </prefer>
</alias>

Mivel alapértelmezés szerint majdnem minden alkalmazás ezeket az álneveket használja, ezek szinte a teljes rendszerre hatással vannak. A kedvenc betűkészletek majdnem mindenütt egyszerűen használhatók anélkül, hogy módosítani kellene az egyes alkalmazások betűkészlet-beállításait.

Az fc-list parancs segítségével megjeleníthető, hogy mely betűkészletek vannak telepítve és melyek használhatók. Az fc-list például az összes betűkészlet listáját adja vissza. Annak megjelenítéséhez, hogy mely rendelkezésre álló méretezhető betűkészletek (:scalable=true) tartalmazzák a héberhez szükséges betűalakot (:lang=he), mi ezek neve (family), stílusa (style), vastagsága (weight) és a betűkészleteket tartalmazó fájlok neve, adja ki az alábbi parancsot:

fc-list ":lang=he:scalable=true" family style weight

A parancs kimenete az alábbi módon néz ki:

Lucida Sans:style=Demibold:weight=200
DejaVu Sans:style=Bold Oblique:weight=200
Lucida Sans Typewriter:style=Bold:weight=200
DejaVu Sans:style=Oblique:weight=80
Lucida Sans Typewriter:style=Regular:weight=80
DejaVu Sans:style=Book:weight=80
DejaVu Sans:style=Bold:weight=200
Lucida Sans:style=Regular:weight=80

Az fc-list parancs segítségével lekérdezhető legfontosabb paraméterek:

12.1. táblázat - Az fc-list paraméterei

Paraméter

Jelentés és lehetséges értékek

family

A betűcsalád neve, például FreeSans.

foundry

A betűkészlet gyártója, például urw.

style

A betűkészlet stílusa, például Medium (közepes), Regular (hagyományos), Bold (félkövér), Italic (dőlt) vagy Heavy (vastag).

lang

A betűkészlet által támogatott nyelv, német esetén például de, japán esetén ja, hagyományos kínai esetén zh-TW, egyszerűsített kínai esetén pedig zh-CN.

weight

A betűkészlet vastagsága, normál betűkészlet esetén 80, félkövér esetén 200.

slant

A dőlést adja meg, 0 esetén nem dőlt, 100 esetén dőlt.

file

A betűkészletet tartalmazó fájl neve.

outline

Körvonalas betűkészlet esetén true, más betűkészletek esetén false.

scalable

Méretezhető betűkészletek esetén true, másfajta betűkészletek esetén false.

bitmap

Bitképes betűkészlet esetén true, más betűkészletek esetén false.

pixelsize

A betűk mérete képpontban. Az fc-list paranccsal kapcsolatban ennek a paraméternek csak bitképes betűkészletek esetén van értelme.