Gtk uygulamaları kozmetik ayarları (gtk widget)
/etc/gtk
dizinindeki dosyalardan alır. O halde bu bölgede
çalışarak türkçe sorunlarını biraz daha azaltalım:
cd /etc/gtk cp gtkrc.iso-8859-9 gtkrc.iso-8859-9.orig ln -s gtkrc-iso-8859-9 gtkrc
Gtk programlarında TT fontların da kullanıldığını söylemiştik. Hazır
TrueType fontları kurduğumuza göre menülerde ve şurda burda kullanılacak olan
sabit genişlikli fontu (adobe-helvetica
) daha hoş görünümlü olan
bir TT fontla değiştirelim.
/etc/gtkrc
dosyasında:style "gtk-default-tr" { fontset = "-*-verdana-medium-r-normal--12-*-*-*-*-*-iso8859-9, -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-9, -*-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-9, -*-arial-medium-r-normal--12-*-*-*-*-*-iso8859-9,*-r-*" }
Type1 font kurulumunda belirtilen ayarlarla birlikte bu işlemler
gnumeric
gibi native bir GNOME programında türkçe
sorunlarını büyük ölçüde ortadan kaldırır. gnumeric
'i
çalıştırarak deneme yapabilirsiniz. Baskı önizlemede ve yazıcı çıktılarında
türkçe karakterleri kullanabiliyor olmanız gerekir. Bu deneme sırasında
menülerde kullanılan verdana
fontunun yakıştığını da
gözleyeceksiniz. (Enteresan bir husus olarak Mozilla'nın gtkrc
ayarından etkileneceğini belirtelim. Mozilla'da da artık menülerde
verdana
kullanılıyor olacaktır. Güzel :) Gtk kitaplığı
AA-ware olmadığından bu programlarda göreceğiniz TT fontlar AntiAlias
değildir. 2.x ile birlikte Gtk'da AA desteği mevcuttur.
Qt -- KDE
KDE türkçe desteği konusunda çok başarılı. Buraya kadar anlatılan ayarlar
doğru şekilde yapılmış ise bir KDE programında Türkçe sorununa rastlamanız
düşük bir olasılık. (Opera 5.x kötü bir numune oluşturmuştu bir ara.) KDE
entegrasyonunun güçlü olması da bunda etkili. Bu entegrasyondan dolayıdır ki
KDE programları hariçten gazel olarak baktığı yerel dil yapılandırmasını
dikkate almadan kendi yerelleştirme ayarını referans alıyor. Yani KDE
programlarında sistem locale
'yi değil KDE locale
'yi
ayarlamak gerekiyor. Bunun için ya KDE konfigürasyon dosyalarının birkaç ufak
yerine elle müdahale edeceksiniz ya da daha kolayı KDE control
center
'ı (kcontrol
) kullanacaksınız. KDE'de bir ara türkçe
mesajları içeren `mo
' dosyasında sorun vardı. Ben test etmedim
fakat mesajları da Türkçe seçmiş fakat garip karakterle karşılaşmışsanız önce
bu dosyayı değiştirmeniz gerekiyor. (Bu konuda bir google araması
yapabilirsiniz.)
OpenOffice
Sonda söyleyeceğimi başta söyleyeyim. OpenOffice'de türkçeleme son derece
kolay. Fakat fevkalâde bloatware olan bu şişman yazılım hakkında bazı
ilginç notlar geçeyim önce. Ofis demek aynı zamanda bol miktarda yazıcı
çıktısı demek bildiğiniz gibi. Unix türevlerinde yazıcı çıktıları her zaman
Type1 temelli olagelmiştir. Type1'in yerelleştirme özellikleri TT'ye göre çok
daha kötüdür ve linux'da ekrana bakarak bitti gibi düşünülen türkçeleme
meselesinin yazıcı çıktılarında hortlaması da bu yüzdendir. OO, varlığı
açısından yaşamsal öneme sahip yazıcı işlerini kendi dışında bir kitaplığa
emanet etmek yerine (bir aralar gnome-print
gündemdeydi)
PSPrint
denilen kendi mimarisiyle yönetiyor. Type1'den
kaynaklanan yerelleştirme sorununu da bu mimari içinde şöyle hallediyor: OO'ya
TT fontların yerini gösteriyorsunuz, o da gidip TT fontları kendi çiftliğine
alıyor ve burada yazıcıda kullanmak üzere TT fontları Type1'e dönüştürüyor.
(Metrik dosyalarını vesaire üretmek suretiyle.) OO'da baskı işlerinin umumun
muhalifinde bir yöntemle yürütülmesine ek olarak ekranda kullanılan TT
fontların render işleminde de farklı bir yol izleniyor. Linux'daki
OO, TT fontları kendi içindeki freetype
ile yönetiyor.
(Gelecekte değişebilir.) OO'nun neden bu kadar devasa boyutta olduğu
anlaşılmıştır sanıyorum.
Şimdi eyleme geçelim. TT fontları OO'ya tanıtmanın kolay olduğunu
söylemiştik. Bu amaçla /usr/lib/openoffice/program/spadmin
'i
kullanıyoruz. (1.0.1-5
paketi -ve muhtemelen önceki paketlerde-
ufak bir problem var. spadmin
'i çalıştırmak için önce
/usr/lib/openoffice/program
dizinine geçmeniz gerekecek.)
spadmin
'de Fonts'a tıklayarak TT fontların bulunduğu dizini yani:/usr/lib/X11/fonts/TrueType
'ı gösteriyoruz, gerisini o hallediyor. (Bu işlem sırasında TT fontların OO altındaki font dizinine kopyalanması yerine sembolik olarak bağlanmasını tavsiye ederim.)
Fontları kurduktan sonra programı çalıştırdığınızda, OO'nun TT fontları
kendi uhdesinde yönetmesiyle doğan bir problemle karşılaşacaksınız. Küçük
boyutlarda fontların çirkin gözüküyor olması muhtemel. Sorunun açıklaması
biraz müşkil. OO'daki freetype
'da Apple patentli
BYTECODE_INTERPRETER
kodunun etkin olmadığını söylemekle
yetinelim. Debian'la gelen freetype6
kitaplığında bu kod
aktiftir. Dolayısıyla soruna kestirme çözüm olarak önce OO'nun bu kitaplığı
kullanmasını sağlıyoruz. Programı şöyle çalıştıracağız:
LD_PRELOAD=/usr/lib/libfreetype.so.6 openoffice
Program çalıştıktan sonra Tools -> Options -> View'de
Screen font antialiasing ayarı ile oynayarak istediğiniz sonuçları
alabilirsiniz. Buradan çıkmadan OO'nun ön tanımlı arabirim fontunu da
değiştirmek uygun olacak: Font Replacement'da Fonts kutusuna
Andale Sans UI
, Replace with kutusuna da
Verdana
yazıyoruz. Artık fontların daha güzel gözükmesi
gerekiyor. Yan etkileri de olabilecek bu workaround'ın OO'nun
1.0.1-5
ve öncesi debian paketleri için geçerli olduğunu
hatırlatalım.
Mozilla
Mozilla TT fontları AntiAlias halde kullanabiliyor. Bu amaçla
Edit -> Preferences -> Appereance -> Fonts kısmından
Western
ve Turkish
fontlarını değiştiriyoruz.
Orijinal halde adobe
serisi kullanılırken bunları TrueType
muadilleri ile değiştireceğiz. Meselâ benim yaptığım ayarlar şöyle oldu:
(Turkish
için)
Serif --> monotype-times new roman-iso8859-9 Sans-serif --> monotype-arial-iso8859-9 Cursive --> microsoft-comic sans ms-iso8859-9 Fantasy --> microsoft-century gothic-iso8859-9 Monospace --> monotype-courier new-iso8859-9
17 inch monitörde bu fontlar için 14-16'lik bir boyut güzel duruyor. Ayrıca Minimum font size'ı 13 veya 14 olarak ayarlamak da fayda var.
Mozilla'da her şey umulduğu gibi gelişmiyor. Yazıcı çıktıları sorunlu. Hem
yerelleştirme sorunu var hem de çıktılar kötü gözüküyor. Bugzilla'ya bu
konuda çok sayıda bug raporlanmış. Sorun yine linux'un type1 temelli yazıcı
mimarisinden kaynaklanıyor. Mozilla bu tip problemleri kökten halletmek için
yakın bir gelecekte X print server (Xprt
) mimarisine
geçecek. (Bu da erken safhadaki bir başka yazıcı mimarisi)
AbiWord
Eğer elinizdeki makina kısıtlı kaynaklara sahipse OpenOffice çok hantal kalacaktır. Böyle bir durumda standart ofis işlevleri için önereceğim program AbiWord oluyor. (Tablolama için de Gnumeric) Bu açıdan önemli gördüğüm bir yazılım olan AbiWord'ün türkçelemesi çok kolay bir işlem değil. AbiWord'de TT fontları doğrudan kullanamıyorsunuz. Zira program bir miktar Gtk kırması ve bütün Gtk programlarında olduğu gibi Type1 temelli bir font teknolojisi kullanıyor. TT fontları Abiword dağıtımından çıkan bazı yardımcı programlarla işleyerek Type1 ölçek dosyaları üretmeniz gerekecek. İşlemin ayrıntılarına girmeden önce birkaç hususta anlaşmamız gerekiyor:
AbiWord fontlarını içeren isteğe bağlı
xfonts-abi
paketini kurmayın, kalabalık yapmaktan başka işe yaramayacak. Kurulu ise silin. (dpkg --purge xfonts-abi
)İşte mühim uyarı: TT font listelerindeki (
fonts.dir
vefonts.scale
) mevcut dil kodlama sırasıyla AbiWord'de türkçe fontları göremeyeceksiniz. Problemin çözümü için bu dosyalarda belirli bir font serisine ait satırlardaiso8859-9
kodunu içeren satır grubun en sonuna alınmalıdır. Bu değişikliği yapmak amacıyla TT fontların bulunduğu dizindeki dosyaları kullanmak yerine daha adaplı davranacak ve bu dosyaları/etc/X11/fonts/TrueType
altında düzenleyeceğiz. Kurulumuttf-commercial
ile yapmışsak söz konusu dizin altında zatenttf-commercial.scale
adında bir dosya mevcuttur. O dosyayı açarak belirtilen değişikliği yapıyoruz. Sonuçta varılan görünüm şöyle olmalı: (Örnekarial
serisi için)... arial.ttf -monotype-arial-medium-r-normal--0-0-0-0-p-0-tcvn-0 arial.ttf -monotype-arial-medium-r-normal--0-0-0-0-p-0-viscii1.1-1 --> arial.ttf -monotype-Arial-medium-r-normal--0-0-0-0-p-0-iso8859-9 ariblk.ttf -monotype-arial black-medium-r-normal--0-0-0-0-p-0-iso10646-1 ...
Bu külfetli işlem için VI'ı kullanabiliriz. Kirli bir numara çekeceğiz ;) (Aşağıdaki değişiklik TT fontların
ttf-commercial
ile kurulduğu varsayımıyla verilmiştir. Eğer fontları başka bir yöntemle kurmuşsanızttf-commercial.scale
ismini uygun şekilde değiştirin, meselâ ilgili bölümde anlatılan manuel kurulum için bu dosyamsfonts.scale
olacaktır.)
vi /etc/X11/fonts/TrueType/ttf-commercial.scale
VI komut satırında:
:%s/(iso8859-9$)/zzz1/ :2,$!sort :%s/zzz(iso8859-9)/1/
Sıralamadan sonra her zamanki gibi güncelleme yapmayı ihmâl etmiyoruz:
update-fonts-scale TrueType update-fonts-dir TrueType
Ve tabii X'i tekrar başlatıyoruz.
/usr/share/AbiSuite/fonts
dizinini X'in font patikalarına eklemeyin. Burada anlatıldığı şekliyle böyle bir işleme gerek yoktur.
Ön düzenlemeden sonra font listelerini ve TT fontları AbiWord font dizinine
yerleştireceğiz. Font listeleri için yukarıdaki adımlarda otomatik veya manuel
olarak oluşturulan fonts.dir
ve fonts.scale
dosyalarını /usr/share/AbiSuite/fonts
dizinine direk
kopyalayabileceğiniz gibi tercihen TT font dizinindeki dosyalara (eğer bunlar
AbiWord'ün istediği formatta düzenlenmiş ise) sembolik olarak bağlayabiliriz.
/usr/share/AbiSuite/fonts
dizini altında gerçekleştirilen
aşağıdaki işlemlerde sembolik bağlama yöntemi tercih edilmiştir:
cd /usr/share/AbiSuite/fonts ln -sf /usr/lib/X11/fonts/TrueType/fonts.dir ln -sf /usr/lib/X11/fonts/TrueType/fonts.scale
Kopyalamak yerine yine linklemek suretiyle TT fontları da yerleştiriyoruz: (Satırın sonunda dot yani nokta var.)
ln -s /usr/lib/X11/fonts/TrueType/*.ttf .
TT fontlar ve font dosyaları hazır olduğuna göre her bir TT fonta ait
metrik dosyalarını oluşturuyoruz. Bu işlemi AbiWord paketinden çıkan
ttfadmin.sh
aracı ile gerçekleştireceğiz. (Arada
dot var.)
ttfadmin.sh . ISO-8859-9
Herşey doğru yapılmış ise abiword
'ü çalıştırdığınızda TT
fontları font kutusunda görebiliyor ve türkçe olarak kullanabiliyor olmanız
lazım. AbiWord'ün açılışta verdiği "Kullandığım font'ları X font path'e
ekleyemiyorum" mesajını önemsemeyin ve kapatmak için Tools ->
Preferences -> Preference Schemes'den Show font warning ...
ve Modify Unix Font ... seçeneklerini etkisiz hale getirin.
Eterm (Ehmm.. Bu kısmı kendime ithaf ediyorum :)
Eterm
font kaynaklarını kendi ayar dizininden okur. Eğer ekte
verilen xfonts-base.alias
dosyası kurulmuşsa
/usr/share/Eterm/themes/Eterm/theme.cfg
'deki font satırlarını şu
şekilde ayarlamak kâfidir:
begin attributes ... font default 1 font 0 6x13 font 1 8x13 font 2 9x15 font 3 9x15bold font 4 10x20 ... end attributes
TODO: zamanla diğer uygulamalar :)
Sonuç
Bütün bu ayarlara rağmen sistemin türlü yerlerinde türkçe sorunlara
rastlayacaksınız şüphesiz. Bunların birçoğu kolaylıkla halledilebilirken bir
kısmı inatla ve tutarlılıkla gösterdiğiniz uğraşları boşa çıkaracaktır. Takip
edilecek politikanın troubleshoot_süresi/program_değeri
oranıyla
belirlenmesini tavsiye ederim. (İdeali sıfır) Tabii bilinçaltınızda programın
değerini sonsuza çıkarmamak kaydıyla! Hayat kısa, sanat uzun ;)
Yakın bir gelecekte burada anlatılan ayarlar güncelliğini yitirecektir (yani umarım). UTF-8 gümbür gümbür geliyor. UTF-8'in yeterince yaygınlaşmasıyla birlikte birçok sorunun kendiliğinden kaybolacağı ve dağıtımların minimum Türkçe sorunuyla geleceği beklenilmekte. Bu işin iyimser kısmı. Kötümser tarafına gelince. Gtk gibi önemli bir kitaplıkta UTF-8'in ilk tasarımda atlanması hayati bir hata. (KDE bu açıdan çok başarılı. KDE geliştiricilerinin 24 saat başında bulundukları klavyelerde umlaut-aksanlı karakterlerin olması etken olabilir mi acaba? :) Kullanılan kitaplık UTF-8 uyumlu olmayınca imama uyan cemaat durumundaki Gtk geliştiricileri de yerelleştirme konusunda çok özenli davranmıyorlar. (Örn. dillo, mrproject vb.)
Kendi sistemimde yaptığım ayarları özetlemeye çalıştım. Eminim ki gözden kaçan hatalar olmuştur. Ayarların önceden türkçeleme girişiminden geçmemiş taze bir debian kurulumu üzerinde yapılması birçok aksaklığı önleyecektir. Belirlediğiniz hataları veya eksikleri bildirirseniz, bu doküman alta girilen yorumlarla herkesin istifade edebileceği bir referans haline gelebilir. Türkiye'deki kullanıcıların, karşılaştıkları yerel problemleri oradan buradan sorarak kestirmeden halletmek gibi bir alışkanlıkları var. Bunun sonucunda hiçbir problem ve çözümü doğru dürüst dokümante edilmiyor ve daha da önemlisi programlarda Türkçe'ye ilişkin bug'lar geliştiricilere raporlanmıyor. Böylesi bir durumda Türkçeyle ilgili sorunlardan şikayetçi olma hakkımız da olamaz.
bu dokumani okuyan herkes ne kadar farkinda bilmiyorum ama bu dokuman turunun ilk uyesi ve bence sinifinin en itileri arasina bu agirligi ile gulle gibi oturdu...
tek kelimeyle muazzam, cok cok tesekkurler...