Debian 3.0´da Türkçe -1

0
m1a2
Zaman makinasıyla harf inkılâbını tasarlayan teknik komiteye duhul edebilsek -bir programcı olarak- ne yapardık? Hmmm... Bir kere bütün çengelli karakterleri çift harf şeklinde: ş:sh, ç:ch vb. önermekle başlardım işe. Veya bundan vazgeçip ayrıntılı bir araştırmayla belirleyeceğim bir tarihe kendimi ışınlayarak ASCII karakter setini oluşturmakla mükellef elemanların başına silâh dayardım. (Ha bu arada yanımda bir anda beliren öfkeli bir japon arkadaşa da "siz önden buyurun" inceliğini göstermekte tereddüt etmezdim.) Her linux kurulumu sonrasında cebelleştiğimiz bu türkçeleme mevzuu işte böyle tuhaf hayallere sevkediyor insanı. Okuduğunuz dokümanın uzunluğu da yeterince anlamlı değil mi?

Linux'da türkçeleme konusunda Nilgün Belma Bugüner ve Deniz Akkuş Kanca tarafından hazırlanan Türkçe-NASIL gibi bir belge varken çok yeni şeyler söylemeyeceğiz. (Yazının ilerleyen bölümlerinde bu belgeye Türkçe-NASIL ismiyle sıklıkla gönderme yapılacaktır.) Dolayısıyla ilk iş olarak yıllarca Türkiyedeki linux listeleri ve forumlarda "Acele yardim... Turkce problemim var" şeklinde seslendirilen ve -biraz sert bir ifade olacak ama- baştan savma izah edilmiş çözüm önerileriyle sürüp giden bu türkçeleme problematiğini derli toplu bir HOWTO formatı içinde ele alan Türkçe-NASIL dokümanının ayrıntılı okunmasını tavsiye ediyorum. Redhat tabanlı bir sistem göz önüne alınarak hazırlanmış dokümanda bir linux sisteminin türkçeleme omurgası ortaya çıkartılabiliyor. Özellikle UTF-8 desteğiyle ilgili açıklamaların ve eklerde verilen klavye dosyalarının çok değerli olduğunu belirtelim. Debian-Woody'de türkçeleme başlığını taşıyan bu yazıda karanlığa taş atıp tutturmaktan ibaret olan bir takım kirli oyunlara ;) girmek yerine Türkçe-NASIL belgesiyle resmîleştiğini kabul ettiğim türkçeleme çalışmalarıyla uyumluluk yaklaşımını tercih ederek, orada açıklanan ayarların debian'a -mümkün mertebe debian adabına uygun şekilde- taşınmasına çalıştım. Uyumluluk nosyonunu korumakla beraber Türkçe-NASIL'la gelen klavye eşlemlerinde küçük düzeltmeler yapmaktan da imtina etmedim. Ayrıca okuduğunuz bu dokümanın -şimdilik- resmi bir HOWTO niteliğinde olmayacağı ön kabulüyle bazı pratik ve hayat kurtaran önerilerle yazıyı zenginleştirme yoluna gittim. Henüz Debian Woody ile tanışmamış olanlar için yazıda sergilenen yaklaşımın anlaşılması açısından Woody incelemesine tekrar bir göz atılmasını öneriyorum.

Türkçe-NASIL belgesinden söz etmişken bu belgenin yazarlarının da aktif olarak katıldığı gnu-tr projesine değinmemek olmaz. Bakın gnu-tr projesinde ne yapılıyor: (Deniz Akkuş Kanca'nın mesajından alıntı)

Gnu-TR yaklaşık iki yıldır (1 yıl 9 ay) devam eden bir Türkçeleştirme projesidir. Ağırlıklı olarak komut satırı yazılımlarının Türkçeleştirilmesini üstlenmiştir.

Eğer bilgisayarınız size "File not found" yerine "Dosya bulunamadı" tarzında mesajlar veriyor ise, bunu gerçekleştiren Gnu-TR'nin çevirileridir. mv, rm, ls, gcc, gpg, tar, fetchmail, find, awk, grep gibi her gün kullanılan pek çok yazılımın Türkçe çevirisini yapıyoruz.

Gnu-TR'nin kapsamı dahilindeki programlarda Türkçe çevirileri %73 oranında yapılmış durumdadır. Fakat çeviri yaşayan bir şey -- programlar güncellendikçe çevirilerin de güncellenmesi gerekiyor.

Bize katılacak çevirmenler arıyoruz.

Son cümledeki çağrıya dikkat! Bu çağrıya icabet edecek olan arkadaşlar Linux'un Türkiye'de yaygınlaşmasına büyük bir katkı sağlayacaktır. Bilgi ve zamanınız ölçüsünde dilediğiniz bir programın sorumluluğunu üstlenerek çorbada tuzunuz olsun istemez misiniz?

Geleceğe yönelik bir kayıt düşerek UTF-8'in önemini vurgulamak yerinde olacaktır. Günümüzde kullanılan ISO standartı 8-bitlik bir kodlamayı esas alır. Teferruatı "unicode konsorsiyomu" tarafından belirlenen UTF-8 kodlaması değişken uzunluklu (1-4 byte arası) unicode kodlama protokollerinden biridir ve ISO tarafından ISO-10646-1 standartına bağlanmıştır. UTF-8'le ulaşılacak olan durum biraz basit bir ifadeyle şöyle özetlenebilir: Gelecekte ön tanımlı olarak UTF-8 uyumlu şekilde konfigüre edilen bir linux sisteminde oluşturduğunuz türkçe dokümanı Japonya'daki UTF-8 uyumlu bir makinada bile türkçe karakterlerle sorunsuzca görüntüleyebileceksiniz. UTF-8'in yeterince olgunlaşmadığı kanaatiyle bu dokümanda ISO-8859-9'i esas alan ayar prosedürleri sunulmuştur. Bununla birlikte yazı UTF-8 konfigürasyonunu düşününler için de faydalı olacak muhtevaya sahiptir. UTF-8 konusunda Türkçe-NASIL'ın oldukça yeterli bir içerik sunduğunu da tekrar etmek isterim.

Türkçeleme ayarlarına, ilerleyen aşamalarda işimizi kolaylaştıracak bir ilk adımla başlayalım. Yeri geldiğinde belirtileceği gibi dağıtımla gelen bir kısım sistem dosyası hatalı. Hataları giderilmiş olan bu dosyalarla birlikte çeşitli yapılandırma ayarlarını içeren diğer bazı dosyalar bir pakette toplanarak ekte sunulmuştur.


Ekte verilen türkçe destek paketini makinanıza indirerek bir dizine açın:

	cd ; tar zxvf tr.tar.gz

İleride belirtilecek bir ek dosyaya /root/tr dizininden ulaşacağınızı kabul ediyorum.


Ayarların kolayca takip edilebilmesi için yukarıda da görüleceği üzere her adım kolay algılanabilir bir biçimde düzenlenmiş ve o adımın doğru şekilde icra edilip edilmediğini test etmek amacıyla -eğer anlamlı ise- uygun bir test yöntemi de eklenmiştir. (Dileyen yazıdaki laf kalabalığına girmeden sadece bu adımları izleyerek sonuca ulaşabilir.) Burada izah edilen yapılandırmanın Debian'a (daha da ötesi Debian 3.0'a) özel olacağı aşikâr. Fakat diğer dağıtımları kullananların da içerikten istifade etmesi için mümkün mertebe her adımda, çoğunlukla elle yapılan bir değişikliği açıklayan bir alternatif ayar yöntemi de vermeye çalıştım.

Redhat tabanlı dağıtımlarda yerel nitelikte bütün ayarlar /etc/sysconfig/i18n dosyasında (ve aynı dizindeki diğer bazı dosyalarda) merkezileştirilmiştir. Debian'da böyle bir merkezileştirme yok. Her ülkeden yüzlerce kullanıcının taze bir kurulum sonrası kendi yereline özel ayarları yapmak üzere dağıtımdan bağımsız şekilde kör gözle yönelebileceği ilk dosya olarak bu i18n'in kullanılması tutarlı olurdu kanaatimce. (LSB gelecekte işleri değiştirebilir belki.) Debian'da yerel ayarlar çeşitli dosyalara dağıtılmakla beraber /etc altında toplanmıştır. Bu dosyalar özetle şöyle:

