Font “Wire” (satu dimensi)

17

Semua font yang pernah saya dengar adalah dua dimensi : setiap mesin terbang pada dasarnya adalah wilayah dua dimensi (kontur tertutup atau beberapa kontur tertutup), yang perangkat lunak atau printer entah bagaimana membelai atau mengisi tergantung pada instruksi yang diberikan oleh pengguna. Saya ingin tahu apakah ada font satu dimensi , di mana mesin terbang dideskripsikan hanya sebagai kumpulan segmen (yang mana perangkat lunak dapat menggerakkannya tetapi tidak harus mengisi), bukan wilayah.

Dengan kata lain (atau lebih baik, dalam gambar), apa yang ingin saya miliki adalah yang kiri dan bukan yang kanan pada gambar di bawah. Apakah ini ada?

Dari surat dua dimensi ke satu dimensi

(maaf untuk fotonya, saya tahu itu benar-benar buruk; Saya hanya melakukannya dengan cepat)

Giovanni Mascellani
sumber
Mungkin kami perlu menjawab graphicdesign.stackexchange.com/questions/64626/… sebelum kami benar-benar dapat menjawab pertanyaan Anda
Ryan
Apa aplikasi yang Anda inginkan untuk font? Saya tidak dapat melihat kegunaan dalam font stroke tunggal untuk mendesain jadi saya berasumsi Anda menginginkan ini untuk cetak biru atau ukiran. Program apa yang Anda inginkan untuk menggunakan font?
DavidC
5
Masih ada dua dimensi, tidak ada di dalamnya: P
Zach Saucier
8
Hal yang paling dekat dengan font satu dimensi adalah barcode.
Gerald Schneider
Sama seperti ide aplikasi, saya menulis demo Raspberry Pi untuk merencanakan jalur SVG pada osiloskop XY - ini akan sempurna untuk itu. Harus diakui ini adalah media yang tidak biasa (seperti halnya pena-plotter saya bermaksud menggunakannya nanti).
Chris H

Jawaban:

23

Dalam komplotan, ini disebut "font stroke", " font baris tunggal ", "font ukiran", "font huruf teknis", atau hanya "font plotter".

Plotter membelai gambar ke kertas menggunakan pena. Itu tidak dapat mengisi gambar kecuali dengan membelai berulang kali dengan lebar kurang dari satu pena. Jadi font yang dirancang untuk digunakan dengan komplotan akan berisi mesin terbang dengan satu stroke ("simplex"), dua stroke paralel ("duplex"), atau tiga stroke ("triplex"). Font dengan stroke lebih banyak membutuhkan waktu lebih lama untuk menggambar tetapi memungkinkan lebih banyak variasi dalam goresan lebar dalam mesin terbang. Menggunakan pena yang terlalu sempit untuk mesin terbang pada ukuran tertentu akan menyebabkan celah yang terlihat di antara sapuan.

Salah satu contoh font yang kebanyakan simpleks adalah Hershey Vector Font . Pada tanda @, tanda kurung [], kawat gigi {}, dan tilde ~adalah dupleks.

Mesin terbang di Hershey Vector Font

Jika Anda pernah melihat " papan tulis tebal ", itu adalah huruf 𝕕𝕦𝕡𝕝𝕖𝕩 dengan lebar pena kurang dari jarak antara goresan.

BOLD dalam font serif dupleks

Pustaka pencitraan sekolah tua mendukung font stroke dengan cara yang sama seperti plotter. Saat merender teks, aplikasi akan mengatur lebar dan warna goresan sebelum menggambar teks, seperti halnya sebelum menggambar garis. Ini analog dengan memilih pena pada plotter.

Tetapi pustaka pencitraan raster modern menggunakan font OpenType, yang berisi garis besar TrueType atau CFF (PostScript Type 2). Font OpenType mensimulasikan font stroke sebagai gantinya berisi garis besar stroke di beberapa garis lebar. Operasi membelai ini dapat dibalik dengan memasang garis besar glyph dengan jarak setengah stroke stroke, semacam kebalikan dari tebal algoritmik.

