GNU/Linux'de Font Demosu Oluşturmak

Merhabalar,

Bu yazımda sizlere basit GNU/Linux komutları kullanarak bir ya da birden çok font  için demo görseller oluşturmayı göstereceğim. Bazı durumlarda bir yazısının, bir ya da birden çok fontta nasıl göründüğünü merak ediyor olabiliriz. Bu ve benzeri durumlarda bu yazıda göstereceğim yöntemi kullanabilirsiniz. Bu yazının banner görseli de bu yöntem ile oluşturulmuştur. Ayrıca takip edenleriniz varsa son yazılım gündemi yazısındaki (bkz: Yazılım Gündemi - 2020/03) JetBrains Mono yazı tipi haberindeki görseli de bu yöntemle oluşturdum 🙂 O halde başlayalım.

Bu komutların çalışabilmesi için sisteminizde imagemagick kütüphanesinin kurulu olması gerekir.

Komutumuz:

convert -size 900x300 xc: -annotate +10+10 "JetBrains-Mono-Regular" -gravity center -pointsize 42 -font "JetBrains-Mono-Regular" -annotate +0+0 'ABCDEF\nabcdef\n012345\n!@$%%\nğüşçöi {([])}' deneme.png

Bu komutun çıktısı ise:

Komutu inceleyelim:

  • -size 900x300: Oluşturacağımız görselin boyutları ENxBOY px şeklinde
  • -annotate +10+10 "JetBrains-Mono-Regular": Görelin içerisinde soldan +10 pixel ve üstten +10 pixelde konumlanacak bir yazı ekliyoruz. Bu yazı fontumuzun ismi oluyor. Örnek çıktıda sol üstte gördüğünüz küçük yazılmış font isminden bahsediyorum.
  • -gravity center -pointsize 42 -font "JetBrains-Mono-Regular" -annotate +0+0 'ABCDEF\nabcdef\n012345\n!@$%%\nğüşçöi {([])}': Oluşturduğumuzun görselin tam ortasında 42pt büyüklüğünde fontu "JetBrains-Mono-Regular" olan bir yazı ekliyoruz. Bu da zaten örnek çıktıda tam ortada gördüğümüz karakterler oluyor.
  • deneme.png: Bu da zaten tahmin edebileceğimiz üzere oluşturulacak olan dosyanın ismi.

Komuttaki hemen her şeyi kendinize göre özelleştirebilirsiniz tabii ki de fakat "ee ne anladım bundan! Tüm fontlar için tek tek komut mu çalıştıracağım?" dediğinizi duyar gibiyim fakat aceleye gerek yok. İmdadınıza basit GNU/Linux komutları yetişiyor. Şöyle ki:

convert -list font | awk -F: '/^\ *Font: /{print substr($NF,2)}' | while read font ; do convert -size 600x400 xc: -annotate +10+10 "$font" -gravity center -pointsize 42 -font "$font" -annotate +0+0 'ABCDEF\nabcdef\n012345\n!@$%%\nğüşçöi {([])}' "$font".png ; done

Bu komutları da inceleyelim:

  • convert -list font: convert aracıyla kullanılabilecek sisteminizde yüklü tüm fontların listesini verir.
  • awk -F: '/^\ *Font: /{print substr($NF,2)}': Bir önceki komutun yazdırdığı font listesindeki gereksiz kısımları siler.
  • while read font ; do ... done: Bir önceki komut tarafından temizlenmiş font isimlerini tek tek okur ve $font isimli değişkene aktarır ve do'dan sonra gelen komutu o liste bitene kadar çalıştırır. Burada $font değişkeni de komutun içerisindeki ilgili yerlerde kullanılmış, oralara dikkat edin. Bir önceki aşamada elle yazdığımız font isimleri yerine artık bu değişken geliyor.

Örnek birkaç çıktıya bakalım:

Görsellere tıklayarak büyültebilirsiniz.

Çeşitli bash betikleri yazarak bu komutları daha da geliştirebiliriz tabii, hatta ben ileride bunun için bir bash betiği yazmayı düşünüyorum ama şimdilik bu kadarı yeterli olur diye düşünüyorum.

Başka bir GNU/Linux yazısında görüşmek üzere...

 

Etiketler: #GNU #Linux #ImageMagick #Font #Demo #Bash #Betik

BeğenFavori PaylaşYorum yap
Tüm blog yazılarını gör