5.5. Betűtípusok használata az X11-ben
Vissza | 5. fejezet - Az X Window System | Előre

## 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.

Vissza | Fel | Előre
5.4. Az X11 beállítása | Főoldal | 5.6. Az X bejelentkeztető képernyője

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>.