Damian Yerrick
sumber
Bingo! Mereka memang ada tetapi sangat tidak berguna kecuali digunakan untuk BluePrints, ukiran, atau aplikasi Laser. Mendesain aplikasi seperti Adobe, Corel, dll. Susah bahkan merendernya, sehingga tidak banyak digunakan untuk benar-benar mendesain.
DavidC
@ DavidvidC: Pada platform grafis yang dapat menerapkan transformasi secara terpisah ke pena gambar dan font secara mandiri, font stick dapat bekerja dengan baik jika seseorang menggunakan pena elips yang sangat tipis dan menerapkan transformasi tipis ke sana (menghasilkan tampilan seperti pena kaligrafi). Melakukan hal itu tampaknya bekerja lebih baik dengan font yang hampir seperti tongkat daripada dengan font yang memiliki lebar goresan normal.
supercat
10

Sebagian besar aplikasi teknik mendukung font hanya dengan garis dan ketebalan pasokan pengguna. Seperti halnya cukup banyak mesin ukiran dan penggilingan. Beberapa font ada meskipun mereka tidak akan bekerja dengan sangat baik dalam perangkat lunak modern (jika ada).

Ini masalahnya: Mesin font telah mengalami kemunduran sejak kami tidak menggunakan PostScript. Maaf tidak ada solusi mudah. Jadi seseorang dapat memiliki semua jenis barang pada hari yang tidak lagi memungkinkan pada kebanyakan komputer. Hampir tidak ada aplikasi yang mendukung ini bahkan jika ini tidak bekerja di svg karena definisi font svg sudah tidak digunakan lagi dari browser.

Masalahnya adalah tidak ada format universal untuk font semacam itu. Dan font sendiri akan mengalami kegagalan fungsi dalam banyak kasus. Aplikasi normal akan memperlakukannya aneh. Lihat:

  • Pertanyaan lain tentang topik plak star-trek-interior- mana Anda dapat menemukan font seperti ini yang dapat bekerja pada beberapa aplikasi.

Jongware telah membuat skrip yang disebut gambar teks monoline untuk ilustrator misalnya Anda bisa mendapatkannya di sini:

Dimungkinkan untuk membuat font Anda sendiri dari jenis ini di PostScript meskipun menggunakan font tipe 3 (tetapi dukungan tidak lagi lebar *, meskipun ilustrator dapat menggunakan ini dalam beberapa keadaan). Dukungan dalam aplikasi desain jarang. Tetapi saya benar-benar menggunakan ini sepanjang hari ketika melakukan ostScript. Berikut ini contohnya (font untuk penggunaan khusus hanya   diedit untuk demo ini):

%!PS-Adobe-3.0 EPSF-3.0
%%BoundingBox: 0 0 200 40
%%Title: Demo type 3 font
%%Creator: Janne Ojala
%%CreationDate:  2015-12-23
%%EndComments

% set stroking characteristics
5 setlinewidth 
1 setlinecap
1 setlinejoin

