1 puan yazan GN⁺ 10 시간 전 | 1 yorum | WhatsApp'ta paylaş
  • Hershey Fonts, 1967'de oluşturulmuş en erken dijital yazı tipi gösterimlerinden biridir ve .jhf dosyaları, her satırın bir glifi temsil ettiği metin dosyalarıdır
  • Glif satırı id[5], length[3], left[1], right[1], points[?] bölümlerinden oluşur; ID ve nokta sayısı ondalık olarak kodlanır
  • Nokta koordinatları, iki karakterle işaretli x, y değerlerini gösterir; R 0'a, Q -1'e, S +1'e karşılık gelir
  • Karakter değerleri J=-8 ile Z=+8 arasında ilerler ve örneğin NW, -4,5 koordinatını ifade eder
  • Kalemi kaldırma işlemi, boşluktan sonra gelen büyük R, yani " R" ile gösterilir; bu, bir sonraki konuma kadar çizgi çizmemeyi belirten özel bir işlemdir

Biçime genel bakış

  • Hershey Fonts, 1967'de oluşturulmuş en erken dijital yazı tipi gösterimlerinden biridir ve Hershey vektör yazı tipi dosyası .jhf, her satırın bir glifi temsil ettiği bir metin dosyasıdır
  • Her glif satırı beş bölüm halinde kodlanır
    • id[5]: glifin ondalık ID'si
    • length[3]: nokta sayısını gösteren ondalık değer
    • left[1]: sınır kutusunun sol konumu
    • right[1]: sınır kutusunun sağ konumu
    • points[?]: satır sonuyla biten nokta listesi
  • Tek bir nokta iki karakterden oluşur ve bunların her biri işaretli x, y değerini gösterir
  • " R" gibi boşluktan sonra büyük R gelen konum, kalemi kaldırma işlemini ifade eder; bu durumda sonraki konuma kadar çizgi çizilmez

Değer eşlemesi ve referanslar

  • Karakter değerleri J ile Z arasında -8'den +8'e uzanır ve R, 0 referans noktasıdır
    • J=-8, K=-7, L=-6, M=-5, N=-4, O=-3, P=-2, Q=-1
    • R=0
    • S=+1, T=+2, U=+3, V=+4, W=+5, X=+6, Y=+7, Z=+8
  • Örneğin NW, N=-4, W=+5 olduğundan -4,5 koordinatına karşılık gelir
  • İlgili kaynaklar

1 yorum

 
Lobste.rs görüşleri
  • İlgilenen olursa, üzerinde çalıştığım küçük bir Hershey yazı tipi koleksiyonu var
    internette sık görülen diğer yazı tiplerine göre biraz daha modern bir hissi var

    • Harika. Plotter işleriyle daha çok uğraştığım zamanlarda kullanışlı yazı tipi çok azdı; bunlar yeni ve hoş görünüyor
      Plotter ve sıradan kalın kalemle çizildiğinde nasıl göründüğünü gösteren fotoğraflar da olsa güzel olurdu
    • Kullanışlı görünüyor
      Özellikle sunduğu .jhf dosyalarının iyi yapılandırılmış olması hoşuma gitti. İnternetteki birçok Hershey yazı tipinde tüm gliflerin id alanı 12345 olarak geçiyor ya da bazı gliflere zorunlu satır sonları eklenmiş oluyor; bu da dosya ayrıştırmayı ve metin çizmeyi gereksiz yere zorlaştırıyor
    • Gerçekten çok hoş görünen yazı tipleri
      Kısa süre önce Pimoroni Inky e-kağıt ekran ve Raspberry Pi denetleyiciyle uğraşırken Hershey yazı tipleri ve .jhf dosya biçimiyle karşılaştım. Sağlanan kütüphanede hatırladığım kadarıyla “Futural” yazı tipi vardı ve genel olarak iyi çalışıyor ama bir sorun var: İsveççe harfler å, ä, ö yok
      Artık Hershey yazı tiplerine benden 100 kat daha aşina gibisin; o yüzden ASCII tablosunun ilk 255 karakterini kadar içeren bir .jhf yazı tipi dosyası görüp görmediğini sormak istiyorum. Ben mi bulamıyorum, yoksa gerçekten yok mu emin olamadım; belki daha önce denk gelmişsindir diye soruyorum
  • Bu, Hershey’nin özgün verisinin Usenet Font Consortium (1986) tarafından yeniden işlenmiş sürümü; Calligraphy for Computers (1967, PDF) / A contribution to computer typesetting techniques : tables of coordinates for Hershey's repertory of occidental type fonts and graphic symbols içindeki asıl veri biçimine kıyasla oldukça 1986 usulü bir C programcısı özgürlüğü kullanılmış bir versiyon
    Asıl Fortran sabit alan biçimi aslında daha kolay işlenir görünüyor ama NTIS’in sağladığı veri teyplerinin kaybolduğu tahmin ediliyor. Usenet gönderisinde “gerçi kim o biçimi gerçekten kullanmak ister ki ...” gibi alaycı bir ifade de vardı
    Ayrıca bana, 2016 civarında en son baktığım Hershey OTF dönüştürücüsünü ya bitirmem, ya yayımlamam ya da tamamen bırakmam gerektiğini yeniden hatırlattığın için teşekkürler: scruss/python-hershey. Bu çılgın yazı tipi biçimine bir ara dalmış herkese selam
    Yeni bir vektör yazı tipi tavşan deliği daha: GIMMS, University of Edinburgh tarafından kullanılmış
    Frank Grießhammer, Hershey ve yaptığı çalışmalar hakkında güzel bir yazı ve çizimler bırakmış: Frank Grießhammer

  • Şu anda yazmakta olduğum yazılım renderer için bu biçim oldukça faydalı olabilir gibi görünüyor
    Oyuncak bir proje olduğu için OTF/TTF yazı tiplerini desteklemek ne istiyorum ne de buna ihtiyacım var; bu yüzden Hershey yazı tipleri, şu anki yaklaşımım olan olive.c esinli sabit genişlikli bitmap yazı tipine göre daha iyi ve düşük maliyetli bir iyileştirme gibi duruyor

  • Hm, baseline yok mu?

    • Şimdiye kadar gördüğüm örnekler glifleri dikey yönde ortak bir merkez çizgisine hizalıyor gibi görünüyor
      Glif kimliği ile ASCII/Unicode karakterleri arasında bir eşleme varsa, 0 gibi bir referans karakterin boyutlarından baseline hesaplanabilir gibi duruyor
  • Uzun zaman önce Hershey yazı tiplerini JSON biçimine dönüştürmüştüm
    Epey ayrıntılı ama işlemek ve okumak daha kolay. İsteyen olursa 2.6MB’lık dosyayı buradan alabilir

  • Deklaratif https://en.wikipedia.org/wiki/Metafont karşısında duran emperatif bir biçim gibi görünüyor

  • BGI yazı tipleri de benzer bir yapıya sahipti

  • Hershey yazı tiplerinin faydalı olmasının nedenlerinden biri, basit bir vektör biçimi olmaları; bu da sadece kalem plotter için değil, ekran gösterimi için başka efektler oluşturmayı da kolaylaştırıyor
    Örneğin AoC 2024 5. gün görselleştirmesinde, vektörden noktalar örneklenip kabarcıkların çekirdeklenme noktaları olarak kullanıldı: https://hachyderm.io/deck/@bazzargh/113599143062296178
    12. günde ise çizgiler yavaş yavaş çizdirilerek buz tutmuş bir pencereye yazı yazılıyormuş etkisi verildi: https://hachyderm.io/deck/@bazzargh/113639456289455465