NASIL Archlinux Xorg Yazıtipi Ayarları

From Lapis Wiki

Jump to: navigation, search
Bu makale NASIL bölümü serisinin bir parçasıdır
MasaÜstü Donanım Dağıtımlar
Tarayıcılar Programlama Linux ve Oyunlar

Konu başlıkları

X.org Yazıtipi Ayarları ve Güzelleştirilmesi

xorg.conf modulleri

  • freetype - True Type (ttf, ttc), Type1 (pfa, pfb), CID (cid), CFF, Open Type, bitmap (bdf, pcf, snf), Windows (fnt), PFR, ve Type42 yazıtiplerini destekler.
  • type1 - Type1 (pfa, pfb) ve CID (cid) yazıtiplerini destekler.
  • speedo - Bitstream Speedo (spd) yazıtiplerini destekler.
  • xtt - True Type (ttf, ttc) yazıtiplerini (freetype ile çakışır.) destekler.
  • bitmap - Bitmap (bdf, pcf, snf) yazıtiplerini destekler.

Görüldüğü üzere istenilen herşeyi freetype desteklemektedir. Tüm diğer modüller yerine freetype tek modül olarak bunu karşılar. Buna ek olarak xtt ise freetype ile çakışmaktadır.

X.org Yazıtipleri Dizini ve /etc/fonts/

xorg.conf font dizini

xorg.conf içerisinde belirtilen yazıtipleri dizinleri XFT olmayan yazıtiplerini ifade etmek için kullanılır. Öncelikli olan yazıtiplerini burada belirtmek önemlidir. XFT yazıtipini desteklemeyen uygulamalar bu kısımdaki dizinleri atlayıp Xserver'ın yazıtipi dizinine bakacaktır. Genelde xorg.conf içerisinde minimum düzeyde yazıtipi dizini belirlenir. Bunlarda xterm veya bu tarz XFT kullanan uygulamalar için olur.

/etc/fonts/ yazıtipi dizinleri

/etc/fonts altında bulunan conf dosyaları (fonts.conf ve local.conf) XFT yazıtipleri için konfigürasyonları belirlemek için kullanılır. fonts.conf hiçbir şekilde değiştirilmemelidir. Sistem genelini etkileyecek tüm değişiklikler local.conf dosyası içerisinde yapılmalıdır. Ya da kullanıcı bazlı olarak ~/.fonts.conf dosyasında yapılabilir. /etc/fonts/conf.d içerisindeki dosyalar kaynak dosyalarıdır. Bir numara ile başlar ve .conf şeklinde biterler.

fonts.conf içerisinde belirtilen dizinler , yazıtipi yapılandırması için kullanılmak üzere fc-cache tarafından taranırlar.(/usr/share/fonts ve ~/.fonts). Tüm yazıtipleri bu dizinler altında belirtilmelidir. Bu dizinlere atılan yeni yazıtipleri sonrası çalıştırılan fc-cache -fv, tüm bu değişiklikleri tarayıp algılayacaktır.

Yeni Yazıtipleri Eklemek

Sistem içerisine yeni yazıtipleri eklendiği zaman bunlar sadece birer dosyadan ibarettir. Sisteme yeni yazıtiplerinin aktarıldığını anlatmak için belirli uygulamaların çalıştırılması gerekmektedir.

/usr/bin/fc-cache

Bu uygulama yazıtipleri konfigürasyon deposunu güncelleyecektir.Eklenmiş olan yeni yazıtipleri bu tarama sırasında sisteme yazıtipi olarak eklenmiş olacaktır.(Yukarıdaki /etc/fonts bölümüne bakabilirsiniz.)

/usr/bin/mkfontscale
/usr/bin/mkfontdir
ln -s /usr/X11R6/lib/X11/fonts/encodings/encodings.dir encodings.dir

Bu araçlar yeni yazıtiplerinin eklendiği dizin içerisinde çalıştırılması gereken komutları içerir. mkfontscale, fonts.scale isimli bir dosya yaratır. mkfontdir ise fonts.dir isimli dosyayı yaratır. Bu dosyalar Xserver tarafından kullanılan dosyalardır. Bundan sonra yapılması gereken ise Xorg yazıtipleri dizininde yer alıp almadığı olacaktır. Encodings linki Xserver'ın bu yeni yazıtiplerini her şekilde desteklenen bir encoding olarak kullanmasını sağlar. Tüm bunlardan sonra yazıtipi dizininizde 3 adet dosya bulunacaktır: fonts.scale, fonts.dir, ve encodings.dir

fc-list ve xlsfont araçları

Bu araçlar, her yazıtipi alt sisteminde yer alan tüm yazıtiplerini komut satırında listeler. xlsfont tüm X yazıtiplerini listelerken, fc-list yazıtipleri konfigürasyonunda yer alan tüm fontları listeler. grep komutu ile birleştiği zaman oldukça kullanışlı bir konfigürasyondur, örn: "xlsfonts || grep -i bitstream" komutu ile mevcut tüm bitstream fontlar listelenebilir.

