- 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
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
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ı
İşlerinin listesine Pouet profili üzerinden bakabilirsiniz
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
lsofile kontrol ettiğimde birden fazla fontun fallback olarak kullanıldığını gördümDejaVuSans, DroidSansFallback, Segoe UI Symbol gibi çeşitli fontlar karışıyordu ve sonuçta kusursuz bir render elde ediliyordu
Ş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
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
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