HOGYAN állítsunk be szép betűket az XFree86 alatt?

Doug Holland, meldroc@frii.com

v1.0, 1999. november 23.
Hogyan javítsunk a ronda és olvashatatlan X Window betűkészletek minőségén?

1. Bevezetés

Az egyik legidegesítőbb problémakör, amivel találkoztam, az X alapértelmezett betűkészletei és a betűkészletek beállítása. (Most csak az XFree86-ról beszélek, más X verziók jobbak lehetnek.) Sok program használ állandó szélességű betűkészletet, amikor a változó szélességű jobban megfelelne. Más programok nevetségesen kicsi, olvashatatlan betűtípusokat használnak. Az XFree86-hoz adott betűkészletek aligha felenek meg az elvárásoknak. A Courier betűtípus úgy-ahogy jónak nevezhető, de Times és a Helvetica egyszerű bittérképes betűtípusok, amelyeknek recés lesz a szélük, ha nagyobb méretben jelenítjük meg. Pfuj!

Ez a HOGYAN megpróbálja bemutatni a különféle fontbeállítások finomhangolásának módját, új betűkészletek telepítését, és egyéb dolgokat, amelyek nagymértékben javítják az X Window betűinek megjelenését és olvashatóságát. Szó lesz az XF86Config fájlban levő FontPath beállításáról, az X-szerver parancssori kapcsolóiról, akár a startx indítja, akár az xdm, tárgyalni fogom új betűkészletek telepítését, az xfstt TrueType fontszerver telepítését és a KDE 1.1 egy tulajdonságát, amely lehetővé teszi, hogy a nem KDE alkalmazások is átvegyék a KDE-ben beállított betűtípusokat és stílusokat.

Szívesen veszem a javításokat, megjegyzéseket és a kritikát. Elérhető vagyok az meldroc@frii.com drótpostacímen.

1.1 Változások

2. Az XF86Config fájl

Az első hely, ahol a fontproblémák gyógyszerét keresheted, az XF86Config fájl. (Szokásos megtalálási helyei: /usr/X11/lib/X11/XF86Config vagy /etc/X11/XF86Config.) Ha még nem találtad volna ki, a betűkészletekkel kapcsolatos legfontosabb rész a FontPath. Mielőtt hozzálátnál a piszkálásához, itt a remek alkalom, hogy átnézd az X konfigurációjának egyéb részeit. A helytelen monitorbeállítások még a rossz betűknél is több fejfájást okozhatnak, úgyhogy győződj meg arról, hogy a frissítési frekvencia a legnagyobb, amit a monitorod kezelni tud (85 Hz nagyszerű, 75 Hz rendben van, 60 Hz fájdalmas).

2.1 A FontPath beállítása

Nyisd meg az XF86Config fájlt kedvenc szövegszerkesztőddel. Valahol a fájl elején valami ilyesmit találsz majd:

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/"                             

A FontPath mondja meg az X-nek, hogy hol kell keresnie a betűkészleteket, amikor szöveget akar megjeleníteni a képernyőn. A sorrend lényeges -- amikor egy X alkalmazás megkéri az X-et egy szöveg megjelenítésére, az X-szervernek van némi szabadsága a használandó betűtípus kiválasztásában. Végigmegy a FontPath által kijelölt könyvtárakon, és a az első betűkészletet, ami megfelel az alkalmazásnak, kiválasztja és megjeleníti.

Az alapértelmezett FontPath általában a 75dpi-s betűket a 100dpi-sek elé rakja. Ha nagyfelbontású képernyőt használsz, akkor így nagyon kicsit lesznek a betűk. Az első trükk az, hogy fel kell cserélni az 75dpi-re és a 100dpi-re vonatkozó sorokat.

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/100dpi/"
FontPath        "/usr/X11R6/lib/X11/fonts/75dpi/"

Következő lépés, hogy megadd, hogy jobban szereted, ha a bittérképes betűket nem nagyítja vagy kicsinyíti az X. Ha használtál már valaha Netscape-et, vagy más programot, amely a címeket nagy méretben jeleníti meg, észrevehetted, hogy a betűk széle recés. Ez nagyon csúnya és javítandó. Ezért add hozzá az :unscaled szót a misc, a 100dpi-s és a 75dpi-s betűk könyvtárait megadó sorok után. Ettől még használhatod az átméretezett betűket is, ha szeretnéd, de ha az ``unscaled'' FontPath sorok vannak elöl, akkor ezzel közlöd az X-szel, hogy ha lehetséges, ne méretezze át a betűket.

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

