- Hershey Fonts adalah salah satu representasi font digital awal yang dibuat pada 1967, dan file
.jhf merupakan file teks dengan setiap baris mewakili satu glif
- Baris glif terdiri dari
id[5], length[3], left[1], right[1], points[?], dengan ID dan jumlah titik dienkode dalam desimal
- Koordinat titik merepresentasikan nilai
x, y bertanda dengan dua karakter, dan R setara dengan 0, Q dengan -1, S dengan +1
- Nilai karakter berlanjut dari
J=-8 hingga Z=+8, misalnya NW berarti koordinat -4,5
- Mengangkat pena ditandai dengan
" R", yaitu huruf kapital R setelah spasi, sebagai operasi khusus untuk tidak menggambar garis hingga posisi berikutnya
Gambaran format
- Hershey Fonts adalah salah satu representasi font digital awal yang dibuat pada 1967, dan file font vektor Hershey
.jhf adalah file teks dengan satu baris mewakili satu glif
- Setiap baris glif dienkode dalam lima bagian
id[5]: ID desimal glif
length[3]: nilai desimal yang menunjukkan jumlah titik
left[1]: posisi kiri kotak pembatas
right[1]: posisi kanan kotak pembatas
points[?]: daftar titik yang diakhiri dengan baris baru
- Satu titik terdiri dari dua karakter, masing-masing merepresentasikan nilai
x, y bertanda
- Posisi seperti
" R", yaitu huruf kapital R setelah spasi, berarti operasi mengangkat pena sehingga tidak menggambar garis hingga posisi berikutnya
Pemetaan nilai dan referensi
- Nilai karakter berlanjut dari
J hingga Z sebagai -8 sampai +8, dengan R sebagai acuan 0
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
- Sebagai contoh,
NW berarti N=-4, W=+5, sehingga sesuai dengan koordinat -4,5
- Referensi terkait
1 komentar
Komentar Lobste.rs
Kalau ada yang tertarik, saya sedang membuat koleksi kecil font Hershey
Rasanya sedikit lebih modern dibanding banyak typeface lain yang sering terlihat online
Akan bagus juga kalau ada foto bagaimana tampilannya saat digambar dengan plotter dan pena tebal biasa
Saya terutama suka karena file
.jhfyang disediakan terstruktur dengan baik. Banyak font Hershey di internet punya fieldidsemua glyph bernilai12345, atau ada line break paksa di sebagian glyph, yang cuma bikin parsing file dan menggambar teks jadi lebih sulit tanpa alasanBelakangan saya bermain-main dengan display e-ink Pimoroni Inky dan kontroler Raspberry Pi, lalu menemukan font Hershey dan format file
.jhf. Kalau tidak salah, pustaka yang disediakan punya font “Futural”, dan secara umum bekerja baik, tapi ada satu masalah: tidak ada huruf Swediaå,ä,öKarena sekarang Anda sepertinya 100 kali lebih akrab dengan font Hershey daripada saya, saya ingin bertanya apakah Anda pernah melihat file font
.jhfyang memuat kira-kira 255 karakter pertama tabel ASCII. Saya tidak tahu apakah saya yang tidak berhasil menemukannya, atau memang tidak ada, jadi saya penasaran apakah Anda pernah melihatnyaIni adalah versi olahan ulang data asli Hershey oleh Usenet Font Consortium (1986), dan untuk format data 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, versi ini mengambil kebebasan yang sangat khas programmer C tahun 1986
Format field tetap Fortran aslinya justru tampak lebih mudah ditangani, tetapi pita data yang dulu disediakan NTIS tampaknya sudah hilang. Di postingan Usenet bahkan ada sindiran seperti, “siapa juga yang benar-benar mau memakai format itu …”
Dan terima kasih sudah mengingatkan saya lagi bahwa saya harus menuntaskan, merilis, atau menyerah pada konverter Hershey ke OTF yang terakhir saya lihat sekitar 2016: scruss/python-hershey. Salam untuk semua yang pernah sekali-sekali bergulat dengan format font gila ini
Ada juga satu liang kelinci font vektor baru: GIMMS, yang dipakai di University of Edinburgh
Frank Grießhammer menulis artikel dan membuat ilustrasi yang bagus tentang Hershey dan karyanya: Frank Grießhammer
Sepertinya format ini akan cukup berguna untuk software renderer yang sedang saya tulis
Ini proyek iseng, jadi saya tidak ingin maupun perlu mendukung font OTF/TTF, dan font Hershey tampak seperti peningkatan yang lebih baik dan murah dibanding font bitmap monospace yang terinspirasi dari cara saat ini di olive.c
Hmm, apakah tidak ada baseline?
Kalau ada pemetaan antara ID glyph dan karakter ASCII/Unicode, sepertinya baseline bisa dihitung dari dimensi karakter acuan seperti
0Dulu sekali saya mengonversi font Hershey ke JSON
Memang cukup bertele-tele, tetapi lebih mudah diproses dan dibaca. Kalau ada yang ingin, file 2.6MB-nya bisa diambil di sini
Terlihat seperti format imperatif sebagai padanan dari https://en.wikipedia.org/wiki/Metafont yang deklaratif
Font BGI juga punya struktur yang mirip
Salah satu alasan font Hershey berguna adalah karena ini format vektor yang sederhana, jadi mudah dipakai bukan hanya untuk pen plotter tetapi juga untuk membangun efek lain untuk tampilan layar di atasnya
Misalnya, pada visualisasi AoC 2024 hari ke-5, titik-titik diambil sampelnya dari vektor lalu dipakai sebagai titik nukleasi gelembung: https://hachyderm.io/deck/@bazzargh/113599143062296178
Pada hari ke-12, garis-garisnya digambar perlahan untuk menghasilkan efek seperti menulis di jendela yang berembun: https://hachyderm.io/deck/@bazzargh/113639456289455465