/etc/console/boottime.kmap.gz
Klavye eşlem dosyası.


/etc/console-tools/config
Konsol fontlarıyla ilgili ayarlar.


/etc/environment
Sistem genelinde geçerli ortam değişkenleri. Yerel dil ayarları(locale) bu dosyadadır.


/etc/locale-gen
Sistemde mevcut olan yerellerin listesi.

Konsol

İlk çalışma sahamız metin tabanlı konsol ortamı. Önce klavyeyi türkçeleyeceğiz. Debian'da konsola ilişkin karakter ve eşlem dosyaları `console-common' ve `console-data' dışında iki alternatif paketle geliyor: `console-tools' ve `kbd'. Bu paketler içerik ve isim itibarıyla diğer dağıtımlarlardan çıkan paketlerle aynı. console-tools'la çakışma (conflict) gösteren kbd paketiyle ilgilenmeyeceğiz. Kurulum sonrasında sisteminizde bulacağınız paket Important olarak sınıflanmış olan `console-tools'. Klavye seçimi için `console-data'nın debconf arayüzü kullanılıyor. Yani:

	dpkg-reconfigure console-data

komutu ile istediğiniz klavyeyi seçiyorsunuz. (`kbd' paketi kurulu olsaydı `kbdconfig' kullanılacaktı.)

Türkçe klavye eşlemi olarak "Q Layout (1)", "Q Layout (2)" ve "Alternate" şeklinde üç alternatifiniz var. "Alternate" türkçe karakterleri Altgr tuşuyla üreten, programcılara yönelik bir tuşeşlemi. Her üç klavye yerleşimi de bazı problemlere sahip:

"Q Layout (1)" yerleşiminde Altgr-q ile `@' basmaya çalışırsanız karşınıza basitçe `q' çıkıyor. Benzer şekilde Altgr-, ``' karakterini basması gerekirken bunu yapmıyor ve `|' ile karşılaşıyorsunuz. Benim klavyemde Tab tuşunun üstünde konumlanan `"' (Shift halde Eacute yani: `é') tuşu `' basıyor, çift tırnak karakterine ancak Shift ile ulaşılıyor. Öte yandan bu yerleşimde klasik Backspace-Delete sorunu yok. Yani Delete tuşu kursörün üzerinde bulunduğu karakteri, Backspace ise kursörden önceki karakteri (geriye doğru giderek) siliyor.

Şimdi "Q layout (1)" kırk satır idi. Gelelim kırk katır'a yani "layout (2)"ye. Bu yerleşimde yukarıda zikredilen sorunlar yok. Maamafih Delete tuşu Backspace işlevinde. Delete işlevine alışanlar için bu oldukça sıkıntı verici. Yine de kullanılması gereken eşlemin bu olduğunu söyleyebiliriz. Eğer bugüne kadar yukarıda belirtilen klavye eşlem dosyalarını kullanmış ve onlara alışmış iseniz `console-data' için yukarıda verilen debconf komutunu çalıştırmakla eriştiğiniz durum yeterli olacaktır. Böyle bir durumda aşağıda açıklanan adımları pas geçebilirsiniz.

