Türkçe Font Problemi


Font tipi dosyaları, içlerinde harflerin bulunduğu glyphlerden oluşan ve her harfin hexedemical ya da decimal değerlerini taşıyan dosyalardır. Glyphleri birer hücre ya da oda gibi düşünebilirsiniz. Bütün font tipi dosyaları içinde her karaktere karşılık gelen glyph olmayabilir. Ya da olsa bile içi boş olabilir. O zaman siz klavyenizde bir karaktere tıkladığınızda ekranda bir karakterlik boşluk oluşacaktır.

Peki sık sık karşımıza çıkan ve hepimizi sinir eden şu (?, y, ?) gibi karakterler nereden çıkıyor? Her karakter seti her karakteri taşımadığı gibi dillere göre de karakter setleri vardır. A'dan Z'ye kadar olan ve 1'den 9'a kadar olan setler bütün latin alfabeli font tipi dosyalarında aynı değeri ve ismi taşırlar. Mesela A için 1252 İngilizce codepage de decimal değerde code değeri de 65'tir ve ismi A'dır. Yine A için 1254 Türkçe codepage de bütün değerler aynı ve isim yine A'dır.

Ama bizdeki Ş değeri 1252 English codepage de yoktur. Dolayısıyla bunun karşılığı bir değerde yoktur fakat 1254 Turkish codepage de Ş'nin Decimal karşılığı 222 code karşılığı 350 ve ismi de "LATIN CAPITAL LETTER S WITH CEDILLA" ya da "Thorn"dur. Kullandığınız programlar karakter seti içerisindeki decimal değeri çevirecek özellikleri taşıyorsa siz ayarlarınızı codepage 1254 Türkçe'ye göre yaptığınızda normal olarak Ş harfi ile karşılaşmalısınız.

Ama başta Adobe olmak üzere bir çok firmanın ürünleri Türkçe yerine Ş, İ, Ğ gibi harflerle değerleri aynı olan ?, Y, ? gibi harflere destek veriyorlar. Ya da bir parça Bistream Inc firması dışında diğer firmalar yaptıkları font tipi dosyaları içerisine ş, i, ğ gibi harf tipleri yerine ?, y, ? fontlarını yerleştirmeyi tercih ediyorlar. Hatta Microsoft'un Türkçe diye sunduğu dosyaların içinde bile (?, y, eth;) değerleri bulunduğu için çoğu zaman program desteklemiyorsa Türkçe sorunu yaşanıyor. Bu bir web programı da olabilir, bilgisayarınızda kullandığınız programlar da olabilir.

İşte bütün sorunda buradan kaynaklanıyor. Bazen çok beğenseniz ve bütün ayarlarınız Türkçe bile olsa maalesef bu tip sorunlarla karşılaşabiliyorsunuz. Şimdi bu problemlere nasıl çözüm buluruz bunu biraz açalım.

Çözümler

Yukarıda da söylediğimiz gibi bilgisayarınızın Türkçe fontları tanıması için birinci kural en az bir karakterde olsa içinde Türkçe harfleri taşımasıdır. Bir karakter derken Ş, İ, Ğ ve küçük ş, i, ğ için iki değer alır harfler. Bunu buradaki tablodan daha iyi anlayabilirsiniz. Ç, Ö, Ü ise 1252 deki değerlerin aynısını aldığı için sorun çıkmaz yeter ki glyphi font içinde bulunsun.

Windows/Fonts klasörüne doğru biçimde yüklendiğinden emin olun. CD veya internetten Fonts klasörüne yüklediğiniz fontların Read-Only (Salt Okunur) olma ihtimali çok yüksek bunları kontrol ederek Read-Only check box işaretli ise bu işareti kaldırın.

Sitelerde bulacağınız Arial Tur for Sebit isimli fontu yükledikten sonra bazı fontların kendiliğinden Türkçe karakterleri tanıdığını da görebilirsiniz. Windows/Fonts klasöründe aşırı miktarda (1000 üzeri) font bulunması da yeni yüklediğiniz fontları Photoshop veya diğer programların görmemesine sebeptir.

Başka bir yol da herhangi bir text edit programından (Notepad, editpad, ultraedit veya word gibi) copy-paste olayı ile Photoshop'un Türkçe karakterleri tanıması sağlanabilmektedir. Eğer Windows>win.ini dosyası içinde [FontSubstitutes] başlığı yoksa bu başlığı ekleyerek altına istenilen fontla ilgili değerleri girmekte çözümlerden birisidir. Örneğin;

[FontSubstitutes]
Fixedsys,0=Fixedsys,162
Small Fonts,0=Small Fonts,162
MS Sans Serif,0=MS Sans Serif,162
FontAdı,0=FontAdı,162 ...
gibi...

Benim sunmaya çalıştığım çözümler içinde Ş, Ğ, İ gibi harflerin glyphlerini taşıyan fontlar içindir. Eğer bu glyphler font içinde yoksa ne yaparsanız yapın font Türkçe karakter desteklemez.