1 puan yazan GN⁺ 2023-11-10 | 1 yorum | WhatsApp'ta paylaş

Kod için yenilikçi bir font süper ailesi

  • Monaspace, ekrandaki kod gösterimi için teknolojik ilerleme sağlayan yeni bir tip sistemi.
  • Bilişim teknolojileri geliştikçe, kod görüntüleme ve düzenleme teknolojileri de gelişiyor.
  • Monaspace, renk ve kalın yazı tipinin ötesine geçen daha ifade gücü yüksek bir palet sunuyor.

Font oyun alanı

  • Monaspace fontları, farklı fontların birbiriyle karıştırılabilmesi için tasarlandı; böylece koda daha fazla anlam katılabiliyor.
  • Çeşitli font kombinasyonları sayesinde koda daha fazla yapı ve hiyerarşi kazandırılabiliyor.

Özellik: Doku iyileştirme

  • Monospaced tipler, tutarsız doku nedeniyle sorun yaşayabiliyor.
  • Doku iyileştirme, bu sorunu çözen yeni bir teknoloji ve monospace tiplerin yoğunluğunu daha eşit hale getiriyor.
  • Doku iyileştirme, OpenType'ın "contextual alternates" özelliği kullanılarak uygulanıyor.

Stiller

  • Monaspace'in üç değişken ekseni bulunuyor: ağırlık, genişlik ve eğim.
  • Her eksen çeşitli aralıklara sahip ve sabit adlandırılmış ağırlıklar ile stilleri tanımlıyor.

Kod ligatür özellikleri

  • Monaspace, çeşitli diller için kod ligatürleri içeriyor ve bunlar stilistik setler aracılığıyla etkinleştirilebiliyor veya devre dışı bırakılabiliyor.
  • Visual Studio Code'da, ayarlar üzerinden istenen stilistik set etkinleştirilebiliyor.

GN⁺ görüşü

Bu yazının en önemli noktası, Monaspace'in kod gösterimi için yeni bir tip sistemi sunması; bunun da geliştiricilere daha iyi bir kodlama deneyimi sağlama potansiyeli taşımasıdır. Doku iyileştirme gibi yenilikçi özellikler kodun okunabilirliğini artırıyor; değişken font eksenleri üzerinden özelleştirilmiş stiller uygulanabilmesi de bunu geliştiriciler için oldukça ilgi çekici bir konu haline getiriyor.

1 yorum

 
GN⁺ 2023-11-10
Hacker News görüşleri
  • "Texture Healing" özelliği, sorunlu monospace karakter kombinasyonlarını ızgarayı bozmadan iyileştirmek için OpenType özelliklerini kullanan çok akıllıca bir yöntem.

    • Zor karakter çiftleri (ör. mi, lm vb.) için ligature oluşturmanın basit yolu yerine, çevredeki karakterlere göre sabit genişliği farklı şekilde dolduran alternatif karakterleri seçen bir yaklaşım kullanıyor.
  • "Texture Healing"i gördükten sonra bu monospace yazı tipini bizzat denemek istedim.

    • Farklı stillerde yazı tipleri kullanma fikrini seviyorum ama ağırlıklı olarak terminal kullanan biri olarak hangi terminallerin bunu desteklediğini ya da CLI metin editörlerinde destek gerekip gerekmediğini bilmiyorum.
  • İnsanların "Mix & Match" örnekleri hakkında ne düşündüğünü merak ediyorum.

    • Radon (el yazısı stili yazı tipi) zaten italik olduğu için diğer yazı tipleriyle iyi uyum sağlıyor. Ancak geri kalan yazı tipleri, aynı metrikler ve diğer özellikler nedeniyle "authoritative docstrings" ile "Copilot voice" örneklerini ayırt etmeyi zorlaştırıyor.
  • Bu kadar çok ligature olmasına rağmen hâlâ yeterli olmadığını hissediyorum.

    • Fira Code'da *ptr içindeki * karakterinin yükseklik hizası, X:Y içindeki : karakterinin merkez hizası ve 0xFF içindeki x yüksekliğinin ayarlanması hoşuma gidiyor. Krypton varyantının görünüşünü seviyorum ama küçük t harfinin crossbar'ı, küçük c harfinin yüksekliğine göre fazla aşağıda kalıyor.
  • Radon yazı tipindeki Rd sembolü sayfada yanlış gösterilmiş, bu da kafa karıştırıyor. Gerçekten Rd ile başlayan bir element olup olmadığını kontrol etmek gerekiyor.

  • PragmataPro gibi dar yazı tiplerini neden daha sık görmediğimizi merak ediyorum.

    • Yaklaşık 10 yıldır PragmataPro kullanıyorum ama daha fazla seçenek görmek isterdim. Berkeley Graphics neredeyse 1 yıldır Berkeley Mono'nun dar bir sürümünü vaat ediyor ama ortada bir gelişme yok.
  • Monaspace yazı tipi monospace bayrağını ayarlamadığı için GTK2 gvim'de yazı tipini zorla yüklemem gerekiyor.

    • Görünüşe göre bu bayrak yüzünden ligature'ler etkinleşmiyor. Ama yamalanmış st içinde hem ligature'leri hem de text healing'i görebildim.
  • Noktalı 0ın bu tür yazı tiplerinde standart hâline gelmiş olması bana garip geliyor. 8 ile kolayca karışıyor; ben eğik çizgili 0ı tercih ediyorum.

  • Genelde Jetbrains Mono kullanıyorum ama farklı yazı tiplerine göre farklı stiller uygulama özelliği ve texture healing işlevi hoşuma gittiği için bu yazı tipine geçebilirim.

  • En azından VS Code'da "textual healing" özelliğinin programlama ligature'leriyle birlikte kullanılması gerekiyor. Ligature kullanmadan texture healing'i etkinleştirmenin bir yolu yok.