İndirmek İçin Bazı Fontlar

[1] [2] [3] [4]

Ek Olarak Yapılabilecekler

Herşeyi Düzgün Ayarlamama Rağmen Yazıtipleri Hala Düzgün Gözükmüyor

Bunu düzeltmek için aşağıdaki yazıtipi paketlerinin yüklenmesi tavsiye edilir:

pacman -S ttf-ms-fonts ttf-cheapskate artwiz-fonts

Uygulamalarım Gtk+ 2.2 ve Altına Uygun Olarak Derlenmiş Olmasına Rağmen Yazıtipleri Kötü Gözüküyor

Bu olabiliyor. Modern GTK uygulamaları Xft'yi varsayılan olarak aktif ediyorlar. Nasılsa bu 2.2 öncesinde bir sorun teşkil etmiyordu. Belki bu uygulamalar yeni GTK'ya güncellenmelidirler. Eğer bu bir seçenek değilse, o zaman export GDK_USE_XFT=1 satırlarını global ayar dosyalarına ekleriz. (/etc/profile, /etc/profile.d/gnome.sh, ~/.xinitrc, vs..) Böylelikle Xft ve eski uygulamalara desteği sağlayabiliriz.

Qt bazlı uygulamalar için yukarıdakine benzer bir problemim var.

Benzer bir çözüm, export QT_XFT=true satırlarını ekleyebilirsiniz.

KDE kullanırken Gtk uygulamalarının yazıtipleri çok küçük oluyor.

gtk-qt-engine paketini yükleyin:

  • # pacman -Sy gtk-qt-engine
  • `Denetim Masasında' Gtk uygulamalarının yazıtipi boyutunu değiştirin -> `Görünüm & Temalar' -> `GTK Stil ve Yazıtipleri'.

Bytecode interpreter özelliği yazıtiplerimi kötü gösteriyor. Tekrar derlemem gerekir mi?

Hayır gerek yoktur. Sadece freetype'ın auto-hinting özelliği kapanmıştır. Bazı dağıtımlarda , bytecode interpreter derlenmiş ve varsayılan olarak aktif edilmiştir. Sonuç olarak, bytecode interpreter freetype'ın autohinter özelliğinin üzerine yazmaktadır.(ki bu geliştiricilerin gurur duyduğu bir konudur).Autohinter'ın tekrar aktif olması için, aşağıdakileri /etc/fonts/local.conf veya ~/.fonts.conf dosyalarının içerisine ekleyebilirsiniz.

     <match target="pattern">
        <edit name="autohint" mode="assign">
           <bool>true</bool>
        </edit>
     </match>

Bytecode interpreter, autohinter'a göre daha üstün olmasına rağmen hala insanlar neden autohinter isterler anlaşılamamaktadır.

Autohint gayet güzel çalışıyor fakat kalın yazıtiplerinde sorun çıkarıyor.Sadece kalın yazıtipleri için devre dışı bırakabilir miyim?

Autohinter özelliği yazıtiplerini güzel gösterir ama genelde yazıtiplerini çok geniş gösterir.Bu özellikle kalın yazıtiplerinde çekilmez bir hal alır. Neyse ki kalın yazıtipleri için autohinter özelliğini kapatabilirsiniz.Aynı zamanda geri kalan yazıtipleri için autohinter kullanmaya devam edersiniz.

  • Önce yukarıdaki şekilde autohinter özelliğini aktif edin. Sonra aşağıdakileri /etc/fonts/local.conf veya ~/.fonts.conf dosyası içerisine ekleyin.
     <match target="font">
         <test name="weight" compare="more">
             <const>medium</const>
         </test>
         <edit name="autohint" mode="assign">
             <bool>false</bool>
         </edit>
     </match>

DVI kullanan bir TFT/DFP/LCD ekrana sahibim. Yazıtipleri pek bir düzensiz ve bulanık gözüküyor.

Bu tam olarak CRT ve CRT olamayan ekranlar arasındaki oynatma farklılığındandır. Bu problemi çözmek için, sub-pixel rendering özelliğini aktif etmeniz gerekmektedir./etc/fonts/local.conf dosyasını düzenleyin ve "Enable subpixel rendering" şeklinde işaretlenmiş olan kısmı bulun. Bu özelliği etkinleştirmek için işaretlerini kaldırın.Bu, CRT ekranlarda çok az etki sağlayan bir çalışmadır. Herhangi bir şekilde görüntü kalitesini artıran bir özellik değildir. const bölümlerinin içereceği olası değerler - rgb, bgr, vrgb, bgrv, ve hiçbirşey.

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

Belirli bir boyut altındaki yazıtiplerimin anti-aliasing özelliğini kapatmak istiyorum.

Bunun bir örneği /etc/fonts/local.conf dosyası içerisindedir. Subpixel rendering bölümü gibi işaretlenmiş şekildedir. Eğer bir değişiklik yapılması gerekiyorsa compare="less_eq" bölümüne, ve <int>12</int> bölümüne yapılması gerekmektedir - bunlar karşılaştırma operasyonları ve boyut karşılaştırmalarını ifade etmektedir.

     <match target="pattern">
        <test qual="any" name="size" compare="less_eq">
           <int>12</int>
        </test>
        <edit name="antialias" mode="assign"><bool>false</bool></edit>
     </match>

MS TrueType Yazıtiplerini kullanıyorum (verdana) ve anti-aliasing özelliğini etkinleştirmek istiyorum. Ama sadece çok sivri uçlu gözüken büyük fontlar için?

     <?xml version="1.0"?>
     <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
     <fontconfig>
     <match target="font" >
     <test compare"more" name"size" qual="any" >
     <double>12</double>
     </test>
     <edit mode"assign" name"antialias" >
     <bool>true</bool>
     </edit>
     </match>
     <match target="font" >
     <test compare"more" name"pixelsize" qual="any" >
     <double>17</double>
     </test>
     <edit mode"assign" name"antialias" >
     <bool>true</bool>
     </edit>
     </match>
     </fontconfig>

Daha çok yazıtipi eklemek istiyorum

Yazıtiplerinizi bir dizin altına kaydedin ve dizini /etc/fonts/local.conf içerisine aşağıdaki örnek gibi ekleyin.

    <dir>/dizin/olduğu/adres</dir>

Yazıtipi boyutlarımın DPI ayarlarıma uygun olmasını istiyorum.

Bu konu /etc/fonts/local.conf dosyasıyla ilgilidir. Burada yapılacak DPI ayarlarının xorg.conf veya sizin startx komutunuzla eşleşmiş olması gerekmektedir. Mevcut Dpi ayarlarınıza ulaşmak için xdpyinfo komutunu kullanın. Çoğu insan 96 veya 100 arası değer kullanır/önerir. X için dpi ayarlarını yapmak ve değiştirmek bu döküman içeriği ile ilgili değildir. Web üzerinde ayrıntılı bilgilere ulaşabilirsiniz. /etc/fonts/local.conf dosyası içeriği aşağıdaki gibi bir örnekle sunulabilir.

     <match target="pattern">
        <edit name="dpi" mode="assign"><double>100</double></edit>
     </match>

İstemediğim bir font var. <istemediğim yazıtipi adı> ve yerine bunu kullanmak istiyorum <kullanılmak istenen yazıtipi>

Kolay!, Bu /etc/fonts/local.conf dosyası içinde bir girdidir. Teknik olarak bu sadece "tercih edilen" yazıtipini, kullanılmak üzere, listedeki diğer isimlerin önüne ekler. Yani eksik bir yazıtipi olması durumunda, 100% garantili sonuç vermeyebilir.

     <alias>
        <family>Helvetica </family>
        <prefer><family>Bitstream Vera Sans Mono</family></prefer>
        <default><family>fixed</family></default>
     </alias>

Tonlarca istemediğim aralıkta kötü yazıtipim var ve bunları istemiyorum

X'i başlatmak ve kullanmak üzere ihtiyacınız olabilecek sadece 'cursor' ve 'fixed' gibi iki aralığa ihtiyacınız vardır. Bunların ikisi de fonts/misc dizini altındadır. Bu ikisinin dışındakilerden kurtulmak istiyorsanız misc dizini içerisinde cursor.pcf.gz,9x18.pcf.gz ve 9x18-ISO8859-1.pcf.gz benzeri dosyalar dışındaki tüm dosyaları silebilirsiniz. Ben bu işlemleri yaptıktan sonra, yani misc dizini içerisinde bahsedilenler dışındaki yazıtiplerini sildikten sonra yaklaşık olarak 337 dosya kaldı. Eğer bunun aşağısında bir sayı kalmışsa X'i yeniden başlatmada tekrar yerine koymanız doğru olacaktır.

Ölçeklenemez (bitmap) yazıtiplerim bir şekilde inaktif oldu, Nasıl geri getirebilirim?

Varsayılan olarak, fontconfig 2.3.2-4 ve üstü bitmap yazıtiplerinin kullanımını inaktif eder. Bu ayarlar /etc/fonts/conf.d/10-no-bitmaps.conf dosyası içerisinden idare edilir, veya daha üst versiyon olarak, /etc/fonts/conf.d/10-bitmaps.conf dosyasına bakılabilir. Bitmap yazıtiplerini aktif etmek ve fontconfig paket yükseltmeleri sonrası aktif tutmak için, yes-bitmaps.conf dosyasından 10-bitmaps.conf dosyasına no-bitmaps.conf dosyasının üzerine yazacak şekilde bir symlink atayabilirsiniz.

Bağlantılar

Konu ile ilgili fikirlerinizi paylaşmak için; Lapis Wiki Başlığı

XOrg Font Configuration , Archwikideki orjinal belge Türkçe'ye çevirilmiştir.

Çeviren : Alper "Kullanıcı:Xalphas" Orus