1 puan yazan GN⁺ 2025-12-16 | 1 yorum | WhatsApp'ta paylaş
  • Unscii, klasik sistem yazı tiplerini temel alan bir bitmap Unicode yazı tipi seti olup karakter hücresi sanatı ile terminal ve programlama ortamlarının tamamı için uygun bir yapı sunar
  • Başlıca sürümler unscii-8 (8×8 piksel) ve unscii-16 (8×16 piksel) olup, çeşitli alternatif stiller ile eksik glifleri tamamlayan full varyantını içerir
  • Unicode 13.0’daki ‘legacy computing’ karakter eklemelerini yansıtacak şekilde Unscii 2.0 yayımlandı; mevcut hatalar düzeltildi, okunabilirlik iyileştirildi ve yeni karakterler eklendi
  • Amiga, Commodore 64, IBM PC gibi klasik sistem yazı tiplerinin görsel özellikleri incelenerek nötr ve tutarlı biçimler oluşturuldu
  • Eski karakter sanatı ile modern Unicode ortamları arasında köprü kuran bir araç olarak ASCII art ve terminal grafiklerinin yeniden üretilmesinde önemli rol oynar

Unscii genel bakış

  • Unscii, klasik sistem yazı tiplerini temel alan bir bitmap Unicode yazı tipi setidir
    • Karakter hücresi sanatı için uygundur ve terminal ile programlama ortamlarında da kullanılabilir
  • İki ana varyant bulunur: unscii-8 (8×8 piksel), unscii-16 (8×16 piksel)
    • unscii-8 için çeşitli alternatif stiller vardır
    • unscii-16-full, Fixedsys Excelsior ve GNU Unifont’taki eksik glifleri içerir
    • unscii-16-full GPL, diğer varyantlar ise public domain lisanslıdır
  • Yaratan kişi Viznut

Unscii 2.0

  • Unicode 13.0 (2020-03-10) ile ‘legacy computing’ için 214 grafik karakteri eklendi
    • PETSCII, Teletext/Videotex gibi daha önce eksik olan karakterler buna dahildir
    • Unscii 1.x’te zaten bulunan bazı karakterler resmî Unicode eşlemelerine kavuştu
  • Unscii 2.0’ın ana güncelleme nedeni bu eşlemeleri yansıtmaktı
  • Buna ek olarak bazı karakterlerde hata düzeltmeleri, okunabilirlik iyileştirmeleri ve yeni karakter eklemeleri yapıldı
  • Unicode’da şu anda kullanılabilen karakterler için test görselleri sunuluyor

Örnekler (EXAMPLES)

  • Amiga ANSI art: Hellbeard’in Divine Stylers çalışması, unscii-16 ile render edildi
  • PC ANSI art: Rad Man’in Ansi Love çalışması, unscii-16 ile render edildi
  • Commodore 64 PETSCII resmi: Redcrab’in I Has Floppy, Dr.TerrorZ’un The First Ball, Mermaid’in Gary
  • Kaynak kod paketinde bir bitmap→Unscii dönüştürücü bulunur
    • 256 renkli xterm paletini kullanan unscii-8 dönüşüm örneği verilir

İndirmeler (DOWNLOADS)

  • Gerçek bitmap biçimleri iki tanedir: HEX ve PCF
    • HEX, Unifont projesiyle aynı basit hexdump biçimidir
    • TTF, OTF, WOFF ise vektörleştirilmiş sürümlerdir
  • PCF sürümünde U+FFFF üzerindeki karakterler bulunmaz
    • Ancak yeni grafik karakterler PUA (Private Use Area) aralığında sunulur
    • Eşleme bilgisi <uns2uni.tr> dosyasında yer alır

Arka plan (BACKSTORY)

  • Unicode’da sözde grafik (pseudographic) karakterler vardır, ancak ANSI art içinde neredeyse hiç kullanılmazlar
    • MUD gibi ortamlarda da yalnızca MS-DOS code page 437’nin blok karakterleri kullanılmıştır
  • Bunun nedeni mevcut Unicode yazı tiplerinde CP437 dışı grafik karakter uygulamalarının eksik olmasıydı
    • Unicode Consortium, sözde grafik uygulamalarına çok az ilgi gösterdi
    • “Yazı tipi yoksa sanat da yok, sanat yoksa yazı tipi de yok” şeklinde bir kısır döngü vardı
  • Bunu çözmek için Unscii, sanatla uyumlu bir Unicode yazı tipi olarak geliştirildi

Tasarım temeli

  • 8×8 sistem yazı tipleri, çizgi kalınlığına göre 1 piksellik ve 2 piksellik olarak ayrılır
    • Unscii 2 piksellik yaklaşımı benimsedi; bu da klasik sistemler arasında daha yüksek benzerlik sayesinde nötr biçimler üretmeyi kolaylaştırdı
  • 8×8 sürümünün görsel temelini oluşturan sistemler:
    • Amiga (Topaz-8), Amstrad CPC, Atari 8-bit/Arcade/32-bit, BBC Micro, Commodore 64, IBM PC (CGA/VGA 80×50)
  • 8×16 sürümü, 8×8’in dönüştürme ilkelerine göre genişletildi
    • Başvurulan yazı tipleri: Windows Fixedsys, IBM PC VGA, X Window 8x13/9x15, Macintosh Monaco, Digital VT420, DejaVu Sans Mono, Lucida Console, Inconsolata
  • Öncelik nötr biçimlere verilse de sanat bağlantısallığı veya okunabilirlik gerektiğinde ayarlamalar yapıldı
    • Örneğin /\\XY, ASCII art bağlantısallığını korur; iIl karakterlerindeki serifler daha uzun olacak şekilde ayarlanmıştır
  • Tanımlanmamış 8×16 glifler, 8×8’in yüksekliği iki katına çıkarılmış sürümüyle değiştirilir

