[23] | 1 | <html> |
---|
| 2 | <body> |
---|
[9] | 3 | |
---|
[23] | 4 | <h2>Paper Tape Fonts</h2> |
---|
[9] | 5 | |
---|
[23] | 6 | <h3>Introducion</h3> |
---|
| 7 | <p>By punching special bit patterns on paper tapes, you can "print" out |
---|
| 8 | text on paper tapes. The result can be used in a wide variety of ways, |
---|
| 9 | for example for labeling things, as unique souvenir or simply to |
---|
| 10 | label mass produced paper tapes.</p> |
---|
[9] | 11 | |
---|
[23] | 12 | <p>Like ordinary computer fonts (e.g. True Type Fonts), there are also |
---|
| 13 | many different possibilities to "paint" letters and digits on paper |
---|
| 14 | tapes. We have implemented a couple of fonts as perl programs. They |
---|
| 15 | are called quite like |
---|
| 16 | <pre> |
---|
[9] | 17 | $ ./schrift.pl "Text we want to print out" > paper-tape.bin |
---|
[23] | 18 | </pre> |
---|
[9] | 19 | |
---|
[23] | 20 | <p>Thus, they usually print out the generated bit patterns to stdout. |
---|
| 21 | Mass punching and labeling is therefore quite simple: |
---|
| 22 | <pre> |
---|
[9] | 23 | $ ./schrift.pl "File ABC on `date`" | cat - file.bin | ./punch |
---|
[23] | 24 | </pre> |
---|
[9] | 25 | |
---|
[23] | 26 | <p>To simplify this process, various punching frontens already use |
---|
| 27 | the font generation programs internally. |
---|
[9] | 28 | |
---|
[23] | 29 | <br/>By the way, the german word <i>schrift</i> simpy means <i>font</i>. |
---|
[9] | 30 | |
---|
[23] | 31 | <h3>The PaperTapeFont C Library</h3> |
---|
| 32 | <p>The PaperTapeFont C library is a rather small pure C library that uses |
---|
| 33 | only basis libc functions (no dependency at all). It consists of an |
---|
| 34 | header file and a quite huge C file and has a pseudo object oriented |
---|
| 35 | approach, comparable to the <tt>LOCHSTREIFEN</tt> object in |
---|
| 36 | <a href="../visualisator/lochstreifen.c">the visualisator subproject</a>. |
---|
| 37 | <br/>This library can handle Paper Tape Font files in a very powerful manner. |
---|
| 38 | These are some of the features:</p> |
---|
| 39 | <ul> |
---|
| 40 | <li><b>Quick and small</b>: Only one small C program, runs very fast due to |
---|
| 41 | basic string operations (nothing regex like)</li> |
---|
| 42 | <li>Can load and save paper tape files</li> |
---|
| 43 | <li>Can change paper tape files quickly</li> |
---|
| 44 | <li>Can render any strings quickly</li> |
---|
| 45 | </ul> |
---|
| 46 | |
---|
| 47 | <h3>Paper Tape Font command line interface</h3> |
---|
| 48 | <p>Furthermore, there's a very good documentated command line interface called |
---|
| 49 | <tt>ptfont</tt> with an excellence help system. Using this interface, you can |
---|
| 50 | create and modify any Paper Tape Font file, as well as render strings in good old |
---|
| 51 | Unix philosophy fashion.</p> |
---|
| 52 | |
---|
| 53 | <h3>Paper Tape Font Gtk+ interface</h3> |
---|
| 54 | <p>The GtkPaperTape widget features an implemented fully functional interface to |
---|
| 55 | the PaperTapeFont library where you can create and modify any paper tape font, |
---|
| 56 | as well as (of course) generate texts in any paper tape font.</p> |
---|
| 57 | |
---|
| 58 | <h3>Paper Tape Font files</h3> |
---|
| 59 | <p>I've written a manual (or specification) |
---|
| 60 | <a href="font_files.htm">how to use and write Paper Tape Font files</a>.</p> |
---|
| 61 | |
---|