A változtatások után indítsd újra az X-et. Ugye máris jobban néz ki?

3. Az X-szerver parancssori kapcsolói

A következő dolog, amit meg kell tenned, az X-szerver parancssori kapcsolóinak beállítása. A -dpi kapcsolót kell használni a képernyő felbontásának beállításához, ez megadja a felbontást pont/inch-ben. Mivel sok rendszer használ nagyfelbontású képernyőket mostanában, jó esély van arra, hogy működni fog 100dpi-n.

Ha a konzol parancssorából indítod az X-et, írd be:

startx -- -dpi 100

Ha az xdm programot használod a grafikus bejelentkezéshez, akkor a /usr/X11/lib/X11/xdm/Xservers fájlt kell módosítani. Ebben van egy sor, amely az X-szervert indítja. Az én rendszeremen ez a sor a következő:

:0 local /usr/X11R6/bin/X -dpi 100 -gamma 1.6

További információk az X és az X-szerver kézikönyvoldalain olvashatóak.

4. TrueType betűkészletek (egy dolog a kevésből, amire jó a Windows)

Mivel a redmondi fiúk nagyon a szívükön viselik a programjaik kinézetét (ellentétben a belső működéssel), beépítették a TrueType betűkészletek támogatását a Windowsba. A Windows 95 és szinte mindegyik Windows változat tartalmazza az Arial, a Times New Roman és a Courier New betűkészleteket, amelyek nagyjából megfelelnek a Helvetica, a Times és a Courier betűkészleteknek. A TrueType betűket lehet kicsinyíteni és nagyítani anélkül, hogy a minőségük romlana. Sok Windows alkalmazás tartalmaz TrueType betűkészleteket. Ne dobd még ki a Windows CD-t, először szedd le róla a betűkészleteket.

4.1 xfstt

Sajnos az XFree86 nem rendelkezik beépített TrueType támogatással, ezért saját magadnak kell hozzáadnod ezt. A legegyszerűbb módja ennek az xfstt használata. Az xfstt egy ingyenes és szabad forráskódú TrueType fontszerver.

Telepítés

Az xfstt-t nagyon egyszerű telepíteni. Először le kell tölteni az összecsomagolt fájlokat a webről. A legfrissebb verzió megtalálható a http://metalab.unc.edu/pub/Linux/X11/fonts/Xfstt-0.9.10.tgz címen.

Csomagold ki a következő paranccsal:

tar -zxvf Xfstt-0.9.10.tgz

Ezután fordítsd le és telepítsd. Olvasd el az INSTALL fájlt, ha nem tudod, hogyan kell, de igazán nem kell sok ész hozzá. A make; make install minden, amit tenni kell. Ha ezzel kész vagy, akkor másold be a különböző helyekről beszerezhető TrueType betűkészleteket az /usr/ttfonts könyvtárba, és már indíthatod is a programot a következő paranccsal:

xfstt --sync        # frissíti az xfstt betűkészlet-adatbázisát
xfstt &             # a háttérben futtatja az xfstt-t

Ezután írd be:

xset +fp unix/:7100 # ez megmondja az X-nek, hogy vegye figyelembe az xfstt-t

A másik lehetőség, hogy hozzáadod a

FontPath "unix/:7100"

sort az XF86Config fájlhoz, a hatás ugyanaz.

Az alapértelmezett betűméret beállítása

Ha a megjelenő TrueType betűk nagyon kicsik, a következő parancsok segítenek.

Add hozzá a -dpi kapcsolót az X-szerver parancssorához (ahogy a 3. fejezetben olvasható).

A --res kapcsoló használatával ráveheted az xfstt-t, hogy nagyobb felbontással dolgozzon. Írd be a következő parancsot:

xfstt --res 120

4.2 xfs

Az xfs egy másik fontszerver, amelyet a Red Hat alapú disztribúciókba tesznek bele újabban. Az xfs a FreeType Font könyvtáron alapul, és hasonló szolgáltatásokat nyújt, mint az xfstt. Az xfs képes kezelni a TrueType, Type 1 valamint az X-es betűkészleteket.

Telepítés

Először néhány TrueType betűkészletet kell a linuxos fájlrendszerre telepíteni. Rootként hozd létre a könyvtárat, ahol majd a betűkészleteket tárolod:

mkdir /usr/share/fonts/ttfonts

Ezután másolj bele betűkészleteket, akár a Windowsból:

cp /mnt/win/path_to_fonts/*ttf  /usr/share/fonts/ttfonts/

vagy töltsd le őket a Microsofttól.

Ezek a betűkészletek önkicsomagoló zip archívumokban vannak. Ennek ellenére ki tudod őket csomagolni linux alatt:

unzip <TTFONT.EXE>

Ne feledd, hogy a fontfájlok neveinek kisbetűseknek kell lenniük. A konvertálás gyorsan és egyszerűen megoldható úgy, hogy egy DOS (FAT16) fájlrendszerre másoljuk a fájlokat, majd vissza, mivel a DOS nem használja a nagybetűket. Linuxosabb megoldás is létezik. Lépj be a betűkészleteket tartalmazó könyvtárba, és írd be ezt:

ls *TTF | while read f
do
 [ -f "$f" ] && mv -f "$f" "`echo \"$f\" | tr A-Z a-z`"
done

Egy ``>'' fog megjelenni minden sor elején, ahogy gépelsz. Üsd le az Entert minden sor bevitele után. Ne feledd, hogy minden idézőjelnek és fordított aposztrófnak fontos szerepe van! Ha a TrueType betűkészleteket sikerült helyesen telepíteni, még mindig rootként add ki a

ttmkfdir -o fonts.scale
mkfontdir

parancsokat. Ezeket mindig le kell futtatni, ha a betűkészleteket tartalmazó könyvtár tartalma megváltozik. Utána módosítsd az xfs konfigurációs fájlját (/etc/X11/fs/config), add hozzá a TrueType betűkészleteket a szerver listájához:

catalogue = /usr/X11R6/lib/X11/fonts/misc:unscaled,
            /usr/X11R6/lib/X11/fonts/100dpi:unscaled,
            /usr/X11R6/lib/X11/fonts/75dpi:unscaled,
            /usr/X11R6/lib/X11/fonts/misc,
            /usr/X11R6/lib/X11/fonts/Type1,
            /usr/X11R6/lib/X11/fonts/Speedo,
            /usr/share/fonts/default/Type1,
            /usr/share/fonts/ttfonts,
            /usr/X11R6/lib/X11/fonts/100dpi,
            /usr/X11R6/lib/X11/fonts/75dpi

Ezen kívül használhatod a 'chkfontpath --add <font>' parancsot is ugyanerre a feladatra. Ha már itt vagy, esetleg megváltoztathatod az alapértelmezett betűnagyságot is.

default-point-size = 140

Ez 14 pontos betűnagyságot eredményez az eredetileg alapértelmezett 12 pont helyett. Néhány X alkalmazás használja ezt az értéket, mások nem. Ezután ellenőrizd, hogy az /etc/X11/XF86Config fájl FontPath sora a következő-e:

FontPath "unix/:-1"

A "unix/:7100" szintén jó lehet, de ez nem működött az eredeti kiadással. Kommentezz ki minden egyén FontPath bejegyzést a '#' jellel, mert ezekre már nem lesz szükséged. Az xfs csomagnak már telepítve kell lennie a többi XFree csomaggal együtt. Győződj meg róla, hogy el fog-e indulni, mint az alapvető szolgáltatások egyike. Használd az ntsysv-t vagy a következő parancsot:

chkconfig --add xfs

Ezek után az xfs el fog indulni minden rendszerindításkor. Most pedig indítsd újra az X-et, hogy tudomásul vegye az új FontPath bejegyzést, és indítsd el (vagy újra) az xfs-t:

/etc/rc.d/init.d/xfs restart

A fontszervernek ezek után működnie kell. Ellenőrizheted, hogy milyen fontokat ismer:

xlsfonts | less

vagy vizsgáld őket tovább az xfontsel programmal, vagy még inkább a gfontsel programmal!

5. KDE

A KDE az egyik legjobb dolog, ami a Linux-szal és az X-szel történt az utóbbi időben. Egységes felhasználói felületet biztosít, amely nagyban segít abban, hogy a Linuxot az átlagember is használhassa. A KDE-ről további információk a KDE honlapon érhetőek el ( http://www.kde.org/). Miért zengek dicshimnuszokat? Azért, mert a KDE 1.1 egy új sajátossága, hogy a progjamjaid által használt színeket és betűket az aktuális KDE stílushoz igazítja, akkor is ha nem KDE alkalmazásról van szó.

5.1 KDE betűk és színek használata nem KDE alkalmazásokban

Ez nagyon könnyű. Egyszerűen indítsd el a KDE Beállító Központot, nyisd meg Munkaasztal struktúrát és válasz ki a Stílust. Ezen a párbeszédablakon lesz egy kapcsoló: ``Alkalmazza a szín és betűtípus beállításokat a nem-KDE alkalmazásokra is.'' Ezt be kell ikszelni, és kész! Ha legközelebb elindítasz egy X alkalmazást, ugyanazokat a színeket és betűtípusokat fogja használni, mint amelyeket a KDE alkalmazások használnak. Néhány ember szereti ezt, egyesek nem, de szerencsére bármikor ki lehet kapcsolni.

6. Egyes alkalmazások fontbeállításai

6.1 Netscape Navigator/Communicator

A Netscape Communicator különlegesen érzékeny a fontproblémákra. Ha az alapértelmezett FontPath beállítást használod, akkor a betűk kicsik és nagyon csúnyák lesznek. Az első, amit meg kell tenned, a FontPath kiigazítása (lásd a 2. fejezetet). A 100dpi-s betűk használata rendkívüli mértékben javítja az olvashatóságot. Szintén érdemes megnézni a fontbeállításokat az Edit/Preferences menüben az Appearance/Fonts alatt. Az ``Allow Scaling'' kikapcsolásával megszabadulhatsz a recés szélű betűktől.

Ha fut az xfstt vagy az xfs, akkor a Netscape teljesen alkalmas a TrueType betűkészletek megjelenítésére. Megjegyzendő, hogy az xfstt hülyeségeit rosszul tolerálja a Netscape. Az Edit/Preferences menüben megadhatsz TrueType fontokat fix szélességű és változó szélességű betűként, de a méretüket nem fogja megjegyezni, miután bezártad a Netscape-et. Ha nem használtad a -dpi kapcsolót az X Window indításakor, illetve nem használtad az xfstt --res kapcsolóját, akkor a betűk mérete igen kicsi lesz. Miután kijavítottam ezt a két dolgot, a TrueType betűk nagyszerűen működtek.

6.2 WordPerfect

Hamarosan elkészül.

6.3 StarOffice

Hamarosan elkészül.

7. Közreműködők

Készítette: Doug Holland meldroc@frii.com -- http://www.frii.com/~meldroc/.

Fordította: Tímár András atimar@itp.hu.

További hozzájárulók:

Köszönetemet szeretném kifejezni

8. Szerzői jogok

Copyright © Doug Holland, 1999.

Hungarian translation © Tímár András, 1999.

A Linux HOGYAN dokumentumok szerzői joga a megfelelő szerzőké, hacsak másképp nem rendelkeznek. A Linux HOGYAN dokumentumokat szabad részben vagy egészben másolni és terjeszteni bármilyen fizikai vagy elektronikus adathordozón, de ezt a szerzői jogokra vonatkozó megjegyzést minden másolathoz mellékelni kell. Az üzleti célú terjesztés megengedett és bátorított, de a szerző szeretne tudomást szerezni minden ilyen terjesztésről.

Minden Linux HOGYAN-on alapuló fordítás, származtatott mű vagy összefoglaló munka ezen szerzői jogi kötelmek alá kell essen. Ez azt jelenti, hogy nem szabad olyan HOGYAN-on alapuló művet létrehozni, amely további megkötéseket tartalmaz a terjesztésre. Bizonyos feltételek esetén ezek a szabályok figyelmen kívül hagyhatóak, erről a Linux HOGYAN koordinátor ad felvilágosítást.

Röviden megfogalmazva, szeretnénk, ha az információ minél több csatornán elterjedne, de szeretnénk megtartani a HOGYAN dokumentumok szerzői jogát, és szeretnénk értesülni bármilyen terjesztési tervről, különösen ennek a példánynak a terjedéséről! A weblapok szerzői egész nyugodtan rakjanak ki egy hivatkozást erre a HOGYAN-ra, de a szerző azt szeretné, hogy ha drótpostán értesítenék erről, mert így megtudná hogy ki mindenki olvassa és hivatkozza ezt az írást.

A dokumentumban sok törvény által védett kifejezés szerepel. Hacsak másképp nem mondjuk, az összes védjegy a megfelelő tulajdonos tulajdona.