% lets define the font
10 dict dup begin
  /FontType 3 def
  /FontMatrix [.01 0 0 .01 0 0] def
  /FontBBox [-2 0 52 102] def

  /Encoding 256 array def
  0 1 255 {Encoding exch /.notdef put} for 

  Encoding
    dup (L) 0 get /L put
    dup (a) 0 get /a put
        (b) 0 get /b put

  /Metrics 4 dict def
  Metrics begin
    /.notdef 30 def
    /L 65 def
    /a 65 def
    /b 55 def
  end

  /BBox 4 dict def
  BBox begin
    /.notdef [0 0 0 0] def
    /L [0 0 75 100] def
    /a [25 0 75 100] def
    /b [25 0 65 100]  def
  end

  /CharacterDefs 4 dict def
  CharacterDefs begin
    /.notdef { } def

    /L
      { newpath
        0 100 moveto
        0 0 lineto
        50 0 lineto
        stroke
      } def 
    /a
      { newpath
        25 25 25 0 360 arc 
        50 45 moveto 
        50 0 lineto
        stroke
      } def
    /b
      { newpath
        0 100  moveto
        0 0 lineto
        40 0 40 50 17.5 arct
        40 50 0 50 17.5 arct
        0 50  lineto
        stroke
      } def
    end

  /BuildChar
    { 0 begin

        /char exch def
        /fontdict exch def

        /charname fontdict /Encoding get char get def
        fontdict begin
          Metrics charname get 0
          BBox charname get aload pop
              setcachedevice

          CharacterDefs charname get exec
        end
      end
    } def
  /BuildChar load 0 3 dict put
  /UniqueID 1 def
end

/SpecialUseOnly exch definefont pop
/special /SpecialUseOnly findfont 20 scalefont def

special setfont 

10 10 moveto

%write some text
(Lab baa baa abL) show

%%EOF

Untuk menggunakan ini cukup letakkan di file teks dengan EPS yang berakhir dan seret dan letakkan di ilustrator atau kata. pastikan tidak ada garis kosong sebelum memulai. Anda dapat mengedit teks dengan mengubah apa yang ada di dalam parens di ujung 3 baris. Peringatan di sini adalah saya hanya mendefinisikan karakter 'L' 'a' dan 'b'.

Pratinjau

Gambar 1 : Pratinjau program font.

* Jadi ini mudah dilakukan pada akhir 1980-an dan pertengahan 1990-an, tetapi tidak hari ini. Dukungan sebagian besar telah dihapus beberapa adobe soft masih memiliki ini.

joojaa
sumber
1
Namun, bahkan skrip saya tidak dapat membuatnya berfungsi tanpa ketebalan apa pun : Anda masih harus mengatur ketebalan 'a' dengan garis yang Anda gambar. Tetapi, tentu saja, Anda dapat mengaturnya ke nilai apa pun yang Anda suka, tidak seperti font garis besar yang memiliki ketebalan "yang telah ditentukan".
usr2564301
2
Namun catatan tambahan, pemotong laser dan mesin cnc serta aplikasi cad akan bekerja tanpa ketebalan garis karena ketebalannya hanya merupakan artefak dari pemrosesan pasca.
joojaa
2
Itu bagus dan keren, tapi ini bukan font. Saya telah memeriksa beberapa definisi font dan belum menemukan yang tidak menyertakan ketebalan / lebar sebagai bagian dari definisi. Dalam Desain Grafis, ini bukan Font dari apa pun yang saya temukan. Bahkan @Jongware dan Anda mengakui harus ada ketebalan agar bisa berfungsi. Saya berpendapat (dan setiap definisi yang saya temukan setuju) bahwa itu bukan font sampai itu terjadi. Namun, dalam praktiknya ini sangat baik seperti apa yang diinginkan OP jika mereka hanya mencoba merencanakan poin :) Mungkin ingin melihat Corel Draw, saya tahu pembuat tanda sering menggunakannya.
Ryan
1
Ini juga masih belum satu dimensi, seperti yang ditanyakan dalam pertanyaan. Tapi kemudian saya akan mengatakan font satu dimensi yang sebenarnya tidak mungkin, karena satu dimensi akan membatasi Anda untuk garis lurus, well, satu dimensi. Anda dapat melakukan l dan saya tanpa dua dimensi, tetapi tidak banyak yang lain.
Janus Bahs Jacquet
3
@Ryan: bagus dan keren, tapi intinya adalah font hanya stroke mungkin ada tetapi tidak didukung oleh teknologi font arus utama saat ini.
usr2564301
8

Metafont adalah bahasa deskripsi yang digunakan untuk mendefinisikan font vektor.

