Temalarda Google font Türkçe karakter sorunları

Temalarda Google font Türkçe karakter sorunları

Ekim 3, 2013
Kategori: Joomla
26 35857 0

Tema geliştiricileri WordPress, Joomla gibi içerik yönetim sistemlerinde artık temalarını tasarlarken yoğun bir şekilde zengin font seçeneğini temalarına kazandırmak için Google font dizinini kullanmayı tercih ediyorlar. Bu da kullanıcıya sitelerinde yer alan başlık, alt başlık H1, H2 vb. etiketlerin birbirinden bağımsız farklı font ve ölçülerde ayarlamalarına olanak tanıyor.Özellikle yabancı tema tasarımcıları varsayılan olarak Türkçe karakter desteklemeyen font seçimleri tercih ettiklerinden bazı Türkçe karakterler ya tamamen bozuk yahut şekil itibari ile diğer harflerden farklı görünümde harfler görüntülenmesine sebep oluyor. Sistemler kendi çekirdek kod yapısı itibari ile farklılıklar arzettiği gibi her tema da kendine özgü farklı CSS yönetimine sahipler. Dolayısı ile bir temaya uygun olarak yapılacak anlatım bu temanın dışındaki kullanıcılarda aynı araçları ve mantığı taşımadığından sonuca ulaşılamayabilir.

Mesela bazı temalar yazı karakterlerine ait ayar sayfasında font seçimi yaptırdığı gibi “subset” dediğimiz o fontun desteklediği ana dil karakter yapısını da düzenlemeye olanak tanıyor. Örnek olarak “Subset” altında “latin-ext” veya “latin-external” gibi seçenekleri girebileceğimiz kutucuklar olabiliyor. Bazı temalarda ise bu seçim manuel olarak temanın dosyalarından yapılabiliyor. Dilerseniz bunu WordPress ile örneklendirelim;

Genellikle temanın “header.php” (üst kısım) dosyasında yer alır ve Google fontlarını bir kod satırı ile çağırır. O da örnek olarak şu şekilde olabilir;

<link href=’http://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,400,300,600′ rel=’stylesheet’ type=’text/css’>

Bu kod satırında yapılacak olan küçük bir değişiklikle Türkçe karakter desteği olduğunu bildiğimiz font çeşidinin uyumunu sağlayabiliriz. Örneğimizde “family” den sonra gelen ve fontumuzun adının “Open+Sans” olarak bulunduğu kısımdan hemen sonrası değişikliği gerçekleştireceğimiz yer olacak “Open+Sans” den hemen sonrasına “latin-ext” eklemek sureti ile temamızda gösterilen karakterlerde Türkçe ile alakalı gösterim sorunlarını bu şekilde aşmamız mümkün olacaktır. Yaptığımız bu değişiklikle beraber yukarıdaki kod satırımız şu şekilde oluşmuş olacak;

<link href=’http://fonts.googleapis.com/css?family=Open+Sans&subset=latin-ext:300italic,400italic,600italic,400,300,600′ rel=’stylesheet’ type=’text/css’>

Böylelikle Türkçe karakterler olması gerektiği gibi ekrana basılacaktır, olayın mantığı bu şekilde olup her temaya göre farklı dosya üzerinden farklı şekilde bu düzenleme yapılabilir. Aslolan Google font’larının hangi dosyadan nasıl çağırıldığı olduğundan yapılacak işlemde bu şekilde yapılabilir.

, , , , ,
Mehmet Yazıcı

Joomla! içerik yönetim sistemi üzerine uzun yıllar çeşitli sitelerden destek verdi. Joomla Kitabı'nı çıkaran ekibin içindeydi. Türkiyede Byte dergisinde Joomla hakkında yazılar yazdı. Yine aynı derginin özel Joomla 1.5 sayısını hazırlayarak Joomla adına bir ilki gerçekleştirdi. Çeşitli seminerlerde Joomla üzerine konuşmacı olarak katıldı. Halen Joomla resmi sitesi magazine.joomla.org'da editörlük yapmakta. Apple ve ürünlerine özel merakı var.

Diğer yazılarımı görüntüle