Ek varyantlar ve karakter eşlemeleri

  • Oyun yazı tipleri ve ince çizgili yazı tipleri incelenerek unscii-8-thin, unscii-8-mcr, unscii-8-fantasy üretildi
  • Unicode’da bulunmayan yüzlerce karakter PUA alanına eşlendi
    • U+E080..E0FF: Teletext/Videotex blok mozaikleri
    • U+E100.. : PETSCII, Videotex yumuşak mozaikleri, ek gölgelendirme, yuvarlak köşeler vb.
    • U+E800.. : standart dışı ama kullanışlı kesişim çizgileri, çapraz çizgiler, doğrusal olmayan desenler vb.
    • U+EC00.. : oyun odaklı bitmap’ler gibi sıra dışı karakterler
  • Unicode 13.0 sonrasında bazı karakterler resmî Unicode’a dahil edilmiş olsa da, uyumluluk için PUA eşlemeleri korunur

1 yorum

 
GN⁺ 2025-12-16
Hacker News yorumları
  • Konudan biraz sapıyor ama ilgili bir şey
    Eskiden HTML + Canvas ile Space Invaders tarzı bir oyun yaparken IBM PC OEM fontlarını ararken VileR'in The Ultimate Oldschool PC Font Pack paketini bulmuştum
    Sayısız ROM'dan OEM fontları ve onların varyasyonlarını geri çıkarmak için gösterilen emek gerçekten şaşırtıcı
    Site yalnızca çok ayrıntılı bir arşiv sunmuyor, aynı zamanda canlı önizleme ve en-boy oranı düzeltmesi gibi özellikler de veriyor; bu da gezinmeyi çok keyifli hale getiriyor
    Orada çeşitli OEM fontlarını karşılaştırıp projem için en uygun olanı bulmakla saatler geçirmiştim

    • Bu paketteki Px437 Verite 9x6 fontunu yıllardır ana terminal fontum olarak kullanıyorum
      ANSI art gibi retro kullanım alanları için de harika, modern ortamlara da kusursuz uyuyor
  • Viznut'un yaptığı ses/görüntü live coding aracı IBNIZ'i bir performansta kullanmıştım
    Gerçekten ateşli bir deneyimdi
    IBNIZ bağlantısı

    • Viznut gerçekten çok sayıda inanılmaz proje üretti
      İşlerinin listesine Pouet profili üzerinden bakabilirsiniz
    • Bu demoya bayılıyorum
      Onun acayipliği ve dehası kıskandırıyor; ben de onu izlerken biraz olsun bulaşmış olmasını umuyorum
  • Yerel Nerd Font kurulumum bazı grafik gliflerini desteklemiyor
    Böyle şeylerin eklenmesi güzel olurdu

    • Iosevka Nerd Font kullanan st terminalinde doğru çıktı alabildim
      lsof ile kontrol ettiğimde birden fazla fontun fallback olarak kullanıldığını gördüm
      DejaVuSans, DroidSansFallback, Segoe UI Symbol gibi çeşitli fontlar karışıyordu ve sonuçta kusursuz bir render elde ediliyordu
    • İlgili konu GitHub #1959 içinde var
    • Bence Nerd Font standart dışı, o yüzden pek iyi değil
  • Şu anda bir MUD yapıyorum ve bu fontlar tam da istediğim tarz
    Mükemmel zamanlamayla yapılan bu paylaşım için teşekkürler

  • Terminale sonunda Sixel desteği gelmesiyle birlikte
    Sixel wiki'de de görüldüğü gibi, sanki 40 yıl sonra tam bir tur dönmüşüz gibi hissettiriyor

    • Ama Sixel zaten 1988'de terminallere gelmişti
      9600bps seri bağlantı üzerinden sıkıştırılmamış renkli raster verisi taşımak korkunç bir fikirdi
      Bugün gigabit ortamdayız, bu yüzden kullanıcının zamanı daha az boşa gidiyor ama hâlâ CPU ve karmaşıklık israfı
      Keşke web tarayıcılarında FTP ya da Gopher desteği olsaydı
  • Constantine Bytensky'nin cnxt fontu da benzer bir çizgide
    unscii'yi seviyorsanız cnxt'i de beğenirsiniz
    CNXT, “Constantine’s Nine x Twenty” ifadesinin kısaltması

  • Site şu anda açılmıyor ama ben herhangi bir monospace font ile çalışan bir yan proje yapmıştım
    Binary veriyi Unicode'a dönüştürüyor ve geri çeviriyor, ayrıca kontrol karakterlerini ilgili sembollerle değiştiriyor
    printable-binary projesi
    Bir UTF-8 karakteri (1~3 bayt), girdi verisinin 1 baytına karşılık geliyor; ortalama olarak boyut yaklaşık %70 artıyor ama
    UTF-8 anlayan her ortamda binary bağımsızlığı kazanıyorsunuz

    • Güzel fikir
      Ama gerçek hizmetlerde base64 boyutu yalnızca %33 artırdığı için daha verimli olabilir
  • Bu tür fontlar gerçekten çok havalı
    O ASCII art hissini özlediğim için bunu blog platformum lmno.lol'a afiş biçiminde ekledim

  • Unscii harika
    Bir zamanlar mobilde de kullanılabilen basit bir Unscii art editörü yapmıştım
    unicode-drawing-club.netlify.app

  • Favicon, The Grate Book of Moo'nun logosuyla neredeyse aynı ya da ona çok benziyor
    Hacker News için fazla niş bir referans olabilir ama fark edecek birilerinin çıkacağını düşünüyorum