FreeBSD гарын авлага
Prev | Chapter 5 X Цонхот систем | Next

# 5.5 X11 дээр үсгийн маяг хэрэглэх нь

Хамтран бичилцсэн Мюррэй Стөүкли.

## 5.5.1 Type1 төрлийн үсгийн маяг

Х11 тэй хамт ирдэг анхдагч үсгийн маягууд нь ширээний програмуудад тийм сайн тохиромжтой байж чаддаггүй. Том үсэгнүүд нь зарим нь арзайж харагдах, зарим Netscape®-н жижиг үсэгнүүд тийм аятайхан харагддаггүй гэх мэт онцгүй тохиолдлууд тулгардаг. Гэхдээ Х11 дээр хэрэглэгдэх боломжтой үнэгүй өндөр чанарын Type1 (PostScript®) төрлийн үсгийн маягууд байдаг. Жишээ нь URW үсгийн цуглуулганд (`x11-fonts/urwfonts`) өндөр чанарын type1 (Times Roman®, Helvetica®, Palatino® гэх мэтчилэн) үсгийн маягууд орсон байдаг. Мөн Freefonts цуглуулганд (`x11-fonts/freefonts`) маш олон төрлийн үсгийн маяг байдаг бөгөөд ихэнх нь графиктай ажилладаг Gimp зэрэг програмд зориулагдсан болохоор дэлгэцийн харуулах зориулалтанд хэрэглэгддэггүй. Бас Х11 дээр цөөхөн тохиргоо хийгээд TrueType® төрлийн үсгийн маяг хэрэглэдэг болгож болдог. X(7) хуудаснаас юм уу эсвэл TrueType үсгийн маягийн хэсгээс нэмэлт мэдээллүүдийг уншина уу.

Дээрх Type1 үсгийг портын цуглуулгаас суулгахын тулд дараах тушаалыг оруулна:

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

Энэ үйлдлийг бусад цуглуулган дээр мөн адил хийнэ. X серверт эдгээр үсгээ таниулахын тулд тохируулгын файлд (`/etc/X11/xorg.conf`) дараах мөрийг нэмж өгдөг:

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

эсвэл Х ажиллаж байх үед дараах тушаалыг өгч болно:

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

Энэ тушаал нь Х хэсгийг хаагдах хүртэл хүчинтэй бөгөөд ийм байдалд хүргэхгүй гэвэл ачаалах үед уншигддаг эхлэх файлд нэмж өгдөг (`startx`-н эхлэх үед уншдаг файл нь `~/.xinitrc`, харин XDM зэргийн график нэвтрэлт хийдэг програмын эхлэн уншдаг файл нь `~/.xsession` байдаг ). Гурав дахь арга бол шинэ `/usr/local/etc/fonts/local.conf` файл хэрэглэх юм: anti-aliasing хэсгээс уншина уу.

## 5.5.2 TrueType® үсгийн маяг

Xorg нь өөртөө бас TrueType төрлийн үсгийн маягийг харуулах гүйцэтгэлтэй суусан байдаг. Үүнийг гүйцэтгэх хоёр төрлийн гүйцэтгэл бий. Энэ хэсэгт freetype модулийг харуулсан ба нөгөө үсгийн маяг харуулагчийг бодвол илүү тогтвортой билээ. freetype модулийг идэвхжүүлэхийн тулд дараах мөрийг `/etc/X11/xorg.conf` файлын `"Module"` хэсэгт нэмнэ.

    Load  "freetype"

Одоо TrueType үсгийн маягт зориулсан сан үүсгээд (жишээлбэл `/usr/local/lib/X11/fonts/TrueType`) бүх TrueType үсгүүдээ тэр санд хуулна. Macintosh® машинаас TrueType төрлийн үсгийн маягийг шууд хуулж болохгүй гэдгийг анхаарах хэрэгтэй. Эдгээр нь Х11 дээр хэрэглэгдэхийн тулд UNIX®/MS-DOS®/Windows® хэлбэрийнх байх ёстой. Тэр санд хуулсныхаа дараа ttmkfdir-г ашиглаж `fonts.dir` файл үүсгэдэг бөгөөд ингэснээр Х-н үсэг харуулагч нь шинэ файл суугдлаа гэдгийг таньдаг. `ttmkfdir` нь FreeBSD-н портын цуглуулганд `x11-fonts/ttmkfdir` гэж буй.

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

Одоо TrueType санг үсгийн маягийн таних замд нэмэх ёстой. Энэ нь дээр Type1 үсгийн маягт дээр өгүүлсэнтэй ижилхэн

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

гэж нэмэх юм уу эсвэл `xorg.conf` файл дотор `FontPath` гэж нэмнэ.

Ингээд болох нь тэр. Одоо Netscape, Gimp, StarOffice™, гэх мэтчилэн бүх X програмууд суугдсан TrueType үсгийн маягуудыг таних ёстой. Маш бага хэмжээтэй (өндөр нарийвчлалтай дэлгэц дээр үзүүлэгдэх вэбийн текстүүд) эсвэл маш том үсэгнүүд (StarOffice дээр) арай илүү харагдана.

## 5.5.3 Anti-Aliased үсгийн маяг

Шинэчилсэн Жо Маркус Кларк.

Anti-aliasing үсгийн маягууд Х11 дээр XFree86™ 4.0.2-с эхлэн боломжтой болсон. Гэхдээ XFree86 4.3.0 хүртэл үсгийн маяг тохируулах нь төвөгтэй байв. XFree86 4.3.0-с эхлэн Х11 дээр `/usr/local/lib/X11/fonts/` ба `~/.fonts/` дотор байрласан бүх үсгийн маягууд автоматаар anti-aliasing гэж Xft-нийцтэй програмд хэрэглэгдэх боломжтой болсон. Бүх програмууд Xft-нийцтэй биш боловч ихэнх нь Xft-г дэмжсэн байдаг. Хft-нийцтэй програмууд бол Qt 2.3 ба түүнээс дээшхи хувилбарууд (KDE ширээний орчинг хөгжүүлэхэд хэрэглэгддэг багаж хэрэгслүүд), GTK+ 2.0 ба түүнээс дээшхи хувилбарууд ( GNOME ширээний орчинг хөгжүүлэхэд хэрэглэгддэг багаж хэрэгслүүд), мөн Mozilla 1.2 ба түүнээс дээшхи хувилбарууд юм.

Ямар үсгийн маягууд нь anti-aliased болохыг хянах эсвэл anti-aliasing шинж чанаруудыг тохируулахын тулд `/usr/local/etc/fonts/local.conf` файлыг үүсгэх (хэрэв байвал засварлах) хэрэгтэй. Xft үсгийн маягийн системийн хэд хэдэн шинж чанарууд энэ файлаар тохируулагддаг бөгөөд энэ хэсэгт зөвхөн энгийн хэдийг жишээ татах болно. Дэлгэрэнгүй мэдээллийг fonts-conf(5) хуудаснаас харна уу.

Энэ файл нь XML хэлбэрийн байх ёстой. Том жижиг үсгийн хэмжээнд нь анхааралтай хандах хэрэгтэй. Мөн нээгдсэн таглааг бас зөв хаасан байх ёстой. Энэ файл эхлэхдээ энгийн DOCTYPE тодорхойлолтоор эхэлдэг бөгөөд дараа нь `<fontconfig>` таглаа араас нь залгаж явдаг:

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

Өмнө хэлсэнчлэн `/usr/local/lib/X11/fonts/` болон `~/.fonts/` санд байгаа үсгийн маягууд автоматаар Xft-нийцтэй програмд танигддаг. Та үүнээс өөр санд үсгийн маяг байрлуулсан бол `/usr/local/etc/fonts/local.conf` файлд доор дурдсантай ижил мөр оруулж өгөх хэрэгтэй:

    <dir>/үсгийн/маягийн/байгаа/сангийн</зам>

Шинэ үсэг, ялангуяа шинэ сан нэмсний дараа үсгийн маягийн түр хадгалагдсан орон зайг дараах тушаалаар сэргээх ёстой:

    # fc-cache -f

Anti-aliasing нь ирмэгийг жаахан уусгаж зөөлрүүлэн харагдуулдаг болохоор жижиг үсгүүдийг уншихад эвтэйхэн болгодог бөгөөд том үсгийн “шаталсан ирмэгийг” зөөллөж гөлийлгөдөг. Иймэрхүү зөөллөсөн шинэ чанар нь ердийн текст дээр хэрэгжихээр нүдэнд ядаргаатай өвтгөх нөлөө үүсгэж магадгүй юм. Тэгэхээр 14-н хэмжээнээс бага үсгийн маяганд anti-aliasing шинж чанарыг хэрэглэхгүй гэж бодвол дараах мөрийг оруулаарай:

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

Жигд зай авалттай үсгийн маяганд anti-aliasing шинж чанар зөв хэрэгжихгүй байж магадгүй. Энэ асуудал KDE дээр их тулгардаг. Үүний засах нэг арга бол тийм үсгүүдийн зай авалтыг 100 байх ёстой гэж зааж өгдөг. Дараах мөрийг нэмж үүнийг гүйцэтгэнэ:

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