26 comments

  1. Fatih Aydın
    Reply

    Çok teşekkürler. Sitemde bahsettiğiniz çözümü kullanınca garip görünen türkçe karakterler bir anda düzeldi. Web fontunun yanına sadece şu kısmı ekledim: (&subset=latin-ext)

  2. sinan
    Reply

    çok teşekkürler.

    buraya yolu düşenler için az daha açıklayıcı yazayım ben de.

    asıl konu subset ayarına uygun alt sınıfı eklemek sanırım. mesela benim kod şu şekildeydi:

    $query_args = array(
    ‘family’ => urlencode( implode( ‘|’, $font_families ) ),
    ‘subset’ => urlencode( ‘latin,cyrillic-ext,greek-ext,cyrillic’ ),

    latini cyrillic-ext. yazan yere latin extended’i ekleyince sorun tamamen çözüldü. yani kodun son hali şu:

    $query_args = array(
    ‘family’ => urlencode( implode( ‘|’, $font_families ) ),
    ‘subset’ => urlencode( ‘latin,latin-ext,cyrillic-ext,greek-ext,cyrillic’ ),

    siz de google font’ların çağrıldığı sayfayı bulun, sonra subset ayarını bulun ve latin-ext kodunu araya sıkıştırın.

  3. Bülent Turgut
    Reply

    Mehmet kardeşim bu alanda duayenlerdendir. Senelerdir kendisini hayranlıkla ve muhabbetle takip ederim. Elinden geldiğince faydalı bilgiler paylaşır. Teşekkür ederiz. Allah razı olsun.

    1. Mehmet Yazıcı (author)
      Reply

      Teşekkür ederim, eskisi kadar zaman ayıramasam da yine de elimden geldiğince bildiklerim ve öğrendiklerimi paylaşmaya çalışıyorum. Selamlar.

  4. kamil KAYA
    Reply

    Merhaba
    Bir konuda nacizane bilginizi rica ediyorum

    Bir sitede, herhangi bir sayfadaki butona bastığımda , beni başka bir sayfadaki yazıya götürmesini istiyorum bunu nasıl yapmalıyım

    Teşekkürler

  5. Batuhan
    Reply

    Merhaba,

    Benim sitemde de benzer bir sorun var, büyük yazılan İ ler kalın görünüyor, büyük türkçe karakterler ingilizce karakterler gibi değil biraz daha garip görünüyor, buradaki şeyleri denedim ama ben mi beceremedim bilmiyorum, yapamadım. Türkçe karakterlerin doğru cıkması için ne yapmaliyim ? Kodlamadan pek anlamadığımdan zor geliyor açıklayıcı şekilde söylerseniz çok yardımcı olursunuz. Hangi dosyada neyi değiştirmeliyim ?

  6. mehmet
    Reply

    Selamlar Arkadaşlar.

    joomle 3.5 template de fontlar düzgün görünüyor hiçbir sorun yok ancak soruce code da anlamsız şekilde değiştiriyor türkçe karekterleri

    Ticari Ürün aslında burada Ticari Ürün yazıyor.

    neden olur bu sadece soruce code da böyle görünüyor.

    1. Mehmet Yazıcı (author)
      Reply

      Google baotlar onu okuması gerektiği gibi okur merak etmeyin, veritabanı tablolarının karşılaştırma değeri utf8 değil mi? Bazı temaların dosyaları veya tümü kaydedilirken latin karaktere uygun utf 8 olarak kaydedilmediğinden olabilir.

  7. Murat Aydan
    Reply

    Tema değişimi sonrası bu sorunu yaşamıştım. Ayar sayfasında font adını kelime aralarına “+” koyarak yazıp; devamına da “&subset=latin-ext” ifadesini eklemek sorunu çözdü. Meğer ne kadar da kolaymış 🙂 Paylaşım için teşekkürler…

  8. Hakan Kahraman
    Reply

    Mehmet Hocam çok sağolun, ne zaman joomla cms ile ile ilgili bir sorunu internette arattırsak çözümü sizin makalelerinizde çıkıyor. Belirttiğiniz yöntem ile türkçe karakter sorunu çözüldü. Teşekkürler.

    1. fatih vural
      Reply

      Bu sorunu ben de yaşıyorum.. ve şuan çözüm arıyorum :S

      Dosis fontu kullandım ve Mehmet’in formül işe yaramadı..

  9. Tolga
    Reply

    Merhabalar. Benim sitemde kodlar şu şekilde eklenmiş:
    “”
    Bu durumda türkçe harfleri de göstermesi için lantin ext’i nereye eklemeliyim?
    Teşekkürler…

  10. ArskanY
    Reply

    Valla hocam Allah razı olsun. Blogger’de yaşıyordum bu sorunu ve sayenizde çözüldü. Yalnız Blogger’da subset=latin-ext’den hemen önce & yerine amp; koymak gerekiyor. Blogger dili & işaretlerini algılamıyor.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir