2 puan yazan GN⁺ 2025-11-09 | 2 yorum | WhatsApp'ta paylaş
  • Kod düzenleyicilerinde görsel uyumu hedefleyen, programlama dillerinde sık kullanılan sembolleri harflerle eşdeğer ele alan monospace bir yazı tipi
  • ASCII sembol merkezli tasarım sayesinde ->, ::, =~ gibi çok karakterli sembollerin hizalamasını iyileştirir ve dengeli kalınlık ile net ayrışma sunar
  • Dil bazlı okunabilirlik gözetilerek Perl, Haskell, C gibi dillerde sembol ve operatör biçimleri net şekilde ifade edilir
  • Şu anda tek kalınlıkta ve ligatürsüz olarak sunuluyor; Linux'ta fontconfig·pango ortamında sentetik kalın desteği bulunuyor
  • SIL Open Font License 1.1 ile dağıtıldığı için serbest kullanım ve değişiklik mümkündür

Myna'ya genel bakış

  • Myna, sembolleri birinci sınıf glifler olarak ele alan bir monospace yazı tipidir; programlama dillerinde sembollerin görsel tutarlılığını artırmaya odaklanır
    • ->, $, @, % gibi sembollerin mevcut yazı tiplerinde tuhaf görünmesi sorununu çözer
    • ASCII'nin sadeliğini korurken ligatürlerin estetik etkisini taklit eder

Temel özellikler

  • Symbol-First Design: Programlama dillerinin genelinde kullanılan ASCII sembolleri merkez alarak tasarlanmıştır
  • Hizalama doğruluğu: ->, >>=, :: gibi çok karakterli sembollerin hizalama doğruluğunu artırarak kod okunabilirliğini geliştirir
  • Dengeli kalınlık (Weight): Semboller ile harfler arasındaki kontrast uyumlu biçimde korunur
  • Minimal biçim: Tırnak işaretleri ve virgül gibi öğeler geometrik formlarla sadeleştirilmiştir
  • Net ayırt edilebilirlik: 1, l, I, |, 0, O, o gibi kolay karışan karakterlerin ayrımı güçlendirilmiştir
  • Dil farkındalıklı tasarım: Perl'ün sigil'leri, Haskell operatörleri ve C'nin sembol gösterimleri ayrı ayrı net biçimde gösterilir

Geliştirme geçmişi ve mevcut durum

  • Mevcut monospace yazı tiplerindeki ayrıntılı gliflerden memnun kalınmadığı için doğrudan geliştirilen bir yazı tipi
  • Geliştirici tarafından profesyonel ve kişisel projelerde uzun süre kullanıldıktan sonra yayımlandı
  • Şu anda tek kalınlıkta, ligatürsüz sürüm olarak sunuluyor; talebe göre gelecekte genişletilebilir
    • Linux ortamında fontconfig ve pango üzerinden sentetik kalın desteği bulunur
  • SIL Open Font License 1.1 uygulanır
  • İlk sürüm, Hera'dan (Source Code Pro tabanlı özelleştirme) yola çıktı
  • Fira Mono, Inconsolata, Plex Mono, Office Code Pro, Anonymous Pro gibi çeşitli yazı tiplerinin güçlü yönleri referans alınarak geliştirildi

Gelecek planları

  • Hedef, terminal ve düzenleyici genelinde çok amaçlı kullanım
  • ASCII dışı bazı gliflerin (geometrik·matematiksel semboller vb.) eklenmesi
  • Topluluk geri bildirimine göre glif kapsamı genişletilecek ve yeni özellikler eklenecek

2 yorum

 
bobross0 2025-11-11

