1 poin oleh GN⁺ 10 jam lalu | 1 komentar | Bagikan ke WhatsApp
  • 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

 
GN⁺ 10 jam lalu
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

    • Keren. Saat saya lebih sering mengerjakan proyek plotter, saya selalu merasa pilihan font yang layak pakai terlalu sedikit, dan font-font ini terasa baru dan enak dilihat
      Akan bagus juga kalau ada foto bagaimana tampilannya saat digambar dengan plotter dan pena tebal biasa
    • Kelihatannya berguna
      Saya terutama suka karena file .jhf yang disediakan terstruktur dengan baik. Banyak font Hershey di internet punya field id semua glyph bernilai 12345, atau ada line break paksa di sebagian glyph, yang cuma bikin parsing file dan menggambar teks jadi lebih sulit tanpa alasan
    • Font-font ini benar-benar enak dilihat
      Belakangan 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 .jhf yang 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 melihatnya
  • Ini 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?

    • Contoh-contoh yang saya lihat sejauh ini tampaknya menyelaraskan glyph ke garis tengah vertikal yang seragam
      Kalau ada pemetaan antara ID glyph dan karakter ASCII/Unicode, sepertinya baseline bisa dihitung dari dimensi karakter acuan seperti 0
  • Dulu 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