5.5. Betűtípusok használata az X11-ben

Írta: Stokely, Murray.

5.5.1. Type1 betűtípusok

Az X11-hez tartozó alap betűtípusok nem mondhatóak kifejezetten ideálisnak például egy átlagos asztali kiadványszerkesztő alkalmazás számára. A nagyobb méretű bemutatókon a betűi szögletesen és idétlenül néznek ki, a Netscape®ben megjelenő kisebb betűk pedig szinte teljességgel olvashatatlanok. Viszont manapság már rengeteg szabad, nagyon jó minőségű és könnyen használható Type1 (PostScript®) betűtípus érhető el az X11-hez. Például az URW betűtípus-gyűjtemény (x11-fonts/urwfonts) a szabványos Type1 betűtípusok (Times Roman®, Helvetica®, Palatino® és még sok más) jó minőségű változatait tartalmazza. A Freefonts nevű gyűjtemény (x11-fonts/freefonts) is tartalmaz sok más betűtípust, de a legtöbbjüket inkább csak a Gimpben és a hozzá hasonló grafikai alkalmazásokban tudjuk használni, illetve nincsenek is még kellő mértékben befejezve a hétköznapi munkákhoz. Ezeken felül az X11 minimális ügyeskedéssel beállítható a TrueType® betűtípusok használatára is. Erről részleteket a X(7) man oldalon, illetve a TrueType® betűtípusokról szóló szakaszban olvashatunk.

A Portgyűjteményből az imént említett Type1 betűtípusokat az alábbi parancsok segítségével telepíthetjük:

# cd /usr/ports/x11-fonts/urwfonts
# make install clean

Ugyanígy járjunk el a freefont és a többi gyűjtemény esetén is. Az X szerver akkor fogja észlelni ezeket a betűtípusokat, ha hozzáadjuk a következő sort a konfigurációs állományához (/etc/X11/xorg.conf):

FontPath "/usr/local/lib/X11/fonts/URW/"

Vagy megtehetjük mindezt az X futtatása során is:

% xset fp+ /usr/local/lib/X11/fonts/URW
% xset fp rehash

Ez utóbbi beállítás viszont el fog veszni az X leállításával, hacsak nem vesszük hozzá az indítószkriptjéhez (ez az ~/.xinitrc a startx használata esetén, illetve az ~/.xsession, amikor egy XDM-szerű grafikus bejelentkezést használunk). Ezek mellett használhatjuk a /usr/local/etc/fonts/local.conf állományt is: erről az élsimítással foglalkozó szakaszban szólunk részletesebben.

5.5.2. TrueType® betűtípusok

Az Xorg beépített támogatást tartalmaz a TrueType® betűtípusok rendereléséhez. Két különböző modul valósítja meg ezt a feladatot. Ebben példában a freetype nevű modult használjuk, mivel sokkal jobban illeszkedik a többi betűrenderelőhöz. A freetype modul használatához mindössze az /etc/X11/xorg.conf állomány "Module" szakaszába kell beírnunk a következő sort:

Load  "freetype"

Most pedig hozzunk létre egy könyvtárat a TrueType® betűtípusok számára (ez legyen például a /usr/local/lib/X11/fonts/TrueType), majd másoljuk az összes TrueType® betűtípusunkat ide. Vigyázzunk rá, hogy Macintosh®-ról TrueType® betűtípusok közvetlenül nem hozhatóak át, az X11 számára UNIX®/MS-DOS®/Windows® formátumban kell lenniük. Miután sikerült átmásolnunk az állományokat ebbe a könyvtárba, használjuk a ttmkfdir parancsot a fonts.dir állomány létrehozására, aminek révén az X betűrenderelője tudni fogja, hogy új állományokat telepítettünk. A ttmkfdir x11-fonts/ttmkfdir néven elérhető a FreeBSD Portgyűjteményéből.

# cd /usr/local/lib/X11/fonts/TrueType
# ttmkfdir -o fonts.dir

Ezután adjuk hozzá a TrueType® könyvtárat a betűtípusok könyvtáraihoz. Itt is a Type1 betűtípusoknál leírtak szerint kell eljárnunk, vagyis használjunk a

% xset fp+ /usr/local/lib/X11/fonts/TrueType
% xset fp rehash

parancsot, vagy adjunk hozzá a xorg.conf állományhoz egy további FontPath sort.

Ezzel végeztünk is. Innentől kezdve a Netscape®, Gimp, a StarOffice és mindegyik X alkalmazás fel fogja ismerni a frissen telepített TrueType® betűtípusokat. A nagyon kicsi betűk (egy honlap megtekintése során, nagyfelbontásban) és a nagyon nagy betűk (a StarOffice használatakor) most már sokkal jobban fognak mutatni.

5.5.3. A betűk élsimítása

Frissítette: Clarke, Joe Marcus.

Az X11 által használt, a /usr/local/lib/X11/fonts/ és a ~/.fonts/ könyvtárakban található összes betűtípus élsimítása automatikusan elérhető az Xft-re felkészített alkalmazások számára. A mostanság megjelenő legtöbb alkalmazás, mint például a KDE, GNOME és Firefox, ismeri az Xft-t.

A betűtípusok élsimításának be- és kikapcsolásához, valamint élsimítási jellemzőinek beállításához hozzuk létre (vagy ha már létezne, módosítsuk) a /usr/local/etc/fonts/local.conf állományt. Az Xft betűrendszer számos kifinomult lehetősége hangolható ezzel az állománnyal, amelyekből ebben a szakaszban csupán rövidke ízelítőt fogunk adni. A pontosabb részletekről a fonts-conf(5) man oldalon tájékozódhatunk.

Az állománynak XML formátumúnak kell lennie. Különösen ügyeljünk a kis- és nagybetűkre, illetve győződjünk meg mindig róla, hogy lezártuk-e az összes taget. Az állomány a szokásos XML-fejléccel kezdődik, amelyet egy DOCTYPE definíció követ, majd a <fontconfig> tag:

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

Ahogy azt már korábban is említettük, a /usr/local/lib/X11/fonts és a ~/.fonts/ könyvtárakban található összes betűtípus élsimítása elérhető az Xft-re felkészített alkalmazások számára. Amennyiben ezeken túl még további könyvtárakat is fel kívánunk venni, írjuk bele a /usr/local/etc/fonts/local.conf állományba, nagyjából ilyen alakban:

<dir>/az/en/betu/tipusaim</dir>

Az új betűtípusok, de legfőképpen az új betűtípusokat tartalmazó könyvtárak hozzáadása után a betűkkel kapcsolatos gyorsítótárak frissítéséhez mindenképpen javasolt lefuttatni az alábbi parancsot:

# fc-cache -f

Az élsimítás hatására a betűk kontúrjai egy kissé elmosódnak, aminek köszönhetően a nagyon kis méretű szövegek sokkal olvashatóbbá válnak és eltűnnek a nagy méretű betűkről a lépcsők, azonban a normál méretű betűknél megfájdulhat tőle a szemünk. A 14 pontnál kisebb méretű betűk esetén az alábbi sorok hozzáadásával tudjuk kikapcsolni az élsimítást:

        <match target="font">
            <test name="size" compare="less">
                <double>14</double>
            </test>
            <edit name="antialias" mode="assign">
                <bool>false</bool>
            </edit>
        </match>
        <match target="font">
            <test name="pixelsize" compare="less" qual="any">
                <double>14</double>
            </test>
            <edit mode="assign" name="antialias">
                <bool>false</bool>
            </edit>
        </match>

Bizonyos egyenszélességű (monospaced) betűtípusok élsimítása esetén a betűk távolsága nem megfelelő. Ez leginkább a KDE használata esetén merül fel. Ezt a problémát úgy is orvosolhatjuk, ha az ilyen betűtípusok térközét kézzel 100-ra állítjuk. Ehhez írjuk be a következő sorokat:

       <match target="pattern" name="family">
           <test qual="any" name="family">
               <string>fixed</string>
           </test>
           <edit name="family" mode="assign">
               <string>mono</string>
           </edit>
        </match>
        <match target="pattern" name="family">
            <test qual="any" name="family">
                <string>console</string>
            </test>
            <edit name="family" mode="assign">
                <string>mono</string>
            </edit>
        </match>

(ezzel lefedjük összes rögzített méretű (fixed) betűtípust "mono"-ként), majd vegyük hozzá ezt is:

         <match target="pattern" name="family">
             <test qual="any" name="family">
                 <string>mono</string>
             </test>
             <edit name="spacing" mode="assign">
                 <int>100</int>
             </edit>
         </match>      

Egyes betűtípusoknál, mint például a Helveticánál, gondok akadhatnak az élsimítással. Ez általában egy függőlegesen kettévágottnak látszó betű képében jelenik meg. De ami a legrosszabb, hogy emiatt némely alkalmazás képes összeomlani. Ennek elkerülésére tegyük hozzá még az alábbi sorokat a local.conf állományhoz:

         <match target="pattern" name="family">
             <test qual="any" name="family">
                 <string>Helvetica</string>
             </test>
             <edit name="family" mode="assign">
                 <string>sans-serif</string>
             </edit>
         </match>        

Miután befejeztük a local.conf szerkesztését, ellenőrizzük, hogy szerepel-e az állomány végén a </fontconfig> tag. Ha ugyanis nem zárjuk le rendesen, akkor a változtatásaink érvénytelenné válnak.

Végezetül a felhasználók is megadhatják a saját beállításaikat a saját .fonts.conf állományuk segítségével. Ehhez nem kell mást tenni, mindössze létrehozni egy ~/.fonts.conf XML-állományt.

Még egy utolsó ötlet: LCD képernyők esetén szükségünk lehet az ún. sub-pixel sampling (részképpont mintavételezési) technikára. Ezzel lényegében a (vízszintesen elválasztott) vörös, zöld és kék összetevőket külön-külön kezeljük a horizontális felbontás javítására. Bámulatos eredményeket lehet elérni a segítségével! A bekapcsolásához a következő sorokat kell beszúrnunk valahova a local.conf állományba:

         <match target="font">
             <test qual="all" name="rgba">
                 <const>unknown</const>
             </test>
             <edit name="rgba" mode="assign">
                 <const>rgb</const>
             </edit>
         </match>
      

Megjegyzés:

A megjelenítő fajtájától függően lehet, hogy az rgb értéket bgr-re, vrgb-re vagy vbgr-re kell cserélnünk. Próbálgassuk és kiderül, hogy melyikkel működik jobban.

Ha kérdése van a FreeBSD-vel kapcsolatban, a következő címre írhat (angolul): <questions@FreeBSD.org>.

Ha ezzel a dokumentummal kapcsolatban van kérdése, kérjük erre a címre írjon: <gabor@FreeBSD.org>.