JetBrains fontunu kullanıyorum, ilgi çekiciymiş.

 
GN⁺ 2025-11-09
Hacker News görüşü
  • Yakın zamanda Iosevka'ya (telaffuzu Joseph) geçmemin nedeni tam olarak bu sadelikti.
    Iosevka GitHub bağlantısı
    İlginç olan, bu fontun kaynak kodunun yapısı o kadar açık ki gerçekten okunabiliyor.

    • Iosevka gerçekten çok güzel bir font. Myna'nın sıkıştırılmış görünümü (condensed look) de aslında Iosevka'dan ilham aldı.
      Önceki sürüm Hera, Source Code Pro'nun özelleştirilmiş ve sıkıştırılmamış bir versiyonuydu.
    • Iosevka yerleşik olarak özel derleme desteği sunuyor; bu sayede çeşitli glif varyasyonları ve ligature seçimleri yapılabiliyor. Oldukça etkileyici.
    • Iosevka'nın Joseph'ten türediğini ancak şimdi öğrendim. Yıllardır kullanıyorum ama nasıl telaffuz edildiğini bile bilmiyordum. README'de yazmasına rağmen.
    • Pragmasevka'yı da denemeye değer. Iosevka'dan ona geçtim; okunabilirliği bana biraz daha iyi geliyor.
    • Ben Iosevka Orw kullanıyorum. Standart Iosevka ile sıradan monospace arasında bir genişliği var, bu yüzden ideal geliyor.
  • Dürüst olmak gerekirse, “symbol-heavy diller için font” açıklamasını pek anlamadım. Semboller gayet sıradan görünüyor. Acaba aralıklar biraz daha mı geniş?

    • GitHub sayfasındaki ilk odak maddesi “Near-Perfect Alignment”. Yani ->, >>=, :: gibi çok karakterli semboller kusursuza yakın şekilde hizalanıyor demek.
    • Tasarımcı benim. Buradaki symbol-heavy dil ifadesi, Perl veya Haskell gibi sembol kullanımı yoğun dilleri anlatıyor. Ligature kullanmadan da hizalaması temiz bir font yapmak istedim.
    • Tasarım farkını anlatırken gerçek karşılaştırma örnekleri gerekir. Karşılaştırma görselleri olmayınca kafa karıştırıcı olması kaçınılmaz.
  • Font oldukça güzel. Ama örneklerde emdash (—) karakteri eksik gibi görünüyor. Markdown'ı sık kullanıyorum ve birçok programlama fontu bu karakteri kötü gösteriyor.
    Ekran görüntüleri, diğer fontlara kıyasla değerlendirme açısından çok daha faydalı.

    • Evet, em-dash basit bir karakterden fazlası. İyi yazının temel unsurlarından biri olduğunu düşünüyorum (yarı şaka yarı ciddi).
    • Geri bildirim için teşekkürler. Bu fontta en-dash'i geniş yaptığım için em-dash'ten ayırt etmek zor. Ben em-dash'i neredeyse hiç kullanmadığım için buna ihtiyaç duymamıştım.
      Yine de talep olursa iyileştirmeyi değerlendireceğim.
  • Birçok fontta olduğu gibi bunda da dikey okların (↑↓) hizası garip duruyor.
    ^ karakteri aslında daktilo döneminde circumflex aksanı için vardı. Bu yüzden yüksekliği simetrik değil. Caret'in alt kısmı v ile simetrik olsa daha iyi olur diye düşünüyorum.

    • Caret'in yukarı-aşağı ok olarak kullanıldığını hiç görmedim. Simetrik olmasının şart olduğunu da düşünmüyorum.
    • Caret'i dikey ok olarak kullanmak pratik değil. İki satıra yayarak yazmak gerekir. Gerçekten bunu yapan bir dil var mı merak ediyorum.
    • Yoksa satırlar arası ligature mi yapmaya çalışıyorsun? Doğrudan Unicode kullanmak daha iyi olmaz mı?
    • Tasarımcı benim. Bu tür birleşimleri algılamak zor, ayrıca caret aslında bir operatör sembolü, dolayısıyla programatik anlamı bozulmamalı. v ile kıyaslamak adil değil.
    • Caret'in tarihsel nedeni önemli değil. Artık herkes o şekle alışkın. Böyle özel bir durum için fontu değiştirmek daha çok kafa karışıklığı yaratır.
      Fontlar öngörülebilir şekilleri korumalı.
  • -> oka benzemiyor” şikâyetine karşı asıl çözüm, ←→ gibi gerçek okları kullanmak. Umarım bir gün diller daha iyi tipografik kaliteyi destekler.

    • Tasarımcı benim. Zarafet ve tutarlılığı aynı anda elde etmek imkânsız. Biz ligature olmadan da ASCII tabanlı kodun iyi görünmesi için uğraşıyoruz.
    • Ligature'ler zaten var.
  • JuliaMono, Julia dilinin tam Unicode desteği için tasarlanmış bir font.

    • Bağlantı için teşekkürler. Glif seti çok zengin görünüyor. Font sınırlarını aşmak için JuliaMono2, 3, 4 gibi bir fallback sistemi kullanması da ilginç.
    • Tasarımcı benim. Ben çoğunlukla ASCII aralığında çalışıyorum ama Unicode kapsamını genişletmek için Myna'da JuliaMono'yu yardımcı font olarak ayarlayabilirsiniz.
  • Font güzel ama üstteki “Lorem” yazısında harf aralıkları fazla açık görünüyor; kerning biraz tuhaf hissettiriyor. Şahsen gözüme takılıyor.

    • Tasarımcı benim. Her gün kullandığım için kusurlarına karşı körleşmiş olabilirim. Yine de eleştiri yerinde. Sonraki sürümde kerning düzeltmesini düşüneceğim. Elinizde somut örnek varsa lütfen issue açın.
  • Ligature geliştiriciler arasında epey tartışmalı bir konu.
    Kimi insanlar kodu daha güzel ve okunabilir hale getirdiğini düşünüyor, kimileri ise “sembolleri gizlemek gereksiz ya da dürüst değil” diyor.
    Bazıları da “diller Unicode'u düzgün destekleseydi ligature'e gerek kalmazdı” görüşünde.
    Sonuçta bu proje üç tarafı da aynı anda biraz kışkırttı ama bu yüzden daha da ilginç. GitHub'da yıldız verdim.

    • Çoğu editörde ligature'ler isteğe bağlı olarak açılıp kapatılabiliyor. Bu yüzden kimse dışlanmış olmuyor.
  • Semboller küçük harflerin yanında fazla yukarıda konumlanmış gibi. Parantez hizasına uydurma çabasının sonucu gibi duruyor. Denge hissi biraz eksik.

    • Tasarımcı benim. Genel amaçlı fontlar metin odaklı olduğu için geleneksel hizalamayı izler, ama kod metin değildir.
      Geleneği bozmak bazen okunabilirliği artırır. Tireyi > ile hizalanıp ok biçimi oluşturacak şekilde tasarladım.
  • Halihazırda Myna UI diye bir ikon fontu var. Karışıklık yaratabilir gibi.

    • Tasarımcı benim. Haber verdiğin için teşekkürler. Yine de büyük bir karışıklık olacağını sanmıyorum.