(энэ нь бусад ердийн ижил зай авалттай үсгийн маягуудыг `"mono"` гэсэн нэрээр хандана гэж зааж өгч байна) тэгээд дараа нь:

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

Helvetica зэрэг зарим үсгийн маягуудад anti-aliased хэрэглэх үед бага зэрэг хүндрэлүүд гарч болзошгүй. Энэ загвар нь тийм үсгийн маягуудын талыг нь хасах шинж илэрдэг. Бүр таарахгүй муудах үед Mozilla зэргийн програмууд ажиллах үедээ нурдаг. Үүнээс сэргийлэхийн тулд `local.conf` файлд дараах мөрийг нэмнэ:

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

`local.conf` файлыг засварлаж дуусаад уг файлыг `</fontconfig>` таглаагаар дууссан эсэхийг шалгаарай. Ингээгүй бол уг файлын өөрчлөлтийг үл хэрэгсэж хэрэгжүүлдэггүй.

Х11-тэй анх ирдэг үсгийн маягуудад anti-aliasing хэрэглэхэд тийм аятайхан харагддаггүй. Арай илүү анхдагч үсгийн маягийг `x11-fonts/bitstream-vera` портоос суулгаж болно. Энэ порт нь суугдах үедээ хэрэв `/usr/local/etc/fonts/local.conf` файл байхгүй бол мөн суулгадаг. Хэрэв файл өмнө нь байвал энэ порт `/usr/local/etc/fonts/local.conf-vera` гэсэн файл үүсгэдэг. Үүний дотор байгааг `/usr/local/etc/fonts/local.conf` файл уруу нийлүүлбэл Bitstream үсгийн маягтууд автоматаар X11 Serif, Sans Serif, болон Monospaced үсгийн маягтуудын оронд сууж анхдагч үсгийн маяг нь болдог.

Эцэст нь хэрэглэгчид өөрсдийн гэсэн тохируулгаа хувийн сан дотор буй `.fonts.conf` файл дотор хийж болдог. Ингэхийн тулд хэрэглэгч бүр `~/.fonts.conf` файл үүсгэх хэрэгтэй. Энэ файл нь мөн XML хэлбэртэй байх ёстой.

Сүүлчийн үг: LCD дэлгэцтэй үед sub-pixel харуулалт хэрэглэх хүсэлт гарч болзошгүй. Энэ нь үндсэндээ (хэвтээ чиглэлд нь салгасан) улаан, ногоон болон цэнхэр өнгийн бүрдлүүдийг тусад нь салгаж харуулснаар хэвтээ чиглэлийн дүрслэх чадварыг сайжруулдаг. Үр дүн нь мэдээж маш сайн харуулалт үүсдэг. Ингэж зөвшөөрүүлэхийн тулд `local.conf` файлд дараах мөрийг нэмнэ:

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

> Note: Дэлгэцийн төрлөөс хамаарч `rgb` нь `bgr`, `vrgb` эсвэл `vbgr` гэж өөрчлөгдөж болзошгүй тул янз янзаар нь туршиж аль нь илүү тохирч байгааг олоорой.

Дараагийн удаа Х-г эхлэх үед Anti-aliasing зөвшөөрөгдсөн байх болно. Гэхдээ програмууд энэ шинж чанарын давуу талыг ашиглах хэрэгтэй. Одоогийн байдлаар Qt хэрэгсэл үүнийг ашигладаг. Энэ нь KDE орчны бүх үсгийн маягт anti-aliased хэрэгжүүлдэг. Мөн GTK+ үүнийг ашиглан GNOME дээр “Font” програмаар ( Section 5.7.1.3 дээр дэлгэрэнгүй мэдээлэл буй) үсгийн маягтдаа anti-aliasing хэрэгжүүлдэг. Анхныхаа тохиргоогоор Mozilla 1.2 болон түүнээс дээшхи хувилбарууд нь автоматаар anti-aliasing-г ашигладаг. Үүнийг хорихын тулд Mozilla-г `-DWITHOUT_XFT` гэсэн сонголттой хөрвүүлж бэлдэх хэрэгтэй.

Prev | Home | Next
X11-н тохируулга | Up | X Display Manager буюу харуулалт зохицуулагч

Энэ болон бусад баримтуудыг ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ хаягаас татаж авч болно.

FreeBSD-ийн талаар <questions@FreeBSD.org> хаягтай холбоо барихаасаа өмнө баримтыг уншина уу.
Энэ бичиг баримттай холбоотой асуулт байвал <doc@FreeBSD.org> хаягаар цахим захидал явуулна уу.
Энэ бичиг баримтын орчуулгатай холбоотой асуулт байвал <admin@mnbsd.org> хаягаар цахим захидал явуулна уу.