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.
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).
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?
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.
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.
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.
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.
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
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.
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!
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ó.
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.
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.
Hamarosan elkészül.
Hamarosan elkészül.
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
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.