Tidak seperti format font garis besar yang lebih umum (seperti TrueType atau PostScript Type 1), font Metafont terutama terdiri dari stroke dengan "pena" lebar-terbatas, bersama dengan wilayah yang diisi. Dengan demikian, alih-alih menggambarkan garis besar mesin terbang secara langsung, file Metafont menjelaskan jalur pena.

Apa yang Anda gambarkan dapat diimplementasikan sebagai font Metafont dengan lebar pena konstan.

Locoluis
sumber
6

Istilah lain untuk apa yang Anda cari adalah "font stick" - ada 9 set gratis yang saya gunakan untuk CNC dan ukiran laser di http://www.mrrace.com/CamBam_Fonts/

Perhatikan bahwa font-font ini cenderung terlihat buruk di layar, dengan area-area tertutup sering tampak padat. Ini karena mereka secara teknis tidak benar font garis besar: setiap karakter harus terdiri dari satu atau lebih loop tertutup (karena OS modern tidak mendukung jenis font lain), tetapi setiap loop memiliki area nol. Karena itu mereka mungkin tidak cocok untuk Anda jika tujuannya adalah sesuatu selain ukiran.

jasonharper
sumber
Ini berfungsi baik dengan Inkscape asalkan Anda mengelusnya alih-alih mengisinya. Terima kasih!
Giovanni Mascellani
3

Dalam arsitektur, seorang pemula mungkin menggambar dinding sebagai satu garis. Ini tidak akurat meskipun dan tidak dapat ada - dinding bahkan yang tipis memiliki ketebalan.

Demikian juga, A Anda di sebelah kiri, bahkan yang tipis memiliki ketebalan. Seberapa tebal? Apakah 1pt? Apakah 0.025pt? Bagaimana Printer tahu? Kita harus memberitahunya.

Untuk menjawab pertanyaan Anda, tidak ada font satu dimensi seperti yang Anda gambarkan. Semua garis harus memiliki ketebalan agar ada.

Ryan
sumber
2
Saya tidak sepenuhnya setuju: tujuan font adalah untuk mendeskripsikan geometri terkait dengan rendering teks. Bagaimana geometri ini harus di-render adalah masalah yang berbeda, yang tidak dijelaskan oleh font itu sendiri. Bahkan dengan font biasa yang dijelaskan dalam TrueType, OpenType atau apa yang Anda inginkan, Anda masih harus memutuskan warna, pola, dan apa pun yang akan digunakan untuk mengisi atau membelai kontur. Jadi Anda dapat memiliki font seperti yang saya katakan: itu adalah tugas pengguna untuk menentukan ketebalan garis dan properti lainnya.
Giovanni Mascellani
2
Selain itu, ada aplikasi di mana Anda memiliki konsep garis terlepas dari ketebalannya. Sebagai contoh, aplikasi yang ada dalam pikiran saya adalah ukiran laser vektor. Ketebalan apa yang saya ukir adalah produk sampingan dari kecepatan laser, kekuatan dan sifat fisik bahan yang saya gunakan. Tidak perlu diketahui oleh perangkat lunak yang menggerakkan pengukir.
Giovanni Mascellani
2
@Ryan ini sama sekali tidak benar. Ini hanya berlaku di dunia adobe centric. Dan hanya jika Anda ingin bahagia dengan diri sendiri. Kalau tidak demikian itu bohong.
joojaa
1
@immibis yang tentu saja dipertimbangkan dalam cetakan ketika memilih bahan, tinta dan warna tetapi tidak ada hubungannya dengan font. Sebuah font bisa ada di layar Anda bebas dari kedalaman, tetapi tidak bisa ada di layar Anda tanpa semacam lebar.
Ryan
3
Semua teks harus memiliki lebar garis saat digambar, tetapi lebar ini tidak perlu disimpan dalam font. Alih-alih itu dapat disimpan dalam dokumen menggunakan font, sebanyak ukuran dan warna.
Damian Yerrick