Hershey metin tabanlı bir vektör yazı tipi biçimidir
(wiki.xxiivv.com)- Hershey Fonts, 1967'de oluşturulmuş en erken dijital yazı tipi gösterimlerinden biridir ve
.jhfdosyaları, 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,ydeğerlerini gösterir;R0'a,Q-1'e,S+1'e karşılık gelir - Karakter değerleri
J=-8ileZ=+8arasında ilerler ve örneğinNW,-4,5koordinatı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'silength[3]: nokta sayısını gösteren ondalık değerleft[1]: sınır kutusunun sol konumuright[1]: sınır kutusunun sağ konumupoints[?]: satır sonuyla biten nokta listesi
- Tek bir nokta iki karakterden oluşur ve bunların her biri işaretli
x,ydeğ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
JileZarasında-8'den+8'e uzanır veR, 0 referans noktasıdırJ=-8,K=-7,L=-6,M=-5,N=-4,O=-3,P=-2,Q=-1R=0S=+1,T=+2,U=+3,V=+4,W=+5,X=+6,Y=+7,Z=+8
- Örneğin
NW,N=-4,W=+5olduğundan-4,5koordinatına karşılık gelir - İlgili kaynaklar
- Hershey Renderer, Uxntal
- Hershey Vector Font, Paul Bourke
- Hershey Fonts
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
Plotter ve sıradan kalın kalemle çizildiğinde nasıl göründüğünü gösteren fotoğraflar da olsa güzel olurdu
Özellikle sunduğu
.jhfdosyalarının iyi yapılandırılmış olması hoşuma gitti. İnternetteki birçok Hershey yazı tipinde tüm gliflerinidalanı12345olarak 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ıyorKısa süre önce Pimoroni Inky e-kağıt ekran ve Raspberry Pi denetleyiciyle uğraşırken Hershey yazı tipleri ve
.jhfdosya 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å,ä,öyokArtık Hershey yazı tiplerine benden 100 kat daha aşina gibisin; o yüzden ASCII tablosunun ilk 255 karakterini kadar içeren bir
.jhfyazı 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 soruyorumBu, 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?
Glif kimliği ile ASCII/Unicode karakterleri arasında bir eşleme varsa,
0gibi bir referans karakterin boyutlarından baseline hesaplanabilir gibi duruyorUzun 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