Türkçe konsol tuşeşlemleri uzun yıllardır güncellenmiyor. Vebali Türkiye'deki bütün Linux kullanıcılarının boynunda olan bu ihmalkarlığın bahanesi yoktur sanırım. Linux kullanmaya başladığım ilk zamanlardan beri değişmeyen bu kırk katır-kırk satır sorununu "Q layout 2" yani sistemdeki adıyla tr_q-latin5.kmap.gz'i esas alan kendi hazırladığım bir eşlem dosyasıyla çözmüş ve ilerleyen yıllarda da her kurulum sonrasında ilk yaptığım iş bu dosyayı kurmak olmuştu. Kestirmeden giderek bu dosyayı size vermek yerine başta belirttiğim prensibi işleterek Türkçe-NASIL belgesinin eklerinde verilen konsol klavye eşlemleri üzerinden bir çözüm üreteceğiz. Çözüm üreteceğiz dedim çünkü Türkçe-NASIL'ın ekinde verilen trq eşleminde de (birkaç başka küçük problemin yanısıra) Backspace-Delete sorunu var. Destek dosyaları arasında bulacağınız trq.kmap.gz dosyası Türkçe-NASIL'la gelen tuşeşleminin düzeltilmiş halidir. Tahmin edileceği üzere alternatif türkçe tuşeşlemi de (yani tralt) problemli. Neyse ki bir arkadaş bu konuda duyarlılık göstermiş ve console-data'ya -gelecekte eklenmek üzere- doğru çalışan bir tuşeşlemi göndermiş. console-data'nın bug-report'larında uuencode halde rastladığım bu dosyayı da destek paketinde bulabilirsiniz. (Merak edenlere not: console-data'ya gönderilmiş bir trq dosyası bulamadım. Herkes kendi derdinin peşinde galiba ;) Şimdi ayarlara devam edelim ve bu düzgün eşlem dosyalarını sisteme kopyalayalım:


	cp --suffix='.old' ~/tr/*.kmap.gz /usr/share/keymaps/i386/qwerty

Düzeltilmiş trq eşlemini kullanmak için yukarıda verilen adımda `console-data'nın veritabanında trq'ya karşı düşen "Q layout (1)"i seçmiş olmanız gerekiyor.

P.S. -- Destek dosyaları arasında kendi kullandığım eklentileri de içeren trq_enhanced dosyası mevcut. Bu dosyanın içeriğini -her ne kadar zararsız olsa da- subjektif niteliğinden dolayı trq eşlemine bulaştırmadım. README'de de tarif edildiği gibi bu tuşeşlemini denemek için install-keymap trq_enhanced komutunu kullanmanız gerekecek.

Doğru klavyeyi seçmek yetmiyor. Türkçeye özel tuşların kullanılması amacıyla bir küçük ayarı da /etc/inputrc dosyasında yapmamız gerekiyor.


/etc/inputrc dosyasına girerek aşağıdaki satırların bulunmasını sağlıyoruz:

	set input-meta on
	set output-meta on
	set convert-meta off
	set meta-flag on

Klavye eşlemini kurduktan sonra türkçe konsol karakterlerini doğru şekilde görüntülemek için konsol fontlarını ayarlıyoruz. `console-data' klavyeyi ayarlama imkanı sunmakla birlikte konsol karakterlerini değiştirme imkanı vermiyor. Bu durumda ya gidip elle bu işlemi yapacaksınız ya da daha debian uyumlu bir yol arayacaksınız. Bu ikincisini yaptığınızda karşınıza çıkacak paket Optional olarak damgalanmış`fonty' oluyor.


`fonty'i kuruyoruz. debconf sayesinde ayarı da kurulum sırasında yapacağız:

	apt-get install fonty

`fonty'nin ön yapılandırma ekranında iso9 (Turkish)'i seçiyoruz. Paket, sanal terminallerde (tty1-6) farklı fontlar kullanabilmenizi de sağlıyor. (Biz bütün terminalleri türkçeleme yolunu tutuyoruz.)


Eğer `fonty' paketini daha önceden kurmuş iseniz bu aşamaya:

	dpkg-reconfigure fonty

komutuyla ulaşabilirsiniz.

`fonty'nin yaptığı basitçe /etc/console-tools/config dosyasına:

	SCREEN_FONT=iso9-16
	APP_CHARSET_MAP=iso09

satırlarını eklemekten ibaret. Konsol fontlarından söz etmişken "Euro" sembolünü de zikretmek isterim. trq'da euro desteği var ve Altgr-e ile bu sembole ulaşabilirsiniz. (Altgr-c ile de "Cent" sembolü tuşlanabilir.) Fakat sembollerin doğru fontlarla görüntülenmesi için yukarıdaki satırların:

	SCREEN_FONT=lat0-16
	APP_CHARSET_MAP=iso15

şeklinde olması gerekiyor. ISO-8859-15'de tanımlı olan euro sembolünü türkçe karakterlerle birlikte kullanmak için UTF-8'den başka bir yöntem yok. Borsadaki linux kullanıcılarına duyurulur :)

Test:

Test yapmanın sırasıdır. Bu noktada -eğer Windows'dan kalan alışkanlıklarınızdan kurtularak reboot yapmamış iseniz- önce inputrc dosyasını tekrar okutmamız gerekiyor. Bunun yöntemi Ctrl-x Ctrl-r kombinasyonunu tuşlamak. Her şeyi anlatıldığı gibi yapmış iseniz şu an türkçe karakterleri doğru şekilde tuşlayabiliyor ve görebiliyor olmanız gerekiyor. Önemli bir kontrol olarak Backspace ve Delete tuşlarını da test edelim ve hatta bu test'e mümkün mertebe her türlü tuş varyasyonunu denemek suretiyle devam edelim. Herhangi bir problem tespit etmişseniz veya bir önerinizin varsa yorumlarınızı beklerim.

Yerelleştirme (locale)

Yerel dil yapılandırması için müstakil bir bölüm açmamız konunun önemini de ortaya koymaktadır. locale ayarı sistemin bütününde etkileri görülecek bir işlemdir. Özellikle Gtk programlarının bu ayara çok bağlı bir davranış gösterdiğini söylemek gerekiyor. Debian'da yerel dil dosyaları Standart olarak sınıflanmış olan locales paketiyle gelir. Eğer ilk kurulum sırasında bütün Standart paketleri kurmuş iseniz zaten locale ayarı da icra edilmiş olacaktır. (Bu amaçla ekstra hiçbir seçim yapmadan dselect adımını izlemek yeterlidir.) locales paketini kurmamış olanların önce apt-get install locales ile kurulum yapması gerekecektir. Konfigürasyon iki aşamadan oluşuyor. Gerekli yerel dil dosyalarının üretilmesi yani sistemde hazır bulundurulması ve sistem genelinde geçerli locale ortam değişkenlerinin atanması:


	dpkg-reconfigure locales

komutunu çalıştırıyoruz. Karşımıza gelen ekranda tr_TR ISO-8859-9'i seçili hale getiriyoruz. Sonraki adımda da sistem yerelini tr_TR olarak belirliyoruz. Bu ayarlar sonrasında tr_TR'ye ait dosyalar /etc/locale.gen dosyasında listelenerek üretilecek ve /etc/environment dosyasında LANG=tr_TR ataması yapılacaktır.


Test:

Yerel dil yapılandırmasının etkin olması için oturumdan çıkıp tekrar giriyoruz (Tips: Ctrl-D tuş kombinasyonu) ve şöyle bir deneme yapıyoruz :)

	ls Emrehan_Halıcıyı_meclisde_gormek_isteyenlerin_listesi

Eğer aldığınız cevap:

	ls: Emrehan_Halıcıyı_meclisde_gormek_isteyenlerin_listesi: Böyle bir dosya ya da dizin yok

şeklinde ise vatana millete hayırlı olsun ;)

Burada biraz nefeslenelim. Sistem yerelinin türkçe olması güzel. Birçok GNOME programında türkçe karakter sorununun hallolması ve sıralama işlemlerinde türkçenin dikkate alınması gibi önemli kazanımlarımız olacak. Peki "Bu saydıkların güzel de ben yarısı türkçe yarısı ingilizce mesaj görmek istemiyorum, ingilizce biliyorum ve bekârım..." diyenlere sunacağımız bir reçete var mı? Var tabii... Unutmayalım ki sistemde tr_TR dışında bir de Posix locale yani C (veya POSIX) mevcut. Hatta yukarıdaki mesajları ingilizce seslendirmek için `LC_MESSAGES=C ls Emrehan_Halıcıyı...' komutunu kullanarak deneme yapabilirsiniz. Şimdi bu isteği daha rasyonel bir kıvama dönüştürelim:


"Sıralamaların Türkçe yapılması güzel. Fakat mesajların ingilizce gelmesini istiyorum. Ayrıca bir geliştirici olarak Sayı ve Zaman formatının POSIX uyumlu olmasını da tercih ederim." denilirse /etc/environment dosyasını düzenlememiz gerekecektir:

	LANG=tr_TR
	LC_MESSAGES=C
	LC_NUMERIC=C
	LC_TIME=C

Dileyenler bu satırlar üzerinde oynayabilirler.


UTF-8 için locale yapılandırmasının nasıl yapılacağı Türkçe-NASIL'da ayrıntılı anlatılmıştır. Debian'da UTF-8 yapılandırması hakkında geniş bir içeriğe sahip olan Debian-UTF8-HOWTO dokümanının okunması da faydalı olacaktır. Türkçe UTF-8 konusunda küçük bir sorun bizi bekliyor. tr_TR.UTF-8 yerelleri `locales' paketinin debconf arayüzünde listelenmemiştir. Yani dpkg-reconfigure locales ile karşımıza çıkacak listede tr_TR.UTF-8'i göremeyeceğiz. Bu durumda elle işlem yapıyoruz:

Önce Türkçe UTF-8 yerelini /etc/locale.gen'de tanımlıyoruz. Şu satır ekleniyor:

	tr_TR.UTF-8 UTF-8

Sonra da ilgili yereli üretiyoruz. Brute force niteliğindeki bu işlem sırasında listelenen diğer yereller de tekrar üretilecektir, göz ardı edebilir:

	locale-gen

locale değişkenlerini daha ayrıntılı ve debian meşrebinde ayarlamak isteyenler için `localeconf' paketinin varlığını haber edelim. Bu paket kurulduğunda bütün locale değişkenlerinin yukarıda anlatıldığı gibi manuel olarak atanması yerine debconf kullanılıyor (dpkg-reconfigure localeconf) ve istenilen yerelleştirme değişkeni de kolayca istisna haline getirilebiliyor.

Bu bahisde iki ilginç paketten de söz edeyim: İlki `user-de' paketi. Sistemi almanca hale getiriyor. Diğeri ise `language-env'. Bu paketle birçok dil için yerelleştirme yapılabiliyor ve ayarlar X Window'u da kapsıyor. `user-de' global yapılandırma yolunu tercih ediyor, `language-env' ise kullanıcı bazında yerelleştirme yapıyor. Bunlardan niçin söz ediyorum? Hani diyorum kendine güvenen bir babayiğit arkadaş çıksa da bu paketlerin kaynak kodlarını (scriptlerini) alarak bir `user-tr' yazsa veya `language-env'in desteklediği diller listesine türkçeyi de eklese (evet, maalesef listede tr yok). Bir miktar perl bilen arkadaşlara (ki buna bile gerek olmayabilir) özellikle `language-env' paketini öneriyorum. İndirin ve inceleyin.

X Window

X Window konfigürasyonunda oluşabilecek problemlerin kolayca lokalize edilebilmesi ve ayarların eksiksiz şekilde güncellenmesi için -eğer kullanılıyorsa- x-display-manager yani X ekran yöneticisi'nin (xdm, gdm veya kdm) öldürülmesi pratik olacaktır. Meselâ xdm için ps ax|grep xdm ile öğrendiğiniz nnn nolu prosesi kill -HUP nnn komutuyla sonlandırıyoruz.

Woody XFree86 4.1 ile geliyor. XKB'nin kullanıldığı 4.x serisinde klavye ayarı 3.x serisine göre daha nizami ve kolay yapılabiliyor. 3.x serisinde xmodmap ile icra ettiğiniz numaraların yerini XF86Config-4'deki InputDevice bölümünde konumlanan XkbLayout değişkeninin ayarlanması alıyor.


/etc/X11/XF86Config-4 dosyasında:

	Section "InputDevice"
		...
		Option "XkbLayout" "tr"
		...
	EndSection

satırının olması gerekiyor. İlk kurulum sırasında muhtemelen yapılmış olan bu ayar herhangi bir anda:

	dpkg-reconfigure xserver-xfree86

komutuyla tekrar edilebilir.


Hikâye buraya kadar güzel görünüyor. Fakat önemli bir problem var. Türkçe-NASIL dokümanında da ifade edildiği gibi X 4.1 ile gelen türkçe klavye sembol dosyası -diğer bazı sorunların yanısıra- türkçe yereliyle problem çıkarıyor. Problem geliştiricilere raporlanmış ve sorunu gideren sembol dosyası 4.2 dağıtımına eklenmek üzere gönderilmiş durumda. Türkçe-NASIL'ın eklerinde X 4.1 için verilen sembol dosyasını ekte tr-4.1 adıyla bulacaksınız. Orijinal halinde zararsız bir yazım hatası vardır; okuduğunuz dokümanın ekinde verilen tr-4.1 dosyasında bu hata giderilmiştir. Bu dosyayla birlikte konsol tuşeşlemlerinde söz edilen trq_enhanced eklentisinin X altındaki karşılığı olan tr_enhanced-4.2 dosyasını da kopyalayalım:


	cp --suffix='.old' ~/tr/tr-4.1 /etc/X11/xkb/symbols/tr
	cp ~/tr/tr_enhanced-4.1 /etc/X11/xkb/symbols/tr_enhanced

Türkçe-NASIL'da X 4.1'ün başka bir sorunu olarak Caps Lock tuşu aktif hale geldiğinde klavyedeki Caps Lock led'inin yanmadığı ve belge eklerinde verilmiş olan tuşeşlemiyle bu sorunun da çözümlendiği belirtilmiş.


Caps Lock led'inin doğru çalışmasını sağlayacak opsiyon da kullanıldığında XF86Config-4 dosyasının klavye kısmı şu hali alıyor:

	Section "InputDevice"
		...
		Option "XkbRules"   "xfree86"
		Option "XkbModel"   "pc105"
		Option "XkbLayout"  "tr"
		Option "XkbOptions" "grp_led:caps"
	EndSection

Değişikliklerin debconf kontrolünde olması isteniyorsa daha önce verilen ayar komutu kullanılmalıdır. Aksi halde manuel yapılan ayarlar gelecekte icra edilebilecek bir debconf yapılandırması sırasında kaybolacaktır. Bir not da müstakbel X 4.2 için: Türkçe-NASIL'da X 4.2 için hazırlanan ve yeni sürüme eklenmesi için XFree geliştiricilerine gönderildiği söylenen bir sembol dosyası (tr-4.2) ve ilaveten CapsLock ile alâkalı bir dosya var (caps-4.2). Malum olduğu üzere Woody, X 4.1 kullandığından bu dosyalar bize şu an gerekmiyor. Fakat X 4.2'nin ön sürümleri çıkmaya başladı ve şu günler itibarıyla unstable'a henüz taze giren yeni sürüm makinanıza düştüğünde 4.2 dosyaları mutlaka gerekecek. Zira XFree 4'ün CVS dizinlerine baktığımda bu düzeltmelerin hâlâ commit edilmediğini gördüm. Galiba adamlar X 4.2.3'ü bekliyorlar. (1-2 ay daha bekleyelim, yok eğer yine eklenmemiş ise X-i18n grubuna bir FM çıkarması yapmamız vacip olacak ;) X 4.2 için klavye ayarı XkbOptions kısmında ufak bir farklılık gösteriyor. Türkçe-NASIL'da belirtilen satırları aynen buraya alıntılıyorum:

	Section "InputDevice"
		...
		Option "XkbRules"   "xfree86"
		Option "XkbModel"   "pc105"
		Option "XkbLayout"  "tr"
	   	Option "XkbOptions" "caps:shift"
	EndSection

P.S. -- tr_enhanced eklentisini kullanmak amacıyla yapılacak ayar şöyle olmalıdır:

	Section "InputDevice"
		...
		Option "XkbRules"   "xfree86"
		Option "XkbModel"   "pc105"
		Option "XkbLayout"  "tr_enhanced"
	   	Option "XkbVariant" "nodeadkeys"
	   	Option "XkbOptions" "grp_leds:caps"
	EndSection

X 4.2 için destek paketindeki tr_enhanced-4.2 kullanılmalıdır. (XkbOptions için "caps:shift" değişikliği unutulmamalıdır.)

Test:

X'i tekrar başlatarak bir xterm penceresi açıyoruz. Konsolda yaptığımız yerelleştirme yapılandırması doğru ise ayarların X'e taşınmış olması gerekiyor: locale komutu ile bunu kontrol ediyoruz. Sistem yereli tr_TR ise sorunlu bölgedeyiz demektir. Türkçe karakterleri tuşlayarak tepki gelip gelmediğina bakıyoruz. Karakterler doğru görüntülenmese bile tuşların tepki vermesi lâzım. Türkçe klavye sembol dosyasının tr_TR yereliyle sorun oluşturduğunu söylemiştik. Eğer X'deki locale tr_TR değilse zaten problem olmayacaktır. Bu durumda önceden anlatılan yerelleştirmenin doğru yapıldığına emin olmamız gerekiyor.

Bitmap fontlar

Klavye tamam ise türkçe biteşlem (off! bu türkçeleme yoruyor yaw, bitmap dedim biraz önce ;) fontların kurulumuna geçebiliriz. Debian'da BDF fontların organizasyonu diğer dağıtımlardan farklıdır. Redhat tabanlı dağıtımlarda ISO-8859-9 serisi fontlar müstakil bir rpm paketi halinde gelir ve konfigürasyon dosyalarında tanımlı font patikalarının -doğru sırada- değiştirilmesiyle türkçeleme yapılır. (Ayrıntılar için bkz. Türkçe-NASIL)

Debian'da Standart olarak kurulan X fontları UTF-8 olarak kodlanmıştır (ISO-10646-1) ve sadece türkçe fontlara hasredilmiş bir paket mevcut değildir. Türkçe açısından hâlâ geleceğin teknolojisi kıvamında olan bu UTF-8 fontları bir miktar ihtiyatla karşılayarak klâsik ISO-8859-9 olarak kodlanmış fontları aradığımızda karşımıza şu 3 paket çıkacaktır:

	xfonts-100dpi-transcoded
	xfonts-75dpi-transcoded
	xfonts-base-transcoded

`*-transcoded' serisi fontlar sistemde zaten kurulu olan ISO-10646-1 fontların standart ISO-8859-1..9 serisine tekrar kodlanmış halidir. Şimdi bu paketleri kuralım:


	apt-get install xfonts-100dpi-transcoded
	                xfonts-75dpi-transcoded
	                xfonts-base-transcoded

Standart kurulum sırasında UTF-8 fontlar zaten kurulu olduğundan Unicode kullanımının olgunlaşması bu adımı gereksiz kılacaktır. Başta da belirtildiği gibi Woody'de UTF-8 türkçelemesini denemedim. Bunu deneyen var ise durumu FM'e raporlamaları halinde çok memnun kalırım.

8859-9 serisi fontlar artık kurulu olduğuna göre konsolda türkçe fontların görüntülenebilmesi için X kaynaklarında (Xresources) ayar yapmamız gerekecek. Bu amaçla home dizininizde bulunduracağınız bir .Xresources dosyasında:

	XTerm*Font:  -misc-fixed-medium-r-normal--15-*-*-*-*-*-iso8859-9
	XTerm*Font1: -misc-fixed-medium-r-normal--13-*-*-*-*-*-iso8859-9
	...

satırlarını bulundurmanız yeterli olacaktır. Ayarların sistem genelinde etkili olmasını temin edecek bir yöntem aradığımızda X paketleriyle gelen dokümanlar bize /etc/X11/Xresources dizinini gösterecektir. Redhat tabanlı dağıtımlarda global X ayarlarını içeren /etc/X11/Xresources bir dizin değil dosyadır ve yukarıda belirtilen ayarların bu dosyaya işlenmesi gerekir. Debian'da ise muhtelif ayarları dosya grupları halinde yaratarak bu dizine yerleştirmemiz yeterlidir ve X'in ilklendirmesi sırasında Xresources dizini altındaki bütün dosyalar okunur.


Ekte verilen tr-resources dosyasında x-terminal-emulator, rxvt ve wterm'de türkçe karakterlerin doğru görüntülenmesini sağlayan düzenlemeler mevcuttur. Kurulumu:

	cp ~/tr/tr-xresources /etc/X11/Xresources

Özellikle 14 veya 15 inch monitör sahipleri fontlarla oynama ihtiyacı duyabilirler. (Bu denemeler sırasında gerekecek font tanım satırlarından biraz sonra bahsedeceğim.)

Test'e geçmeden önce bir ayar daha yapacağız. Kurbanımız /etc/X11/fonts/misc/xfonts-base.alias dosyası. Xresources ayarlarını umursamadan kafasına göre davranan her türlü kod parçasına fake atmak için bu dosyada iso8859-1 ile biten bütün satırları iso8859-9 olarak değiştireceğiz. İşinizi kolaylaştırayım:


	vi /etc/X11/fonts/misc/xfonts-base.alias

Ve şimdi VI komut satırında:

	:%s/8859-1$/8859-9/

yaparsak tamamdır. Bir de ilk satırlarda gözünüze çarpacak olan fixed fontu var. X'in bütününde leblebi gibi kullanılan bu font'u da hazır geldik uygun bir varsayılan'a atayalım.

	fixed -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-9

satırını şöyle biraz daha iri bir fontla değiştirelim:

	fixed -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-9

Nasıl bir görüntünü oluşacağı merak ediliyorsa eklerde gelen xfonts-base.alias dosyasına bakılabilir.


Yukarıda Xresource'a konulacak font tanımları probleminden bahsetmiştim. Font tanımlarına bu dosyayı inceleyerek ulaşabiliriz.


Kaydetip, çıkalım. (Hımm, yoksa bilmiyormusunuz? :wq) Son olarak alias'ları güncelleyeceğiz:

	update-fonts-alias misc

Test:

Bütün ayarları doğru yapmış isek X'i tekrar başlatıp, bir xterm penceresi açarak türkçe karakterleri tuşlayabiliyor ve doğru şekilde görebiliyor olmamız lâzım.

Ölçeklenebilir fontlar

Kurulumu bir önceki bölümde anlatılan biteşlem fontların yanısıra X Window'da ölçeklenebilir font olarak Apple kaynaklı TrueType (a.k.a. TT) ve Adobe kaynaklı Type1 yani postscript fontlar kullanılabiliyor. Daha nadir kullanılan diğer bir ölçeklenebilir font tipi de Bitstream tarafından geliştirilen Speedo oluyor. Ölçeklenebilir font kurulumunun nasıl yapıldığını anlamak amacıyla X'in font yönetiminden ve tarihçesinden kısaca bahsetmek sağlıklı olacak. Karanlığa taş atmamak için bu kısımda af buyurursanız türkçelemenin dışına çıkacağız. Arzu edenler atlayabilirler.

X Window, 4.x serisinden önceki ilk sürümlerden itibaren biteşlem ve Type1 fontları doğrudan sunucu içinden desteklemekteydi. Ekran görünümü açısından biteşlem'in sınırları malum. Ölçeklenebilir Type1 teknolojisi ise doğuşu itibarıyla yazıcı çıktısına yönelik bir font olmakla beraber ekran fontu olarak da kullanılabilecek yeterliliktedir. Fakat bu teknoloji (Type1 fontlarındaki lisans problemlerinden olsa gerek) bir türlü yaygınlık kazanamamıştır. Alternatif bir teknoloji olarak sunulan TrueType fontların ticarî grafik arayüzlerde (Windows, MacOS vb.) kullanılması ve özellikle Microsoft'un TrueType'a destek vermesiyle birlikte X Window ile bu sistemler arasındaki estetik görünüm farkı hissedilir düzeye çıkmıştır.

X'e TT desteğinin eklenmesi yönündeki ilk girişim 3.x serisinde ortaya çıkan xfstt'dir. Geliştiricisi tarafından xfs ve tt kısaltmalarının terkibiyle oluşturulan bu isim aynı zamanda yazının ilerleyen kısımlarında izah etmek için epey bir ter dökeceğimiz feci isim anarşisinin de kaynağıdır. Şimdi bu ismin ilk bölümü üzerinde durmakta yarar var. xfs x font server yani X font sunucusundan türetiliyor. Peki, xfs ne? Aşırı basitleştirerek anlatacak olursak; X Window, kompütür jargonunda Client-Server yani İstemci-Sunucu denilen bir modelin örneğidir. Bu modelde ağ içinde konumlanan bir sunucu bilgisayar vardır ve istemci durumundaki terminallerden -ağ yoluyla gelen- istekleri karşılar. X örneğinde istemci terminal X sunucusundan bir dizi ekran görüntüsü talep eder. Verilen basit örnekle oluşabilecek yanlış anlamaları önlemek için bu terimlerin birer metafor olduğunu vurgulayalım. Aslında istemci ve sunucu, bu isimlerin çağrıştırdığı role sahip yazılımlardır. X sunucusunu çalıştıran bilgisayarın da sunucu olarak zikredilmesine rağmen bu terimlerin elle tutulur fiziksel nesnelere karşılık gelmediğine dikkat etmek gerekir.

Şu an ağa bağlı olmadan kendi başına takılan fena halde personal linux sisteminizde başlattığınız bir X oturumunun "Mercedes'le bakkala gitmek" anlamı taşıdığını farketmişsinizdir sanıyorum. Her meziyet bir zaafa dönüşebilir. Olsun, ne dert, altınızdaki Mercedes'e bakın, bakkal'a değil ;) Dönelim xfs'e... X font sunucusu da bu model içine cuk oturur. Her makinaya font yüklemek yerine ağdaki bir makinaya fontları yüklüyor ve bunu X font sunucusu olarak atıyorsunuz. X sunucusu istemciye göndereceği bir X ekranını oluşturmadan önce ihtiyaç duyacağı fontları ve -dikkat buyurun- bunların render edilmesi işlemini bu sunucuya yaptırıyor. Böylelikle fontların merkezî bir bölgede toplanması avantajına ek olarak, X sunucusunun üzerindeki render yükü de azalıyor. X'e TT desteğini eklemeye çalışan geliştiricilerin xfs'i hedef almasının nedeni de anlaşılmıştır zannediyorum. X sunucusu xfs'e özel bir mülkiyet alanı verdiğinden ne haltlar çevirdiğiyle de ilgilenmez. İşte bir tasarım farkı veya Mercedes'in avantajı :)

xfstt X 3.x serisinde uzunca bir süre TT desteği için tek alternatifti ve dağıtımda bulacağınız xfstt paketiyle hâlâ da hayatiyetini sürdürüyor. xfstt dışında ne girişimler oldu? Serbest yazılım aleminde sıklıkla benzeri görülebilecek "şunu da açık yazılım repertuvarına katalım" anlayışıyla ortaya çıkan FreeType projesi gelişmeseydi bu girişimler epey gecikecekti. FreeType her biri muhtelif çap ve ebatta lisansa sahip font teknolojilerini serbest bir kitaplıkta (ehmm, library) toplamayı hedefleyen bir projedir ve doğal olarak TT'yi de gözüne kestirmiştir. TT desteği freetype kitaplığında yerini alınca ikinci bir çözüm doğdu: xfsft. Hadi bakalım başladık: dikkat buyurun tt değil ft. Bu program da xfs'e tatbik edilen bir yamadır ve xfs'in TT fontlarını freetype kitaplığı üzerinden kullanmasını sağlar. Diğer bir girişim de caponlardan geldi. Nev-i şahsına münhasır asya fontlarına TT tadı vermek için yine freetype'ı kullanan bir başka yama türedi: xfs-xtt. (Uyarıldığınızı unutmayın ;) xfstt ayrı bir paket halinde geliyor demiştik. Peki Debian dağıtımında xfs-xtt ve xfsft paketleri de mevcut mu? xfs-xtt için cevabımız evet, böyle bir paket var. xfsft ise öyle bir hikâyedir ki sormayın gitsin.

Hikâye Linux'un Red-mond'ı olan Redhat'te başlıyor. xfs'in yamalanmış hali olan bu xfsft'ye Redhat'teki elemanlar öyle bir iştahla saldırıyorlar ki hemen orası burasıyla oynuyorlar ve akıllara sezâ bir isimlendirme manevrası yaparak bu epey kurcalanmış kod parçasına sadece xfs diyorlar. Redhat 6.x ile gelen ve TT kurulumu hakkında orada burada gördüğünüz:

	FontPath "unix/:-1"

satırıyla sunuma çağırılan xfs işte bu ameliyatlı xfsft'dir. Redhat xfsft'yi özellikle X sunucusundaki render yükünü alması yönüyle kurcalamış ve X 4.x'le gelen Redhat 7.x'de de X 4.x'deki dahilî TT desteğine rağmen -değişmiş isimle- xfs'i kullanmaya devam etmiştir. Üstelik 6.x'de tükürdüğünü 7.x'de yalayıp yukarıdaki satırı doğrusuyla değiştirerek:

	FontPath "unix/:7100"

Redhat'i çevirdiği dolaplarla başbaşa bırakıp iyi adamlara dönelim :) Geniş çaplı değişiklikler vaad eden 4.x sürümüyle X geliştiricileri bu xfsft'deki yamayı X sunucusunun içine koymuşlar ve bunu yaparken diğer girişime vefa göstererek xtt'yi de sunucunun font arkayüzüne eklemişlerdir. İşte XF86Config-4'ün Modules bölümündeki:

	Section "Module"
		...
		Load	"freetype"
		...
	EndSection

görüntüsünün kaynağı budur. (xfs-xtt'deki işlevsellik Load "xtt" ile yüklenir fakat aynı anda bu iki modülü birden kullanamazsınız.) X'in modülerleşmesi hedefine uygun olarak 4.x'de Type1 desteği de modül haline getirilmiştir. Bu yüzden 4.x serisinde TT'nin yanısıra Type1 desteği (ve hatta Speedo) kullanılacaksa yukarıdaki satırlar:

	Section "Module"
		...
		Load	"freetype"
		Load	"speedo"
		Load	"type1"
		...
	EndSection

şeklinde olmalıdır.

FreeType projesi ilerleyen versiyonlarda TT fontların konturlarında ara tonlar kullanarak fontun daha güzel görünmesini sağlayan Anti-Aliasing (a.k.a. AA) özelliğini de eklemiş ve bu özellik hemen X 4.x'de yerini almıştır. X 4.x'in font yönetimindeki diğer bir yenilik XftConfig dosyasının varlığıyla görülebilir. Bu dosya AA tekniğinin hangi fontlara uygulayacağını belirlemek açısından önemli. Yeri gelmişken belirtelim AA, X 4.x ile gelen bir yenilik. Bu özelliği kullanmak için sadece XFree86'daki destek yetmiyor. Öncelikle ekran kartınızda bu özelliğin olması gerekiyor. (Günümüzün ekran kartlarında böyle bir sorunumuz yok.) Programın kullandığı kod kitaplığının da AA'dan haberdar olması lâzım. GNOME-Gtk hâlihazırda AA uyumlu değil fakat 2.x itibarıyla AA desteği var. (Bu 2.x UTF-8'i de destekleyecek.) KDE-Qt AA'yı tam gaz kullanıyor (ve eskiden beri UTF-8 uyumlu). Woody'de hazır haliyle Mozilla (1.0) AA'yı destekliyor. Enteresan bir not babadan kalma konsol programı xterm hem AA hem de UTF-8 uyumlu. Xserver'ın AA özelliğini aktiflemek için freetype modülünün kurulu olması yeterli. AA'nın kullanıldığını test etmek için `xdpyinfo | grep RENDER' komutunu çalıştırabilirsiniz. Komutun çıktısında RENDER görülmeli.

Bu kadar laftan çıkacak sonuçlara gelelim:

  • X 4.1'le yüklü Woody'de TT desteği için XF86Config-4'de yukarıda belirtilen şekilde freetype modülünü kurmak ve TT fontların bulunduğu dizinleri Files'da tanımlı patikalara eklemek yeterlidir.

  • Özel bir plânınınız yoksa TT için Redhat'in yaptığı gibi ayrıca bir font sunucusu kurmanız veya kullanmanız gerekmez. Yani XF86Config-4 dosyasında:

    	FontPath "unix/:7100"
    

    şeklinde bir satırı bulundurmanız gerekmiyor. Bu satır silinebilir veya comment out edilebilir. (Normal bir Woody kurulumunda xfs'in kurulu olduğunu göreceksiniz. Mevcut bir font sunucusunu devreden çıkarmak için bir de sunucuya ait daemon'u öldürmek gerekir. Debian'da daemon'ları -Redhat lingo'da bunlara servis deniyor- düzenlemek için `rcconf' paketinden yararlanabilirsiniz.)

  • Font yönetiminin font sunucusuna devredilmesi halinde -bellek kullanımı biraz artmakla birlikte- X sunucusunun daha etkili çalışacağı ifade edilmektedir. Test etmedim fakat yeni nesil ekran kartları ve işlemciler için bunun çok önemsenebilir bir fark yaratmayacağı tahminiyle "suyun bulandırılmaması" taraftarıyım. Suyu bulandırmakta ısrar edenler için işte font sunucusu alternatifleri:

    xfstt
    Daha önce bahsettiğimiz malum TT destekli xfs.
    xfs-xtt
    Caponların xfs'i. Bu da izah edildi.
    xfs
    İlgili yerde açıkta bıraktığımız "xfsft ne oldu?"nun cevabı. xfsft Potato ile gelmektedir ve X 3.x serisinde TT fontlar için kurulumu gereklidir. (Diğer alternatif: `xfs-xtt') Woody'de Redhat'in yaptığı gibi xfsft -geliştirilmiş haliyle- xfs olarak isimlendirilmiştir. Yani bu 4.x öncesinde gelen çıplak xfs değil.
  • Font sunucusunun XF86Config-4 ile tek ilişkisi:

    	FontPath "unix/:7100"
    

    gibi bir satırla tanımlanan sunucu port'udur. (xfs için ön tanımlı olarak 7100'dür, diğerlerinde genellikle 7101 kullanılır.) Redhat 6.x'deki -1 port'u bu dağıtımın yerel sunucudaki xfs erişimini optimize etmesi yaklaşımıyla üretilen standart dışı bir port'tur.

  • Font sunucusu kullanıldığında XF86Config-4'de font sunucusunun çağırıldığı satırın altında sıralanan font patikaları fallback yani xfs kullanılmadığında X sunucusunun erişeceği statik font dizinlerini gösterir.

  • Font sunucusuyla ilgili asıl ayarlar /etc/X11/fs dizini altındaki config dosyasındadır. TT font dizinleri burada listelenmelidir.

Truetype (TT) fontlar

TT fontları kurmaya hazırız artık. Sıradan bir Debian kurulumunda daha önce de belirtildiği gibi font sunucusu (xfs) kurulu olacaktır. Font yönetimi için doğrudan X'in içindeki TT desteğini kullanma yöntemini tercih ettiğimizden ilk iş olarak xfs'i devreden çıkaracağız. Bu amaçla /etc/X11/XF86Config-4 dosyasında font sunucusunun çağrıldığı:

	FontPath "unix/:7100"

satırını çıkarmak (veya commentlemek) ve -artık gerekmeyeceğine göre- xfs daemon'ı pasif hale getirmek doğru olacaktır. (Bu sonuncu işlem için rcconf kullanılabileceğini tekrar hatırlatalım.) Font yönetimi için mevcut hali korumak isteyeceklerin açıklamalarda belirtilen font patikalarını /etc/X11/XF86Config-4 dosyası yerine xfs'in kullandığı /etc/X11/fs/config dosyasında düzenlemeleri gerekecektir.

Konfigürasyona başlarken bir debian düsturunu işletelim. Debian sosyal sözleşmesi'ne uygun serbestiyette ve kaliteli TT font bulamayacaksınız. Yani günah işlememiz gerekiyor ;) Microsoft'un sitesinde bulunabilecek standart web fontlarını zekice hazırlanmış bir paketle (`msttcorefonts') indirererek kurabilirsiniz. Burada başka bir yöntem kullanarak TT fontları bir yerlerden çalacağız ;) Damardan linux'cu değilseniz makinanızda bir Windows partisyonu vardır zannediyorum. Önce otomatik ve sancısız bir yol tarif edeceğim, sonra da -diğer dağıtımları kullananların istifadesi amacıyla- manuel bir kurulum için bilgi vereceğim.

MS'in sitesinden font indirecek paket olur da, hemen burnunuzun dibindeki partisyondan download (!) yapacak bir araç olmaz mı? İşte `ttf-commercial' böylesi bir hırsız paket. debconf'un bütün avantajlarını kullanan bu araçla TT fontları üstelik Policy'ye uygun yerlere kurabiliyoruz. `ttf-commercial' önceden hazır halde tuttuğu geniş bir ticarî font listesiyle iş görüyor. Programa (daha doğrusu script) TT fontları bulacağı yeri gösterdiğimizde o lokasyonda mevcut fontları kendi listesiyle karşılaştırıyor ve geçerli gördüklerini alıyor. `ttf-commercial'ın fontları çalacağı alanı hazırlamamız gerekiyor önce.


Windows partisyonumuzu mount edelim:

	mount /dev/hda1 /mnt/windows

Burada hda1 ile gösterilen bilgisayarınızdaki Windows bölümüdür ve /mnt/windows'a mount edilir (yoksa oluşturun veya komutu değiştirin).


Bu kadar... Gerisini kurulum sırasında gelen ön konfigürasyon safhasında o halledecek:


	apt-get install ttf-commercial

ttf-commercial TT font dizinini bulacak ve takip eden aşamada "Fontları kopyalayayım mı, sembolik bağlama mı yapayım?" şeklinde soracak. (Ben kopyalanmasını öneriyorum.) Daha sonra font sunucusu kullanıp kullanmadığınızı soracak. Hayır diyeceğiz. Son safhada font dizinlerini XF86Config-4'e ekleyebileceğini belirtecek. Biz de eklemesini söyleyeceğiz.


Bu işi manuel nasıl yaparız, onu da kısaca anlatalım:

  • Önce fontları belirli bir dizine kopyalayacağız. Bu belirli dizinin ne olacağı hususunda -tam olarak resmîleşmese bile- bir gelenek: Policy mevcut. Debian listelerinde Branden Robinson'ın mesajını okuyabiliriz. Hazret der ki: "Fontları /usr/share/fonts/truetype altına kurun ve buradaki bütün *.ttf'ları /usr/lib/X11/fonts/TrueType altına sembolik olarak bağlayın. Bu sonuncu dizinde bulunan ve her kurulumda değişebilecek font listelerini de /etc/X11/fonts/TrueType altındaki güncelleme dosyalarıyla yönetin."

  • Meselâ eklerde Win2k için -test edilmiş- fontların listesini içeren msfonts.list dosyasından yararlanarak kopyalama yapmak için şu adımlar takip edilebilir:

    • Yukarıda anlatıldığı şekilde Windows bölümünü mount ederek, TT fontların bulunduğu dizine geçiyoruz. (Win2k için bu dizinin /mnt/windows/WINNT/Fonts olduğunu varsayıyorum):

      	mount /dev/hda1 /mnt/windows && cd /mnt/windows/WINNT/Fonts
      
    • Bu dizin içindeyken şu komut kullanılarak listedeki fontlar /usr/share/fonts/truetype/msfonts dizinine transfer edilebilir:

      	cpio -pvd /usr/share/fonts/truetype/msfonts < ~/tr/msfonts.list
      

      İzinlerde bir sorun olmaması lâzım:

      	chmod 0644 /usr/share/fonts/truetype/msfonts/*
      
  • Robinson'un önerdiği sembolik bağlamayı yapıyoruz: (/usr/lib/X11/fonts/TrueType dizini mevcut değilse -0755 izniyle- yaratılmalı.)

    	ln -s /usr/share/fonts/truetype/msfonts/*.ttf /usr/lib/X11/fonts/TrueType
    
  • TT font'lara ilişkin ölçekleme dosyasını üretmemiz gerekecek. Bu amaçla ttmkfdir gibi bir araç var. Eğer yok ise önce onu kuruyoruz. Ölçekleme dosyalarının geleneğe uygun olarak /etc/X11/fonts/TrueType dizininde oluşturulması doğru olacaktır. Fontların bulunduğu dizinde ttmkfdir'i çalıştırıyoruz: (Bu dizin mevcut değilse -0755 izniyle- yaratılmalı.)

    	ttmkfdir > /etc/X11/fonts/TrueType/msfonts.scale
    
  • Font listelerini güncelliyoruz:

    	update-fonts-scale TrueType
    	update-fonts-dir TrueType
    
  • Son olarak /etc/X11/XF86Config-4'de sunucuya fontların yerini bildiriyoruz. Eğer TT fontların idaresi için font sunucusu kullanmış isek konfigürasyon yerimiz /etc/X11/fs/config dosyası. Tafsilâtı daha önce anlatıldı.

Windows'la gelen fontların bazıları sorunlu ve bunları ayıklamak gerekiyor. Ekteki msfonts.list dosyasında listelenen fontların -en azından şu güne kadar- sorun çıkarmadığını gördüm. Fakat misâl verilecek olursa, gerek ttf-commercial'da gerekse de bendeki listede bulunan linotype-palatino'nun Wine ile problemli olduğunu raporlayanlar var.

İşler yolunda gitti gibi gözüküyor. Font listeleri sorunsuzca üretildi. Fakat daha sonra vurgulanacağı gibi font listelerinin ekstra bir son işlemden geçmemesi halinde AbiWord ile uyumsuzluk göstermesi söz konusu. Bu meseleyi ilgili yerde değerlendirmek üzere sistemdeki estetik müdahalelere devam edelim.

El değmemiş bir XF86Config-4 dosyasındaki font patikalarını incelediğimizde şunu görürüz: 100dpi biteşlem fontlar, 75dpi'ın önündedir ve bunun sonucu da öküz gözü görünümünde menülerdir :) Bunu önlemek için 75dpi fontları 100dpi'ın üstüne alıyoruz. Kritik işlemler olmamakla beraber gereksiz font satırlarını siliyor ve ttf-commercial'ın eklediği dizini de daha mantıksal bir yere alıyoruz.


/etc/X11/XF86Config-4:

	Section "Files"
		FontPath "/usr/lib/X11/fonts/misc"
		FontPath "/usr/lib/X11/fonts/75dpi/:unscaled"
		FontPath "/usr/lib/X11/fonts/100dpi/:unscaled"
		FontPath "/usr/lib/X11/fonts/Type1"
		FontPath "/usr/lib/X11/fonts/TrueType"
		FontPath "/usr/lib/X11/fonts/Speedo"
		FontPath "/usr/lib/X11/fonts/75dpi"
		FontPath "/usr/lib/X11/fonts/100dpi"
	EndSection

Sıradan bir kurulumda aksi bir gelişmeyi düşünmüyorum ama yine de TrueType ve Type1 fontların kullanılabilmesi için gereken modüller olan: freetype ve type1'in X sunucusunda hazır bulunup bulunmadığını da kontrol edelim. Şöyle bir şeyler görmeniz lâzım:


	Section "Module"
		...
		Load "freetype"
		Load "type1"
		...
	EndSection

Test:

Kısa bir test prosedürü bizi bekliyor. Önce X sunucusunu al baştan yapalım. Eğer X font sunucusu kurulu olsaydı bir de onu tekrar başlatmamız gerekecekti. (/etc/init.d/xfs restart)

Acaba TT fontları sistem görüyor mu? Kurulu fontların alâmet-i farikası microsoft olduğuna göre işte bunun testi:

	xlsfonts | grep microsoft

Ekranınız şöyle bir taşıyorsa tamamdır, fontlar kurulu... Hemen TT destekli bir programı meselâ Mozilla'yı çalıştıralım. Eğer herşey yolunda gitmiş ise TT fontların keyfini çıkarabilirsiniz.

Type1 (Postscript) fontlar

Gtk tabanlı programlar biteşlem ve Type1 (yani postscipt) fontları birlikte kullanmaktadır. Şu aşamada herhangi bir Gtk programında meselâ gnumeric'de baskı önizleme yapmayı denersek türkçe karakterlerde sorun olduğunu gözleyebiliriz. Bunu gidermek için Type1 font listeleriyle (ölçekler ve alias eşlemeleri) uğraşacağız. Debian'da her türlü fontun organizasyonu defoma yani Debian Font Manager araçları ile yürütülüyor. Özellikle TT fontların kurulumuna nispetle yapılandırması çok daha zor olan Type1 fontlar için bu araç seti geniş imkânlar sağlıyor. Defoma ile yapılacak düzenlemelerde işin bir miktar erbabı olmanız gerekmekte. Bu bölümde problemleri halletmek için dipsiz kuyuya dalmadan KISS prensibini kullanacağız ;)

Hedef /etc/X11/fonts/Type1/gsfonts-x11.scale ve yine aynı dizindeki /etc/X11/fonts/Type1/gsfonts-x11.alias dosyaları. Bu dosyaları açarak iso8859-9 satırları ekleyeceğiz. Ekleme yapmak yerine dosyada zaten bulunan ve işimize yaramayan iso8859-2'li satırları değiştirmek daha pratik olacaktır. O halde yine VI'e başvuralım:


	cd /etc/X11/fonts/Type1
	cp gsfonts-x11.scale gsfonts-x11.scale.orig
	vi gsfonts-x11.scale

	cp gsfonts-x11.alias gsfonts-x11.alias.orig
	vi gsfonts-x11.alias

VI komut satırında şöyle yapıyoruz: (her iki dosya için)

	:%s/8859-2/8859-9/g

Ölçekleri düzenlemek yetmez, fonts.dir'da benzer şekilde olmalı. Aşağıda verilen güncellemelerle zaten bu gerçekleşecektir: (Önce update-fonts-scale yapılmalı!)


	update-fonts-scale Type1
	update-fonts-alias Type1
	update-fonts-dir Type1

Test:

X'i yeniden başlatalım. gnumeric baskı önizlemede türkçe karakterleri sorunsuzca görüyor olmamız lâzım.

Görüşler

0
FZ
Öncelikle son birkaç gündür edilen yardımlardan ötürü tekrar tekrar teşekkür etmek istiyorum, fazlamesai.net sitesinin fark yaratmasında bu tip üyelerin ve onların bu tip çalışmalarının payı çok büyük.

Bu iltifatlardan sonra dokümandaki birkaç küçük yazım hatasına değinmek istiyorum:

1) X Window başlığının altında konfigürasyon anlatılırken ve ilk örnek kod verilirken şöyle yazılmış:

/etc/X11/XF84Config-4 dosyasında: ...

Doğrusu ise:

/etc/X11/XF86Config-4 dosyasında: ...

olmalı.

2) Bitmap fontlar anlatılırken ikinci örnek kodda şöyle yazılmış:

cp ~/tr/tr-resources /etc/X11/Xresources

Doğrusu ise:

cp ~/tr/tr-xresources /etc/X11/Xresources

olacak.

FZ (hata ayıklayıcı ;-)
0
FZ
Bu dokümandaki yazılanları yaptım yani en azından gerekli dosyaları kopyaladım, dikkatli bir şekilde konfigürasyon dosyalarını ayarladım, TT fontları kurdum vs. ancak sanırım bir yerde bir şeyi eksik yaptım çünkü:

tilda sembolü yani ( ~ ) klavyede çalışmıyor yani misal ne şu anda Mozilla aracılığı ile yorum yazarken ne de xterm ya da Gnome Terminal''inde iken (bu arada pencere yöneticisi olarak FluxBox kullanıyorum ancak bunun konu ile ilgili olduğunu sanmam) söz konusu karakteri AltGr+Ü tuşu ile elde edemiyorum. Ancak XTerm Unicode shell penceresinde ilgili tuşa basınca bu sembol çıkıyor. Bu konuda bir ipucu önerebilecek olan?
0
m1a2
Düzeltmelerin için çok teşekkürler... Tilde`ye gelince: eğer benim ekstralarımı (tr_enhanced) kullanmadan sadece tr-4.1`i kurmuş isen bu tuşeşleminde altgr-ü dead_tilde olarak eşlendiğinden tilde`yi hemen üretemezsin. Bu düzenleme altgr-ü`yü takiben uygun bir karakter tuşlandığında klavyede olmayan bazı karakterlere ulaşmak içindir. Mesela altgr-ü + a ---> ã (a üzeri tilde) üretir. Eğer sadece tilde üretmek istiyorsan altgr-ü + space yapman gerekir. Yok ben böyle uğraşamam, sadece tilde üretilsin istiyorsan dokümandaki açıklamaları takip et. Önce tr_enhanced-4.1`i kuracaksın ve XF86Config-4`de layout --> tr_enhanced, variant --> nodeadkeys olacak. (`nodeadkeys` opsiyonu orijinal tr`de yoktur, eğer layout --> tr iken bu `nodeadkeys` opsiyonunu (variant) tanımlarsan sorun çıkar.)
0
FZ
Detaylı açıklama için teşekkür ederim. Tilda ile ilgili olarak dediklerini kontrol ettim, boşluk tuşuna basmak sureti ile istediğimi elde edebiliyorum.

Şu anda eacute dışında bir sorun var gibi görünmüyor. Yani SIHFT+tırnak_tuşu basınca sembolü ile karşılaşıyorum. Aslında şu anda bu çok önemli değil, belki senin tr_enhanced ayarlarının içinde bu vardır ya da belki zaten dokümanda bu konuya değinmişsindir :) (Ben şu birkaç gündür sistem ile boğuştuğumdan ötürü biraz dalgın olabilirim, artık o kadar kusura bakmayacaksınız ;-)
0
m1a2
Aslına bir chat gerekiyor galiba ;)... O dediğin eacute bilinçli olarak öyle yapılmış bir eşlem. Yani bug değil feature... Bu karakter bildiğim kadarıyla fransızcada çok kullanılıyor: Bon appétit gibi :)) Ha klavyeye onu kim koymuş konusuna gelince eğer o kişiyi tanıyorsan adresini ver elimde sopayla geliyorum :)
0
FZ
:) Şu anda chat şart değil, yeterince yardımcı oldun zaten, acil bir Fransızca durumu olursa gerekeni yaparım ;-)

Klavye tuş dizilimine ve uluslararası karakter eşlemelerine gelince... valla iyi ki zaman makinası yok çünkü eğer olsaydı dövülecek çok adam olurdu :)
0
anonim
ya ne kadar karişik bu... ben sadece fontlari gormek istiyorum... ne yapmaliyim.. cokmu acemiyim ne okudum ama o kadar karişikki.. hiç bişi anlamiyorum oraya onu koy buraya bunu ekle yanlış yaparsam butun sistemi silmek zorundami kalirim .. bıktım linux silip kurmaktan..
Görüş belirtmek için giriş yapın...

İlgili Yazılar

Linux Çekirdeğinde 8 Açık ve Çözümleri

FZ

Sistem ve ağ yöneticilerinin dikkatine: Debian´ın güvenlik sitesinde Linux çekirdeğinde en son tespit edilen ve IA32 mimarili bilgisayarları etkileyen hatalar ve bunlarla ilgili çözümler mevcuttur. Detaylı bilgiyi yukarıdaki linkten edinebilirsiniz.

Şapkasız Çıkmam! Debian Şapkalar Geldi

anonim

Merhaba.

Özgür Yazılım ve Açık Kaynak Günleri 2005'e yetiştiremediğimiz Debian Şapkalar nihayet geldi.

Bedeli 6 YTL olan şapkaların laciver ve krem rengi mevcuttur. Sipariş vermek isteyen arkadaşlar linux34.com sitesini ziyaret edebilir.

AMD x86 64 için Debian

yuxel

Chris Cheney, Debian'ın AMD64 bit için hazır olduğunu duyurdu. 7972 paketin yaklaşık %97'sinin bu mimari için derlenmiş bulunuyor. ia32 emülasyonunda kullanılamayan bazı işlemci özellikleri bu paketler ile kullanılarak işlemciden daha fazla verim alınması sağlanıyor.
Debian Planet
OS News
Lwn

Debian GNU/Linux 3.1 Release 5 çıktı.

mesutgul

Debian Resmi Sitesinde yayınlanan 18 Şubat 2007 tarihli habere göre, Debian GNU/Linux 3.1 Release 5 çıktı.
Haberde, bunun yeni bir sürüm olmadığı, sadece toplu bir güvenlik güncellemesi olduğu vurgulanmış.
Şimdilik sadece dosyalara erişilebiliyor.
CD ve DVD ISO dosyaları hakkında; güncellenmiş imaj dosyalarının daha sonra hazırlanacağı, ancak yeni yükleme imaj dosyalarının yapılmasına gerek olmadığı belirtilmiş.
Ancak, gelecek güncellemede yeni bir imaj hazırlanacağı tahmin ediliyor.

Debian İçin Google SoC 2007 Projeleri

FZ

Son haberlere göre Debian projesi yöneticiliğinde Google'ın Summer of Code etkinliğinde çeşitli projeler geliştirilecek.

Detayların ilgili wiki sayfasından takip edilebileceği Debian SoC etkinliğinde veri yönetimi, QEMU işlevselliği, güvenlik, BitTorrent gibi konularla ilgili 9 farklı yazılım projesi yer alıyor.