From d58f8993863a3aaf8de24552e339b83682c19621 Mon Sep 17 00:00:00 2001 From: shrivatsaBhat <52356082+shrivatsaBhat@users.noreply.github.com> Date: Mon, 2 Mar 2020 17:57:28 +0530 Subject: [PATCH 01/19] --- --- example.txt | 236 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 236 insertions(+) create mode 100644 example.txt diff --git a/example.txt b/example.txt new file mode 100644 index 0000000..68fb683 --- /dev/null +++ b/example.txt @@ -0,0 +1,236 @@ +(example gcode created) +(ABCDEFGHIJKLMNOPQRSTUVWXYZ) +(A) +N10 G0 Z2 +N20 G0 X0 Y0 +N30 G1 Z-1 +N40 G1 X0.333 Y1 +N50 G1 X0.667 Y0 +N60 G0 Z2 +N70 G0 X0.574 Y0.278 +N80 G1 Z-1 +N90 G1 X0.093 Y0.278 +(B) +N100 G0 Z2 +N110 G0 X1 Y0.556 +N120 G1 Z-1 +N130 G1 X1.278 Y0.556 +N140 G3 X1.278 Y1 I0 J0.222 +N150 G1 X1 Y1 +N160 G1 X1 Y0 +N170 G1 X1.278 Y0 +N180 G3 X1.278 Y0.556 I0 J0.278 +(C) +N190 G0 Z2 +N200 G0 X2.333 Y0 +N210 G1 Z-1 +N220 G1 X2.167 Y0 +N230 G2 X1.889 Y0.278 I0 J0.278 +N240 G1 X1.889 Y0.722 +N250 G2 X2.167 Y1 I0.278 J0 +N260 G1 X2.333 Y1 +(D) +N270 G0 Z2 +N280 G0 X2.667 Y0 +N290 G1 Z-1 +N300 G1 X2.667 Y1 +N310 G1 X2.944 Y1 +N320 G2 X3.222 Y0.722 I0 J-0.278 +N330 G1 X3.222 Y0.278 +N340 G2 X2.944 Y0 I-0.278 J0 +N350 G1 X2.667 Y0 +(E) +N360 G0 Z2 +N370 G0 X4 Y0 +N380 G1 Z-1 +N390 G1 X3.556 Y0 +N400 G1 X3.556 Y0.556 +N410 G1 X3.889 Y0.556 +N420 G0 Z2 +N430 G0 X3.556 Y0.556 +N440 G1 Z-1 +N450 G1 X3.556 Y1 +N460 G1 X4 Y1 +(F) +N470 G0 Z2 +N480 G0 X4.333 Y0 +N490 G1 Z-1 +N500 G1 X4.333 Y0.556 +N510 G1 X4.778 Y0.556 +N520 G0 Z2 +N530 G0 X4.333 Y0.556 +N540 G1 Z-1 +N550 G1 X4.333 Y1 +N560 G1 X4.778 Y1 +(G) +N570 G0 Z2 +N580 G0 X5.556 Y0.556 +N590 G1 Z-1 +N600 G1 X5.667 Y0.556 +N610 G1 X5.667 Y0 +N620 G1 X5.389 Y0 +N630 G2 X5.111 Y0.278 I0 J0.278 +N640 G1 X5.111 Y0.722 +N650 G2 X5.389 Y1 I0.278 J0 +N660 G1 X5.667 Y1 +(H) +N670 G0 Z2 +N680 G0 X6 Y0 +N690 G1 Z-1 +N700 G1 X6 Y1 +N710 G0 Z2 +N720 G0 X6 Y0.556 +N730 G1 Z-1 +N740 G1 X6.556 Y0.556 +N750 G0 Z2 +N760 G0 X6.556 Y0 +N770 G1 Z-1 +N780 G1 X6.556 Y1 +(I) +N790 G0 Z2 +N800 G0 X6.944 Y0 +N810 G1 Z-1 +N820 G1 X6.944 Y1 +(J) +N830 G0 Z2 +N840 G0 X7.333 Y0 +N850 G1 Z-1 +N860 G1 X7.389 Y0 +N870 G3 X7.667 Y0.278 I0 J0.278 +N880 G1 X7.667 Y1 +(K) +N890 G0 Z2 +N900 G0 X8 Y0 +N910 G1 Z-1 +N920 G1 X8 Y1 +N930 G0 Z2 +N940 G0 X8 Y0.444 +N950 G1 Z-1 +N960 G1 X8.556 Y1 +N970 G0 Z2 +N980 G0 X8.111 Y0.556 +N990 G1 Z-1 +N1000 G1 X8.556 Y0 +(L) +N1010 G0 Z2 +N1020 G0 X8.889 Y1 +N1030 G1 Z-1 +N1040 G1 X8.889 Y0 +N1050 G1 X9.333 Y0 +(M) +N1060 G0 Z2 +N1070 G0 X9.667 Y0 +N1080 G1 Z-1 +N1090 G1 X9.667 Y1 +N1100 G1 X10 Y0.444 +N1110 G1 X10.333 Y1 +N1120 G1 X10.333 Y0 +(N) +N1130 G0 Z2 +N1140 G0 X10.667 Y0 +N1150 G1 Z-1 +N1160 G1 X10.667 Y1 +N1170 G1 X11.222 Y0 +N1180 G1 X11.222 Y1 +(O) +N1190 G0 Z2 +N1200 G0 X11.556 Y0.722 +N1210 G1 Z-1 +N1220 G2 X12.111 Y0.722 I0.278 J0 +N1230 G1 X12.111 Y0.278 +N1240 G2 X11.556 Y0.278 I-0.278 J0 +N1250 G1 X11.556 Y0.722 +(P) +N1260 G0 Z2 +N1270 G0 X12.444 Y0 +N1280 G1 Z-1 +N1290 G1 X12.444 Y1 +N1300 G1 X12.722 Y1 +N1310 G2 X12.722 Y0.444 I0 J-0.278 +N1320 G1 X12.444 Y0.444 +(Q) +N1330 G0 Z2 +N1340 G0 X13.333 Y0.722 +N1350 G1 Z-1 +N1360 G2 X13.889 Y0.722 I0.278 J0 +N1370 G1 X13.889 Y0.278 +N1380 G2 X13.333 Y0.278 I-0.278 J0 +N1390 G1 X13.333 Y0.722 +N1400 G0 Z2 +N1410 G0 X13.667 Y0.222 +N1420 G1 Z-1 +N1430 G1 X14 Y0 +(R) +N1440 G0 Z2 +N1450 G0 X14.333 Y0 +N1460 G1 Z-1 +N1470 G1 X14.333 Y1 +N1480 G1 X14.611 Y1 +N1490 G2 X14.611 Y0.444 I0 J-0.278 +N1500 G1 X14.333 Y0.444 +N1510 G0 Z2 +N1520 G0 X14.611 Y0.444 +N1530 G1 Z-1 +N1540 G1 X14.889 Y0 +(S) +N1550 G0 Z2 +N1560 G0 X15.222 Y0.278 +N1570 G1 Z-1 +N1580 G3 X15.5 Y0.556 I0.278 J0 +N1590 G2 X15.722 Y0.778 I0 J0.222 +(T) +N1600 G0 Z2 +N1610 G0 X16.111 Y1 +N1620 G1 Z-1 +N1630 G1 X16.667 Y1 +N1640 G0 Z2 +N1650 G0 X16.389 Y1 +N1660 G1 Z-1 +N1670 G1 X16.389 Y0 +(U) +N1680 G0 Z2 +N1690 G0 X17 Y1 +N1700 G1 Z-1 +N1710 G1 X17 Y0.278 +N1720 G3 X17.556 Y0.278 I0.278 J0 +N1730 G1 X17.556 Y1 +(V) +N1740 G0 Z2 +N1750 G0 X17.889 Y1 +N1760 G1 Z-1 +N1770 G1 X18.222 Y0 +N1780 G1 X18.556 Y1 +(W) +N1790 G0 Z2 +N1800 G0 X18.889 Y1 +N1810 G1 Z-1 +N1820 G1 X19.111 Y0 +N1830 G1 X19.333 Y0.667 +N1840 G1 X19.556 Y0 +N1850 G1 X19.778 Y1 +(X) +N1860 G0 Z2 +N1870 G0 X20.111 Y0 +N1880 G1 Z-1 +N1890 G1 X20.778 Y1 +N1900 G0 Z2 +N1910 G0 X20.111 Y1 +N1920 G1 Z-1 +N1930 G1 X20.778 Y0 +(Y) +N1940 G0 Z2 +N1950 G0 X21.111 Y1 +N1960 G1 Z-1 +N1970 G1 X21.444 Y0.556 +N1980 G1 X21.444 Y0 +N1990 G0 Z2 +N2000 G0 X21.444 Y0.556 +N2010 G1 Z-1 +N2020 G1 X21.778 Y1 +(Z) +N2030 G0 Z2 +N2040 G0 X22.111 Y1 +N2050 G1 Z-1 +N2060 G1 X22.778 Y1 +N2070 G1 X22.111 Y0 +N2080 G1 X22.778 Y0 From a9e4b8e9926dd91b98a17d53316fcf4d702947a6 Mon Sep 17 00:00:00 2001 From: shrivatsaBhat <52356082+shrivatsaBhat@users.noreply.github.com> Date: Mon, 2 Mar 2020 17:58:52 +0530 Subject: [PATCH 02/19] example GCode --- example.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/example.txt b/example.txt index 68fb683..0c79ce2 100644 --- a/example.txt +++ b/example.txt @@ -1,4 +1,4 @@ -(example gcode created) +(Example gcode created) (ABCDEFGHIJKLMNOPQRSTUVWXYZ) (A) N10 G0 Z2 From 283ff7cf8f2b6c8865cf873cd2cd1235b76a8b83 Mon Sep 17 00:00:00 2001 From: shrivatsaBhat <52356082+shrivatsaBhat@users.noreply.github.com> Date: Mon, 2 Mar 2020 18:00:06 +0530 Subject: [PATCH 03/19] necessary --- software_required.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 software_required.md diff --git a/software_required.md b/software_required.md new file mode 100644 index 0000000..f9d99c5 --- /dev/null +++ b/software_required.md @@ -0,0 +1,7 @@ +# GET THE SYSTEM IMAGE +The Voice Kit requires a special version of the Raspbian operating system that includes some extra AIY software. So before you begin, you need to download the Voice Kit system image and flash it to your MicroSD card. + +1. Download the latest `.img.xz` file from the [releases page on GitHub](https://github.com/google/aiyprojects-raspbian/releases). +2. Use an adapter to connect your MicroSD card to your computer. +3. Use a program such as [Etcher](https://etcher.io/) to flash the `.img.xz` file onto your MicroSD card. (Etcher is free and works on Windows, Mac OS, and Linux.) + From a96162902281afe14a24e6f04e95891f41c9bf35 Mon Sep 17 00:00:00 2001 From: shrivatsaBhat <52356082+shrivatsaBhat@users.noreply.github.com> Date: Mon, 2 Mar 2020 18:03:17 +0530 Subject: [PATCH 04/19] reference --- README.md | 150 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 150 insertions(+) diff --git a/README.md b/README.md index 99fbdbe..787de2c 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,152 @@ # DICTO-WRITTER This project is about building a mechanical prototype of a Speech to Text Plotter able to write on the given solid surface. Also trying to build a speech synthesizer as the feed back system. + +### This is a final-year engineering project undertaken by me and my friends. + +## STEP 1: Setting up Google Speech recognition + +### To build a speech to text converter using the raspberry pi + + +### Use a usb microphone +## or .. +#### Checking Sound card modules: +```sh +pi@raspberrypi:~ $ cat /proc/asound/modules + 1 snd_usb_audio +pi@raspberrypi:~ $ cat /proc/asound/cards + 1 [Device ]: USB-Audio - USB PnP Sound Device + C-Media Electronics Inc. USB PnP Sound Device at usb-3f980000.usb-1.5, full spe +``` +#### Configuring ALSA: +We simply need to tell ALSA what our default PCM card index should be and in what order they should be prioritized in the kernel. +```sh +#cat ~/.asoundrc +cat << EOF | tee ~/.asoundrc + +pcm.!default { + type hw + card 1 +} + +ctl.!default { + type hw + card 1 +} +EOF + +sudo nano /usr/share/alsa/alsa.conf +``` +### then replace: +```sh +#defaults.ctl.card 0 +#defaults.pcm.card 0 +``` +### with: +```sh +defaults.ctl.card 1 +defaults.pcm.card 1 +``` +## STEP 2: TEXT TO CNC CODE(GCODE) + +### SOLID WAY: +To use a library that converts text to gcode +FIXED : HF2GCODE IS BEST SOLUTION (CONFIRMED ) + +## Colab notebook to generate gcode +https://colab.research.google.com/drive/1zbTVsNTEt2G8f_w0fMJnD0CR2OUvcBxd + +### Installation +```sh +wget https://github.com/hackerminds/Dicto_Writer/raw/master/hf.zip +unzip hf.zip +cd hf2gcode-master/src +make # COMPILE THE C SOURCE CODE +mv hf2gcode-master h2g # RENAME FOLDER +``` +```sh +cd h2g/src +./hf2gcode -font "rowmans" -y 0 -x 0 -o text_to_write.gcd --min-gcode "Welcome to DictoWriter!" +``` +#### SOURCE CODE : https://github.com/Andy1978/hf2gcode + +### DOESNT WORK ON Pi 3B+ +The G-CODE interpreter for Raspberry Pi 3 (it works on older versions, but untested) +Sending the gcode (direct on raspi): + +```sh +gcd -c settings.json -f text_to_write.gcd +``` +#### SOURCE CODE: https://github.com/pantadeusz/raspigcd + +(EXAMPLE:)https://www.hackster.io/news/skip-the-control-board-and-run-your-cnc-stepper-drivers-directly-from-a-raspberry-pi-b5666f403f71 + +### Gcode Notes +---------------- +> **remember** concept of Gcode is moving the pen/tool from one vertice to another. + +> Gcode is always read from top to bottom , this process will connect the vertices sequentially (by action of pen) + +> For better understanding think of Gcode as concept of relative positioning to origin (0,0) + +|code|desc| +|---|---| +|G0 | pen action off or pen writing off +|G1 | pen action on + +> **(in case of pen , instead of G , the Z value matters because pen can write as soon as it touches the paper! ,where as, the tool needs to be rotating fast enough to cut through the subject.)** + +|code|desc| +|---|---| +|Z0 | pen down or touching paper +|Z1 | pen up + +|code|desc| +|---|---| +|X0 Y1| moves pen to vertice (0,1) +|X0.5 Y4 | moves pen to vertice (0.5,4) + +> try this online simulator ( you can copy paste the code below) +> https://ncviewer.com/ +> FOR BETTER UNDERSTANDING ( USE HIDE TOOLPATH AFTER POSITION ) + +|code|desc| +|---|---| +|N |this is just the sequence number or SI. no of instruction +|( )| parenthesis are treated as comments +|I2.0 J3.5| arc from the x and y position + + +### gcode meaning: +http://www.linuxcnc.org/docs/html/gcode/g-code.html#gcode:g7 + + +# ADDITIONAL CONTENTS (OPT): + +#### TYPES OF GCODE: +Linux cnc gcode is different https://www.youtube.com/watch?v=171SuRjzNcQ + +#### Linux cnc on raspi +https://www.youtube.com/results?search_query=linuxcnc+on+raspberry+pi+3+ + +#### Linux cnc docs +http://linuxcnc.org/docs/ + +#### (topic of dicsussion on types of gcode) +https://forum.linuxcnc.org/20-g-code/26733-translating-other-g-code-formats-to-ngc + +#### info: +http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Simple_LinuxCNC_G-Code_Generators#Multi_line_Text_Engraving_Software + +#### (PYTHON CODE but its linux cnc gcode (dont know how to use) : +https://github.com/LinuxCNC/simple-gcode-generators/tree/master/engrave-lines + +#### (JAVA CODE(just a lil hesitation to use)): https://github.com/misan/gcodeFont + +#### ALTERNATIVE WAY ( No more needed ): +Make a python script to scrap web by using python auto web form filling on this site +Service page : https://www.microtechstelladata.com/TextToNCcode.aspx +Trick : https://learn.onemonth.com/automate-web-forms-with-python/ + +#### UNIVERSAL GCODE SENDER +https://youtu.be/u35L0jGCqFc From 18b690ca38e329112bf78fd34476346b2241d5a0 Mon Sep 17 00:00:00 2001 From: shrivatsaBhat <52356082+shrivatsaBhat@users.noreply.github.com> Date: Mon, 2 Mar 2020 18:04:37 +0530 Subject: [PATCH 05/19] initial code --- Dictowriter_kbdinput.py | 47 ++++++++++++ dictowriter.py | 96 +++++++++++++++++++++++++ dw.py | 110 +++++++++++++++++++++++++++++ speech_recognise/dictowriter_v2.py | 52 ++++++++++++++ speech_recognise/s2t.md | 1 + speech_recognise/s2t.py | 93 ++++++++++++++++++++++++ speech_recognise/s2t_v4.py | 52 ++++++++++++++ text2speech/code.py | 5 ++ text2speech/config.md | 13 ++++ 9 files changed, 469 insertions(+) create mode 100644 Dictowriter_kbdinput.py create mode 100644 dictowriter.py create mode 100644 dw.py create mode 100644 speech_recognise/dictowriter_v2.py create mode 100644 speech_recognise/s2t.md create mode 100644 speech_recognise/s2t.py create mode 100644 speech_recognise/s2t_v4.py create mode 100644 text2speech/code.py create mode 100644 text2speech/config.md diff --git a/Dictowriter_kbdinput.py b/Dictowriter_kbdinput.py new file mode 100644 index 0000000..2909680 --- /dev/null +++ b/Dictowriter_kbdinput.py @@ -0,0 +1,47 @@ +import os +import time +import threading + +buffer = "welcome to project dicto-writer 1.0" +oneline = 30 +scale = 0.3 # goes well with line yoffset drop of 10 +cmd = "./h2g/src/hf2gcode" # ./prog -params "text" +gcd_file = "write.txt" +current_line = 40 + +def speech_recog(): + while(len(buffer) <= 30): + new_msg = input("write something:") + buffer + new_msg + +def gen_gcode(mesg,x,y): + # print(scale) + print("generating GCODE") + x,y = str(x),str(y) + sca = str(scale) + bashout = cmd +" -o " +gcd_file+" --scale "+sca+" -x "+ x +" -y "+ y + " " + "\"" +mesg +"\"" + # bashout = cmd +" --scale "+sca+" -x "+ x +" -y "+ y + " " + "\"" +mesg +"\"" + # print(bashout) + return os.system(bashout) + + +def run_plotter(filename): + print("plotter is writing "+buffer) + # cmd2 = "gcd -c v3.json -f write.txt" + cmd2 = "gcd -c v3.json -f "+filename + os.system(cmd2) + +## need to use one thread to fill the buffer by speech recognition +# speech_t = threading.Thread(target = speech_recog) +# speech_t.start() + +while(True): + if(len(buffer) >= oneline): + gen_gcode(buffer,0,current_line) #text , xoffset , yoffset + current_line -= 10 #step down a line + run_plotter("write.txt") # pass the gcode + buffer="" #clear buffer + # speech_recog() + time.sleep(0.5) # simply + buffer += input("fill buffer :") + diff --git a/dictowriter.py b/dictowriter.py new file mode 100644 index 0000000..da50dfc --- /dev/null +++ b/dictowriter.py @@ -0,0 +1,96 @@ +import os +import time +import threading +import s2t_v4 as s2t +import serial +import time +"sending PYTHON 2 CODE ported to py3" +# Open grbl serial port +s = serial.Serial('/dev/ttyACM1',115200) +#buffer = "welcome to project dicto-writer 1.0" +buffer = " " +oneline = 30 +scale = 0.3 # goes well with line yoffset drop of 10 +cmd = "./h2g/src/hf2gcode" # ./prog -params "text" +gcd_file = "write.txt" +current_line = 40 + +from collections import deque +plotter_queue = [] +plotter_queue = deque(plotter_queue) + + + +def gc_sender(newgcode): + # Open g-code file + f = newgcode + # Wake up grbl + s.write("\r\n\r\n".encode()) + time.sleep(2) # Wait for grbl to initialize + s.flushInput() # Flush startup text in serial input + + # Stream g-code to grbl + for line in f: + l = line.strip() # Strip all EOL characters for consistency + print('Sending: ' + l) + ln_cmd = l + '\n' + s.write(ln_cmd.encode()) # Send g-code block to grbl + grbl_out = s.readline() # Wait for grbl response with carriage return + print(grbl_out.strip()) + + # Wait here until grbl is finished to close serial port and file. + print("finished") + + # Close file and serial port + #f.close() + #s.close() + + # ----- + +# s2t.energy_threshold = 2000 + + +def speech_recog(): + while(len(buffer) <= 30): + new_msg = input("write something:") + buffer + new_msg + +def gen_gcode(mesg,x,y): + # print(scale) + print("generating GCODE") + x,y = str(x),str(y) + sca = str(scale) + bashout = cmd +" -m -o " +gcd_file+" --scale "+sca+" -x "+ x +" -y "+ y + " " + "\"" +mesg +"\"" + # bashout = cmd +" --scale "+sca+" -x "+ x +" -y "+ y + " " + "\"" +mesg +"\"" + # print(bashout) + return os.system(bashout) + +def run_plotter(filename): + print("Plotter is writing :\n"+buffer) + # cmd2 = "gcd -c v3.json -f write.txt" + + + +## need to use one thread to fill the buffer by speech recognition +# speech_t = threading.Thread(target = speech_recog) +# speech_t.start() + +" thread to control plotter queue " +threading.Thread(target=run_plotter,deamon=True).start() + +def main(): + while(True): + if(len(buffer) >= oneline): + gen_gcode(buffer[:oneline],0,current_line) #text , xoffset , yoffset + current_line -= 10 #step down a line + run_plotter("write.txt") # pass the gcode + buffer = buffer[oneline:] #retain remaining buffer text + # speech_recog() + #time.sleep(0.5) # simply + #buffer += input("fill buffer :") # fills buffer using user input + voice = s2t.recog() + if voice is not None: + buffer += voice # + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/dw.py b/dw.py new file mode 100644 index 0000000..177c9ca --- /dev/null +++ b/dw.py @@ -0,0 +1,110 @@ +"gc_sender function PYTHON 2 CODE ported to python3" + +import os +import time +import threading +import s2t_v4 as s2t +import serial +import time + +# Open grbl serial port +s = serial.Serial('/dev/ttyACM1',115200) + +" buffer is a keyword in python for some reason .." + +#buff = "welcome to project dicto-writer 1.0" +buff = " " +oneline = 30 #characters that can be writen in a line +current_line = 0 +line_drop = 10 +# scale = 0.3 # goes well with line yoffset drop of 10 +scale = 0.25 # also tweak yoffset +cmd = "./h2g/src/hf2gcode" # ./prog -params "text" +gcd_folder = "linegcodes/" +gcd_filename = "line.gc" + +os.system(f"mkdir {gcd_folder}") +# s2t.energy_threshold = 2000 + +from collections import deque +plotter_queue = [] +plotter_queue = deque(plotter_queue) # to store pending line.gc filenames + +def stream_gcode(filename): + # Open g-code file + f = open(filename,'r') + + # Wake up grbl + s.write("\r\n\r\n".encode()) + time.sleep(2) # Wait for grbl to initialize + s.flushInput() # Flush startup text in serial input + + # Stream g-code to grbl + for line in f: + l = line.strip() # Strip all EOL characters for consistency + print('Sending: ' + l) + ln_cmd = l + '\n' + s.write(ln_cmd.encode()) # Send g-code block to grbl + grbl_out = s.readline() # Wait for grbl response with carriage return + print(grbl_out.strip()) + + # Wait here until grbl is finished to close serial port and file. + print("finished") + + # Close file and serial port + f.close() + s.close() # dont know whether closing and opening of port is required ... might be redundant + +def gen_gcode(mesg,x,y,lineno): + # print(scale) + print("Generating gcode for: ",mesg) + print(f"Writing to {lineno}{gcd_file}") + x,y,lineno = str(x),str(y),str(lineno) + sca = str(scale) + bashout = cmd +" -m -o "+gcd_folder+lineno+gcd_filename+" --scale "+sca+" -x "+ x +" -y "+ y + " " + "\"" +mesg +"\"" + # bashout = cmd +" --scale "+sca+" -x "+ x +" -y "+ y + " " + "\"" +mesg +"\"" + # print(bashout) + return os.system(bashout) + +def run_plotter(): + while True: + global plotter_queue + if len(plotter_queue) >= 1: + cur_line_file = plotter_queue.popleft() # pop first line ,then second, and so on.. + print("Plotter is writing :"+cur_line_file) + stream_gcode(f"{linegcodes}{cur_line_file}") + # cmd2 = "gcd -c v3.json -f write.txt" #deprecated bcz not working as expected + else: + print("No pending gcodes ..") + time.sleep(2) + +" TAKEN CARE BY MAIN THREAD " +## need to use one thread to fill the buffer by speech recognition +# speech_t = threading.Thread(target = speech_recog) +# speech_t.start() +" TAKEN CARE BY MAIN THREAD " + +def main(): + while True: + if(len(buff) >= oneline): + linefn = f"{current_line}{gcd_file}" #linefilename + gen_gcode(buff[:oneline],0,current_line,linefn) #text , xoffset , yoffset + #gen_gcode will save and store gcode for each line in a new file + + plotter_queue.append(linefn) + + current_line -= line_drop #step down a line + + buff = buff[oneline:] # retain remaining buff text + else: + newtext = s2t.recog() + if newtext is not None: + buff += newtext # append into buff + +def plotter_handler(): + " thread to control plotter queue " + threading.Thread(target=run_plotter,deamon=True).start() + +if __name__ == "__main__": + plotter_handler() # sequentialy serial_stream each new file generated in gcd_folder + main() #main thread performs continous speech recog and gcode generation diff --git a/speech_recognise/dictowriter_v2.py b/speech_recognise/dictowriter_v2.py new file mode 100644 index 0000000..515a52d --- /dev/null +++ b/speech_recognise/dictowriter_v2.py @@ -0,0 +1,52 @@ +import os +import time +import threading +import s2t_v4 as s2t + +# s2t.energy_threshold = 2000 + +#buffer = "welcome to project dicto-writer 1.0" +buffer = " " +oneline = 30 +scale = 0.3 # goes well with line yoffset drop of 10 +cmd = "./h2g/src/hf2gcode" # ./prog -params "text" +gcd_file = "write.txt" +current_line = 40 + +def speech_recog(): + while(len(buffer) <= 30): + new_msg = input("write something:") + buffer + new_msg + +def gen_gcode(mesg,x,y): + # print(scale) + print("generating GCODE") + x,y = str(x),str(y) + sca = str(scale) + bashout = cmd +" -o " +gcd_file+" --scale "+sca+" -x "+ x +" -y "+ y + " " + "\"" +mesg +"\"" + # bashout = cmd +" --scale "+sca+" -x "+ x +" -y "+ y + " " + "\"" +mesg +"\"" + # print(bashout) + return os.system(bashout) + +def run_plotter(filename): + print("Plotter is writing :\n"+buffer) + # cmd2 = "gcd -c v3.json -f write.txt" + cmd2 = "gcd -c v3.json -f "+filename + os.system(cmd2) + +## need to use one thread to fill the buffer by speech recognition +# speech_t = threading.Thread(target = speech_recog) +# speech_t.start() + +while(True): + if(len(buffer) >= oneline): + gen_gcode(buffer[:oneline],0,current_line) #text , xoffset , yoffset + current_line -= 10 #step down a line + run_plotter("write.txt") # pass the gcode + buffer = buffer[oneline:] #retain remaining buffer text + # speech_recog() + #time.sleep(0.5) # simply + #buffer += input("fill buffer :") # fills buffer using user input + voice = s2t.recog() + if voice is not None: + buffer += voice # diff --git a/speech_recognise/s2t.md b/speech_recognise/s2t.md new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/speech_recognise/s2t.md @@ -0,0 +1 @@ + diff --git a/speech_recognise/s2t.py b/speech_recognise/s2t.py new file mode 100644 index 0000000..4040818 --- /dev/null +++ b/speech_recognise/s2t.py @@ -0,0 +1,93 @@ +import pyaudio +import wave +import datetime +import signal +import sys +import os + +# run the audio capture and send sound sample processes in parallel +from multiprocessing import Process +# convert speech to text using APIs +import speech_recognition as sr + +r = sr.Recognizer() + +# CONFIG +CHUNK = 8192 # chunkSize +FORMAT = pyaudio.paInt16 +CHANNELS = 1 +RATE = 44100 # samplingRate, 4100 needed for Aves sampling. choices=[4000, 8000, 16000, 32000, 44100] :: default 16000 +RECORD_SECONDS = 10 # sample length in seconds + +storagePath = "/home/pi/Downloads/s2t_storage" # storage on assos_listen device + +# write to sd-card +def storeFile(filename,frames): + #print("start writing file: " + filename) + wf = wave.open(filename, 'wb') + wf.setnchannels(CHANNELS) + wf.setsampwidth(p.get_sample_size(FORMAT)) + wf.setframerate(RATE) + wf.writeframes(b''.join(frames)) + wf.close() + print("written ---->" + filename) + recogAud(filename) + +# recognize the Audio +def recogAud(filename): + print("\n"+filename) + with sr.AudioFile(filename) as source: # use the audio source + audio = r.record(source) # extract audio data from the file + try: + print(r.recognize_google(audio)) # recognize speech using Google Speech Recognition + except LookupError: # speech is unintelligible + print(" @^&%!~$* ") + +# abort the sampling process +def signal_handler(signal, frame): + print('You pressed Ctrl+C!') + + # close stream and pyAudio + stream.stop_stream() + stream.close() + p.terminate() + #sys.exit(0) + +# MAIN FUNCTION +def recordAudio(p, stream): + sampleNumber = 0 + while (True): + print("*** recording ***") + sampleNumber = sampleNumber +1 + + frames = [] + startDateTimeStr = datetime.datetime.now().strftime("%Y-%m-%d__%I-%M-%S-%f") + for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)): + data = stream.read(CHUNK) + frames.append(data) + + fileName = "s2t_" + startDateTimeStr + ".wav" + + # create a store process to write the file in parallel + storeProcess = Process(target=storeFile, args=(fileName,frames)) + storeProcess.start() + +# ENTRYPOINT FROM CONSOLE +if __name__ == '__main__': + + p = pyaudio.PyAudio() + stream = p.open(format=FORMAT, + channels=CHANNELS, + rate=RATE, + input=True, + frames_per_buffer=CHUNK) + + # directory to write and read files from + os.chdir(storagePath) + + # abort by pressing Ctrl+C + signal.signal(signal.SIGINT, signal_handler) + + # start recording + recordAudio(p, stream) + diff --git a/speech_recognise/s2t_v4.py b/speech_recognise/s2t_v4.py new file mode 100644 index 0000000..e56fe2b --- /dev/null +++ b/speech_recognise/s2t_v4.py @@ -0,0 +1,52 @@ +import time #becoxz i like time +import speech_recognition as sr # to recognize specch +import pyaudio + +energy_threshold = 1000 +sample_rate = 44100 +chunk_size = 512 + +r = sr.Recognizer() +r.energy_threshold = energy_threshold # amplitude level to pick up + +def recog(): + with sr.Microphone(sample_rate = sample_rate, chunk_size = chunk_size) as source: #instance and chunck size to remove clicking sound + print("Waiting to be called on") + audio = r.listen(source) + with open("sample.wav",'wb') as sample: + sample.write(audio.get_wav_data()) + print("uploading...") + + try: + return(r.recognize_google(audio)) + except LookupError: # speech is unintelligible + print("speech is unintelligible") + return None + except sr.UnknownValueError: + print("sari bagal mare!") + return None + except sr.RequestError as e: + print("{0}".format(e)) + return None + except: + print("sari bagal mare!") + return None + +def recog_to_file(fname): + print("Writing to file: "+fname) + newmsg = recog() + if newmsg is not None: + with open(fname,'a') as txtf: + txtf.write(newmsg+" ") + +def main(): + while True: + recog_to_file("recogtxt.txt") + +if __name__ == "__main__": + main() + + + + + diff --git a/text2speech/code.py b/text2speech/code.py new file mode 100644 index 0000000..6b611ff --- /dev/null +++ b/text2speech/code.py @@ -0,0 +1,5 @@ +from PIL import Image +import pytesseract as ts +inImg = Image.open('/home/pi/Pictures/sample.png') +outText = ts.image_to_string(inImg, lang='eng') +print(outText) \ No newline at end of file diff --git a/text2speech/config.md b/text2speech/config.md new file mode 100644 index 0000000..50f49ac --- /dev/null +++ b/text2speech/config.md @@ -0,0 +1,13 @@ +### Configure for Image to Text + +Import the tesseract from [github.com/tesseract-ocr/tesseract](https://github.com/tesseract-ocr/tesseract) + + pi@raspberrypi:~/$ sudo apt-get install tesseract-ocr + +[PIL](https://pypi.org/project/Pillow/) is the Python Imaging Library (not important) + + pi@raspberrypi:~/$ sudo pip3 install pillow + +Then install [Google’s Tesseract-OCR Engine](https://pypi.org/project/pytesseract/) + + pi@raspberrypi:~/$ sudo pip3 install pytesseract From 561726e4a625ef4d60310134461dc66081751389 Mon Sep 17 00:00:00 2001 From: shrivatsaBhat <52356082+shrivatsaBhat@users.noreply.github.com> Date: Mon, 2 Mar 2020 18:11:01 +0530 Subject: [PATCH 06/19] required --- hf.zip | Bin 0 -> 280724 bytes hf2gcode/LICENSE | 674 ++++++++++++++++ hf2gcode/Makefile | 15 + hf2gcode/README.md | 162 ++++ hf2gcode/Thumbs.db | Bin 0 -> 9728 bytes hf2gcode/demo_hello_world.png | Bin 0 -> 29031 bytes hf2gcode/hershey_fonts/Makefile | 39 + hf2gcode/hershey_fonts/README | 241 ++++++ hf2gcode/hershey_fonts/fix_linebreak.sh | 7 + hf2gcode/hershey_fonts/gen_c_src/astrology.h | 105 +++ hf2gcode/hershey_fonts/gen_c_src/cursive.h | 105 +++ hf2gcode/hershey_fonts/gen_c_src/cyrilc_1.h | 105 +++ hf2gcode/hershey_fonts/gen_c_src/cyrillic.h | 105 +++ hf2gcode/hershey_fonts/gen_c_src/futural.h | 105 +++ hf2gcode/hershey_fonts/gen_c_src/futuram.h | 105 +++ hf2gcode/hershey_fonts/gen_c_src/gothgbt.h | 105 +++ hf2gcode/hershey_fonts/gen_c_src/gothgrt.h | 105 +++ hf2gcode/hershey_fonts/gen_c_src/gothiceng.h | 105 +++ hf2gcode/hershey_fonts/gen_c_src/gothicger.h | 105 +++ hf2gcode/hershey_fonts/gen_c_src/gothicita.h | 105 +++ hf2gcode/hershey_fonts/gen_c_src/gothitt.h | 105 +++ hf2gcode/hershey_fonts/gen_c_src/greek.h | 105 +++ hf2gcode/hershey_fonts/gen_c_src/greekc.h | 105 +++ hf2gcode/hershey_fonts/gen_c_src/greeks.h | 105 +++ hf2gcode/hershey_fonts/gen_c_src/japanese.h | 202 +++++ hf2gcode/hershey_fonts/gen_c_src/markers.h | 106 +++ hf2gcode/hershey_fonts/gen_c_src/mathlow.h | 105 +++ hf2gcode/hershey_fonts/gen_c_src/mathupp.h | 105 +++ .../hershey_fonts/gen_c_src/meteorology.h | 105 +++ hf2gcode/hershey_fonts/gen_c_src/music.h | 105 +++ hf2gcode/hershey_fonts/gen_c_src/rowmand.h | 105 +++ hf2gcode/hershey_fonts/gen_c_src/rowmans.h | 105 +++ hf2gcode/hershey_fonts/gen_c_src/rowmant.h | 105 +++ hf2gcode/hershey_fonts/gen_c_src/scriptc.h | 105 +++ hf2gcode/hershey_fonts/gen_c_src/scripts.h | 105 +++ hf2gcode/hershey_fonts/gen_c_src/symbolic.h | 105 +++ hf2gcode/hershey_fonts/gen_c_src/timesg.h | 105 +++ hf2gcode/hershey_fonts/gen_c_src/timesi.h | 105 +++ hf2gcode/hershey_fonts/gen_c_src/timesib.h | 105 +++ hf2gcode/hershey_fonts/gen_c_src/timesr.h | 105 +++ hf2gcode/hershey_fonts/gen_c_src/timesrb.h | 105 +++ hf2gcode/hershey_fonts/orig/astrology.jhf | 175 ++++ hf2gcode/hershey_fonts/orig/cursive.jhf | 113 +++ hf2gcode/hershey_fonts/orig/cyrilc_1.jhf | 130 +++ hf2gcode/hershey_fonts/orig/cyrillic.jhf | 130 +++ hf2gcode/hershey_fonts/orig/futural.jhf | 101 +++ hf2gcode/hershey_fonts/orig/futuram.jhf | 127 +++ hf2gcode/hershey_fonts/orig/gothgbt.jhf | 188 +++++ hf2gcode/hershey_fonts/orig/gothgrt.jhf | 190 +++++ hf2gcode/hershey_fonts/orig/gothiceng.jhf | 189 +++++ hf2gcode/hershey_fonts/orig/gothicger.jhf | 191 +++++ hf2gcode/hershey_fonts/orig/gothicita.jhf | 162 ++++ hf2gcode/hershey_fonts/orig/gothitt.jhf | 161 ++++ hf2gcode/hershey_fonts/orig/greek.jhf | 101 +++ hf2gcode/hershey_fonts/orig/greekc.jhf | 130 +++ hf2gcode/hershey_fonts/orig/greeks.jhf | 102 +++ hf2gcode/hershey_fonts/orig/hershey.txt | 117 +++ hf2gcode/hershey_fonts/orig/japanese.jhf | 307 +++++++ hf2gcode/hershey_fonts/orig/markers.jhf | 99 +++ hf2gcode/hershey_fonts/orig/mathlow.jhf | 101 +++ hf2gcode/hershey_fonts/orig/mathupp.jhf | 100 +++ hf2gcode/hershey_fonts/orig/meteorology.jhf | 99 +++ hf2gcode/hershey_fonts/orig/music.jhf | 142 ++++ hf2gcode/hershey_fonts/orig/rowmand.jhf | 129 +++ hf2gcode/hershey_fonts/orig/rowmans.jhf | 100 +++ hf2gcode/hershey_fonts/orig/rowmant.jhf | 176 +++++ hf2gcode/hershey_fonts/orig/scriptc.jhf | 144 ++++ hf2gcode/hershey_fonts/orig/scripts.jhf | 122 +++ hf2gcode/hershey_fonts/orig/symbolic.jhf | 118 +++ hf2gcode/hershey_fonts/orig/timesg.jhf | 126 +++ hf2gcode/hershey_fonts/orig/timesi.jhf | 131 +++ hf2gcode/hershey_fonts/orig/timesib.jhf | 171 ++++ hf2gcode/hershey_fonts/orig/timesr.jhf | 123 +++ hf2gcode/hershey_fonts/orig/timesrb.jhf | 177 +++++ hf2gcode/hershey_fonts/realclean.sh | 11 + hf2gcode/src/Makefile | 17 + hf2gcode/src/demo.txt | 2 + hf2gcode/src/demo_hello_world.ngc | 451 +++++++++++ hf2gcode/src/demo_hello_world_needler.ngc | 449 +++++++++++ hf2gcode/src/demo_hello_world_scripts.ngc | 747 ++++++++++++++++++ hf2gcode/src/do_stats.m | 52 ++ hf2gcode/src/gen_C_code.m | 53 ++ hf2gcode/src/hf2gcode | Bin 0 -> 186752 bytes hf2gcode/src/hf2gcode.c | 374 +++++++++ hf2gcode/src/libhf2gcode.c | 475 +++++++++++ hf2gcode/src/libhf2gcode.h | 49 ++ hf2gcode/src/load_hf.m | 45 ++ hf2gcode/src/plot_custom_text.m | 36 + hf2gcode/src/plot_hf.m | 29 + hf2gcode/src/plot_hf_glyph.m | 47 ++ hf2gcode/src/render_hf.m | 37 + hf2gcode/src/try.ngc | 430 ++++++++++ 92 files changed, 12572 insertions(+) create mode 100644 hf.zip create mode 100644 hf2gcode/LICENSE create mode 100644 hf2gcode/Makefile create mode 100644 hf2gcode/README.md create mode 100644 hf2gcode/Thumbs.db create mode 100644 hf2gcode/demo_hello_world.png create mode 100644 hf2gcode/hershey_fonts/Makefile create mode 100644 hf2gcode/hershey_fonts/README create mode 100644 hf2gcode/hershey_fonts/fix_linebreak.sh create mode 100644 hf2gcode/hershey_fonts/gen_c_src/astrology.h create mode 100644 hf2gcode/hershey_fonts/gen_c_src/cursive.h create mode 100644 hf2gcode/hershey_fonts/gen_c_src/cyrilc_1.h create mode 100644 hf2gcode/hershey_fonts/gen_c_src/cyrillic.h create mode 100644 hf2gcode/hershey_fonts/gen_c_src/futural.h create mode 100644 hf2gcode/hershey_fonts/gen_c_src/futuram.h create mode 100644 hf2gcode/hershey_fonts/gen_c_src/gothgbt.h create mode 100644 hf2gcode/hershey_fonts/gen_c_src/gothgrt.h create mode 100644 hf2gcode/hershey_fonts/gen_c_src/gothiceng.h create mode 100644 hf2gcode/hershey_fonts/gen_c_src/gothicger.h create mode 100644 hf2gcode/hershey_fonts/gen_c_src/gothicita.h create mode 100644 hf2gcode/hershey_fonts/gen_c_src/gothitt.h create mode 100644 hf2gcode/hershey_fonts/gen_c_src/greek.h create mode 100644 hf2gcode/hershey_fonts/gen_c_src/greekc.h create mode 100644 hf2gcode/hershey_fonts/gen_c_src/greeks.h create mode 100644 hf2gcode/hershey_fonts/gen_c_src/japanese.h create mode 100644 hf2gcode/hershey_fonts/gen_c_src/markers.h create mode 100644 hf2gcode/hershey_fonts/gen_c_src/mathlow.h create mode 100644 hf2gcode/hershey_fonts/gen_c_src/mathupp.h create mode 100644 hf2gcode/hershey_fonts/gen_c_src/meteorology.h create mode 100644 hf2gcode/hershey_fonts/gen_c_src/music.h create mode 100644 hf2gcode/hershey_fonts/gen_c_src/rowmand.h create mode 100644 hf2gcode/hershey_fonts/gen_c_src/rowmans.h create mode 100644 hf2gcode/hershey_fonts/gen_c_src/rowmant.h create mode 100644 hf2gcode/hershey_fonts/gen_c_src/scriptc.h create mode 100644 hf2gcode/hershey_fonts/gen_c_src/scripts.h create mode 100644 hf2gcode/hershey_fonts/gen_c_src/symbolic.h create mode 100644 hf2gcode/hershey_fonts/gen_c_src/timesg.h create mode 100644 hf2gcode/hershey_fonts/gen_c_src/timesi.h create mode 100644 hf2gcode/hershey_fonts/gen_c_src/timesib.h create mode 100644 hf2gcode/hershey_fonts/gen_c_src/timesr.h create mode 100644 hf2gcode/hershey_fonts/gen_c_src/timesrb.h create mode 100644 hf2gcode/hershey_fonts/orig/astrology.jhf create mode 100644 hf2gcode/hershey_fonts/orig/cursive.jhf create mode 100644 hf2gcode/hershey_fonts/orig/cyrilc_1.jhf create mode 100644 hf2gcode/hershey_fonts/orig/cyrillic.jhf create mode 100644 hf2gcode/hershey_fonts/orig/futural.jhf create mode 100644 hf2gcode/hershey_fonts/orig/futuram.jhf create mode 100644 hf2gcode/hershey_fonts/orig/gothgbt.jhf create mode 100644 hf2gcode/hershey_fonts/orig/gothgrt.jhf create mode 100644 hf2gcode/hershey_fonts/orig/gothiceng.jhf create mode 100644 hf2gcode/hershey_fonts/orig/gothicger.jhf create mode 100644 hf2gcode/hershey_fonts/orig/gothicita.jhf create mode 100644 hf2gcode/hershey_fonts/orig/gothitt.jhf create mode 100644 hf2gcode/hershey_fonts/orig/greek.jhf create mode 100644 hf2gcode/hershey_fonts/orig/greekc.jhf create mode 100644 hf2gcode/hershey_fonts/orig/greeks.jhf create mode 100644 hf2gcode/hershey_fonts/orig/hershey.txt create mode 100644 hf2gcode/hershey_fonts/orig/japanese.jhf create mode 100644 hf2gcode/hershey_fonts/orig/markers.jhf create mode 100644 hf2gcode/hershey_fonts/orig/mathlow.jhf create mode 100644 hf2gcode/hershey_fonts/orig/mathupp.jhf create mode 100644 hf2gcode/hershey_fonts/orig/meteorology.jhf create mode 100644 hf2gcode/hershey_fonts/orig/music.jhf create mode 100644 hf2gcode/hershey_fonts/orig/rowmand.jhf create mode 100644 hf2gcode/hershey_fonts/orig/rowmans.jhf create mode 100644 hf2gcode/hershey_fonts/orig/rowmant.jhf create mode 100644 hf2gcode/hershey_fonts/orig/scriptc.jhf create mode 100644 hf2gcode/hershey_fonts/orig/scripts.jhf create mode 100644 hf2gcode/hershey_fonts/orig/symbolic.jhf create mode 100644 hf2gcode/hershey_fonts/orig/timesg.jhf create mode 100644 hf2gcode/hershey_fonts/orig/timesi.jhf create mode 100644 hf2gcode/hershey_fonts/orig/timesib.jhf create mode 100644 hf2gcode/hershey_fonts/orig/timesr.jhf create mode 100644 hf2gcode/hershey_fonts/orig/timesrb.jhf create mode 100644 hf2gcode/hershey_fonts/realclean.sh create mode 100644 hf2gcode/src/Makefile create mode 100644 hf2gcode/src/demo.txt create mode 100644 hf2gcode/src/demo_hello_world.ngc create mode 100644 hf2gcode/src/demo_hello_world_needler.ngc create mode 100644 hf2gcode/src/demo_hello_world_scripts.ngc create mode 100644 hf2gcode/src/do_stats.m create mode 100644 hf2gcode/src/gen_C_code.m create mode 100644 hf2gcode/src/hf2gcode create mode 100644 hf2gcode/src/hf2gcode.c create mode 100644 hf2gcode/src/libhf2gcode.c create mode 100644 hf2gcode/src/libhf2gcode.h create mode 100644 hf2gcode/src/load_hf.m create mode 100644 hf2gcode/src/plot_custom_text.m create mode 100644 hf2gcode/src/plot_hf.m create mode 100644 hf2gcode/src/plot_hf_glyph.m create mode 100644 hf2gcode/src/render_hf.m create mode 100644 hf2gcode/src/try.ngc diff --git a/hf.zip b/hf.zip new file mode 100644 index 0000000000000000000000000000000000000000..f90431a7db8e8570e3aeec108bec255fbeb6c923 GIT binary patch literal 280724 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 + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/hf2gcode/Makefile b/hf2gcode/Makefile new file mode 100644 index 0000000..270f81e --- /dev/null +++ b/hf2gcode/Makefile @@ -0,0 +1,15 @@ +.PHONY:clean + +simple: + $(MAKE) -C src + +all: + $(MAKE) -C hershey_fonts all + $(MAKE) -C src all + +trailing_space_clean: + find . \( -name "*.m" -or -name "*.c*" -or -name "*.h" \) -exec sed -i 's/[[:space:]]*$$//' {} \; + +clean: + $(MAKE) -C hershey_fonts clean + $(MAKE) -C src clean diff --git a/hf2gcode/README.md b/hf2gcode/README.md new file mode 100644 index 0000000..de0e391 --- /dev/null +++ b/hf2gcode/README.md @@ -0,0 +1,162 @@ +hf2gcode, a hershey font to g-code tracer +========================================= +![demo_hello_world.ngc in LinuxCNC](http://tech-chat.de/images/demo_hello_world.png) +(The image above shows src/demo_hello_word.ngc in LinuxCNCs simulator with sim/axis/axis_mm.ini) + +The current release is "hf2gcode 0.2.1", +please see topic "Bugs" or "TODO" below before you report a bug. + +Available fonts in "hf2gcode 0.2.1": +[cursive](http://www.tech-chat.de/hf/cursive.svg), +[futural](http://www.tech-chat.de/hf/futural.svg), +[futuram](http://www.tech-chat.de/hf/futuram.svg), +[gothgbt](http://www.tech-chat.de/hf/gothgbt.svg), +[gothgrt](http://www.tech-chat.de/hf/gothgrt.svg), +[gothiceng](http://www.tech-chat.de/hf/gothiceng.svg), +[gothicger](http://www.tech-chat.de/hf/gothicger.svg), +[gothicita](http://www.tech-chat.de/hf/gothicita.svg), +[gothitt](http://www.tech-chat.de/hf/gothitt.svg), +[greekc](http://www.tech-chat.de/hf/greekc.svg), +[greek](http://www.tech-chat.de/hf/greek.svg), +[greeks](http://www.tech-chat.de/hf/greeks.svg), +[rowmand](http://www.tech-chat.de/hf/rowmand.svg), +[rowmans](http://www.tech-chat.de/hf/rowmans.svg), +[rowmant](http://www.tech-chat.de/hf/rowmant.svg), +[scriptc](http://www.tech-chat.de/hf/scriptc.svg), +[scripts](http://www.tech-chat.de/hf/scripts.svg), +[symbolic](http://www.tech-chat.de/hf/symbolic.svg), +[timesg](http://www.tech-chat.de/hf/timesg.svg), +[timesib](http://www.tech-chat.de/hf/timesib.svg), +[timesi](http://www.tech-chat.de/hf/timesi.svg), +[timesrb](http://www.tech-chat.de/hf/timesrb.svg), +[timesr](http://www.tech-chat.de/hf/timesr.svg) + +Overview on http://www.tech-chat.de/png_album/ + +Dependencies +------------ +* gcc, the GNU Compiler Collection, libc +* [GNU argp](http://www.gnu.org/software/libc/manual/html_node/Argp.html) +* (OPTIONAL) GNU Octave if you want to generate the hershey font overview pngs and svgs or to generated the hershey_font C declarations. +* (OPTIONAL) photon if you want to generate a static HTML page with rendered fonts like http://www.tech-chat.de/png_album/ + +Build +----- + cd src + make + +Usage +----- + ./hf2gcode --usage + Usage: hf2gcode [-aclrmqu?V] [-h FONT] [-i FILE] [-o FILE] [-s SCALE] + [-f FEED] [-x X0] [-y Y0] [-n YINC] [-p PREC] [--append] + [--font=FONT] [--input=FILE] [--output=FILE] [--scale=SCALE] + [--feed=FEED] [--xoffset=X0] [--yoffset=Y0] [--z-down=ZDown] + [--z-up=ZUp] [--align-center] [--align-left] [--interline=YINC] + [--align-right] [--min-gcode] [--no-post] [--no-pre] + [--precision=PREC] [--quiet] [--inch] [--help] [--usage] + [--version] [TEXT] + + +Help +---- + ./hf2gcode --help + Usage: hf2gcode [OPTION...] [TEXT] + hf2gcode, a hershey font to g-code tracer + + -a, --append Append to output file instead of overwriting + -h, --font=FONT Use FONT instead of default font "rowmans" + -i, --input=FILE Read text from FILE instead of stdin + -o, --output=FILE Output to FILE instead of stdout + -s, --scale=SCALE Base unit/hershey font unit (default 0.5) + + G-code base settings: + -f, --feed=FEED Feed rate (default 200) + -x, --xoffset=X0 X-Axis offset (default 0) + -y, --yoffset=Y0 Y-Axis offset (default 0) + --z-down=ZDown PenDown Z value (default -1) + --z-up=ZUp PenUp Z value (default 1) + + Multiline settings: + -c, --align-center Center multiple lines + -l, --align-left Left align multiple lines (default) + -n, --interline=YINC Interline spacing in Y direction for multiple + lines (default 15) + -r, --align-right Right align multiple lines + + Miscellaneous: + -m, --min-gcode Generate minimalistic g-code, suppress comments + --no-post Don't include postamble + --no-pre Don't include preamble + -p, --precision=PREC Precision for G-Code generation (default 3) + -q, --quiet Don't produce any output to stdout + -u, --inch Use United States customary units (inch instead of + mm) as base unit + + -?, --help Give this help list + --usage Give a short usage message + -V, --version Print program version + + Mandatory or optional arguments to long options are also mandatory or optional + for any corresponding short options. + + Report bugs to . + +Design and structure +-------------------- +* hershey_fonts/orig/*.jhf: original hershey fonts, see hershey_fonts/README +* hershey_fonts/fixed/*.jhf: generated with fix_linebreak.sh from orig +* OPTIONAL hershey_fonts/rendered_png and rendered_svg: All fonts as PNG or SVG, generated from src/render_hf (see http://www.tech-chat.de/png_album/) +* hershey_fonts/gen_c_src/*.h: Font declarations, generated with src/gen_C_code.m +* src/libhf2gcode.c and .h: Actual type setting/tracing +* src/hf2gcode.c: A command line interface program to call libhf2gcode + +The libhf2gcode should also be compilable with avr-gcc and run on an AVR Atmega32. Only font "rowmans" and "scripts" are available if +the MACRO AVR is set. The [Needler project](https://github.com/Andy1978/needler) reads user input from 8x8 matrix keyboard, +generates the g-code with libhf2gcode and sends the generated g-code to [grbl](https://github.com/grbl/grbl) +which controlls the stepper for the CNC mill. + +Testing the generated output +---------------------------- + +The resulting g-code can be tested with LinuxCNC as simulator or any other software which reads g-code. +There are LinuxCNC simulator binaries for various Ubuntus (IMHO outdated) or you might compile the source: + +http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Build_A_Simulator_Manually + +Short summary for Debian 7.0 wheezy: + + git clone git://git.linuxcnc.org/git/linuxcnc.git linuxcnc + cd linuxcnc/debian && ./configure sim + cd .. && dpkg-checkbuilddeps + +Install the dependencies with apt-get or aptitude + + cd src && ./autogen.sh && ./configure --enable-simulator + make + +Then run ./linuxcnc in linuxcnc/scripts and select a simulated machinge e.g. sim/axis/axis_mm.ini + +TODO / not yet implemented features +------------------------------------ + +* Multiline align-right or align-center ist not yet implemented, please use the default "align-left" instead. + +* Don't lift the pen if the start position of the next glyph is the same as the end position of the current. For example see a text which uses font "scripts". + +* German "Umlaute" äöüß weren't implemented yet. + +Bugs +---- +Zarro Boogs Found + +License +------- +GPLv3, see file LICENSE + +Unsorted Links +-------------- +* http://en.wikipedia.org/wiki/Hershey_font +* http://www.ghostscript.com/doc/current/Hershey.htm +* http://emergent.unpythonic.net/software/hershey (Download of the fonts and description) +* http://www.linuxcnc.org/docs/html/gcode.html diff --git a/hf2gcode/Thumbs.db b/hf2gcode/Thumbs.db new file mode 100644 index 0000000000000000000000000000000000000000..6b00bfb1ecbd9af03793b5071b650b7dd71c2000 GIT binary patch literal 9728 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 Hi?II#wrAbs literal 0 HcmV?d00001 diff --git a/hf2gcode/hershey_fonts/Makefile b/hf2gcode/hershey_fonts/Makefile new file mode 100644 index 0000000..b060fcd --- /dev/null +++ b/hf2gcode/hershey_fonts/Makefile @@ -0,0 +1,39 @@ +.PHONY:clean +.PHONY:realclean + +fixed_hf = $(subst orig,fixed,$(wildcard orig/*.jhf)) +rendered_hf_png = $(patsubst %.jhf,%.png,$(subst orig,rendered_png,$(wildcard orig/*.jhf))) +rendered_hf_svg = $(patsubst %.jhf,%.svg,$(subst orig,rendered_svg,$(wildcard orig/*.jhf))) +gen_c = $(patsubst %.jhf,%.h,$(subst orig,gen_c_src,$(wildcard orig/*.jhf))) + +RENDER_DEP = ../src/load_hf.m ../src/plot_hf.m ../src/plot_hf_glyph.m ../src/render_hf.m + +## Only the C src, do not render fonts with octave +src: $(gen_c) + +## Make all, render even all fonts to PNG and SVG +all: src $(rendered_hf_png) $(rendered_hf_svg) + +fixed/%.jhf: orig/%.jhf ./fix_linebreak.sh + @mkdir -p fixed + ./fix_linebreak.sh $< $@ + +rendered_png/%.png rendered_svg/%.svg: fixed/%.jhf $(RENDER_DEP) + @mkdir -p rendered_png + @mkdir -p rendered_svg + octave -q --eval 'addpath("../src/"); render_hf("$<","rendered")' + +png_album: $(rendered_hf_png) + photon -J -s 0 -t 800x800 -E -d 1 -l40 -o png_album rendered_png + +gen_c_src/%.h:fixed/%.jhf ../src/gen_C_code.m ../src/load_hf.m + @mkdir -p gen_c_src + octave -q --eval 'addpath("../src/"); gen_C_code("$<","$@")' + +clean: + rm -rf fixed + rm -rf rendered_png rendered_svg + rm -rf png_album + +realclean: clean + ./realclean.sh diff --git a/hf2gcode/hershey_fonts/README b/hf2gcode/hershey_fonts/README new file mode 100644 index 0000000..3338e5c --- /dev/null +++ b/hf2gcode/hershey_fonts/README @@ -0,0 +1,241 @@ +http://en.wikipedia.org/wiki/Hershey_font +http://emergent.unpythonic.net/software/hershey + +from http://www.ghostscript.com/doc/current/Hershey.htm: + +This distribution is made possible through the collective encouragement +of the Usenet Font Consortium, a mailing list that sprang to life to get +this accomplished and that will now most likely disappear into the mists +of time... Thanks are especially due to Jim Hurt, who provided the packed +font data for the distribution, along with a lot of other help. + +This file describes the Hershey Fonts in general, along with a description of +the other files in this distribution and a simple re-distribution restriction. + +USE RESTRICTION: + This distribution of the Hershey Fonts may be used by anyone for + any purpose, commercial or otherwise, providing that: + 1. The following acknowledgements must be distributed with + the font data: + - The Hershey Fonts were originally created by Dr. + A. V. Hershey while working at the U. S. + National Bureau of Standards. + - The format of the Font data in this distribution + was originally created by + James Hurt + Cognition, Inc. + 900 Technology Park Drive + Billerica, MA 01821 + (mit-eddie!ci-dandelion!hurt) + 2. The font data in this distribution may be converted into + any other format *EXCEPT* the format distributed by + the U.S. NTIS (which organization holds the rights + to the distribution and use of the font data in that + particular format). Not that anybody would really + *want* to use their format... each point is described + in eight bytes as "xxx yyy:", where xxx and yyy are + the coordinate values as ASCII numbers. + +*PLEASE* be reassured: The legal implications of NTIS' attempt to control +a particular form of the Hershey Fonts *are* troubling. HOWEVER: We have +been endlessly and repeatedly assured by NTIS that they do not care what +we do with our version of the font data, they do not want to know about it, +they understand that we are distributing this information all over the world, +etc etc etc... but because it isn't in their *exact* distribution format, they +just don't care!!! So go ahead and use the data with a clear conscience! (If +you feel bad about it, take a smaller deduction for something on your taxes +next week...) + +The Hershey Fonts: + - are a set of more than 2000 glyph (symbol) descriptions in vector + ( point-to-point ) format + - can be grouped as almost 20 'occidental' (english, greek, + cyrillic) fonts, 3 or more 'oriental' (Kanji, Hiragana, + and Katakana) fonts, and a few hundred miscellaneous + symbols (mathematical, musical, cartographic, etc etc) + - are suitable for typographic quality output on a vector device + (such as a plotter) when used at an appropriate scale. + - were digitized by Dr. A. V. Hershey while working for the U.S. + Government National Bureau of Standards (NBS). + - are in the public domain, with a few caveats: + - They are available from NTIS (National Technical Info. + Service) in a computer-readable from which is *not* + in the public domain. This format is described in + a hardcopy publication "Tables of Coordinates for + Hershey's Repertory of Occidental Type Fonts and + Graphic Symbols" available from NTIS for less than + $20 US (phone number +1 703 487 4763). + - NTIS does not care about and doesn't want to know about + what happens to Hershey Font data that is not + distributed in their exact format. + - This distribution is not in the NTIS format, and thus is + only subject to the simple restriction described + at the top of this file. + +Hard Copy samples of the Hershey Fonts are best obtained by purchasing the +book described above from NTIS. It contains a sample of all of the Occidental +symbols (but none of the Oriental symbols). + +This distribution: + - contains + * a complete copy of the Font data using the original + glyph-numbering sequence + * a set of translation tables that could be used to generate + ASCII-sequence fonts in various typestyles + * a couple of sample programs in C and Fortran that are + capable of parsing the font data and displaying it + on a graphic device (we recommend that if you + wish to write programs using the fonts, you should + hack up one of these until it works on your system) + + - consists of the following files... + hershey.doc - details of the font data format, typestyles and + symbols included, etc. + hersh.oc[1-4] - The Occidental font data (these files can + be catenated into one large database) + hersh.or[1-4] - The Oriental font data (likewise here) + *.hmp - Occidental font map files. Each file is a translation + table from Hershey glyph numbers to ASCII + sequence for a particular typestyle. + hershey.f77 - A fortran program that reads and displays all + of the glyphs in a Hershey font file. + hershey.c - The same, in C, using GKS, for MS-DOS and the + PC-Color Graphics Adaptor. + +Additional Work To Be Done (volunteers welcome!): + + - Integrate this complete set of data with the hershey font typesetting + program recently distributed to mod.sources + - Come up with an integrated data structure and supporting routines + that make use of the ASCII translation tables + - Digitize additional characters for the few places where non-ideal + symbol substitutions were made in the ASCII translation tables. + - Make a version of the demo program (hershey.c or hershey.f77) that + uses the standard Un*x plot routines. + - Write a banner-style program using Hershey Fonts for input and + non-graphic terminals or printers for output. + - Anything else you'd like! + +This file provides a brief description of the contents of the Occidental +Hershey Font Files. For a complete listing of the fonts in hard copy, order +NBS Special Publication 424, "A contribution to computer typesetting +techniques: Tables of Coordinates for Hershey's Repertory of Occidental +Type Fonts and Graphic Symbols". You can get it from NTIS (phone number is ++1 703 487 4763) for less than twenty dollars US. + +Basic Glyph (symbol) data: + + hersh.oc1 - numbers 1 to 1199 + hersh.oc2 - numbers 1200 to 2499 + hersh.oc3 - numbers 2500 to 3199 + hersh.oc4 - numbers 3200 to 3999 + + These four files contain approximately 19 different fonts in +the A-Z alphabet plus greek and cyrillic, along with hundreds of special +symbols, described generically below. + + There are also four files of Oriental fonts (hersh.or[1-4]). These +files contain symbols from three Japanese alphabets (Kanji, Hiragana, and +Katakana). It is unknown what other symbols may be contained therein, nor +is it known what order the symbols are in (I don't know Japanese!). + + Back to the Occidental files: + +Fonts: + Roman: Plain, Simplex, Duplex, Complex Small, Complex, Triplex + Italic: Complex Small, Complex, Triplex + Script: Simplex, Complex + Gothic: German, English, Italian + Greek: Plain, Simplex, Complex Small, Complex + Cyrillic: Complex + +Symbols: + Mathematical (227-229,232,727-779,732,737-740,1227-1270,2227-2270, + 1294-1412,2294-2295,2401-2412) + Daggers (for footnotes, etc) (1276-1279, 2276-2279) + Astronomical (1281-1293,2281-2293) + Astrological (2301-2312) + Musical (2317-2382) + Typesetting (ffl,fl,fi sorts of things) (miscellaneous places) + Miscellaneous (mostly in 741-909, but also elsewhere): + - Playing card suits + - Meteorology + - Graphics (lines, curves) + - Electrical + - Geometric (shapes) + - Cartographic + - Naval + - Agricultural + - Highways + - Etc... + +ASCII sequence translation files: + + The Hershey glyphs, while in a particular order, are not in an + ASCII sequence. I have provided translation files that give the + sequence of glyph numbers that will most closely approximate the + ASCII printing sequence (from space through ~, with the degree + circle tacked on at the end) for each of the above fonts: + + File names are made up of fffffftt.hmp, + + where ffffff is the font style, one of: + roman Roman + greek Greek + italic Italic + script Script + cyril Cyrillic (some characters not placed in + the ASCII sequence) + gothgr Gothic German + gothgb Gothic English + gothit Gothic Italian + + and tt is the font type, one of: + p Plain (very small, no lower case) + s Simplex (plain, normal size, no serifs) + d Duplex (normal size, no serifs, doubled lines) + c Complex (normal size, serifs, doubled lines) + t Triplex (normal size, serifs, tripled lines) + cs Complex Small (Complex, smaller than normal size) + +The three sizes are coded with particular base line (bottom of a capital + letter) and cap line (top of a capital letter) values for 'y': + + Size Base Line Cap Line + + Very Small -5 +4 + Small -6 +7 + Normal -9 +12 + + (Note: some glyphs in the 'Very Small' fonts are actually 'Small') + +The top line and bottom line, which are normally used to define vertical + spacing, are not given. Maybe somebody can determine appropriate + values for these! + +The left line and right line, which are used to define horizontal spacing, + are provided with each character in the database. + +Format of Hershey glyphs: + +5 bytes - glyphnumber +3 bytes - length of data length in 16-bit words including left&right numbers +1 byte - x value of left margin +1 byte - x value of right margin +(length*2)-2 bytes - stroke data + +left&right margins and stroke data are biased by the value of the letter 'R' +Subtract the letter 'R' to get the data. + +e.g. if the data byte is 'R', the data is 0 + if the data byte is 'T', the data is +2 + if the data byte is 'J', the data is -8 + +and so on... + +The coordinate system is x-y, with the origin (0,0) in the center of the +glyph. X increases to the right and y increases *down*. + +The stroke data is pairs of bytes, one byte for x followed by one byte for y. + +An 'R' in the stroke data indicates a 'lift pen and move' instruction. diff --git a/hf2gcode/hershey_fonts/fix_linebreak.sh b/hf2gcode/hershey_fonts/fix_linebreak.sh new file mode 100644 index 0000000..65d802e --- /dev/null +++ b/hf2gcode/hershey_fonts/fix_linebreak.sh @@ -0,0 +1,7 @@ +#!/bin/bash +## +## 20.05.2013 Andreas Weber +## Removing "SUB" (0x1A), CR (Windows Carriage Return) and linebreaks in a glyph command. + +echo "removing unwanted linebreak and CR in $1" +sed 's/\x1A//g' $1 | tr -d '\r' | gawk --re-interval 'BEGIN{FIELDWIDTHS = "5 3 1 1 200"} $1~/[ 0-9]{5}/{if(NR>1) printf("\n")} {printf("%s",$0)}' > $2 diff --git a/hf2gcode/hershey_fonts/gen_c_src/astrology.h b/hf2gcode/hershey_fonts/gen_c_src/astrology.h new file mode 100644 index 0000000..a993bc2 --- /dev/null +++ b/hf2gcode/hershey_fonts/gen_c_src/astrology.h @@ -0,0 +1,105 @@ +/* This file was generated with gen_C_code.m from fixed/astrology.jhf */ + +/* number of glyphs in font */ +unsigned char astrology_cnt = 96; + +/* Format: margin left, margin right, X, Y ... \0 +< R> is pen-up, see original hershey font */ +const char astrology [] PROGMEM="JZ\0"\ + "F^JHNJPLQOQRPUNWJY RJHMIOJQLRO RRRQUOWMXJY RZHWIUJSLRO RRRSUUWWXZY RZHVJTLSOSRTUVWZY RIP[P RIQ[Q\0"\ + "I[NFMGMM RNGMM RNFOGMM RWFVGVM RWGVM RWFXGVM\0"\ + "E`QFNGKIILHOHRIUKXNZQ[T[WZZX\\U]R]O\\LZIWGTFQF RROQPQQRRSRTQTPSORO RRPRQSQSPRP\0"\ + "J[PFNGOIQJ RPFOGOI RUFWGVITJ RUFVGVI RQJOKNLMNMQNSOTQUTUVTWSXQXNWLVKTJQJ RRUR[ RSUS[ RNXWX\0"\ + "I\\RFOGMILLLMMPORRSSSVRXPYMYLXIVGSFRF RRSR[ RSSS[ RNWWW\0"\ + "D`PFMGJIHLGOGSHVJYM[P\\T\\W[ZY\\V]S]O\\LZIWGTFPF RRFR\\ RGQ]Q\0"\ + "G`PMMNKPJSJTKWMYPZQZTYVWWTWSVPTNQMPM R]GWG[HUN R]G]M\\IVO R\\HVN\0"\ + "KYVBTDRGPKOPOTPYR]T`Vb RTDRHQKPPPTQYR\\T`\0"\ + "KYNBPDRGTKUPUTTYR]P`Nb RPDRHSKTPTTSYR\\P`\0"\ + "F\\IIJGLFOFQGRIRLQOPQNSKU ROFPGQIQMPPNS RVFT[ RWFS[ RKUYU\0"\ + "I\\MFMU RNFMQ RMQNOONQMTMWNXPXRWTUV RTMVNWPWRTXTZU[W[YY RKFNF\0"\ + "NVSWRXQWRVSWSYQ[\0"\ + "I\\RNOOMQLTLUMXOZR[S[VZXXYUYTXQVOSNRN RRHNJRFRN RSHWJSFSN RRSQTQURVSVTUTTSSRS RRTRUSUSTRT\0"\ + "NVRVQWRXSWRV\0"\ + "G^QHRFR[ RTHSFS[ RJHKFKMLPNRQSRS RMHLFLNMQ R[HZFZMYPWRTSSS RXHYFYNXQ RNWWW\0"\ + "H]TFQGOIMLLOKSKVLYMZO[Q[TZVXXUYRZNZKYHXGVFTF RQHOJNLMOLSLWMY RTYVWWUXRYNYJXH RTFRGPJOLNOMSMXNZO[ RQ[SZUWVUWRXNXIWGVF\0"\ + "H]TJO[Q[ RWFUJP[ RWFQ[ RWFTIQKOL RTJRKOL\0"\ + "H]OKOJPJPLNLNJOHPGSFVFYGZIZKYMWOMUKWI[ RXGYIYKXMVOSQ RVFWGXIXKWMUOMU RJYKXMXRYWYXX RMXRZWZ RMXR[U[WZXXXW\0"\ + "H]OKOJPJPLNLNJOHPGSFVFYGZIZKYMXNVOSP RXGYIYKXMWN RVFWGXIXKWMUOSP RQPSPVQWRXTXWWYUZR[O[LZKYJWJULULWKWKV RVRWTWWVY RSPUQVSVWUYTZR[\0"\ + "H]WJR[T[ RZFXJS[ RZFT[ RZFJUZU\0"\ + "H]QFLP RQF[F RQGYG RPHUHYG[F RLPMOPNSNVOWPXRXUWXUZQ[N[LZKYJWJULULWKWKV RVPWRWUVXTZ RSNUOVQVUUXSZQ[\0"\ + "H]YJYIXIXKZKZIYGWFTFQGOIMLLOKSKVLYMZO[R[UZWXXVXSWQVPTOQOOPNQMS RPINLMOLSLWMY RVXWVWSVQ RTFRGPJOLNOMSMXNZO[ RR[TZUYVVVRUPTO\0"\ + "H]NFLL R[FZIXLTQRTQWP[ RRSPWO[ RXLRRPUOWN[P[ RMIPFRFWI ROGRGWI RMIOHRHWIYIZH[F\0"\ + "H]SFPGOHNJNMOOQPTPWOYNZLZIYGWFSF RUFPG RPHOJONPO ROORP RSPWO RXNYLYIXG RYGUF RSFQHPJPNQP RTPVOWNXLXHWF RQPMQKSJUJXKZN[R[VZWYXWXTWRVQTP RRPMQ RNQLSKUKXLZ RKZP[VZ RVYWWWTVR RVQSP RQPOQMSLULXMZN[ RR[TZUYVWVSUQTP\0"\ + "H]XNWPVQTRQROQNPMNMKNIPGSFVFXGYHZKZNYRXUVXTZQ[N[LZKXKVMVMXLXLW ROPNNNKOI RXHYJYNXRWUUX RQRPQOOOKPHQGSF RVFWGXIXNWRVUUWSZQ[\0"\ + "G]LFL[ RMFM[ RIFUFXGYHZJZMYOXPUQMQ RUFWGXHYJYMXOWPUQ RI[Y[YVX[\0"\ + "H[YGUGQHNJLMKPKSLVNYQ[U\\Y\\ RYGVHSJQMPPPSQVSYV[Y\\\0"\ + "F_OQMQKRJSIUIWJYKZM[O[QZRYSWSURSQROQ RSHPQ RZJRR R\\QST\0"\ + "H\\OKUY RUKOY RKOYU RYOKU\0"\ + "F^NVLUKUIVHXHYI[K\\L\\N[OYOXNVKRJOJMKJMHPGTGWHYJZMZOYRVVUXUYV[X\\Y\\[[\\Y\\X[VYUXUVV RJMKKMIPHTHWIYKZM\0"\ + "F^NMLNKNIMHKHJIHKGLGNHOJOKNMKQJTJVKYM[P\\T\\W[YYZVZTYQVMUKUJVHXGYG[H\\J\\K[MYNXNVM RJVKXMZP[T[WZYXZV\0"\ + "F_JMILIJJHLGNGPHQIRKSP RIJKHMHOIPJQLRPR[ R[M\\L\\J[HYGWGUHTISKRP R\\JZHXHVIUJTLSPS[\0"\ + "H\\RFKZ RQIW[ RRIX[ RRFY[ RMUVU RI[O[ RT[[[ RKZJ[ RKZM[ RWZU[ RWYV[ RXYZ[\0"\ + "G]LFL[ RMGMZ RNFN[ RIFUFXGYHZJZLYNXOUP RXHYJYLXN RUFWGXIXMWOUP RNPUPXQYRZTZWYYXZU[I[ RXRYTYWXY RUPWQXSXXWZU[ RJFLG RKFLH ROFNH RPFNG RLZJ[ RLYK[ RNYO[ RNZP[\0"\ + "G\\XIYFYLXIVGTFQFNGLIKKJNJSKVLXNZQ[T[VZXXYV RMILKKNKSLVMX RQFOGMJLNLSMWOZQ[\0"\ + "G]LFL[ RMGMZ RNFN[ RIFSFVGXIYKZNZSYVXXVZS[I[ RWIXKYNYSXVWX RSFUGWJXNXSWWUZS[ RJFLG RKFLH ROFNH RPFNG RLZJ[ RLYK[ RNYO[ RNZP[\0"\ + "G\\LFL[ RMGMZ RNFN[ RIFYFYL RNPTP RTLTT RI[Y[YU RJFLG RKFLH ROFNH RPFNG RTFYG RVFYH RWFYI RXFYL RTLSPTT RTNRPTR RTOPPTQ RLZJ[ RLYK[ RNYO[ RNZP[ RT[YZ RV[YY RW[YX RX[YU\0"\ + "G[LFL[ RMGMZ RNFN[ RIFYFYL RNPTP RTLTT RI[Q[ RJFLG RKFLH ROFNH RPFNG RTFYG RVFYH RWFYI RXFYL RTLSPTT RTNRPTR RTOPPTQ RLZJ[ RLYK[ RNYO[ RNZP[\0"\ + "G^XIYFYLXIVGTFQFNGLIKKJNJSKVLXNZQ[T[VZXZY[YS RMILKKNKSLVMX RQFOGMJLNLSMWOZQ[ RXTXY RWSWYVZ RTS\\S RUSWT RVSWU RZSYU R[SYT\0"\ + "F^KFK[ RLGLZ RMFM[ RWFW[ RXGXZ RYFY[ RHFPF RTF\\F RMPWP RH[P[ RT[\\[ RIFKG RJFKH RNFMH ROFMG RUFWG RVFWH RZFYH R[FYG RKZI[ RKYJ[ RMYN[ RMZO[ RWZU[ RWYV[ RYYZ[ RYZ[[\0"\ + "LXQFQ[ RRGRZ RSFS[ RNFVF RN[V[ ROFQG RPFQH RTFSH RUFSG RQZO[ RQYP[ RSYT[ RSZU[\0"\ + "JZSFSWRZQ[ RTGTWSZ RUFUWTZQ[O[MZLXLVMUNUOVOWNXMX RMVMWNWNVMV RPFXF RQFSG RRFSH RVFUH RWFUG\0"\ + "F\\KFK[ RLGLZ RMFM[ RXGMR RPPW[ RQPX[ RQNY[ RHFPF RUF[F RH[P[ RT[[[ RIFKG RJFKH RNFMH ROFMG RWFXG RZFXG RKZI[ RKYJ[ RMYN[ RMZO[ RWYU[ RWYZ[\0"\ + "I[NFN[ ROGOZ RPFP[ RKFSF RK[Z[ZU RLFNG RMFNH RQFPH RRFPG RNZL[ RNYM[ RPYQ[ RPZR[ RU[ZZ RW[ZY RX[ZX RY[ZU\0"\ + "E_JFJZ RJFQ[ RKFQX RLFRX RXFQ[ RXFX[ RYGYZ RZFZ[ RGFLF RXF]F RG[M[ RU[][ RHFJG R[FZH R\\FZG RJZH[ RJZL[ RXZV[ RXYW[ RZY[[ RZZ\\[\0"\ + "F^KFKZ RKFY[ RLFXX RMFYX RYGY[ RHFMF RVF\\F RH[N[ RIFKG RWFYG R[FYG RKZI[ RKZM[\0"\ + "G]QFNGLIKKJOJRKVLXNZQ[S[VZXXYVZRZOYKXIVGSFQF RMILKKNKSLVMX RWXXVYSYNXKWI RQFOGMJLNLSMWOZQ[ RS[UZWWXSXNWJUGSF\0"\ + "G]LFL[ RMGMZ RNFN[ RIFUFXGYHZJZMYOXPUQNQ RXHYJYMXO RUFWGXIXNWPUQ RI[Q[ RJFLG RKFLH ROFNH RPFNG RLZJ[ RLYK[ RNYO[ RNZP[\0"\ + "G]QFNGLIKKJOJRKVLXNZQ[S[VZXXYVZRZOYKXIVGSFQF RMILKKNKSLVMX RWXXVYSYNXKWI RQFOGMJLNLSMWOZQ[ RS[UZWWXSXNWJUGSF RNXOVQURUTVUXV^W`Y`Z^Z\\ RV\\W^X_Y_ RUXW]X^Y^Z]\0"\ + "G]LFL[ RMGMZ RNFN[ RIFUFXGYHZJZLYNXOUPNP RXHYJYLXN RUFWGXIXMWOUP RRPTQUSWYX[Z[[Y[W RWWXYYZZZ RTQURXXYYZY[X RI[Q[ RJFLG RKFLH ROFNH RPFNG RLZJ[ RLYK[ RNYO[ RNZP[\0"\ + "H\\XIYFYLXIVGSFPFMGKIKLLNOPURWSXUXXWZ RLLMNOOUQWRXT RMGLILKMMONUPXRYTYWXYWZT[Q[NZLXKUK[LX\0"\ + "H\\JFJL RQFQ[ RRGRZ RSFS[ RZFZL RJFZF RN[V[ RKFJL RLFJI RMFJH ROFJG RUFZG RWFZH RXFZI RYFZL RQZO[ RQYP[ RSYT[ RSZU[\0"\ + "F^KFKULXNZQ[S[VZXXYUYG RLGLVMX RMFMVNYOZQ[ RHFPF RVF\\F RIFKG RJFKH RNFMH ROFMG RWFYG R[FYG\0"\ + "H\\KFR[ RLFRXR[ RMFSX RYGR[ RIFPF RUF[F RJFLH RNFMH ROFMG RWFYG RZFYG\0"\ + "F^JFN[ RKFNVN[ RLFOV RRFOVN[ RRFV[ RSFVVV[ RTFWV RZGWVV[ RGFOF RRFTF RWF]F RHFKG RIFKH RMFLH RNFLG RXFZG R\\FZG\0"\ + "H\\KFW[ RLFX[ RMFY[ RXGLZ RIFPF RUF[F RI[O[ RT[[[ RJFMH RNFMH ROFMG RVFXG RZFXG RLZJ[ RLZN[ RWZU[ RWYV[ RWYZ[\0"\ + "G]JFQQQ[ RKFRQRZ RLFSQS[ RYGSQ RHFOF RVF\\F RN[V[ RIFKG RNFLG RWFYG R[FYG RQZO[ RQYP[ RSYT[ RSZU[\0"\ + "H\\YFKFKL RWFK[ RXFL[ RYFM[ RK[Y[YU RLFKL RMFKI RNFKH RPFKG RT[YZ RV[YY RW[YX RX[YU\0"\ + "F^IGJKKMMOPPTPWOYMZK[G RIGJJKLMNPOTOWNYLZJ[G RPONPMQLSLVMXOZQ[S[UZWXXVXSWQVPTO RPPNQMSMVNY RVYWVWSVQTP\0"\ + "KYKFY^\0"\ + "F^MJMV RNKNU RVKVU RWJWV RIGKIMJPKTKWJYI[G RIYKWMVPUTUWVYW[Y\0"\ + "F^[ILIJJILINJPLQNQPPQNQLPJ[J RIMJOKPMQ RQMPKOJMI RIXXXZW[U[SZQXPVPTQSSSUTWIW R[TZRYQWP RSTTVUWWX\0"\ + "F]OUMTLTJUIWIXJZL[M[OZPXPWOUJPINIKJILHOGSGWHYJZLZOYRVUUWUYV[X[YZZX RMSKPJNJKKILH RSGVHXJYLYOXRVU\0"\ + "G_HKKHMKMV RJILLLV RMKPHRKRU ROIQLQU RRKUHWKW[ RTIVLV[ RWKZH[J\\M\\P[SZUXWUYP[ RYIZJ[M[PZSYUWWTYP[\0"\ + "G]WMUTUXVZW[Y[[Y\\W RXMVTVZ RWMYMWTVX RUTUQTNRMPMMNKQJTJVKYLZN[P[RZSYTWUT RNNLQKTKWLY RPMNOMQLTLWMZN[\0"\ + "I\\PFNMMSMWNYOZQ[S[VZXWYTYRXOWNUMSMQNPOOQNT RQFOMNQNWOZ RVYWWXTXQWO RMFRFPMNT RS[UYVWWTWQVNUM RNFQG ROFPH\0"\ + "I[WQWPVPVRXRXPWNUMRMONMQLTLVMYNZP[R[UZWW ROONQMTMWNY RRMPOOQNTNWOZP[\0"\ + "G]YFVQUUUXVZW[Y[[Y\\W RZFWQVUVZ RVF[FWTVX RUTUQTNRMPMMNKQJTJVKYLZN[P[RZSYTWUT RMOLQKTKWLY RPMNOMQLTLWMZN[ RWFZG RXFYH\0"\ + "I[MVQUTTWRXPWNUMRMONMQLTLVMYNZP[R[UZWX ROONQMTMWNY RRMPOOQNTNWOZP[\0"\ + "JZZHZGYGYI[I[GZFXFVGTISKRNQRO[N^M`Kb RTJSMRRP[O^ RXFVHUJTMSRQZP]O_MaKbIbHaH_J_JaIaI` RNMYM\0"\ + "H]XMT[S^QaOb RYMU[S_ RXMZMV[T_RaObLbJaI`I^K^K`J`J_ RVTVQUNSMQMNNLQKTKVLYMZO[Q[SZTYUWVT RNOMQLTLWMY RQMOONQMTMWNZO[\0"\ + "G]OFI[K[ RPFJ[ RLFQFK[ RMTOPQNSMUMWNXPXSVX RWNWRVVVZ RWPUUUXVZW[Y[[Y\\W RMFPG RNFOH\0"\ + "KXSFSHUHUFSF RTFTH RSGUG RLQMOOMQMRNSPSSQX RRNRRQVQZ RRPPUPXQZR[T[VYWW\0"\ + "KXUFUHWHWFUF RVFVH RUGWG RMQNOPMRMSNTPTSRZQ]P_NaLbJbIaI_K_KaJaJ` RSNSSQZP]O_ RSPRTP[O^N`Lb\0"\ + "G]OFI[K[ RPFJ[ RLFQFK[ RYOYNXNXPZPZNYMWMUNQROS RMSOSQTRUTYUZWZ RQUSYTZ ROSPTRZS[U[WZYW RMFPG RNFOH\0"\ + "LXTFQQPUPXQZR[T[VYWW RUFRQQUQZ RQFVFRTQX RRFUG RSFTH\0"\ + "@cAQBODMFMGNHPHSF[ RGNGSE[ RGPFTD[F[ RHSJPLNNMPMRNSPSSQ[ RRNRSP[ RRPQTO[Q[ RSSUPWNYM[M]N^P^S\\X R]N]R\\V\\Z R]P[U[X\\Z][_[aYbW\0"\ + "F^GQHOJMLMMNNPNSL[ RMNMSK[ RMPLTJ[L[ RNSPPRNTMVMXNYPYSWX RXNXRWVWZ RXPVUVXWZX[Z[\\Y]W\0"\ + "H\\QMNNLQKTKVLYMZP[S[VZXWYTYRXOWNTMQM RNOMQLTLWMY RVYWWXTXQWO RQMOONQMTMWNZP[ RS[UYVWWTWQVNTM\0"\ + "G]HQIOKMMMNNOPOSNWKb RNNNSMWJb RNPMTIb ROTPQQORNTMVMXNYOZRZTYWWZT[R[PZOWOT RXOYQYTXWWY RVMWNXQXTWWVYT[ RFbNb RJaGb RJ`Hb RK`Lb RJaMb\0"\ + "G\\WMQb RXMRb RWMYMSb RUTUQTNRMPMMNKQJTJVKYLZN[P[RZSYTWUT RMOLQKTKWLY RPMNOMQLTLWMZN[ RNbVb RRaOb RR`Pb RS`Tb RRaUb\0"\ + "I[JQKOMMOMPNQPQTO[ RPNPTN[ RPPOTM[O[ RYOYNXNXPZPZNYMWMUNSPQT\0"\ + "J[XPXOWOWQYQYOXNUMRMONNONQOSQTTUVVWX RONNQ RORQSTTVU RWVVZ RNOOQQRTSVTWVWXVZS[P[MZLYLWNWNYMYMX\0"\ + "KYTFQQPUPXQZR[T[VYWW RUFRQQUQZ RTFVFRTQX RNMXM\0"\ + "F^GQHOJMLMMNNPNSLX RMNMRLVLZ RMPKUKXLZN[P[RZTXVU RXMVUVXWZX[Z[\\Y]W RYMWUWZ RXMZMXTWX\0"\ + "H\\IQJOLMNMONPPPSNX RONORNVNZ ROPMUMXNZP[R[TZVXXUYQYMXMXNYP\0"\ + "CaDQEOGMIMJNKPKSIX RJNJRIVIZ RJPHUHXIZK[M[OZQXRU RTMRURXSZU[W[YZ[X]U^Q^M]M]N^P RUMSUSZ RTMVMTTSX\0"\ + "G]JQLNNMPMRNSPSR RPMQNQRPVOXMZK[I[HZHXJXJZIZIY RRORRQVQY RZOZNYNYP[P[NZMXMVNTPSRRVRZS[ RPVPXQZS[U[WZYW\0"\ + "G]HQIOKMMMNNOPOSMX RNNNRMVMZ RNPLULXMZO[Q[SZUXWT RYMU[T^RaPb RZMV[T_ RYM[MW[U_SaPbMbKaJ`J^L^L`K`K_\0"\ + "H\\YMXOVQNWLYK[ RXOOOMPLR RVORNONNO RVORMOMMOLR RLYUYWXXV RNYRZUZVY RNYR[U[WYXV\0"\ + "F_GLJIMLMX RIJLMLX RMLPISLSX ROJRMRX RSLVIYLYW[Y RUJXMXXZZ]W\0"\ + "G]ZIJY RZIWJQJ RXKUKQJ RZIYLYR RXKXNYR RQRJR RPSMSJR RQRQY RPSPVQY\0"\ + "F^HOJKOU RJMOWRPWPZO[M[KZIXHWHUITKTMUPVRWUWXUZ RWHVIUKUMWQXTXWWYUZ\0"\ + "F^IOLLPN RKMOORLUN RQMTOWLYN RVMXO[L RIULRPT RKSOURRUT RQSTUWRYT RVSXU[R\0"\ + "F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O\0"\ +; +/* End of file gen_c_src/astrology.h */ diff --git a/hf2gcode/hershey_fonts/gen_c_src/cursive.h b/hf2gcode/hershey_fonts/gen_c_src/cursive.h new file mode 100644 index 0000000..eb73f4a --- /dev/null +++ b/hf2gcode/hershey_fonts/gen_c_src/cursive.h @@ -0,0 +1,105 @@ +/* This file was generated with gen_C_code.m from fixed/cursive.jhf */ + +/* number of glyphs in font */ +unsigned char cursive_cnt = 96; + +/* Format: margin left, margin right, X, Y ... \0 +< R> is pen-up, see original hershey font */ +const char cursive [] PROGMEM="JZ\0"\ + "MWRFRT RRYQZR[SZRY\0"\ + "JZNFNM RVFVM\0"\ + "H]SBLb RYBRb RLOZO RKUYU\0"\ + "H\\PBP_ RTBT_ RYIWGTFPFMGKIKKLMMNOOUQWRXSYUYXWZT[P[MZKX\0"\ + "F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT\0"\ + "E_\\O\\N[MZMYNXPVUTXRZP[L[JZIYHWHUISJRQNRMSKSIRGPFNGMIMKNNPQUXWZY[[[\\Z\\Y\0"\ + "PTRMRQ\0"\ + "KYVBTDRGPKOPOTPYR]T`Vb\0"\ + "KYNBPDRGTKUPUTTYR]P`Nb\0"\ + "JZRLRX RMOWU RWOMU\0"\ + "E_RIR[ RIR[R\0"\ + "NVSWRXQWRVSWSYQ[\0"\ + "E_IR[R\0"\ + "NVRVQWRXSWRV\0"\ + "G][BIb\0"\ + "H\\QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF\0"\ + "H\\NJPISFS[\0"\ + "H\\LKLJMHNGPFTFVGWHXJXLWNUQK[Y[\0"\ + "H\\MFXFRNUNWOXPYSYUXXVZS[P[MZLYKW\0"\ + "H\\UFKTZT RUFU[\0"\ + "H\\WFMFLOMNPMSMVNXPYSYUXXVZS[P[MZLYKW\0"\ + "H\\XIWGTFRFOGMJLOLTMXOZR[S[VZXXYUYTXQVOSNRNOOMQLT\0"\ + "H\\YFO[ RKFYF\0"\ + "H\\PFMGLILKMMONSOVPXRYTYWXYWZT[P[MZLYKWKTLRNPQOUNWMXKXIWGTFPF\0"\ + "H\\XMWPURRSQSNRLPKMKLLINGQFRFUGWIXMXRWWUZR[P[MZLX\0"\ + "NVROQPRQSPRO RRVQWRXSWRV\0"\ + "NVROQPRQSPRO RSWRXQWRVSWSYQ[\0"\ + "F^ZIJRZ[\0"\ + "E_IO[O RIU[U\0"\ + "F^JIZRJ[\0"\ + "I[LKLJMHNGPFTFVGWHXJXLWNVORQRT RRYQZR[SZRY\0"\ + "E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\\T]Q]O\\L[JYHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV\0"\ + "G[G[IZLWOSSLVFV[UXSUQSNQLQKRKTLVNXQZT[Y[\0"\ + "F]SHTITLSPRSQUOXMZK[J[IZIWJRKOLMNJPHRGUFXFZG[I[KZMYNWOTP RSPTPWQXRYTYWXYWZU[R[PZOX\0"\ + "H\\TLTMUNWNYMZKZIYGWFTFQGOIMLLNKRKVLYMZO[Q[TZVXWV\0"\ + "G^TFRGQIPMOSNVMXKZI[G[FZFXGWIWKXMZP[S[VZXXZT[O[KZHYGWFTFRHRJSMUPWRZT\\U\0"\ + "H\\VJVKWLYLZKZIYGVFRFOGNINLONPOSPPPMQLRKTKWLYMZP[S[VZXXYV\0"\ + "H\\RLPLNKMINGQFTFXG[G]F RXGVNTTRXPZN[L[JZIXIVJULUNV RQPZP\0"\ + "G^G[IZMVPQQNRJRGQFPFOGNINLONQOUOXNYMZKZQYVXXVZS[O[LZJXIVIT\0"\ + "F^MMKLJJJIKGMFNFPGQIQKPONULYJ[H[GZGX RMRVOXN[L]J^H^G]F\\FZHXLVRUWUZV[W[YZZY\\V\0"\ + "IZWVUTSQROQLQIRGSFUFVGWIWLVQTVSXQZO[M[KZJXJVKUMUOV\0"\ + "JYT^R[PVOPOJPGRFTFUGVJVMURR[PaOdNfLgKfKdLaN^P\\SZWX\0"\ + "F^MMKLJJJIKGMFNFPGQIQKPONULYJ[H[GZGX R^I^G]F\\FZGXIVLTNROPO RROSQSXTZU[V[XZYY[V\0"\ + "I\\MRORSQVOXMYKYHXFVFUGTISNRSQVPXNZL[J[IZIXJWLWNXQZT[V[YZ[X\0"\ + "@aEMCLBJBICGEFFFHGIIIKHPGTE[ RGTJLLHMGOFPFRGSISKRPQTO[ RQTTLVHWGYFZF\\G]I]K\\PZWZZ[[\\[^Z_YaV\0"\ + "E]JMHLGJGIHGJFKFMGNINKMPLTJ[ RLTOLQHRGTFVFXGYIYKXPVWVZW[X[ZZ[Y]V\0"\ + "H]TFQGOIMLLNKRKVLYMZO[Q[TZVXXUYSZOZKYHXGVFTFRHRKSNUQWSZU\\V\0"\ + "F_SHTITLSPRSQUOXMZK[J[IZIWJRKOLMNJPHRGUFZF\\G]H^J^M]O\\PZQWQUPTO\0"\ + "H^ULTNSOQPOPNNNLOIQGTFWFYGZIZMYPWSSWPYNZK[I[HZHXIWKWMXPZS[V[YZ[X\0"\ + "F_SHTITLSPRSQUOXMZK[J[IZIWJRKOLMNJPHRGUFYF[G\\H]J]M\\O[PYQVQSPTQUSUXVZX[ZZ[Y]V\0"\ + "H\\H[JZLXOTQQSMTJTGSFRFQGPIPKQMSOVQXSYUYWXYWZT[P[MZKXJVJT\0"\ + "H[RLPLNKMINGQFTFXG[G]F RXGVNTTRXPZN[L[JZIXIVJULUNV\0"\ + "E]JMHLGJGIHGJFKFMGNINKMOLRKVKXLZN[P[RZSYUUXMZF RXMWQVWVZW[X[ZZ[Y]V\0"\ + "F]KMILHJHIIGKFLFNGOIOKNOMRLVLYM[O[QZTWVTXPYMZIZGYFXFWGVIVKWNYP[Q\0"\ + "C_HMFLEJEIFGHFIFKGLILLK[ RUFK[ RUFS[ RaF_G\\JYNVTS[\0"\ + "F^NLLLKKKILGNFPFRGSISLQUQXRZT[V[XZYXYVXUVU R]I]G\\FZFXGVITLPUNXLZJ[H[GZGX\0"\ + "F]KMILHJHIIGKFLFNGOIOKNOMRLVLXMZN[P[RZTXVUWSYM R[FYMVWT]RbPfNgMfMdNaP^S[VY[V\0"\ + "H]ULTNSOQPOPNNNLOIQGTFWFYGZIZMYPWTTWPZN[K[JZJXKWNWPXQYR[R^QaPcNfLgKfKdLaN^Q[TYZV\0"\ + "KYOBOb RPBPb ROBVB RObVb\0"\ + "KYKFY^\0"\ + "KYTBTb RUBUb RNBUB RNbUb\0"\ + "JZRDJR RRDZR\0"\ + "G[Gb[b\0"\ + "NVSKQMQORPSORNQO\0"\ + "L\\UUTSRRPRNSMTLVLXMZO[Q[SZTXVRUWUZV[W[YZZY\\V\0"\ + "M[MVOSRNSLTITGSFQGPIOMNTNZO[P[RZTXUUURVVWWYW[V\0"\ + "MXTTTSSRQROSNTMVMXNZP[S[VYXV\0"\ + "L\\UUTSRRPRNSMTLVLXMZO[Q[SZTXZF RVRUWUZV[W[YZZY\\V\0"\ + "NXOYQXRWSUSSRRQROSNUNXOZQ[S[UZVYXV\0"\ + "OWOVSQUNVLWIWGVFTGSIQQNZKaJdJfKgMfNcOZP[R[TZUYWV\0"\ + "L[UUTSRRPRNSMTLVLXMZO[Q[SZTY RVRTYPdOfMgLfLdMaP^S\\U[XY[V\0"\ + "M\\MVOSRNSLTITGSFQGPIOMNSM[ RM[NXOVQSSRURVSVUUXUZV[W[YZZY\\V\0"\ + "PWSMSNTNTMSM RPVRRPXPZQ[R[TZUYWV\0"\ + "PWSMSNTNTMSM RPVRRLdKfIgHfHdIaL^O\\Q[TYWV\0"\ + "M[MVOSRNSLTITGSFQGPIOMNSM[ RM[NXOVQSSRURVSVUTVQV RQVSWTZU[V[XZYY[V\0"\ + "OWOVQSTNULVIVGUFSGRIQMPTPZQ[R[TZUYWV\0"\ + "E^EVGSIRJSJTIXH[ RIXJVLSNRPRQSQTPXO[ RPXQVSSURWRXSXUWXWZX[Y[[Z\\Y^V\0"\ + "J\\JVLSNROSOTNXM[ RNXOVQSSRURVSVUUXUZV[W[YZZY\\V\0"\ + "LZRRPRNSMTLVLXMZO[Q[SZTYUWUUTSRRQSQURWTXWXYWZV\0"\ + "KZKVMSNQMUGg RMUNSPRRRTSUUUWTYSZQ[ RMZO[R[UZWYZV\0"\ + "L[UUTSRRPRNSMTLVLXMZO[Q[SZ RVRUUSZPaOdOfPgRfScS\\U[XY[V\0"\ + "MZMVOSPQPSSSTTTVSYSZT[U[WZXYZV\0"\ + "NYNVPSQQQSSVTXTZR[ RNZP[T[VZWYYV\0"\ + "OXOVQSSO RVFPXPZQ[S[UZVYXV RPNWN\0"\ + "L[LVNRLXLZM[O[QZSXUU RVRTXTZU[V[XZYY[V\0"\ + "L[LVNRMWMZN[O[RZTXUUUR RURVVWWYW[V\0"\ + "I^LRJTIWIYJ[L[NZPX RRRPXPZQ[S[UZWXXUXR RXRYVZW\\W^V\0"\ + "JZJVLSNRPRQSQZR[U[XYZV RWSVRTRSSOZN[L[KZ\0"\ + "L[LVNRLXLZM[O[QZSXUU RVRPdOfMgLfLdMaP^S\\U[XY[V\0"\ + "LZLVNSPRRRTTTVSXQZN[P\\Q^QaPdOfMgLfLdMaP^S\\WYZV\0"\ + "KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSUSWRYQZP\\P^Q`RaTb\0"\ + "NVRBRb\0"\ + "KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQUQWRYSZT\\T^S`RaPb\0"\ + "F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O\0"\ + "JZJFJ[K[KFLFL[M[MFNFN[O[OFPFP[Q[QFRFR[S[SFTFT[U[UFVFV[W[WFXFX[Y[YFZFZ[\0"\ +; +/* End of file gen_c_src/cursive.h */ diff --git a/hf2gcode/hershey_fonts/gen_c_src/cyrilc_1.h b/hf2gcode/hershey_fonts/gen_c_src/cyrilc_1.h new file mode 100644 index 0000000..f4c1304 --- /dev/null +++ b/hf2gcode/hershey_fonts/gen_c_src/cyrilc_1.h @@ -0,0 +1,105 @@ +/* This file was generated with gen_C_code.m from fixed/cyrilc_1.jhf */ + +/* number of glyphs in font */ +unsigned char cyrilc_1_cnt = 96; + +/* Format: margin left, margin right, X, Y ... \0 +< R> is pen-up, see original hershey font */ +const char cyrilc_1 [] PROGMEM="JZ\0"\ + "MWRFQHRTSHRF RRHRN RRYQZR[SZRY\0"\ + "MWRMQNROSNRM RR[QZRYSZS\\R^Q_\0"\ + "H]SFLb RYFRb RLQZQ RKWYW\0"\ + "H\\PBP_ RTBT_ RXIWJXKYJYIWGTFPFMGKIKKLMMNOOUQWRYT RKKMMONUPWQXRYTYXWZT[P[MZKXKWLVMWLX\0"\ + "F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT\0"\ + "F_[NZO[P\\O\\N[MZMYNXPVUTXRZP[M[JZIXIUJSPORMSKSIRGPFNGMIMKNNPQUXWZZ[[[\\Z\\Y RM[KZJXJUKSMQ RMKNMVXXZZ[\0"\ + "MWRHQGRFSGSIRKQL\0"\ + "KYVBTDRGPKOPOTPYR]T`Vb RTDRHQKPPPTQYR\\T`\0"\ + "KYNBPDRGTKUPUTTYR]P`Nb RPDRHSKTPTTSYR\\P`\0"\ + "JZRFRR RMIWO RWIMO\0"\ + "E_RIR[ RIR[R\0"\ + "MWR[QZRYSZS\\R^Q_\0"\ + "E_IR[R\0"\ + "MWRYQZR[SZRY\0"\ + "G][BIb\0"\ + "H\\QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF RQFOGNHMJLOLRMWNYOZQ[ RS[UZVYWWXRXOWJVHUGSF\0"\ + "H\\NJPISFS[ RRGR[ RN[W[\0"\ + "H\\LJMKLLKKKJLHMGPFTFWGXHYJYLXNUPPRNSLUKXK[ RTFVGWHXJXLWNTPPR RKYLXNXSZVZXYYX RNXS[W[XZYXYV\0"\ + "H\\LJMKLLKKKJLHMGPFTFWGXIXLWNTOQO RTFVGWIWLVNTO RTOVPXRYTYWXYWZT[P[MZLYKWKVLUMVLW RWQXTXWWYVZT[\0"\ + "H\\THT[ RUFU[ RUFJUZU RQ[X[\0"\ + "H\\MFKP RKPMNPMSMVNXPYSYUXXVZS[P[MZLYKWKVLUMVLW RSMUNWPXSXUWXUZS[ RMFWF RMGRGWF\0"\ + "H\\WIVJWKXJXIWGUFRFOGMILKKOKULXNZQ[S[VZXXYUYTXQVOSNRNOOMQLT RRFPGNIMKLOLUMXOZQ[ RS[UZWXXUXTWQUOSN\0"\ + "H\\KFKL RKJLHNFPFUIWIXHYF RLHNGPGUI RYFYIXLTQSSRVR[ RXLSQRSQVQ[\0"\ + "H\\PFMGLILLMNPOTOWNXLXIWGTFPF RPFNGMIMLNNPO RTOVNWLWIVGTF RPOMPLQKSKWLYMZP[T[WZXYYWYSXQWPTO RPONPMQLSLWMYNZP[ RT[VZWYXWXSWQVPTO\0"\ + "H\\XMWPURRSQSNRLPKMKLLINGQFSFVGXIYLYRXVWXUZR[O[MZLXLWMVNWMX RQSORMPLMLLMIOGQF RSFUGWIXLXRWVVXTZR[\0"\ + "MWRMQNROSNRM RRYQZR[SZRY\0"\ + "MWRMQNROSNRM RR[QZRYSZS\\R^Q_\0"\ + "F^ZIJRZ[\0"\ + "E_IO[O RIU[U\0"\ + "F^JIZRJ[\0"\ + "I[MJNKMLLKLJMHNGPFSFVGWHXJXLWNVORQRT RSFUGVHWJWLVNTP RRYQZR[SZRY\0"\ + "E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\\T]Q]O\\L[JYHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV\0"\ + "H\\RFK[ RRFY[ RRIX[ RMUVU RI[O[ RU[[[\0"\ + "G]LFL[ RMFM[ RIFYFYLXF RMPUPXQYRZTZWYYXZU[I[ RUPWQXRYTYWXYWZU[\0"\ + "G]LFL[ RMFM[ RIFUFXGYHZJZLYNXOUP RUFWGXHYJYLXNWOUP RMPUPXQYRZTZWYYXZU[I[ RUPWQXRYTYWXYWZU[\0"\ + "I[NFN[ ROFO[ RKFZFZLYF RK[R[\0"\ + "F^NFNLMTLXKZJ[ RXFX[ RYFY[ RKF\\F RG[\\[ RG[Gb RH[Gb R[[\\b R\\[\\b\0"\ + "G\\LFL[ RMFM[ RSLST RIFYFYLXF RMPSP RI[Y[YUX[\0"\ + "CbRFR[ RSFS[ ROFVF RGGHHGIFHFGGFHFIGJIKMLONPWPYOZM[I\\G]F^F_G_H^I]H^G RNPLQKSJXIZH[ RNPMQLSKXJZI[G[FZEX RWPYQZS[X\\Z][ RWPXQYSZX[Z\\[^[_Z`X RO[V[\0"\ + "H\\LIKFKLLINGPFTFWGXIXLWNTOQO RTFVGWIWLVNTO RTOVPXRYTYWXYWZT[O[MZLYKWKVLUMVLW RWQXTXWWYVZT[\0"\ + "F^KFK[ RLFL[ RXFX[ RYFY[ RHFOF RUF\\F RXHLY RH[O[ RU[\\[\0"\ + "F^KFK[ RLFL[ RXFX[ RYFY[ RHFOF RUF\\F RXHLY RH[O[ RU[\\[ RN@N?M?M@NBPCTCVBW@\0"\ + "F^KFK[ RLFL[ RHFOF RLPSPUOVMWIXGYFZF[G[HZIYHZG RSPUQVSWXXZY[ RSPTQUSVXWZX[Z[[Z\\X RH[O[\0"\ + "E^MFMLLTKXJZI[H[GZGYHXIYHZ RXFX[ RYFY[ RJF\\F RU[\\[\0"\ + "F_KFK[ RLFRX RKFR[ RYFR[ RYFY[ RZFZ[ RHFLF RYF]F RH[N[ RV[][\0"\ + "F^KFK[ RLFL[ RXFX[ RYFY[ RHFOF RUF\\F RLPXP RH[O[ RU[\\[\0"\ + "G]QFNGLIKKJOJRKVLXNZQ[S[VZXXYVZRZOYKXIVGSFQF RQFOGMILKKOKRLVMXOZQ[ RS[UZWXXVYRYOXKWIUGSF\0"\ + "F^KFK[ RLFL[ RXFX[ RYFY[ RHF\\F RH[O[ RU[\\[\0"\ + "G]LFL[ RMFM[ RIFUFXGYHZJZMYOXPUQMQ RUFWGXHYJYMXOWPUQ RI[P[\0"\ + "G\\XIYLYFXIVGSFQFNGLIKKJNJSKVLXNZQ[S[VZXXYV RQFOGMILKKNKSLVMXOZQ[\0"\ + "I\\RFR[ RSFS[ RLFKLKFZFZLYF RO[V[\0"\ + "H]KFRV RLFSV RZFSVQYPZN[M[LZLYMXNYMZ RIFOF RVF\\F\0"\ + "F_RFR[ RSFS[ ROFVF RPILJJLIOIRJULWPXUXYW[U\\R\\O[LYJUIPI RPIMJKLJOJRKUMWPX RUXXWZU[R[OZLXJUI RO[V[\0"\ + "H\\KFX[ RLFY[ RYFK[ RIFOF RUF[F RI[O[ RU[[[\0"\ + "F^KFK[ RLFL[ RXFX[ RYFY[ RHFOF RUF\\F RH[\\[ R[[\\b R\\[\\b\0"\ + "F]KFKQLSOTRTUSWQ RLFLQMSOT RWFW[ RXFX[ RHFOF RTF[F RT[[[\0"\ + "BcGFG[ RHFH[ RRFR[ RSFS[ R]F][ R^F^[ RDFKF ROFVF RZFaF RD[a[\0"\ + "BcGFG[ RHFH[ RRFR[ RSFS[ R]F][ R^F^[ RDFKF ROFVF RZFaF RD[a[ R`[ab Ra[ab\0"\ + "KYOBOb RPBPb ROBVB RObVb\0"\ + "KYKFY^\0"\ + "KYTBTb RUBUb RNBUB RNbUb\0"\ + "JZPLRITL RMORJWO RRJR[\0"\ + "JZJ]Z]\0"\ + "MWSFRGQIQKRLSKRJ\0"\ + "I]NONPMPMONNPMTMVNWOXQXXYZZ[ RWOWXXZZ[[[ RWQVRPSMTLVLXMZP[S[UZWX RPSNTMVMXNZP[\0"\ + "H\\XFWGQINKLNKQKULXNZQ[S[VZXXYUYSXPVNSMQMNNLPKS RXFWHUIQJNLLN RQMONMPLSLUMXOZQ[ RS[UZWXXUXSWPUNSM\0"\ + "H\\MMM[ RNMN[ RJMUMXNYPYQXSUT RUMWNXPXQWSUT RNTUTXUYWYXXZU[J[ RUTWUXWXXWZU[\0"\ + "HZMMM[ RNMN[ RJMXMXRWM RJ[Q[\0"\ + "F]NMNQMWLZK[ RWMW[ RXMX[ RKM[M RI[H`H[[[[`Z[\0"\ + "H[LSXSXQWOVNTMQMNNLPKSKULXNZQ[S[VZXX RWSWPVN RQMONMPLSLUMXOZQ[\0"\ + "E`RMR[ RSMS[ ROMVM RJNIOHNIMJMKNMRNSPTUTWSXRZN[M\\M]N\\O[N RPTNUMVKZJ[ RPTNVLZK[I[HZGX RUTWUXVZZ[[ RUTWVYZZ[\\[]Z^X RO[V[\0"\ + "I[MOLMLQMONNPMTMWNXPXQWSTT RTMVNWPWQVSTT RQTTTWUXWXXWZT[P[MZLXLWMVNWMX RTTVUWWWXVZT[\0"\ + "G]LML[ RMMM[ RWMW[ RXMX[ RIMPM RTM[M RI[P[ RT[[[ RWNMZ\0"\ + "G]LML[ RMMM[ RWMW[ RXMX[ RIMPM RTM[M RI[P[ RT[[[ RWNMZ ROGOFNFNGOIQJSJUIVG\0"\ + "H\\MMM[ RNMN[ RJMQM RNTPTSSTRVNWMXMYNXOWN RPTSUTVVZW[ RPTRUSVUZV[X[YZZX RJ[Q[\0"\ + "G]NMNQMWLZK[J[IZJYKZ RWMW[ RXMX[ RKM[M RT[[[\0"\ + "G^LML[ RLMR[ RMMRY RXMR[ RXMX[ RYMY[ RIMMM RXM\\M RI[O[ RU[\\[\0"\ + "G]LML[ RMMM[ RWMW[ RXMX[ RIMPM RTM[M RMTWT RI[P[ RT[[[\0"\ + "H\\QMNNLPKSKULXNZQ[S[VZXXYUYSXPVNSMQM RQMONMPLSLUMXOZQ[ RS[UZWXXUXSWPUNSM\0"\ + "G]LML[ RMMM[ RWMW[ RXMX[ RIM[M RI[P[ RT[[[\0"\ + "G\\LMLb RMMMb RMPONQMSMVNXPYSYUXXVZS[Q[OZMX RSMUNWPXSXUWXUZS[ RIMMM RIbPb\0"\ + "H[WPVQWRXQXPVNTMQMNNLPKSKULXNZQ[S[VZXX RQMONMPLSLUMXOZQ[\0"\ + "I\\RMR[ RSMS[ RMMLRLMYMYRXM RO[V[\0"\ + "I[LMR[ RMMRY RXMR[P_NaLbKbJaK`La RJMPM RTMZM\0"\ + "H]RFRb RSFSb ROFSF RRPQNPMNMLNKQKWLZN[P[QZRX RNMMNLQLWMZN[ RWMXNYQYWXZW[ RSPTNUMWMYNZQZWYZW[U[TZSX RObVb\0"\ + "H\\LMW[ RMMX[ RXML[ RJMPM RTMZM RJ[P[ RT[Z[\0"\ + "G]LML[ RMMM[ RWMW[ RXMX[ RIMPM RTM[M RI[[[[`Z[\0"\ + "G]LMLTMVPWRWUVWT RMMMTNVPW RWMW[ RXMX[ RIMPM RTM[M RT[[[\0"\ + "CbHMH[ RIMI[ RRMR[ RSMS[ R\\M\\[ R]M][ REMLM ROMVM RYM`M RE[`[\0"\ + "CbHMH[ RIMI[ RRMR[ RSMS[ R\\M\\[ R]M][ REMLM ROMVM RYM`M RE[`[``_[\0"\ + "KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSUSWRYQZP\\P^Q`RaTb\0"\ + "NVRBRb\0"\ + "KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQUQWRYSZT\\T^S`RaPb\0"\ + "F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O\0"\ + "KYQFOGNINKOMQNSNUMVKVIUGSFQF\0"\ +; +/* End of file gen_c_src/cyrilc_1.h */ diff --git a/hf2gcode/hershey_fonts/gen_c_src/cyrillic.h b/hf2gcode/hershey_fonts/gen_c_src/cyrillic.h new file mode 100644 index 0000000..0a4acfa --- /dev/null +++ b/hf2gcode/hershey_fonts/gen_c_src/cyrillic.h @@ -0,0 +1,105 @@ +/* This file was generated with gen_C_code.m from fixed/cyrillic.jhf */ + +/* number of glyphs in font */ +unsigned char cyrillic_cnt = 96; + +/* Format: margin left, margin right, X, Y ... \0 +< R> is pen-up, see original hershey font */ +const char cyrillic [] PROGMEM="JZ\0"\ + "MWRFQHRTSHRF RRHRN RRYQZR[SZRY\0"\ + "JZNFMM ROFMM RVFUM RWFUM\0"\ + "H]SBLb RYBRb RLOZO RKUYU\0"\ + "CaHFH[ RIFI[ REFLF RIPPPSQTRUTUWTYSZP[E[ RPPRQSRTTTWSYRZP[ R[F[[ R\\F\\[ RXF_F RX[_[\0"\ + "G]LML[ RMMM[ RWMW[ RXMX[ RIMPM RTM[M RI[[[[`Z[\0"\ + "E_JMJ[ RKMK[ RGMNM RKTOTRUSWSXRZO[G[ ROTQURWRXQZO[ RYMY[ RZMZ[ RVM]M RV[][\0"\ + "NVRFQM RSFQM\0"\ + "KYUBSDQGOKNPNTOYQ]S`UbVb RUBVBTDRGPKOPOTPYR]T`Vb\0"\ + "KYNBPDRGTKUPUTTYR]P`NbOb RNBOBQDSGUKVPVTUYS]Q`Ob\0"\ + "JZRLRX RMOWU RWOMU\0"\ + "E_RIR[ RIR[R\0"\ + "NVSWRXQWRVSWSYQ[\0"\ + "E_IR[R\0"\ + "NVRVQWRXSWRV\0"\ + "G][BIb\0"\ + "H\\QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF RQFOGNHMJLOLRMWNYOZQ[ RS[UZVYWWXRXOWJVHUGSF\0"\ + "H\\NJPISFS[ RRGR[ RN[W[\0"\ + "H\\LJMKLLKKKJLHMGPFTFWGXHYJYLXNUPPRNSLUKXK[ RTFVGWHXJXLWNTPPR RKYLXNXSZVZXYYX RNXS[W[XZYXYV\0"\ + "H\\LJMKLLKKKJLHMGPFTFWGXIXLWNTOQO RTFVGWIWLVNTO RTOVPXRYTYWXYWZT[P[MZLYKWKVLUMVLW RWQXTXWWYVZT[\0"\ + "H\\THT[ RUFU[ RUFJUZU RQ[X[\0"\ + "H\\MFKP RKPMNPMSMVNXPYSYUXXVZS[P[MZLYKWKVLUMVLW RSMUNWPXSXUWXUZS[ RMFWF RMGRGWF\0"\ + "H\\WIVJWKXJXIWGUFRFOGMILKKOKULXNZQ[S[VZXXYUYTXQVOSNRNOOMQLT RRFPGNIMKLOLUMXOZQ[ RS[UZWXXUXTWQUOSN\0"\ + "H\\KFKL RKJLHNFPFUIWIXHYF RLHNGPGUI RYFYIXLTQSSRVR[ RXLSQRSQVQ[\0"\ + "H\\PFMGLILLMNPOTOWNXLXIWGTFPF RPFNGMIMLNNPO RTOVNWLWIVGTF RPOMPLQKSKWLYMZP[T[WZXYYWYSXQWPTO RPONPMQLSLWMYNZP[ RT[VZWYXWXSWQVPTO\0"\ + "H\\XMWPURRSQSNRLPKMKLLINGQFSFVGXIYLYRXVWXUZR[O[MZLXLWMVNWMX RQSORMPLMLLMIOGQF RSFUGWIXLXRWVVXTZR[\0"\ + "NVROQPRQSPRO RRVQWRXSWRV\0"\ + "NVROQPRQSPRO RSWRXQWRVSWSYQ[\0"\ + "F^ZIJRZ[\0"\ + "E_IO[O RIU[U\0"\ + "F^JIZRJ[\0"\ + "I[MJNKMLLKLJMHNGPFSFVGWHXJXLWNVORQRT RSFUGVHWJWLVNTP RRYQZR[SZRY\0"\ + "E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\\T]Q]O\\L[JYHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV\0"\ + "H\\RFK[ RRFY[ RRIX[ RMUVU RI[O[ RU[[[\0"\ + "G]LFL[ RMFM[ RIFYFYLXF RMPUPXQYRZTZWYYXZU[I[ RUPWQXRYTYWXYWZU[\0"\ + "H]LIKFKLLINGQFSFVGXIYKZNZSYVXXVZS[P[MZLYKWKVLUMVLW RSFUGWIXKYNYSXVWXUZS[ RPPYP\0"\ + "F^NFNLMTLXKZJ[ RXFX[ RYFY[ RKF\\F RG[\\[ RG[Gb RH[Gb R[[\\b R\\[\\b\0"\ + "F^KFK[ RLFL[ RXFX[ RYFY[ RHFOF RUF\\F RXHLY RH[O[ RU[\\[\0"\ + "F_RFR[ RSFS[ ROFVF RPILJJLIOIRJULWPXUXYW[U\\R\\O[LYJUIPI RPIMJKLJOJRKUMWPX RUXXWZU[R[OZLXJUI RO[V[\0"\ + "I[NFN[ ROFO[ RKFZFZLYF RK[R[\0"\ + "CbRFR[ RSFS[ ROFVF RGGHHGIFHFGGFHFIGJIKMLONPWPYOZM[I\\G]F^F_G_H^I]H^G RNPLQKSJXIZH[ RNPMQLSKXJZI[G[FZEX RWPYQZS[X\\Z][ RWPXQYSZX[Z\\[^[_Z`X RO[V[\0"\ + "F^KFK[ RLFL[ RXFX[ RYFY[ RHFOF RUF\\F RXHLY RH[O[ RU[\\[\0"\ + "F]KFKQLSOTRTUSWQ RLFLQMSOT RWFW[ RXFX[ RHFOF RTF[F RT[[[\0"\ + "F^KFK[ RLFL[ RHFOF RLPSPUOVMWIXGYFZF[G[HZIYHZG RSPUQVSWXXZY[ RSPTQUSVXWZX[Z[[Z\\X RH[O[\0"\ + "E^MFMLLTKXJZI[H[GZGYHXIYHZ RXFX[ RYFY[ RJF\\F RU[\\[\0"\ + "F_KFK[ RLFRX RKFR[ RYFR[ RYFY[ RZFZ[ RHFLF RYF]F RH[N[ RV[][\0"\ + "F^KFK[ RLFL[ RXFX[ RYFY[ RHFOF RUF\\F RLPXP RH[O[ RU[\\[\0"\ + "G]QFNGLIKKJOJRKVLXNZQ[S[VZXXYVZRZOYKXIVGSFQF RQFOGMILKKOKRLVMXOZQ[ RS[UZWXXVYRYOXKWIUGSF\0"\ + "F^KFK[ RLFL[ RXFX[ RYFY[ RHF\\F RH[O[ RU[\\[\0"\ + "BcGFG[ RHFH[ RRFR[ RSFS[ R]F][ R^F^[ RDFKF ROFVF RZFaF RD[a[\0"\ + "G]LFL[ RMFM[ RIFUFXGYHZJZMYOXPUQMQ RUFWGXHYJYMXOWPUQ RI[P[\0"\ + "G\\XIYLYFXIVGSFQFNGLIKKJNJSKVLXNZQ[S[VZXXYV RQFOGMILKKNKSLVMXOZQ[\0"\ + "I\\RFR[ RSFS[ RLFKLKFZFZLYF RO[V[\0"\ + "CbHFH[ RIFI[ REFLF RE[L[ RVFSGQIPKOOORPVQXSZV[X[[Z]X^V_R_O^K]I[GXFVF RVFTGRIQKPOPRQVRXTZV[ RX[ZZ\\X]V^R^O]K\\IZGXF RIPOP\0"\ + "G]LFL[ RMFM[ RIFUFXGYHZJZLYNXOUP RUFWGXHYJYLXNWOUP RMPUPXQYRZTZWYYXZU[I[ RUPWQXRYTYWXYWZU[\0"\ + "BcGFG[ RHFH[ RRFR[ RSFS[ R]F][ R^F^[ RDFKF ROFVF RZFaF RD[a[ R`[ab Ra[ab\0"\ + "H\\KFX[ RLFY[ RYFK[ RIFOF RUF[F RI[O[ RU[[[\0"\ + "H]KFRV RLFSV RZFSVQYPZN[M[LZLYMXNYMZ RIFOF RVF\\F\0"\ + "H\\LIKFKLLINGPFTFWGXIXLWNTOQO RTFVGWIWLVNTO RTOVPXRYTYWXYWZT[O[MZLYKWKVLUMVLW RWQXTXWWYVZT[\0"\ + "G\\LFL[ RMFM[ RSLST RIFYFYLXF RMPSP RI[Y[YUX[\0"\ + "KYKFY^\0"\ + "F`PFP[ RQFQ[ RIFHLHFTF RQPXP[Q\\R]T]W\\Y[ZX[M[ RXPZQ[R\\T\\W[YZZX[\0"\ + "G]WFW[ RXFX[ R[FOFLGKHJJJLKNLOOPWP ROFMGLHKJKLLNMOOP RRPPQORLYKZJZIY RPQOSMZL[J[IYIX RT[[[\0"\ + "H]MFM[ RNFN[ RJFQF RNPUPXQYRZTZWYYXZU[J[ RUPWQXRYTYWXYWZU[\0"\ + "F^KFK[ RLFL[ RXFX[ RYFY[ RHFOF RUF\\F RH[\\[ R[[\\b R\\[\\b\0"\ + "I]NONPMPMONNPMTMVNWOXQXXYZZ[ RWOWXXZZ[[[ RWQVRPSMTLVLXMZP[S[UZWX RPSNTMVMXNZP[\0"\ + "H\\XFWGQINKLNKQKULXNZQ[S[VZXXYUYSXPVNSMQMNNLPKS RXFWHUIQJNLLN RQMONMPLSLUMXOZQ[ RS[UZWXXUXSWPUNSM\0"\ + "H]LIKFKLLINGQFSFVGXIYKZNZSYVXXVZS[P[MZLYKWKVLUMVLW RSFUGWIXKYNYSXVWXUZS[ RPPYP\0"\ + "F]NMNQMWLZK[ RWMW[ RXMX[ RKM[M RI[H`H[[[[`Z[\0"\ + "G]LML[ RMMM[ RWMW[ RXMX[ RIMPM RTM[M RI[P[ RT[[[ RWNMZ ROGOFNFNGOIQJSJUIVG\0"\ + "H]RFRb RSFSb ROFSF RRPQNPMNMLNKQKWLZN[P[QZRX RNMMNLQLWMZN[ RWMXNYQYWXZW[ RSPTNUMWMYNZQZWYZW[U[TZSX RObVb\0"\ + "HZMMM[ RNMN[ RJMXMXRWM RJ[Q[\0"\ + "E`RMR[ RSMS[ ROMVM RJNIOHNIMJMKNMRNSPTUTWSXRZN[M\\M]N\\O[N RPTNUMVKZJ[ RPTNVLZK[I[HZGX RUTWUXVZZ[[ RUTWVYZZ[\\[]Z^X RO[V[\0"\ + "G]LML[ RMMM[ RWMW[ RXMX[ RIMPM RTM[M RI[P[ RT[[[ RWNMZ\0"\ + "G]LMLTMVPWRWUVWT RMMMTNVPW RWMW[ RXMX[ RIMPM RTM[M RT[[[\0"\ + "H\\MMM[ RNMN[ RJMQM RNTPTSSTRVNWMXMYNXOWN RPTSUTVVZW[ RPTRUSVUZV[X[YZZX RJ[Q[\0"\ + "G]NMNQMWLZK[J[IZJYKZ RWMW[ RXMX[ RKM[M RT[[[\0"\ + "G^LML[ RLMR[ RMMRY RXMR[ RXMX[ RYMY[ RIMMM RXM\\M RI[O[ RU[\\[\0"\ + "G]LML[ RMMM[ RWMW[ RXMX[ RIMPM RTM[M RMTWT RI[P[ RT[[[\0"\ + "H\\QMNNLPKSKULXNZQ[S[VZXXYUYSXPVNSMQM RQMONMPLSLUMXOZQ[ RS[UZWXXUXSWPUNSM\0"\ + "G]LML[ RMMM[ RWMW[ RXMX[ RIM[M RI[P[ RT[[[\0"\ + "CbHMH[ RIMI[ RRMR[ RSMS[ R\\M\\[ R]M][ REMLM ROMVM RYM`M RE[`[\0"\ + "G\\LMLb RMMMb RMPONQMSMVNXPYSYUXXVZS[Q[OZMX RSMUNWPXSXUWXUZS[ RIMMM RIbPb\0"\ + "H[WPVQWRXQXPVNTMQMNNLPKSKULXNZQ[S[VZXX RQMONMPLSLUMXOZQ[\0"\ + "I\\RMR[ RSMS[ RMMLRLMYMYRXM RO[V[\0"\ + "DaIMI[ RJMJ[ RFMMM RF[M[ RVMSNQPPSPUQXSZV[X[[Z]X^U^S]P[NXMVM RVMTNRPQSQURXTZV[ RX[ZZ\\X]U]S\\PZNXM RJTPT\0"\ + "H\\MMM[ RNMN[ RJMUMXNYPYQXSUT RUMWNXPXQWSUT RNTUTXUYWYXXZU[J[ RUTWUXWXXWZU[\0"\ + "CbHMH[ RIMI[ RRMR[ RSMS[ R\\M\\[ R]M][ REMLM ROMVM RYM`M RE[`[``_[\0"\ + "H\\LMW[ RMMX[ RXML[ RJMPM RTMZM RJ[P[ RT[Z[\0"\ + "I[LMR[ RMMRY RXMR[P_NaLbKbJaK`La RJMPM RTMZM\0"\ + "I[MOLMLQMONNPMTMWNXPXQWSTT RTMVNWPWQVSTT RQTTTWUXWXXWZT[P[MZLXLWMVNWMX RTTVUWWWXVZT[\0"\ + "H[LSXSXQWOVNTMQMNNLPKSKULXNZQ[S[VZXX RWSWPVN RQMONMPLSLUMXOZQ[\0"\ + "H]QMQ[ RRMR[ RLMKRKMUM RRTVTYUZWZXYZV[N[ RVTXUYWYXXZV[\0"\ + "G\\VMV[ RWMW[ RZMOMLNKPKQLSOTVT ROMMNLPLQMSOT RTTQUPVNZM[ RTTRUQVOZN[L[KZJX RS[Z[\0"\ + "J[OMO[ RPMP[ RLMSM RPTTTWUXWXXWZT[L[ RTTVUWWWXVZT[\0"\ + "F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O\0"\ +; +/* End of file gen_c_src/cyrillic.h */ diff --git a/hf2gcode/hershey_fonts/gen_c_src/futural.h b/hf2gcode/hershey_fonts/gen_c_src/futural.h new file mode 100644 index 0000000..7faaf07 --- /dev/null +++ b/hf2gcode/hershey_fonts/gen_c_src/futural.h @@ -0,0 +1,105 @@ +/* This file was generated with gen_C_code.m from fixed/futural.jhf */ + +/* number of glyphs in font */ +unsigned char futural_cnt = 96; + +/* Format: margin left, margin right, X, Y ... \0 +< R> is pen-up, see original hershey font */ +const char futural [] PROGMEM="JZ\0"\ + "MWRFRT RRYQZR[SZRY\0"\ + "JZNFNM RVFVM\0"\ + "H]SBLb RYBRb RLOZO RKUYU\0"\ + "H\\PBP_ RTBT_ RYIWGTFPFMGKIKKLMMNOOUQWRXSYUYXWZT[P[MZKX\0"\ + "F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT\0"\ + "E_\\O\\N[MZMYNXPVUTXRZP[L[JZIYHWHUISJRQNRMSKSIRGPFNGMIMKNNPQUXWZY[[[\\Z\\Y\0"\ + "MWRHQGRFSGSIRKQL\0"\ + "KYVBTDRGPKOPOTPYR]T`Vb\0"\ + "KYNBPDRGTKUPUTTYR]P`Nb\0"\ + "JZRLRX RMOWU RWOMU\0"\ + "E_RIR[ RIR[R\0"\ + "NVSWRXQWRVSWSYQ[\0"\ + "E_IR[R\0"\ + "NVRVQWRXSWRV\0"\ + "G][BIb\0"\ + "H\\QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF\0"\ + "H\\NJPISFS[\0"\ + "H\\LKLJMHNGPFTFVGWHXJXLWNUQK[Y[\0"\ + "H\\MFXFRNUNWOXPYSYUXXVZS[P[MZLYKW\0"\ + "H\\UFKTZT RUFU[\0"\ + "H\\WFMFLOMNPMSMVNXPYSYUXXVZS[P[MZLYKW\0"\ + "H\\XIWGTFRFOGMJLOLTMXOZR[S[VZXXYUYTXQVOSNRNOOMQLT\0"\ + "H\\YFO[ RKFYF\0"\ + "H\\PFMGLILKMMONSOVPXRYTYWXYWZT[P[MZLYKWKTLRNPQOUNWMXKXIWGTFPF\0"\ + "H\\XMWPURRSQSNRLPKMKLLINGQFRFUGWIXMXRWWUZR[P[MZLX\0"\ + "NVROQPRQSPRO RRVQWRXSWRV\0"\ + "NVROQPRQSPRO RSWRXQWRVSWSYQ[\0"\ + "F^ZIJRZ[\0"\ + "E_IO[O RIU[U\0"\ + "F^JIZRJ[\0"\ + "I[LKLJMHNGPFTFVGWHXJXLWNVORQRT RRYQZR[SZRY\0"\ + "E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\\T]Q]O\\L[JYHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV\0"\ + "I[RFJ[ RRFZ[ RMTWT\0"\ + "G\\KFK[ RKFTFWGXHYJYLXNWOTP RKPTPWQXRYTYWXYWZT[K[\0"\ + "H]ZKYIWGUFQFOGMILKKNKSLVMXOZQ[U[WZYXZV\0"\ + "G\\KFK[ RKFRFUGWIXKYNYSXVWXUZR[K[\0"\ + "H[LFL[ RLFYF RLPTP RL[Y[\0"\ + "HZLFL[ RLFYF RLPTP\0"\ + "H]ZKYIWGUFQFOGMILKKNKSLVMXOZQ[U[WZYXZVZS RUSZS\0"\ + "G]KFK[ RYFY[ RKPYP\0"\ + "NVRFR[\0"\ + "JZVFVVUYTZR[P[NZMYLVLT\0"\ + "G\\KFK[ RYFKT RPOY[\0"\ + "HYLFL[ RL[X[\0"\ + "F^JFJ[ RJFR[ RZFR[ RZFZ[\0"\ + "G]KFK[ RKFY[ RYFY[\0"\ + "G]PFNGLIKKJNJSKVLXNZP[T[VZXXYVZSZNYKXIVGTFPF\0"\ + "G\\KFK[ RKFTFWGXHYJYMXOWPTQKQ\0"\ + "G]PFNGLIKKJNJSKVLXNZP[T[VZXXYVZSZNYKXIVGTFPF RSWY]\0"\ + "G\\KFK[ RKFTFWGXHYJYLXNWOTPKP RRPY[\0"\ + "H\\YIWGTFPFMGKIKKLMMNOOUQWRXSYUYXWZT[P[MZKX\0"\ + "JZRFR[ RKFYF\0"\ + "G]KFKULXNZQ[S[VZXXYUYF\0"\ + "I[JFR[ RZFR[\0"\ + "F^HFM[ RRFM[ RRFW[ R\\FW[\0"\ + "H\\KFY[ RYFK[\0"\ + "I[JFRPR[ RZFRP\0"\ + "H\\YFK[ RKFYF RK[Y[\0"\ + "KYOBOb RPBPb ROBVB RObVb\0"\ + "KYKFY^\0"\ + "KYTBTb RUBUb RNBUB RNbUb\0"\ + "JZRDJR RRDZR\0"\ + "I[Ib[b\0"\ + "NVSKQMQORPSORNQO\0"\ + "I\\XMX[ RXPVNTMQMONMPLSLUMXOZQ[T[VZXX\0"\ + "H[LFL[ RLPNNPMSMUNWPXSXUWXUZS[P[NZLX\0"\ + "I[XPVNTMQMONMPLSLUMXOZQ[T[VZXX\0"\ + "I\\XFX[ RXPVNTMQMONMPLSLUMXOZQ[T[VZXX\0"\ + "I[LSXSXQWOVNTMQMONMPLSLUMXOZQ[T[VZXX\0"\ + "MYWFUFSGRJR[ ROMVM\0"\ + "I\\XMX]W`VaTbQbOa RXPVNTMQMONMPLSLUMXOZQ[T[VZXX\0"\ + "I\\MFM[ RMQPNRMUMWNXQX[\0"\ + "NVQFRGSFREQF RRMR[\0"\ + "MWRFSGTFSERF RSMS^RaPbNb\0"\ + "IZMFM[ RWMMW RQSX[\0"\ + "NVRFR[\0"\ + "CaGMG[ RGQJNLMOMQNRQR[ RRQUNWMZM\\N]Q][\0"\ + "I\\MMM[ RMQPNRMUMWNXQX[\0"\ + "I\\QMONMPLSLUMXOZQ[T[VZXXYUYSXPVNTMQM\0"\ + "H[LMLb RLPNNPMSMUNWPXSXUWXUZS[P[NZLX\0"\ + "I\\XMXb RXPVNTMQMONMPLSLUMXOZQ[T[VZXX\0"\ + "KXOMO[ ROSPPRNTMWM\0"\ + "J[XPWNTMQMNNMPNRPSUTWUXWXXWZT[Q[NZMX\0"\ + "MYRFRWSZU[W[ ROMVM\0"\ + "I\\MMMWNZP[S[UZXW RXMX[\0"\ + "JZLMR[ RXMR[\0"\ + "G]JMN[ RRMN[ RRMV[ RZMV[\0"\ + "J[MMX[ RXMM[\0"\ + "JZLMR[ RXMR[P_NaLbKb\0"\ + "J[XMM[ RMMXM RM[X[\0"\ + "KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSUSWRYQZP\\P^Q`RaTb\0"\ + "NVRBRb\0"\ + "KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQUQWRYSZT\\T^S`RaPb\0"\ + "F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O\0"\ + "JZJFJ[K[KFLFL[M[MFNFN[O[OFPFP[Q[QFRFR[S[SFTFT[U[UFVFV[W[WFXFX[Y[YFZFZ[\0"\ +; +/* End of file gen_c_src/futural.h */ diff --git a/hf2gcode/hershey_fonts/gen_c_src/futuram.h b/hf2gcode/hershey_fonts/gen_c_src/futuram.h new file mode 100644 index 0000000..6daff5e --- /dev/null +++ b/hf2gcode/hershey_fonts/gen_c_src/futuram.h @@ -0,0 +1,105 @@ +/* This file was generated with gen_C_code.m from fixed/futuram.jhf */ + +/* number of glyphs in font */ +unsigned char futuram_cnt = 96; + +/* Format: margin left, margin right, X, Y ... \0 +< R> is pen-up, see original hershey font */ +const char futuram [] PROGMEM="JZ\0"\ + "MXRFRTST RRFSFST RRXQYQZR[S[TZTYSXRX RRYRZSZSYRY\0"\ + "I[NFMGMM RNGMM RNFOGMM RWFVGVM RWGVM RWFXGVM\0"\ + "H]SBLb RYBRb RLOZO RKUYU\0"\ + "I\\RBR_S_ RRBSBS_ RWIYIWGTFQFNGLILKMMNNVRWSXUXWWYTZQZOYNX RWIVHTGQGNHMIMKNMVQXSYUYWXYWZT[Q[NZLXNX RXXUZ\0"\ + "F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT\0"\ + "F_[NZO[P\\O\\N[MZMYNXPVUTXRZP[M[JZIXIUJSPORMSKSIRGPFNGMIMKNNPQUXWZZ[[[\\Z\\Y RM[KZJXJUKSMQ RMKNMVXXZZ[\0"\ + "NWSFRGRM RSGRM RSFTGRM\0"\ + "KYVBTDRGPKOPOTPYR]T`Vb RTDRHQKPPPTQYR\\T`\0"\ + "KYNBPDRGTKUPUTTYR]P`Nb RPDRHSKTPTTSYR\\P`\0"\ + "JZRFQGSQRR RRFRR RRFSGQQRR RMINIVOWO RMIWO RMIMJWNWO RWIVINOMO RWIMO RWIWJMNMO\0"\ + "F_RIRZSZ RRISISZ RJQ[Q[R RJQJR[R\0"\ + "MXTZS[R[QZQYRXSXTYT\\S^Q_ RRYRZSZSYRY RS[T\\ RTZS^\0"\ + "E_IR[R\0"\ + "MXRXQYQZR[S[TZTYSXRX RRYRZSZSYRY\0"\ + "G^[BIbJb R[B\\BJb\0"\ + "H\\QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF ROGMJLOLRMWOZ RNYQZSZVY RUZWWXRXOWJUG RVHSGQGNH\0"\ + "H\\NJPISFS[ RNJNKPJRHR[S[\0"\ + "H\\LKLJMHNGPFTFVGWHXJXLWNUQL[ RLKMKMJNHPGTGVHWJWLVNTQK[ RLZYZY[ RK[Y[\0"\ + "H\\MFXFQO RMFMGWG RWFPO RQNSNVOXQYTYUXXVZS[P[MZLYKWLW RPOSOVPXS RTOWQXTXUWXTZ RXVVYSZPZMYLW ROZLX\0"\ + "H\\UIU[V[ RVFV[ RVFKVZV RUILV RLUZUZV\0"\ + "H\\MFLO RNGMN RMFWFWG RNGWG RMNPMSMVNXPYSYUXXVZS[P[MZLYKWLW RLOMOONSNVOXR RTNWPXSXUWXTZ RXVVYSZPZMYLW ROZLX\0"\ + "H\\VGWIXIWGTFRFOGMJLOLTMXOZR[S[VZXXYUYTXQVOSNRNOOMQ RWHTGRGOH RPGNJMOMTNXQZ RMVOYRZSZVYXV RTZWXXUXTWQTO RXSVPSOROOPMS RQONQMT\0"\ + "H\\KFYFO[ RKFKGXG RXFN[O[\0"\ + "H\\PFMGLILKMMNNPOTPVQWRXTXWWYTZPZMYLWLTMRNQPPTOVNWMXKXIWGTFPF RNGMIMKNMPNTOVPXRYTYWXYWZT[P[MZLYKWKTLRNPPOTNVMWKWIVG RWHTGPGMH RLXOZ RUZXX\0"\ + "H\\WPURRSQSNRLPKMKLLINGQFRFUGWIXMXRWWUZR[P[MZLXMXNZ RWMVPSR RWNUQRRQRNQLN RPRMPLMLLMIPG RLKNHQGRGUHWK RSGVIWMWRVWTZ RUYRZPZMY\0"\ + "MXRMQNQORPSPTOTNSMRM RRNROSOSNRN RRXQYQZR[S[TZTYSXRX RRYRZSZSYRY\0"\ + "MXRMQNQORPSPTOTNSMRM RRNROSOSNRN RTZS[R[QZQYRXSXTYT\\S^Q_ RRYRZSZSYRY RS[T\\ RTZS^\0"\ + "F^ZIJRZ[\0"\ + "F_JM[M[N RJMJN[N RJU[U[V RJUJV[V\0"\ + "F^JIZRJ[\0"\ + "I\\LKLJMHNGQFTFWGXHYJYLXNWOUPRQ RLKMKMJNHQGTGWHXJXLWNUORP RMIPG RUGXI RXMTP RRPRTSTSP RRXQYQZR[S[TZTYSXRX RRYRZSZSYRY\0"\ + "E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\\T]Q]O\\L[JYHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV\0"\ + "H\\RFJ[ RRIK[J[ RRIY[Z[ RRFZ[ RMUWU RLVXV\0"\ + "H\\LFL[ RMGMZ RLFTFWGXHYJYMXOWPTQ RMGTGWHXJXMWOTP RMPTPWQXRYTYWXYWZT[L[ RMQTQWRXTXWWYTZMZ\0"\ + "H]ZKYIWGUFQFOGMILKKNKSLVMXOZQ[U[WZYXZV RZKYKXIWHUGQGOHMKLNLSMVOYQZUZWYXXYVZV\0"\ + "H]LFL[ RMGMZ RLFSFVGXIYKZNZSYVXXVZS[L[ RMGSGVHWIXKYNYSXVWXVYSZMZ\0"\ + "I\\MFM[ RNGNZ RMFYF RNGYGYF RNPTPTQ RNQTQ RNZYZY[ RM[Y[\0"\ + "I[MFM[ RNGN[M[ RMFYF RNGYGYF RNPTPTQ RNQTQ\0"\ + "H]ZKYIWGUFQFOGMILKKNKSLVMXOZQ[U[WZYXZVZRUR RZKYKXIWHUGQGOHNIMKLNLSMVNXOYQZUZWYXXYVYSUSUR\0"\ + "G]KFK[ RKFLFL[K[ RYFXFX[Y[ RYFY[ RLPXP RLQXQ\0"\ + "NWRFR[S[ RRFSFS[\0"\ + "J[VFVVUYSZQZOYNVMV RVFWFWVVYUZS[Q[OZNYMV\0"\ + "H]LFL[M[ RLFMFM[ RZFYFMR RZFMS RPOY[Z[ RQOZ[\0"\ + "IZMFM[ RMFNFNZ RNZYZY[ RM[Y[\0"\ + "F^JFJ[ RKKK[J[ RKKR[ RJFRX RZFRX RYKR[ RYKY[Z[ RZFZ[\0"\ + "G]KFK[ RLIL[K[ RLIY[ RKFXX RXFXX RXFYFY[\0"\ + "G]PFNGLIKKJNJSKVLXNZP[T[VZXXYVZSZNYKXIVGTFPF RQGNHLKKNKSLVNYQZSZVYXVYSYNXKVHSGQG\0"\ + "H\\LFL[ RMGM[L[ RLFUFWGXHYJYMXOWPUQMQ RMGUGWHXJXMWOUPMP\0"\ + "G]PFNGLIKKJNJSKVLXNZP[T[VZXXYVZSZNYKXIVGTFPF RQGNHLKKNKSLVNYQZSZVYXVYSYNXKVHSGQG RSXX]Y] RSXTXY]\0"\ + "H\\LFL[ RMGM[L[ RLFTFWGXHYJYMXOWPTQMQ RMGTGWHXJXMWOTPMP RRQX[Y[ RSQY[\0"\ + "H\\YIWGTFPFMGKIKKLMMNOOTQVRWSXUXXWYTZPZNYMXKX RYIWIVHTGPGMHLILKMMONTPVQXSYUYXWZT[P[MZKX\0"\ + "J[RGR[ RSGS[R[ RLFYFYG RLFLGYG\0"\ + "G]KFKULXNZQ[S[VZXXYUYF RKFLFLUMXNYQZSZVYWXXUXFYF\0"\ + "H\\JFR[ RJFKFRX RZFYFRX RZFR[\0"\ + "E_GFM[ RGFHFMX RRFMX RRIM[ RRIW[ RRFWX R]F\\FWX R]FW[\0"\ + "H\\KFX[Y[ RKFLFY[ RYFXFK[ RYFL[K[\0"\ + "I\\KFRPR[S[ RKFLFSP RZFYFRP RZFSPS[\0"\ + "H\\XFK[ RYFL[ RKFYF RKFKGXG RLZYZY[ RK[Y[\0"\ + "KYOBOb RPBPb ROBVB RObVb\0"\ + "KYKFY^\0"\ + "KYTBTb RUBUb RNBUB RNbUb\0"\ + "G]JTROZT RJTRPZT\0"\ + "H\\Hb\\b\0"\ + "LXPFUL RPFOGUL\0"\ + "H\\WMW[X[ RWMXMX[ RWPUNSMPMNNLPKSKULXNZP[S[UZWX RWPSNPNNOMPLSLUMXNYPZSZWX\0"\ + "H\\LFL[M[ RLFMFM[ RMPONQMTMVNXPYSYUXXVZT[Q[OZMX RMPQNTNVOWPXSXUWXVYTZQZMX\0"\ + "I[XPVNTMQMONMPLSLUMXOZQ[T[VZXX RXPWQVOTNQNOONPMSMUNXOYQZTZVYWWXX\0"\ + "H\\WFW[X[ RWFXFX[ RWPUNSMPMNNLPKSKULXNZP[S[UZWX RWPSNPNNOMPLSLUMXNYPZSZWX\0"\ + "I[MTXTXQWOVNTMQMONMPLSLUMXOZQ[T[VZXX RMSWSWQVOTNQNOONPMSMUNXOYQZTZVYWWXX\0"\ + "LZWFUFSGRJR[S[ RWFWGUGSH RTGSJS[ ROMVMVN ROMONVN\0"\ + "H\\XMWMW\\V_U`SaQaO`N_L_ RXMX\\W_UaSbPbNaL_ RWPUNSMPMNNLPKSKULXNZP[S[UZWX RWPSNPNNOMPLSLUMXNYPZSZWX\0"\ + "H\\LFL[M[ RLFMFM[ RMQPNRMUMWNXQX[ RMQPORNTNVOWQW[X[\0"\ + "NWRFQGQHRISITHTGSFRF RRGRHSHSGRG RRMR[S[ RRMSMS[\0"\ + "NWRFQGQHRISITHTGSFRF RRGRHSHSGRG RRMRbSb RRMSMSb\0"\ + "H[LFL[M[ RLFMFM[ RXMWMMW RXMMX RPTV[X[ RQSX[\0"\ + "NWRFR[S[ RRFSFS[\0"\ + "CbGMG[H[ RGMHMH[ RHQKNMMPMRNSQS[ RHQKOMNONQORQR[S[ RSQVNXM[M]N^Q^[ RSQVOXNZN\\O]Q][^[\0"\ + "H\\LML[M[ RLMMMM[ RMQPNRMUMWNXQX[ RMQPORNTNVOWQW[X[\0"\ + "I\\QMONMPLSLUMXOZQ[T[VZXXYUYSXPVNTMQM RQNOONPMSMUNXOYQZTZVYWXXUXSWPVOTNQN\0"\ + "H\\LMLbMb RLMMMMb RMPONQMTMVNXPYSYUXXVZT[Q[OZMX RMPQNTNVOWPXSXUWXVYTZQZMX\0"\ + "H\\WMWbXb RWMXMXb RWPUNSMPMNNLPKSKULXNZP[S[UZWX RWPSNPNNOMPLSLUMXNYPZSZWX\0"\ + "KYOMO[P[ ROMPMP[ RPSQPSNUMXM RPSQQSOUNXNXM\0"\ + "J[XPWNTMQMNNMPNRPSUUWV RVUWWWXVZ RWYTZQZNY ROZNXMX RXPWPVN RWOTNQNNO RONNPOR RNQPRUTWUXWXXWZT[Q[NZMX\0"\ + "MXRFR[S[ RRFSFS[ ROMVMVN ROMONVN\0"\ + "H\\LMLWMZO[R[TZWW RLMMMMWNYPZRZTYWW RWMW[X[ RWMXMX[\0"\ + "JZLMR[ RLMMMRY RXMWMRY RXMR[\0"\ + "F^IMN[ RIMJMNX RRMNX RRPN[ RRPV[ RRMVX R[MZMVX R[MV[\0"\ + "I[LMW[X[ RLMMMX[ RXMWML[ RXMM[L[\0"\ + "JZLMR[ RLMMMRY RXMWMRYNb RXMR[ObNb\0"\ + "I[VNL[ RXMNZ RLMXM RLMLNVN RNZXZX[ RL[X[\0"\ + "KYUBNRUb\0"\ + "NVRBRb\0"\ + "KYOBVROb\0"\ + "F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O\0"\ + "JZJFJ[K[KFLFL[M[MFNFN[O[OFPFP[Q[QFRFR[S[SFTFT[U[UFVFV[W[WFXFX[Y[YFZFZ[\0"\ +; +/* End of file gen_c_src/futuram.h */ diff --git a/hf2gcode/hershey_fonts/gen_c_src/gothgbt.h b/hf2gcode/hershey_fonts/gen_c_src/gothgbt.h new file mode 100644 index 0000000..e2210f8 --- /dev/null +++ b/hf2gcode/hershey_fonts/gen_c_src/gothgbt.h @@ -0,0 +1,105 @@ +/* This file was generated with gen_C_code.m from fixed/gothgbt.jhf */ + +/* number of glyphs in font */ +unsigned char gothgbt_cnt = 96; + +/* Format: margin left, margin right, X, Y ... \0 +< R> is pen-up, see original hershey font */ +const char gothgbt [] PROGMEM="JZ\0"\ + "LXRFQGOHQIRT RRISHRGQHRIRT RRFSGUHSIRT RRXPZR[TZRX RRYQZSZRY\0"\ + "I[NFMGMM RNGMM RNFOGMM RWFVGVM RWGVM RWFXGVM\0"\ + "H]SFLb RYFRb RLQZQ RKWYW\0"\ + "H\\PBP_ RTBT_ RTFVGWIWKYJXHWGTFPFMGKIKLLNOPURWSXUXXWZ RXJWH RLLMNOOUQWRXT RMYLW RMGLILKMMONUPXRYTYWXYWZT[P[MZLYKWMVMXNZP[\0"\ + "F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT\0"\ + "E_YNZO[O\\N RXOYP[P RXPYQZQ[P\\N RYNST RRUL[HVNP ROOSKOFJLPRTXVZX[Z[[Z\\X RLZIV RRKOG RKLPQTWVYXZ[Z RMZIU RRLNG RKKQQUWVXXY[Y\\X\0"\ + "LXRLRJPHRFSHSJRLPM RRGQHRIRG\0"\ + "KYUBSDQGOKNPNTOYQ]S`Ub RQHPKOOOUPYQ\\ RSDRFQIPOPUQ[R^S`\0"\ + "KYOBQDSGUKVPVTUYS]Q`Ob RSHTKUOUUTYS\\ RQDRFSITOTUS[R^Q`\0"\ + "JZRFQGSQRR RRFRR RRFSGQQRR RMINIVOWO RMIWO RMIMJWNWO RWIVINOMO RWIMO RWIWJMNMO\0"\ + "F_RIRZSZ RRISISZ RJQ[Q[R RJQJR[R\0"\ + "LXR^R\\PZRXSZS\\R^P_ RRYQZR[RY\0"\ + "F_JQ[Q[R RJQJR[R\0"\ + "LXRXPZR[TZRX RRYQZSZRY\0"\ + "G^[BIbJb R[B\\BJb\0"\ + "H\\LHLXJY RMIMXPZ RNHNXPYQZ RLHNHSGUF RSGTHVIVY RTGWIWX RUFVGXHZHXIXY RJYLYNZO[QZVYXY\0"\ + "H\\OHPIQKQXOY RQIPHQGRIRYTZ ROHRFSHSXUYVY ROYPYRZS[TZVY\0"\ + "H\\LHNHPGQFSGVHXH RPHRG RLHNIPIRHSG RVHVP RWIWO RXHXPQPNQLSKVK[ RK[OYSXVXZY RNZQYVYYZ RK[PZUZX[ZY\0"\ + "H\\LHMHOGPFRGVHXH ROHQG RLHNIPIRG RVHVO RWIWN RXHXOVOSPQQ RQPSQVRXRXY RWSWX RVRVY RKYMXOXQYRZ ROYQZ RKYMYOZP[RZVYXY\0"\ + "H\\UFKPKUTU RVUZU[V[TZU RLPLT RMNMU RTGTXRY RUJVHUGUYWZ RUFWHVJVXXYYY RRYSYUZV[WZYY\0"\ + "H\\LFLO RLFXF RMGVG RLHUHWGXF RVLUMSNOOLO RSNTNVOVY RUMWNWX RVLWMYNZNXOXY RKYMXOXQYRZ ROYQZ RKYMYOZP[RZVYXY\0"\ + "H\\LHLXJY RMIMXPZ RNHNXPYQZ RLHNHRGTFUGWHXH RSGUH RRGTIVIXH RNPOPSOUNVM RSOTOVPVY RUNWPWX RVMWNYOZOXPXY RJYLYNZO[QZVYXY\0"\ + "H\\KHMFPGUGZF RLGOHTHWG RKHOIRIVHZF RZFYHWKSOQRPUPXQ[ RRQQTQWRZ RUMSPRSRVSYQ[\0"\ + "H\\LILO RMJMN RNINO RLINISHUGVF RSHTHVIVO RUGWHWN RVFWGYHZHXIXO RLONOVRXR RXOVONRLR RLRLXJY RMSMXPZ RNRNXPYQZ RVRVY RWSWX RXRXY RJYLYNZO[QZVYXY\0"\ + "H\\LHLQJR RMIMROS RNHNQPRQR RLHNHSGUF RSGTHVIVY RTGWIWX RUFVGXHZHXIXY RJRKRMSNTOSQRUQVQ RKYMXOXQYRZ ROYQZ RKYMYOZP[RZVYXY\0"\ + "LXRMPORPTORM RRNQOSORN RRXPZR[TZRX RRYQZSZRY\0"\ + "LXRMPORPTORM RRNQOSORN RR^R\\PZRXSZS\\R^P_ RRYQZR[RY\0"\ + "F^ZIJRZ[\0"\ + "F_JM[M[N RJMJN[N RJU[U[V RJUJV[V\0"\ + "F^JIZRJ[\0"\ + "I[LJMHNGQFSFVGWHXJXLWNUPSQ RMJNH RVHWIWMVN RLJNKNIOGQF RSFUGVIVMUOSQ RRQRTSQQQRT RRXPZR[TZRX RRYQZSZRY\0"\ + "E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\\T]Q]O\\L[JYHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV\0"\ + "G]LINGPFRFSGZW[X]X RQGRHYXZZ[YYX RNGPGQHXXYZZ[[[]X RLMMLOKPKQL RPLPM RMLOLPN RG[IYKXNXPY RJYNYOZ RG[JZMZN[PY RRJLX RNSVS\0"\ + "F^HHJFMFOGQF RKGNG RHHJGLHOHQF RMKLLKNKOIOHPHRIQKQKW RLMLU RIPLP RMKMTLVKW RRIQJPLPU RQKQS RRIRRQTPU RRIXFZG[I[KYMUO RXGZIZK RVGXHYIYLWN RWNZP[R[X RYPZRZW RWNXOYQYX RJ[MYPXTXWY RLZOYTYVZ RJ[NZSZU[WYYX[X RUOUX RURYR RUUYU\0"\ + "E]NGLHJJILHOHSIVJXMZP[S[VZXYZW[U RJKINISKWNYQZTZWY RNGLIKKJNJRKUNXQYTYWXYW[U RPJPV RQJQT RRIRSQUPV RPJRIUFWGYGZF RTGVHXH RSHUIWIYHZF RWIWX\0"\ + "G^IFWFYGZIZX RKGWGYIYW RIFJGLHWHXIXX ROKNLMNMOKOJPJRKQMQMV RNMNT RKPNP ROKOSNUMV RI[LYOXSXVY RKZNYSYUZ RI[MZRZT[VYXXZX RRHRX RRMTNVNXM RRSTRVRXS\0"\ + "G]IHKFMFOGQF RLGNG RIHKGMHOHQF RNKMLLNLOJOIPIRJQLQLW RMMMU RJPMP RNKNTMVLW RQMRJSHTGVFXF[G RTHVGXGZH RRJSIUHWHYI[G RQURRSPTOVOXP RTPVPWQ RRRSQUQVRXP RK[NYRXWX[Y RMZPYWYZZ RK[OZVZY[[Y RQMQX\0"\ + "F]JHLFOFQGSF RMGPG RJHLGNHQHSF RPKOLNNNOLOKPKRLQNQNV ROMOT RLPOP RPKPSOUNV RSJSYRZQZMXKXIYG[ RTJTX RTPXP RPZOZMYJY RUIUOXO RXQUQUWTYP[N[LZJZG[ RSJUIXFZG\\G]F RWGYH[H RVHXIZI\\H]F RXIXW\0"\ + "E^NGLHJJILHOHRIUJWLYNZQ[U[XZZX[V[SZQYPWOUO RJKINISJV RNGLIKKJNJSKVLXNZ RYXZWZSYQ RU[WZXYYWYSXQWPUO RPJPW RQJQU RRIRTQVPW RPJRIUFWGYGZF RTGVHXH RSHUIWIYHZF RYHUOU[ RUSYS RUVYV\0"\ + "F^HHJFMFOGQF RKGNG RHHJGLHOHQF RMKLLKNKOIOHPHRIQKQKW RLMLU RIPLP RMKMTLVKW RJ[MYPXSXUY RLZOYRYTZ RJ[NZQZS[UY RRIQJPLPU RQKQS RRIRRQTPU RRITGVFXFZG RWGXGYH RTGVGXIZG RUOWNYLZM[P[TZXX[ RXMYNZPZUYX RWNXNYPYUX[ RUOUY RURYR RUUYU\0"\ + "I\\LHNFQFTGVF ROGSG RLHNGQHTHVF RSKRLQNQOOONPNROQQQQV RRMRT ROPRP RSKSSRUQV RYHWJVMVXUZSZOXMXKYI[ RWKWW RRZQZOYLY RYHXJXVWXUZS[P[NZKZI[\0"\ + "H\\LHNFQFTGVF ROGSG RLHNGQHTHVF RSKRLQNQOOONPNROQQQQV RRMRT ROPRP RSKSSRUQV RYHWJVMVXUZ RWKWW RYHXJXVWXUZR[O[LZJXJVKULUMVLWKW RJVMV\0"\ + "F^HHJFMFOGQF RKGNG RHHJGLHOHQF RMKLLKNKOIOHPHRIQKQKW RLMLU RIPLP RMKMTLVKW RJ[MYPXSXUY RLZNYRYTZ RJ[NZQZS[UY RRIQJPLPU RQKQS RRIRRQTPU RRITGVFXFZG RWGXGYH RTGVGXIZG RUOXLYM[N RWMYN[N R[NYQWSUU RWSYTZX[Z\\Z RYVZZ RWSXTYZZ[[[\\Z RUOUY\0"\ + "G]IHKFNFPGRF RLGOG RIHKGMHPHRF RNKMLLNLOJOIPIRJQLQLW RMMMU RJPMP RNKNTMVLW RK[NYRXWX[Y RMZPYWYZZ RK[OZVZY[[Y RSIRJQLQU RRKRS RSISRRTQU RSIUGWFYF[G RXGYGZH RUGWGYI[G RWGWX\0"\ + "D`LJKKJMJOHOGPGRHQJQJU RKLKS RHPKP RLJLRKTJU RE[GYIXKXMYNYOX RHYKYMZ RE[GZJZL[M[NZOX RLJPFTJTWUYVY RPGSJSXRYSZTYSX RPPSP RNHOHRKROOO ROQRQRXQYS[VYWX RTJXF\\J\\W]Y^Y RXG[J[X]Z RXP[P RVHWHZKZOWO RWQZQZY\\[^Y ROHOX RWHWX\0"\ + "E^GIIGKFMFOGQJVUXXYY RMGOIPKVWYZ RIGKGMHOKTVVYWZY[ RVHXIZI\\H]F RWGYH[H RVHXFZG\\G]F RKOIOHPHRIQKQ RIPKP RG[IYKXNXPY RJYMYOZ RG[JZMZN[PY RKGKX RYIY[ RRLSMUNWNYM RKTMSQSST\0"\ + "E_NFLGJIIKHNHRIUJWLYNZQ[S[VZXYZW[U\\R\\N[KZIXGVFUGRIOJ RJJIMISJV RNFLHKJJMJSKVLXNZ RZV[S[MYIXH RVZXXYVZSZMYKWHUG ROJOW RPJPU RQJQTPVOW RUGUZ RUMWNXNZM RUSWRXRZS\0"\ + "H^KFLGMIMOKOJPJRKQMQMYJ[MZMbO` RMHNJN` RKPNP RKFMGNHOJO` ROKRIVFZJZX RVGYJYX RTHUHXKXY RRXUXXY RSYUYWZ RRZTZV[XYZX RRIR_ RRMTNVNXM RRSTRVRXS\0"\ + "E_NFLGJIIKHNHRIUJWLYNZP[T[VZXYZW[U\\R\\N[KZIXGVFUGRIOJ RJJIMISJV RNFLHKJJMJSKVLXNZ RZV[S[MYIXH RVZXXYVZSZMYKWHUG ROJOW RPJPU RQJQTPVOW RUGUZ RUMWNXNZM RUSWRXRZS RP[QZRZT[X`Za[a RT\\V_XaYa RRZS[VaXbZb[a\0"\ + "F^HHJFMFOGQF RKGNG RHHJGLHOHQF RMKLLKNKOIOHPHRIQKQKW RLMLU RIPLP RMKMTLVKW RJ[MYPXRXUY RLZNYRYTZ RJ[NZQZS[UY RRIQJPLPU RQKQS RRIRRQTPU RRIUGWFYGZIZLYNXOTQRR RWGXGYIYMXN RUGWHXJXMWOTQ RTQVRWSZX[Y\\Y RWTYX[Z RTQVSXYZ[\\Y\0"\ + "G^UITHRGOF RVHTG RWGSFOFLGKHJJKLLMONWNYOZPZRYU RKKLLOMXMZN[O[QZS RKHKJLKOLYL[M\\O\\QYUU[ RIOJPLQUQVRVSUU RJQLRTRUS RIOIPJRLSSSUTUU RI[LYPXSXVY RKZNYRYUZ RI[MZRZU[ RWGUISL RRNPQ ROSMUKVJVJUKV\0"\ + "E]JJILHOHSIVKYMZP[S[VZXYZW[U RISJVLXNYQZTZWY RJJIMIQJTLWNXQYTYWXYW[U RHIIGKFOFUGYG[F RPGTHXH RHIIHKGNGTIWIYH[F RSIRJPKPV RQKQT RRJRSQUPV RWIWX\0"\ + "F^HHJFLFOGQF RKGNG RHHJGMHOHQF RKJJLIOISJVKXMZP[S[VZXYZ[\\Y RJSKVNYQZTZ RKJJNJQKTLVNXQYUYXX RUIQJPLPV RQKQT RRJRSQUPV RUIWHYFZG\\HZIZW[Y\\Y RYIZHYGXHYIYX[Z RWHXIXX RUIUY RUNXN RURXR\0"\ + "G^JFKGLILOJOIPIRJQLQLXJY RLHMJMX RJPMP RNYQYSZ RJFLGMHNJNXRXUY RJYMYPZR[UYXXZX RRJUIWHYFZG\\HZIZX RYIZHYGXHYIYW RWHXIXX RRJRX RRMTNVNXM RRSTRVRXS\0"\ + "E`HFIGJIJOHOGPGRHQJQJXHY RJHKJKX RHPKP RLYNYPZ RHFJGKHLJLXOXQY RHYKYNZO[QYTXVYW[YY\\X ROHRFTHTXWXYY RRGSHSX ROHQHRIRXQY RWYXZ RWHZF\\H\\X RZG[H[X RWHYHZIZXYY ROHOX RWHWX RONRN RORRR RWNZN RWRZR\0"\ + "G]HIJGLFNFOGWYXZZZ RMGNHVYWZ RJGLGMHUZV[X[ZZ\\X RWFYG[G\\F RWGXHZH RVHWIYI[H\\F RH[IYKXMXNY RJYLYMZ RH[IZKZM[ RWFSO RQRM[ RLPPP RSPXP\0"\ + "G^JFKGLILOJOIPIRJQLQLXJY RLHMJMX RJPMP RNYQYSZ RJFLGMHNJNXRXUY RJYMYPZR[UYXX RRJUIWHYFZG\\HZIZ^Y`WbUaQ`L` RYIZHYGXHYIYY RWHXIXXZ[ RXaV`S` RY`V_P_L` RRJRX RRMTNVNXM RRSTRVRXS\0"\ + "H\\XGWIROOSMWJ[ RVKNV RZFWJUNRRMXLZ RJHLFOGUGZF RKGOHSHWG RJHNIRIVHXG RLZNYRXVXZY RMZQYUYYZ RJ[OZUZX[ZY RMPQP RTPXP\0"\ + "KYOBOb RPBPb ROBVB RObVb\0"\ + "KYKFY^\0"\ + "KYTBTb RUBUb RNBUB RNbUb\0"\ + "JZPLRITL RMORJWO RRJR[\0"\ + "JZJ]Z]\0"\ + "LXTFRGQIQKRMTKRIRG RRJRLSKRJ\0"\ + "J[PRNTMVMXNZP[RYUX RMVNXOYQZ RNTNVOXQYRY RNPPPSOUNVMXOWPWXXYYY RONNOQO RTOWOVNVYWZ RMOOMPNROUPUYW[YY RMORT\0"\ + "I[LHMJMXKY RNJMHNGNXQZ RLHOFOXQYRZ RKYMYOZP[RZUYWY ROPROTNUMVNXOYOWPWY RTNVOVX RROSOUPUY\0"\ + "JXNONXLYMYOZP[ ROOOYQZ RPOPXRYSYQZP[ RNORNTMUNWOXO RSNTOVO RPORNTPVPXO\0"\ + "IZRMPNMOMXKY RNONXQZ RRMOOOXQYRZ RKYMYOZP[RZUYWY RMHPFQIWOWY RPINHOGPIVOVX RMHUPUY\0"\ + "JXNONXLYMYOZP[ ROOOYQZ RPOPXRYSYQZP[ RNORNTMWQURPU RSNVQ RPORNUR\0"\ + "JWNHNXLYMYOZP[ ROHOYQZ RPHPXRYSYQZP[ RNHQGSFTGVHWH RRGSHUH RPHQGSIUIWH RKMNM RPMTM\0"\ + "I[MOMXKYLYNZO[PZRYUX RNPNYPZ ROOOXQYRY RMOOORNTMUNWOYOWPW\\V_TaRbQaO`M` RSNVPV\\ RSaQ`P` RRNSOUPUZV]V_ RTaS`Q_O_M`\0"\ + "I[LHMJMXKYLYNZO[ RNJMHNGNYPZ RLHOFOXQYO[ ROPROTNUMVNXOYOWPWYU[T] RTNVOVYU[ RROSOUPUYT]T`UbVbT`\0"\ + "MWRFPHRITHRF RRGQHSHRG RRMQNOOQPQYS[UY RRPSORNQORPRYSZ RRMSNUOSPSXTYUY\0"\ + "MWRFPHRITHRF RRGQHSHRG RRMQNOOQPQYS[T] RRPSORNQORPRYS[ RRMSNUOSPSYT]T`RbPbPaRb\0"\ + "IZLHMJMXKYLYNZO[ RNJMHNGNYPZ RLHOFOXQYO[ ROPRNTMVPSROU RSNUP RRNTQ RSRTSVXWYXY RSSTTUYVZ RRSSTTYV[XY\0"\ + "MWPHQJQXOYPYRZS[ RRJQHRGRYTZ RPHSFSXUYVYTZS[\0"\ + "E_GOHOIPIXGYHYJZK[ RINJOJYLZ RGOIMKOKXMYK[ RKPNOPNQMSOSXUYS[ RPNRORYTZ RNOOOQPQXPYRZS[ RSPVOXNYMZN\\O]O[P[X\\Y]Y RXNZOZY[Z RVOWOYPYY[[]Y\0"\ + "I[KOLOMPMXKYLYNZO[ RMNNONYPZ RKOMMOOOXQYO[ ROPROTNUMVNXOYOWPWXXYYY RTNVOVYWZ RROSOUPUYW[YY\0"\ + "I[MOMXKY RNPNXQZ ROOOXQYRZ RKYMYOZP[RZUYWY RMOOORNTMUNWOYOWPWY RSNVPVX RRNSOUPUY\0"\ + "I[LMMOMXKYMYMb RMNNONaO`N^ RNYOYQZ RLMNNOOOXQYRZ ROZP[RZUYWY ROZO^P`Mb ROPROTNUMVNXOYOWPWY RTNVOVX RROSOUPUY\0"\ + "I[MOMXKY RNPNYPZ ROOOXQYRY RKYLYNZO[PZRYUX RMOOORNTMUNWOYOWPWb RSNVPVaU`V^ RRNSOUPU^T`Wb\0"\ + "JXLOMONPNXLYMYOZP[ RMNOOOYQZ RLONMPOPXRYSYQZP[ RPOTMUNWOXO RSNTOVO RRNTPVPXO\0"\ + "JZMOMSOTUTWUWY RNONS RVUVY RPNOOOSQT RSTUUUYTZ RMOPNRMTNVNWM RQNSN RPNROTOVN RWYTZR[PZNZL[ RSZQZ RTZRYOYL[ RWMVOTROWL[\0"\ + "MWPHQJQXOYPYRZS[ RRJQHRGRYTZ RPHSFSXUYVYTZS[ RNMQM RSMVM\0"\ + "I[KOLOMPMXKY RLNNONYPZ RKOMMOOOXQYRY RKYLYNZO[PZRYUX RUMVNXOYOWPWXXYYY RTNVOVYWZ RUMSOUPUYW[YY\0"\ + "I[LMMOMXP[RYUXWX RMNNONXQZ RLMNNOOOWPXRY RUMVNXOYOWPWX RTNVOVW RUMSOUPUX\0"\ + "E_HMIOIXL[NYQX RINJOJXMZ RHMJNKOKWLXNY RQMOOQPQXT[VYYX[X RPNRORXUZ RQMRNTOSPSWTXVY RYMZN\\O]O[P[X RXNZOZW RYMWOYPYX\0"\ + "H[KOLONPOQSYTZV[XY RMNOOTYVZ RKOMMONPOTWUXWYXY RRSUMVNXNYM RUNVOWO RTOVPXOYM RQUN[MZKZJ[ RNZMYLY ROYMXKYJ[ RMTPT RSTVT\0"\ + "I[KOLOMPMXKY RLNNONYPZ RKOMMOOOXQYRY RKYLYNZO[PZRYUX RUMVNXOYOWPW\\V_TaRbQaO`M` RTNVOV\\ RSaQ`P` RUMSOUPUZV]V_ RTaS`Q_O_M`\0"\ + "I[XML[ RLONPQPTOXM RMNOOSO RLONMPNTNXM RL[PYSXVXXY RQYUYWZ RL[PZTZV[XY RNTVT\0"\ + "KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSUSWRYQZP\\P^Q`RaTb\0"\ + "NVRBRb\0"\ + "KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQUQWRYSZT\\T^S`RaPb\0"\ + "F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O\0"\ + "KYQFOGNINKOMQNSNUMVKVIUGSFQF RQFNIOMSNVKUGQF RSFOGNKQNUMVISF\0"\ +; +/* End of file gen_c_src/gothgbt.h */ diff --git a/hf2gcode/hershey_fonts/gen_c_src/gothgrt.h b/hf2gcode/hershey_fonts/gen_c_src/gothgrt.h new file mode 100644 index 0000000..032b943 --- /dev/null +++ b/hf2gcode/hershey_fonts/gen_c_src/gothgrt.h @@ -0,0 +1,105 @@ +/* This file was generated with gen_C_code.m from fixed/gothgrt.jhf */ + +/* number of glyphs in font */ +unsigned char gothgrt_cnt = 96; + +/* Format: margin left, margin right, X, Y ... \0 +< R> is pen-up, see original hershey font */ +const char gothgrt [] PROGMEM="JZ\0"\ + "LXRFQGOHQIRT RRISHRGQHRIRT RRFSGUHSIRT RRXPZR[TZRX RRYQZSZRY\0"\ + "I[NFMGMM RNGMM RNFOGMM RWFVGVM RWGVM RWFXGVM\0"\ + "H]SFLb RYFRb RLQZQ RKWYW\0"\ + "H\\PBP_ RTBT_ RTFVGWIWKYJXHWGTFPFMGKIKLLNOPURWSXUXXWZ RXJWH RLLMNOOUQWRXT RMYLW RMGLILKMMONUPXRYTYWXYWZT[P[MZLYKWMVMXNZP[\0"\ + "F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT\0"\ + "E_YNZO[O\\N RXOYP[P RXPYQZQ[P\\N RYNST RRUL[HVNP ROOSKOFJLPRTXVZX[Z[[Z\\X RLZIV RRKOG RKLPQTWVYXZ[Z RMZIU RRLNG RKKQQUWVXXY[Y\\X\0"\ + "LXRLRJPHRFSHSJRLPM RRGQHRIRG\0"\ + "KYUBSDQGOKNPNTOYQ]S`Ub RQHPKOOOUPYQ\\ RSDRFQIPOPUQ[R^S`\0"\ + "KYOBQDSGUKVPVTUYS]Q`Ob RSHTKUOUUTYS\\ RQDRFSITOTUS[R^Q`\0"\ + "JZRFQGSQRR RRFRR RRFSGQQRR RMINIVOWO RMIWO RMIMJWNWO RWIVINOMO RWIMO RWIWJMNMO\0"\ + "F_RIRZSZ RRISISZ RJQ[Q[R RJQJR[R\0"\ + "LXR^R\\PZRXSZS\\R^P_ RRYQZR[RY\0"\ + "F_JQ[Q[R RJQJR[R\0"\ + "LXRXPZR[TZRX RRYQZSZRY\0"\ + "G^[BIbJb R[B\\BJb\0"\ + "H\\LHLXJY RMIMXPZ RNHNXPYQZ RLHNHSGUF RSGTHVIVY RTGWIWX RUFVGXHZHXIXY RJYLYNZO[QZVYXY\0"\ + "H\\OHPIQKQXOY RQIPHQGRIRYTZ ROHRFSHSXUYVY ROYPYRZS[TZVY\0"\ + "H\\LHNHPGQFSGVHXH RPHRG RLHNIPIRHSG RVHVP RWIWO RXHXPQPNQLSKVK[ RK[OYSXVXZY RNZQYVYYZ RK[PZUZX[ZY\0"\ + "H\\LHMHOGPFRGVHXH ROHQG RLHNIPIRG RVHVO RWIWN RXHXOVOSPQQ RQPSQVRXRXY RWSWX RVRVY RKYMXOXQYRZ ROYQZ RKYMYOZP[RZVYXY\0"\ + "H\\UFKPKUTU RVUZU[V[TZU RLPLT RMNMU RTGTXRY RUJVHUGUYWZ RUFWHVJVXXYYY RRYSYUZV[WZYY\0"\ + "H\\LFLO RLFXF RMGVG RLHUHWGXF RVLUMSNOOLO RSNTNVOVY RUMWNWX RVLWMYNZNXOXY RKYMXOXQYRZ ROYQZ RKYMYOZP[RZVYXY\0"\ + "H\\LHLXJY RMIMXPZ RNHNXPYQZ RLHNHRGTFUGWHXH RSGUH RRGTIVIXH RNPOPSOUNVM RSOTOVPVY RUNWPWX RVMWNYOZOXPXY RJYLYNZO[QZVYXY\0"\ + "H\\KHMFPGUGZF RLGOHTHWG RKHOIRIVHZF RZFYHWKSOQRPUPXQ[ RRQQTQWRZ RUMSPRSRVSYQ[\0"\ + "H\\LILO RMJMN RNINO RLINISHUGVF RSHTHVIVO RUGWHWN RVFWGYHZHXIXO RLONOVRXR RXOVONRLR RLRLXJY RMSMXPZ RNRNXPYQZ RVRVY RWSWX RXRXY RJYLYNZO[QZVYXY\0"\ + "H\\LHLQJR RMIMROS RNHNQPRQR RLHNHSGUF RSGTHVIVY RTGWIWX RUFVGXHZHXIXY RJRKRMSNTOSQRUQVQ RKYMXOXQYRZ ROYQZ RKYMYOZP[RZVYXY\0"\ + "LXRMPORPTORM RRNQOSORN RRXPZR[TZRX RRYQZSZRY\0"\ + "LXRMPORPTORM RRNQOSORN RR^R\\PZRXSZS\\R^P_ RRYQZR[RY\0"\ + "F^ZIJRZ[\0"\ + "F_JM[M[N RJMJN[N RJU[U[V RJUJV[V\0"\ + "F^JIZRJ[\0"\ + "I[LJMHNGQFSFVGWHXJXLWNUPSQ RMJNH RVHWIWMVN RLJNKNIOGQF RSFUGVIVMUOSQ RRQRTSQQQRT RRXPZR[TZRX RRYQZSZRY\0"\ + "E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\\T]Q]O\\L[JYHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV\0"\ + "F^IHJIIJHIIGKFMFOGPHQKQOPRNTLUIV ROHPKPPOR RMFNGOJOPNSLU RLVOY RKVOZ RIVN[UV R\\G[H\\H\\G[FYFWGVHUJUYW[[W RWHVJVXXZ RYFXGWJWWYY\0"\ + "E_GQGRHSJSLRLOKMIJIHKF RKOIK RJSKRKPIMHKHIIGKFNFPGQHRJRRQUOW RPHQJQT RNFOGPJPUOW RRISGUFWFYGZH[J\\K RYHZJ RWFXGYJZK\\K R\\KRP RYM[O\\R\\U[XYZV[S[PZJWIWHX RXNYN[P RVNYO[Q\\S RTZRZLWKW RZYXZUZRYNWKVIVHXHZI[JZIY\0"\ + "F^RHPFNFLGJJINIRJVLYNZQ[T[WZYY[W RLHKJJMJRKVMYPZ RNFMGLIKMKQLUMWOYRZUZXY[W RUFRHQIPKPLQNTPURUT RQKQLUPUQ RQIQJRLUNVPVRUTSURUPTOR RUFVGXHZH RUGVHWH RTGVIXIZH[G\0"\ + "E_HLHKIIKGNFRFUGWHYJ[M\\Q\\U[XYZV[S[PZJWIWHX RKHMGRGUHWIYK[N RTZRZLWKW RHKJIMHRHUIWJYL[O\\R RZYXZUZRYNWKVIVHXHZI[JZIY RPHMKLMLONSNU RMNMONQNR RMKMMOQOSNUMVKVJUJT\0"\ + "F^RHPFNFLGJJINIRJVLYNZQ[T[WZYY[W RLHKJJMJRKVMYPZ RNFMGLIKMKQLUMWOYRZUZXY[W RUFRHQIPKPLQNTPURUT RQKQLUPUQ RQIQJRLUNVPVRUTSURUPTOR RUFVGXHZH RUGVHWH RTGVIXIZH[G RUNYK RYKZL\\L RXLYMZM RWMXNZN\\L\0"\ + "F^MNKMJKJIKGNFQFTGXI RKHMGRGUH RJKKIMHRHXIZI[H[GZFYF RSHRIQKQMROVSWVWYV\\U]S^ RTPWSXVXYW[ RQMSOVQXSYVYYX[V]S^O^L]K\\JZJWLTLRKQ RL\\K[KWLU RO^M]L[LWMTMRLQJQIRIS RUPYL RYLZM\\M RXMYNZN RWNXOZO\\M\0"\ + "E_UJTHSGQFNFKGIJHNHRIUJWLYNZQ[T[WZYY[W\\T\\Q[NYL RKHJJIMIRJUKW RZW[U[QZNYM RNFLGKIJMJRKVLXNZ RWZYXZUZQYOWM RUFRHPJOLOMPOSQTSTU RPLPMTQTR RPJPKQMTOUQUSTURVQVOUNS RTOYLZJ R\\FZJ RYG]I R\\F[GYGZHZJ[I]I\\H\\F\0"\ + "F_RFPGNIMKMMNOPQQSQU RNLNMQQQR RNINKOMQORQRSQUPVNWLWJVIUHSHQIPJQIR RRFTHVHXG RQGSH RPGQHSIUIXG RRPYK RYK[N\\Q\\T[WYYVZR[ RXLZN[Q[UZW RVMWMYOZRZVYXXYVZ RVZTZRYPYNZM\\N^P_R_T^ RSZQZ RR[PZNZ\0"\ + "F_PPNPLOKNJLJJKHLGOFQFTGWJYK RLHNGRGTHUI RJJKIMHQHTIVJYK[K\\J\\H[GYG RJXKYJZIYIWJVLVNWPYR\\T^ RNXOYQ\\R] RLVMWNYP\\Q]S^V^X]Y\\ZZZWYUWRVPVO RYXYWVRVQ RX]Y[YYXWVTURUPWNYNZOZP\0"\ + "F_PPNPLOKNJLJJKHLGOFQFTGWJYK RLHNGRGTHUI RJJKIMHQHTIVJYK[K\\J\\H[GYG RJXKYJZIYIWJVLVNWPYR\\T^ RNXOYQ\\R] RLVMWNYP\\Q]S^V^X]Y\\ZZZWYUWRVPVO RYXYWVRVQ RX]Y[YYXWVTURUPWNYNZOZP\0"\ + "E_[KZIXGUFRFOGMILKLNMQPWPYN[ RMNMOPUPV RNHMJMMNOPSQVQXPZN[L[JZ RHVJZ RGYKW RHVHXGYIYJZJXKWIWHV RNONMOKQJTJVKXMYM RUKWM RRJTKULVN RYMPQ RUOYXZY[Y RTPXXZZ RSPWYY[\\X\0"\ + "G^ZSYTVTUSUQVOXLYJYH RVQVPYLYK RWTVSVRWPYNZLZJYHXGUFPFMGLHKJKLLNNQOSOTNV RLKLLOQOR RLHLJMLOOPQPSOUMWJY RMWOWRYUZXZZY RNXOXSZTZ RJYLXMXQZT[V[YZZY[W\0"\ + "BbEQERFSHSJRJOIMGJGHIF RIOGK RHSIRIPGMFKFIGGIFKFMGOIPLPROUNWLYI[HZGZ RNIOLORNUMW RJZIYHY RKFMHNKNRMVLXKYJXIXF[ RNGPFRFTGVIWLWRVUUWSYQ[PZOZ RUIVLVRUV RRZQYPY RRFTHUKUSTWSYRXQXN[ RUHVGXFZF\\G]H^J_K R\\H]J RZF[G\\J]K_K R_K\\M[NZQZT[X][`X R\\N[P[T\\W^Z R_K]M\\O\\S]W_Y\0"\ + "D`GQGRHSJSLRLOKMIJIHKF RKOIK RJSKRKPIMHKHIIGKFNFPGRISLSRRUQWOYL[KZIZG[ RQIRKRRQUPWOX RMZKYIY RNFPHQKQRPVNYLXJXG[ RRHSGUFWFYGZH[J\\K RYHZJ RWFXGYJZK\\K R\\KYMXNWQWTXXZ[]X RYNXPXTYW[Z R\\KZMYOYSZW\\Y\0"\ + "D`PFNGLIKKKMMQMS RLLLMMOMP RLILKNONQMSLTJTISIR RPFQGWIZK[M\\P\\S[VZXXZU[R[OZIWHWGX RPGQHWJYKZL RPFPHQIWKYL[N\\P RSZQZKWJW RYYWZTZQYMWJVHVGXGZH[IZHY\0"\ + "E`HQHRISKSMRMOLMJJJHLF RLOJK RKSLRLPJMIKIIJGLFOFQGRHSJSU RSWS\\R^P_M_L^L\\M[N\\M] RQHRJR\\Q^ ROFPGQJQU RQWQ\\P^O_ RSJXF RXFZI[K\\O\\R[UYXV[ RWGZK[N[O RVHXJZM[P[SZVYX RWYUVSU RQUOVMX RWZUWSVPV RV[TXSW RQWOWMX\0"\ + "D`PFNGLIKKKMMQMS RLLLMMOMP RLILKNONQMSLTJTISIR RPFQGWIZK[M\\P\\S[VZX RXZU[R[OZIWHWGX RPGQHWJYKZL RPFPHQIWKYL[N\\P RSZQZKWJW RXZTZQYMWJVHVGXGZH[IZHY RTXVVXV\\Z]Z RWWXW[Z RUWVWZ[\\[^Y\0"\ + "D`GQGRHSJSLRLOKMIJIHKF RKOIK RJSKRKPIMHKHIIGKFNFPGQHRJRVQXOZM[K[IZ RPHQJQVPX RNFOGPJPVOYM[ RGVIZ RFYJW RGVGXFYHYIZIXJWHWGV RRISGUFWFYGZH[J\\K RYHZJ RWFXGYJZK\\K R\\KRP RTOXYZ[]X RUOYX[Z RVNZX[Y\\Y\0"\ + "E`\\H[G\\F]G]I\\KZKVISHOHKIIK RYJVHSGOGLH R]I\\JZJVGSFOFLGJIIKHNHRIUJWLYNZQ[U[XZZY\\W]T]Q\\OZNWNUOSRQSOS RLXNYQZUZYY RIUKWMXPYUYYX[W\\V]T RXOWOSSRS R]Q[OYOWPUSSTQTOSNQNOOMQL\0"\ + "F_LNJMIKIIJGMFRFUGYJ[J\\I RJHLGRGUHXJ RIKJILHRHUIYK[K\\I\\G[FZG[H RUIRLQNQPSTSV RRORPSRSS RRLRNTRTTSVRWPWOVOT RJYKZJ[IZIXJVLVOWSYVZYZ[Y RLWMWSZUZ RIXJWKWMXQZT[W[ZZ\\X\0"\ + "G]JHKHLILWJX RKGMHMXPZ RIILFNHNWPYRY RJXKXMYO[RYVV RTHUHVIVYX[[X RUGWHWYYZ RSIVFYHXIXXYYZY\0"\ + "D`GQGRHSJSLRLOKMIJIHKF RKOIK RJSKRKPIMHKHIIGKFNFPGQHRJRRQUOW RPHQJQT RNFOGPJPUOW RRISGUFWFYG[J\\K RYHZJ RWFXGYJZK\\K RZKXKWLWNXP[R\\T RXO[Q RWMXN[P\\R\\V[XYZW[S[PZJWIWHX RTZRZLWKW RZYXZUZRYNWKVIVHXHZI[JZIY\0"\ + "BcEQERFSHSJRJOIMGJGHIF RIOGK RHSIRIPGMFKFIGGIFLFNGOHPJPNOQMTKV RNHOJOONR RLFMGNJNOMSKV RNGPFSFUG RWFTGSISMTPVSWUWWVY RTMTNWSWT RWFUGTITLUNWQXTXVWXUZS[O[MZKXIWGWFX RNZKWJW RQ[OZLWJVGVFXFZG[HZGY RWFZF\\G^J_K R\\H]J RZF[G\\J]K_K R]K[KZLZN[P^R_T R[O^Q RZM[N^P_R_W^Y]Z[[X[UZ RYZXZVY R^Y\\ZZZXYWX\0"\ + "F^KHMHOIPJQMQO RQQQUPXM[KZI[ RNZLYKY ROYNYLXI[ RMGPHQIRLRUSWUYWZ RIINFPGRISLSO RSQSTTWUXWYYY RQURXTZV[[X RSLTIWFYG[F RVGXHYH RUHVHXI[F RKSMOQO RSOWOYM RMPWP RKSMQQQ RSQWQYM\0"\ + "E_HQHRISKSMRMOLMJJJHLF RLOJK RKSLRLPJMIKIIJGLFOFQGRHSJSORRQTQUSWTW RQHRJRPQSPUSX ROFPGQJQPPTOVRYUV RSJ[F RYGYZX] RZGZXY[ R[F[VZZY\\W^T_P_M^K\\JZKYLZK[\0"\ + "F^NIOGQFTFVGWHXJXMWOVPTQ RQQOPNN RVHWIWNVO RTFUGVIVNUPTQ RMUNSORQQTQWRYTZVZZY\\W^T_P_N^KZJY RXTYVYZX\\ RTQWSXUX[W]V^T_ RO^N]LZKY RR_P^O]MZLYIYHZH\\I]J]\0"\ + "KYOBOb RPBPb ROBVB RObVb\0"\ + "KYKFY^\0"\ + "KYTBTb RUBUb RNBUB RNbUb\0"\ + "JZPLRITL RMORJWO RRJR[\0"\ + "JZJ]Z]\0"\ + "LXTFRGQIQKRMTKRIRG RRJRLSKRJ\0"\ + "J[TMQNOONPMSMVNYO[UX RNVOYPZ RQNOPNSNUOXQZ RRNSOUPUYW[ZX RSNVPVXXZ RTMUNWOXO RWPXO RWPWXXYYY\0"\ + "J[LHMINK RTFQGOINKNXMY RPIOKOXRZ RTFRGQHPKPXRYSZ RMYNYPZQ[TZ RPPVMWOXRXUWXVYTZ RUNVOWQ RTNVPWSWUVXTZ\0"\ + "KXRNTPVOTMRNOPNRNWOYQ[UY RSNUO RPPOROWPYQZ RQOPQPVQXSZ\0"\ + "J[QFNINKOLSNVPWRWUVXTZ ROJOKSMVOWP ROHOIPJUMWOXRXUWXTZQ[ RRNNPNXMY ROPOXRZ RPOPXRYSZ RMYNYPZQ[\0"\ + "KXPUVQSMOPNRNWOYQ[UY RUQRN RPPOROWPYQZ RTRROQOPQPVQXSZ\0"\ + "LYXFWGUGSFQFPHPMOONP RVHTHRGQG RXFWHVITIRHQHPI RPKQMRNTOVOVP RNPPP RRPVP RPPPTQ` RSOPOQNQ[ RRPRTQ`\0"\ + "J[TMQNOONPMSMVNYO[UX RNWOYPZ RQNOPNSNUOXQZ RRNSOUPUXV[V]U_ RSNVPVZ RTMUNWOXO RWPXO RWPW\\V^U_S`P`N_M^M]N]N^\0"\ + "J[LHMINK RTFQGOINKNXMY RPIOKOYPZ RTFRGQHPKPXQYRY RMYOZP[SX RPPVMWOXSXWWZV\\T^Q` RUNVOWR RTNVQWTWWV[T^\0"\ + "MWRFQGQHRISHSGRF RQGSH RQHSG ROOPOQPQYS[VX RPNRORXTZ RNPQMRNTO RSPTO RSPSXTYUY\0"\ + "MWRFQGQHRISHSGRF RQGSH RQHSG ROOPOQPQ[P^O_M` RPNROR[Q] RNPQMRNTO RSPTO RSPS[R]P_M` RS[T]U^\0"\ + "KYNHOIPK RUFSGQIPKPMOONP RPPPXOY RRIQKQM RQOPOQMQXSZ RUFSHRKRO RRPRXSYTY ROYQZR[UX RRLVIWJWLUNSO RUJVKVLUN RROWOWP RNPPP RRPWP\0"\ + "MWOHPIQK RWFTGRIQKQXPY RSIRKRYTZ RWFUGTHSKSXTYUY RPYRZS[VX\0"\ + "E_GOHOIPIXHYJ[ RHNJPJXIYJZKYJX RFPIMKOKXLYJ[ RNNPOQQQXPYR[ RPNQORQRXQYRZSYRX RKPNNPMRNSPSXTYR[ RVNWOYPYY[[^X RWNZPZX\\Z RSPVNXMYN[O\\O R[P\\O R[P[X\\Y]Y\0"\ + "I[KOLOMPMXLYN[ RLNNPNXMYNZOYNX RJPMMOOOXPYN[ RRNSOUPUYW[ZX RSNVPVXXZ ROPRNTMUNWOXO RWPXO RWPWXXYYY\0"\ + "J[NPNXMY ROPOXRZ RQOPPPXRYSZ RMYNYPZQ[TZ RNPQOVMWOXRXUWXVYTZ RUNVOWQ RTNVPWSWUVXTZ\0"\ + "J[OJMLMNNQNXLZ RNYO` RNMNNOQO[ RNKNLONPQPXQXSYTZ RPYO` RSZQY RTZR[PY RNYLZ RPPVMWOXRXUWXVYTZ RUNVOWQ RTNVPWSWUVXTZ\0"\ + "J[TMQNOONPMSMVNYO[UX RNWOYPZ RQNOPNSNUOXQZ RRNSOUPUXV` RSNVPV[ RTMUNWOXO RWPXO RWPWXV`\0"\ + "KYNOOOPPPXOY RONQPQYSZ RMPPMRORXSYTY ROYQZR[UX RTNUPWOVMRO RUNVO\0"\ + "LWXFWGUGSFQFPHPMOONP RVHTHRGQG RXFWHVITIRHQHPI RPKRP RPPPTQ` RQOPOQNQ[ RRPRTQ` RNPPP\0"\ + "LXSIRLQNPONP RSISOVOVP RNPQP RSPVP RQPQXPY RROQORMRXTZ RSPSXTYUY RPYRZS[VX\0"\ + "I[KOLOMPMXLY RLNNPNXPZ RJPMMOOOXQYRZ RLYMYOZP[RZUX RVMTOUPUYW[ZX RVPWOVNUOVPVXXZ RVMXOWPWXXYYY\0"\ + "J[OKMMMONRNXMY RNNNOOROXRZ RNLNMOOPRPXRYSZ RMYNYPZQ[TZ RPPVMWOXRXUWXVYTZ RUNVOWQ RTNVPWSWUVXTZ\0"\ + "F_KKIMIOJRJXIYK[ RJNJOKRKXJYKZLYKX RJLJMKOLRLXMYK[ RONQORQRXQY RQNROSQSXVZ RLPONQMSNTPTXVYWZ RQYRYTZU[XZ RTPZM[O\\R\\T[XZYXZ RYNZO[Q RXNZP[S[UZXXZ\0"\ + "KZOOPOQPQXPXNYM[M]N_P`S`V_V^U^U_ RPNRPRXUZ RNPQMSOSXUYVZ RXYT[SZQYOYM[ RUNVPXOWMSO RVNWO\0"\ + "J[OKMMMONRNXMY RNNNOOROYQZ RNLNMOOPRPXQYRY RMYOZP[SX RPPVMWOXSXWWZV\\T^Q` RUNVOWR RTNVQWTWWV[T^\0"\ + "KYNPSMUNVPVRUTQV RSNUO RRNTOUQURTTSU RSUUWVYV]U_S`Q`O_N]N[OYQXWV RRVTWUY RQVTXUZU]T_S`\0"\ + "KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSUSWRYQZP\\P^Q`RaTb\0"\ + "NVRBRb\0"\ + "KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQUQWRYSZT\\T^S`RaPb\0"\ + "F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O\0"\ + "KYQFOGNINKOMQNSNUMVKVIUGSFQF RQFNIOMSNVKUGQF RSFOGNKQNUMVISF\0"\ +; +/* End of file gen_c_src/gothgrt.h */ diff --git a/hf2gcode/hershey_fonts/gen_c_src/gothiceng.h b/hf2gcode/hershey_fonts/gen_c_src/gothiceng.h new file mode 100644 index 0000000..40b20eb --- /dev/null +++ b/hf2gcode/hershey_fonts/gen_c_src/gothiceng.h @@ -0,0 +1,105 @@ +/* This file was generated with gen_C_code.m from fixed/gothiceng.jhf */ + +/* number of glyphs in font */ +unsigned char gothiceng_cnt = 96; + +/* Format: margin left, margin right, X, Y ... \0 +< R> is pen-up, see original hershey font */ +const char gothiceng [] PROGMEM="JZ\0"\ + "LXRFQGOHQIRT RRISHRGQHRIRT RRFSGUHSIRT RRXPZR[TZRX RRYQZSZRY\0"\ + "I[NFMGMM RNGMM RNFOGMM RWFVGVM RWGVM RWFXGVM\0"\ + "H]SBLb RYBRb RLOZO RKUYU\0"\ + "H\\PBP_ RTBT_ RTFVGWIWKYJXHWGTFPFMGKIKLLNOPURWSXUXXWZ RXJWH RLLMNOOUQWRXT RMYLW RMGLILKMMONUPXRYTYWXYWZT[P[MZLYKWMVMXNZP[\0"\ + "F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT\0"\ + "E_YNZO[O\\N RXOYP[P RXPYQZQ[P\\N RYNST RRUL[HVNP ROOSKOFJLPRTXVZX[Z[[Z\\X RLZIV RRKOG RKLPQTWVYXZ[Z RMZIU RRLNG RKKQQUWVXXY[Y\\X\0"\ + "NWSFRGRM RSGRM RSFTGRM\0"\ + "KYUBSDQGOKNPNTOYQ]S`Ub RQHPKOOOUPYQ\\ RSDRFQIPOPUQ[R^S`\0"\ + "KYOBQDSGUKVPVTUYS]Q`Ob RSHTKUOUUTYS\\ RQDRFSITOTUS[R^Q`\0"\ + "JZRFQGSQRR RRFRR RRFSGQQRR RMINIVOWO RMIWO RMIMJWNWO RWIVINOMO RWIMO RWIWJMNMO\0"\ + "F_RIRZSZ RRISISZ RJQ[Q[R RJQJR[R\0"\ + "LXR^R\\PZRXSZS\\R^P_ RRYQZR[RY\0"\ + "E_IR[R\0"\ + "LXRXPZR[TZRX RRYQZSZRY\0"\ + "G^[BIbJb R[B\\BJb\0"\ + "H\\LHLXJY RMIMXPZ RNHNXPYQZ RLHNHSGUF RSGTHVIVY RTGWIWX RUFVGXHZHXIXY RJYLYNZO[QZVYXY\0"\ + "H\\OHPIQKQXOY RQIPHQGRIRYTZ ROHRFSHSXUYVY ROYPYRZS[TZVY\0"\ + "H\\LHNHPGQFSGVHXH RPHRG RLHNIPIRHSG RVHVP RWIWO RXHXPQPNQLSKVK[ RK[OYSXVXZY RNZQYVYYZ RK[PZUZX[ZY\0"\ + "H\\LHMHOGPFRGVHXH ROHQG RLHNIPIRG RVHVO RWIWN RXHXOVOSPQQ RQPSQVRXRXY RWSWX RVRVY RKYMXOXQYRZ ROYQZ RKYMYOZP[RZVYXY\0"\ + "H\\UFKPKUTU RVUZU[V[TZU RLPLT RMNMU RTGTXRY RUJVHUGUYWZ RUFWHVJVXXYYY RRYSYUZV[WZYY\0"\ + "H\\LFLO RLFXF RMGVG RLHUHWGXF RVLUMSNOOLO RSNTNVOVY RUMWNWX RVLWMYNZNXOXY RKYMXOXQYRZ ROYQZ RKYMYOZP[RZVYXY\0"\ + "H\\LHLXJY RMIMXPZ RNHNXPYQZ RLHNHRGTFUGWHXH RSGUH RRGTIVIXH RNPOPSOUNVM RSOTOVPVY RUNWPWX RVMWNYOZOXPXY RJYLYNZO[QZVYXY\0"\ + "H\\KHMFPGUGZF RLGOHTHWG RKHOIRIVHZF RZFYHWKSOQRPUPXQ[ RRQQTQWRZ RUMSPRSRVSYQ[\0"\ + "H\\LILO RMJMN RNINO RLINISHUGVF RSHTHVIVO RUGWHWN RVFWGYHZHXIXO RLONOVRXR RXOVONRLR RLRLXJY RMSMXPZ RNRNXPYQZ RVRVY RWSWX RXRXY RJYLYNZO[QZVYXY\0"\ + "H\\LHLQJR RMIMROS RNHNQPRQR RLHNHSGUF RSGTHVIVY RTGWIWX RUFVGXHZHXIXY RJRKRMSNTOSQRUQVQ RKYMXOXQYRZ ROYQZ RKYMYOZP[RZVYXY\0"\ + "LXRMPORPTORM RRNQOSORN RRXPZR[TZRX RRYQZSZRY\0"\ + "LXRMPORPTORM RRNQOSORN RR^R\\PZRXSZS\\R^P_ RRYQZR[RY\0"\ + "F^ZIJRZ[\0"\ + "F_JM[M[N RJMJN[N RJU[U[V RJUJV[V\0"\ + "F^JIZRJ[\0"\ + "I[LJMHNGQFSFVGWHXJXLWNUPSQ RMJNH RVHWIWMVN RLJNKNIOGQF RSFUGVIVMUOSQ RRQRTSQQQRT RRXPZR[TZRX RRYQZSZRY\0"\ + "E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\\T]Q]O\\L[JYHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV\0"\ + "G]LINGPFRFSGZW[X]X RQGRHYXZZ[YYX RNGPGQHXXYZZ[[[]X RLMMLOKPKQL RPLPM RMLOLPN RG[IYKXNXPY RJYNYOZ RG[JZMZN[PY RRJLX RNSVS\0"\ + "F^HHJFMFOGQF RKGNG RHHJGLHOHQF RMKLLKNKOIOHPHRIQKQKW RLMLU RIPLP RMKMTLVKW RRIQJPLPU RQKQS RRIRRQTPU RRIXFZG[I[KYMUO RXGZIZK RVGXHYIYLWN RWNZP[R[X RYPZRZW RWNXOYQYX RJ[MYPXTXWY RLZOYTYVZ RJ[NZSZU[WYYX[X RUOUX RURYR RUUYU\0"\ + "E]NGLHJJILHOHSIVJXMZP[S[VZXYZW[U RJKINISKWNYQZTZWY RNGLIKKJNJRKUNXQYTYWXYW[U RPJPV RQJQT RRIRSQUPV RPJRIUFWGYGZF RTGVHXH RSHUIWIYHZF RWIWX\0"\ + "G^IFWFYGZIZX RKGWGYIYW RIFJGLHWHXIXX ROKNLMNMOKOJPJRKQMQMV RNMNT RKPNP ROKOSNUMV RI[LYOXSXVY RKZNYSYUZ RI[MZRZT[VYXXZX RRHRX RRMTNVNXM RRSTRVRXS\0"\ + "G]IHKFMFOGQF RLGNG RIHKGMHOHQF RNKMLLNLOJOIPIRJQLQLW RMMMU RJPMP RNKNTMVLW RQMRJSHTGVFXF[G RTHVGXGZH RRJSIUHWHYI[G RQURRSPTOVOXP RTPVPWQ RRRSQUQVRXP RK[NYRXWX[Y RMZPYWYZZ RK[OZVZY[[Y RQMQX\0"\ + "F]JHLFOFQGSF RMGPG RJHLGNHQHSF RPKOLNNNOLOKPKRLQNQNV ROMOT RLPOP RPKPSOUNV RSJSYRZQZMXKXIYG[ RTJTX RTPXP RPZOZMYJY RUIUOXO RXQUQUWTYP[N[LZJZG[ RSJUIXFZG\\G]F RWGYH[H RVHXIZI\\H]F RXIXW\0"\ + "E^NGLHJJILHOHRIUJWLYNZQ[U[XZZX[V[SZQYPWOUO RJKINISJV RNGLIKKJNJSKVLXNZ RYXZWZSYQ RU[WZXYYWYSXQWPUO RPJPW RQJQU RRIRTQVPW RPJRIUFWGYGZF RTGVHXH RSHUIWIYHZF RYHUOU[ RUSYS RUVYV\0"\ + "F^HHJFMFOGQF RKGNG RHHJGLHOHQF RMKLLKNKOIOHPHRIQKQKW RLMLU RIPLP RMKMTLVKW RJ[MYPXSXUY RLZOYRYTZ RJ[NZQZS[UY RRIQJPLPU RQKQS RRIRRQTPU RRITGVFXFZG RWGXGYH RTGVGXIZG RUOWNYLZM[P[TZXX[ RXMYNZPZUYX RWNXNYPYUX[ RUOUY RURYR RUUYU\0"\ + "I\\LHNFQFTGVF ROGSG RLHNGQHTHVF RSKRLQNQOOONPNROQQQQV RRMRT ROPRP RSKSSRUQV RYHWJVMVXUZSZOXMXKYI[ RWKWW RRZQZOYLY RYHXJXVWXUZS[P[NZKZI[\0"\ + "H\\LHNFQFTGVF ROGSG RLHNGQHTHVF RSKRLQNQOOONPNROQQQQV RRMRT ROPRP RSKSSRUQV RYHWJVMVXUZ RWKWW RYHXJXVWXUZR[O[LZJXJVKULUMVLWKW RJVMV\0"\ + "F^HHJFMFOGQF RKGNG RHHJGLHOHQF RMKLLKNKOIOHPHRIQKQKW RLMLU RIPLP RMKMTLVKW RJ[MYPXSXUY RLZNYRYTZ RJ[NZQZS[UY RRIQJPLPU RQKQS RRIRRQTPU RRITGVFXFZG RWGXGYH RTGVGXIZG RUOXLYM[N RWMYN[N R[NYQWSUU RWSYTZX[Z\\Z RYVZZ RWSXTYZZ[[[\\Z RUOUY\0"\ + "G]IHKFNFPGRF RLGOG RIHKGMHPHRF RNKMLLNLOJOIPIRJQLQLW RMMMU RJPMP RNKNTMVLW RK[NYRXWX[Y RMZPYWYZZ RK[OZVZY[[Y RSIRJQLQU RRKRS RSISRRTQU RSIUGWFYF[G RXGYGZH RUGWGYI[G RWGWX\0"\ + "D`LJKKJMJOHOGPGRHQJQJU RKLKS RHPKP RLJLRKTJU RE[GYIXKXMYNYOX RHYKYMZ RE[GZJZL[M[NZOX RLJPFTJTWUYVY RPGSJSXRYSZTYSX RPPSP RNHOHRKROOO ROQRQRXQYS[VYWX RTJXF\\J\\W]Y^Y RXG[J[X]Z RXP[P RVHWHZKZOWO RWQZQZY\\[^Y ROHOX RWHWX\0"\ + "E^GIIGKFMFOGQJVUXXYY RMGOIPKVWYZ RIGKGMHOKTVVYWZY[ RVHXIZI\\H]F RWGYH[H RVHXFZG\\G]F RKOIOHPHRIQKQ RIPKP RG[IYKXNXPY RJYMYOZ RG[JZMZN[PY RKGKX RYIY[ RRLSMUNWNYM RKTMSQSST\0"\ + "E_NFLGJIIKHNHRIUJWLYNZQ[S[VZXYZW[U\\R\\N[KZIXGVFUGRIOJ RJJIMISJV RNFLHKJJMJSKVLXNZ RZV[S[MYIXH RVZXXYVZSZMYKWHUG ROJOW RPJPU RQJQTPVOW RUGUZ RUMWNXNZM RUSWRXRZS\0"\ + "H^KFLGMIMOKOJPJRKQMQMYJ[MZMbO` RMHNJN` RKPNP RKFMGNHOJO` ROKRIVFZJZX RVGYJYX RTHUHXKXY RRXUXXY RSYUYWZ RRZTZV[XYZX RRIR_ RRMTNVNXM RRSTRVRXS\0"\ + "E_NFLGJIIKHNHRIUJWLYNZP[T[VZXYZW[U\\R\\N[KZIXGVFUGRIOJ RJJIMISJV RNFLHKJJMJSKVLXNZ RZV[S[MYIXH RVZXXYVZSZMYKWHUG ROJOW RPJPU RQJQTPVOW RUGUZ RUMWNXNZM RUSWRXRZS RP[QZRZT[X`Za[a RT\\V_XaYa RRZS[VaXbZb[a\0"\ + "F^HHJFMFOGQF RKGNG RHHJGLHOHQF RMKLLKNKOIOHPHRIQKQKW RLMLU RIPLP RMKMTLVKW RJ[MYPXRXUY RLZNYRYTZ RJ[NZQZS[UY RRIQJPLPU RQKQS RRIRRQTPU RRIUGWFYGZIZLYNXOTQRR RWGXGYIYMXN RUGWHXJXMWOTQ RTQVRWSZX[Y\\Y RWTYX[Z RTQVSXYZ[\\Y\0"\ + "G^UITHRGOF RVHTG RWGSFOFLGKHJJKLLMONWNYOZPZRYU RKKLLOMXMZN[O[QZS RKHKJLKOLYL[M\\O\\QYUU[ RIOJPLQUQVRVSUU RJQLRTRUS RIOIPJRLSSSUTUU RI[LYPXSXVY RKZNYRYUZ RI[MZRZU[ RWGUISL RRNPQ ROSMUKVJVJUKV\0"\ + "E]JJILHOHSIVKYMZP[S[VZXYZW[U RISJVLXNYQZTZWY RJJIMIQJTLWNXQYTYWXYW[U RHIIGKFOFUGYG[F RPGTHXH RHIIHKGNGTIWIYH[F RSIRJPKPV RQKQT RRJRSQUPV RWIWX\0"\ + "F^HHJFLFOGQF RKGNG RHHJGMHOHQF RKJJLIOISJVKXMZP[S[VZXYZ[\\Y RJSKVNYQZTZ RKJJNJQKTLVNXQYUYXX RUIQJPLPV RQKQT RRJRSQUPV RUIWHYFZG\\HZIZW[Y\\Y RYIZHYGXHYIYX[Z RWHXIXX RUIUY RUNXN RURXR\0"\ + "G^JFKGLILOJOIPIRJQLQLXJY RLHMJMX RJPMP RNYQYSZ RJFLGMHNJNXRXUY RJYMYPZR[UYXXZX RRJUIWHYFZG\\HZIZX RYIZHYGXHYIYW RWHXIXX RRJRX RRMTNVNXM RRSTRVRXS\0"\ + "E`HFIGJIJOHOGPGRHQJQJXHY RJHKJKX RHPKP RLYNYPZ RHFJGKHLJLXOXQY RHYKYNZO[QYTXVYW[YY\\X ROHRFTHTXWXYY RRGSHSX ROHQHRIRXQY RWYXZ RWHZF\\H\\X RZG[H[X RWHYHZIZXYY ROHOX RWHWX RONRN RORRR RWNZN RWRZR\0"\ + "G]HIJGLFNFOGWYXZZZ RMGNHVYWZ RJGLGMHUZV[X[ZZ\\X RWFYG[G\\F RWGXHZH RVHWIYI[H\\F RH[IYKXMXNY RJYLYMZ RH[IZKZM[ RWFSO RQRM[ RLPPP RSPXP\0"\ + "G^JFKGLILOJOIPIRJQLQLXJY RLHMJMX RJPMP RNYQYSZ RJFLGMHNJNXRXUY RJYMYPZR[UYXX RRJUIWHYFZG\\HZIZ^Y`WbUaQ`L` RYIZHYGXHYIYY RWHXIXXZ[ RXaV`S` RY`V_P_L` RRJRX RRMTNVNXM RRSTRVRXS\0"\ + "H\\XGWIROOSMWJ[ RVKNV RZFWJUNRRMXLZ RJHLFOGUGZF RKGOHSHWG RJHNIRIVHXG RLZNYRXVXZY RMZQYUYYZ RJ[OZUZX[ZY RMPQP RTPXP\0"\ + "KYOBOb RPBPb ROBVB RObVb\0"\ + "KYKFY^\0"\ + "KYTBTb RUBUb RNBUB RNbUb\0"\ + "G]JTROZT RJTRPZT\0"\ + "G]Gb]b\0"\ + "LXPFUL RPFOGUL\0"\ + "J[PRNTMVMXNZP[RYUX RMVNXOYQZ RNTNVOXQYRY RNPPPSOUNVMXOWPWXXYYY RONNOQO RTOWOVNVYWZ RMOOMPNROUPUYW[YY RMORT\0"\ + "I[LHMJMXKY RNJMHNGNXQZ RLHOFOXQYRZ RKYMYOZP[RZUYWY ROPROTNUMVNXOYOWPWY RTNVOVX RROSOUPUY\0"\ + "JXNONXLYMYOZP[ ROOOYQZ RPOPXRYSYQZP[ RNORNTMUNWOXO RSNTOVO RPORNTPVPXO\0"\ + "IZRMPNMOMXKY RNONXQZ RRMOOOXQYRZ RKYMYOZP[RZUYWY RMHPFQIWOWY RPINHOGPIVOVX RMHUPUY\0"\ + "JXNONXLYMYOZP[ ROOOYQZ RPOPXRYSYQZP[ RNORNTMWQURPU RSNVQ RPORNUR\0"\ + "JWNHNXLYMYOZP[ ROHOYQZ RPHPXRYSYQZP[ RNHQGSFTGVHWH RRGSHUH RPHQGSIUIWH RKMNM RPMTM\0"\ + "I[MOMXKYLYNZO[PZRYUX RNPNYPZ ROOOXQYRY RMOOORNTMUNWOYOWPW\\V_TaRbQaO`M` RSNVPV\\ RSaQ`P` RRNSOUPUZV]V_ RTaS`Q_O_M`\0"\ + "I[LHMJMXKYLYNZO[ RNJMHNGNYPZ RLHOFOXQYO[ ROPROTNUMVNXOYOWPWYU[T] RTNVOVYU[ RROSOUPUYT]T`UbVbT`\0"\ + "MWRFPHRITHRF RRGQHSHRG RRMQNOOQPQYS[UY RRPSORNQORPRYSZ RRMSNUOSPSXTYUY\0"\ + "MWRFPHRITHRF RRGQHSHRG RRMQNOOQPQYS[T] RRPSORNQORPRYS[ RRMSNUOSPSYT]T`RbPbPaRb\0"\ + "IZLHMJMXKYLYNZO[ RNJMHNGNYPZ RLHOFOXQYO[ ROPRNTMVPSROU RSNUP RRNTQ RSRTSVXWYXY RSSTTUYVZ RRSSTTYV[XY\0"\ + "MWPHQJQXOYPYRZS[ RRJQHRGRYTZ RPHSFSXUYVYTZS[\0"\ + "E_GOHOIPIXGYHYJZK[ RINJOJYLZ RGOIMKOKXMYK[ RKPNOPNQMSOSXUYS[ RPNRORYTZ RNOOOQPQXPYRZS[ RSPVOXNYMZN\\O]O[P[X\\Y]Y RXNZOZY[Z RVOWOYPYY[[]Y\0"\ + "I[KOLOMPMXKYLYNZO[ RMNNONYPZ RKOMMOOOXQYO[ ROPROTNUMVNXOYOWPWXXYYY RTNVOVYWZ RROSOUPUYW[YY\0"\ + "I[MOMXKY RNPNXQZ ROOOXQYRZ RKYMYOZP[RZUYWY RMOOORNTMUNWOYOWPWY RSNVPVX RRNSOUPUY\0"\ + "I[LMMOMXKYMYMb RMNNONaO`N^ RNYOYQZ RLMNNOOOXQYRZ ROZP[RZUYWY ROZO^P`Mb ROPROTNUMVNXOYOWPWY RTNVOVX RROSOUPUY\0"\ + "I[MOMXKY RNPNYPZ ROOOXQYRY RKYLYNZO[PZRYUX RMOOORNTMUNWOYOWPWb RSNVPVaU`V^ RRNSOUPU^T`Wb\0"\ + "JXLOMONPNXLYMYOZP[ RMNOOOYQZ RLONMPOPXRYSYQZP[ RPOTMUNWOXO RSNTOVO RRNTPVPXO\0"\ + "JZMOMSOTUTWUWY RNONS RVUVY RPNOOOSQT RSTUUUYTZ RMOPNRMTNVNWM RQNSN RPNROTOVN RWYTZR[PZNZL[ RSZQZ RTZRYOYL[ RWMVOTROWL[\0"\ + "MWPHQJQXOYPYRZS[ RRJQHRGRYTZ RPHSFSXUYVYTZS[ RNMQM RSMVM\0"\ + "I[KOLOMPMXKY RLNNONYPZ RKOMMOOOXQYRY RKYLYNZO[PZRYUX RUMVNXOYOWPWXXYYY RTNVOVYWZ RUMSOUPUYW[YY\0"\ + "I[LMMOMXP[RYUXWX RMNNONXQZ RLMNNOOOWPXRY RUMVNXOYOWPWX RTNVOVW RUMSOUPUX\0"\ + "E_HMIOIXL[NYQX RINJOJXMZ RHMJNKOKWLXNY RQMOOQPQXT[VYYX[X RPNRORXUZ RQMRNTOSPSWTXVY RYMZN\\O]O[P[X RXNZOZW RYMWOYPYX\0"\ + "H[KOLONPOQSYTZV[XY RMNOOTYVZ RKOMMONPOTWUXWYXY RRSUMVNXNYM RUNVOWO RTOVPXOYM RQUN[MZKZJ[ RNZMYLY ROYMXKYJ[ RMTPT RSTVT\0"\ + "I[KOLOMPMXKY RLNNONYPZ RKOMMOOOXQYRY RKYLYNZO[PZRYUX RUMVNXOYOWPW\\V_TaRbQaO`M` RTNVOV\\ RSaQ`P` RUMSOUPUZV]V_ RTaS`Q_O_M`\0"\ + "I[XML[ RLONPQPTOXM RMNOOSO RLONMPNTNXM RL[PYSXVXXY RQYUYWZ RL[PZTZV[XY RNTVT\0"\ + "KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSUSWRYQZP\\P^Q`RaTb\0"\ + "NVRBRb\0"\ + "KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQUQWRYSZT\\T^S`RaPb\0"\ + "F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O\0"\ + "JZJFJ[K[KFLFL[M[MFNFN[O[OFPFP[Q[QFRFR[S[SFTFT[U[UFVFV[W[WFXFX[Y[YFZFZ[\0"\ +; +/* End of file gen_c_src/gothiceng.h */ diff --git a/hf2gcode/hershey_fonts/gen_c_src/gothicger.h b/hf2gcode/hershey_fonts/gen_c_src/gothicger.h new file mode 100644 index 0000000..6a47ad3 --- /dev/null +++ b/hf2gcode/hershey_fonts/gen_c_src/gothicger.h @@ -0,0 +1,105 @@ +/* This file was generated with gen_C_code.m from fixed/gothicger.jhf */ + +/* number of glyphs in font */ +unsigned char gothicger_cnt = 96; + +/* Format: margin left, margin right, X, Y ... \0 +< R> is pen-up, see original hershey font */ +const char gothicger [] PROGMEM="JZ\0"\ + "LXRFQGOHQIRT RRISHRGQHRIRT RRFSGUHSIRT RRXPZR[TZRX RRYQZSZRY\0"\ + "I[NFMGMM RNGMM RNFOGMM RWFVGVM RWGVM RWFXGVM\0"\ + "H]SBLb RYBRb RLOZO RKUYU\0"\ + "H\\PBP_ RTBT_ RTFVGWIWKYJXHWGTFPFMGKIKLLNOPURWSXUXXWZ RXJWH RLLMNOOUQWRXT RMYLW RMGLILKMMONUPXRYTYWXYWZT[P[MZLYKWMVMXNZP[\0"\ + "F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT\0"\ + "E_YNZO[O\\N RXOYP[P RXPYQZQ[P\\N RYNST RRUL[HVNP ROOSKOFJLPRTXVZX[Z[[Z\\X RLZIV RRKOG RKLPQTWVYXZ[Z RMZIU RRLNG RKKQQUWVXXY[Y\\X\0"\ + "NWSFRGRM RSGRM RSFTGRM\0"\ + "KYUBSDQGOKNPNTOYQ]S`Ub RQHPKOOOUPYQ\\ RSDRFQIPOPUQ[R^S`\0"\ + "KYOBQDSGUKVPVTUYS]Q`Ob RSHTKUOUUTYS\\ RQDRFSITOTUS[R^Q`\0"\ + "JZRFQGSQRR RRFRR RRFSGQQRR RMINIVOWO RMIWO RMIMJWNWO RWIVINOMO RWIMO RWIWJMNMO\0"\ + "F_RIRZSZ RRISISZ RJQ[Q[R RJQJR[R\0"\ + "LXR^R\\PZRXSZS\\R^P_ RRYQZR[RY\0"\ + "E_IR[R\0"\ + "LXRXPZR[TZRX RRYQZSZRY\0"\ + "G^[BIbJb R[B\\BJb\0"\ + "H\\LHLXJY RMIMXPZ RNHNXPYQZ RLHNHSGUF RSGTHVIVY RTGWIWX RUFVGXHZHXIXY RJYLYNZO[QZVYXY\0"\ + "H\\OHPIQKQXOY RQIPHQGRIRYTZ ROHRFSHSXUYVY ROYPYRZS[TZVY\0"\ + "H\\LHNHPGQFSGVHXH RPHRG RLHNIPIRHSG RVHVP RWIWO RXHXPQPNQLSKVK[ RK[OYSXVXZY RNZQYVYYZ RK[PZUZX[ZY\0"\ + "H\\LHMHOGPFRGVHXH ROHQG RLHNIPIRG RVHVO RWIWN RXHXOVOSPQQ RQPSQVRXRXY RWSWX RVRVY RKYMXOXQYRZ ROYQZ RKYMYOZP[RZVYXY\0"\ + "H\\UFKPKUTU RVUZU[V[TZU RLPLT RMNMU RTGTXRY RUJVHUGUYWZ RUFWHVJVXXYYY RRYSYUZV[WZYY\0"\ + "H\\LFLO RLFXF RMGVG RLHUHWGXF RVLUMSNOOLO RSNTNVOVY RUMWNWX RVLWMYNZNXOXY RKYMXOXQYRZ ROYQZ RKYMYOZP[RZVYXY\0"\ + "H\\LHLXJY RMIMXPZ RNHNXPYQZ RLHNHRGTFUGWHXH RSGUH RRGTIVIXH RNPOPSOUNVM RSOTOVPVY RUNWPWX RVMWNYOZOXPXY RJYLYNZO[QZVYXY\0"\ + "H\\KHMFPGUGZF RLGOHTHWG RKHOIRIVHZF RZFYHWKSOQRPUPXQ[ RRQQTQWRZ RUMSPRSRVSYQ[\0"\ + "H\\LILO RMJMN RNINO RLINISHUGVF RSHTHVIVO RUGWHWN RVFWGYHZHXIXO RLONOVRXR RXOVONRLR RLRLXJY RMSMXPZ RNRNXPYQZ RVRVY RWSWX RXRXY RJYLYNZO[QZVYXY\0"\ + "H\\LHLQJR RMIMROS RNHNQPRQR RLHNHSGUF RSGTHVIVY RTGWIWX RUFVGXHZHXIXY RJRKRMSNTOSQRUQVQ RKYMXOXQYRZ ROYQZ RKYMYOZP[RZVYXY\0"\ + "LXRMPORPTORM RRNQOSORN RRXPZR[TZRX RRYQZSZRY\0"\ + "LXRMPORPTORM RRNQOSORN RR^R\\PZRXSZS\\R^P_ RRYQZR[RY\0"\ + "F^ZIJRZ[\0"\ + "F_JM[M[N RJMJN[N RJU[U[V RJUJV[V\0"\ + "F^JIZRJ[\0"\ + "I[LJMHNGQFSFVGWHXJXLWNUPSQ RMJNH RVHWIWMVN RLJNKNIOGQF RSFUGVIVMUOSQ RRQRTSQQQRT RRXPZR[TZRX RRYQZSZRY\0"\ + "E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\\T]Q]O\\L[JYHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV\0"\ + "F^IHJIIJHIIGKFMFOGPHQKQOPRNTLUIV ROHPKPPOR RMFNGOJOPNSLU RLVOY RKVOZ RIVN[UV R\\G[H\\H\\G[FYFWGVHUJUYW[[W RWHVJVXXZ RYFXGWJWWYY\0"\ + "E_GQGRHSJSLRLOKMIJIHKF RKOIK RJSKRKPIMHKHIIGKFNFPGQHRJRRQUOW RPHQJQT RNFOGPJPUOW RRISGUFWFYGZH[J\\K RYHZJ RWFXGYJZK\\K R\\KRP RYM[O\\R\\U[XYZV[S[PZJWIWHX RXNYN[P RVNYO[Q\\S RTZRZLWKW RZYXZUZRYNWKVIVHXHZI[JZIY\0"\ + "F^RHPFNFLGJJINIRJVLYNZQ[T[WZYY[W RLHKJJMJRKVMYPZ RNFMGLIKMKQLUMWOYRZUZXY[W RUFRHQIPKPLQNTPURUT RQKQLUPUQ RQIQJRLUNVPVRUTSURUPTOR RUFVGXHZH RUGVHWH RTGVIXIZH[G\0"\ + "E_HLHKIIKGNFRFUGWHYJ[M\\Q\\U[XYZV[S[PZJWIWHX RKHMGRGUHWIYK[N RTZRZLWKW RHKJIMHRHUIWJYL[O\\R RZYXZUZRYNWKVIVHXHZI[JZIY RPHMKLMLONSNU RMNMONQNR RMKMMOQOSNUMVKVJUJT\0"\ + "F^RHPFNFLGJJINIRJVLYNZQ[T[WZYY[W RLHKJJMJRKVMYPZ RNFMGLIKMKQLUMWOYRZUZXY[W RUFRHQIPKPLQNTPURUT RQKQLUPUQ RQIQJRLUNVPVRUTSURUPTOR RUFVGXHZH RUGVHWH RTGVIXIZH[G RUNYK RYKZL\\L RXLYMZM RWMXNZN\\L\0"\ + "F^MNKMJKJIKGNFQFTGXI RKHMGRGUH RJKKIMHRHXIZI[H[GZFYF RSHRIQKQMROVSWVWYV\\U]S^ RTPWSXVXYW[ RQMSOVQXSYVYYX[V]S^O^L]K\\JZJWLTLRKQ RL\\K[KWLU RO^M]L[LWMTMRLQJQIRIS RUPYL RYLZM\\M RXMYNZN RWNXOZO\\M\0"\ + "E_UJTHSGQFNFKGIJHNHRIUJWLYNZQ[T[WZYY[W\\T\\Q[NYL RKHJJIMIRJUKW RZW[U[QZNYM RNFLGKIJMJRKVLXNZ RWZYXZUZQYOWM RUFRHPJOLOMPOSQTSTU RPLPMTQTR RPJPKQMTOUQUSTURVQVOUNS RTOYLZJ R\\FZJ RYG]I R\\F[GYGZHZJ[I]I\\H\\F\0"\ + "F_RFPGNIMKMMNOPQQSQU RNLNMQQQR RNINKOMQORQRSQUPVNWLWJVIUHSHQIPJQIR RRFTHVHXG RQGSH RPGQHSIUIXG RRPYK RYK[N\\Q\\T[WYYVZR[ RXLZN[Q[UZW RVMWMYOZRZVYXXYVZ RVZTZRYPYNZM\\N^P_R_T^ RSZQZ RR[PZNZ\0"\ + "F_PPNPLOKNJLJJKHLGOFQFTGWJYK RLHNGRGTHUI RJJKIMHQHTIVJYK[K\\J\\H[GYG RJXKYJZIYIWJVLVNWPYR\\T^ RNXOYQ\\R] RLVMWNYP\\Q]S^V^X]Y\\ZZZWYUWRVPVO RYXYWVRVQ RX]Y[YYXWVTURUPWNYNZOZP\0"\ + "F_PPNPLOKNJLJJKHLGOFQFTGWJYK RLHNGRGTHUI RJJKIMHQHTIVJYK[K\\J\\H[GYG RJXKYJZIYIWJVLVNWPYR\\T^ RNXOYQ\\R] RLVMWNYP\\Q]S^V^X]Y\\ZZZWYUWRVPVO RYXYWVRVQ RX]Y[YYXWVTURUPWNYNZOZP\0"\ + "E_[KZIXGUFRFOGMILKLNMQPWPYN[ RMNMOPUPV RNHMJMMNOPSQVQXPZN[L[JZ RHVJZ RGYKW RHVHXGYIYJZJXKWIWHV RNONMOKQJTJVKXMYM RUKWM RRJTKULVN RYMPQ RUOYXZY[Y RTPXXZZ RSPWYY[\\X\0"\ + "G^ZSYTVTUSUQVOXLYJYH RVQVPYLYK RWTVSVRWPYNZLZJYHXGUFPFMGLHKJKLLNNQOSOTNV RLKLLOQOR RLHLJMLOOPQPSOUMWJY RMWOWRYUZXZZY RNXOXSZTZ RJYLXMXQZT[V[YZZY[W\0"\ + "BbEQERFSHSJRJOIMGJGHIF RIOGK RHSIRIPGMFKFIGGIFKFMGOIPLPROUNWLYI[HZGZ RNIOLORNUMW RJZIYHY RKFMHNKNRMVLXKYJXIXF[ RNGPFRFTGVIWLWRVUUWSYQ[PZOZ RUIVLVRUV RRZQYPY RRFTHUKUSTWSYRXQXN[ RUHVGXFZF\\G]H^J_K R\\H]J RZF[G\\J]K_K R_K\\M[NZQZT[X][`X R\\N[P[T\\W^Z R_K]M\\O\\S]W_Y\0"\ + "D`GQGRHSJSLRLOKMIJIHKF RKOIK RJSKRKPIMHKHIIGKFNFPGRISLSRRUQWOYL[KZIZG[ RQIRKRRQUPWOX RMZKYIY RNFPHQKQRPVNYLXJXG[ RRHSGUFWFYGZH[J\\K RYHZJ RWFXGYJZK\\K R\\KYMXNWQWTXXZ[]X RYNXPXTYW[Z R\\KZMYOYSZW\\Y\0"\ + "D`PFNGLIKKKMMQMS RLLLMMOMP RLILKNONQMSLTJTISIR RPFQGWIZK[M\\P\\S[VZXXZU[R[OZIWHWGX RPGQHWJYKZL RPFPHQIWKYL[N\\P RSZQZKWJW RYYWZTZQYMWJVHVGXGZH[IZHY\0"\ + "E`HQHRISKSMRMOLMJJJHLF RLOJK RKSLRLPJMIKIIJGLFOFQGRHSJSU RSWS\\R^P_M_L^L\\M[N\\M] RQHRJR\\Q^ ROFPGQJQU RQWQ\\P^O_ RSJXF RXFZI[K\\O\\R[UYXV[ RWGZK[N[O RVHXJZM[P[SZVYX RWYUVSU RQUOVMX RWZUWSVPV RV[TXSW RQWOWMX\0"\ + "D`PFNGLIKKKMMQMS RLLLMMOMP RLILKNONQMSLTJTISIR RPFQGWIZK[M\\P\\S[VZX RXZU[R[OZIWHWGX RPGQHWJYKZL RPFPHQIWKYL[N\\P RSZQZKWJW RXZTZQYMWJVHVGXGZH[IZHY RTXVVXV\\Z]Z RWWXW[Z RUWVWZ[\\[^Y\0"\ + "D`GQGRHSJSLRLOKMIJIHKF RKOIK RJSKRKPIMHKHIIGKFNFPGQHRJRVQXOZM[K[IZ RPHQJQVPX RNFOGPJPVOYM[ RGVIZ RFYJW RGVGXFYHYIZIXJWHWGV RRISGUFWFYGZH[J\\K RYHZJ RWFXGYJZK\\K R\\KRP RTOXYZ[]X RUOYX[Z RVNZX[Y\\Y\0"\ + "E`\\H[G\\F]G]I\\KZKVISHOHKIIK RYJVHSGOGLH R]I\\JZJVGSFOFLGJIIKHNHRIUJWLYNZQ[U[XZZY\\W]T]Q\\OZNWNUOSRQSOS RLXNYQZUZYY RIUKWMXPYUYYX[W\\V]T RXOWOSSRS R]Q[OYOWPUSSTQTOSNQNOOMQL\0"\ + "F_LNJMIKIIJGMFRFUGYJ[J\\I RJHLGRGUHXJ RIKJILHRHUIYK[K\\I\\G[FZG[H RUIRLQNQPSTSV RRORPSRSS RRLRNTRTTSVRWPWOVOT RJYKZJ[IZIXJVLVOWSYVZYZ[Y RLWMWSZUZ RIXJWKWMXQZT[W[ZZ\\X\0"\ + "G]JHKHLILWJX RKGMHMXPZ RIILFNHNWPYRY RJXKXMYO[RYVV RTHUHVIVYX[[X RUGWHWYYZ RSIVFYHXIXXYYZY\0"\ + "D`GQGRHSJSLRLOKMIJIHKF RKOIK RJSKRKPIMHKHIIGKFNFPGQHRJRRQUOW RPHQJQT RNFOGPJPUOW RRISGUFWFYG[J\\K RYHZJ RWFXGYJZK\\K RZKXKWLWNXP[R\\T RXO[Q RWMXN[P\\R\\V[XYZW[S[PZJWIWHX RTZRZLWKW RZYXZUZRYNWKVIVHXHZI[JZIY\0"\ + "BcEQERFSHSJRJOIMGJGHIF RIOGK RHSIRIPGMFKFIGGIFLFNGOHPJPNOQMTKV RNHOJOONR RLFMGNJNOMSKV RNGPFSFUG RWFTGSISMTPVSWUWWVY RTMTNWSWT RWFUGTITLUNWQXTXVWXUZS[O[MZKXIWGWFX RNZKWJW RQ[OZLWJVGVFXFZG[HZGY RWFZF\\G^J_K R\\H]J RZF[G\\J]K_K R]K[KZLZN[P^R_T R[O^Q RZM[N^P_R_W^Y]Z[[X[UZ RYZXZVY R^Y\\ZZZXYWX\0"\ + "F^KHMHOIPJQMQO RQQQUPXM[KZI[ RNZLYKY ROYNYLXI[ RMGPHQIRLRUSWUYWZ RIINFPGRISLSO RSQSTTWUXWYYY RQURXTZV[[X RSLTIWFYG[F RVGXHYH RUHVHXI[F RKSMOQO RSOWOYM RMPWP RKSMQQQ RSQWQYM\0"\ + "E_HQHRISKSMRMOLMJJJHLF RLOJK RKSLRLPJMIKIIJGLFOFQGRHSJSORRQTQUSWTW RQHRJRPQSPUSX ROFPGQJQPPTOVRYUV RSJ[F RYGYZX] RZGZXY[ R[F[VZZY\\W^T_P_M^K\\JZKYLZK[\0"\ + "F^NIOGQFTFVGWHXJXMWOVPTQ RQQOPNN RVHWIWNVO RTFUGVIVNUPTQ RMUNSORQQTQWRYTZVZZY\\W^T_P_N^KZJY RXTYVYZX\\ RTQWSXUX[W]V^T_ RO^N]LZKY RR_P^O]MZLYIYHZH\\I]J]\0"\ + "KYOBOb RPBPb ROBVB RObVb\0"\ + "KYKFY^\0"\ + "KYTBTb RUBUb RNBUB RNbUb\0"\ + "G]JTROZT RJTRPZT\0"\ + "F^Fb^b\0"\ + "LXPFUL RPFOGUL\0"\ + "J[TMQNOONPMSMVNYO[UX RNVOYPZ RQNOPNSNUOXQZ RRNSOUPUYW[ZX RSNVPVXXZ RTMUNWOXO RWPXO RWPWXXYYY\0"\ + "J[LHMINK RTFQGOINKNXMY RPIOKOXRZ RTFRGQHPKPXRYSZ RMYNYPZQ[TZ RPPVMWOXRXUWXVYTZ RUNVOWQ RTNVPWSWUVXTZ\0"\ + "KXRNTPVOTMRNOPNRNWOYQ[UY RSNUO RPPOROWPYQZ RQOPQPVQXSZ\0"\ + "J[QFNINKOLSNVPWRWUVXTZ ROJOKSMVOWP ROHOIPJUMWOXRXUWXTZQ[ RRNNPNXMY ROPOXRZ RPOPXRYSZ RMYNYPZQ[\0"\ + "KXPUVQSMOPNRNWOYQ[UY RUQRN RPPOROWPYQZ RTRROQOPQPVQXSZ\0"\ + "LYXFWGUGSFQFPHPMOONP RVHTHRGQG RXFWHVITIRHQHPI RPKQMRNTOVOVP RNPPP RRPVP RPPPTQ` RSOPOQNQ[ RRPRTQ`\0"\ + "J[TMQNOONPMSMVNYO[UX RNWOYPZ RQNOPNSNUOXQZ RRNSOUPUXV[V]U_ RSNVPVZ RTMUNWOXO RWPXO RWPW\\V^U_S`P`N_M^M]N]N^\0"\ + "J[LHMINK RTFQGOINKNXMY RPIOKOYPZ RTFRGQHPKPXQYRY RMYOZP[SX RPPVMWOXSXWWZV\\T^Q` RUNVOWR RTNVQWTWWV[T^\0"\ + "MWRFQGQHRISHSGRF RQGSH RQHSG ROOPOQPQYS[VX RPNRORXTZ RNPQMRNTO RSPTO RSPSXTYUY\0"\ + "MWRFQGQHRISHSGRF RQGSH RQHSG ROOPOQPQ[P^O_M` RPNROR[Q] RNPQMRNTO RSPTO RSPS[R]P_M` RS[T]U^\0"\ + "KYNHOIPK RUFSGQIPKPMOONP RPPPXOY RRIQKQM RQOPOQMQXSZ RUFSHRKRO RRPRXSYTY ROYQZR[UX RRLVIWJWLUNSO RUJVKVLUN RROWOWP RNPPP RRPWP\0"\ + "MWOHPIQK RWFTGRIQKQXPY RSIRKRYTZ RWFUGTHSKSXTYUY RPYRZS[VX\0"\ + "E_GOHOIPIXHYJ[ RHNJPJXIYJZKYJX RFPIMKOKXLYJ[ RNNPOQQQXPYR[ RPNQORQRXQYRZSYRX RKPNNPMRNSPSXTYR[ RVNWOYPYY[[^X RWNZPZX\\Z RSPVNXMYN[O\\O R[P\\O R[P[X\\Y]Y\0"\ + "I[KOLOMPMXLYN[ RLNNPNXMYNZOYNX RJPMMOOOXPYN[ RRNSOUPUYW[ZX RSNVPVXXZ ROPRNTMUNWOXO RWPXO RWPWXXYYY\0"\ + "J[NPNXMY ROPOXRZ RQOPPPXRYSZ RMYNYPZQ[TZ RNPQOVMWOXRXUWXVYTZ RUNVOWQ RTNVPWSWUVXTZ\0"\ + "J[OJMLMNNQNXLZ RNYO` RNMNNOQO[ RNKNLONPQPXQXSYTZ RPYO` RSZQY RTZR[PY RNYLZ RPPVMWOXRXUWXVYTZ RUNVOWQ RTNVPWSWUVXTZ\0"\ + "J[TMQNOONPMSMVNYO[UX RNWOYPZ RQNOPNSNUOXQZ RRNSOUPUXV` RSNVPV[ RTMUNWOXO RWPXO RWPWXV`\0"\ + "KYNOOOPPPXOY RONQPQYSZ RMPPMRORXSYTY ROYQZR[UX RTNUPWOVMRO RUNVO\0"\ + "LWXFWGUGSFQFPHPMOONP RVHTHRGQG RXFWHVITIRHQHPI RPKRP RPPPTQ` RQOPOQNQ[ RRPRTQ` RNPPP\0"\ + "LXSIRLQNPONP RSISOVOVP RNPQP RSPVP RQPQXPY RROQORMRXTZ RSPSXTYUY RPYRZS[VX\0"\ + "I[KOLOMPMXLY RLNNPNXPZ RJPMMOOOXQYRZ RLYMYOZP[RZUX RVMTOUPUYW[ZX RVPWOVNUOVPVXXZ RVMXOWPWXXYYY\0"\ + "J[OKMMMONRNXMY RNNNOOROXRZ RNLNMOOPRPXRYSZ RMYNYPZQ[TZ RPPVMWOXRXUWXVYTZ RUNVOWQ RTNVPWSWUVXTZ\0"\ + "F_KKIMIOJRJXIYK[ RJNJOKRKXJYKZLYKX RJLJMKOLRLXMYK[ RONQORQRXQY RQNROSQSXVZ RLPONQMSNTPTXVYWZ RQYRYTZU[XZ RTPZM[O\\R\\T[XZYXZ RYNZO[Q RXNZP[S[UZXXZ\0"\ + "KZOOPOQPQXPXNYM[M]N_P`S`V_V^U^U_ RPNRPRXUZ RNPQMSOSXUYVZ RXYT[SZQYOYM[ RUNVPXOWMSO RVNWO\0"\ + "J[OKMMMONRNXMY RNNNOOROYQZ RNLNMOOPRPXQYRY RMYOZP[SX RPPVMWOXSXWWZV\\T^Q` RUNVOWR RTNVQWTWWV[T^\0"\ + "KYNPSMUNVPVRUTQV RSNUO RRNTOUQURTTSU RSUUWVYV]U_S`Q`O_N]N[OYQXWV RRVTWUY RQVTXUZU]T_S`\0"\ + "KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSUSWRYQZP\\P^Q`RaTb\0"\ + "NVRBRb\0"\ + "KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQUQWRYSZT\\T^S`RaPb\0"\ + "F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O\0"\ + "JZJFJ[K[KFLFL[M[MFNFN[O[OFPFP[Q[QFRFR[S[SFTFT[U[UFVFV[W[WFXFX[Y[YFZFZ[\0"\ +; +/* End of file gen_c_src/gothicger.h */ diff --git a/hf2gcode/hershey_fonts/gen_c_src/gothicita.h b/hf2gcode/hershey_fonts/gen_c_src/gothicita.h new file mode 100644 index 0000000..3cfb8bb --- /dev/null +++ b/hf2gcode/hershey_fonts/gen_c_src/gothicita.h @@ -0,0 +1,105 @@ +/* This file was generated with gen_C_code.m from fixed/gothicita.jhf */ + +/* number of glyphs in font */ +unsigned char gothicita_cnt = 96; + +/* Format: margin left, margin right, X, Y ... \0 +< R> is pen-up, see original hershey font */ +const char gothicita [] PROGMEM="JZ\0"\ + "LXRFQGOHQIRT RRISHRGQHRIRT RRFSGUHSIRT RRXPZR[TZRX RRYQZSZRY\0"\ + "I[NFMGMM RNGMM RNFOGMM RWFVGVM RWGVM RWFXGVM\0"\ + "H]SBLb RYBRb RLOZO RKUYU\0"\ + "H\\PBP_ RTBT_ RTFVGWIWKYJXHWGTFPFMGKIKLLNOPURWSXUXXWZ RXJWH RLLMNOOUQWRXT RMYLW RMGLILKMMONUPXRYTYWXYWZT[P[MZLYKWMVMXNZP[\0"\ + "F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT\0"\ + "E_YNZO[O\\N RXOYP[P RXPYQZQ[P\\N RYNST RRUL[HVNP ROOSKOFJLPRTXVZX[Z[[Z\\X RLZIV RRKOG RKLPQTWVYXZ[Z RMZIU RRLNG RKKQQUWVXXY[Y\\X\0"\ + "NWSFRGRM RSGRM RSFTGRM\0"\ + "KYUBSDQGOKNPNTOYQ]S`Ub RQHPKOOOUPYQ\\ RSDRFQIPOPUQ[R^S`\0"\ + "KYOBQDSGUKVPVTUYS]Q`Ob RSHTKUOUUTYS\\ RQDRFSITOTUS[R^Q`\0"\ + "JZRFQGSQRR RRFRR RRFSGQQRR RMINIVOWO RMIWO RMIMJWNWO RWIVINOMO RWIMO RWIWJMNMO\0"\ + "F_RIRZSZ RRISISZ RJQ[Q[R RJQJR[R\0"\ + "LXR^R\\PZRXSZS\\R^P_ RRYQZR[RY\0"\ + "E_IR[R\0"\ + "LXRXPZR[TZRX RRYQZSZRY\0"\ + "G^[BIbJb R[B\\BJb\0"\ + "H\\LHLXJY RMIMXPZ RNHNXPYQZ RLHNHSGUF RSGTHVIVY RTGWIWX RUFVGXHZHXIXY RJYLYNZO[QZVYXY\0"\ + "H\\OHPIQKQXOY RQIPHQGRIRYTZ ROHRFSHSXUYVY ROYPYRZS[TZVY\0"\ + "H\\LHNHPGQFSGVHXH RPHRG RLHNIPIRHSG RVHVP RWIWO RXHXPQPNQLSKVK[ RK[OYSXVXZY RNZQYVYYZ RK[PZUZX[ZY\0"\ + "H\\LHMHOGPFRGVHXH ROHQG RLHNIPIRG RVHVO RWIWN RXHXOVOSPQQ RQPSQVRXRXY RWSWX RVRVY RKYMXOXQYRZ ROYQZ RKYMYOZP[RZVYXY\0"\ + "H\\UFKPKUTU RVUZU[V[TZU RLPLT RMNMU RTGTXRY RUJVHUGUYWZ RUFWHVJVXXYYY RRYSYUZV[WZYY\0"\ + "H\\LFLO RLFXF RMGVG RLHUHWGXF RVLUMSNOOLO RSNTNVOVY RUMWNWX RVLWMYNZNXOXY RKYMXOXQYRZ ROYQZ RKYMYOZP[RZVYXY\0"\ + "H\\LHLXJY RMIMXPZ RNHNXPYQZ RLHNHRGTFUGWHXH RSGUH RRGTIVIXH RNPOPSOUNVM RSOTOVPVY RUNWPWX RVMWNYOZOXPXY RJYLYNZO[QZVYXY\0"\ + "H\\KHMFPGUGZF RLGOHTHWG RKHOIRIVHZF RZFYHWKSOQRPUPXQ[ RRQQTQWRZ RUMSPRSRVSYQ[\0"\ + "H\\LILO RMJMN RNINO RLINISHUGVF RSHTHVIVO RUGWHWN RVFWGYHZHXIXO RLONOVRXR RXOVONRLR RLRLXJY RMSMXPZ RNRNXPYQZ RVRVY RWSWX RXRXY RJYLYNZO[QZVYXY\0"\ + "H\\LHLQJR RMIMROS RNHNQPRQR RLHNHSGUF RSGTHVIVY RTGWIWX RUFVGXHZHXIXY RJRKRMSNTOSQRUQVQ RKYMXOXQYRZ ROYQZ RKYMYOZP[RZVYXY\0"\ + "LXRMPORPTORM RRNQOSORN RRXPZR[TZRX RRYQZSZRY\0"\ + "LXRMPORPTORM RRNQOSORN RR^R\\PZRXSZS\\R^P_ RRYQZR[RY\0"\ + "F^ZIJRZ[\0"\ + "F_JM[M[N RJMJN[N RJU[U[V RJUJV[V\0"\ + "F^JIZRJ[\0"\ + "I[LJMHNGQFSFVGWHXJXLWNUPSQ RMJNH RVHWIWMVN RLJNKNIOGQF RSFUGVIVMUOSQ RRQRTSQQQRT RRXPZR[TZRX RRYQZSZRY\0"\ + "E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\\T]Q]O\\L[JYHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV\0"\ + "E_NHLIJKIMHPHSIUKV RJLIOISJU RNHLJKLJOJRKVKXJZH[ RVHXHXYVY RYHYY RZGZZ RHFKGQHVHZG\\F RJPXP RH[KZQYVYZZ\\[\0"\ + "E_LGLZ RMGMZ RPFNGNZP[ RHJJHLGPFUFXGZIZKYM RXHYIYKXM RUFWGXIXKWL RQUOTNRNPONPMSLVLYM[O\\Q\\T[WYYWZT[P[LZJYHW RZO[Q[UZW RVLYNZQZUYXWZ\0"\ + "E_\\F[HZJXHVGSFQFNGLHJJILHOHRIUJWLYNZQ[S[VZXYZW[Y\\[ R[HZMZT[Y RZKYJ RZNYKXIVG RJKINISJV RNGLIKKJNJSKVLXNZ RYWZV RVZXXYVZS\0"\ + "E_KGKZ RLGLZ RNFMGMZN[ RHKIIKGNFSFVGXHZJ[L\\O\\R[UZWXYVZS[N[KZIXHV RZK[N[SZV RVGXIYKZNZSYVXXVZ\0"\ + "E_\\F[HZJXHVGSFQFNGLHJJILHOHRIUJWLYNZQ[S[VZXYZW[Y\\[ R[HZMZT[Y RZKYJ RZMXIVG RJKINISJV RNGLIKKJNJSKVLXNZ RYWZV RVZXXYVZS RJPKONOUQXQZP RPPRQURWRYQ RMORRUSWSYRZP RZMYLXLWMXNYM\0"\ + "E_JHJZ RMGKHKY ROFMGLILYNY RHJJHLGOFSFVGXHYI\\F R\\F[HZLZO[S\\U RZIYK RVGXIYLZO RLPMOOOTPWPYO RQPTQVQXP RNOTRVRXQYOYLXKWKVLWMXL RH[JZNYSYYZ\\[\0"\ + "E_\\F[HZJXHVGSFQFNGLHJJILHOHRIUJWLYNZQ[T[VZXYYXZV[Y\\[ R[HZMZT[Y RZKYJ RZNYKXIVG RJKINISJV RNGLIKKJNJSKVLXNZ RXXYVYR RVZWYXVXQ RKSLRMSLTKTJS RJPKNMMOMRNUPWQ RKOMNONROTP RJPLOOOUQYQZP\0"\ + "E_JGJZH[ RKHKZ RNHLHLZ RHFJGNHSHYG\\F RLPMNOLRKVKYL[N\\Q\\T[UYV RZN[P[SZU RVKXLYMZOZSYVYXZZ\\[ RH[LZPZU[\0"\ + "E_QIQY RRJRX RSISY RHFLHPITIXH\\F RH[KZOYUYYZ\\[\0"\ + "E_TIVIVXUZS[ RWIWXVY RXHXY RHFLHPITIXH\\F RIOHQHUIXKZN[S[VZXYZW\\T RIUJXKY RHSJUKXLZN[\0"\ + "E_JGJZH[ RKHKZ RNHLHLZ RHFJGNHSHYG\\F RLPMNOLRKUKXLYMYOXPSRQSPTPUQVRUQT RWLXMXOWP RUKWMWOVPSR RSRVRYSZUZWYX RWSYUYW RSRVSXUYXZZ[[\\[ RH[LZPZU[\0"\ + "E_JGJZ RKHKY RNHLHLYNY R\\KZNYPXSXUYW[X RZOYRYUZW R\\K[MZQZT[X\\[ RHFJGNHSHYG\\F RH[JZNYSYYZ\\[\0"\ + "E_QIQY RRJRX RSISY RNYLWJVIUHRHMIJKHMGPFTFWGYH[J\\M\\R[UZVXWVY RJUIRIMJJ RLWKUJRJLKIMG RZJ[M[RZU RWGYIZLZRYUXW RHFLHPITIXH\\F RH[KZOYUYYZ\\[\0"\ + "E_JHJZH[ RLHKIKZ ROFMGLILZ RHJJHLGOFSFVGXHZJ[L\\O\\S[UYV RZK[N[RZU RVGXIYKZNZRYVYXZZ[[\\[ RH[LZPZU[\0"\ + "E_QFNGLHJJILHOHRIUJWLYNZQ[S[VZXYZW[U\\R\\O[LZJXHVGSFQF RJKINISJV RNGLIKKJNJSKVLXNZ RZV[S[NZK RVZXXYVZSZNYKXIVG\0"\ + "E_JIJZ RMHKJKY RQFOGMILKLYNY RHKJINGQFTFWGYH[J\\M\\O[RYTVURUOTMRLO RZJ[L[PZR RWGYIZLZPYSVU RH[JZNYSYYZ\\[\0"\ + "E_QFNGLHJJILHOHRIUJWLYNZQ[S[VZXYZW[U\\R\\O[LZJXHVGSFQF RJKINISJV RNGLIKKJNJSKVLXNZ RZV[S[NZK RVZXXYVZSZNYKXIVG RJSKUNVTW[W\\X\\Z[[[Z\\Y RPWRW RKUNWQXSXTW\0"\ + "E_JIJZH[ RKIKZ RLHLZ RHKJILHNGQFUFYG[I\\K\\N[PZQ RYHZI[K[NZP RUFWGYIZKZOYQ RXRUSRSPRPPROUOXPZR\\U\\W[XZX RXQYR[V[WZT RTOVPXRYTZX[Z\\[ RH[LZPZU[\0"\ + "E_TFZG\\F[H[JYHWGTFPFMGJJIMIOJRLTOURUTTUSVQVP R[GZH[J RJPKRLSOTRTTS RKIJKJNKPMRPSRSTRVPWOXO RLQMQNPPNRMUMWNYPZRZUYXWZ RPMRLULXMZO[R[UZW RIWJYIZ RNPNOOMPLRKUKXL[O\\R\\T[WYYWZT[P[MZKYIWIYH[JZP[\0"\ + "E_QHMHKIJJILHOHSIVJXKYMZP[S[VZXYZW[U\\R\\N[KYIWH RUHTITKULVKUJ RISJVLXNYQZTZWY RJJINIQJTLWNXQYTYWXYW[T\\R RHFKI RKHLG RIGJGKFMGQHWHZG\\F\0"\ + "E_LHJJILHOHRIUJWLYNZQ[U[XZZY RKJJLIOISJV RKILJLKKMJPJSKVLXNZ RVHXHXXWZU[ RYHYXXY RZGZY\\[ RHFKGQHVHZG\\F\0"\ + "E_HFR[ RIGJHQWRY RJGKHRWSX R\\FR[ RWNUS RYLUQTTTV RHFJGOHUHZG\\F\0"\ + "E_LHJJILHOHRIUJWLYNZQ[S[VZXYZW[U\\R\\O[LZJXH RJLIOIRJUKW RJJKKKLJOJRKVLXNZ RYWZU[R[OZL RVZXXYVZRZOYLYKZJ RQIQ[ RRJRZ RSIS[ RHFLHPITIXH\\F\0"\ + "E_HFXYYZ RIGKHZZ RLH\\[ R\\FSP RQRJZ RPSMULW RQRMTLUKWKY RHFLHPITIXH\\F RH[JZNYSYYZ\\[\0"\ + "E_XHXZ RYHYY RZGZY RKHIJHMHPISKUMVPWSWVVXU RLUOVUV RHPIRKTNUTUVV RHFLHPITIXH\\F RHWJYLZP[T[XZ\\X\0"\ + "E_HFIGKHNHSFVFYGZIZKYM RXGYIYKXM RVFWGXIXL RXNTOROPNPLRKTKXL RTKVLWMVNTO RYM[O\\R\\T[WYYWZT[P[MZKYIWHTHRIOJNLMNMPNPPOQNPOO RXMZO[Q[UZW RXNYOZQZUYXWZ\0"\ + "KYOBOb RPBPb ROBVB RObVb\0"\ + "KYKFY^\0"\ + "KYTBTb RUBUb RNBUB RNbUb\0"\ + "G]JTROZT RJTRPZT\0"\ + "E_Eb_b\0"\ + "LXPFUL RPFOGUL\0"\ + "J[PQMTMXP[TY RNTNXPZ ROROWRZ RRSMNNMONNO RONSNUMWOWXXY RUNVOVXUYVZWYVX RSNUPUXTYV[XY\0"\ + "IZNHLFMJMXP[UYWX RNHNXPZ RNHPFOJOWRZ ROOTMWPWX RTNVPVX RRNUQUY\0"\ + "KWNPNYP[RY ROPOYPZ RPOPXQYRY RNPTMVOTPRN RSNUO\0"\ + "JZRMMPMXP[RZUYWY RNPNXPZ ROOOWRZ RPIPFQIWPWY RPIVPVX RPIMIPJUPUY\0"\ + "KXNPNYP[RY ROPOYPZ RPOPXQYRY RNPTMWQPU RSNVQ RRNUR\0"\ + "KWOIOXNYP[ RPIPXOYPZQYPX RQHQXRYP[ ROIUFWHUISG RTGVH RLMOM RQMUM\0"\ + "J[MPMXP[UY RNPNXPZ ROOOWRZ RMPOOTMWPW]V_U`SaQaO`MaObQa RTNVPV]U_ RPaNa RRNUQU^T`Sa\0"\ + "I[NHLFMJMXLYN[ RNHNXMYNZOYNX RNHPFOJOXPYN[ ROORNTMWPWYT]T`UbVbT` RTNVPVYU[ RRNUQUZT]\0"\ + "MWRFPHRJTHRF RRGQHRISHRG RRMPOQPQXPYR[ RRPSORNQORPRXQYRZSYRX RRMTOSPSXTYR[\0"\ + "MWRFPHRJTHRF RRGQHRISHRG RRMPOQPQYT] RRPSORNQORPRYS[ RRMTOSPSZT]T`RbPaPbRb\0"\ + "IZNHLFMJMXLYN[ RNHNXMYNZOYNX RNHPFOJOXPYN[ ROPRNTMVPSROU RSNUP RRNTQ RRSSTTYV[XY RSSTUUYVZ RSRTSVXWYXY\0"\ + "MWRHPFQJQXPYR[ RRHRXQYRZSYRX RRHTFSJSXTYR[\0"\ + "E_GOHOIPIXHYJ[ RINJOJXIYJZKYJX RGOIMKOKXLYJ[ RKONNPMSOSXTYR[ RPNRORXQYRZSYRX RNNQPQXPYR[ RSOVNXM[O[X\\YZ[ RXNZOZXYYZZ[YZX RVNYPYXXYZ[\0"\ + "I[KOLOMPMXLYN[ RMNNONXMYNZOYNX RKOMMOOOXPYN[ ROORNTMWOWXXYV[ RTNVOVXUYVZWYVX RRNUPUXTYV[\0"\ + "JZMPMXP[UYWX RNPNXPZ ROOOWRZ RMPOOTMWPWX RTNVPVX RRNUQUY\0"\ + "IZLMMOMXKYMYM_LbN` RNON` RLMNNOOOXQYRZ RNYOYQZ ROZP[UYWX ROZO_PbN` ROORNTMWPWX RTNVPVX RRNUQUY\0"\ + "J[MPMXP[UY RNPNXPZ ROOOWRZ RMPOOTMWPW_XbV` RTNVPV` RRNUQU_TbV`\0"\ + "KXMONOOPOXNYP[ RONPOPXOYPZQYPX RMOOMQOQXRYP[ RQOUMWOUPSN RTNVO\0"\ + "JZMPMSOUURWTWX RNPNSOT ROOOSPT RUSVTVX RTSUTUY RMPSMVNTOQN RRNUN RWXQ[MYOXSZ ROYQZ\0"\ + "MWRHPFQJQXPYR[ RRHRXQYRZSYRX RRHTFSJSXTYR[ RNMQM RSMVM\0"\ + "I[KOLOMPMYP[UY RMNNONYPZ RKOMMOOOXRZ RVMXOWPWXXYYY RVPWOVNUOVPVYWZ RVMTOUPUYW[YY\0"\ + "I[LMMOMXQ[SYWW RMNNONXQZ RLMNNOOOWRYSY RVMXOWPWW RVPWOVNUOVPVW RVMTOUPUX\0"\ + "E_HMIOIXM[OYQX RINJOJXMZ RHMJNKOKWNYOY RRMPOQPQXU[WY[W RRPSORNQORPRXUZ RRMTOSPSWVYWY RZM\\O[P[W RZP[OZNYOZPZW RZMXOYPYX\0"\ + "I[LONPUZV[XY RMNOOUYWZ RLONMONVXXY RXMVMVOXOXMVOSS RQUNYL[N[NYLYL[ RNTQT RSTVT\0"\ + "I[KOLOMPMYP[UY RMNNONYPZ RKOMMOOOXRZ RVMXOWPW]V_U`SaQaO`MaObQa RVPWOVNUOVPV^U_ RPaNa RVMTOUPU^T`Sa\0"\ + "L[RNOPOORNTMWOWSRU RTNVOVS RRNUPUSTT RRUWWW]V_U`SaQaO`MaObQa RVWV^U_ RPaNa RTVUWU^T`Sa\0"\ + "KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSUSWRYQZP\\P^Q`RaTb\0"\ + "NVRBRb\0"\ + "KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQUQWRYSZT\\T^S`RaPb\0"\ + "F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O\0"\ + "JZJFJ[K[KFLFL[M[MFNFN[O[OFPFP[Q[QFRFR[S[SFTFT[U[UFVFV[W[WFXFX[Y[YFZFZ[\0"\ +; +/* End of file gen_c_src/gothicita.h */ diff --git a/hf2gcode/hershey_fonts/gen_c_src/gothitt.h b/hf2gcode/hershey_fonts/gen_c_src/gothitt.h new file mode 100644 index 0000000..69f0dbe --- /dev/null +++ b/hf2gcode/hershey_fonts/gen_c_src/gothitt.h @@ -0,0 +1,105 @@ +/* This file was generated with gen_C_code.m from fixed/gothitt.jhf */ + +/* number of glyphs in font */ +unsigned char gothitt_cnt = 96; + +/* Format: margin left, margin right, X, Y ... \0 +< R> is pen-up, see original hershey font */ +const char gothitt [] PROGMEM="JZ\0"\ + "LXRFQGOHQIRT RRISHRGQHRIRT RRFSGUHSIRT RRXPZR[TZRX RRYQZSZRY\0"\ + "I[NFMGMM RNGMM RNFOGMM RWFVGVM RWGVM RWFXGVM\0"\ + "H]SFLb RYFRb RLQZQ RKWYW\0"\ + "H\\PBP_ RTBT_ RTFVGWIWKYJXHWGTFPFMGKIKLLNOPURWSXUXXWZ RXJWH RLLMNOOUQWRXT RMYLW RMGLILKMMONUPXRYTYWXYWZT[P[MZLYKWMVMXNZP[\0"\ + "F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT\0"\ + "E_YNZO[O\\N RXOYP[P RXPYQZQ[P\\N RYNST RRUL[HVNP ROOSKOFJLPRTXVZX[Z[[Z\\X RLZIV RRKOG RKLPQTWVYXZ[Z RMZIU RRLNG RKKQQUWVXXY[Y\\X\0"\ + "LXRLRJPHRFSHSJRLPM RRGQHRIRG\0"\ + "KYUBSDQGOKNPNTOYQ]S`Ub RQHPKOOOUPYQ\\ RSDRFQIPOPUQ[R^S`\0"\ + "KYOBQDSGUKVPVTUYS]Q`Ob RSHTKUOUUTYS\\ RQDRFSITOTUS[R^Q`\0"\ + "JZRFQGSQRR RRFRR RRFSGQQRR RMINIVOWO RMIWO RMIMJWNWO RWIVINOMO RWIMO RWIWJMNMO\0"\ + "F_RIRZSZ RRISISZ RJQ[Q[R RJQJR[R\0"\ + "LXR^R\\PZRXSZS\\R^P_ RRYQZR[RY\0"\ + "F_JQ[Q[R RJQJR[R\0"\ + "LXRXPZR[TZRX RRYQZSZRY\0"\ + "G^[BIbJb R[B\\BJb\0"\ + "H\\LHLXJY RMIMXPZ RNHNXPYQZ RLHNHSGUF RSGTHVIVY RTGWIWX RUFVGXHZHXIXY RJYLYNZO[QZVYXY\0"\ + "H\\OHPIQKQXOY RQIPHQGRIRYTZ ROHRFSHSXUYVY ROYPYRZS[TZVY\0"\ + "H\\LHNHPGQFSGVHXH RPHRG RLHNIPIRHSG RVHVP RWIWO RXHXPQPNQLSKVK[ RK[OYSXVXZY RNZQYVYYZ RK[PZUZX[ZY\0"\ + "H\\LHMHOGPFRGVHXH ROHQG RLHNIPIRG RVHVO RWIWN RXHXOVOSPQQ RQPSQVRXRXY RWSWX RVRVY RKYMXOXQYRZ ROYQZ RKYMYOZP[RZVYXY\0"\ + "H\\UFKPKUTU RVUZU[V[TZU RLPLT RMNMU RTGTXRY RUJVHUGUYWZ RUFWHVJVXXYYY RRYSYUZV[WZYY\0"\ + "H\\LFLO RLFXF RMGVG RLHUHWGXF RVLUMSNOOLO RSNTNVOVY RUMWNWX RVLWMYNZNXOXY RKYMXOXQYRZ ROYQZ RKYMYOZP[RZVYXY\0"\ + "H\\LHLXJY RMIMXPZ RNHNXPYQZ RLHNHRGTFUGWHXH RSGUH RRGTIVIXH RNPOPSOUNVM RSOTOVPVY RUNWPWX RVMWNYOZOXPXY RJYLYNZO[QZVYXY\0"\ + "H\\KHMFPGUGZF RLGOHTHWG RKHOIRIVHZF RZFYHWKSOQRPUPXQ[ RRQQTQWRZ RUMSPRSRVSYQ[\0"\ + "H\\LILO RMJMN RNINO RLINISHUGVF RSHTHVIVO RUGWHWN RVFWGYHZHXIXO RLONOVRXR RXOVONRLR RLRLXJY RMSMXPZ RNRNXPYQZ RVRVY RWSWX RXRXY RJYLYNZO[QZVYXY\0"\ + "H\\LHLQJR RMIMROS RNHNQPRQR RLHNHSGUF RSGTHVIVY RTGWIWX RUFVGXHZHXIXY RJRKRMSNTOSQRUQVQ RKYMXOXQYRZ ROYQZ RKYMYOZP[RZVYXY\0"\ + "LXRMPORPTORM RRNQOSORN RRXPZR[TZRX RRYQZSZRY\0"\ + "LXRMPORPTORM RRNQOSORN RR^R\\PZRXSZS\\R^P_ RRYQZR[RY\0"\ + "F^ZIJRZ[\0"\ + "F_JM[M[N RJMJN[N RJU[U[V RJUJV[V\0"\ + "F^JIZRJ[\0"\ + "I[LJMHNGQFSFVGWHXJXLWNUPSQ RMJNH RVHWIWMVN RLJNKNIOGQF RSFUGVIVMUOSQ RRQRTSQQQRT RRXPZR[TZRX RRYQZSZRY\0"\ + "E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\\T]Q]O\\L[JYHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV\0"\ + "E_NHLIJKIMHPHSIUKV RJLIOISJU RNHLJKLJOJRKVKXJZH[ RVHXHXYVY RYHYY RZGZZ RHFKGQHVHZG\\F RJPXP RH[KZQYVYZZ\\[\0"\ + "E_LGLZ RMGMZ RPFNGNZP[ RHJJHLGPFUFXGZIZKYM RXHYIYKXM RUFWGXIXKWL RQUOTNRNPONPMSLVLYM[O\\Q\\T[WYYWZT[P[LZJYHW RZO[Q[UZW RVLYNZQZUYXWZ\0"\ + "E_\\F[HZJXHVGSFQFNGLHJJILHOHRIUJWLYNZQ[S[VZXYZW[Y\\[ R[HZMZT[Y RZKYJ RZNYKXIVG RJKINISJV RNGLIKKJNJSKVLXNZ RYWZV RVZXXYVZS\0"\ + "E_KGKZ RLGLZ RNFMGMZN[ RHKIIKGNFSFVGXHZJ[L\\O\\R[UZWXYVZS[N[KZIXHV RZK[N[SZV RVGXIYKZNZSYVXXVZ\0"\ + "E_\\F[HZJXHVGSFQFNGLHJJILHOHRIUJWLYNZQ[S[VZXYZW[Y\\[ R[HZMZT[Y RZKYJ RZMXIVG RJKINISJV RNGLIKKJNJSKVLXNZ RYWZV RVZXXYVZS RJPKONOUQXQZP RPPRQURWRYQ RMORRUSWSYRZP RZMYLXLWMXNYM\0"\ + "E_JHJZ RMGKHKY ROFMGLILYNY RHJJHLGOFSFVGXHYI\\F R\\F[HZLZO[S\\U RZIYK RVGXIYLZO RLPMOOOTPWPYO RQPTQVQXP RNOTRVRXQYOYLXKWKVLWMXL RH[JZNYSYYZ\\[\0"\ + "E_\\F[HZJXHVGSFQFNGLHJJILHOHRIUJWLYNZQ[T[VZXYYXZV[Y\\[ R[HZMZT[Y RZKYJ RZNYKXIVG RJKINISJV RNGLIKKJNJSKVLXNZ RXXYVYR RVZWYXVXQ RKSLRMSLTKTJS RJPKNMMOMRNUPWQ RKOMNONROTP RJPLOOOUQYQZP\0"\ + "E_JGJZH[ RKHKZ RNHLHLZ RHFJGNHSHYG\\F RLPMNOLRKVKYL[N\\Q\\T[UYV RZN[P[SZU RVKXLYMZOZSYVYXZZ\\[ RH[LZPZU[\0"\ + "E_QIQY RRJRX RSISY RHFLHPITIXH\\F RH[KZOYUYYZ\\[\0"\ + "E_TIVIVXUZS[ RWIWXVY RXHXY RHFLHPITIXH\\F RIOHQHUIXKZN[S[VZXYZW\\T RIUJXKY RHSJUKXLZN[\0"\ + "E_JGJZH[ RKHKZ RNHLHLZ RHFJGNHSHYG\\F RLPMNOLRKUKXLYMYOXPSRQSPTPUQVRUQT RWLXMXOWP RUKWMWOVPSR RSRVRYSZUZWYX RWSYUYW RSRVSXUYXZZ[[\\[ RH[LZPZU[\0"\ + "E_JGJZ RKHKY RNHLHLYNY R\\KZNYPXSXUYW[X RZOYRYUZW R\\K[MZQZT[X\\[ RHFJGNHSHYG\\F RH[JZNYSYYZ\\[\0"\ + "E_QIQY RRJRX RSISY RNYLWJVIUHRHMIJKHMGPFTFWGYH[J\\M\\R[UZVXWVY RJUIRIMJJ RLWKUJRJLKIMG RZJ[M[RZU RWGYIZLZRYUXW RHFLHPITIXH\\F RH[KZOYUYYZ\\[\0"\ + "E_JHJZH[ RLHKIKZ ROFMGLILZ RHJJHLGOFSFVGXHZJ[L\\O\\S[UYV RZK[N[RZU RVGXIYKZNZRYVYXZZ[[\\[ RH[LZPZU[\0"\ + "E_QFNGLHJJILHOHRIUJWLYNZQ[S[VZXYZW[U\\R\\O[LZJXHVGSFQF RJKINISJV RNGLIKKJNJSKVLXNZ RZV[S[NZK RVZXXYVZSZNYKXIVG\0"\ + "E_JIJZ RMHKJKY RQFOGMILKLYNY RHKJINGQFTFWGYH[J\\M\\O[RYTVURUOTMRLO RZJ[L[PZR RWGYIZLZPYSVU RH[JZNYSYYZ\\[\0"\ + "E_QFNGLHJJILHOHRIUJWLYNZQ[S[VZXYZW[U\\R\\O[LZJXHVGSFQF RJKINISJV RNGLIKKJNJSKVLXNZ RZV[S[NZK RVZXXYVZSZNYKXIVG RJSKUNVTW[W\\X\\Z[[[Z\\Y RPWRW RKUNWQXSXTW\0"\ + "E_JIJZH[ RKIKZ RLHLZ RHKJILHNGQFUFYG[I\\K\\N[PZQ RYHZI[K[NZP RUFWGYIZKZOYQ RXRUSRSPRPPROUOXPZR\\U\\W[XZX RXQYR[V[WZT RTOVPXRYTZX[Z\\[ RH[LZPZU[\0"\ + "E_TFZG\\F[H[JYHWGTFPFMGJJIMIOJRLTOURUTTUSVQVP R[GZH[J RJPKRLSOTRTTS RKIJKJNKPMRPSRSTRVPWOXO RLQMQNPPNRMUMWNYPZRZUYXWZ RPMRLULXMZO[R[UZW RIWJYIZ RNPNOOMPLRKUKXL[O\\R\\T[WYYWZT[P[MZKYIWIYH[JZP[\0"\ + "E_QHMHKIJJILHOHSIVJXKYMZP[S[VZXYZW[U\\R\\N[KYIWH RUHTITKULVKUJ RISJVLXNYQZTZWY RJJINIQJTLWNXQYTYWXYW[T\\R RHFKI RKHLG RIGJGKFMGQHWHZG\\F\0"\ + "E_LHJJILHOHRIUJWLYNZQ[U[XZZY RKJJLIOISJV RKILJLKKMJPJSKVLXNZ RVHXHXXWZU[ RYHYXXY RZGZY\\[ RHFKGQHVHZG\\F\0"\ + "E_HFR[ RIGJHQWRY RJGKHRWSX R\\FR[ RWNUS RYLUQTTTV RHFJGOHUHZG\\F\0"\ + "E_LHJJILHOHRIUJWLYNZQ[S[VZXYZW[U\\R\\O[LZJXH RJLIOIRJUKW RJJKKKLJOJRKVLXNZ RYWZU[R[OZL RVZXXYVZRZOYLYKZJ RQIQ[ RRJRZ RSIS[ RHFLHPITIXH\\F\0"\ + "E_HFXYYZ RIGKHZZ RLH\\[ R\\FSP RQRJZ RPSMULW RQRMTLUKWKY RHFLHPITIXH\\F RH[JZNYSYYZ\\[\0"\ + "E_XHXZ RYHYY RZGZY RKHIJHMHPISKUMVPWSWVVXU RLUOVUV RHPIRKTNUTUVV RHFLHPITIXH\\F RHWJYLZP[T[XZ\\X\0"\ + "E_HFIGKHNHSFVFYGZIZKYM RXGYIYKXM RVFWGXIXL RXNTOROPNPLRKTKXL RTKVLWMVNTO RYM[O\\R\\T[WYYWZT[P[MZKYIWHTHRIOJNLMNMPNPPOQNPOO RXMZO[Q[UZW RXNYOZQZUYXWZ\0"\ + "KYOBOb RPBPb ROBVB RObVb\0"\ + "KYKFY^\0"\ + "KYTBTb RUBUb RNBUB RNbUb\0"\ + "JZPLRITL RMORJWO RRJR[\0"\ + "JZJ]Z]\0"\ + "LXTFRGQIQKRMTKRIRG RRJRLSKRJ\0"\ + "J[PQMTMXP[TY RNTNXPZ ROROWRZ RRSMNNMONNO RONSNUMWOWXXY RUNVOVXUYVZWYVX RSNUPUXTYV[XY\0"\ + "IZNHLFMJMXP[UYWX RNHNXPZ RNHPFOJOWRZ ROOTMWPWX RTNVPVX RRNUQUY\0"\ + "KWNPNYP[RY ROPOYPZ RPOPXQYRY RNPTMVOTPRN RSNUO\0"\ + "JZRMMPMXP[RZUYWY RNPNXPZ ROOOWRZ RPIPFQIWPWY RPIVPVX RPIMIPJUPUY\0"\ + "KXNPNYP[RY ROPOYPZ RPOPXQYRY RNPTMWQPU RSNVQ RRNUR\0"\ + "KWOIOXNYP[ RPIPXOYPZQYPX RQHQXRYP[ ROIUFWHUISG RTGVH RLMOM RQMUM\0"\ + "J[MPMXP[UY RNPNXPZ ROOOWRZ RMPOOTMWPW]V_U`SaQaO`MaObQa RTNVPV]U_ RPaNa RRNUQU^T`Sa\0"\ + "I[NHLFMJMXLYN[ RNHNXMYNZOYNX RNHPFOJOXPYN[ ROORNTMWPWYT]T`UbVbT` RTNVPVYU[ RRNUQUZT]\0"\ + "MWRFPHRJTHRF RRGQHRISHRG RRMPOQPQXPYR[ RRPSORNQORPRXQYRZSYRX RRMTOSPSXTYR[\0"\ + "MWRFPHRJTHRF RRGQHRISHRG RRMPOQPQYT] RRPSORNQORPRYS[ RRMTOSPSZT]T`RbPaPbRb\0"\ + "IZNHLFMJMXLYN[ RNHNXMYNZOYNX RNHPFOJOXPYN[ ROPRNTMVPSROU RSNUP RRNTQ RRSSTTYV[XY RSSTUUYVZ RSRTSVXWYXY\0"\ + "MWRHPFQJQXPYR[ RRHRXQYRZSYRX RRHTFSJSXTYR[\0"\ + "E_GOHOIPIXHYJ[ RINJOJXIYJZKYJX RGOIMKOKXLYJ[ RKONNPMSOSXTYR[ RPNRORXQYRZSYRX RNNQPQXPYR[ RSOVNXM[O[X\\YZ[ RXNZOZXYYZZ[YZX RVNYPYXXYZ[\0"\ + "I[KOLOMPMXLYN[ RMNNONXMYNZOYNX RKOMMOOOXPYN[ ROORNTMWOWXXYV[ RTNVOVXUYVZWYVX RRNUPUXTYV[\0"\ + "JZMPMXP[UYWX RNPNXPZ ROOOWRZ RMPOOTMWPWX RTNVPVX RRNUQUY\0"\ + "IZLMMOMXKYMYM_LbN` RNON` RLMNNOOOXQYRZ RNYOYQZ ROZP[UYWX ROZO_PbN` ROORNTMWPWX RTNVPVX RRNUQUY\0"\ + "J[MPMXP[UY RNPNXPZ ROOOWRZ RMPOOTMWPW_XbV` RTNVPV` RRNUQU_TbV`\0"\ + "KXMONOOPOXNYP[ RONPOPXOYPZQYPX RMOOMQOQXRYP[ RQOUMWOUPSN RTNVO\0"\ + "JZMPMSOUURWTWX RNPNSOT ROOOSPT RUSVTVX RTSUTUY RMPSMVNTOQN RRNUN RWXQ[MYOXSZ ROYQZ\0"\ + "MWRHPFQJQXPYR[ RRHRXQYRZSYRX RRHTFSJSXTYR[ RNMQM RSMVM\0"\ + "I[KOLOMPMYP[UY RMNNONYPZ RKOMMOOOXRZ RVMXOWPWXXYYY RVPWOVNUOVPVYWZ RVMTOUPUYW[YY\0"\ + "I[LMMOMXQ[SYWW RMNNONXQZ RLMNNOOOWRYSY RVMXOWPWW RVPWOVNUOVPVW RVMTOUPUX\0"\ + "E_HMIOIXM[OYQX RINJOJXMZ RHMJNKOKWNYOY RRMPOQPQXU[WY[W RRPSORNQORPRXUZ RRMTOSPSWVYWY RZM\\O[P[W RZP[OZNYOZPZW RZMXOYPYX\0"\ + "I[LONPUZV[XY RMNOOUYWZ RLONMONVXXY RXMVMVOXOXMVOSS RQUNYL[N[NYLYL[ RNTQT RSTVT\0"\ + "I[KOLOMPMYP[UY RMNNONYPZ RKOMMOOOXRZ RVMXOWPW]V_U`SaQaO`MaObQa RVPWOVNUOVPV^U_ RPaNa RVMTOUPU^T`Sa\0"\ + "L[RNOPOORNTMWOWSRU RTNVOVS RRNUPUSTT RRUWWW]V_U`SaQaO`MaObQa RVWV^U_ RPaNa RTVUWU^T`Sa\0"\ + "KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSUSWRYQZP\\P^Q`RaTb\0"\ + "NVRBRb\0"\ + "KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQUQWRYSZT\\T^S`RaPb\0"\ + "F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O\0"\ + "KYQFOGNINKOMQNSNUMVKVIUGSFQF RQFNIOMSNVKUGQF RSFOGNKQNUMVISF\0"\ +; +/* End of file gen_c_src/gothitt.h */ diff --git a/hf2gcode/hershey_fonts/gen_c_src/greek.h b/hf2gcode/hershey_fonts/gen_c_src/greek.h new file mode 100644 index 0000000..57c84ed --- /dev/null +++ b/hf2gcode/hershey_fonts/gen_c_src/greek.h @@ -0,0 +1,105 @@ +/* This file was generated with gen_C_code.m from fixed/greek.jhf */ + +/* number of glyphs in font */ +unsigned char greek_cnt = 96; + +/* Format: margin left, margin right, X, Y ... \0 +< R> is pen-up, see original hershey font */ +const char greek [] PROGMEM="JZ\0"\ + "MWRFRT RRYQZR[SZRY\0"\ + "JZNFNM RVFVM\0"\ + "H]SBLb RYBRb RLOZO RKUYU\0"\ + "H\\PBP_ RTBT_ RYIWGTFPFMGKIKKLMMNOOUQWRXSYUYXWZT[P[MZKX\0"\ + "F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT\0"\ + "E_\\O\\N[MZMYNXPVUTXRZP[L[JZIYHWHUISJRQNRMSKSIRGPFNGMIMKNNPQUXWZY[[[\\Z\\Y\0"\ + "MWRHQGRFSGSIRKQL\0"\ + "KYVBTDRGPKOPOTPYR]T`Vb\0"\ + "KYNBPDRGTKUPUTTYR]P`Nb\0"\ + "JZRLRX RMOWU RWOMU\0"\ + "E_RIR[ RIR[R\0"\ + "NVSWRXQWRVSWSYQ[\0"\ + "E_IR[R\0"\ + "NVRVQWRXSWRV\0"\ + "G][BIb\0"\ + "H\\QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF\0"\ + "H\\NJPISFS[\0"\ + "H\\LKLJMHNGPFTFVGWHXJXLWNUQK[Y[\0"\ + "H\\MFXFRNUNWOXPYSYUXXVZS[P[MZLYKW\0"\ + "H\\UFKTZT RUFU[\0"\ + "H\\WFMFLOMNPMSMVNXPYSYUXXVZS[P[MZLYKW\0"\ + "H\\XIWGTFRFOGMJLOLTMXOZR[S[VZXXYUYTXQVOSNRNOOMQLT\0"\ + "H\\YFO[ RKFYF\0"\ + "H\\PFMGLILKMMONSOVPXRYTYWXYWZT[P[MZLYKWKTLRNPQOUNWMXKXIWGTFPF\0"\ + "H\\XMWPURRSQSNRLPKMKLLINGQFRFUGWIXMXRWWUZR[P[MZLX\0"\ + "NVROQPRQSPRO RRVQWRXSWRV\0"\ + "NVROQPRQSPRO RSWRXQWRVSWSYQ[\0"\ + "F^ZIJRZ[\0"\ + "E_IO[O RIU[U\0"\ + "F^JIZRJ[\0"\ + "I[LKLJMHNGPFTFVGWHXJXLWNVORQRT RRYQZR[SZRY\0"\ + "E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\\T]Q]O\\L[JYHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV\0"\ + "I[RFJ[ RRFZ[ RMTWT\0"\ + "G\\KFK[ RKFTFWGXHYJYLXNWOTP RKPTPWQXRYTYWXYWZT[K[\0"\ + "H\\KFY[ RK[YF\0"\ + "I[RFJ[ RRFZ[ RJ[Z[\0"\ + "H[LFL[ RLFYF RLPTP RL[Y[\0"\ + "H\\RFR[ RPKMLLMKOKRLTMUPVTVWUXTYRYOXMWLTKPK\0"\ + "HYLFL[ RLFXF\0"\ + "G]KFK[ RYFY[ RKPYP\0"\ + "NVRFR[\0"\ + "PURQRRSRSQRQ\0"\ + "G\\KFK[ RYFKT RPOY[\0"\ + "I[RFJ[ RRFZ[\0"\ + "F^JFJ[ RJFR[ RZFR[ RZFZ[\0"\ + "G]KFK[ RKFY[ RYFY[\0"\ + "G]PFNGLIKKJNJSKVLXNZP[T[VZXXYVZSZNYKXIVGTFPF\0"\ + "G]KFK[ RYFY[ RKFYF\0"\ + "G]PFNGLIKKJNJSKVLXNZP[T[VZXXYVZSZNYKXIVGTFPF ROPUP\0"\ + "G\\KFK[ RKFTFWGXHYJYMXOWPTQKQ\0"\ + "I[KFRPK[ RKFYF RK[Y[\0"\ + "JZRFR[ RKFYF\0"\ + "I[KKKILGMFOFPGQIRMR[ RYKYIXGWFUFTGSIRM\0"\ + "KYQFOGNINKOMQNSNUMVKVIUGSFQF\0"\ + "H\\K[O[LTKPKLLINGQFSFVGXIYLYPXTU[Y[\0"\ + "I[KFYF ROPUP RK[Y[\0"\ + "G]RFR[ RILJLKMLQMSNTQUSUVTWSXQYMZL[L\0"\ + "H\\YFK[ RKFYF RK[Y[\0"\ + "KYOBOb RPBPb ROBVB RObVb\0"\ + "KYKFY^\0"\ + "KYTBTb RUBUb RNBUB RNbUb\0"\ + "JZRDJR RRDZR\0"\ + "I[Ib[b\0"\ + "NVSKQMQORPSORNQO\0"\ + "H]QMONMPLRKUKXLZN[P[RZUWWTYPZM RQMSMTNUPWXXZY[Z[\0"\ + "I\\UFSGQIOMNPMTLZKb RUFWFYHYKXMWNUORO RROTPVRWTWWVYUZS[Q[OZNYMV\0"\ + "I[KMMMOOU`WbYb RZMYOWRM]K`Jb\0"\ + "I[TMQMONMPLSLVMYNZP[R[TZVXWUWRVOTMRKQIQGRFTFVGXI\0"\ + "JZWOVNTMQMONOPPRSS RSSOTMVMXNZP[S[UZWX\0"\ + "G]ONMOKQJTJWKYLZN[Q[TZWXYUZRZOXMVMTORSPXMb\0"\ + "I\\JPLNNMOMQNROSRSVR[ RZMYPXRR[P_Ob\0"\ + "H\\IQJOLMNMONOPNTL[ RNTPPRNTMVMXOXRWWTb\0"\ + "LWRMPTOXOZP[R[TYUW\0"\ + "G]KKYY RYKKY\0"\ + "I[OMK[ RYNXMWMUNQROSNS RNSPTQUSZT[U[VZ\0"\ + "JZKFMFOGPHX[ RRML[\0"\ + "H]OMIb RNQMVMYO[Q[SZUXWT RYMWTVXVZW[Y[[Y\\W\0"\ + "I[LMOMNSMXL[ RYMXPWRUURXOZL[\0"\ + "J[RMPNNPMSMVNYOZQ[S[UZWXXUXRWOVNTMRM\0"\ + "G]PML[ RUMVSWXX[ RIPKNNM[M\0"\ + "G\\HQIOKMMMNNNPMUMXNZO[Q[SZUWVUWRXMXJWGUFSFRHRJSMUPWRZT\0"\ + "I[MSMVNYOZQ[S[UZWXXUXRWOVNTMRMPNNPMSIb\0"\ + "I][MQMONMPLSLVMYNZP[R[TZVXWUWRVOUNSM\0"\ + "H\\SMP[ RJPLNOMZM\0"\ + "H\\IQJOLMNMONOPMVMYO[Q[TZVXXTYPYM\0"\ + "E_RIQJRKSJRI RIR[R RRYQZR[SZRY\0"\ + "F]NMLNJQITIWJZK[M[OZQW RRSQWRZS[U[WZYWZTZQYNXM\0"\ + "JZTFRGQHQIRJUKXK RUKRLPMOOOQQSTTVT RTTPUNVMXMZO\\S^T_TaRbPb\0"\ + "F]VFNb RGQHOJMLMMNMPLULXMZO[Q[TZVXXUZP[M\0"\ + "JYTFRGQHQIRJUKXK RXKTMQONRMUMWNYP[S]T_TaSbQbP`\0"\ + "KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSUSWRYQZP\\P^Q`RaTb\0"\ + "NVRBRb\0"\ + "KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQUQWRYSZT\\T^S`RaPb\0"\ + "F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O\0"\ + "JZJFJ[K[KFLFL[M[MFNFN[O[OFPFP[Q[QFRFR[S[SFTFT[U[UFVFV[W[WFXFX[Y[YFZFZ[\0"\ +; +/* End of file gen_c_src/greek.h */ diff --git a/hf2gcode/hershey_fonts/gen_c_src/greekc.h b/hf2gcode/hershey_fonts/gen_c_src/greekc.h new file mode 100644 index 0000000..5c133d7 --- /dev/null +++ b/hf2gcode/hershey_fonts/gen_c_src/greekc.h @@ -0,0 +1,105 @@ +/* This file was generated with gen_C_code.m from fixed/greekc.jhf */ + +/* number of glyphs in font */ +unsigned char greekc_cnt = 96; + +/* Format: margin left, margin right, X, Y ... \0 +< R> is pen-up, see original hershey font */ +const char greekc [] PROGMEM="JZ\0"\ + "MWRFQHRTSHRF RRHRN RRYQZR[SZRY\0"\ + "MWRMQNROSNRM RR[QZRYSZS\\R^Q_\0"\ + "H]SFLb RYFRb RLQZQ RKWYW\0"\ + "H\\PBP_ RTBT_ RXIWJXKYJYIWGTFPFMGKIKKLMMNOOUQWRYT RKKMMONUPWQXRYTYXWZT[P[MZKXKWLVMWLX\0"\ + "F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT\0"\ + "F_[NZO[P\\O\\N[MZMYNXPVUTXRZP[M[JZIXIUJSPORMSKSIRGPFNGMIMKNNPQUXWZZ[[[\\Z\\Y RM[KZJXJUKSMQ RMKNMVXXZZ[\0"\ + "MWRHQGRFSGSIRKQL\0"\ + "KYVBTDRGPKOPOTPYR]T`Vb RTDRHQKPPPTQYR\\T`\0"\ + "KYNBPDRGTKUPUTTYR]P`Nb RPDRHSKTPTTSYR\\P`\0"\ + "JZRFRR RMIWO RWIMO\0"\ + "E_RIR[ RIR[R\0"\ + "MWR[QZRYSZS\\R^Q_\0"\ + "E_IR[R\0"\ + "MWRYQZR[SZRY\0"\ + "G][BIb\0"\ + "H\\QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF RQFOGNHMJLOLRMWNYOZQ[ RS[UZVYWWXRXOWJVHUGSF\0"\ + "H\\NJPISFS[ RRGR[ RN[W[\0"\ + "H\\LJMKLLKKKJLHMGPFTFWGXHYJYLXNUPPRNSLUKXK[ RTFVGWHXJXLWNTPPR RKYLXNXSZVZXYYX RNXS[W[XZYXYV\0"\ + "H\\LJMKLLKKKJLHMGPFTFWGXIXLWNTOQO RTFVGWIWLVNTO RTOVPXRYTYWXYWZT[P[MZLYKWKVLUMVLW RWQXTXWWYVZT[\0"\ + "H\\THT[ RUFU[ RUFJUZU RQ[X[\0"\ + "H\\MFKP RKPMNPMSMVNXPYSYUXXVZS[P[MZLYKWKVLUMVLW RSMUNWPXSXUWXUZS[ RMFWF RMGRGWF\0"\ + "H\\WIVJWKXJXIWGUFRFOGMILKKOKULXNZQ[S[VZXXYUYTXQVOSNRNOOMQLT RRFPGNIMKLOLUMXOZQ[ RS[UZWXXUXTWQUOSN\0"\ + "H\\KFKL RKJLHNFPFUIWIXHYF RLHNGPGUI RYFYIXLTQSSRVR[ RXLSQRSQVQ[\0"\ + "H\\PFMGLILLMNPOTOWNXLXIWGTFPF RPFNGMIMLNNPO RTOVNWLWIVGTF RPOMPLQKSKWLYMZP[T[WZXYYWYSXQWPTO RPONPMQLSLWMYNZP[ RT[VZWYXWXSWQVPTO\0"\ + "H\\XMWPURRSQSNRLPKMKLLINGQFSFVGXIYLYRXVWXUZR[O[MZLXLWMVNWMX RQSORMPLMLLMIOGQF RSFUGWIXLXRWVVXTZR[\0"\ + "MWRMQNROSNRM RRYQZR[SZRY\0"\ + "MWRMQNROSNRM RR[QZRYSZS\\R^Q_\0"\ + "F^ZIJRZ[\0"\ + "E_IO[O RIU[U\0"\ + "F^JIZRJ[\0"\ + "I[MJNKMLLKLJMHNGPFSFVGWHXJXLWNVORQRT RSFUGVHWJWLVNTP RRYQZR[SZRY\0"\ + "E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\\T]Q]O\\L[JYHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV\0"\ + "H\\RFK[ RRFY[ RRIX[ RMUVU RI[O[ RU[[[\0"\ + "G]LFL[ RMFM[ RIFUFXGYHZJZLYNXOUP RUFWGXHYJYLXNWOUP RMPUPXQYRZTZWYYXZU[I[ RUPWQXRYTYWXYWZU[\0"\ + "I[NFN[ ROFO[ RKFZFZLYF RK[R[\0"\ + "H\\RFJ[ RRFZ[ RRIY[ RKZYZ RJ[Z[\0"\ + "G\\LFL[ RMFM[ RSLST RIFYFYLXF RMPSP RI[Y[YUX[\0"\ + "H\\XFK[ RYFL[ RLFKLKFYF RK[Y[YUX[\0"\ + "F^KFK[ RLFL[ RXFX[ RYFY[ RHFOF RUF\\F RLPXP RH[O[ RU[\\[\0"\ + "G]QFNGLIKKJOJRKVLXNZQ[S[VZXXYVZRZOYKXIVGSFQF RQFOGMILKKOKRLVMXOZQ[ RS[UZWXXVYRYOXKWIUGSF ROMOT RUMUT ROPUP ROQUQ\0"\ + "MXRFR[ RSFS[ ROFVF RO[V[\0"\ + "F\\KFK[ RLFL[ RYFLS RQOY[ RPOX[ RHFOF RUF[F RH[O[ RU[[[\0"\ + "H\\RFK[ RRFY[ RRIX[ RI[O[ RU[[[\0"\ + "F_KFK[ RLFRX RKFR[ RYFR[ RYFY[ RZFZ[ RHFLF RYF]F RH[N[ RV[][\0"\ + "G^LFL[ RMFYY RMHY[ RYFY[ RIFMF RVF\\F RI[O[\0"\ + "G]KEJJ RZEYJ RONNS RVNUS RKWJ\\ RZWY\\ RKGYG RKHYH ROPUP ROQUQ RKYYY RKZYZ\0"\ + "G]QFNGLIKKJOJRKVLXNZQ[S[VZXXYVZRZOYKXIVGSFQF RQFOGMILKKOKRLVMXOZQ[ RS[UZWXXVYRYOXKWIUGSF\0"\ + "F^KFK[ RLFL[ RXFX[ RYFY[ RHF\\F RH[O[ RU[\\[\0"\ + "G]LFL[ RMFM[ RIFUFXGYHZJZMYOXPUQMQ RUFWGXHYJYMXOWPUQ RI[P[\0"\ + "H]KFRPJ[ RJFQP RJFYFZLXF RKZXZ RJ[Y[ZUX[\0"\ + "I\\RFR[ RSFS[ RLFKLKFZFZLYF RO[V[\0"\ + "I\\KKKILGMFOFPGQIRMR[ RKIMGOGQI RZKZIYGXFVFUGTISMS[ RZIXGVGTI RO[V[\0"\ + "H]RFR[ RSFS[ RPKMLLMKOKRLTMUPVUVXUYTZRZOYMXLUKPK RPKNLMMLOLRMTNUPV RUVWUXTYRYOXMWLUK ROFVF RO[V[\0"\ + "H\\KFX[ RLFY[ RYFK[ RIFOF RUF[F RI[O[ RU[[[\0"\ + "G^RFR[ RSFS[ RIMJLLMMQNSOTQU RJLKMLQMSNTQUTUWTXSYQZM[L RTUVTWSXQYM[L\\M ROFVF RO[V[\0"\ + "G]JXK[O[MWKSJPJLKIMGPFTFWGYIZLZPYSWWU[Y[ZX RMWLTKPKLLINGPF RTFVGXIYLYPXTWW RKZNZ RVZYZ\0"\ + "JZ\0"\ + "JZ\0"\ + "KYOBOb RPBPb ROBVB RObVb\0"\ + "KYKFY^\0"\ + "KYTBTb RUBUb RNBUB RNbUb\0"\ + "JZPLRITL RMORJWO RRJR[\0"\ + "JZJ]Z]\0"\ + "MWSFRGQIQKRLSKRJ\0"\ + "G^QMNNLPKRJUJXKZN[P[RZUWWTYPZM RQMONMPLRKUKXLZN[ RQMSMUNVPXXYZZ[ RSMTNUPWXXZZ[[[\0"\ + "G\\TFQGOIMMLPKTJZIb RTFRGPINMMPLTKZJb RTFVFXGYHYKXMWNTOPO RVFXHXKWMVNTO RPOTPVRWTWWVYUZR[P[NZMYLV RPOSPURVTVWUYTZR[\0"\ + "H\\IPKNMMOMQNROSRSVRZOb RJOLNPNRO RZMYPXRSYP^Nb RYMXPWRSY\0"\ + "I\\VNTMRMONMQLTLWMYNZP[R[UZWWXTXQWOSJRHRFSEUEWFYH RRMPNNQMTMXNZ RR[TZVWWTWPVNTKSISGTFVFYH\0"\ + "I[XPVNTMPMNNNPPRSS RPMONOPQRSS RSSNTLVLXMZP[S[UZWX RSSOTMVMXNZP[\0"\ + "I[TFRGQHQIRJUKZKZJWKSMPOMRLULWMYP[S]T_TaSbQbPa RULQONRMUMWNYP[\0"\ + "G]HQIOKMNMONOPNTL[ RMMNNNPMTK[ RNTPPRNTMVMXNYOYRXWUb RVMXOXRWWTb\0"\ + "F]GQHOJMMMNNNPMUMXNZO[ RLMMNMPLULXMZO[Q[SZUXWUXRYMYIXGVFTFRHRJSMUPWRZT RSZUWVUWRXMXIWGVF\0"\ + "LXRMPTOXOZP[S[UYVW RSMQTPXPZQ[\0"\ + "H\\NMJ[ ROMK[ RXMYNZNYMWMUNQROSMS ROSQTSZT[ ROSPTRZS[U[WZYW\0"\ + "H\\KFMFOGPHQJWXXZY[ RMFOHPJVXWZY[Z[ RRMJ[ RRMK[\0"\ + "F]MMGb RNMHb RMPLVLYN[P[RZTXVU RXMUXUZV[Y[[Y\\W RYMVXVZW[\0"\ + "H\\NML[ ROMNSMXL[ RYMXQVU RZMYPXRVUTWQYOZL[ RKMOM\0"\ + "IZTFRGQHQIRJUKXK RUKQLOMNONQPSSTVT RUKRLPMOOOQQSST RSTOUMVLXLZN\\S^T_TaRbPb RSTPUNVMXMZO\\S^\0"\ + "I[RMONMQLTLWMYNZP[R[UZWWXTXQWOVNTMRM RRMPNNQMTMXNZ RR[TZVWWTWPVN\0"\ + "G]PNL[ RPNM[ RVNV[ RVNW[ RIPKNNM[M RIPKONN[N\0"\ + "H[LVMYNZP[R[UZWWXTXQWOVNTMRMONMQLTHb RR[TZVWWTWPVN RRMPNNQMTIb\0"\ + "H][MQMNNLQKTKWLYMZO[Q[TZVWWTWQVOUNSM RQMONMQLTLXMZ RQ[SZUWVTVPUN RUN[N\0"\ + "H\\SNP[ RSNQ[ RJPLNOMZM RJPLOONZN\0"\ + "H\\IQJOLMOMPNPPNVNYP[ RNMONOPMVMYNZP[Q[TZVXXUYRYOXMWNXOYR RXUYO\0"\ + "G]ONMOKQJTJWKYLZN[Q[TZWXYUZRZOXMVMTORSPXMb RJWLYNZQZTYWWYU RZOXNVNTPRSPYNb\0"\ + "I[KMMMONPPU_VaWb RMMNNOPT_UaWbYb RZMYOWRM]K`Jb\0"\ + "F]UFOb RVFNb RGQHOJMMMNNNPMUMXOZRZTYWVYS RLMMNMPLULXMZO[R[TZVXXUYS[M\0"\ + "F]JQLOONNMLNJQITIWJZK[M[OZQWRT RIWJYKZMZOYQW RQTQWRZS[U[WZYWZTZQYNXMWNYOZQ RQWRYSZUZWYYW\0"\ + "JZ\0"\ + "JZ\0"\ + "KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSUSWRYQZP\\P^Q`RaTb\0"\ + "NVRBRb\0"\ + "KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQUQWRYSZT\\T^S`RaPb\0"\ + "F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O\0"\ + "KYQFOGNINKOMQNSNUMVKVIUGSFQF\0"\ +; +/* End of file gen_c_src/greekc.h */ diff --git a/hf2gcode/hershey_fonts/gen_c_src/greeks.h b/hf2gcode/hershey_fonts/gen_c_src/greeks.h new file mode 100644 index 0000000..ebc8372 --- /dev/null +++ b/hf2gcode/hershey_fonts/gen_c_src/greeks.h @@ -0,0 +1,105 @@ +/* This file was generated with gen_C_code.m from fixed/greeks.jhf */ + +/* number of glyphs in font */ +unsigned char greeks_cnt = 96; + +/* Format: margin left, margin right, X, Y ... \0 +< R> is pen-up, see original hershey font */ +const char greeks [] PROGMEM="JZ\0"\ + "MWRFRT RRYQZR[SZRY\0"\ + "JZNFNM RVFVM\0"\ + "H]SBLb RYBRb RLOZO RKUYU\0"\ + "H\\PBP_ RTBT_ RYIWGTFPFMGKIKKLMMNOOUQWRXSYUYXWZT[P[MZKX\0"\ + "F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT\0"\ + "E_\\O\\N[MZMYNXPVUTXRZP[L[JZIYHWHUISJRQNRMSKSIRGPFNGMIMKNNPQUXWZY[[[\\Z\\Y\0"\ + "MWRHQGRFSGSIRKQL\0"\ + "KYVBTDRGPKOPOTPYR]T`Vb\0"\ + "KYNBPDRGTKUPUTTYR]P`Nb\0"\ + "JZRFRR RMIWO RWIMO\0"\ + "E_RIR[ RIR[R\0"\ + "MWSZR[QZRYSZS\\R^Q_\0"\ + "E_IR[R\0"\ + "MWRYQZR[SZRY\0"\ + "G][BIb\0"\ + "H\\QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF\0"\ + "H\\NJPISFS[\0"\ + "H\\LKLJMHNGPFTFVGWHXJXLWNUQK[Y[\0"\ + "H\\MFXFRNUNWOXPYSYUXXVZS[P[MZLYKW\0"\ + "H\\UFKTZT RUFU[\0"\ + "H\\WFMFLOMNPMSMVNXPYSYUXXVZS[P[MZLYKW\0"\ + "H\\XIWGTFRFOGMJLOLTMXOZR[S[VZXXYUYTXQVOSNRNOOMQLT\0"\ + "H\\YFO[ RKFYF\0"\ + "H\\PFMGLILKMMONSOVPXRYTYWXYWZT[P[MZLYKWKTLRNPQOUNWMXKXIWGTFPF\0"\ + "H\\XMWPURRSQSNRLPKMKLLINGQFRFUGWIXMXRWWUZR[P[MZLX\0"\ + "MWRMQNROSNRM RRYQZR[SZRY\0"\ + "MWRMQNROSNRM RSZR[QZRYSZS\\R^Q_\0"\ + "F^ZIJRZ[\0"\ + "E_IO[O RIU[U\0"\ + "F^JIZRJ[\0"\ + "I[LKLJMHNGPFTFVGWHXJXLWNVORQRT RRYQZR[SZRY\0"\ + "E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\\T]Q]O\\L[JYHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV\0"\ + "I[RFJ[ RRFZ[ RMTWT\0"\ + "G\\KFK[ RKFTFWGXHYJYLXNWOTP RKPTPWQXRYTYWXYWZT[K[\0"\ + "HYLFL[ RLFXF\0"\ + "I[RFJ[ RRFZ[ RJ[Z[\0"\ + "H[LFL[ RLFYF RLPTP RL[Y[\0"\ + "H\\YFK[ RKFYF RK[Y[\0"\ + "G]KFK[ RYFY[ RKPYP\0"\ + "G]PFNGLIKKJNJSKVLXNZP[T[VZXXYVZSZNYKXIVGTFPF ROPUP\0"\ + "NVRFR[\0"\ + "G\\KFK[ RYFKT RPOY[\0"\ + "I[RFJ[ RRFZ[\0"\ + "F^JFJ[ RJFR[ RZFR[ RZFZ[\0"\ + "G]KFK[ RKFY[ RYFY[\0"\ + "I[KFYF ROPUP RK[Y[\0"\ + "G]PFNGLIKKJNJSKVLXNZP[T[VZXXYVZSZNYKXIVGTFPF\0"\ + "G]KFK[ RYFY[ RKFYF\0"\ + "G\\KFK[ RKFTFWGXHYJYMXOWPTQKQ\0"\ + "I[KFRPK[ RKFYF RK[Y[\0"\ + "JZRFR[ RKFYF\0"\ + "I[KKKILGMFOFPGQIRMR[ RYKYIXGWFUFTGSIRM\0"\ + "H\\RFR[ RPKMLLMKOKRLTMUPVTVWUXTYRYOXMWLTKPK\0"\ + "H\\KFY[ RK[YF\0"\ + "G]RFR[ RILJLKMLQMSNTQUSUVTWSXQYMZL[L\0"\ + "H\\K[O[LTKPKLLINGQFSFVGXIYLYPXTU[Y[\0"\ + "JZ\0"\ + "JZ\0"\ + "KYOBOb RPBPb ROBVB RObVb\0"\ + "KYKFY^\0"\ + "KYTBTb RUBUb RNBUB RNbUb\0"\ + "JZPLRITL RMORJWO RRJR[\0"\ + "JZJ]Z]\0"\ + "MWSFRGQIQKRLSKRJ\0"\ + "H]QMONMPLRKUKXLZN[P[RZUWWTYPZM RQMSMTNUPWXXZY[Z[\0"\ + "I\\UFSGQIOMNPMTLZKb RUFWFYHYKXMWNUORO RROTPVRWTWWVYUZS[Q[OZNYMV\0"\ + "I\\JPLNNMOMQNROSRSVR[ RZMYPXRR[P_Ob\0"\ + "I[TMQMONMPLSLVMYNZP[R[TZVXWUWRVOTMRKQIQGRFTFVGXI\0"\ + "JZWOVNTMQMONOPPRSS RSSOTMVMXNZP[S[UZWX\0"\ + "JYTFRGQHQIRJUKXK RXKTMQONRMUMWNYP[S]T_TaSbQbP`\0"\ + "H\\IQJOLMNMONOPNTL[ RNTPPRNTMVMXOXRWWTb\0"\ + "G\\HQIOKMMMNNNPMUMXNZO[Q[SZUWVUWRXMXJWGUFSFRHRJSMUPWRZT\0"\ + "LWRMPTOXOZP[R[TYUW\0"\ + "I[OMK[ RYNXMWMUNQROSNS RNSPTQUSZT[U[VZ\0"\ + "JZKFMFOGPHX[ RRML[\0"\ + "H]OMIb RNQMVMYO[Q[SZUXWT RYMWTVXVZW[Y[[Y\\W\0"\ + "I[LMOMNSMXL[ RYMXPWRUURXOZL[\0"\ + "JZTFRGQHQIRJUKXK RUKRLPMOOOQQSTTVT RTTPUNVMXMZO\\S^T_TaRbPb\0"\ + "J[RMPNNPMSMVNYOZQ[S[UZWXXUXRWOVNTMRM\0"\ + "G]PML[ RUMVSWXX[ RIPKNNM[M\0"\ + "I[MSMVNYOZQ[S[UZWXXUXRWOVNTMRMPNNPMSIb\0"\ + "I][MQMONMPLSLVMYNZP[R[TZVXWUWRVOUNSM\0"\ + "H\\SMP[ RJPLNOMZM\0"\ + "H\\IQJOLMNMONOPMVMYO[Q[TZVXXTYPYM\0"\ + "G]ONMOKQJTJWKYLZN[Q[TZWXYUZRZOXMVMTORSPXMb\0"\ + "I[KMMMOOU`WbYb RZMYOWRM]K`Jb\0"\ + "F]VFNb RGQHOJMLMMNMPLULXMZO[Q[TZVXXUZP[M\0"\ + "F]NMLNJQITIWJZK[M[OZQW RRSQWRZS[U[WZYWZTZQYNXM\0"\ + "JZ\0"\ + "JZ\0"\ + "KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSUSWRYQZP\\P^Q`RaTb\0"\ + "NVRBRb\0"\ + "KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQUQWRYSZT\\T^S`RaPb\0"\ + "F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O\0"\ + "KYQFOGNINKOMQNSNUMVKVIUGSFQF\0"\ +; +/* End of file gen_c_src/greeks.h */ diff --git a/hf2gcode/hershey_fonts/gen_c_src/japanese.h b/hf2gcode/hershey_fonts/gen_c_src/japanese.h new file mode 100644 index 0000000..978ec16 --- /dev/null +++ b/hf2gcode/hershey_fonts/gen_c_src/japanese.h @@ -0,0 +1,202 @@ +/* This file was generated with gen_C_code.m from fixed/japanese.jhf */ + +/* number of glyphs in font */ +unsigned char japanese_cnt = 193; + +/* Format: margin left, margin right, X, Y ... \0 +< R> is pen-up, see original hershey font */ +const char japanese [] PROGMEM="D_HYGZH[IZHY\0"\ + "D_H[GZHYIZI\\H^G_\0"\ + "D_HOJQZP\\Q RIP\\Q\0"\ + "D_MHKGK\\ RLHL\\ RLZXZ RLHXH RWHXGZHYJ RXHX\\ RYHY\\ RLQXQ\0"\ + "D_KGIFI[ RJGJ[ RJGYG RXGYF[GZI RYGYWXYWZ RYXYYXZ RZGZYY[X[WZUY RQGQP RRGRP RJPYP\0"\ + "D_LFJKGQ RLFMGLIINGQ RLI\\IZGXI RXI[H RRIR\\ RSIS\\ RNOLNLU RMOMU RMO[OYMWO RWOZN RGU]U[SYU RYU\\T\0"\ + "D_QFQLPQNULXJZG\\ RRGRK RQFSGRNQROVLYI[G\\ RGM]M[KYM RYM\\L RSMTQUTVVXY[\\][ RYY[[ RSMTPVTXWZY][\0"\ + "D_JGHFH\\ RIGI\\ RIG[G RZG[F]G\\I R[G[\\ R\\G\\\\ RKKYKXJWK RQKQW RRKRW RLQXQWPVQ RKWYWXVWW RTSUUVUVTTS RI[[[\0"\ + "D_QFQLPQNULXJZG\\ RRGRK RQFSGRNQROVLYI[G\\ RSGSKTQUTVVXY[\\][ RYY[[ RSKTPVTXWZY][\0"\ + "D_RGSFQFQ\\ RRGR\\ RGH]H[GZH RLLJKJU RKLKU RKLXL RWLXKZLYN RXLXU RYLYU RKPXP RKTXT RQTNWKYG[ RQVNXLYG[ RRTUXXZ[[]Z RRTUWYY]Z\0"\ + "D_RHSGQFQ] RRGR] RJLHKHV RILIV RILZL RYLZK\\L[N RZLZV R[L[V RIUZU\0"\ + "D_RHSGQFQ\\ RRGR\\ RGL]L[JYL RYL\\K RPLMRJVGY RQMOQMTKVGY RSMTPURXV[Y]X RYV[X RSMTOWSZV]X RMWVWUVTW\0"\ + "D_RGRFSEQEQG RGG]G[EYG RYG\\F RLKJJJR RKKKR RKKXK RWKXJZKYM RXKXR RYKYR RKQXQ RQQQXPZO[ RQYQZP[ RRQRZQ\\P\\O[MZ RLTGY RLTMUGY RVTXVZY[Y[XZWVT\0"\ + "D_QFQ[ RQFRFR[ RJHJP RJHKHKP RKOXO RXHXP RXHYHYP RHSH\\ RHSISI\\ RI[Z[ RZSZ\\ RZS[S[\\\0"\ + "D_HFHW RHFIGIW RIGMG RMGMV RLGMFNGNV RINMN RIUMU RUGVFTFTN RUGUN RPJ[JYIXJ RNN]N[MZN RWNWZV[ RXNXZW\\V[TZ RNR]R[QZR RQTRUSWTWTVSUQT\0"\ + "D_RHSGQFQ[ RRGR[ RRP[PYNWP RWPZO RG[][[YY[ RY[\\Z\0"\ + "D_QGRFPFPM RQGQM RIIUITHSI RGM]M[LZM RXGUKRNNQIT RXGYHTMPPMRITGU ROQMPM\\ RNQN\\ RNQXQ RWQXPZQYS RXQX\\ RYQY\\ RNVXV RN[X[\0"\ + "D_RHSGQFQ\\ RRGR\\ RGO]O[MYO RYO\\N\0"\ + "D_GQ]QZOXQ RXQ[P\0"\ + "D_JJZJXHVJ RVJYI RGX]X[VYX RYX\\W\0"\ + "D_II[IYGWI RWIZH RKQYQWOUQ RUQXP RGZ]Z[XYZ RYZ\\Y\0"\ + "D_JIHHHZ RIIIZ RII[I RZI[H]I\\K R[I[Z R\\I\\Z ROIONNRMT RPIPNOQMTKV RSISSTTXTYSXR RTITRUSWSXRXP RIY[Y\0"\ + "D_IHZHXFVH RVHYG RQHNZ RRHOZ RIPVP RUPVOXPWR RVPUZ RWPWRVZ RGZ]Z[XYZ RYZ\\Y\0"\ + "D_RISHQGQM RRHRM RGM]M[KYM RYM\\L RMQLTJXH[ RNRMT RMQORMUJYH[ RTQVSYWZY[Z\\Y[WXTTQ RYV[Y\0"\ + "D_MINHLGLZM[Y[ZZYX RXZYZYY RMHMYNZWZYXZU RHQNPSO[MXLWN RWNYM\0"\ + "D_RLQOOTMWJZG\\ RRLSMRPPTNWLYI[G\\ RLGUG RRGSFUGSI RSGSLTQUTVVXY[\\][ RYY[[ RSLTPVTXWZY][\0"\ + "D_NIOHMGMRLVJYG\\ RNHNRMVKYG\\ RGNTM RSMTLVMUO RTMTZU[\\[]Z\\X R[Z\\Z\\Y RUMUYVZZZ\\X]U\0"\ + "D_HYGZH[IZHY\0"\ + "D_HYGZH[IZHY\0"\ + "D_HYGZH[IZHY\0"\ + "D_HYGZH[IZHY\0"\ + "D_HYGZH[IZHY\0"\ + "D_HYGZH[IZHY\0"\ + "D_OFQGQIPL RPGPRQV RKKMLRLUKXJ RUKVJXJ RSSTOUPSSPWNYLZJZIYIVJTLRNQQPVPYQ[S\\U\\W[YY[V\\T\\ RKZJYJVKTMRQP RVPXQZS[U[WZYX[V\\\0"\ + "D_HHJIJKIMHP RIIIKHPHSIVJWLXMXMVNSOQ RJWLWMV RWLYM[P\\S\\UZTWU R[P[SZT\0"\ + "D_NEOFQGUG ROFTFUGQI RKMKNLOMOPMRL RKNLNOMRLTLWMXOXRWUUXRZN\\ RTLVMWOWRVUUWSYP[\0"\ + "D_NEOFQGUG ROFTFUGQI RJMJNKOMORMULVM RJNMNRM RVMRPLVHZ RULRP RHZHYLVNURUSVTZU[\\[ RW[ZZ[Z\\[\0"\ + "D_MFOGOINM RNGN[ RNTOZN[MYKXHW RHMJNNNQMSL RNNPMQLSL RHXLUQRTQVQYRZTZVYXWYUYSXRV RHXHWLU RVQXRYTYVXXWY RWKYK[L\\MZMYN RYKZLZM\0"\ + "D_NFPGPIOLMQH[ ROGOIMOKTH[ RHMHNIOJOMMOLRLTMUOURTVRZQ[P[PZOYMX RHNJNMM RRLTNTRSVRXPZ RWMYN[P\\R\\T[SYT RZO[Q[S\0"\ + "D_NFQGRKSNURXVWW RPGRK RURWW RLKNLQLTK RIOJPMQRQWPZO RWPYNZO RWWUVRUNULVKWKYLZN[Q\\W\\ RN[V[W\\\0"\ + "D_TFVGVHNP RUGTINPNQSVUYV[ RNQVXWZV[\0"\ + "D_IGKHKJJMIQ RJHJKIQIUJYKZKXLTMQNOONQMZM\\L RIUJWKX RVMZL[K\\L RVFXGXUWXUZR\\ RWGXJ RXRWVUYR\\\0"\ + "D_MHOIRJTJWI ROITIVHWIQL RKSKULWNXRYYY RNXXXYY\0"\ + "D_JKKLNMRMVLXKYJ RVLXJYJ RPFQIRKUOWRXT RPFQFQHRK RUOXRYTYU RYUXTVSRRNRKSJUJWKYMZQ[U[ RJWKXMYQZVZU[\0"\ + "D_LFNGMSMXNZ RMGLSLWMYNZP[S[VZYX[V\0"\ + "D_RFTGTSSUQVOUNSNROPQOSPTRTVSZQ\\ RSGTL RTVSYQ\\ RHJJLMLVKZJ\\K RIKML RVK\\K\0"\ + "D_LJNKNVOXPYRZZZ RMKNN RUZXYYYZZ RUGWHWTVVUURS RVHWK RWQVTUU RHNJPLPPOUNYM[M\\N RIOPO RUN\\N\0"\ + "D_NGPIVG ROHQHVGWH RWHTKNOJQ RVGUISKNO RIPKROP RJQOPUOZN[O RUO[O RUOSPQRPTPVQXRYUZYZ RQXTYXYYZ\0"\ + "D_NFPGPINOMRKWI[ ROGOJNO RMRKVIYI[ RHMJNMNPMRLTK RRLSJTK RUNXN[OYOWP RXNYO RRVSXTYVZ[Z RSXUY\\Y[Z\0"\ + "D_MFOGOIMNLRLTMU RNGNK RMNMU RHJKKOKSJUI RSJTHUI RMUOSRQUPXPZQ[S[VZXWZS[O[ RXPYQZSZVYXWZ\0"\ + "D_HLJNOLSKWKZL[M\\O\\R[TZUXVUWPX RIMOL RWKYLZM[O[RZTXV\0"\ + "D_HIJKLKPJUIYH[H\\I RIJPJ RUI\\I RYIVJSLQOPRPUQXRYTZX[[[ RPUQWRXTYXZZZ[[\0"\ + "D_OFQGQQ RPGPMQQ RWNYPQQ RXOTPQQNRLSKUKWLYMZO[Z[ RLYNZYZZ[\0"\ + "D_MFOGOIMOLRJWH[ RNGNJMO RLRJVHYH[ RHMJNLNOMQLSK RQLRJSK RVJXJZK\\MZLXM RXJZL RVOVQWTXVXXWZU[R[PZOXPVRUUUWV[Z RVQWVWYU[ RYXZZ[Z\0"\ + "D_IGKHKJJMIQ RJHJKIQIUJYKZKXLTMQ RIUJWKX RSJVIYI[JYJWK RWIYJ RQSQURWUX\\X RQURVUWZW\\X\0"\ + "D_JILJLO RKJLOMRNTOVPW RNTPVPW RRGTHTJROOVMYKZIZHXHVISJQLOOMSLVLYM[O\\R\\U[XZYXZVZTYSXSWTVVUXUZV\\Y RSHSJRO RJZIXIUJRLO RVLXMZO[R[VZY RZV\\X\\Y\0"\ + "D_MFOGOIM[ RNGN[M[LXKWIV RHLINKNOLOM RIMLMNLMP ROMMPKSHWHVKSOOSLVKXKZL[N[UZXYYWZUZSYRXRWSVUUWUYVZW\\Z RXKYLZNZVYY RZW\\Y\\Z\0"\ + "D_QHRJRMQPPRNULWJWIVHTHQINKKNIQHTHWIYJ[L\\O\\R[UYWWXTYQY RNULVJVITIQJMKK RWIZL[O[RZUWX\0"\ + "D_IGKHKJJMIQ RJHJKIQIUJYKZKXLTMQ RIUJWKX RUGWHWWVYTZRZPYOWPURTTTVU[Y RVHWL RVU[X[Y RPMRNUNYM[L RYMZK[L\0"\ + "D_IGJHLIPI RJHOHPI RPIMKKMIPHSHVIXJYLZOZRYTWUUVQVMUIVI RHUIWJXLYOYRXTVUTVQ RVIXLYN[Q\\SZSYT RUIXL RYNZQZS\0"\ + "D_PFQISJ RQHSITITJ RTJQKOLNMNOOPQQSRTSUUUWTYRZPZMYKW RQQSSTUTWSYRZ RIYLVOTRS RVSYT[V\\XYX RIYIXLV RVSXTZV[X\0"\ + "D_HPJRMM RIQNLPLUQYT[U\\VZVXW RUQZV\0"\ + "D_IGKHKJJMIQ RJHJKIQIUJYKZKXLTMQ RIUJWKX RQGSHUHYG RUHWGXFYG RPOSPVPYO[N RYOZM[N RUHWIWWVYTZRZPYOWPURTTTVU[Y RVIWM RVU[X[Y\0"\ + "D_RFTGTXSZQ[O[MZLXMVOUQUTVWXZ[ RSGTK RWXZZZ[ RHIJKSKZJ RIJNK RSKWJYIZJ RMPOQSQWPYO RWPXNYO\0"\ + "D_JGKIMIPHSFTG RKHPH RTGPMMSKVJWIWHVHTIRKQPQTRWS\\U RSFPM RTR\\T\\U RVMXNXTWWUYSZP[ RWNWUVX\0"\ + "D_MFOGOINMMQLTKVJWIWHVHTIRJQKQLRLWMZO[U[XZYYXXWVVRVNWMYM[N\\P\\Q[QYR RNGNM RLWMYOZUZWYXX RYM[O[Q RHKKLNLQKSJ RQKRISJ\0"\ + "D_JILJLO RKJLOMRNTOVPW RNTPVPW RSGUHUJTMRRQTOWMYKZIZHYHWITJRLPONRMVMYN[P\\S\\V[XZYXZU[R[ RTHTJRR RJZIYIVJSLP RVMXNZP[S[VZXXZ\0"\ + "D_OFQGQIPM RPGPTQXRZT[X[ZZ[X[VZTXRUP RW[YZZXZUYS RLJMKPLSL RMKRKSL RSLPMNNLPKRLTNUSU\0"\ + "D_PFRGSHTJSKPJMJLKLMOTQ[ RRGSISK ROTRZQ[ RHNIPKPNNRLVKYK[L\\N\\P[RZSWTTTQS RIOKONN RYKZL[N[PZRYSWT\0"\ + "D_HHJIJKIMHP RIIIKHPHSIVJWLXMXMVNSOQ RJWLWMV RWLYM[P\\S\\UZTWU R[P[SZT\0"\ + "D_HJJKJMIP RIKITJWKXKVLSMQONRKUJXJZK[L\\N\\Q[SYUWVTVRUPSOPOMPIQGSFUFVHVSUWTYQ[ RITJVKV RZK[N[QZT RVSUVTXQ[\0"\ + "D_NEOFQGUG ROFTFUGQI RJMJNKOMORMULVM RJNMNRM RVMRPLVHZ RULRP RHZHYLVNURUSVTZU[\\[ RW[ZZ[Z\\[\0"\ + "D_PFSGSIRN RRGRXQZO[L[JZIYIWJVLUOURVVX[[ RRVWX[Z[[ RRNUNYM RUNWMXLYM\0"\ + "D_OFQFSGTHRHPI RQFRGRH RLLKNJRJTKUORQQTPWPYQZSZUYWWYUZQ[O[ RJRKTLT RWPXQYSYUXWVYTZQ[\0"\ + "D_LFNGNILM RMGMILMLPMSNTNROOQLSJUIWIXJYMYRXVVYS[O\\ RLPMRNR RVIWJXMXRWVUYS[\0"\ + "D_MGNIPIUG RNHPHUGVH RVHRKNPKU RUGRK RNPKSKU RKUMSPQSPVPXQYRZTZWYYXZV[S[QZPYPXQWSWUXWZ RVPXRYTYWXYV[\0"\ + "D_MFOGOIM[ RNGN[M[LXKWIV RHLINKNOLOM RIMLMOLMP ROMMPKSHWHVKSOOSLVKWKYLZNYXYZZ[ RWKXLYNXXXZY[Z[[Z\\X\0"\ + "D_MGNIPIUG RNHPHUGVH RVHRKNPKU RUGRK RNPKSKU RKUMSPQSPVPXQYRZTZWYYW[T\\R\\ RVPXRYTYWXZ\0"\ + "D_MFOGOIM[ RNGN[M[LXKWIV RHLINKNOLOM RIMLMOLMP ROMMPKSHWHVKSNPQNTMWMYNZO[Q[TZWXYVZS[ RWMYOZQZTYWVZ\0"\ + "D_MGNIPITG RNHPHTGUH RUHQNMVLXKYIYHWHUISKQNORNVNYO[Q\\S\\V[XYZW[T[RZQYQXRWTWVXXZ RTGQN RJYIWIUJR RZP[S[VZY\0"\ + "D_NEOFQGUG ROFTFUGQI RKMKNLOMOPMRL RKNLNOMRLTLWMXOXRWUUXRZN\\ RTLVMWOWRVUUWSYP[\0"\ + "D_LGMIOIQHTF RMHOHRGTFUG RUGQJMNJR RTFQJ RJRJPMNOMRLULWMXOXQWSUTPTOSOQPPRPSQSSRTNUKWHZH[I[KW RJYLXNXPZQZSXVWYW[X\\Y\\[[ZYZ RNXPYQYSX RYW[Y[Z\0"\ + "D_PFRGRHPLNOKRHU RQGQHPL RKRHTHU RMPOOQOSPTRTV RQORPSRSWTV RIJLKOKSJWI RSJVHWI R[O\\QTRQSOTNVNXOZQ[Y[ R[PTR RT[XZY[\0"\ + "D_QFSHPMLTH[ RRGPM RH[HYLTNRPQRQTRTWUYVZ RRQSRSWTYVZXZZY[W\\T\0"\ + "D_HYGZH[IZHY\0"\ + "D_HYGZH[IZHY\0"\ + "D_HYGZH[IZHY\0"\ + "D_HYGZH[IZHY\0"\ + "D_NFPGPIOLMQH[ ROGOIMOKTH[ RHMHNIOJOMMOLRLTMUOURTVRZQ[P[PZOYMX RHNJNMM RRLTNTRSVRXPZ RWMYN[P\\R\\T[SYT RZO[Q[S RWHYJ RYF[H\0"\ + "D_NFQGRKSNURXVWW RPGRK RURWW RLKNLQLTK RIOJPMQRQWPZO RWPYNZO RWWUVRUNULVKWKYLZN[Q\\W\\ RN[V[W\\ RWHYJ RYF[H\0"\ + "D_TFVGVHNP RUGTINPNQSVUYV[ RNQVXWZV[ RYH[J R[F]H\0"\ + "D_IGKHKJJMIQ RJHJKIQIUJYKZKXLTMQNOONQMZM\\L RIUJWKX RVMZL[K\\L RVFXGXUWXUZR\\ RWGXJ RXRWVUYR\\ R[G]I R]E_G\0"\ + "D_MHOIRJTJWI ROITIVHWIQL RKSKULWNXRYYY RNXXXYY RYG[I R[E]G\0"\ + "D_JKKLNMRMVLXKYJ RVLXJYJ RPFQIRKUOWRXT RPFQFQHRK RUOXRYTYU RYUXTVSRRNRKSJUJWKYMZQ[U[ RJWKXMYQZVZU[ RZG\\I R\\E^G\0"\ + "D_LFNGMSMXNZ RMGLSLWMYNZP[S[VZYX[V RSHUJ RUFWH\0"\ + "D_RFTGTSSUQVOUNSNROPQOSPTRTVSZQ\\ RSGTL RTVSYQ\\ RHJJLMLVKZJ\\K RIKML RVK\\K RXFZH R[E]G\0"\ + "D_LJNKNVOXPYRZZZ RMKNN RUZXYYYZZ RUGWHWTVVUURS RVHWK RWQVTUU RHNJPLPPOUNYM[M\\N RIOPO RUN\\N RZH\\J R\\F^H\0"\ + "D_NGPIVG ROHQHVGWH RWHTKNOJQ RVGUISKNO RIPKROP RJQOPUOZN[O RUO[O RUOSPQRPTPVQXRYUZYZ RQXTYXYYZ RZH\\J R\\F^H\0"\ + "D_NFPGPINOMRKWI[ ROGOJNO RMRKVIYI[ RHMJNMNPMRLTK RRLSJTK RUNXN[OYOWP RXNYO RRVSXTYVZ[Z RSXUY\\Y[Z RXHZJ RZF\\H\0"\ + "D_MFOGOIMNLRLTMU RNGNK RMNMU RHJKKOKSJUI RSJTHUI RMUOSRQUPXPZQ[S[VZXWZS[O[ RXPYQZSZVYXWZ RXIZK RZG\\I\0"\ + "D_HLJNOLSKWKZL[M\\O\\R[TZUXVUWPX RIMOL RWKYLZM[O[RZTXV RZH\\J R\\F^H\0"\ + "D_HIJKLKPJUIYH[H\\I RIJPJ RUI\\I RYIVJSLQOPRPUQXRYTZX[[[ RPUQWRXTYXZZZ[[ RZM\\O R\\K^M\0"\ + "D_OFQGQQ RPGPMQQ RWNYPQQ RXOTPQQNRLSKUKWLYMZO[Z[ RLYNZYZZ[ RXIZK RZG\\I\0"\ + "D_IGKHKJJMIQ RJHJKIQIUJYKZKXLTMQ RIUJWKX RUGWHWWVYTZRZPYOWPURTTTVU[Y RVHWL RVU[X[Y RPMRNUNYM[L RYMZK[L RZG\\I R\\E^G\0"\ + "D_IGJHLIPI RJHOHPI RPIMKKMIPHSHVIXJYLZOZRYTWUUVQVMUIVI RHUIWJXLYOYRXTVUTVQ RVIXLYN[Q\\SZSYT RUIXL RYNZQZS RYH[J R[F]H\0"\ + "D_PFQISJ RQHSITITJ RTJQKOLNMNOOPQQSRTSUUUWTYRZPZMYKW RQQSSTUTWSYRZ RIYLVOTRS RVSYT[V\\XYX RIYIXLV RVSXTZV[X RWIYK RYG[I\0"\ + "D_HPJRMM RIQNLPLUQYT[U\\VZVXW RUQZV RUJWL RWHYJ\0"\ + "D_IGKHKJJMIQ RJHJKIQIUJYKZKXLTMQ RIUJWKX RQGSHUHYG RUHWGXFYG RPOSPVPYO[N RYOZM[N RUHWIWWVYTZRZPYOWPURTTTVU[Y RVIWM RVU[X[Y R[I]K R]G_I\0"\ + "D_IGKHKJJMIQ RJHJKIQIUJYKZKXLTMQ RIUJWKX RUGWHWWVYTZRZPYOWPURTTTVU[Y RVHWL RVU[X[Y RPMRNUNYM[L RYMZK[L R[EZFZH[I]I^H^F]E[E\0"\ + "D_IGJHLIPI RJHOHPI RPIMKKMIPHSHVIXJYLZOZRYTWUUVQVMUIVI RHUIWJXLYOYRXTVUTVQ RVIXLYN[Q\\SZSYT RUIXL RYNZQZS RZFYGYIZJ\\J]I]G\\FZF\0"\ + "D_PFQISJ RQHSITITJ RTJQKOLNMNOOPQQSRTSUUUWTYRZPZMYKW RQQSSTUTWSYRZ RIYLVOTRS RVSYT[V\\XYX RIYIXLV RVSXTZV[X RXGWHWJXKZK[J[HZGXG\0"\ + "D_HPJRMM RIQNLPLUQYT[U\\VZVXW RUQZV RVHUIUKVLXLYKYIXHVH\0"\ + "D_IGKHKJJMIQ RJHJKIQIUJYKZKXLTMQ RIUJWKX RQGSHUHYG RUHWGXFYG RPOSPVPYO[N RYOZM[N RUHWIWWVYTZRZPYOWPURTTTVU[Y RVIWM RVU[X[Y R\\G[H[J\\K^K_J_H^G\\G\0"\ + "D_HGJIOHUGZF\\H RIHOH RUG[G R\\HZJVMTN R[GYJWLTN RRMTNTQSUQXN[ RRMSNSQRUPY\0"\ + "D_VFXHULRONRKT RWGVISMOQKT RSNUOU\\ RSNTOT[U\\\0"\ + "D_PFSGSIRK RPFRGRK RJIKKKPLQ RLKLQ RLKYK RJIKJOK RUKXJZL RZLWRUURXOZM[ RYKXNVRSVPYM[\0"\ + "D_QKSLSW RRLRW RJJLLXJZK RKKZK RHVJXZV\\W RIW\\W\0"\ + "D_RFUGUYT[SYPW RTGTXSY RHLJNOMULZK\\L RIMOM RUL\\L RSMPQLUHX RTMRPOSKVHX\0"\ + "D_QFSHRKPPNTLWI[ RRGQJOPMUI[ RILKNOMTLXKZM RJMOM RTLYL RZMYSXWWYU[TZRY RYLXSWWVYTZ\0"\ + "D_OFRGT[ RQGS\\T[ RJLLNPMTLXKZL RKMPM RTLZL RHRJTOSURZQ\\R RISOS RUR\\R\0"\ + "D_PFRHPLNOLQJS RQGPJNNLQ RQJSKXK RUKWJYL RYLVRSVPYM[K\\ RXKWNURRVOYK\\\0"\ + "D_NFPHNLLOJQHS ROGNJLNJQ RLOTNYM\\N RTN\\N RROTQRUPXNZL\\ RSPRSPWNZ\0"\ + "D_JJLLXJZL RKKYK RZLYOXV RYKXPXV RJVLXXVYW RKWYW\0"\ + "D_LINJNOMS RMJMS RTFWGWLVQUTTVRYP[ RVGVLUQTURY RHMJOONUMZL\\M RINON RUM\\M\0"\ + "D_MGOHPIPJOJNHMG RHNJOKPKQJQIOHN RIXKZOXSUWQ[L RJYOWST[L\0"\ + "D_JILKWIYK RKJXJ RYKWNTQQSOTJV RXJWLUOSQPSJV RUSXUZWZXYXXVUS\0"\ + "D_OGRHRJQS RQHQVRXTY[Y RVYZX[Y RHNJPOOUNZM\\O RIOOO RUN[N R\\OYQVT R[NVT\0"\ + "D_IIKJLKLLKLJJII RXHZJWPTTQWNYLZ RYIXLVPSTPWLZ\0"\ + "D_PFRHPLNOLQJS RQGPJNNLQ RQJSKXK RUKWJYL RYLVRSVPYM[K\\ RXKWNURRVOYK\\ RNPQQSRVTWUWVVVUTSR\0"\ + "D_LJOJTIXG ROJRITHWFXG RPJSKSQRUPXM[ RRKRQQUOY RHNJPOOUNZM\\N RIOOO RUN\\N\0"\ + "D_IIKJLKLLKLJJII ROHQIRJRKQKPIOH RXHZJWPTTQWNYLZ RYIXLVPSTPWLZ\0"\ + "D_LFNHWFXG RMGXG RHNJPOOUNZM\\N RIOOO RUN\\N RSOSQRUPXM[ RRORQQUOY\0"\ + "D_MFPGP\\ ROGO[P\\ RPOROUPVQVRURTPRO\0"\ + "D_QFTGTLSQRTQVOYM[ RSGSLRQQUOY RHNJPOOUNZM\\N RIOOO RUN\\N\0"\ + "D_LJNLWJXK RMKXK RHVJXZV\\W RIW\\W\0"\ + "D_JILKWIYK RKJXJ RYKWNTQQSOTJV RXJWLUOSQPSJV RMOPPTRWTYVYWXWVTTR\0"\ + "D_PFRGSHSIRIQGPF RJLLNVLXN RKMWM RXNTRQTOUJW RWMUPSRPTJW RRSSTS\\ RRSR[S\\ RXUZV[W[XZXYVXU\0"\ + "D_WHYJVPSTPWMYKZ RXIWLTQQUNXKZ\0"\ + "D_LLNNMQLSJUHV RMMLQJU RVLXNZQ\\U\\V[VZRXN\0"\ + "D_IGLHLJKS RKHKVLXNYYY RQYUXWXYY RKROQRPXN RRPVNXN\0"\ + "D_JGLIYI RKHOI RUIXHZJ RZJWPUSRVOXMY RYIXLVPSTPWMY\0"\ + "D_GQISPLQL[V RHRJQNN RUPZT\\U[V\0"\ + "D_PFSGSYR[QYOX RRGRXQY RHLJNOMULZK\\L RIMOM RUL\\L RLSJVIWHWHVJULS RXS[U\\V\\W[WZUXS\0"\ + "D_HLJNOMULZK\\M RIMOM RUL[L R\\MZOVRTS R[LYOWQTS RQRTTVVVWUWTUQR\0"\ + "D_PFSGUHVIVJUJSHPF RMMPNROSPSQRQPOMM RNVSXUYVZV[U[SYPWNV\0"\ + "D_RITKMW RSJMW RHWJYYV RIXYV RVSXUZX[X[WYUVS\0"\ + "D_WHYJVPSTPWMYKZ RXIWLUPRTOWKZ RONSPVRXTXUWUVSTQQO\0"\ + "D_LINKWIXJ RMJXJ RQKQVRXTY[Y RRKRMQS RVYZX[Y RHQJSORUQZP\\Q RIROR RUQ\\Q\0"\ + "D_OFRGT[ RQGS\\T[ RHLJNOMULZK\\M RIMOM RUL[L R\\MYPVRTS R[LZNWQTS\0"\ + "D_VFXHULRONRKT RWGVISMOQKT RSNUOU\\ RSNTOT[U\\\0"\ + "D_IJKLUJWL RJKVK RWLVOUV RVKUPUV RHVJXZV\\W RIW\\W\0"\ + "D_QKSLSW RRLRW RJJLLXJZK RKKZK RHVJXZV\\W RIW\\W\0"\ + "D_JJLLXJZL RKKYK RJPLRXP RKQXQ RJVLXXV RKWXW RZLYOYY RYKXPXY\0"\ + "D_LFNHWFXG RMGXG RJMLOWMYO RKNXN RYOWRTUQWOXLY RXNWPUSSUPWLY\0"\ + "D_LINJNOMS RMJMS RTFWGWQVUTXQ[ RVGVQUUTWQ[\0"\ + "D_LJNKNNMRKUHX RMKMNLRKTHX RQISJSMRS RRJRVSXUXWWYU\\Q RRVSWVWXV\0"\ + "D_HIKJKMJS RJJJVKXNXQWTUXR[O RJVKWNWQVUTXR\0"\ + "D_JJLLXJZL RKKYK RKKKZ RLLLXKZ RZLYOXV RYKXPXV RLXXVYW RLWYW\0"\ + "D_JGKIKNLO RLILO RLIYI RJGKHOI RUIXHZJ RZJWPUSRVOXMY RYIXLVPSTPWMY\0"\ + "D_QFTGT[ RSGS\\T[ RJJLLXJZK RKKZK RLLNMNR RMMMR RHQJSZQ\\R RIR\\R\0"\ + "D_PFSGSIRK RPFRGRK RJIKKKPLQ RLKLQ RLKYK RJIKJOK RUKXJZL RZLWRUURXOZM[ RYKXNVRSVPYM[\0"\ + "D_JJLLXJZL RKKYK RZLWNSQ RYKSQ RQPSQSW RRQRW RHVJXZV\\W RIW\\W\0"\ + "D_JGLIYI RKHOI RUIXHZJ RLNNPVO RMOVO RZJWPUSRVOXMY RYIXLVPSTPWMY\0"\ + "D_JHLIMJMKLKKIJH RIWKYOWSTWP[K RJXOVSS[K\0"\ + "D_HYGZH[IZHY\0"\ + "D_HYGZH[IZHY\0"\ + "D_HYGZH[IZHY\0"\ + "D_HYGZH[IZHY\0"\ + "D_QFSHRKPPNTLWI[ RRGQJOPMUI[ RILKNOMTLXKZM RJMOM RTLYL RZMYSXWWYU[TZRY RYLXSWWVYTZ RZH\\J R\\F^H\0"\ + "D_OFRGT[ RQGS\\T[ RJLLNPMTLXKZL RKMPM RTLZL RHRJTOSURZQ\\R RISOS RUR\\R RZH\\J R\\F^H\0"\ + "D_PFRHPLNOLQJS RQGPJNNLQ RQJSKXK RUKWJYL RYLVRSVPYM[K\\ RXKWNURRVOYK\\ RYH[J R[F]H\0"\ + "D_NFPHNLLOJQHS ROGNJLNJQ RLOTNYM\\N RTN\\N RROTQRUPXNZL\\ RSPRSPWNZ RYH[J R[F]H\0"\ + "D_JJLLXJZL RKKYK RZLYOXV RYKXPXV RJVLXXVYW RKWYW RZH\\J R\\F^H\0"\ + "D_LINJNOMS RMJMS RTFWGWLVQUTTVRYP[ RVGVLUQTURY RHMJOONUMZL\\M RINON RUM\\M RZH\\J R\\F^H\0"\ + "D_MGOHPIPJOJNHMG RHNJOKPKQJQIOHN RIXKZOXSUWQ[L RJYOWST[L RVHXJ RXFZH\0"\ + "D_JILKWIYK RKJXJ RYKWNTQQSOTJV RXJWLUOSQPSJV RUSXUZWZXYXXVUS RZH\\J R\\F^H\0"\ + "D_OGRHRJQS RQHQVRXTY[Y RVYZX[Y RHNJPOOUNZM\\O RIOOO RUN[N R\\OYQVT R[NVT RYH[J R[F]H\0"\ + "D_IIKJLKLLKLJJII RXHZJWPTTQWNYLZ RYIXLVPSTPWLZ R[G]I R]E_G\0"\ + "D_PFRHPLNOLQJS RQGPJNNLQ RQJSKXK RUKWJYL RYLVRSVPYM[K\\ RXKWNURRVOYK\\ RNPQQSRVTWUWVVVUTSR RYH[J R[F]H\0"\ + "D_LJOJTIXG ROJRITHWFXG RPJSKSQRUPXM[ RRKRQQUOY RHNJPOOUNZM\\N RIOOO RUN\\N RZH\\J R\\F^H\0"\ + "D_IIKJLKLLKLJJII ROHQIRJRKQKPIOH RXHZJWPTTQWNYLZ RYIXLVPSTPWLZ R[G]I R]E_G\0"\ + "D_LFNHWFXG RMGXG RHNJPOOUNZM\\N RIOOO RUN\\N RSOSQRUPXM[ RRORQQUOY RZH\\J R\\F^H\0"\ + "D_MFPGP\\ ROGO[P\\ RPOROUPVQVRURTPRO RTHVJ RVFXH\0"\ + "D_LLNNMQLSJUHV RMMLQJU RVLXNZQ\\U\\V[VZRXN RYI[K R[G]I\0"\ + "D_IGLHLJKS RKHKVLXNYYY RQYUXWXYY RKROQRPXN RRPVNXN RYI[K R[G]I\0"\ + "D_JGLIYI RKHOI RUIXHZJ RZJWPUSRVOXMY RYIXLVPSTPWMY R[G]I R]E_G\0"\ + "D_GQISPLQL[V RHRJQNN RUPZT\\U[V RVJXL RXHZJ\0"\ + "D_PFSGSYR[QYOX RRGRXQY RHLJNOMULZK\\L RIMOM RUL\\L RLSJVIWHWHVJULS RXS[U\\V\\W[WZUXS RZG\\I R\\E^G\0"\ + "D_LLNNMQLSJUHV RMMLQJU RVLXNZQ\\U\\V[VZRXN RZGYHYJZK\\K]J]H\\GZG\0"\ + "D_IGLHLJKS RKHKVLXNYYY RQYUXWXYY RKROQRPXN RRPVNXN RZGYHYJZK\\K]J]H\\GZG\0"\ + "D_JGLIYI RKHOI RUIXHZJ RZJWPUSRVOXMY RYIXLVPSTPWMY R\\E[F[H\\I^I_H_F^E\\E\0"\ + "D_GQISPLQL[V RHRJQNN RUPZT\\U[V RWHVIVKWLYLZKZIYHWH\0"\ + "D_PFSGSYR[QYOX RRGRXQY RHLJNOMULZK\\L RIMOM RUL\\L RLSJVIWHWHVJULS RXS[U\\V\\W[WZUXS R[EZFZH[I]I^H^F]E[E\0"\ +; +/* End of file gen_c_src/japanese.h */ diff --git a/hf2gcode/hershey_fonts/gen_c_src/markers.h b/hf2gcode/hershey_fonts/gen_c_src/markers.h new file mode 100644 index 0000000..413e888 --- /dev/null +++ b/hf2gcode/hershey_fonts/gen_c_src/markers.h @@ -0,0 +1,106 @@ +/* This file was generated with gen_C_code.m from fixed/markers.jhf */ + +/* number of glyphs in font */ +unsigned char markers_cnt = 97; + +/* Format: margin left, margin right, X, Y ... \0 +< R> is pen-up, see original hershey font */ +const char markers [] PROGMEM="JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "KYQKNLLNKQKSLVNXQYSYVXXVYSYQXNVLSKQK\0"\ + "LXLLLXXXXLLL\0"\ + "KYRJKVYVRJ\0"\ + "LXRHLRR\\XRRH\0"\ + "JZRIPOJOOSMYRUWYUSZOTORI\0"\ + "LXPLPPLPLTPTPXTXTTXTXPTPTLPL\0"\ + "KYRKRY RKRYR\0"\ + "MWMMWW RWMMW\0"\ + "MWRLRX RMOWU RWOMU\0"\ + "NVQNOONQNSOUQVSVUUVSVQUOSNQN ROQOS RPPPT RQOQU RRORU RSOSU RTPTT RUQUS\0"\ + "NVNNNVVVVNNN ROOOU RPOPU RQOQU RRORU RSOSU RTOTU RUOUU\0"\ + "MWRLMUWURL RROOT RROUT RRRQT RRRST\0"\ + "LULRUWUMLR RORTU RORTO RRRTS RRRTQ\0"\ + "MWRXWOMORX RRUUP RRUOP RRRSP RRRQP\0"\ + "OXXROMOWXR RURPO RURPU RRRPQ RRRPS\0"\ + "D`DR`R RDRRb R`RRb\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "KYQKNLLNKQKSLVNXQYSYVXXVYSYQXNVLSKQK\0"\ + "LXLLLXXXXLLL\0"\ + "KYRJKVYVRJ\0"\ + "LXRHLRR\\XRRH\0"\ + "JZRIPOJOOSMYRUWYUSZOTORI\0"\ + "LXPLPPLPLTPTPXTXTTXTXPTPTLPL\0"\ + "KYRKRY RKRYR\0"\ + "MWMMWW RWMMW\0"\ + "MWRLRX RMOWU RWOMU\0"\ + "NVQNOONQNSOUQVSVUUVSVQUOSNQN ROQOS RPPPT RQOQU RRORU RSOSU RTPTT RUQUS\0"\ + "NVNNNVVVVNNN ROOOU RPOPU RQOQU RRORU RSOSU RTOTU RUOUU\0"\ + "MWRLMUWURL RROOT RROUT RRRQT RRRST\0"\ + "LULRUWUMLR RORTU RORTO RRRTS RRRTQ\0"\ + "MWRXWOMORX RRUUP RRUOP RRRSP RRRQP\0"\ + "OXXROMOWXR RURPO RURPU RRRPQ RRRPS\0"\ + "D`DR`R RDRRb R`RRb\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ + "JZ\0"\ +; +/* End of file gen_c_src/markers.h */ diff --git a/hf2gcode/hershey_fonts/gen_c_src/mathlow.h b/hf2gcode/hershey_fonts/gen_c_src/mathlow.h new file mode 100644 index 0000000..54d388e --- /dev/null +++ b/hf2gcode/hershey_fonts/gen_c_src/mathlow.h @@ -0,0 +1,105 @@ +/* This file was generated with gen_C_code.m from fixed/mathlow.jhf */ + +/* number of glyphs in font */ +unsigned char mathlow_cnt = 96; + +/* Format: margin left, margin right, X, Y ... \0 +< R> is pen-up, see original hershey font */ +const char mathlow [] PROGMEM="JZ\0"\ + "F^RJR[ RJRZR RJ[Z[\0"\ + "F^RJR[ RJJZJ RJRZR\0"\ + "G]KKYY RYKKY\0"\ + "PURQRRSRSQRQ\0"\ + "F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT\0"\ + "F^ZFJMZT RJVZV RJ[Z[\0"\ + "F^JFZMJT RJVZV RJ[Z[\0"\ + "KYVBTDRGPKOPOTPYR]T`Vb RTDRHQKPPPTQYR\\T`\0"\ + "KYNBPDRGTKUPUTTYR]P`Nb RPDRHSKTPTTSYR\\P`\0"\ + "JZRLRX RMOWU RWOMU\0"\ + "E_RIR[ RIR[R\0"\ + "NVSWRXQWRVSWSYQ[\0"\ + "E_IR[R\0"\ + "NVRVQWRXSWRV\0"\ + "G][BIb\0"\ + "H\\QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF\0"\ + "H\\NJPISFS[\0"\ + "H\\LKLJMHNGPFTFVGWHXJXLWNUQK[Y[\0"\ + "H\\MFXFRNUNWOXPYSYUXXVZS[P[MZLYKW\0"\ + "H\\UFKTZT RUFU[\0"\ + "H\\WFMFLOMNPMSMVNXPYSYUXXVZS[P[MZLYKW\0"\ + "H\\XIWGTFRFOGMJLOLTMXOZR[S[VZXXYUYTXQVOSNRNOOMQLT\0"\ + "H\\YFO[ RKFYF\0"\ + "H\\PFMGLILKMMONSOVPXRYTYWXYWZT[P[MZLYKWKTLRNPQOUNWMXKXIWGTFPF\0"\ + "H\\XMWPURRSQSNRLPKMKLLINGQFRFUGWIXMXRWWUZR[P[MZLX\0"\ + "AcHBHb RIBIb R[B[b R\\B\\b RDB`B RDbMb RWb`b\0"\ + "BaGBQPFb RFBPP REBPQ REB\\B^I[B RGa\\a RFb\\b^[[b\0"\ + "F^ZIJRZ[\0"\ + "E_IO[O RIU[U\0"\ + "F^JIZRJ[\0"\ + "E_YIK[ RIO[O RIU[U\0"\ + "E_IM[M RIR[R RIW[W\0"\ + "I\\XMX[ RXPVNTMQMONMPLSLUMXOZQ[T[VZXX\0"\ + "H[LFL[ RLPNNPMSMUNWPXSXUWXUZS[P[NZLX\0"\ + "I[XPVNTMQMONMPLSLUMXOZQ[T[VZXX\0"\ + "I\\XFX[ RXPVNTMQMONMPLSLUMXOZQ[T[VZXX\0"\ + "I[LSXSXQWOVNTMQMONMPLSLUMXOZQ[T[VZXX\0"\ + "MYWFUFSGRJR[ ROMVM\0"\ + "I\\XMX]W`VaTbQbOa RXPVNTMQMONMPLSLUMXOZQ[T[VZXX\0"\ + "I\\MFM[ RMQPNRMUMWNXQX[\0"\ + "NVQFRGSFREQF RRMR[\0"\ + "MWRFSGTFSERF RSMS^RaPbNb\0"\ + "IZMFM[ RWMMW RQSX[\0"\ + "NVRFR[\0"\ + "CaGMG[ RGQJNLMOMQNRQR[ RRQUNWMZM\\N]Q][\0"\ + "I\\MMM[ RMQPNRMUMWNXQX[\0"\ + "I\\QMONMPLSLUMXOZQ[T[VZXXYUYSXPVNTMQM\0"\ + "H[LMLb RLPNNPMSMUNWPXSXUWXUZS[P[NZLX\0"\ + "I\\XMXb RXPVNTMQMONMPLSLUMXOZQ[T[VZXX\0"\ + "KXOMO[ ROSPPRNTMWM\0"\ + "J[XPWNTMQMNNMPNRPSUTWUXWXXWZT[Q[NZMX\0"\ + "MYRFRWSZU[W[ ROMVM\0"\ + "I\\MMMWNZP[S[UZXW RXMX[\0"\ + "JZLMR[ RXMR[\0"\ + "G]JMN[ RRMN[ RRMV[ RZMV[\0"\ + "J[MMX[ RXMM[\0"\ + "JZLMR[ RXMR[P_NaLbKb\0"\ + "J[XMM[ RMMXM RM[X[\0"\ + "KYOBOb RPBPb ROBVB RObVb\0"\ + "KYKFY^\0"\ + "KYTBTb RUBUb RNBUB RNbUb\0"\ + "F_[WYWWVUTRPQOONMNKOJQJSKUMVOVQURTUPWNYM[M\0"\ + "F_\\S[UYVWVUUTTQPPONNLNJOIQISJULVNVPUQTTPUOWNYN[O\\Q\\S\0"\ + "KYQFOGNINKOMQNSNUMVKVIUGSFQF\0"\ + "H\\PBP_ RTBT_ RYIWGTFPFMGKIKKLMMNOOUQWRXSYUYXWZT[P[MZKX\0"\ + "E[HMLMRY RKMR[ R[BR[\0"\ + "AbDMIMRY RHNR[ Rb:R[\0"\ + "F^ZJSJOKMLKNJQJSKVMXOYSZZZ\0"\ + "F^JJJQKULWNYQZSZVYXWYUZQZJ\0"\ + "F^JJQJUKWLYNZQZSYVWXUYQZJZ\0"\ + "F^JZJSKOLMNKQJSJVKXMYOZSZZ\0"\ + "F^ZJSJOKMLKNJQJSKVMXOYSZZZ RJRVR\0"\ + "E_XP[RXT RUMZRUW RIRZR\0"\ + "JZPLRITL RMORJWO RRJR[\0"\ + "E_LPIRLT ROMJROW RJR[R\0"\ + "JZPXR[TX RMURZWU RRIRZ\0"\ + "I\\XRWOVNTMRMONMQLTLWMYNZP[R[UZWXXUYPYKXHWGUFRFPGOHOIPIPH RRMPNNQMTMXNZ RR[TZVXWUXPXKWHUF\0"\ + "H\\JFR[ RKFRY RZFR[ RJFZF RKGYG\0"\ + "AbDMIMRY RHNR[ Rb:R[\0"\ + "F^[CZD[E\\D\\C[BYBWCUETGSJRNPZO^N` RVDUFTJRVQZP]O_MaKbIbHaH`I_J`Ia\0"\ + "Ca].\\.[/[0\\1]1^0^.],[+Y+W,U.T0S3R:QJQjPsOv R\\/\\0]0]/\\/ RR:Rj RU.T1S:SZRjQqPtOvMxKyIyGxFvFtGsHsItIuHvGv RGtGuHuHtGt\0"\ + "I[X+U1R8P=OANFMNMVN^OcPgRlUsXy RU1S6Q is pen-up, see original hershey font */ +const char mathupp [] PROGMEM="JZ\0"\ + "F^RJR[ RJRZR RJ[Z[\0"\ + "F^RJR[ RJJZJ RJRZR\0"\ + "G]KKYY RYKKY\0"\ + "PURQRRSRSQRQ\0"\ + "F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT\0"\ + "F^ZFJMZT RJVZV RJ[Z[\0"\ + "F^JFZMJT RJVZV RJ[Z[\0"\ + "KYVBTDRGPKOPOTPYR]T`Vb RTDRHQKPPPTQYR\\T`\0"\ + "KYNBPDRGTKUPUTTYR]P`Nb RPDRHSKTPTTSYR\\P`\0"\ + "JZRLRX RMOWU RWOMU\0"\ + "E_RIR[ RIR[R\0"\ + "MWSZR[QZRYSZS\\R^Q_\0"\ + "E_IR[R\0"\ + "MWRYQZR[SZRY\0"\ + "G][BIb\0"\ + "H\\QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF\0"\ + "H\\NJPISFS[\0"\ + "H\\LKLJMHNGPFTFVGWHXJXLWNUQK[Y[\0"\ + "H\\MFXFRNUNWOXPYSYUXXVZS[P[MZLYKW\0"\ + "H\\UFKTZT RUFU[\0"\ + "H\\WFMFLOMNPMSMVNXPYSYUXXVZS[P[MZLYKW\0"\ + "H\\XIWGTFRFOGMJLOLTMXOZR[S[VZXXYUYTXQVOSNRNOOMQLT\0"\ + "H\\YFO[ RKFYF\0"\ + "H\\PFMGLILKMMONSOVPXRYTYWXYWZT[P[MZLYKWKTLRNPQOUNWMXKXIWGTFPF\0"\ + "H\\XMWPURRSQSNRLPKMKLLINGQFRFUGWIXMXRWWUZR[P[MZLX\0"\ + "AcHBHb RIBIb R[B[b R\\B\\b RDB`B RDbMb RWb`b\0"\ + "BaGBQPFb RFBPP REBPQ REB\\B^I[B RGa\\a RFb\\b^[[b\0"\ + "F^ZIJRZ[\0"\ + "E_IO[O RIU[U\0"\ + "F^JIZRJ[\0"\ + "E_YIK[ RIO[O RIU[U\0"\ + "E_IM[M RIR[R RIW[W\0"\ + "I[RFJ[ RRFZ[ RMTWT\0"\ + "G\\KFK[ RKFTFWGXHYJYLXNWOTP RKPTPWQXRYTYWXYWZT[K[\0"\ + "H]ZKYIWGUFQFOGMILKKNKSLVMXOZQ[U[WZYXZV\0"\ + "G\\KFK[ RKFRFUGWIXKYNYSXVWXUZR[K[\0"\ + "H[LFL[ RLFYF RLPTP RL[Y[\0"\ + "HZLFL[ RLFYF RLPTP\0"\ + "H]ZKYIWGUFQFOGMILKKNKSLVMXOZQ[U[WZYXZVZS RUSZS\0"\ + "G]KFK[ RYFY[ RKPYP\0"\ + "NVRFR[\0"\ + "JZVFVVUYTZR[P[NZMYLVLT\0"\ + "G\\KFK[ RYFKT RPOY[\0"\ + "HYLFL[ RL[X[\0"\ + "F^JFJ[ RJFR[ RZFR[ RZFZ[\0"\ + "G]KFK[ RKFY[ RYFY[\0"\ + "G]PFNGLIKKJNJSKVLXNZP[T[VZXXYVZSZNYKXIVGTFPF\0"\ + "G\\KFK[ RKFTFWGXHYJYMXOWPTQKQ\0"\ + "G]PFNGLIKKJNJSKVLXNZP[T[VZXXYVZSZNYKXIVGTFPF RSWY]\0"\ + "G\\KFK[ RKFTFWGXHYJYLXNWOTPKP RRPY[\0"\ + "H\\YIWGTFPFMGKIKKLMMNOOUQWRXSYUYXWZT[P[MZKX\0"\ + "JZRFR[ RKFYF\0"\ + "G]KFKULXNZQ[S[VZXXYUYF\0"\ + "I[JFR[ RZFR[\0"\ + "F^HFM[ RRFM[ RRFW[ R\\FW[\0"\ + "H\\KFY[ RYFK[\0"\ + "I[JFRPR[ RZFRP\0"\ + "H\\YFK[ RKFYF RK[Y[\0"\ + "KYOBOb RPBPb ROBVB RObVb\0"\ + "KYKFY^\0"\ + "KYTBTb RUBUb RNBUB RNbUb\0"\ + "F_[WYWWVUTRPQOONMNKOJQJSKUMVOVQURTUPWNYM[M\0"\ + "F_\\S[UYVWVUUTTQPPONNLNJOIQISJULVNVPUQTTPUOWNYN[O\\Q\\S\0"\ + "KYQFOGNINKOMQNSNUMVKVIUGSFQF\0"\ + "JZRLRX RMOWU RWOMU\0"\ + "E[HMLMRY RKMR[ R[BR[\0"\ + "AbDMIMRY RHNR[ Rb:R[\0"\ + "F^ZJSJOKMLKNJQJSKVMXOYSZZZ\0"\ + "F^JJJQKULWNYQZSZVYXWYUZQZJ\0"\ + "F^JJQJUKWLYNZQZSYVWXUYQZJZ\0"\ + "F^JZJSKOLMNKQJSJVKXMYOZSZZ\0"\ + "F^ZJSJOKMLKNJQJSKVMXOYSZZZ RJRVR\0"\ + "E_XP[RXT RUMZRUW RIRZR\0"\ + "JZPLRITL RMORJWO RRJR[\0"\ + "E_LPIRLT ROMJROW RJR[R\0"\ + "JZPXR[TX RMURZWU RRIRZ\0"\ + "I\\XRWOVNTMRMONMQLTLWMYNZP[R[UZWXXUYPYKXHWGUFRFPGOHOIPIPH RRMPNNQMTMXNZ RR[TZVXWUXPXKWHUF\0"\ + "H\\JFR[ RKFRY RZFR[ RJFZF RKGYG\0"\ + "AbDMIMRY RHNR[ Rb:R[\0"\ + "F^[CZD[E\\D\\C[BYBWCUETGSJRNPZO^N` RVDUFTJRVQZP]O_MaKbIbHaH`I_J`Ia\0"\ + "Ca].\\.[/[0\\1]1^0^.],[+Y+W,U.T0S3R:QJQjPsOv R\\/\\0]0]/\\/ RR:Rj RU.T1S:SZRjQqPtOvMxKyIyGxFvFtGsHsItIuHvGv RGtGuHuHtGt\0"\ + "I[X+U1R8P=OANFMNMVN^OcPgRlUsXy RU1S6Q is pen-up, see original hershey font */ +const char meteorology [] PROGMEM="JZ\0"\ + "PSSRRSQSPRPQQPRPSQSSRUQV RQQQRRRRQQQ\0"\ + "PTQPPQPSQTSTTSTQSPQP RRQQRRSSRRQ\0"\ + "NVPOTU RTOPU RNRVR\0"\ + "MWRKQMOPMR RRKSMUPWR RRMOQ RRMUQ RROPQ RROTQ RQQSQ RMRWR\0"\ + "F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT\0"\ + "MWMRMQNOONQMSMUNVOWQWR RPNTN ROOUO RNPVP RNQVQ RMRWR\0"\ + "LRLFLRRRLF RLIPQ RLLOR RLOMQ\0"\ + "MWRKQMOPMR RRKSMUPWR\0"\ + "MWWRWQVOUNSMQMONNOMQMR\0"\ + "JZRLRX RMOWU RWOMU\0"\ + "G]]R]P\\MZJWHTGPGMHJJHMGPGR\0"\ + "NVSWRXQWRVSWSYQ[\0"\ + "E_IR[R\0"\ + "NVRVQWRXSWRV\0"\ + "G][BIb\0"\ + "H\\QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF\0"\ + "H\\NJPISFS[\0"\ + "H\\LKLJMHNGPFTFVGWHXJXLWNUQK[Y[\0"\ + "H\\MFXFRNUNWOXPYSYUXXVZS[P[MZLYKW\0"\ + "H\\UFKTZT RUFU[\0"\ + "H\\WFMFLOMNPMSMVNXPYSYUXXVZS[P[MZLYKW\0"\ + "H\\XIWGTFRFOGMJLOLTMXOZR[S[VZXXYUYTXQVOSNRNOOMQLT\0"\ + "H\\YFO[ RKFYF\0"\ + "H\\PFMGLILKMMONSOVPXRYTYWXYWZT[P[MZLYKWKTLRNPQOUNWMXKXIWGTFPF\0"\ + "H\\XMWPURRSQSNRLPKMKLLINGQFRFUGWIXMXRWWUZR[P[MZLX\0"\ + "MWMRMSNUOVQWSWUVVUWSWR\0"\ + "LXLPNRQSSSVRXP\0"\ + "RURUTTURTPRO\0"\ + "RVRRUPVNVLUKTK\0"\ + "NRRROPNNNLOKPK\0"\ + "I[MJNKMLLKLJMHNGPFSFVGWHXJXLWNVORQRT RSFUGVHWJWLVNTP RRYQZR[SZRY\0"\ + "E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\\T]Q]O\\L[JYHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV\0"\ + "I[RFJ[ RRFZ[ RMTWT\0"\ + "G\\KFK[ RKFTFWGXHYJYLXNWOTP RKPTPWQXRYTYWXYWZT[K[\0"\ + "H]ZKYIWGUFQFOGMILKKNKSLVMXOZQ[U[WZYXZV\0"\ + "G\\KFK[ RKFRFUGWIXKYNYSXVWXUZR[K[\0"\ + "H[LFL[ RLFYF RLPTP RL[Y[\0"\ + "HZLFL[ RLFYF RLPTP\0"\ + "H]ZKYIWGUFQFOGMILKKNKSLVMXOZQ[U[WZYXZVZS RUSZS\0"\ + "G]KFK[ RYFY[ RKPYP\0"\ + "NVRFR[\0"\ + "JZVFVVUYTZR[P[NZMYLVLT\0"\ + "G\\KFK[ RYFKT RPOY[\0"\ + "HYLFL[ RL[X[\0"\ + "F^JFJ[ RJFR[ RZFR[ RZFZ[\0"\ + "G]KFK[ RKFY[ RYFY[\0"\ + "G]PFNGLIKKJNJSKVLXNZP[T[VZXXYVZSZNYKXIVGTFPF\0"\ + "G\\KFK[ RKFTFWGXHYJYMXOWPTQKQ\0"\ + "G]PFNGLIKKJNJSKVLXNZP[T[VZXXYVZSZNYKXIVGTFPF RSWY]\0"\ + "G\\KFK[ RKFTFWGXHYJYLXNWOTPKP RRPY[\0"\ + "H\\YIWGTFPFMGKIKKLMMNOOUQWRXSYUYXWZT[P[MZKX\0"\ + "JZRFR[ RKFYF\0"\ + "G]KFKULXNZQ[S[VZXXYUYF\0"\ + "I[JFR[ RZFR[\0"\ + "F^HFM[ RRFM[ RRFW[ R\\FW[\0"\ + "H\\KFY[ RYFK[\0"\ + "I[JFRPR[ RZFRP\0"\ + "H\\YFK[ RKFYF RK[Y[\0"\ + "KYOBOb RPBPb ROBVB RObVb\0"\ + "KYKFY^\0"\ + "KYTBTb RUBUb RNBUB RNbUb\0"\ + "H\\YIWGTFPFMGKIKKLMMNOOUQWRXSYUYXWZT[P[MZKX\0"\ + "G]RRTUUVWWYW[V\\U]S]Q\\O[NYMWMUNTOPUOVMWKWIVHUGSGQHOINKMMMONPORR\0"\ + "G]IWHVGTGQHOINKMMMONPOTUUVWWYW[V\\U]S]P\\N[M\0"\ + "I\\XMX[ RXPVNTMQMONMPLSLUMXOZQ[T[VZXX\0"\ + "H[LFL[ RLPNNPMSMUNWPXSXUWXUZS[P[NZLX\0"\ + "I[XPVNTMQMONMPLSLUMXOZQ[T[VZXX\0"\ + "I\\XFX[ RXPVNTMQMONMPLSLUMXOZQ[T[VZXX\0"\ + "I[LSXSXQWOVNTMQMONMPLSLUMXOZQ[T[VZXX\0"\ + "MYWFUFSGRJR[ ROMVM\0"\ + "I\\XMX]W`VaTbQbOa RXPVNTMQMONMPLSLUMXOZQ[T[VZXX\0"\ + "I\\MFM[ RMQPNRMUMWNXQX[\0"\ + "NVQFRGSFREQF RRMR[\0"\ + "MWRFSGTFSERF RSMS^RaPbNb\0"\ + "IZMFM[ RWMMW RQSX[\0"\ + "NVRFR[\0"\ + "CaGMG[ RGQJNLMOMQNRQR[ RRQUNWMZM\\N]Q][\0"\ + "I\\MMM[ RMQPNRMUMWNXQX[\0"\ + "I\\QMONMPLSLUMXOZQ[T[VZXXYUYSXPVNTMQM\0"\ + "H[LMLb RLPNNPMSMUNWPXSXUWXUZS[P[NZLX\0"\ + "I\\XMXb RXPVNTMQMONMPLSLUMXOZQ[T[VZXX\0"\ + "KXOMO[ ROSPPRNTMWM\0"\ + "J[XPWNTMQMNNMPNRPSUTWUXWXXWZT[Q[NZMX\0"\ + "MYRFRWSZU[W[ ROMVM\0"\ + "I\\MMMWNZP[S[UZXW RXMX[\0"\ + "JZLMR[ RXMR[\0"\ + "G]JMN[ RRMN[ RRMV[ RZMV[\0"\ + "J[MMX[ RXMM[\0"\ + "JZLMR[ RXMR[P_NaLbKb\0"\ + "J[XMM[ RMMXM RM[X[\0"\ + "KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSUSWRYQZP\\P^Q`RaTb\0"\ + "H\\KFK[ RHF[FQP[Z RZV[Y\\[ RZVZY RWYZY RWYZZ\\[\0"\ + "KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQUQWRYSZT\\T^S`RaPb\0"\ + "KYUARBPCNELHKLKRLUNWQXSXVWXUYR RKPLMNKQJSJVKXMYPYVXZV]T_R`Oa\0"\ + "F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O\0"\ +; +/* End of file gen_c_src/meteorology.h */ diff --git a/hf2gcode/hershey_fonts/gen_c_src/music.h b/hf2gcode/hershey_fonts/gen_c_src/music.h new file mode 100644 index 0000000..284d368 --- /dev/null +++ b/hf2gcode/hershey_fonts/gen_c_src/music.h @@ -0,0 +1,105 @@ +/* This file was generated with gen_C_code.m from fixed/music.jhf */ + +/* number of glyphs in font */ +unsigned char music_cnt = 96; + +/* Format: margin left, margin right, X, Y ... \0 +< R> is pen-up, see original hershey font */ +const char music [] PROGMEM="JZ\0"\ + "MWRFQHRTSHRF RRHRN RRYQZR[SZRY\0"\ + "JZMPQRTTVVWYW[V]U^ RMQST RMRPSTUVWWY\0"\ + "JZWKVMTOPQMR RSPMS RUFVGWIWKVNTPQRMT\0"\ + "H\\SMONLPKRKTLVNWQWUVXTYRYPXNVMSM RXNSM RVMQNLP RONKR RLVQW RNWSVXT RUVYR\0"\ + "H\\SMONLPKRKTLVNWQWUVXTYRYPXNVMSM RXNSM RVMQNLP RONKR RLVQW RNWSVXT RUVYR\0"\ + "J[SMPNNPMRMTNVPWRWUVWTXRXPWNUMSM ROPUM RNRVN RMTWO RNUXP ROVWR RPWVT\0"\ + "JZOGO^ RUFU] RMNWL RMOWM RMWWU RMXWV\0"\ + "JZNFNX RVLV^ RNNVL RNOVM RNWVU RNXVV\0"\ + "JZNBNW RNNQLTLVMWOWQVSSUQVNW RNNQMTMVN RUMVOVQUSSU\0"\ + "E_HIHL R\\I\\L RHI\\I RHJ\\J RHK\\K RHL\\L\0"\ + "JZMNMQ RWNWQ RMNWN RMOWO RMPWP RMQWQ\0"\ + "JZMLWX RMLONQOTOVNWMWKUKUMTO RONTO RQOWM RVKVN RULWL RWXUVSUPUNVMWMYOYOWPU RUVPU RSUMW RNVNY RMXOX\0"\ + "JZPOOMOKMKMMNNPOSOUNWL RNKNN RMLOL RMMSO RPOUN RWLWY\0"\ + "JZQCVMRTRU RULQS RTITKPRRUUY RW\\UYSXQXOYN[N]O_Ra RW\\UZSYOYO]P_Ra RSXPZN]\0"\ + "EfNSOUQVSVUUVSVQUOSNQNOONPMSMVNYP[S\\V\\Y[[Y\\W]T]P\\MZJXIUHRHOIMJKLIOHSHXI]KaMcPeTfYf]e`cba RKLJNIRIXJ\\L`NbQdUeYe]d_cba RPOTO ROPUP RNQVQ RNRVR RNSVS ROTUT RPUTU RaLaNcNcLaL RbLbN RaMcM RaVaXcXcVaV RbVbX RaWcW\0"\ + "H\\QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF RQFOGNHMJLOLRMWNYOZQ[ RS[UZVYWWXRXOWJVHUGSF\0"\ + "H\\NJPISFS[ RRGR[ RN[W[\0"\ + "H\\LJMKLLKKKJLHMGPFTFWGXHYJYLXNUPPRNSLUKXK[ RTFVGWHXJXLWNTPPR RKYLXNXSZVZXYYX RNXS[W[XZYXYV\0"\ + "H\\LJMKLLKKKJLHMGPFTFWGXIXLWNTOQO RTFVGWIWLVNTO RTOVPXRYTYWXYWZT[P[MZLYKWKVLUMVLW RWQXTXWWYVZT[\0"\ + "H\\THT[ RUFU[ RUFJUZU RQ[X[\0"\ + "H\\MFKP RKPMNPMSMVNXPYSYUXXVZS[P[MZLYKWKVLUMVLW RSMUNWPXSXUWXUZS[ RMFWF RMGRGWF\0"\ + "H\\WIVJWKXJXIWGUFRFOGMILKKOKULXNZQ[S[VZXXYUYTXQVOSNRNOOMQLT RRFPGNIMKLOLUMXOZQ[ RS[UZWXXUXTWQUOSN\0"\ + "H\\KFKL RKJLHNFPFUIWIXHYF RLHNGPGUI RYFYIXLTQSSRVR[ RXLSQRSQVQ[\0"\ + "H\\PFMGLILLMNPOTOWNXLXIWGTFPF RPFNGMIMLNNPO RTOVNWLWIVGTF RPOMPLQKSKWLYMZP[T[WZXYYWYSXQWPTO RPONPMQLSLWMYNZP[ RT[VZWYXWXSWQVPTO\0"\ + "H\\XMWPURRSQSNRLPKMKLLINGQFSFVGXIYLYRXVWXUZR[O[MZLXLWMVNWMX RQSORMPLMLLMIOGQF RSFUGWIXLXRWVVXTZR[\0"\ + "MWRMQNROSNRM RRYQZR[SZRY\0"\ + "A^GfHfIeIdHcGcFdFfGhIiKiNhPfQdR`RUQ;Q4R/S-U,V,X-Y/Y3X6W8U;P?JCHEFHEJDNDREVGYJ[N\\R\\V[XZZW[T[PZMYKWITHPHMIKKJNJRKUMW RGdGeHeHdGd RU;Q?LCIFGIFKENERFVGXJ[ RR\\U[WZYWZTZPYMXKVITH\0"\ + "EfNSOUQVSVUUVSVQUOSNQNOONPMSMVNYP[S\\V\\Y[[Y\\W]T]P\\MZJXIUHRHOIMJKLIOHSHXI]KaMcPeTfYf]e`cba RKLJNIRIXJ\\L`NbQdUeYe]d_cba RPOTO ROPUP RNQVQ RNRVR RNSVS ROTUT RPUTU RaLaNcNcLaL RbLbN RaMcM RaVaXcXcVaV RbVbX RaWcW\0"\ + "IjNQOOQNSNUOVQVSUUSVQVOUNTMQMNNKPISHWH[I^K`NaRaW`[_]]`ZcVfQiMk RWHZI]K_N`R`W_[^]\\`YcTgQi RPOTO ROPUP RNQVQ RNRVR RNSVS ROTUT RPUTU ReLeNgNgLeL RfLfN ReMgM ReVeXgXgVeV RfVfX ReWgW\0"\ + "D`H@Hd RM@Md RW@Wd R\\@\\d RMMWK RMNWL RMOWM RMWWU RMXWV RMYWW\0"\ + "D`H>Hf RI>If RM>Mf RQBSBSDQDQAR?T>W>Y?[A\\D\\I[LYNWOUOSNRLQNOQNROSQVRXSVUUWUYV[X\\[\\`[cYeWfTfReQcQ`S`SbQb RRBRD RQCSC RY?ZA[D[IZLYN RRLRNPQNRPSRVRX RYVZX[[[`ZcYe RR`Rb RQaSa\0"\ + "JZMNMQ RWNWQ RMNWN RMOWO RMPWP RMQWQ\0"\ + "H\\UFH[ RUFV[ RTHU[ RLUUU RF[L[ RR[X[\0"\ + "F^OFI[ RPFJ[ RLFWFZG[I[KZNYOVP RWFYGZIZKYNXOVP RMPVPXQYSYUXXVZR[F[ RVPWQXSXUWXUZR[\0"\ + "H]ZH[H\\F[L[JZHYGWFTFQGOIMLLOKSKVLYMZP[S[UZWXXV RTFRGPINLMOLSLVMYNZP[\0"\ + "F]OFI[ RPFJ[ RLFUFXGYHZKZOYSWWUYSZO[F[ RUFWGXHYKYOXSVWTYRZO[\0"\ + "F]OFI[ RPFJ[ RTLRT RLF[FZLZF RMPSP RF[U[WVT[\0"\ + "F\\OFI[ RPFJ[ RTLRT RLF[FZLZF RMPSP RF[M[\0"\ + "H^ZH[H\\F[L[JZHYGWFTFQGOIMLLOKSKVLYMZP[R[UZWXYT RTFRGPINLMOLSLVMYNZP[ RR[TZVXXT RUT\\T\0"\ + "E_NFH[ ROFI[ R[FU[ R\\FV[ RKFRF RXF_F RLPXP RE[L[ RR[Y[\0"\ + "LYUFO[ RVFP[ RRFYF RL[S[\0"\ + "I[XFSWRYQZO[M[KZJXJVKULVKW RWFRWQYO[ RTF[F\0"\ + "F]OFI[ RPFJ[ R]FLS RSOW[ RROV[ RLFSF RYF_F RF[M[ RS[Y[\0"\ + "H\\QFK[ RRFL[ RNFUF RH[W[YUV[\0"\ + "E`NFH[ RNFO[ ROFPY R\\FO[ R\\FV[ R]FW[ RKFOF R\\F`F RE[K[ RS[Z[\0"\ + "F_OFI[ ROFVX ROIV[ R\\FV[ RLFOF RYF_F RF[L[\0"\ + "G]SFPGNILLKOJSJVKYLZN[Q[TZVXXUYRZNZKYHXGVFSF RSFQGOIMLLOKSKVLYN[ RQ[SZUXWUXRYNYKXHVF\0"\ + "F]OFI[ RPFJ[ RLFXF[G\\I\\K[NYPUQMQ RXFZG[I[KZNXPUQ RF[M[\0"\ + "G]SFPGNILLKOJSJVKYLZN[Q[TZVXXUYRZNZKYHXGVFSF RSFQGOIMLLOKSKVLYN[ RQ[SZUXWUXRYNYKXHVF RLYLXMVOUPURVSXS_T`V`W^W] RSXT^U_V_W^\0"\ + "F^OFI[ RPFJ[ RLFWFZG[I[KZNYOVPMP RWFYGZIZKYNXOVP RRPTQURVZW[Y[ZYZX RURWYXZYZZY RF[M[\0"\ + "G^ZH[H\\F[L[JZHYGVFRFOGMIMKNMONVRXT RMKOMVQWRXTXWWYVZS[O[LZKYJWJUI[JYKY\0"\ + "H]UFO[ RVFP[ ROFLLNF]F\\L\\F RL[S[\0"\ + "F_NFKQJUJXKZN[R[UZWXXU\\F ROFLQKUKXLZN[ RKFRF RYF_F\0"\ + "H\\NFO[ ROFPY R\\FO[ RLFRF RXF^F\0"\ + "E_MFK[ RNFLY RUFK[ RUFS[ RVFTY R]FS[ RJFQF RZF`F\0"\ + "G]NFU[ ROFV[ R\\FH[ RLFRF RXF^F RF[L[ RR[X[\0"\ + "H]NFRPO[ ROFSPP[ R]FSP RLFRF RYF_F RL[S[\0"\ + "G][FH[ R\\FI[ ROFLLNF\\F RH[V[XUU[\0"\ + "KYOBOb RPBPb ROBVB RObVb\0"\ + "KYKFY^\0"\ + "KYTBTb RUBUb RNBUB RNbUb\0"\ + "LXTFOL RTFUGOL\0"\ + "E_IR[R\0"\ + "LXPFUL RPFOGUL\0"\ + "H]XMVTUXUZV[Y[[Y\\W RYMWTVXVZW[ RVTVQUNSMQMNNLQKTKWLYMZO[Q[SZUWVT RQMONMQLTLXMZ\0"\ + "H[PFLSLVMYNZ RQFMS RMSNPPNRMTMVNWOXQXTWWUZR[P[NZMWMS RVNWPWTVWTZR[ RMFQF\0"\ + "I[WPWQXQXPWNUMRMONMQLTLWMYNZP[R[UZWW RRMPNNQMTMXNZ\0"\ + "H]ZFVTUXUZV[Y[[Y\\W R[FWTVXVZW[ RVTVQUNSMQMNNLQKTKWLYMZO[Q[SZUWVT RQMONMQLTLXMZ RWF[F\0"\ + "I[MVQUTTWRXPWNUMRMONMQLTLWMYNZP[R[UZWX RRMPNNQMTMXNZ\0"\ + "KZZGYHZI[H[GZFXFVGUHTJSMP[O_Na RXFVHUJTNRWQ[P^O`NaLbJbIaI`J_K`Ja ROMYM\0"\ + "H\\YMU[T^RaObLbJaI`I_J^K_J` RXMT[S^QaOb RVTVQUNSMQMNNLQKTKWLYMZO[Q[SZUWVT RQMONMQLTLXMZ\0"\ + "H]PFJ[ RQFK[ RMTOPQNSMUMWNXOXQVWVZW[ RUMWOWQUWUZV[Y[[Y\\W RMFQF\0"\ + "LYUFTGUHVGUF RMQNOPMSMTNTQRWRZS[ RRMSNSQQWQZR[U[WYXW\0"\ + "LYVFUGVHWGVF RNQOOQMTMUNUQR[Q^P`OaMbKbJaJ`K_L`Ka RSMTNTQQ[P^O`Mb\0"\ + "H\\PFJ[ RQFK[ RXNWOXPYOYNXMWMUNQROSMS ROSQTSZT[ ROSPTRZS[U[WZYW RMFQF\0"\ + "MYUFQTPXPZQ[T[VYWW RVFRTQXQZR[ RRFVF\0"\ + "AbBQCOEMHMINIPHTF[ RGMHNHPGTE[ RHTJPLNNMPMRNSOSQP[ RPMRORQO[ RRTTPVNXMZM\\N]O]Q[W[Z\\[ RZM\\O\\QZWZZ[[^[`YaW\0"\ + "F]GQHOJMMMNNNPMTK[ RLMMNMPLTJ[ RMTOPQNSMUMWNXOXQVWVZW[ RUMWOWQUWUZV[Y[[Y\\W\0"\ + "I[RMONMQLTLWMYNZP[R[UZWWXTXQWOVNTMRM RRMPNNQMTMXNZ RR[TZVWWTWPVN\0"\ + "G\\HQIOKMNMONOPNTJb RMMNNNPMTIb RNTOQQNSMUMWNXOYQYTXWVZS[Q[OZNWNT RWNXPXTWWUZS[ RFbMb\0"\ + "H\\XMRb RYMSb RVTVQUNSMQMNNLQKTKWLYMZO[Q[SZUWVT RQMONMQLTLXMZ RObVb\0"\ + "IZJQKOMMPMQNQPPTN[ ROMPNPPOTM[ RPTRPTNVMXMYNYOXPWOXN\0"\ + "J[XOXPYPYOXNUMRMONNONQORVVWW RNPOQVUWVWYVZS[P[MZLYLXMXMY\0"\ + "KYTFPTOXOZP[S[UYVW RUFQTPXPZQ[ RNMWM\0"\ + "F]GQHOJMMMNNNQLWLYN[ RLMMNMQKWKYLZN[P[RZTXVT RXMVTUXUZV[Y[[Y\\W RYMWTVXVZW[\0"\ + "H\\IQJOLMOMPNPQNWNYP[ RNMONOQMWMYNZP[Q[TZVXXUYQYMXMYO\0"\ + "C`DQEOGMJMKNKQIWIYK[ RIMJNJQHWHYIZK[M[OZQXRV RTMRVRYSZU[W[YZ[X\\V]R]M\\M]O RUMSVSYU[\0"\ + "H\\KQMNOMRMSOSR RQMRORRQVPXNZL[K[JZJYKXLYKZ RQVQYR[U[WZYW RYNXOYPZOZNYMXMVNTPSRRVRYS[\0"\ + "G\\HQIOKMNMONOQMWMYO[ RMMNNNQLWLYMZO[Q[SZUXWT RZMV[U^SaPbMbKaJ`J_K^L_K` RYMU[T^RaPb\0"\ + "H\\YMXOVQNWLYK[ RLQMOOMRMVO RMOONRNVOXO RLYNYRZUZWY RNYR[U[WYXW\0"\ + "KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSUSWRYQZP\\P^Q`RaTb\0"\ + "NVRBRb\0"\ + "KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQUQWRYSZT\\T^S`RaPb\0"\ + "F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O\0"\ + "JZJFJ[K[KFLFL[M[MFNFN[O[OFPFP[Q[QFRFR[S[SFTFT[U[UFVFV[W[WFXFX[Y[YFZFZ[\0"\ +; +/* End of file gen_c_src/music.h */ diff --git a/hf2gcode/hershey_fonts/gen_c_src/rowmand.h b/hf2gcode/hershey_fonts/gen_c_src/rowmand.h new file mode 100644 index 0000000..edc9eac --- /dev/null +++ b/hf2gcode/hershey_fonts/gen_c_src/rowmand.h @@ -0,0 +1,105 @@ +/* This file was generated with gen_C_code.m from fixed/rowmand.jhf */ + +/* number of glyphs in font */ +unsigned char rowmand_cnt = 96; + +/* Format: margin left, margin right, X, Y ... \0 +< R> is pen-up, see original hershey font */ +const char rowmand [] PROGMEM="JZ\0"\ + "MXRFRTST RRFSFST RRXQYQZR[S[TZTYSXRX RRYRZSZSYRY\0"\ + "I[NFMGMM RNGMM RNFOGMM RWFVGVM RWGVM RWFXGVM\0"\ + "H]SFLb RYFRb RLQZQ RKWYW\0"\ + "I\\RBR_S_ RRBSBS_ RWIYIWGTFQFNGLILKMMNNVRWSXUXWWYTZQZOYNX RWIVHTGQGNHMIMKNMVQXSYUYWXYWZT[Q[NZLXNX RXXUZ\0"\ + "F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT\0"\ + "F_\\MZMXNWPUVTXSYQZMZKYJWJUKSLRQOSMTKTISGQFPFNGMIMKNNPQUWXZZ[\\[ R\\M\\NZNXO RYNXPVVUXSZQ[M[KZJYIWIUJSLQQNRMSKSIRG RSHQGPGNH ROGNINKONQQVWXYZZ\\Z\\[\0"\ + "MXTHSIRIQHQGRFSFTGTJSLQM RRGRHSHSGRG RSITJ RTHSL\0"\ + "KYUBSDQGOKNPNTOYQ]S`UbVb RUBVBTDRGPKOPOTPYR]T`Vb\0"\ + "KYNBPDRGTKUPUTTYR]P`NbOb RNBOBQDSGUKVPVTUYS]Q`Ob\0"\ + "JZRFQGSQRR RRFRR RRFSGQQRR RMINIVOWO RMIWO RMIMJWNWO RWIVINOMO RWIMO RWIWJMNMO\0"\ + "F_RIRZSZ RRISISZ RJQ[Q[R RJQJR[R\0"\ + "MXTZS[R[QZQYRXSXTYT\\S^Q_ RRYRZSZSYRY RS[T\\ RTZS^\0"\ + "F_JQ[Q[R RJQJR[R\0"\ + "MXRXQYQZR[S[TZTYSXRX RRYRZSZSYRY\0"\ + "G^[BIbJb R[B\\BJb\0"\ + "H\\QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF ROGMJLOLRMWOZ RNYQZSZVY RUZWWXRXOWJUG RVHSGQGNH\0"\ + "H\\NJPISFS[ RNJNKPJRHR[S[\0"\ + "H\\LKLJMHNGPFTFVGWHXJXLWNUQL[ RLKMKMJNHPGTGVHWJWLVNTQK[ RLZYZY[ RK[Y[\0"\ + "H\\MFXFQO RMFMGWG RWFPO RQNSNVOXQYTYUXXVZS[P[MZLYKWLW RPOSOVPXS RTOWQXTXUWXTZ RXVVYSZPZMYLW ROZLX\0"\ + "H\\UIU[V[ RVFV[ RVFKVZV RUILV RLUZUZV\0"\ + "H\\MFLO RNGMN RMFWFWG RNGWG RMNPMSMVNXPYSYUXXVZS[P[MZLYKWLW RLOMOONSNVOXR RTNWPXSXUWXTZ RXVVYSZPZMYLW ROZLX\0"\ + "H\\VGWIXIWGTFRFOGMJLOLTMXOZR[S[VZXXYUYTXQVOSNRNOOMQ RWHTGRGOH RPGNJMOMTNXQZ RMVOYRZSZVYXV RTZWXXUXTWQTO RXSVPSOROOPMS RQONQMT\0"\ + "H\\KFYFO[ RKFKGXG RXFN[O[\0"\ + "H\\PFMGLILKMMNNPOTPVQWRXTXWWYTZPZMYLWLTMRNQPPTOVNWMXKXIWGTFPF RNGMIMKNMPNTOVPXRYTYWXYWZT[P[MZLYKWKTLRNPPOTNVMWKWIVG RWHTGPGMH RLXOZ RUZXX\0"\ + "H\\WPURRSQSNRLPKMKLLINGQFRFUGWIXMXRWWUZR[P[MZLXMXNZ RWMVPSR RWNUQRRQRNQLN RPRMPLMLLMIPG RLKNHQGRGUHWK RSGVIWMWRVWTZ RUYRZPZMY\0"\ + "MXRMQNQORPSPTOTNSMRM RRNROSOSNRN RRXQYQZR[S[TZTYSXRX RRYRZSZSYRY\0"\ + "MXRMQNQORPSPTOTNSMRM RRNROSOSNRN RTZS[R[QZQYRXSXTYT\\S^Q_ RRYRZSZSYRY RS[T\\ RTZS^\0"\ + "F^ZIJRZ[\0"\ + "F_JM[M[N RJMJN[N RJU[U[V RJUJV[V\0"\ + "F^JIZRJ[\0"\ + "I\\LKLJMHNGQFTFWGXHYJYLXNWOUPRQ RLKMKMJNHQGTGWHXJXLWNUORP RMIPG RUGXI RXMTP RRPRTSTSP RRXQYQZR[S[TZTYSXRX RRYRZSZSYRY\0"\ + "E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\\T]Q]O\\L[JYHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV\0"\ + "H\\RFJ[ RRIK[J[ RRIY[Z[ RRFZ[ RMUWU RLVXV\0"\ + "H\\LFL[ RMGMZ RLFTFWGXHYJYMXOWPTQ RMGTGWHXJXMWOTP RMPTPWQXRYTYWXYWZT[L[ RMQTQWRXTXWWYTZMZ\0"\ + "H]ZKYIWGUFQFOGMILKKNKSLVMXOZQ[U[WZYXZV RZKYKXIWHUGQGOHMKLNLSMVOYQZUZWYXXYVZV\0"\ + "H]LFL[ RMGMZ RLFSFVGXIYKZNZSYVXXVZS[L[ RMGSGVHWIXKYNYSXVWXVYSZMZ\0"\ + "I\\MFM[ RNGNZ RMFYF RNGYGYF RNPTPTQ RNQTQ RNZYZY[ RM[Y[\0"\ + "I[MFM[ RNGN[M[ RMFYF RNGYGYF RNPTPTQ RNQTQ\0"\ + "H]ZKYIWGUFQFOGMILKKNKSLVMXOZQ[U[WZYXZVZRUR RZKYKXIWHUGQGOHNIMKLNLSMVNXOYQZUZWYXXYVYSUSUR\0"\ + "G]KFK[ RKFLFL[K[ RYFXFX[Y[ RYFY[ RLPXP RLQXQ\0"\ + "NWRFR[S[ RRFSFS[\0"\ + "J[VFVVUYSZQZOYNVMV RVFWFWVVYUZS[Q[OZNYMV\0"\ + "H]LFL[M[ RLFMFM[ RZFYFMR RZFMS RPOY[Z[ RQOZ[\0"\ + "IZMFM[ RMFNFNZ RNZYZY[ RM[Y[\0"\ + "F^JFJ[ RKKK[J[ RKKR[ RJFRX RZFRX RYKR[ RYKY[Z[ RZFZ[\0"\ + "G]KFK[ RLIL[K[ RLIY[ RKFXX RXFXX RXFYFY[\0"\ + "G]PFNGLIKKJNJSKVLXNZP[T[VZXXYVZSZNYKXIVGTFPF RQGNHLKKNKSLVNYQZSZVYXVYSYNXKVHSGQG\0"\ + "H\\LFL[ RMGM[L[ RLFUFWGXHYJYMXOWPUQMQ RMGUGWHXJXMWOUPMP\0"\ + "G]PFNGLIKKJNJSKVLXNZP[T[VZXXYVZSZNYKXIVGTFPF RQGNHLKKNKSLVNYQZSZVYXVYSYNXKVHSGQG RSXX]Y] RSXTXY]\0"\ + "H\\LFL[ RMGM[L[ RLFTFWGXHYJYMXOWPTQMQ RMGTGWHXJXMWOTPMP RRQX[Y[ RSQY[\0"\ + "H\\YIWGTFPFMGKIKKLMMNOOTQVRWSXUXXWYTZPZNYMXKX RYIWIVHTGPGMHLILKMMONTPVQXSYUYXWZT[P[MZKX\0"\ + "J[RGR[ RSGS[R[ RLFYFYG RLFLGYG\0"\ + "G]KFKULXNZQ[S[VZXXYUYF RKFLFLUMXNYQZSZVYWXXUXFYF\0"\ + "H\\JFR[ RJFKFRX RZFYFRX RZFR[\0"\ + "E_GFM[ RGFHFMX RRFMX RRIM[ RRIW[ RRFWX R]F\\FWX R]FW[\0"\ + "H\\KFX[Y[ RKFLFY[ RYFXFK[ RYFL[K[\0"\ + "I\\KFRPR[S[ RKFLFSP RZFYFRP RZFSPS[\0"\ + "H\\XFK[ RYFL[ RKFYF RKFKGXG RLZYZY[ RK[Y[\0"\ + "KYOBOb RPBPb ROBVB RObVb\0"\ + "KYKFY^\0"\ + "KYTBTb RUBUb RNBUB RNbUb\0"\ + "JZPLRITL RMORJWO RRJR[\0"\ + "JZJ]Z]\0"\ + "MXTFRGQIQLRMSMTLTKSJRJQK RRKRLSLSKRK RRGQK RQIRJ\0"\ + "H\\WMW[X[ RWMXMX[ RWPUNSMPMNNLPKSKULXNZP[S[UZWX RWPSNPNNOMPLSLUMXNYPZSZWX\0"\ + "H\\LFL[M[ RLFMFM[ RMPONQMTMVNXPYSYUXXVZT[Q[OZMX RMPQNTNVOWPXSXUWXVYTZQZMX\0"\ + "I[XPVNTMQMONMPLSLUMXOZQ[T[VZXX RXPWQVOTNQNOONPMSMUNXOYQZTZVYWWXX\0"\ + "H\\WFW[X[ RWFXFX[ RWPUNSMPMNNLPKSKULXNZP[S[UZWX RWPSNPNNOMPLSLUMXNYPZSZWX\0"\ + "I[MTXTXQWOVNTMQMONMPLSLUMXOZQ[T[VZXX RMSWSWQVOTNQNOONPMSMUNXOYQZTZVYWWXX\0"\ + "LZWFUFSGRJR[S[ RWFWGUGSH RTGSJS[ ROMVMVN ROMONVN\0"\ + "H\\XMWMW\\V_U`SaQaO`N_L_ RXMX\\W_UaSbPbNaL_ RWPUNSMPMNNLPKSKULXNZP[S[UZWX RWPSNPNNOMPLSLUMXNYPZSZWX\0"\ + "H\\LFL[M[ RLFMFM[ RMQPNRMUMWNXQX[ RMQPORNTNVOWQW[X[\0"\ + "NWRFQGQHRISITHTGSFRF RRGRHSHSGRG RRMR[S[ RRMSMS[\0"\ + "NWRFQGQHRISITHTGSFRF RRGRHSHSGRG RRMRbSb RRMSMSb\0"\ + "H[LFL[M[ RLFMFM[ RXMWMMW RXMMX RPTV[X[ RQSX[\0"\ + "NWRFR[S[ RRFSFS[\0"\ + "CbGMG[H[ RGMHMH[ RHQKNMMPMRNSQS[ RHQKOMNONQORQR[S[ RSQVNXM[M]N^Q^[ RSQVOXNZN\\O]Q][^[\0"\ + "H\\LML[M[ RLMMMM[ RMQPNRMUMWNXQX[ RMQPORNTNVOWQW[X[\0"\ + "I\\QMONMPLSLUMXOZQ[T[VZXXYUYSXPVNTMQM RQNOONPMSMUNXOYQZTZVYWXXUXSWPVOTNQN\0"\ + "H\\LMLbMb RLMMMMb RMPONQMTMVNXPYSYUXXVZT[Q[OZMX RMPQNTNVOWPXSXUWXVYTZQZMX\0"\ + "H\\WMWbXb RWMXMXb RWPUNSMPMNNLPKSKULXNZP[S[UZWX RWPSNPNNOMPLSLUMXNYPZSZWX\0"\ + "KYOMO[P[ ROMPMP[ RPSQPSNUMXM RPSQQSOUNXNXM\0"\ + "J[XPWNTMQMNNMPNRPSUUWV RVUWWWXVZ RWYTZQZNY ROZNXMX RXPWPVN RWOTNQNNO RONNPOR RNQPRUTWUXWXXWZT[Q[NZMX\0"\ + "MXRFR[S[ RRFSFS[ ROMVMVN ROMONVN\0"\ + "H\\LMLWMZO[R[TZWW RLMMMMWNYPZRZTYWW RWMW[X[ RWMXMX[\0"\ + "JZLMR[ RLMMMRY RXMWMRY RXMR[\0"\ + "F^IMN[ RIMJMNX RRMNX RRPN[ RRPV[ RRMVX R[MZMVX R[MV[\0"\ + "I[LMW[X[ RLMMMX[ RXMWML[ RXMM[L[\0"\ + "JZLMR[ RLMMMRY RXMWMRYNb RXMR[ObNb\0"\ + "I[VNL[ RXMNZ RLMXM RLMLNVN RNZXZX[ RL[X[\0"\ + "KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSUSWRYQZP\\P^Q`RaTb\0"\ + "NVRBRb\0"\ + "KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQUQWRYSZT\\T^S`RaPb\0"\ + "F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O\0"\ + "KYQFOGNINKOMQNSNUMVKVIUGSFQF RQFNIOMSNVKUGQF RSFOGNKQNUMVISF\0"\ +; +/* End of file gen_c_src/rowmand.h */ diff --git a/hf2gcode/hershey_fonts/gen_c_src/rowmans.h b/hf2gcode/hershey_fonts/gen_c_src/rowmans.h new file mode 100644 index 0000000..b56d3b1 --- /dev/null +++ b/hf2gcode/hershey_fonts/gen_c_src/rowmans.h @@ -0,0 +1,105 @@ +/* This file was generated with gen_C_code.m from fixed/rowmans.jhf */ + +/* number of glyphs in font */ +unsigned char rowmans_cnt = 96; + +/* Format: margin left, margin right, X, Y ... \0 +< R> is pen-up, see original hershey font */ +const char rowmans [] PROGMEM="JZ\0"\ + "MWRFRT RRYQZR[SZRY\0"\ + "JZNFNM RVFVM\0"\ + "H]SBLb RYBRb RLOZO RKUYU\0"\ + "H\\PBP_ RTBT_ RYIWGTFPFMGKIKKLMMNOOUQWRXSYUYXWZT[P[MZKX\0"\ + "F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT\0"\ + "E_\\O\\N[MZMYNXPVUTXRZP[L[JZIYHWHUISJRQNRMSKSIRGPFNGMIMKNNPQUXWZY[[[\\Z\\Y\0"\ + "MWRHQGRFSGSIRKQL\0"\ + "KYVBTDRGPKOPOTPYR]T`Vb\0"\ + "KYNBPDRGTKUPUTTYR]P`Nb\0"\ + "JZRFRR RMIWO RWIMO\0"\ + "E_RIR[ RIR[R\0"\ + "MWSZR[QZRYSZS\\R^Q_\0"\ + "E_IR[R\0"\ + "MWRYQZR[SZRY\0"\ + "G][BIb\0"\ + "H\\QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF\0"\ + "H\\NJPISFS[\0"\ + "H\\LKLJMHNGPFTFVGWHXJXLWNUQK[Y[\0"\ + "H\\MFXFRNUNWOXPYSYUXXVZS[P[MZLYKW\0"\ + "H\\UFKTZT RUFU[\0"\ + "H\\WFMFLOMNPMSMVNXPYSYUXXVZS[P[MZLYKW\0"\ + "H\\XIWGTFRFOGMJLOLTMXOZR[S[VZXXYUYTXQVOSNRNOOMQLT\0"\ + "H\\YFO[ RKFYF\0"\ + "H\\PFMGLILKMMONSOVPXRYTYWXYWZT[P[MZLYKWKTLRNPQOUNWMXKXIWGTFPF\0"\ + "H\\XMWPURRSQSNRLPKMKLLINGQFRFUGWIXMXRWWUZR[P[MZLX\0"\ + "MWRMQNROSNRM RRYQZR[SZRY\0"\ + "MWRMQNROSNRM RSZR[QZRYSZS\\R^Q_\0"\ + "F^ZIJRZ[\0"\ + "E_IO[O RIU[U\0"\ + "F^JIZRJ[\0"\ + "I[LKLJMHNGPFTFVGWHXJXLWNVORQRT RRYQZR[SZRY\0"\ + "E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\\T]Q]O\\L[JYHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV\0"\ + "I[RFJ[ RRFZ[ RMTWT\0"\ + "G\\KFK[ RKFTFWGXHYJYLXNWOTP RKPTPWQXRYTYWXYWZT[K[\0"\ + "H]ZKYIWGUFQFOGMILKKNKSLVMXOZQ[U[WZYXZV\0"\ + "G\\KFK[ RKFRFUGWIXKYNYSXVWXUZR[K[\0"\ + "H[LFL[ RLFYF RLPTP RL[Y[\0"\ + "HZLFL[ RLFYF RLPTP\0"\ + "H]ZKYIWGUFQFOGMILKKNKSLVMXOZQ[U[WZYXZVZS RUSZS\0"\ + "G]KFK[ RYFY[ RKPYP\0"\ + "NVRFR[\0"\ + "JZVFVVUYTZR[P[NZMYLVLT\0"\ + "G\\KFK[ RYFKT RPOY[\0"\ + "HYLFL[ RL[X[\0"\ + "F^JFJ[ RJFR[ RZFR[ RZFZ[\0"\ + "G]KFK[ RKFY[ RYFY[\0"\ + "G]PFNGLIKKJNJSKVLXNZP[T[VZXXYVZSZNYKXIVGTFPF\0"\ + "G\\KFK[ RKFTFWGXHYJYMXOWPTQKQ\0"\ + "G]PFNGLIKKJNJSKVLXNZP[T[VZXXYVZSZNYKXIVGTFPF RSWY]\0"\ + "G\\KFK[ RKFTFWGXHYJYLXNWOTPKP RRPY[\0"\ + "H\\YIWGTFPFMGKIKKLMMNOOUQWRXSYUYXWZT[P[MZKX\0"\ + "JZRFR[ RKFYF\0"\ + "G]KFKULXNZQ[S[VZXXYUYF\0"\ + "I[JFR[ RZFR[\0"\ + "F^HFM[ RRFM[ RRFW[ R\\FW[\0"\ + "H\\KFY[ RYFK[\0"\ + "I[JFRPR[ RZFRP\0"\ + "H\\YFK[ RKFYF RK[Y[\0"\ + "KYOBOb RPBPb ROBVB RObVb\0"\ + "KYKFY^\0"\ + "KYTBTb RUBUb RNBUB RNbUb\0"\ + "JZPLRITL RMORJWO RRJR[\0"\ + "JZJ]Z]\0"\ + "MWSFRGQIQKRLSKRJ\0"\ + "I\\XMX[ RXPVNTMQMONMPLSLUMXOZQ[T[VZXX\0"\ + "H[LFL[ RLPNNPMSMUNWPXSXUWXUZS[P[NZLX\0"\ + "I[XPVNTMQMONMPLSLUMXOZQ[T[VZXX\0"\ + "I\\XFX[ RXPVNTMQMONMPLSLUMXOZQ[T[VZXX\0"\ + "I[LSXSXQWOVNTMQMONMPLSLUMXOZQ[T[VZXX\0"\ + "MYWFUFSGRJR[ ROMVM\0"\ + "I\\XMX]W`VaTbQbOa RXPVNTMQMONMPLSLUMXOZQ[T[VZXX\0"\ + "I\\MFM[ RMQPNRMUMWNXQX[\0"\ + "NVQFRGSFREQF RRMR[\0"\ + "MWRFSGTFSERF RSMS^RaPbNb\0"\ + "IZMFM[ RWMMW RQSX[\0"\ + "NVRFR[\0"\ + "CaGMG[ RGQJNLMOMQNRQR[ RRQUNWMZM\\N]Q][\0"\ + "I\\MMM[ RMQPNRMUMWNXQX[\0"\ + "I\\QMONMPLSLUMXOZQ[T[VZXXYUYSXPVNTMQM\0"\ + "H[LMLb RLPNNPMSMUNWPXSXUWXUZS[P[NZLX\0"\ + "I\\XMXb RXPVNTMQMONMPLSLUMXOZQ[T[VZXX\0"\ + "KXOMO[ ROSPPRNTMWM\0"\ + "J[XPWNTMQMNNMPNRPSUTWUXWXXWZT[Q[NZMX\0"\ + "MYRFRWSZU[W[ ROMVM\0"\ + "I\\MMMWNZP[S[UZXW RXMX[\0"\ + "JZLMR[ RXMR[\0"\ + "G]JMN[ RRMN[ RRMV[ RZMV[\0"\ + "J[MMX[ RXMM[\0"\ + "JZLMR[ RXMR[P_NaLbKb\0"\ + "J[XMM[ RMMXM RM[X[\0"\ + "KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSUSWRYQZP\\P^Q`RaTb\0"\ + "NVRBRb\0"\ + "KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQUQWRYSZT\\T^S`RaPb\0"\ + "F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O\0"\ + "KYQFOGNINKOMQNSNUMVKVIUGSFQF\0"\ +; +/* End of file gen_c_src/rowmans.h */ diff --git a/hf2gcode/hershey_fonts/gen_c_src/rowmant.h b/hf2gcode/hershey_fonts/gen_c_src/rowmant.h new file mode 100644 index 0000000..5cdd12d --- /dev/null +++ b/hf2gcode/hershey_fonts/gen_c_src/rowmant.h @@ -0,0 +1,105 @@ +/* This file was generated with gen_C_code.m from fixed/rowmant.jhf */ + +/* number of glyphs in font */ +unsigned char rowmant_cnt = 96; + +/* Format: margin left, margin right, X, Y ... \0 +< R> is pen-up, see original hershey font */ +const char rowmant [] PROGMEM="JZ\0"\ + "MXRFQGQIRQ RRFRTST RRFSFST RSFTGTISQ RRXQYQZR[S[TZTYSXRX RRYRZSZSYRY\0"\ + "I[NFMGMM RNGMM RNFOGMM RWFVGVM RWGVM RWFXGVM\0"\ + "H]SFLb RYFRb RLQZQ RKWYW\0"\ + "H\\PBP_ RTBT_ RXKXJWJWLYLYJXHWGTFPFMGKIKLLNOPURWSXUXXWZ RLLMNOOUQWRXT RMGLILKMMONUPXRYTYWXYWZT[P[MZLYKWKUMUMWLWLV\0"\ + "F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT\0"\ + "E_[O[NZNZP\\P\\N[MZMYNXPVUTXRZP[L[JZIXIUJSPORMSKSIRGPFNGMIMLNOPRTWWZY[[[\\Y\\X RKZJXJUKSLR RRMSI RSKRG RNGMK RNNPQTVWYYZ RN[LZKXKULSPO RMINMQQUVXYZZ[Z\\Y\0"\ + "MXTHSIRIQHQGRFSFTGTJSLQM RRGRHSHSGRG RSITJ RTHSL\0"\ + "KYUBSDQGOKNPNTOYQ]S`Ub RQHPKOOOUPYQ\\ RSDRFQIPOPUQ[R^S`\0"\ + "KYOBQDSGUKVPVTUYS]Q`Ob RSHTKUOUUTYS\\ RQDRFSITOTUS[R^Q`\0"\ + "JZRFQGSQRR RRFRR RRFSGQQRR RMINIVOWO RMIWO RMIMJWNWO RWIVINOMO RWIMO RWIWJMNMO\0"\ + "F_RIRZSZ RRISISZ RJQ[Q[R RJQJR[R\0"\ + "MXTZS[R[QZQYRXSXTYT\\S^Q_ RRYRZSZSYRY RS[T\\ RTZS^\0"\ + "F_JQ[Q[R RJQJR[R\0"\ + "MXRXQYQZR[S[TZTYSXRX RRYRZSZSYRY\0"\ + "G^[BIbJb R[B\\BJb\0"\ + "H\\QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF RNHMJLNLSMWNY RVYWWXSXNWJVH RQFOGNIMNMSNXOZQ[ RS[UZVXWSWNVIUGSF\0"\ + "H\\QHQ[ RRHRZ RSFS[ RSFPINJ RM[W[ RQZO[ RQYP[ RSYT[ RSZU[\0"\ + "H\\LJLKMKMJLJ RLIMINJNKMLLLKKKJLHMGPFTFWGXHYJYLXNUPPRNSLUKXK[ RWHXJXLWN RTFVGWJWLVNTPPR RKYLXNXSYWYYX RNXSZWZXY RNXS[W[XZYXYV\0"\ + "H\\LJLKMKMJLJ RLIMINJNKMLLLKKKJLHMGPFTFWGXIXLWNTO RVGWIWLVN RSFUGVIVLUNSO RQOTOVPXRYTYWXYWZT[P[MZLYKWKVLUMUNVNWMXLX RWRXTXWWY RSOUPVQWTWWVZT[ RLVLWMWMVLV\0"\ + "H\\SIS[ RTHTZ RUFU[ RUFJUZU RP[X[ RSZQ[ RSYR[ RUYV[ RUZW[\0"\ + "H\\MFKPMNPMSMVNXPYSYUXXVZS[P[MZLYKWKVLUMUNVNWMXLX RWPXRXVWX RSMUNVOWRWVVYUZS[ RLVLWMWMVLV RMFWF RMGUG RMHQHUGWF\0"\ + "H\\VIVJWJWIVI RWHVHUIUJVKWKXJXIWGUFRFOGMILKKOKULXNZQ[S[VZXXYUYTXQVOSNQNOONPMR RNIMKLOLUMXNY RWXXVXSWQ RRFPGOHNJMNMUNXOZQ[ RS[UZVYWVWSVPUOSN\0"\ + "H\\KFKL RYFYIXLTQSSRWR[ RSRRTQWQ[ RXLSQQTPWP[R[ RKJLHNFPFUIWIXHYF RMHNGPGRH RKJLINHPHUI\0"\ + "H\\PFMGLILLMNPOTOWNXLXIWGTFPF RNGMIMLNN RVNWLWIVG RPFOGNINLONPO RTOUNVLVIUGTF RPOMPLQKSKWLYMZP[T[WZXYYWYSXQWPTO RMQLSLWMY RWYXWXSWQ RPONPMSMWNZP[ RT[VZWWWSVPTO\0"\ + "H\\MWMXNXNWMW RWOVQURSSQSNRLPKMKLLINGQFSFVGXIYLYRXVWXUZR[O[MZLXLWMVNVOWOXNYMY RMPLNLKMI RVHWIXLXRWVVX RQSORNQMNMKNHOGQF RSFUGVIWLWSVWUYTZR[\0"\ + "MXRMQNQORPSPTOTNSMRM RRNROSOSNRN RRXQYQZR[S[TZTYSXRX RRYRZSZSYRY\0"\ + "MXRMQNQORPSPTOTNSMRM RRNROSOSNRN RTZS[R[QZQYRXSXTYT\\S^Q_ RRYRZSZSYRY RS[T\\ RTZS^\0"\ + "F^ZIJRZ[\0"\ + "F_JM[M[N RJMJN[N RJU[U[V RJUJV[V\0"\ + "F^JIZRJ[\0"\ + "I\\MKMJNJNLLLLJMHNGPFTFWGXHYJYLXNWOSQ RWHXIXMWN RTFVGWIWMVOUP RRQRTSTSQRQ RRXQYQZR[S[TZTYSXRX RRYRZSZSYRY\0"\ + "E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\\T]Q]O\\L[JYHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV\0"\ + "H\\RFKZ RQIW[ RRIX[ RRFY[ RMUVU RI[O[ RT[[[ RKZJ[ RKZM[ RWZU[ RWYV[ RXYZ[\0"\ + "G]LFL[ RMGMZ RNFN[ RIFUFXGYHZJZLYNXOUP RXHYJYLXN RUFWGXIXMWOUP RNPUPXQYRZTZWYYXZU[I[ RXRYTYWXY RUPWQXSXXWZU[ RJFLG RKFLH ROFNH RPFNG RLZJ[ RLYK[ RNYO[ RNZP[\0"\ + "G\\XIYFYLXIVGTFQFNGLIKKJNJSKVLXNZQ[T[VZXXYV RMILKKNKSLVMX RQFOGMJLNLSMWOZQ[\0"\ + "G]LFL[ RMGMZ RNFN[ RIFSFVGXIYKZNZSYVXXVZS[I[ RWIXKYNYSXVWX RSFUGWJXNXSWWUZS[ RJFLG RKFLH ROFNH RPFNG RLZJ[ RLYK[ RNYO[ RNZP[\0"\ + "G\\LFL[ RMGMZ RNFN[ RIFYFYL RNPTP RTLTT RI[Y[YU RJFLG RKFLH ROFNH RPFNG RTFYG RVFYH RWFYI RXFYL RTLSPTT RTNRPTR RTOPPTQ RLZJ[ RLYK[ RNYO[ RNZP[ RT[YZ RV[YY RW[YX RX[YU\0"\ + "G[LFL[ RMGMZ RNFN[ RIFYFYL RNPTP RTLTT RI[Q[ RJFLG RKFLH ROFNH RPFNG RTFYG RVFYH RWFYI RXFYL RTLSPTT RTNRPTR RTOPPTQ RLZJ[ RLYK[ RNYO[ RNZP[\0"\ + "G^XIYFYLXIVGTFQFNGLIKKJNJSKVLXNZQ[T[VZXZY[YS RMILKKNKSLVMX RQFOGMJLNLSMWOZQ[ RXTXY RWSWYVZ RTS\\S RUSWT RVSWU RZSYU R[SYT\0"\ + "F^KFK[ RLGLZ RMFM[ RWFW[ RXGXZ RYFY[ RHFPF RTF\\F RMPWP RH[P[ RT[\\[ RIFKG RJFKH RNFMH ROFMG RUFWG RVFWH RZFYH R[FYG RKZI[ RKYJ[ RMYN[ RMZO[ RWZU[ RWYV[ RYYZ[ RYZ[[\0"\ + "LXQFQ[ RRGRZ RSFS[ RNFVF RN[V[ ROFQG RPFQH RTFSH RUFSG RQZO[ RQYP[ RSYT[ RSZU[\0"\ + "JJSFSWRZQ[ RTGTWSZ RUFUWTZQ[O[MZLXLVMUNUOVOWNXMX RMVMWNWNVMV RPFXF RQFSG RRFSH RVFUH RWFUG\0"\ + "F\\KFK[ RLGLZ RMFM[ RXGMR RPPW[ RQPX[ RQNY[ RHFPF RUF[F RH[P[ RT[[[ RIFKG RJFKH RNFMH ROFMG RWFXG RZFXG RKZI[ RKYJ[ RMYN[ RMZO[ RWYU[ RWYZ[\0"\ + "I[NFN[ ROGOZ RPFP[ RKFSF RK[Z[ZU RLFNG RMFNH RQFPH RRFPG RNZL[ RNYM[ RPYQ[ RPZR[ RU[ZZ RW[ZY RX[ZX RY[ZU\0"\ + "E_JFJZ RJFQ[ RKFQX RLFRX RXFQ[ RXFX[ RYGYZ RZFZ[ RGFLF RXF]F RG[M[ RU[][ RHFJG R[FZH R\\FZG RJZH[ RJZL[ RXZV[ RXYW[ RZY[[ RZZ\\[\0"\ + "F^KFKZ RKFY[ RLFXX RMFYX RYGY[ RHFMF RVF\\F RH[N[ RIFKG RWFYG R[FYG RKZI[ RKZM[\0"\ + "G]QFNGLIKKJOJRKVLXNZQ[S[VZXXYVZRZOYKXIVGSFQF RMILKKNKSLVMX RWXXVYSYNXKWI RQFOGMJLNLSMWOZQ[ RS[UZWWXSXNWJUGSF\0"\ + "G]LFL[ RMGMZ RNFN[ RIFUFXGYHZJZMYOXPUQNQ RXHYJYMXO RUFWGXIXNWPUQ RI[Q[ RJFLG RKFLH ROFNH RPFNG RLZJ[ RLYK[ RNYO[ RNZP[\0"\ + "G]QFNGLIKKJOJRKVLXNZQ[S[VZXXYVZRZOYKXIVGSFQF RMILKKNKSLVMX RWXXVYSYNXKWI RQFOGMJLNLSMWOZQ[ RS[UZWWXSXNWJUGSF RNXOVQURUTVUXV^W`Y`Z^Z\\ RV\\W^X_Y_ RUXW]X^Y^Z]\0"\ + "G]LFL[ RMGMZ RNFN[ RIFUFXGYHZJZLYNXOUPNP RXHYJYLXN RUFWGXIXMWOUP RRPTQUSWYX[Z[[Y[W RWWXYYZZZ RTQURXXYYZY[X RI[Q[ RJFLG RKFLH ROFNH RPFNG RLZJ[ RLYK[ RNYO[ RNZP[\0"\ + "H\\XIYFYLXIVGSFPFMGKIKLLNOPURWSXUXXWZ RLLMNOOUQWRXT RMGLILKMMONUPXRYTYWXYWZT[Q[NZLXKUK[LX\0"\ + "H\\JFJL RQFQ[ RRGRZ RSFS[ RZFZL RJFZF RN[V[ RKFJL RLFJI RMFJH ROFJG RUFZG RWFZH RXFZI RYFZL RQZO[ RQYP[ RSYT[ RSZU[\0"\ + "F^KFKULXNZQ[S[VZXXYUYG RLGLVMX RMFMVNYOZQ[ RHFPF RVF\\F RIFKG RJFKH RNFMH ROFMG RWFYG R[FYG\0"\ + "H\\KFR[ RLFRXR[ RMFSX RYGR[ RIFPF RUF[F RJFLH RNFMH ROFMG RWFYG RZFYG\0"\ + "F^JFN[ RKFNVN[ RLFOV RRFOVN[ RRFV[ RSFVVV[ RTFWV RZGWVV[ RGFOF RRFTF RWF]F RHFKG RIFKH RMFLH RNFLG RXFZG R\\FZG\0"\ + "H\\KFW[ RLFX[ RMFY[ RXGLZ RIFPF RUF[F RI[O[ RT[[[ RJFMH RNFMH ROFMG RVFXG RZFXG RLZJ[ RLZN[ RWZU[ RWYV[ RWYZ[\0"\ + "G]JFQQQ[ RKFRQRZ RLFSQS[ RYGSQ RHFOF RVF\\F RN[V[ RIFKG RNFLG RWFYG R[FYG RQZO[ RQYP[ RSYT[ RSZU[\0"\ + "H\\YFKFKL RWFK[ RXFL[ RYFM[ RK[Y[YU RLFKL RMFKI RNFKH RPFKG RT[YZ RV[YY RW[YX RX[YU\0"\ + "KYOBOb RPBPb ROBVB RObVb\0"\ + "KYKFY^\0"\ + "KYTBTb RUBUb RNBUB RNbUb\0"\ + "JZPLRITL RMORJWO RRJR[\0"\ + "JZJ]Z]\0"\ + "MXTFRGQIQLRMSMTLTKSJRJQK RRKRLSLSKRK RRGQK RQIRJ\0"\ + "I]NPNOOOOQMQMONNPMTMVNWOXQXXYZZ[ RVOWQWXXZ RTMUNVPVXWZZ[[[ RVRUSPTMULWLXMZP[S[UZVX RNUMWMXNZ RUSQTOUNWNXOZP[\0"\ + "G\\LFL[MZOZ RMGMY RIFNFNZ RNPONQMSMVNXPYSYUXXVZS[Q[OZNX RWPXRXVWX RSMUNVOWRWVVYUZS[ RJFLG RKFLH\0"\ + "H[WQWPVPVRXRXPVNTMQMNNLPKSKULXNZQ[S[VZXX RMPLRLVMX RQMONNOMRMVNYOZQ[\0"\ + "H]VFV[[[ RWGWZ RSFXFX[ RVPUNSMQMNNLPKSKULXNZQ[S[UZVX RMPLRLVMX RQMONNOMRMVNYOZQ[ RTFVG RUFVH RXYY[ RXZZ[\0"\ + "H[MSXSXQWOVNSMQMNNLPKSKULXNZQ[S[VZXX RWRWQVO RMPLRLVMX RVSVPUNSM RQMONNOMRMVNYOZQ[\0"\ + "KYWHWGVGVIXIXGWFTFRGQHPKP[ RRHQKQZ RTFSGRIR[ RMMVM RM[U[ RPZN[ RPYO[ RRYS[ RRZT[\0"\ + "I\\XNYOZNYMXMVNUO RQMONNOMQMSNUOVQWSWUVVUWSWQVOUNSMQM ROONQNSOU RUUVSVQUO RQMPNOPOTPVQW RSWTVUTUPTNSM RNUMVLXLYM[N\\Q]U]X^Y_ RN[Q\\U\\X] RLYMZP[U[X\\Y^Y_XaUbObLaK_K^L\\O[ RObMaL_L^M\\O[\0"\ + "G^LFL[ RMGMZ RIFNFN[ RNQOOPNRMUMWNXOYRY[ RWOXRXZ RUMVNWQW[ RI[Q[ RT[\\[ RJFLG RKFLH RLZJ[ RLYK[ RNYO[ RNZP[ RWZU[ RWYV[ RYYZ[ RYZ[[\0"\ + "LXQFQHSHSFQF RRFRH RQGSG RQMQ[ RRNRZ RNMSMS[ RN[V[ ROMQN RPMQO RQZO[ RQYP[ RSYT[ RSZU[\0"\ + "KXRFRHTHTFRF RSFSH RRGTG RRMR^QaPb RSNS]R` ROMTMT]S`RaPbMbLaL_N_NaMaM` RPMRN RQMRO\0"\ + "G]LFL[ RMGMZ RIFNFN[ RWNNW RRSY[ RRTX[ RQTW[ RTM[M RI[Q[ RT[[[ RJFLG RKFLH RUMWN RZMWN RLZJ[ RLYK[ RNYO[ RNZP[ RWYU[ RVYZ[\0"\ + "LXQFQ[ RRGRZ RNFSFS[ RN[V[ ROFQG RPFQH RQZO[ RQYP[ RSYT[ RSZU[\0"\ + "AcFMF[ RGNGZ RCMHMH[ RHQIOJNLMOMQNROSRS[ RQORRRZ ROMPNQQQ[ RSQTOUNWMZM\\N]O^R^[ R\\O]R]Z RZM[N\\Q\\[ RC[K[ RN[V[ RY[a[ RDMFN REMFO RFZD[ RFYE[ RHYI[ RHZJ[ RQZO[ RQYP[ RSYT[ RSZU[ R\\ZZ[ R\\Y[[ R^Y_[ R^Z`[\0"\ + "G^LML[ RMNMZ RIMNMN[ RNQOOPNRMUMWNXOYRY[ RWOXRXZ RUMVNWQW[ RI[Q[ RT[\\[ RJMLN RKMLO RLZJ[ RLYK[ RNYO[ RNZP[ RWZU[ RWYV[ RYYZ[ RYZ[[\0"\ + "H\\QMNNLPKSKULXNZQ[S[VZXXYUYSXPVNSMQM RMPLRLVMX RWXXVXRWP RQMONNOMRMVNYOZQ[ RS[UZVYWVWRVOUNSM\0"\ + "G\\LMLb RMNMa RIMNMNb RNPONQMSMVNXPYSYUXXVZS[Q[OZNX RWPXRXVWX RSMUNVOWRWVVYUZS[ RIbQb RJMLN RKMLO RLaJb RL`Kb RN`Ob RNaPb\0"\ + "H\\VNVb RWOWa RUNWNXMXb RVPUNSMQMNNLPKSKULXNZQ[S[UZVX RMPLRLVMX RQMONNOMRMVNYOZQ[ RSb[b RVaTb RV`Ub RX`Yb RXaZb\0"\ + "IZNMN[ RONOZ RKMPMP[ RWOWNVNVPXPXNWMUMSNQPPS RK[S[ RLMNN RMMNO RNZL[ RNYM[ RPYQ[ RPZR[\0"\ + "J[WOXMXQWOVNTMPMNNMOMQNSPTUUWVXY RNNMQ RNRPSUTWU RXVWZ RMONQPRUSWTXVXYWZU[Q[OZNYMWM[NY\0"\ + "KZPHPVQYRZT[V[XZYX RQHQWRY RPHRFRWSZT[ RMMVM\0"\ + "G^LMLVMYNZP[S[UZVYWW RMNMWNY RIMNMNWOZP[ RWMW[\\[ RXNXZ RTMYMY[ RJMLN RKMLO RYYZ[ RYZ[[\0"\ + "I[LMR[ RMMRY RNMSY RXNSYR[ RJMQM RTMZM RKMNO RPMNN RVMXN RYMXN\0"\ + "F^JMN[ RKMNX RLMOX RRMOXN[ RRMV[ RSMVX RRMTMWX RZNWXV[ RGMOM RWM]M RHMKN RNMLN RXMZN R\\MZN\0"\ + "H\\LMV[ RMMW[ RNMX[ RWNMZ RJMQM RTMZM RJ[P[ RS[Z[ RKMMN RPMNN RUMWN RYMWN RMZK[ RMZO[ RVZT[ RWZY[\0"\ + "H[LMR[ RMMRY RNMSY RXNSYP_NaLbJbIaI_K_KaJaJ` RJMQM RTMZM RKMNO RPMNN RVMXN RYMXN\0"\ + "I[VML[ RWMM[ RXMN[ RXMLMLQ RL[X[XW RMMLQ RNMLP ROMLO RQMLN RS[XZ RU[XY RV[XX RW[XW\0"\ + "KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSUSWRYQZP\\P^Q`RaTb\0"\ + "NVRBRb\0"\ + "KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQUQWRYSZT\\T^S`RaPb\0"\ + "F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O\0"\ + "KYQFOGNINKOMQNSNUMVKVIUGSFQF RQFNIOMSNVKUGQF RSFOGNKQNUMVISF\0"\ +; +/* End of file gen_c_src/rowmant.h */ diff --git a/hf2gcode/hershey_fonts/gen_c_src/scriptc.h b/hf2gcode/hershey_fonts/gen_c_src/scriptc.h new file mode 100644 index 0000000..cd26a1f --- /dev/null +++ b/hf2gcode/hershey_fonts/gen_c_src/scriptc.h @@ -0,0 +1,105 @@ +/* This file was generated with gen_C_code.m from fixed/scriptc.jhf */ + +/* number of glyphs in font */ +unsigned char scriptc_cnt = 96; + +/* Format: margin left, margin right, X, Y ... \0 +< R> is pen-up, see original hershey font */ +const char scriptc [] PROGMEM="JZ\0"\ + "MXUFTGRS RUGRS RUFVGRS RPYOZP[QZPY\0"\ + "I[PFNM RQFNM RYFWM RZFWM\0"\ + "H]SFLb RYFRb RLQZQ RKWYW\0"\ + "H]TBL_ RYBQ_ RZJYKZL[K[JZHYGVFRFOGMIMKNMONVRXT RMKOMVQWRXTXWWYVZS[O[LZKYJWJVKULVKW\0"\ + "F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT\0"\ + "E_\\N[O\\P]O]N\\M[MYNWPRXPZN[K[HZGXGVHTISKRPPROTMUKUITGRFPGOIOLPRQUSXUZW[Y[ZYZX RK[IZHXHVITJSPP ROLPQQTSWUYWZYZZY\0"\ + "MXUHTGUFVGVHUJSL\0"\ + "KZZBVESHQKOONTNXO]P`Qb RVESIQMPPOUOZP_Qb\0"\ + "JYSBTDUGVLVPUUSYQ\\N_Jb RSBTEUJUOTTSWQ[N_\0"\ + "J[TFTR ROIYO RYIOO\0"\ + "E_RIR[ RIR[R\0"\ + "MXP[OZPYQZQ[P]N_\0"\ + "E_IR[R\0"\ + "MXPYOZP[QZPY\0"\ + "G]_BEb\0"\ + "H]TFQGOIMLLOKSKVLYMZO[Q[TZVXXUYRZNZKYHXGVFTF RTFRGPINLMOLSLVMYO[ RQ[SZUXWUXRYNYKXHVF\0"\ + "H]TJO[ RVFP[ RVFSIPKNL RUIQKNL\0"\ + "H]OJPKOLNKNJOHPGSFVFYGZIZKYMWOTQPSMUKWI[ RVFXGYIYKXMVOPS RJYKXMXRZUZWYXW RMXR[U[WZXW\0"\ + "H]OJPKOLNKNJOHPGSFVFYGZIZKYMVOSP RVFXGYIYKXMVO RQPSPVQWRXTXWWYVZS[O[LZKYJWJVKULVKW RSPUQVRWTWWVYUZS[\0"\ + "H]XGR[ RYFS[ RYFJUZU\0"\ + "H]QFLP RQF[F RQGVG[F RLPMOPNSNVOWPXRXUWXUZR[O[LZKYJWJVKULVKW RSNUOVPWRWUVXTZR[\0"\ + "H]YIXJYKZJZIYGWFTFQGOIMLLOKSKWLYMZO[R[UZWXXVXSWQVPTOQOOPMRLT RTFRGPINLMOLSLXMZ RR[TZVXWVWRVP\0"\ + "H]NFLL R[FZIXLSRQUPWO[ RXLRRPUOWN[ RMIPFRFWI RNHPGRGWIYIZH[F\0"\ + "H]SFPGOHNJNMOOQPTPXOYNZLZIYGVFSF RSFQGPHOJOMPOQP RTPWOXNYLYIXGVF RQPMQKSJUJXKZN[R[VZWYXWXTWRVQTP RQPNQLSKUKXLZN[ RR[UZVYWWWSVQ\0"\ + "H]YMXOVQTRQROQNPMNMKNIPGSFVFXGYHZJZNYRXUVXTZQ[N[LZKXKWLVMWLX ROQNONKOIQGSF RXGYIYNXRWUUXSZQ[\0"\ + "MXSMRNSOTNSM RPYOZP[QZ\0"\ + "MXSMRNSOTNSM RP[OZPYQZQ[P]N_\0"\ + "F^ZIJRZ[\0"\ + "E_IO[O RIU[U\0"\ + "F^JIZRJ[\0"\ + "H]OJPKOLNKNJOHPGSFWFZG[I[KZMYNSPQQQSRTTT RWFYGZIZKYMXNVO RPYOZP[QZPY\0"\ + "E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\\T]Q]O\\L[JYHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV\0"\ + "E\\XFVHTKQPOSLWIZG[E[DZDXEWFXEY RXFWJUTT[ RXFU[ RT[TYSVRTPRNQLQKRKTLWOZR[V[XZ\0"\ + "F^UGTHSJQOOUNWLZJ[ RTHSKQSPVOXMZJ[H[GZGXHWIXHY ROLNNMOKOJNJLKJMHOGRFXFZG[I[KZMXNTORO RXFYGZIZKYMXN RTOWPXQYSYVXYWZU[S[RZRXSU RTOVPWQXSXVWYU[\0"\ + "H]KHJJJLKNNOQOUNWMYKZIZGYFWFTGQJOMMQLULXMZP[R[UZWXXVXTWRURSSRU RWFUGRJPMNQMUMXNZP[\0"\ + "F]UGTHSJQOOUNWLZJ[ RTHSKQSPVOXMZJ[H[GZGXHWJWLXNZP[S[UZWXYTZOZLYIWGUFPFMGKIJKJMKNMNNMOK\0"\ + "I\\WIVJVLWMYMZKZIYGWFTFRGQHPJPLQNSO RTFRHQJQMSO RSOQONPLRKTKWLYMZO[R[UZWXXVXTWRURSSRU RQOOPMRLTLXMZ\0"\ + "G\\WHVJTORUQWOZM[ RQLPNNOLOKMKKLINGQF[FXGWHVKTSSVRXPZM[K[IZHYHXIWJXIY RSFWGXG ROSPRRQVQXPZMXT\0"\ + "G]JIIKIMJOLPOPROTNWKXHXGWFVFTGRIQKPNPQQSSTUTWSYQZO RWFUGSIRKQNQRST RZOYSWWUYSZO[L[JZIXIWJVKWJX RYSWVUXRZO[\0"\ + "F^LLKKKILGOFRFOQMWLYKZI[G[FZFXGWHXGY RRFOONRLWKYI[ RJTKSMRVOXN[L]J^H^G]F\\FZGXJWLURTVTYV[W[YZ[X R\\FZHXLVRUVUYV[\0"\ + "IYWHUKSPQUPWNZL[ RYLWNTOQOONNLNJOHQGUFYFWHVJTPRVQXOZL[J[IZIXJWKXJY\0"\ + "IZYFWHUKSPPYN] RYMWOTPQPOONMNKOIQGUFYFWIVKSTQXPZN]M^K_J^J\\KZMXOWRVVU\0"\ + "F^LLKKKIMGPFRFOQMWLYKZI[G[FZFXGWHXGY RRFOONRLWKYI[ RZGWKUMSNPO R]G\\H]I^H^G]F\\FZGWLVMTNPO RPOSPTRUYV[ RPORPSRTYV[W[YZ[X\0"\ + "I[MILKLMMOOPRPUOWNZK[H[GZFYFWGVHTKPUOWMZK[ RVHTLRSQVPXNZK[I[HZHXIWKWMXPZR[U[WZYX\0"\ + "D`RFNOKUIXGZE[C[BZBXCWDXCY RRFPMOQNVNZP[ RRFQJPOOVOZP[ R[FWORXP[ R[FYMXQWVWZY[Z[\\Z^X R[FZJYOXVXZY[\0"\ + "G^RFQJOPMULWJZH[F[EZEXFWGXFY RRFRKSVT[ RRFSKTVT[ R`G_H`IaHaG`F^F\\GZJYLWQUWT[\0"\ + "H]SFQGOIMLLNKRKVLYMZO[Q[TZVXXUYSZOZKYHXGWGUHSJQNPSPV RQGOJMNLRLVMYO[\0"\ + "F]UGTHSJQOOUNWLZJ[ RTHSKQSPVOXMZJ[H[GZGXHWIXHY ROLNNMOKOJNJLKJMHOGRFVFYGZH[J[MZOYPVQTQRP RVFXGYHZJZMYOXPVQ\0"\ + "H]UJULTNSOQPOPNNNLOIQGTFWFYGZIZMYPWSSWPYNZK[I[HZHXIWKWMXPZS[V[XZZX RWFXGYIYMXPVSSVOYK[\0"\ + "F^UGTHSJQOOUNWLZJ[ RTHSKQSPVOXMZJ[H[GZGXHWIXHY ROLNNMOKOJNJLKJMHOGRFWFZG[I[KZMYNVORO RWFYGZIZKYMXNVO RROUPVRWYX[ RROTPURVYX[Y[[Z]X\0"\ + "H\\NIMKMMNOPPSPVOXN[K\\H\\G[FZFXGWHVJUMSTRWPZN[ RVJUNTUSXQZN[K[IZHXHWIVJWIX\0"\ + "I[YHXJVOTUSWQZO[ RSLRNPONOMMMKNIPGSF\\FZGYHXKVSUVTXRZO[M[KZJYJXKWLXKY RUFYGZG\0"\ + "G]HJJGLFMFOHOKNNKVKYL[ RMFNHNKKSJVJYL[N[PZSWUTVR RZFVRUVUYW[X[ZZ\\X R[FWRVVVYW[\0"\ + "G\\HJJGLFMFOHOKNOLVLYM[ RMFNHNKLRKVKYM[N[QZTWVTXPYMZIZGYFXFWGVIVLWNYP[Q]Q\0"\ + "F]ILHLGKGIHGJFNFMHLLKUJ[ RLLLUK[ RVFTHRLOUMYK[ RVFUHTLSUR[ RTLTUS[ R`F^G\\IZLWUUYS[\0"\ + "H\\PKOLMLLKLIMGOFQFSGTITLSPQUOXMZJ[H[GZGXHWIXHY RQFRGSISLRPPUNXLZJ[ R]G\\H]I^H^G]F[FYGWIULSPRURXSZT[U[WZYX\0"\ + "G]JJLGNFOFQGQIOOORPT ROFPGPINONRPTRTUSWQYNZL R\\FZLWTUX R]F[LYQWUUXSZP[L[JZIXIWJVKWJX\0"\ + "G\\ZHYJWOVRUTSWQYOZL[ RSLRNPONOMMMKNIPGSF]F[GZHYKXOVUTXQZL[H[GZGXHWJWLXOZQ[T[WZYX RVFZG[G\0"\ + "KYOBOb RPBPb ROBVB RObVb\0"\ + "KYKFY^\0"\ + "KYTBTb RUBUb RNBUB RNbUb\0"\ + "JZPLRITL RMORJWO RRJR[\0"\ + "JZJ]Z]\0"\ + "MXVFTHSJSKTLUKTJ\0"\ + "K[UUTSRRPRNSMTLVLXMZO[Q[SZTX RPRNTMVMYO[ RVRTXTZV[XZYY[V RWRUXUZV[\0"\ + "LZLVNSPO RSFMXMZO[P[RZTXUUURVVWWXWZV RTFNXNZO[\0"\ + "LXTSSTTTTSSRQROSNTMVMXNZP[S[VYXV RQROTNVNYP[\0"\ + "K[UUTSRRPRNSMTLVLXMZO[Q[SZTX RPRNTMVMYO[ RZFTXTZV[XZYY[V R[FUXUZV[\0"\ + "LXOYQXRWSUSSRRQROSNTMVMXNZP[S[VYXV RQROTNVNYP[\0"\ + "OXRRUOWLXIXGWFUGTIKdKfLgNfOcPZQ[S[UZVYXV RTISNRRO[M`Kd\0"\ + "K[UUTSRRPRNSMTLVLXMZO[Q[SZTX RPRNTMVMYO[ RVRPd RWRT[R`PdOfMgLfLdMaO_R]V[YY[V\0"\ + "L[LVNSPO RSFL[ RTFM[ ROUQSSRTRVSVUUXUZV[ RTRUSUUTXTZV[XZYY[V\0"\ + "NVSLRMSNTMSL RQROXOZQ[SZTYVV RRRPXPZQ[\0"\ + "NVSLRMSNTMSL RQRKd RRRO[M`KdJfHgGfGdHaJ_M]Q[TYVV\0"\ + "LZLVNSPO RSFL[ RTFM[ RURUSVSURTRRTOU ROURVSZT[ ROUQVRZT[U[XYZV\0"\ + "NVNVPSRO RUFOXOZQ[SZTYVV RVFPXPZQ[\0"\ + "E^EVGSIRKSKUI[ RIRJSJUH[ RKUMSORPRRSRUP[ RPRQSQUO[ RRUTSVRWRYSYUXXXZY[ RWRXSXUWXWZY[[Z\\Y^V\0"\ + "I[IVKSMROSOUM[ RMRNSNUL[ ROUQSSRTRVSVUUXUZV[ RTRUSUUTXTZV[XZYY[V\0"\ + "KYRRPRNSMTLVLXMZO[Q[SZTYUWUUTSRRQSQURWTXVXXWYV RPRNTMVMYO[\0"\ + "L[LVNSPO RQLHg RRLIg ROUQSSRTRVSVUUXUZV[ RTRUSUUTXTZV[XZYY[V\0"\ + "K[UUTSRRPRNSMTLVLXMZO[Q[SZ RPRNTMVMYO[ RVRPdPfQgSfTcT[V[YY[V RWRT[R`Pd\0"\ + "LZLVNSPRRSRUP[ RPRQSQUO[ RRUTSVRWRVU RVRVUWWXWZV\0"\ + "NZNVPSQQQSTUUWUYTZR[ RQSSUTWTYR[ RNZP[U[XYZV\0"\ + "NVNVPSRO RUFOXOZQ[SZTYVV RVFPXPZQ[ RPNVN\0"\ + "K[NRLXLZN[O[QZSXUU RORMXMZN[ RVRTXTZV[XZYY[V RWRUXUZV[\0"\ + "KZNRMTLWLZN[O[RZTXUUUR RORNTMWMZN[ RURVVWWXWZV\0"\ + "H]LRJTIWIZK[L[NZPX RMRKTJWJZK[ RRRPXPZR[S[UZWXXUXR RSRQXQZR[ RXRYVZW[W]V\0"\ + "JZJVLSNRPRQSQUPXOZM[L[KZKYLYKZ RWSVTWTWSVRURSSRUQXQZR[U[XYZV RQSRU RSSQU RPXQZ RQXOZ\0"\ + "K[NRLXLZN[O[QZSXUU RORMXMZN[ RVRPd RWRT[R`PdOfMgLfLdMaO_R]V[YY[V\0"\ + "LYLVNSPRRRTSTVSXPZN[ RRRSSSVRXPZ RN[P\\Q^QaPdNfLgKfKdLaO^R\\VYYV RN[O\\P^PaOdNf\0"\ + "KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSUSWRYQZP\\P^Q`RaTb\0"\ + "NVRBRb\0"\ + "KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQUQWRYSZT\\T^S`RaPb\0"\ + "F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O\0"\ + "KZSFQGPIPKQMSNUNWMXKXIWGUFSF\0"\ +; +/* End of file gen_c_src/scriptc.h */ diff --git a/hf2gcode/hershey_fonts/gen_c_src/scripts.h b/hf2gcode/hershey_fonts/gen_c_src/scripts.h new file mode 100644 index 0000000..1c40484 --- /dev/null +++ b/hf2gcode/hershey_fonts/gen_c_src/scripts.h @@ -0,0 +1,105 @@ +/* This file was generated with gen_C_code.m from fixed/scripts.jhf */ + +/* number of glyphs in font */ +unsigned char scripts_cnt = 96; + +/* Format: margin left, margin right, X, Y ... \0 +< R> is pen-up, see original hershey font */ +const char scripts [] PROGMEM="JZ\0"\ + "MXUFTGRS RUGRS RUFVGRS RPYOZP[QZPY\0"\ + "I[PFNM RQFNM RYFWM RZFWM\0"\ + "H]SBLb RYBRb RLOZO RKUYU\0"\ + "H]TBL_ RYBQ_ RZJYKZL[K[JZHYGVFRFOGMIMKNMONVRXT RMKOMVQWRXTXWWYVZS[O[LZKYJWJVKULVKW\0"\ + "F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT\0"\ + "E_\\N[O\\P]O]N\\M[MYNWPRXPZN[K[HZGXGVHTISKRPPROTMUKUITGRFPGOIOLPRQUSXUZW[Y[ZYZX RK[IZHXHVITJSPP ROLPQQTSWUYWZYZZY\0"\ + "MXUHTGUFVGVHUJSL\0"\ + "KZZBVESHQKOONTNXO]P`Qb RVESIQMPPOUOZP_Qb\0"\ + "JYSBTDUGVLVPUUSYQ\\N_Jb RSBTEUJUOTTSWQ[N_\0"\ + "J[TFTR ROIYO RYIOO\0"\ + "E_RIR[ RIR[R\0"\ + "MXP[OZPYQZQ[P]N_\0"\ + "E_IR[R\0"\ + "MWRYQZR[SZRY\0"\ + "G]_BEb\0"\ + "H]TFQGOIMLLOKSKVLYMZO[Q[TZVXXUYRZNZKYHXGVFTF RTFRGPINLMOLSLVMYO[ RQ[SZUXWUXRYNYKXHVF\0"\ + "H]TJO[ RVFP[ RVFSIPKNL RUIQKNL\0"\ + "H]OJPKOLNKNJOHPGSFVFYGZIZKYMWOTQPSMUKWI[ RVFXGYIYKXMVOPS RJYKXMXRZUZWYXW RMXR[U[WZXW\0"\ + "H]OJPKOLNKNJOHPGSFVFYGZIZKYMVOSP RVFXGYIYKXMVO RQPSPVQWRXTXWWYVZS[O[LZKYJWJVKULVKW RSPUQVRWTWWVYUZS[\0"\ + "H]XGR[ RYFS[ RYFJUZU\0"\ + "H]QFLP RQF[F RQGVG[F RLPMOPNSNVOWPXRXUWXUZR[O[LZKYJWJVKULVKW RSNUOVPWRWUVXTZR[\0"\ + "H]YIXJYKZJZIYGWFTFQGOIMLLOKSKWLYMZO[R[UZWXXVXSWQVPTOQOOPMRLT RTFRGPINLMOLSLXMZ RR[TZVXWVWRVP\0"\ + "H]NFLL R[FZIXLSRQUPWO[ RXLRRPUOWN[ RMIPFRFWI RNHPGRGWIYIZH[F\0"\ + "H]SFPGOHNJNMOOQPTPXOYNZLZIYGVFSF RSFQGPHOJOMPOQP RTPWOXNYLYIXGVF RQPMQKSJUJXKZN[R[VZWYXWXTWRVQTP RQPNQLSKUKXLZN[ RR[UZVYWWWSVQ\0"\ + "H]YMXOVQTRQROQNPMNMKNIPGSFVFXGYHZJZNYRXUVXTZQ[N[LZKXKWLVMWLX ROQNONKOIQGSF RXGYIYNXRWUUXSZQ[\0"\ + "MXSMRNSOTNSM RPYOZP[QZ\0"\ + "MXSMRNSOTNSM RP[OZPYQZQ[P]N_\0"\ + "F^ZIJRZ[\0"\ + "E_IO[O RIU[U\0"\ + "F^JIZRJ[\0"\ + "H]OJPKOLNKNJOHPGSFWFZG[I[KZMYNSPQQQSRTTT RWFYGZIZKYMXNVO RPYOZP[QZPY\0"\ + "E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\\T]Q]O\\L[JYHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV\0"\ + "G[G[IZLWOSSLVFV[UXSUQSNQLQKRKTLVNXQZT[Y[\0"\ + "F]SHTITLSPRSQUOXMZK[J[IZIWJRKOLMNJPHRGUFXFZG[I[KZMYNWOTP RSPTPWQXRYTYWXYWZU[R[PZOX\0"\ + "H\\TLTMUNWNYMZKZIYGWFTFQGOIMLLNKRKVLYMZO[Q[TZVXWV\0"\ + "G^TFRGQIPMOSNVMXKZI[G[FZFXGWIWKXMZP[S[VZXXZT[O[KZHYGWFTFRHRJSMUPWRZT\\U\0"\ + "H\\VJVKWLYLZKZIYGVFRFOGNINLONPOSPPPMQLRKTKWLYMZP[S[VZXXYV\0"\ + "H\\RLPLNKMINGQFTFXG[G]F RXGVNTTRXPZN[L[JZIXIVJULUNV RQPZP\0"\ + "G^G[IZMVPQQNRJRGQFPFOGNINLONQOUOXNYMZKZQYVXXVZS[O[LZJXIVIT\0"\ + "F^MMKLJJJIKGMFNFPGQIQKPONULYJ[H[GZGX RMRVOXN[L]J^H^G]F\\FZHXLVRUWUZV[W[YZZY\\V\0"\ + "IZWVUTSQROQLQIRGSFUFVGWIWLVQTVSXQZO[M[KZJXJVKUMUOV\0"\ + "JYT^R[PVOPOJPGRFTFUGVJVMURR[PaOdNfLgKfKdLaN^P\\SZWX\0"\ + "F^MMKLJJJIKGMFNFPGQIQKPONULYJ[H[GZGX R^I^G]F\\FZGXIVLTNROPO RROSQSXTZU[V[XZYY[V\0"\ + "I\\MRORSQVOXMYKYHXFVFUGTISNRSQVPXNZL[J[IZIXJWLWNXQZT[V[YZ[X\0"\ + "@aEMCLBJBICGEFFFHGIIIKHPGTE[ RGTJLLHMGOFPFRGSISKRPQTO[ RQTTLVHWGYFZF\\G]I]K\\PZWZZ[[\\[^Z_YaV\0"\ + "E]JMHLGJGIHGJFKFMGNINKMPLTJ[ RLTOLQHRGTFVFXGYIYKXPVWVZW[X[ZZ[Y]V\0"\ + "H]TFQGOIMLLNKRKVLYMZO[Q[TZVXXUYSZOZKYHXGVFTFRHRKSNUQWSZU\\V\0"\ + "F_SHTITLSPRSQUOXMZK[J[IZIWJRKOLMNJPHRGUFZF\\G]H^J^M]O\\PZQWQUPTO\0"\ + "H^ULTNSOQPOPNNNLOIQGTFWFYGZIZMYPWSSWPYNZK[I[HZHXIWKWMXPZS[V[YZ[X\0"\ + "F_SHTITLSPRSQUOXMZK[J[IZIWJRKOLMNJPHRGUFYF[G\\H]J]M\\O[PYQVQSPTQUSUXVZX[ZZ[Y]V\0"\ + "H\\H[JZLXOTQQSMTJTGSFRFQGPIPKQMSOVQXSYUYWXYWZT[P[MZKXJVJT\0"\ + "H[RLPLNKMINGQFTFXG[G]F RXGVNTTRXPZN[L[JZIXIVJULUNV\0"\ + "E]JMHLGJGIHGJFKFMGNINKMOLRKVKXLZN[P[RZSYUUXMZF RXMWQVWVZW[X[ZZ[Y]V\0"\ + "F]KMILHJHIIGKFLFNGOIOKNOMRLVLYM[O[QZTWVTXPYMZIZGYFXFWGVIVKWNYP[Q\0"\ + "C_HMFLEJEIFGHFIFKGLILLK[ RUFK[ RUFS[ RaF_G\\JYNVTS[\0"\ + "F^NLLLKKKILGNFPFRGSISLQUQXRZT[V[XZYXYVXUVU R]I]G\\FZFXGVITLPUNXLZJ[H[GZGX\0"\ + "F]KMILHJHIIGKFLFNGOIOKNOMRLVLXMZN[P[RZTXVUWSYM R[FYMVWT]RbPfNgMfMdNaP^S[VY[V\0"\ + "H]ULTNSOQPOPNNNLOIQGTFWFYGZIZMYPWTTWPZN[K[JZJXKWNWPXQYR[R^QaPcNfLgKfKdLaN^Q[TYZV\0"\ + "KYOBOb RPBPb ROBVB RObVb\0"\ + "KYKFY^\0"\ + "KYTBTb RUBUb RNBUB RNbUb\0"\ + "JZPLRITL RMORJWO RRJR[\0"\ + "JZJ]Z]\0"\ + "MXVFTHSJSKTLUKTJ\0"\ + "L\\UUTSRRPRNSMTLVLXMZO[Q[SZTXVRUWUZV[W[YZZY\\V\0"\ + "M[MVOSRNSLTITGSFQGPIOMNTNZO[P[RZTXUUURVVWWYW[V\0"\ + "MXTTTSSRQROSNTMVMXNZP[S[VYXV\0"\ + "L\\UUTSRRPRNSMTLVLXMZO[Q[SZTXZF RVRUWUZV[W[YZZY\\V\0"\ + "NXOYQXRWSUSSRRQROSNUNXOZQ[S[UZVYXV\0"\ + "OWOVSQUNVLWIWGVFTGSIQQNZKaJdJfKgMfNcOZP[R[TZUYWV\0"\ + "L[UUTSRRPRNSMTLVLXMZO[Q[SZTY RVRTYPdOfMgLfLdMaP^S\\U[XY[V\0"\ + "M\\MVOSRNSLTITGSFQGPIOMNSM[ RM[NXOVQSSRURVSVUUXUZV[W[YZZY\\V\0"\ + "PWSMSNTNTMSM RPVRRPXPZQ[R[TZUYWV\0"\ + "PWSMSNTNTMSM RPVRRLdKfIgHfHdIaL^O\\Q[TYWV\0"\ + "M[MVOSRNSLTITGSFQGPIOMNSM[ RM[NXOVQSSRURVSVUTVQV RQVSWTZU[V[XZYY[V\0"\ + "OWOVQSTNULVIVGUFSGRIQMPTPZQ[R[TZUYWV\0"\ + "E^EVGSIRJSJTIXH[ RIXJVLSNRPRQSQTPXO[ RPXQVSSURWRXSXUWXWZX[Y[[Z\\Y^V\0"\ + "J\\JVLSNROSOTNXM[ RNXOVQSSRURVSVUUXUZV[W[YZZY\\V\0"\ + "LZRRPRNSMTLVLXMZO[Q[SZTYUWUUTSRRQSQURWTXWXYWZV\0"\ + "KZKVMSNQMUGg RMUNSPRRRTSUUUWTYSZQ[ RMZO[R[UZWYZV\0"\ + "L[UUTSRRPRNSMTLVLXMZO[Q[SZ RVRUUSZPaOdOfPgRfScS\\U[XY[V\0"\ + "MZMVOSPQPSSSTTTVSYSZT[U[WZXYZV\0"\ + "NYNVPSQQQSSVTXTZR[ RNZP[T[VZWYYV\0"\ + "OXOVQSSO RVFPXPZQ[S[UZVYXV RPNWN\0"\ + "L[LVNRLXLZM[O[QZSXUU RVRTXTZU[V[XZYY[V\0"\ + "L[LVNRMWMZN[O[RZTXUUUR RURVVWWYW[V\0"\ + "I^LRJTIWIYJ[L[NZPX RRRPXPZQ[S[UZWXXUXR RXRYVZW\\W^V\0"\ + "JZJVLSNRPRQSQZR[U[XYZV RWSVRTRSSOZN[L[KZ\0"\ + "L[LVNRLXLZM[O[QZSXUU RVRPdOfMgLfLdMaP^S\\U[XY[V\0"\ + "LZLVNSPRRRTTTVSXQZN[P\\Q^QaPdOfMgLfLdMaP^S\\WYZV\0"\ + "KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSUSWRYQZP\\P^Q`RaTb\0"\ + "NVRBRb\0"\ + "KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQUQWRYSZT\\T^S`RaPb\0"\ + "F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O\0"\ + "KYQFOGNINKOMQNSNUMVKVIUGSFQF\0"\ +; +/* End of file gen_c_src/scripts.h */ diff --git a/hf2gcode/hershey_fonts/gen_c_src/symbolic.h b/hf2gcode/hershey_fonts/gen_c_src/symbolic.h new file mode 100644 index 0000000..7942e09 --- /dev/null +++ b/hf2gcode/hershey_fonts/gen_c_src/symbolic.h @@ -0,0 +1,105 @@ +/* This file was generated with gen_C_code.m from fixed/symbolic.jhf */ + +/* number of glyphs in font */ +unsigned char symbolic_cnt = 96; + +/* Format: margin left, margin right, X, Y ... \0 +< R> is pen-up, see original hershey font */ +const char symbolic [] PROGMEM="JZ\0"\ + "D`DR`R\0"\ + "D`D``D\0"\ + "RRR>Rf\0"\ + "D`DD``\0"\ + "D`DR`R\0"\ + "F^FY^K\0"\ + "KYK^YF\0"\ + "RRRDR`\0"\ + "KYKFY^\0"\ + "F^FK^Y\0"\ + "KYKRYR\0"\ + "MWMWWM\0"\ + "RRRKRY\0"\ + "MWMMWW\0"\ + "GRRGPGMHJJHMGPGR\0"\ + "GRGRGTHWJZM\\P]R]\0"\ + "R]R]T]W\\ZZ\\W]T]R\0"\ + "R]]R]P\\MZJWHTGRG\0"\ + "D`DOGQKSPTTTYS]Q`O\0"\ + "PUUDSGQKPPPTQYS]U`\0"\ + "OTODQGSKTPTTSYQ]O`\0"\ + "D`DUGSKQPPTPYQ]S`U\0"\ + "KYRJYNKVRZ\0"\ + "JZJRNKVYZR\0"\ + "KYKVKNYVYN\0"\ + "JZLXJPZTXL\0"\ + "JZJ]L]O\\Q[TXUVVSVOULTJSIQIPJOLNONSOVPXS[U\\X]Z]\0"\ + "I]]Z]X\\U[SXPVOSNONLOJPIQISJTLUOVSVVUXT[Q\\O]L]J\0"\ + "JZZGXGUHSIPLONNQNUOXPZQ[S[TZUXVUVQUNTLQIOHLGJG\0"\ + "G[GJGLHOIQLTNUQVUVXUZT[S[QZPXOUNQNNOLPISHUGXGZ\0"\ + "E[EPFRHTJUMVQVUUXSZP[NZLWLSMQNNPLSKVKYL\\M^\0"\ + "EYETHVKWPWSVVTXQYNYLXKVKSLPNNQMTMYN\\P_\0"\ + "OUQOOQOSQUSUUSUQSOQO RQPPQPSQTSTTSTQSPQP RRQQRRSSRRQ\0"\ + "RWRMSMUNVOWQWSVUUVSWRW\0"\ + "D`DRJR RORUR RZR`R\0"\ + "D`DUDO`O`U\0"\ + "JZRDJR RRDZR\0"\ + "D`DR`R RJYZY RP`T`\0"\ + "D`DR`R RDRRb R`RRb\0"\ + "KYQKNLLNKQKSLVNXQYSYVXXVYSYQXNVLSKQK\0"\ + "LXLLLXXXXLLL\0"\ + "KYRJKVYVRJ\0"\ + "LXRHLRR\\XRRH\0"\ + "JZRIPOJOOSMYRUWYUSZOTORI\0"\ + "KYRKRY RKRYR\0"\ + "MWMMWW RWMMW\0"\ + "MWRLRX RMOWU RWOMU\0"\ + "NVQNOONQNSOUQVSVUUVSVQUOSNQN ROQOS RPPPT RQOQU RRORU RSOSU RTPTT RUQUS\0"\ + "NVNNNVVVVNNN ROOOU RPOPU RQOQU RRORU RSOSU RTOTU RUOUU\0"\ + "MWRLMUWURL RROOT RROUT RRRQT RRRST\0"\ + "LULRUWUMLR RORTU RORTO RRRTS RRRTQ\0"\ + "MWRXWOMORX RRUUP RRUOP RRRSP RRRQP\0"\ + "OXXROMOWXR RURPO RURPU RRRPQ RRRPS\0"\ + "RYRKRY RRKYNRQ RSMVNSO\0"\ + "I[RGRV RMJWP RWJMP RIVL\\ R[VX\\ RIV[V RL\\X\\\0"\ + "MWRLRX ROOUO RMUOWQXSXUWWU\0"\ + "LXRLRX RLQMOWOXQ RPWTW\0"\ + "KYMNWX RWNMX ROLLOKQ RULXOYQ\0"\ + "I[NII[ RVI[[ RMM[[ RWMI[ RNIVI RMMWM\0"\ + "KYKFY^\0"\ + "G[MJSV RKPSL RG\\[\\[RG\\\0"\ + "LXPLPPLPLTPTPXTXTTXTXPTPTLPL\0"\ + "KYYPXNVLSKQKNLLNKQKSLVNXQYSYVXXVYT RYPWNUMSMQNPOOQOSPUQVSWUWWVYT\0"\ + "KYRJKVYVRJ RRZYNKNRZ\0"\ + "G]PIPGQFSFTGTI RGZHXJVKTLPLKMJOIUIWJXKXPYTZV\\X]Z RGZ]Z RQZP[Q\\S\\T[SZ\0"\ + "JZRMRS RRSQ\\ RRSS\\ RQ\\S\\ RRMQJPHNG RQJNG RRMSJTHVG RSJVG RRMNKLKJM RPLLLJM RRMVKXKZM RTLXLZM RRMPNOOOR RRMPOOR RRMTNUOUR RRMTOUR\0"\ + "JZRIRK RRNRP RRSRU RRYQ\\ RRYS\\ RQ\\S\\ RRGQIPJ RRGSITJ RPJRITJ RRKPNNOMN RRKTNVOWN RNOPORNTOVO RRPPSNTLTKRKSLT RRPTSVTXTYRYSXT RNTPTRSTTVT RRUPXOYMZLZKYJWJYLZ RRUTXUYWZXZYYZWZYXZ RMZOZRYUZWZ\0"\ + "JZRYQ\\ RRYS\\ RQ\\S\\ RRYUZXZZXZUYTWTYRZOYMWLUMVJUHSGQGOHNJOMMLKMJOKRMTKTJUJXLZOZRY\0"\ + "JZRYQ\\ RRYS\\ RQ\\S\\ RRYVXVVXUXRZQZLYIXHVHTGPGNHLHKIJLJQLRLUNVNXRY\0"\ + "I[IPKR RLKNP RRGRO RXKVP R[PYR\0"\ + "G]IIJKKOKUJYI[ R[IZKYOYUZY[[ RIIKJOKUKYJ[I RI[KZOYUYYZ[[\0"\ + "F^RRR[Q\\ RRVQ\\ RRIQHOHNINKONRR RRISHUHVIVKUNRR RRRNOLNJNIOIQJR RRRVOXNZN[O[QZR RRRNULVJVIUISJR RRRVUXVZV[U[SZR\0"\ + "JZUITJUKVJVIUGSFQFOGNINKOMQOVR ROMTPVRWTWVVXTZ RPNNPMRMTNVPXU[ RNVSYU[V]V_UaSbQbOaN_N^O]P^O_\0"\ + "JZRFQHRJSHRF RRFRb RRQQTRbSTRQ RLMNNPMNLLM RLMXM RTMVNXMVLTM\0"\ + "JZRFQHRJSHRF RRFRT RRPQRSVRXQVSRRP RRTRb RR^Q`RbS`R^ RLMNNPMNLLM RLMXM RTMVNXMVLTM RL[N\\P[NZL[ RL[X[ RT[V\\X[VZT[\0"\ + "E_RIQJRKSJRI RIYHZI[JZIY R[YZZ[[\\Z[Y\0"\ + "F^RHNLKPJSJUKWMXOXQWRU RRHVLYPZSZUYWWXUXSWRU RRUQYP\\ RRUSYT\\ RP\\T\\\0"\ + "F^RNQKPINHMHKIJKJOKRLTNWR\\ RRNSKTIVHWHYIZKZOYRXTVWR\\\0"\ + "F^RGPJLOIR RRGTJXO[R RIRLUPZR] R[RXUTZR]\0"\ + "F^RTTWVXXXZW[U[SZQXPVPSQ RSQUOVMVKUISHQHOINKNMOOQQ RQQNPLPJQISIUJWLXNXPWRT RRTQYP\\ RRTSYT\\ RP\\T\\\0"\ + "I[V+S-Q/P1O4O8Pa>`?_@`?a R`G_H`IaH`G]FZFWGUITKSNRRP[O_Na RZFXGVIUKTNRWQ[P^O`NaLbJbIaI`J_K`Ja R^M\\T[X[Z\\[_[aYbW R_M]T\\X\\Z][ RDM_M\0"\ + "@cTGSHTIUHTGRFOFLGJIIKHNGRE[D_Ca ROFMGKIJKINGWF[E^D`CaAb?b>a>`?_@`?a R^G]H^I_H_G]F RaFZFWGUITKSNRRP[O_Na RZFXGVIUKTNRWQ[P^O`NaLbJbIaI`J_K`Ja R`F\\T[X[Z\\[_[aYbW RaF]T\\X\\Z][ RDM^M\0"\ + "LYMQNOPMSMTNTQRWRZS[ RRMSNSQQWQZR[U[WYXW\0"\ + "LXRLNWXPLPVWRL RRRRL RRRLP RRRNW RRRVW RRRXP\0"\ + "F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O\0"\ +; +/* End of file gen_c_src/symbolic.h */ diff --git a/hf2gcode/hershey_fonts/gen_c_src/timesg.h b/hf2gcode/hershey_fonts/gen_c_src/timesg.h new file mode 100644 index 0000000..82fa6ff --- /dev/null +++ b/hf2gcode/hershey_fonts/gen_c_src/timesg.h @@ -0,0 +1,105 @@ +/* This file was generated with gen_C_code.m from fixed/timesg.jhf */ + +/* number of glyphs in font */ +unsigned char timesg_cnt = 96; + +/* Format: margin left, margin right, X, Y ... \0 +< R> is pen-up, see original hershey font */ +const char timesg [] PROGMEM="JZ\0"\ + "MWRFQHRTSHRF RRHRN RRYQZR[SZRY\0"\ + "JZNFMM ROFMM RVFUM RWFUM\0"\ + "H]SBLb RYBRb RLOZO RKUYU\0"\ + "H\\PBP_ RTBT_ RXIWJXKYJYIWGTFPFMGKIKKLMMNOOUQWRYT RKKMMONUPWQXRYTYXWZT[P[MZKXKWLVMWLX\0"\ + "F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT\0"\ + "F_[NZO[P\\O\\N[MZMYNXPVUTXRZP[M[JZIXIUJSPORMSKSIRGPFNGMIMKNNPQUXWZZ[[[\\Z\\Y RM[KZJXJUKSMQ RMKNMVXXZZ[\0"\ + "NVRFQM RSFQM\0"\ + "KYUBSDQGOKNPNTOYQ]S`UbVb RUBVBTDRGPKOPOTPYR]T`Vb\0"\ + "KYNBPDRGTKUPUTTYR]P`NbOb RNBOBQDSGUKVPVTUYS]Q`Ob\0"\ + "JZRLRX RMOWU RWOMU\0"\ + "E_RIR[ RIR[R\0"\ + "NVSWRXQWRVSWSYQ[\0"\ + "E_IR[R\0"\ + "NVRVQWRXSWRV\0"\ + "G][BIb\0"\ + "H\\QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF RQFOGNHMJLOLRMWNYOZQ[ RS[UZVYWWXRXOWJVHUGSF\0"\ + "H\\NJPISFS[ RRGR[ RN[W[\0"\ + "H\\LJMKLLKKKJLHMGPFTFWGXHYJYLXNUPPRNSLUKXK[ RTFVGWHXJXLWNTPPR RKYLXNXSZVZXYYX RNXS[W[XZYXYV\0"\ + "H\\LJMKLLKKKJLHMGPFTFWGXIXLWNTOQO RTFVGWIWLVNTO RTOVPXRYTYWXYWZT[P[MZLYKWKVLUMVLW RWQXTXWWYVZT[\0"\ + "H\\THT[ RUFU[ RUFJUZU RQ[X[\0"\ + "H\\MFKP RKPMNPMSMVNXPYSYUXXVZS[P[MZLYKWKVLUMVLW RSMUNWPXSXUWXUZS[ RMFWF RMGRGWF\0"\ + "H\\WIVJWKXJXIWGUFRFOGMILKKOKULXNZQ[S[VZXXYUYTXQVOSNRNOOMQLT RRFPGNIMKLOLUMXOZQ[ RS[UZWXXUXTWQUOSN\0"\ + "H\\KFKL RKJLHNFPFUIWIXHYF RLHNGPGUI RYFYIXLTQSSRVR[ RXLSQRSQVQ[\0"\ + "H\\PFMGLILLMNPOTOWNXLXIWGTFPF RPFNGMIMLNNPO RTOVNWLWIVGTF RPOMPLQKSKWLYMZP[T[WZXYYWYSXQWPTO RPONPMQLSLWMYNZP[ RT[VZWYXWXSWQVPTO\0"\ + "H\\XMWPURRSQSNRLPKMKLLINGQFSFVGXIYLYRXVWXUZR[O[MZLXLWMVNWMX RQSORMPLMLLMIOGQF RSFUGWIXLXRWVVXTZR[\0"\ + "NVROQPRQSPRO RRVQWRXSWRV\0"\ + "NVROQPRQSPRO RSWRXQWRVSWSYQ[\0"\ + "F^ZIJRZ[\0"\ + "E_IO[O RIU[U\0"\ + "F^JIZRJ[\0"\ + "I[MJNKMLLKLJMHNGPFSFVGWHXJXLWNVORQRT RSFUGVHWJWLVNTP RRYQZR[SZRY\0"\ + "E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\\T]Q]O\\L[JYHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV\0"\ + "H\\RFK[ RRFY[ RRIX[ RMUVU RI[O[ RU[[[\0"\ + "G]LFL[ RMFM[ RIFUFXGYHZJZLYNXOUP RUFWGXHYJYLXNWOUP RMPUPXQYRZTZWYYXZU[I[ RUPWQXRYTYWXYWZU[\0"\ + "H\\KFX[ RLFY[ RYFK[ RIFOF RUF[F RI[O[ RU[[[\0"\ + "H\\RFJ[ RRFZ[ RRIY[ RKZYZ RJ[Z[\0"\ + "G\\LFL[ RMFM[ RSLST RIFYFYLXF RMPSP RI[Y[YUX[\0"\ + "H]RFR[ RSFS[ RPKMLLMKOKRLTMUPVUVXUYTZRZOYMXLUKPK RPKNLMMLOLRMTNUPV RUVWUXTYRYOXMWLUK ROFVF RO[V[\0"\ + "I[NFN[ ROFO[ RKFZFZLYF RK[R[\0"\ + "F^KFK[ RLFL[ RXFX[ RYFY[ RHFOF RUF\\F RLPXP RH[O[ RU[\\[\0"\ + "MXRFR[ RSFS[ ROFVF RO[V[\0"\ + "PURQRRSRSQRQ\0"\ + "F\\KFK[ RLFL[ RYFLS RQOY[ RPOX[ RHFOF RUF[F RH[O[ RU[[[\0"\ + "H\\RFK[ RRFY[ RRIX[ RI[O[ RU[[[\0"\ + "F_KFK[ RLFRX RKFR[ RYFR[ RYFY[ RZFZ[ RHFLF RYF]F RH[N[ RV[][\0"\ + "G^LFL[ RMFYY RMHY[ RYFY[ RIFMF RVF\\F RI[O[\0"\ + "G]QFNGLIKKJOJRKVLXNZQ[S[VZXXYVZRZOYKXIVGSFQF RQFOGMILKKOKRLVMXOZQ[ RS[UZWXXVYRYOXKWIUGSF\0"\ + "F^KFK[ RLFL[ RXFX[ RYFY[ RHF\\F RH[O[ RU[\\[\0"\ + "G]QFNGLIKKJOJRKVLXNZQ[S[VZXXYVZRZOYKXIVGSFQF RQFOGMILKKOKRLVMXOZQ[ RS[UZWXXVYRYOXKWIUGSF ROMOT RUMUT ROPUP ROQUQ\0"\ + "G]LFL[ RMFM[ RIFUFXGYHZJZMYOXPUQMQ RUFWGXHYJYMXOWPUQ RI[P[\0"\ + "H]KFRPJ[ RJFQP RJFYFZLXF RKZXZ RJ[Y[ZUX[\0"\ + "I\\RFR[ RSFS[ RLFKLKFZFZLYF RO[V[\0"\ + "I\\KKKILGMFOFPGQIRMR[ RKIMGOGQI RZKZIYGXFVFUGTISMS[ RZIXGVGTI RO[V[\0"\ + "KYQFOGNINKOMQNSNUMVKVIUGSFQF\0"\ + "G]JXK[O[MWKSJPJLKIMGPFTFWGYIZLZPYSWWU[Y[ZX RMWLTKPKLLINGPF RTFVGXIYLYPXTWW RKZNZ RVZYZ\0"\ + "G]KEJJ RZEYJ RONNS RVNUS RKWJ\\ RZWY\\ RKGYG RKHYH ROPUP ROQUQ RKYYY RKZYZ\0"\ + "G^RFR[ RSFS[ RIMJLLMMQNSOTQU RJLKMLQMSNTQUTUWTXSYQZM[L RTUVTWSXQYM[L\\M ROFVF RO[V[\0"\ + "H\\XFK[ RYFL[ RLFKLKFYF RK[Y[YUX[\0"\ + "KYOBOb RPBPb ROBVB RObVb\0"\ + "KYKFY^\0"\ + "KYTBTb RUBUb RNBUB RNbUb\0"\ + "G]JTROZT RJTRPZT\0"\ + "H\\Hb\\b\0"\ + "LXPFUL RPFOGUL\0"\ + "G^QMNNLPKRJUJXKZN[P[RZUWWTYPZM RQMONMPLRKUKXLZN[ RQMSMUNVPXXYZZ[ RSMTNUPWXXZZ[[[\0"\ + "G\\TFQGOIMMLPKTJZIb RTFRGPINMMPLTKZJb RTFVFXGYHYKXMWNTOPO RVFXHXKWMVNTO RPOTPVRWTWWVYUZR[P[NZMYLV RPOSPURVTVWUYTZR[\0"\ + "I[KMMMONPPU_VaWb RMMNNOPT_UaWbYb RZMYOWRM]K`Jb\0"\ + "I\\VNTMRMONMQLTLWMYNZP[R[UZWWXTXQWOSJRHRFSEUEWFYH RRMPNNQMTMXNZ RR[TZVWWTWPVNTKSISGTFVFYH\0"\ + "I[XPVNTMPMNNNPPRSS RPMONOPQRSS RSSNTLVLXMZP[S[UZWX RSSOTMVMXNZP[\0"\ + "G]ONMOKQJTJWKYLZN[Q[TZWXYUZRZOXMVMTORSPXMb RJWLYNZQZTYWWYU RZOXNVNTPRSPYNb\0"\ + "H\\IPKNMMOMQNROSRSVRZOb RJOLNPNRO RZMYPXRSYP^Nb RYMXPWRSY\0"\ + "G]HQIOKMNMONOPNTL[ RMMNNNPMTK[ RNTPPRNTMVMXNYOYRXWUb RVMXOXRWWTb\0"\ + "LXRMPTOXOZP[S[UYVW RSMQTPXPZQ[\0"\ + "G]KKYY RYKKY\0"\ + "H\\NMJ[ ROMK[ RXMYNZNYMWMUNQROSMS ROSQTSZT[ ROSPTRZS[U[WZYW\0"\ + "H\\KFMFOGPHQJWXXZY[ RMFOHPJVXWZY[Z[ RRMJ[ RRMK[\0"\ + "F]MMGb RNMHb RMPLVLYN[P[RZTXVU RXMUXUZV[Y[[Y\\W RYMVXVZW[\0"\ + "H\\NML[ ROMNSMXL[ RYMXQVU RZMYPXRVUTWQYOZL[ RKMOM\0"\ + "I[RMONMQLTLWMYNZP[R[UZWWXTXQWOVNTMRM RRMPNNQMTMXNZ RR[TZVWWTWPVN\0"\ + "G]PNL[ RPNM[ RVNV[ RVNW[ RIPKNNM[M RIPKONN[N\0"\ + "F]GQHOJMMMNNNPMUMXNZO[ RLMMNMPLULXMZO[Q[SZUXWUXRYMYIXGVFTFRHRJSMUPWRZT RSZUWVUWRXMXIWGVF\0"\ + "H[LVMYNZP[R[UZWWXTXQWOVNTMRMONMQLTHb RR[TZVWWTWPVN RRMPNNQMTIb\0"\ + "H][MQMNNLQKTKWLYMZO[Q[TZVWWTWQVOUNSM RQMONMQLTLXMZ RQ[SZUWVTVPUN RUN[N\0"\ + "H\\SNP[ RSNQ[ RJPLNOMZM RJPLOONZN\0"\ + "H\\IQJOLMOMPNPPNVNYP[ RNMONOPMVMYNZP[Q[TZVXXUYRYOXMWNXOYR RXUYO\0"\ + "E_RIQJRKSJRI RIR[R RRYQZR[SZRY\0"\ + "F]JQLOONNMLNJQITIWJZK[M[OZQWRT RIWJYKZMZOYQW RQTQWRZS[U[WZYWZTZQYNXMWNYOZQ RQWRYSZUZWYYW\0"\ + "IZTFRGQHQIRJUKXK RUKQLOMNONQPSSTVT RUKRLPMOOOQQSST RSTOUMVLXLZN\\S^T_TaRbPb RSTPUNVMXMZO\\S^\0"\ + "F]UFOb RVFNb RGQHOJMMMNNNPMUMXOZRZTYWVYS RLMMNMPLULXMZO[R[TZVXXUYS[M\0"\ + "I[TFRGQHQIRJUKZKZJWKSMPOMRLULWMYP[S]T_TaSbQbPa RULQONRMUMWNYP[\0"\ + "KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSUSWRYQZP\\P^Q`RaTb\0"\ + "NVRBRb\0"\ + "KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQUQWRYSZT\\T^S`RaPb\0"\ + "F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O\0"\ + "JZJFJ[K[KFLFL[M[MFNFN[O[OFPFP[Q[QFRFR[S[SFTFT[U[UFVFV[W[WFXFX[Y[YFZFZ[\0"\ +; +/* End of file gen_c_src/timesg.h */ diff --git a/hf2gcode/hershey_fonts/gen_c_src/timesi.h b/hf2gcode/hershey_fonts/gen_c_src/timesi.h new file mode 100644 index 0000000..42bf12b --- /dev/null +++ b/hf2gcode/hershey_fonts/gen_c_src/timesi.h @@ -0,0 +1,105 @@ +/* This file was generated with gen_C_code.m from fixed/timesi.jhf */ + +/* number of glyphs in font */ +unsigned char timesi_cnt = 96; + +/* Format: margin left, margin right, X, Y ... \0 +< R> is pen-up, see original hershey font */ +const char timesi [] PROGMEM="JZ\0"\ + "MXUFTGRS RUGRS RUFVGRS RPYOZP[QZPY\0"\ + "I[PFNM RQFNM RYFWM RZFWM\0"\ + "H]SBLb RYBRb RLOZO RKUYU\0"\ + "H]TBL_ RYBQ_ RZJYKZL[K[JZHYGVFRFOGMIMKNMONVRXT RMKOMVQWRXTXWWYVZS[O[LZKYJWJVKULVKW\0"\ + "F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT\0"\ + "F_[NZO[P\\O\\N[MZMYNXPVUTXRZP[M[JZIXIUJSPORMSKSIRGPFNGMIMKNNPQUXWZZ[[[\\Z\\Y RM[KZJXJUKSMQ RMKNMVXXZZ[\0"\ + "NWUFSM RVFSM\0"\ + "KZZBVESHQKOONTNXO]P`Qb RVESIQMPPOUOZP_Qb\0"\ + "JYSBTDUGVLVPUUSYQ\\N_Jb RSBTEUJUOTTSWQ[N_\0"\ + "JZRLRX RMOWU RWOMU\0"\ + "E_RIR[ RIR[R\0"\ + "MXP[OZPYQZQ[P]N_\0"\ + "E_IR[R\0"\ + "MXPYOZP[QZPY\0"\ + "G][BIb\0"\ + "H]TFQGOIMLLOKSKVLYMZO[Q[TZVXXUYRZNZKYHXGVFTF RTFRGPINLMOLSLVMYO[ RQ[SZUXWUXRYNYKXHVF\0"\ + "H]TJO[ RVFP[ RVFSIPKNL RUIQKNL\0"\ + "H]OJPKOLNKNJOHPGSFVFYGZIZKYMWOTQPSMUKWI[ RVFXGYIYKXMVOPS RJYKXMXRZUZWYXW RMXR[U[WZXW\0"\ + "H]OJPKOLNKNJOHPGSFVFYGZIZKYMVOSP RVFXGYIYKXMVO RQPSPVQWRXTXWWYVZS[O[LZKYJWJVKULVKW RSPUQVRWTWWVYUZS[\0"\ + "H]XGR[ RYFS[ RYFJUZU\0"\ + "H]QFLP RQF[F RQGVG[F RLPMOPNSNVOWPXRXUWXUZR[O[LZKYJWJVKULVKW RSNUOVPWRWUVXTZR[\0"\ + "H]YIXJYKZJZIYGWFTFQGOIMLLOKSKWLYMZO[R[UZWXXVXSWQVPTOQOOPMRLT RTFRGPINLMOLSLXMZ RR[TZVXWVWRVP\0"\ + "H]NFLL R[FZIXLSRQUPWO[ RXLRRPUOWN[ RMIPFRFWI RNHPGRGWIYIZH[F\0"\ + "H]SFPGOHNJNMOOQPTPXOYNZLZIYGVFSF RSFQGPHOJOMPOQP RTPWOXNYLYIXGVF RQPMQKSJUJXKZN[R[VZWYXWXTWRVQTP RQPNQLSKUKXLZN[ RR[UZVYWWWSVQ\0"\ + "H]YMXOVQTRQROQNPMNMKNIPGSFVFXGYHZJZNYRXUVXTZQ[N[LZKXKWLVMWLX ROQNONKOIQGSF RXGYIYNXRWUUXSZQ[\0"\ + "MXSMRNSOTNSM RPYOZP[QZ\0"\ + "MXSMRNSOTNSM RP[OZPYQZQ[P]N_\0"\ + "F^ZIJRZ[\0"\ + "E_IO[O RIU[U\0"\ + "F^JIZRJ[\0"\ + "H]OJPKOLNKNJOHPGSFWFZG[I[KZMYNSPQQQSRTTT RWFYGZIZKYMXNVO RPYOZP[QZPY\0"\ + "E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\\T]Q]O\\L[JYHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV\0"\ + "H\\UFH[ RUFV[ RTHU[ RLUUU RF[L[ RR[X[\0"\ + "F^OFI[ RPFJ[ RLFWFZG[I[KZNYOVP RWFYGZIZKYNXOVP RMPVPXQYSYUXXVZR[F[ RVPWQXSXUWXUZR[\0"\ + "H]ZH[H\\F[L[JZHYGWFTFQGOIMLLOKSKVLYMZP[S[UZWXXV RTFRGPINLMOLSLVMYNZP[\0"\ + "F]OFI[ RPFJ[ RLFUFXGYHZKZOYSWWUYSZO[F[ RUFWGXHYKYOXSVWTYRZO[\0"\ + "F]OFI[ RPFJ[ RTLRT RLF[FZLZF RMPSP RF[U[WVT[\0"\ + "F\\OFI[ RPFJ[ RTLRT RLF[FZLZF RMPSP RF[M[\0"\ + "H^ZH[H\\F[L[JZHYGWFTFQGOIMLLOKSKVLYMZP[R[UZWXYT RTFRGPINLMOLSLVMYNZP[ RR[TZVXXT RUT\\T\0"\ + "E_NFH[ ROFI[ R[FU[ R\\FV[ RKFRF RXF_F RLPXP RE[L[ RR[Y[\0"\ + "LYUFO[ RVFP[ RRFYF RL[S[\0"\ + "I[XFSWRYQZO[M[KZJXJVKULVKW RWFRWQYO[ RTF[F\0"\ + "F]OFI[ RPFJ[ R]FLS RSOW[ RROV[ RLFSF RYF_F RF[M[ RS[Y[\0"\ + "H\\QFK[ RRFL[ RNFUF RH[W[YUV[\0"\ + "E`NFH[ RNFO[ ROFPY R\\FO[ R\\FV[ R]FW[ RKFOF R\\F`F RE[K[ RS[Z[\0"\ + "F_OFI[ ROFVX ROIV[ R\\FV[ RLFOF RYF_F RF[L[\0"\ + "G]SFPGNILLKOJSJVKYLZN[Q[TZVXXUYRZNZKYHXGVFSF RSFQGOIMLLOKSKVLYN[ RQ[SZUXWUXRYNYKXHVF\0"\ + "F]OFI[ RPFJ[ RLFXF[G\\I\\K[NYPUQMQ RXFZG[I[KZNXPUQ RF[M[\0"\ + "G]SFPGNILLKOJSJVKYLZN[Q[TZVXXUYRZNZKYHXGVFSF RSFQGOIMLLOKSKVLYN[ RQ[SZUXWUXRYNYKXHVF RLYLXMVOUPURVSXS_T`V`W^W] RSXT^U_V_W^\0"\ + "F^OFI[ RPFJ[ RLFWFZG[I[KZNYOVPMP RWFYGZIZKYNXOVP RRPTQURVZW[Y[ZYZX RURWYXZYZZY RF[M[\0"\ + "G^ZH[H\\F[L[JZHYGVFRFOGMIMKNMONVRXT RMKOMVQWRXTXWWYVZS[O[LZKYJWJUI[JYKY\0"\ + "H]UFO[ RVFP[ ROFLLNF]F\\L\\F RL[S[\0"\ + "F_NFKQJUJXKZN[R[UZWXXU\\F ROFLQKUKXLZN[ RKFRF RYF_F\0"\ + "H\\NFO[ ROFPY R\\FO[ RLFRF RXF^F\0"\ + "E_MFK[ RNFLY RUFK[ RUFS[ RVFTY R]FS[ RJFQF RZF`F\0"\ + "G]NFU[ ROFV[ R\\FH[ RLFRF RXF^F RF[L[ RR[X[\0"\ + "H]NFRPO[ ROFSPP[ R]FSP RLFRF RYF_F RL[S[\0"\ + "G][FH[ R\\FI[ ROFLLNF\\F RH[V[XUU[\0"\ + "KYOBOb RPBPb ROBVB RObVb\0"\ + "KYKFY^\0"\ + "KYTBTb RUBUb RNBUB RNbUb\0"\ + "G]JTROZT RJTRPZT\0"\ + "H\\Hb\\b\0"\ + "LXPFUL RPFOGUL\0"\ + "H]XMVTUXUZV[Y[[Y\\W RYMWTVXVZW[ RVTVQUNSMQMNNLQKTKWLYMZO[Q[SZUWVT RQMONMQLTLXMZ\0"\ + "H[PFLSLVMYNZ RQFMS RMSNPPNRMTMVNWOXQXTWWUZR[P[NZMWMS RVNWPWTVWTZR[ RMFQF\0"\ + "I[WPWQXQXPWNUMRMONMQLTLWMYNZP[R[UZWW RRMPNNQMTMXNZ\0"\ + "H]ZFVTUXUZV[Y[[Y\\W R[FWTVXVZW[ RVTVQUNSMQMNNLQKTKWLYMZO[Q[SZUWVT RQMONMQLTLXMZ RWF[F\0"\ + "I[MVQUTTWRXPWNUMRMONMQLTLWMYNZP[R[UZWX RRMPNNQMTMXNZ\0"\ + "KZZGYHZI[H[GZFXFVGUHTJSMP[O_Na RXFVHUJTNRWQ[P^O`NaLbJbIaI`J_K`Ja ROMYM\0"\ + "H\\YMU[T^RaObLbJaI`I_J^K_J` RXMT[S^QaOb RVTVQUNSMQMNNLQKTKWLYMZO[Q[SZUWVT RQMONMQLTLXMZ\0"\ + "H]PFJ[ RQFK[ RMTOPQNSMUMWNXOXQVWVZW[ RUMWOWQUWUZV[Y[[Y\\W RMFQF\0"\ + "LYUFTGUHVGUF RMQNOPMSMTNTQRWRZS[ RRMSNSQQWQZR[U[WYXW\0"\ + "LYVFUGVHWGVF RNQOOQMTMUNUQR[Q^P`OaMbKbJaJ`K_L`Ka RSMTNTQQ[P^O`Mb\0"\ + "H\\PFJ[ RQFK[ RXNWOXPYOYNXMWMUNQROSMS ROSQTSZT[ ROSPTRZS[U[WZYW RMFQF\0"\ + "MYUFQTPXPZQ[T[VYWW RVFRTQXQZR[ RRFVF\0"\ + "AbBQCOEMHMINIPHTF[ RGMHNHPGTE[ RHTJPLNNMPMRNSOSQP[ RPMRORQO[ RRTTPVNXMZM\\N]O]Q[W[Z\\[ RZM\\O\\QZWZZ[[^[`YaW\0"\ + "F]GQHOJMMMNNNPMTK[ RLMMNMPLTJ[ RMTOPQNSMUMWNXOXQVWVZW[ RUMWOWQUWUZV[Y[[Y\\W\0"\ + "I[RMONMQLTLWMYNZP[R[UZWWXTXQWOVNTMRM RRMPNNQMTMXNZ RR[TZVWWTWPVN\0"\ + "G\\HQIOKMNMONOPNTJb RMMNNNPMTIb RNTOQQNSMUMWNXOYQYTXWVZS[Q[OZNWNT RWNXPXTWWUZS[ RFbMb\0"\ + "H\\XMRb RYMSb RVTVQUNSMQMNNLQKTKWLYMZO[Q[SZUWVT RQMONMQLTLXMZ RObVb\0"\ + "IZJQKOMMPMQNQPPTN[ ROMPNPPOTM[ RPTRPTNVMXMYNYOXPWOXN\0"\ + "J[XOXPYPYOXNUMRMONNONQORVVWW RNPOQVUWVWYVZS[P[MZLYLXMXMY\0"\ + "KYTFPTOXOZP[S[UYVW RUFQTPXPZQ[ RNMWM\0"\ + "F]GQHOJMMMNNNQLWLYN[ RLMMNMQKWKYLZN[P[RZTXVT RXMVTUXUZV[Y[[Y\\W RYMWTVXVZW[\0"\ + "H\\IQJOLMOMPNPQNWNYP[ RNMONOQMWMYNZP[Q[TZVXXUYQYMXMYO\0"\ + "C`DQEOGMJMKNKQIWIYK[ RIMJNJQHWHYIZK[M[OZQXRV RTMRVRYSZU[W[YZ[X\\V]R]M\\M]O RUMSVSYU[\0"\ + "H\\KQMNOMRMSOSR RQMRORRQVPXNZL[K[JZJYKXLYKZ RQVQYR[U[WZYW RYNXOYPZOZNYMXMVNTPSRRVRYS[\0"\ + "G\\HQIOKMNMONOQMWMYO[ RMMNNNQLWLYMZO[Q[SZUXWT RZMV[U^SaPbMbKaJ`J_K^L_K` RYMU[T^RaPb\0"\ + "H\\YMXOVQNWLYK[ RLQMOOMRMVO RMOONRNVOXO RLYNYRZUZWY RNYR[U[WYXW\0"\ + "KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSUSWRYQZP\\P^Q`RaTb\0"\ + "NVRBRb\0"\ + "KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQUQWRYSZT\\T^S`RaPb\0"\ + "F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O\0"\ + "JZJFJ[K[KFLFL[M[MFNFN[O[OFPFP[Q[QFRFR[S[SFTFT[U[UFVFV[W[WFXFX[Y[YFZFZ[\0"\ +; +/* End of file gen_c_src/timesi.h */ diff --git a/hf2gcode/hershey_fonts/gen_c_src/timesib.h b/hf2gcode/hershey_fonts/gen_c_src/timesib.h new file mode 100644 index 0000000..0ef8f1e --- /dev/null +++ b/hf2gcode/hershey_fonts/gen_c_src/timesib.h @@ -0,0 +1,105 @@ +/* This file was generated with gen_C_code.m from fixed/timesib.jhf */ + +/* number of glyphs in font */ +unsigned char timesib_cnt = 96; + +/* Format: margin left, margin right, X, Y ... \0 +< R> is pen-up, see original hershey font */ +const char timesib [] PROGMEM="JZ\0"\ + "MXVFUFTGRT RVGUGRT RVGVHRT RVFWGWHRT RPXOYOZP[Q[RZRYQXPX RPYPZQZQYPY\0"\ + "I[PFNM RQFNM RYFWM RZFWM\0"\ + "H]SBLb RYBRb RLOZO RKUYU\0"\ + "H]TBL_ RYBQ_ RZKZJYJYL[L[JZHYGVFRFOGMIMLNNPPVSWUWXVZ RNLONVRWT ROGNINKOMUPWRXTXWWYVZS[O[LZKYJWJULULWKWKV\0"\ + "F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT\0"\ + "E_\\O\\N[N[P]P]N\\M[MYNWPRXPZN[K[HZGXGVHTISKRPPROTMUKUITGRFPGOIOLPRQURWTZV[X[YYYX RL[HZ RIZHXHVITJSLR RPPQSTYVZ RK[JZIXIVJTKSMRRO ROLPOQRSVUYWZXZYY\0"\ + "NWUFSM RVFSM\0"\ + "JZZBXCUERHPKNOMSMXN\\O_Qb RSHQKOONTN\\ RZBWDTGRJQLPOOSN\\ RNTO]P`Qb\0"\ + "JZSBUEVHWLWQVUTYR\\O_LaJb RVHVPUUSYQ\\ RSBTDUGVP RVHUQTUSXRZP]M`Jb\0"\ + "J[TFSGUQTR RTFTR RTFUGSQTR ROIPIXOYO ROIYO ROIOJYNYO RYIXIPOOO RYIOO RYIYJONOO\0"\ + "F_RIRZSZ RRISISZ RJQ[Q[R RJQJR[R\0"\ + "MXQ[P[OZOYPXQXRYR[Q]P^N_ RPYPZQZQYPY RQ[Q\\P^\0"\ + "E_IR[R\0"\ + "MXPXOYOZP[Q[RZRYQXPX RPYPZQZQYPY\0"\ + "G^[BIbJb R[B\\BJb\0"\ + "H]TFQGOIMLLOKSKVLYMZO[Q[TZVXXUYRZNZKYHXGVFTF RQHOJNLMOLSLWMY RTYVWWUXRYNYJXH RTFRGPJOLNOMSMXNZO[ RQ[SZUWVUWRXNXIWGVF\0"\ + "H]TJO[Q[ RWFUJP[ RWFQ[ RWFTIQKOL RTJRKOL\0"\ + "H]OKOJPJPLNLNJOHPGSFVFYGZIZKYMWOMUKWI[ RXGYIYKXMVOSQ RVFWGXIXKWMUOMU RJYKXMXRYWYXX RMXRZWZ RMXR[U[WZXXXW\0"\ + "H]OKOJPJPLNLNJOHPGSFVFYGZIZKYMXNVOSP RXGYIYKXMWN RVFWGXIXKWMUOSP RQPSPVQWRXTXWWYUZR[O[LZKYJWJULULWKWKV RVRWTWWVY RSPUQVSVWUYTZR[\0"\ + "H]WJR[T[ RZFXJS[ RZFT[ RZFJUZU\0"\ + "H]QFLP RQF[F RQGYG RPHUHYG[F RLPMOPNSNVOWPXRXUWXUZQ[N[LZKYJWJULULWKWKV RVPWRWUVXTZ RSNUOVQVUUXSZQ[\0"\ + "H]YJYIXIXKZKZIYGWFTFQGOIMLLOKSKVLYMZO[R[UZWXXVXSWQVPTOQOOPNQMS RPINLMOLSLWMY RVXWVWSVQ RTFRGPJOLNOMSMXNZO[ RR[TZUYVVVRUPTO\0"\ + "H]NFLL R[FZIXLTQRTQWP[ RRSPWO[ RXLRRPUOWN[P[ RMIPFRFWI ROGRGWI RMIOHRHWIYIZH[F\0"\ + "H]SFPGOHNJNMOOQPTPWOYNZLZIYGWFSF RUFPG RPHOJONPO ROORP RSPWO RXNYLYIXG RYGUF RSFQHPJPNQP RTPVOWNXLXHWF RQPMQKSJUJXKZN[R[VZWYXWXTWRVQTP RRPMQ RNQLSKUKXLZ RKZP[VZ RVYWWWTVR RVQSP RQPOQMSLULXMZN[ RR[TZUYVWVSUQTP\0"\ + "H]XNWPVQTRQROQNPMNMKNIPGSFVFXGYHZKZNYRXUVXTZQ[N[LZKXKVMVMXLXLW ROPNNNKOI RXHYJYNXRWUUX RQRPQOOOKPHQGSF RVFWGXIXNWRVUUWSZQ[\0"\ + "MXSMRNROSPTPUOUNTMSM RSNSOTOTNSN RPXOYOZP[Q[RZRYQXPX RPYPZQZQYPY\0"\ + "MXSMRNROSPTPUOUNTMSM RSNSOTOTNSN RQ[P[OZOYPXQXRYR[Q]P^N_ RPYPZQZQYPY RQ[Q\\P^\0"\ + "F^ZIJRZ[\0"\ + "F_JM[M[N RJMJN[N RJU[U[V RJUJV[V\0"\ + "F^JIZRJ[\0"\ + "H]OKOJPJPLNLNJOHPGSFWFZG[I[KZMYNWOSPQQQSSTTT RUFZG RYGZIZKYMXNVO RWFXGYIYKXMWNSPRQRSST RPXOYOZP[Q[RZRYQXPX RPYPZQZQYPY\0"\ + "E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\\T]Q]O\\L[JYHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV\0"\ + "H\\UFIZ RSJT[ RTHUZ RUFUHVYV[ RLUTU RF[L[ RQ[X[ RIZG[ RIZK[ RTZR[ RTYS[ RVYW[\0"\ + "F^OFI[ RPFJ[ RQFK[ RLFWFZG[I[KZNYOVP RYGZIZKYNXO RWFXGYIYKXNVP RNPVPXQYSYUXXVZR[F[ RWQXSXUWXUZ RVPWRWUVXTZR[ RMFPG RNFOH RRFPH RSFPG RJZG[ RJYH[ RKYL[ RJZM[\0"\ + "H]ZH[H\\F[L[JZHYGWFTFQGOIMLLOKSKVLYMZP[S[UZWXXV RQHOJNLMOLSLWMY RTFRGPJOLNOMSMXNZP[\0"\ + "F]OFI[ RPFJ[ RQFK[ RLFUFXGYHZKZOYSWWUYSZO[F[ RWGXHYKYOXSVWTY RUFWHXKXOWSUWRZO[ RMFPG RNFOH RRFPH RSFPG RJZG[ RJYH[ RKYL[ RJZM[\0"\ + "F]OFI[ RPFJ[ RQFK[ RULST RLF[FZL RNPTP RF[U[WV RMFPG RNFOH RRFPH RSFPG RWFZG RXFZH RYFZI RZFZL RULSPST RTNRPSR RTOQPSQ RJZG[ RJYH[ RKYL[ RJZM[ RP[UZ RR[UY RUYWV\0"\ + "F\\OFI[ RPFJ[ RQFK[ RULST RLF[FZL RNPTP RF[N[ RMFPG RNFOH RRFPH RSFPG RWFZG RXFZH RYFZI RZFZL RULSPST RTNRPSR RTOQPSQ RJZG[ RJYH[ RKYL[ RJZM[\0"\ + "H^ZH[H\\F[L[JZHYGWFTFQGOIMLLOKSKVLYMZP[R[UZWXYT RQHOJNLMOLSLWMY RVXWWXT RTFRGPJOLNOMSMXNZP[ RR[TZVWWT RTT\\T RUTWU RVTWW RZTXV R[TXU\0"\ + "E_NFH[ ROFI[ RPFJ[ RZFT[ R[FU[ R\\FV[ RKFSF RWF_F RLPXP RE[M[ RQ[Y[ RLFOG RMFNH RQFOH RRFOG RXF[G RYFZH R]F[H R^F[G RIZF[ RIYG[ RJYK[ RIZL[ RUZR[ RUYS[ RVYW[ RUZX[\0"\ + "KYTFN[ RUFO[ RVFP[ RQFYF RK[S[ RRFUG RSFTH RWFUH RXFUG ROZL[ ROYM[ RPYQ[ ROZR[\0"\ + "I\\WFRWQYO[ RXFTSSVRX RYFUSSXQZO[M[KZJXJVKULUMVMWLXKX RKVKWLWLVKV RTF\\F RUFXG RVFWH RZFXH R[FXG\0"\ + "F]OFI[ RPFJ[ RQFK[ R\\GMR RQOU[ RROV[ RSNWZ RLFTF RYF_F RF[N[ RR[Y[ RMFPG RNFOH RRFPH RSFPG RZF\\G R^F\\G RJZG[ RJYH[ RKYL[ RJZM[ RUZS[ RUYT[ RVYX[\0"\ + "H\\QFK[ RRFL[ RSFM[ RNFVF RH[W[YU ROFRG RPFQH RTFRH RUFRG RLZI[ RLYJ[ RMYN[ RLZO[ RR[WZ RT[XX RV[YU\0"\ + "D`MFGZ RMGNYN[ RNFOY ROFPX R[FPXN[ R[FU[ R\\FV[ R]FW[ RJFOF R[F`F RD[J[ RR[Z[ RKFMG RLFMH R^F\\H R_F\\G RGZE[ RGZI[ RVZS[ RVYT[ RWYX[ RVZY[\0"\ + "F_OFIZ ROFV[ RPFVX RQFWX R\\GWXV[ RLFQF RYF_F RF[L[ RMFPG RNFPH RZF\\G R^F\\G RIZG[ RIZK[\0"\ + "G]SFPGNILLKOJSJVKYLZN[Q[TZVXXUYRZNZKYHXGVFSF ROIMLLOKSKWLY RUXWUXRYNYJXH RSFQGOJNLMOLSLXMZN[ RQ[SZUWVUWRXNXIWGVF\0"\ + "F]OFI[ RPFJ[ RQFK[ RLFXF[G\\I\\K[NYPUQMQ RZG[I[KZNXP RXFYGZIZKYNWPUQ RF[N[ RMFPG RNFOH RRFPH RSFPG RJZG[ RJYH[ RKYL[ RJZM[\0"\ + "G]SFPGNILLKOJSJVKYLZN[Q[TZVXXUYRZNZKYHXGVFSF ROIMLLOKSKWLY RUXWUXRYNYJXH RSFQGOJNLMOLSLXMZN[ RQ[SZUWVUWRXNXIWGVF RLXMVOUPURVSXT]U^V^W] RT^U_V_ RSXS_T`V`W]W\\\0"\ + "F^OFI[ RPFJ[ RQFK[ RLFWFZG[I[KZNYOVPNP RYGZIZKYNXO RWFXGYIYKXNVP RRPTQURWXXYYYZX RWYXZYZ RURVZW[Y[ZXZW RF[N[ RMFPG RNFOH RRFPH RSFPG RJZG[ RJYH[ RKYL[ RJZM[\0"\ + "G^ZH[H\\F[L[JZHYGVFRFOGMIMLNNPPVSWUWXVZ RNLONVRWT ROGNINKOMUPWRXTXWWYVZS[O[LZKYJWJUI[JYKY\0"\ + "G]TFN[ RUFO[ RVFP[ RMFKL R]F\\L RMF]F RK[S[ RNFKL RPFLI RRFMG RYF\\G RZF\\H R[F\\I R\\F\\L ROZL[ ROYM[ RPYQ[ ROZR[\0"\ + "F_NFKQJUJXKZN[R[UZWXXU\\G ROFLQKUKYLZ RPFMQLULYN[ RKFSF RYF_F RLFOG RMFNH RQFOH RRFOG RZF\\G R^F\\G\0"\ + "H\\NFNHOYO[ ROGPX RPFQW R[GO[ RLFSF RXF^F RMFNH RQFPH RRFOG RYF[G R]F[G\0"\ + "E_MFMHKYK[ RNGLX ROFMW RUFMWK[ RUFUHSYS[ RVGTX RWFUW R]GUWS[ RJFRF RUFWF RZF`F RKFNG RLFMH RPFNI RQFNG R[F]G R_F]G\0"\ + "G]NFT[ ROFU[ RPFV[ R[GIZ RLFSF RXF^F RF[L[ RQ[X[ RMFOH RQFPH RRFPG RYF[G R]F[G RIZG[ RIZK[ RTZR[ RTYS[ RUYW[\0"\ + "G]MFQPN[ RNFRPO[ ROFSPP[ R\\GSP RKFRF RYF_F RK[S[ RLFNG RPFOH RQFNG RZF\\G R^F\\G ROZL[ ROYM[ RPYQ[ ROZR[\0"\ + "G]ZFH[ R[FI[ R\\FJ[ R\\FNFLL RH[V[XU ROFLL RPFMI RRFNG RR[VZ RT[WX RU[XU\0"\ + "KYOBOb RPBPb ROBVB RObVb\0"\ + "KYKFY^\0"\ + "KYTBTb RUBUb RNBUB RNbUb\0"\ + "G]JTROZT RJTRPZT\0"\ + "H\\Hb\\b\0"\ + "LXPFUL RPFOGUL\0"\ + "G]WMUTUXVZW[Y[[Y\\W RXMVTVZ RWMYMWTVX RUTUQTNRMPMMNKQJTJVKYLZN[P[RZSYTWUT RNNLQKTKWLY RPMNOMQLTLWMZN[\0"\ + "I\\PFNMMSMWNYOZQ[S[VZXWYTYRXOWNUMSMQNPOOQNT RQFOMNQNWOZ RVYWWXTXQWO RMFRFPMNT RS[UYVWWTWQVNUM RNFQG ROFPH\0"\ + "I[WQWPVPVRXRXPWNUMRMONMQLTLVMYNZP[R[UZWW ROONQMTMWNY RRMPOOQNTNWOZP[\0"\ + "G]YFVQUUUXVZW[Y[[Y\\W RZFWQVUVZ RVF[FWTVX RUTUQTNRMPMMNKQJTJVKYLZN[P[RZSYTWUT RMOLQKTKWLY RPMNOMQLTLWMZN[ RWFZG RXFYH\0"\ + "I[MVQUTTWRXPWNUMRMONMQLTLVMYNZP[R[UZWX ROONQMTMWNY RRMPOOQNTNWOZP[\0"\ + "JZZHZGYGYI[I[GZFXFVGTISKRNQRO[N^M`Kb RTJSMRRP[O^ RXFVHUJTMSRQZP]O_MaKbIbHaH_J_JaIaI` RNMYM\0"\ + "H]XMT[S^QaOb RYMU[S_ RXMZMV[T_RaObLbJaI`I^K^K`J`J_ RVTVQUNSMQMNNLQKTKVLYMZO[Q[SZTYUWVT RNOMQLTLWMY RQMOONQMTMWNZO[\0"\ + "G]OFI[K[ RPFJ[ RLFQFK[ RMTOPQNSMUMWNXPXSVX RWNWRVVVZ RWPUUUXVZW[Y[[Y\\W RMFPG RNFOH\0"\ + "KXSFSHUHUFSF RTFTH RSGUG RLQMOOMQMRNSPSSQX RRNRRQVQZ RRPPUPXQZR[T[VYWW\0"\ + "KXUFUHWHWFUF RVFVH RUGWG RMQNOPMRMSNTPTSRZQ]P_NaLbJbIaI_K_KaJaJ` RSNSSQZP]O_ RSPRTP[O^N`Lb\0"\ + "G]OFI[K[ RPFJ[ RLFQFK[ RYOYNXNXPZPZNYMWMUNQROS RMSOSQTRUTYUZWZ RQUSYTZ ROSPTRZS[U[WZYW RMFPG RNFOH\0"\ + "LXTFQQPUPXQZR[T[VYWW RUFRQQUQZ RQFVFRTQX RRFUG RSFTH\0"\ + "@cAQBODMFMGNHPHSF[ RGNGSE[ RGPFTD[F[ RHSJPLNNMPMRNSPSSQ[ RRNRSP[ RRPQTO[Q[ RSSUPWNYM[M]N^P^S\\X R]N]R\\V\\Z R]P[U[X\\Z][_[aYbW\0"\ + "F^GQHOJMLMMNNPNSL[ RMNMSK[ RMPLTJ[L[ RNSPPRNTMVMXNYPYSWX RXNXRWVWZ RXPVUVXWZX[Z[\\Y]W\0"\ + "H\\QMNNLQKTKVLYMZP[S[VZXWYTYRXOWNTMQM RNOMQLTLWMY RVYWWXTXQWO RQMOONQMTMWNZP[ RS[UYVWWTWQVNTM\0"\ + "G]HQIOKMMMNNOPOSNWKb RNNNSMWJb RNPMTIb ROTPQQORNTMVMXNYOZRZTYWWZT[R[PZOWOT RXOYQYTXWWY RVMWNXQXTWWVYT[ RFbNb RJaGb RJ`Hb RK`Lb RJaMb\0"\ + "G\\WMQb RXMRb RWMYMSb RUTUQTNRMPMMNKQJTJVKYLZN[P[RZSYTWUT RMOLQKTKWLY RPMNOMQLTLWMZN[ RNbVb RRaOb RR`Pb RS`Tb RRaUb\0"\ + "I[JQKOMMOMPNQPQTO[ RPNPTN[ RPPOTM[O[ RYOYNXNXPZPZNYMWMUNSPQT\0"\ + "J[XPXOWOWQYQYOXNUMRMONNONQOSQTTUVVWX RONNQ RORQSTTVU RWVVZ RNOOQQRTSVTWVWXVZS[P[MZLYLWNWNYMYMX\0"\ + "KYTFQQPUPXQZR[T[VYWW RUFRQQUQZ RTFVFRTQX RNMXM\0"\ + "F^GQHOJMLMMNNPNSLX RMNMRLVLZ RMPKUKXLZN[P[RZTXVU RXMVUVXWZX[Z[\\Y]W RYMWUWZ RXMZMXTWX\0"\ + "H\\IQJOLMNMONPPPSNX RONORNVNZ ROPMUMXNZP[R[TZVXXUYQYMXMXNYP\0"\ + "CaDQEOGMIMJNKPKSIX RJNJRIVIZ RJPHUHXIZK[M[OZQXRU RTMRURXSZU[W[YZ[X]U^Q^M]M]N^P RUMSUSZ RTMVMTTSX\0"\ + "G]JQLNNMPMRNSPSR RPMQNQRPVOXMZK[I[HZHXJXJZIZIY RRORRQVQY RZOZNYNYP[P[NZMXMVNTPSRRVRZS[ RPVPXQZS[U[WZYW\0"\ + "G]HQIOKMMMNNOPOSMX RNNNRMVMZ RNPLULXMZO[Q[SZUXWT RYMU[T^RaPb RZMV[T_ RYM[MW[U_SaPbMbKaJ`J^L^L`K`K_\0"\ + "H\\YMXOVQNWLYK[ RXOOOMPLR RVORNONNO RVORMOMMOLR RLYUYWXXV RNYRZUZVY RNYR[U[WYXV\0"\ + "KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSUSWRYQZP\\P^Q`RaTb\0"\ + "NVRBRb\0"\ + "KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQUQWRYSZT\\T^S`RaPb\0"\ + "F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O\0"\ + "JZJFJ[K[KFLFL[M[MFNFN[O[OFPFP[Q[QFRFR[S[SFTFT[U[UFVFV[W[WFXFX[Y[YFZFZ[\0"\ +; +/* End of file gen_c_src/timesib.h */ diff --git a/hf2gcode/hershey_fonts/gen_c_src/timesr.h b/hf2gcode/hershey_fonts/gen_c_src/timesr.h new file mode 100644 index 0000000..9688bba --- /dev/null +++ b/hf2gcode/hershey_fonts/gen_c_src/timesr.h @@ -0,0 +1,105 @@ +/* This file was generated with gen_C_code.m from fixed/timesr.jhf */ + +/* number of glyphs in font */ +unsigned char timesr_cnt = 96; + +/* Format: margin left, margin right, X, Y ... \0 +< R> is pen-up, see original hershey font */ +const char timesr [] PROGMEM="JZ\0"\ + "MWRFQHRTSHRF RRHRN RRYQZR[SZRY\0"\ + "I[NFMGMM RNGMM RNFOGMM RWFVGVM RWGVM RWFXGVM\0"\ + "H]SBLb RYBRb RLOZO RKUYU\0"\ + "H\\PBP_ RTBT_ RXIWJXKYJYIWGTFPFMGKIKKLMMNOOUQWRYT RKKMMONUPWQXRYTYXWZT[P[MZKXKWLVMWLX\0"\ + "F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT\0"\ + "F_[NZO[P\\O\\N[MZMYNXPVUTXRZP[M[JZIXIUJSPORMSKSIRGPFNGMIMKNNPQUXWZZ[[[\\Z\\Y RM[KZJXJUKSMQ RMKNMVXXZZ[\0"\ + "NVRFQM RSFQM\0"\ + "KYVBTDRGPKOPOTPYR]T`Vb RTDRHQKPPPTQYR\\T`\0"\ + "KYNBPDRGTKUPUTTYR]P`Nb RPDRHSKTPTTSYR\\P`\0"\ + "JZRLRX RMOWU RWOMU\0"\ + "E_RIR[ RIR[R\0"\ + "NVSWRXQWRVSWSYQ[\0"\ + "E_IR[R\0"\ + "NVRVQWRXSWRV\0"\ + "G][BIb\0"\ + "H\\QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF RQFOGNHMJLOLRMWNYOZQ[ RS[UZVYWWXRXOWJVHUGSF\0"\ + "H\\NJPISFS[ RRGR[ RN[W[\0"\ + "H\\LJMKLLKKKJLHMGPFTFWGXHYJYLXNUPPRNSLUKXK[ RTFVGWHXJXLWNTPPR RKYLXNXSZVZXYYX RNXS[W[XZYXYV\0"\ + "H\\LJMKLLKKKJLHMGPFTFWGXIXLWNTOQO RTFVGWIWLVNTO RTOVPXRYTYWXYWZT[P[MZLYKWKVLUMVLW RWQXTXWWYVZT[\0"\ + "H\\THT[ RUFU[ RUFJUZU RQ[X[\0"\ + "H\\MFKP RKPMNPMSMVNXPYSYUXXVZS[P[MZLYKWKVLUMVLW RSMUNWPXSXUWXUZS[ RMFWF RMGRGWF\0"\ + "H\\WIVJWKXJXIWGUFRFOGMILKKOKULXNZQ[S[VZXXYUYTXQVOSNRNOOMQLT RRFPGNIMKLOLUMXOZQ[ RS[UZWXXUXTWQUOSN\0"\ + "H\\KFKL RKJLHNFPFUIWIXHYF RLHNGPGUI RYFYIXLTQSSRVR[ RXLSQRSQVQ[\0"\ + "H\\PFMGLILLMNPOTOWNXLXIWGTFPF RPFNGMIMLNNPO RTOVNWLWIVGTF RPOMPLQKSKWLYMZP[T[WZXYYWYSXQWPTO RPONPMQLSLWMYNZP[ RT[VZWYXWXSWQVPTO\0"\ + "H\\XMWPURRSQSNRLPKMKLLINGQFSFVGXIYLYRXVWXUZR[O[MZLXLWMVNWMX RQSORMPLMLLMIOGQF RSFUGWIXLXRWVVXTZR[\0"\ + "NVROQPRQSPRO RRVQWRXSWRV\0"\ + "NVROQPRQSPRO RSWRXQWRVSWSYQ[\0"\ + "F^ZIJRZ[\0"\ + "E_IO[O RIU[U\0"\ + "F^JIZRJ[\0"\ + "I[MJNKMLLKLJMHNGPFSFVGWHXJXLWNVORQRT RSFUGVHWJWLVNTP RRYQZR[SZRY\0"\ + "E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\\T]Q]O\\L[JYHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV\0"\ + "H\\RFK[ RRFY[ RRIX[ RMUVU RI[O[ RU[[[\0"\ + "G]LFL[ RMFM[ RIFUFXGYHZJZLYNXOUP RUFWGXHYJYLXNWOUP RMPUPXQYRZTZWYYXZU[I[ RUPWQXRYTYWXYWZU[\0"\ + "G\\XIYLYFXIVGSFQFNGLIKKJNJSKVLXNZQ[S[VZXXYV RQFOGMILKKNKSLVMXOZQ[\0"\ + "G]LFL[ RMFM[ RIFSFVGXIYKZNZSYVXXVZS[I[ RSFUGWIXKYNYSXVWXUZS[\0"\ + "G\\LFL[ RMFM[ RSLST RIFYFYLXF RMPSP RI[Y[YUX[\0"\ + "G[LFL[ RMFM[ RSLST RIFYFYLXF RMPSP RI[P[\0"\ + "G^XIYLYFXIVGSFQFNGLIKKJNJSKVLXNZQ[S[VZXX RQFOGMILKKNKSLVMXOZQ[ RXSX[ RYSY[ RUS\\S\0"\ + "F^KFK[ RLFL[ RXFX[ RYFY[ RHFOF RUF\\F RLPXP RH[O[ RU[\\[\0"\ + "MXRFR[ RSFS[ ROFVF RO[V[\0"\ + "KZUFUWTZR[P[NZMXMVNUOVNW RTFTWSZR[ RQFXF\0"\ + "F\\KFK[ RLFL[ RYFLS RQOY[ RPOX[ RHFOF RUF[F RH[O[ RU[[[\0"\ + "I[NFN[ ROFO[ RKFRF RK[Z[ZUY[\0"\ + "F_KFK[ RLFRX RKFR[ RYFR[ RYFY[ RZFZ[ RHFLF RYF]F RH[N[ RV[][\0"\ + "G^LFL[ RMFYY RMHY[ RYFY[ RIFMF RVF\\F RI[O[\0"\ + "G]QFNGLIKKJOJRKVLXNZQ[S[VZXXYVZRZOYKXIVGSFQF RQFOGMILKKOKRLVMXOZQ[ RS[UZWXXVYRYOXKWIUGSF\0"\ + "G]LFL[ RMFM[ RIFUFXGYHZJZMYOXPUQMQ RUFWGXHYJYMXOWPUQ RI[P[\0"\ + "G]QFNGLIKKJOJRKVLXNZQ[S[VZXXYVZRZOYKXIVGSFQF RQFOGMILKKOKRLVMXOZQ[ RS[UZWXXVYRYOXKWIUGSF RNYNXOVQURUTVUXV_W`Y`Z^Z] RUXV\\W^X_Y_Z^\0"\ + "G]LFL[ RMFM[ RIFUFXGYHZJZLYNXOUPMP RUFWGXHYJYLXNWOUP RI[P[ RRPTQURXYYZZZ[Y RTQUSWZX[Z[[Y[X\0"\ + "H\\XIYFYLXIVGSFPFMGKIKKLMMNOOUQWRYT RKKMMONUPWQXRYTYXWZT[Q[NZLXKUK[LX\0"\ + "I\\RFR[ RSFS[ RLFKLKFZFZLYF RO[V[\0"\ + "F^KFKULXNZQ[S[VZXXYUYF RLFLUMXOZQ[ RHFOF RVF\\F\0"\ + "H\\KFR[ RLFRX RYFR[ RIFOF RUF[F\0"\ + "F^JFN[ RKFNV RRFN[ RRFV[ RSFVV RZFV[ RGFNF RWF]F\0"\ + "H\\KFX[ RLFY[ RYFK[ RIFOF RUF[F RI[O[ RU[[[\0"\ + "H]KFRQR[ RLFSQS[ RZFSQ RIFOF RVF\\F RO[V[\0"\ + "H\\XFK[ RYFL[ RLFKLKFYF RK[Y[YUX[\0"\ + "KYOBOb RPBPb ROBVB RObVb\0"\ + "KYKFY^\0"\ + "KYTBTb RUBUb RNBUB RNbUb\0"\ + "G]JTROZT RJTRPZT\0"\ + "H\\Hb\\b\0"\ + "LXPFUL RPFOGUL\0"\ + "I]NONPMPMONNPMTMVNWOXQXXYZZ[ RWOWXXZZ[[[ RWQVRPSMTLVLXMZP[S[UZWX RPSNTMVMXNZP[\0"\ + "G\\LFL[ RMFM[ RMPONQMSMVNXPYSYUXXVZS[Q[OZMX RSMUNWPXSXUWXUZS[ RIFMF\0"\ + "H[WPVQWRXQXPVNTMQMNNLPKSKULXNZQ[S[VZXX RQMONMPLSLUMXOZQ[\0"\ + "H]WFW[ RXFX[ RWPUNSMQMNNLPKSKULXNZQ[S[UZWX RQMONMPLSLUMXOZQ[ RTFXF RW[[[\0"\ + "H[LSXSXQWOVNTMQMNNLPKSKULXNZQ[S[VZXX RWSWPVN RQMONMPLSLUMXOZQ[\0"\ + "KXUGTHUIVHVGUFSFQGPIP[ RSFRGQIQ[ RMMUM RM[T[\0"\ + "I\\QMONNOMQMSNUOVQWSWUVVUWSWQVOUNSMQM RONNPNTOV RUVVTVPUN RVOWNYMYNWN RNUMVLXLYM[P\\U\\X]Y^ RLYMZP[U[X\\Y^Y_XaUbObLaK_K^L\\O[\0"\ + "G]LFL[ RMFM[ RMPONRMTMWNXPX[ RTMVNWPW[ RIFMF RI[P[ RT[[[\0"\ + "MXRFQGRHSGRF RRMR[ RSMS[ ROMSM RO[V[\0"\ + "MXSFRGSHTGSF RTMT_SaQbObNaN`O_P`Oa RSMS_RaQb RPMTM\0"\ + "G\\LFL[ RMFM[ RWMMW RRSX[ RQSW[ RIFMF RTMZM RI[P[ RT[Z[\0"\ + "MXRFR[ RSFS[ ROFSF RO[V[\0"\ + "BcGMG[ RHMH[ RHPJNMMOMRNSPS[ ROMQNRPR[ RSPUNXMZM]N^P^[ RZM\\N]P][ RDMHM RD[K[ RO[V[ RZ[a[\0"\ + "G]LML[ RMMM[ RMPONRMTMWNXPX[ RTMVNWPW[ RIMMM RI[P[ RT[[[\0"\ + "H\\QMNNLPKSKULXNZQ[S[VZXXYUYSXPVNSMQM RQMONMPLSLUMXOZQ[ RS[UZWXXUXSWPUNSM\0"\ + "G\\LMLb RMMMb RMPONQMSMVNXPYSYUXXVZS[Q[OZMX RSMUNWPXSXUWXUZS[ RIMMM RIbPb\0"\ + "H\\WMWb RXMXb RWPUNSMQMNNLPKSKULXNZQ[S[UZWX RQMONMPLSLUMXOZQ[ RTb[b\0"\ + "IZNMN[ ROMO[ ROSPPRNTMWMXNXOWPVOWN RKMOM RK[R[\0"\ + "J[WOXMXQWOVNTMPMNNMOMQNRPSUUWVXW RMPNQPRUTWUXVXYWZU[Q[OZNYMWM[NY\0"\ + "KZPFPWQZS[U[WZXX RQFQWRZS[ RMMUM\0"\ + "G]LMLXMZP[R[UZWX RMMMXNZP[ RWMW[ RXMX[ RIMMM RTMXM RW[[[\0"\ + "I[LMR[ RMMRY RXMR[ RJMPM RTMZM\0"\ + "F^JMN[ RKMNX RRMN[ RRMV[ RSMVX RZMV[ RGMNM RWM]M\0"\ + "H\\LMW[ RMMX[ RXML[ RJMPM RTMZM RJ[P[ RT[Z[\0"\ + "H[LMR[ RMMRY RXMR[P_NaLbKbJaK`La RJMPM RTMZM\0"\ + "I[WML[ RXMM[ RMMLQLMXM RL[X[XWW[\0"\ + "KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSUSWRYQZP\\P^Q`RaTb\0"\ + "NVRBRb\0"\ + "KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQUQWRYSZT\\T^S`RaPb\0"\ + "F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O\0"\ + "JZJFJ[K[KFLFL[M[MFNFN[O[OFPFP[Q[QFRFR[S[SFTFT[U[UFVFV[W[WFXFX[Y[YFZFZ[\0"\ +; +/* End of file gen_c_src/timesr.h */ diff --git a/hf2gcode/hershey_fonts/gen_c_src/timesrb.h b/hf2gcode/hershey_fonts/gen_c_src/timesrb.h new file mode 100644 index 0000000..65de7f8 --- /dev/null +++ b/hf2gcode/hershey_fonts/gen_c_src/timesrb.h @@ -0,0 +1,105 @@ +/* This file was generated with gen_C_code.m from fixed/timesrb.jhf */ + +/* number of glyphs in font */ +unsigned char timesrb_cnt = 96; + +/* Format: margin left, margin right, X, Y ... \0 +< R> is pen-up, see original hershey font */ +const char timesrb [] PROGMEM="JZ\0"\ + "MXRFQGQIRQ RRFRTST RRFSFST RSFTGTISQ RRXQYQZR[S[TZTYSXRX RRYRZSZSYRY\0"\ + "I[NFMGMM RNGMM RNFOGMM RWFVGVM RWGVM RWFXGVM\0"\ + "H]SBLb RYBRb RLOZO RKUYU\0"\ + "H\\PBP_ RTBT_ RXKXJWJWLYLYJXHWGTFPFMGKIKLLNOPURWSXUXXWZ RLLMNOOUQWRXT RMGLILKMMONUPXRYTYWXYWZT[P[MZLYKWKUMUMWLWLV\0"\ + "F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT\0"\ + "E_[O[NZNZP\\P\\N[MZMYNXPVUTXRZP[L[JZIXIUJSPORMSKSIRGPFNGMIMLNOPRTWWZY[[[\\Y\\X RKZJXJUKSLR RRMSI RSKRG RNGMK RNNPQTVWYYZ RN[LZKXKULSPO RMINMQQUVXYZZ[Z\\Y\0"\ + "NWSFRGRM RSGRM RSFTGRM\0"\ + "KYUBSDQGOKNPNTOYQ]S`Ub RQHPKOOOUPYQ\\ RSDRFQIPOPUQ[R^S`\0"\ + "KYOBQDSGUKVPVTUYS]Q`Ob RSHTKUOUUTYS\\ RQDRFSITOTUS[R^Q`\0"\ + "JZRFQGSQRR RRFRR RRFSGQQRR RMINIVOWO RMIWO RMIMJWNWO RWIVINOMO RWIMO RWIWJMNMO\0"\ + "F_RIRZSZ RRISISZ RJQ[Q[R RJQJR[R\0"\ + "MXTZS[R[QZQYRXSXTYT\\S^Q_ RRYRZSZSYRY RS[T\\ RTZS^\0"\ + "E_IR[R\0"\ + "MXRXQYQZR[S[TZTYSXRX RRYRZSZSYRY\0"\ + "G^[BIbJb R[B\\BJb\0"\ + "H\\QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF RNHMJLNLSMWNY RVYWWXSXNWJVH RQFOGNIMNMSNXOZQ[ RS[UZVXWSWNVIUGSF\0"\ + "H\\QHQ[ RRHRZ RSFS[ RSFPINJ RM[W[ RQZO[ RQYP[ RSYT[ RSZU[\0"\ + "H\\LJLKMKMJLJ RLIMINJNKMLLLKKKJLHMGPFTFWGXHYJYLXNUPPRNSLUKXK[ RWHXJXLWN RTFVGWJWLVNTPPR RKYLXNXSYWYYX RNXSZWZXY RNXS[W[XZYXYV\0"\ + "H\\LJLKMKMJLJ RLIMINJNKMLLLKKKJLHMGPFTFWGXIXLWNTO RVGWIWLVN RSFUGVIVLUNSO RQOTOVPXRYTYWXYWZT[P[MZLYKWKVLUMUNVNWMXLX RWRXTXWWY RSOUPVQWTWWVZT[ RLVLWMWMVLV\0"\ + "H\\SIS[ RTHTZ RUFU[ RUFJUZU RP[X[ RSZQ[ RSYR[ RUYV[ RUZW[\0"\ + "H\\MFKPMNPMSMVNXPYSYUXXVZS[P[MZLYKWKVLUMUNVNWMXLX RWPXRXVWX RSMUNVOWRWVVYUZS[ RLVLWMWMVLV RMFWF RMGUG RMHQHUGWF\0"\ + "H\\VIVJWJWIVI RWHVHUIUJVKWKXJXIWGUFRFOGMILKKOKULXNZQ[S[VZXXYUYTXQVOSNQNOONPMR RNIMKLOLUMXNY RWXXVXSWQ RRFPGOHNJMNMUNXOZQ[ RS[UZVYWVWSVPUOSN\0"\ + "H\\KFKL RYFYIXLTQSSRWR[ RSRRTQWQ[ RXLSQQTPWP[R[ RKJLHNFPFUIWIXHYF RMHNGPGRH RKJLINHPHUI\0"\ + "H\\PFMGLILLMNPOTOWNXLXIWGTFPF RNGMIMLNN RVNWLWIVG RPFOGNINLONPO RTOUNVLVIUGTF RPOMPLQKSKWLYMZP[T[WZXYYWYSXQWPTO RMQLSLWMY RWYXWXSWQ RPONPMSMWNZP[ RT[VZWWWSVPTO\0"\ + "H\\MWMXNXNWMW RWOVQURSSQSNRLPKMKLLINGQFSFVGXIYLYRXVWXUZR[O[MZLXLWMVNVOWOXNYMY RMPLNLKMI RVHWIXLXRWVVX RQSORNQMNMKNHOGQF RSFUGVIWLWSVWUYTZR[\0"\ + "MXRMQNQORPSPTOTNSMRM RRNROSOSNRN RRXQYQZR[S[TZTYSXRX RRYRZSZSYRY\0"\ + "MXRMQNQORPSPTOTNSMRM RRNROSOSNRN RTZS[R[QZQYRXSXTYT\\S^Q_ RRYRZSZSYRY RS[T\\ RTZS^\0"\ + "F^ZIJRZ[\0"\ + "F_JM[M[N RJMJN[N RJU[U[V RJUJV[V\0"\ + "F^JIZRJ[\0"\ + "I\\MKMJNJNLLLLJMHNGPFTFWGXHYJYLXNWOSQ RWHXIXMWN RTFVGWIWMVOUP RRQRTSTSQRQ RRXQYQZR[S[TZTYSXRX RRYRZSZSYRY\0"\ + "E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\\T]Q]O\\L[JYHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV\0"\ + "H\\RFKZ RQIW[ RRIX[ RRFY[ RMUVU RI[O[ RT[[[ RKZJ[ RKZM[ RWZU[ RWYV[ RXYZ[\0"\ + "G]LFL[ RMGMZ RNFN[ RIFUFXGYHZJZLYNXOUP RXHYJYLXN RUFWGXIXMWOUP RNPUPXQYRZTZWYYXZU[I[ RXRYTYWXY RUPWQXSXXWZU[ RJFLG RKFLH ROFNH RPFNG RLZJ[ RLYK[ RNYO[ RNZP[\0"\ + "G\\XIYFYLXIVGTFQFNGLIKKJNJSKVLXNZQ[T[VZXXYV RMILKKNKSLVMX RQFOGMJLNLSMWOZQ[\0"\ + "G]LFL[ RMGMZ RNFN[ RIFSFVGXIYKZNZSYVXXVZS[I[ RWIXKYNYSXVWX RSFUGWJXNXSWWUZS[ RJFLG RKFLH ROFNH RPFNG RLZJ[ RLYK[ RNYO[ RNZP[\0"\ + "G\\LFL[ RMGMZ RNFN[ RIFYFYL RNPTP RTLTT RI[Y[YU RJFLG RKFLH ROFNH RPFNG RTFYG RVFYH RWFYI RXFYL RTLSPTT RTNRPTR RTOPPTQ RLZJ[ RLYK[ RNYO[ RNZP[ RT[YZ RV[YY RW[YX RX[YU\0"\ + "G[LFL[ RMGMZ RNFN[ RIFYFYL RNPTP RTLTT RI[Q[ RJFLG RKFLH ROFNH RPFNG RTFYG RVFYH RWFYI RXFYL RTLSPTT RTNRPTR RTOPPTQ RLZJ[ RLYK[ RNYO[ RNZP[\0"\ + "G^XIYFYLXIVGTFQFNGLIKKJNJSKVLXNZQ[T[VZXZY[YS RMILKKNKSLVMX RQFOGMJLNLSMWOZQ[ RXTXY RWSWYVZ RTS\\S RUSWT RVSWU RZSYU R[SYT\0"\ + "F^KFK[ RLGLZ RMFM[ RWFW[ RXGXZ RYFY[ RHFPF RTF\\F RMPWP RH[P[ RT[\\[ RIFKG RJFKH RNFMH ROFMG RUFWG RVFWH RZFYH R[FYG RKZI[ RKYJ[ RMYN[ RMZO[ RWZU[ RWYV[ RYYZ[ RYZ[[\0"\ + "LXQFQ[ RRGRZ RSFS[ RNFVF RN[V[ ROFQG RPFQH RTFSH RUFSG RQZO[ RQYP[ RSYT[ RSZU[\0"\ + "JZSFSWRZQ[ RTGTWSZ RUFUWTZQ[O[MZLXLVMUNUOVOWNXMX RMVMWNWNVMV RPFXF RQFSG RRFSH RVFUH RWFUG\0"\ + "F\\KFK[ RLGLZ RMFM[ RXGMR RPPW[ RQPX[ RQNY[ RHFPF RUF[F RH[P[ RT[[[ RIFKG RJFKH RNFMH ROFMG RWFXG RZFXG RKZI[ RKYJ[ RMYN[ RMZO[ RWYU[ RWYZ[\0"\ + "I[NFN[ ROGOZ RPFP[ RKFSF RK[Z[ZU RLFNG RMFNH RQFPH RRFPG RNZL[ RNYM[ RPYQ[ RPZR[ RU[ZZ RW[ZY RX[ZX RY[ZU\0"\ + "E_JFJZ RJFQ[ RKFQX RLFRX RXFQ[ RXFX[ RYGYZ RZFZ[ RGFLF RXF]F RG[M[ RU[][ RHFJG R[FZH R\\FZG RJZH[ RJZL[ RXZV[ RXYW[ RZY[[ RZZ\\[\0"\ + "F^KFKZ RKFY[ RLFXX RMFYX RYGY[ RHFMF RVF\\F RH[N[ RIFKG RWFYG R[FYG RKZI[ RKZM[\0"\ + "G]QFNGLIKKJOJRKVLXNZQ[S[VZXXYVZRZOYKXIVGSFQF RMILKKNKSLVMX RWXXVYSYNXKWI RQFOGMJLNLSMWOZQ[ RS[UZWWXSXNWJUGSF\0"\ + "G]LFL[ RMGMZ RNFN[ RIFUFXGYHZJZMYOXPUQNQ RXHYJYMXO RUFWGXIXNWPUQ RI[Q[ RJFLG RKFLH ROFNH RPFNG RLZJ[ RLYK[ RNYO[ RNZP[\0"\ + "G]QFNGLIKKJOJRKVLXNZQ[S[VZXXYVZRZOYKXIVGSFQF RMILKKNKSLVMX RWXXVYSYNXKWI RQFOGMJLNLSMWOZQ[ RS[UZWWXSXNWJUGSF RNXOVQURUTVUXV^W`Y`Z^Z\\ RV\\W^X_Y_ RUXW]X^Y^Z]\0"\ + "G]LFL[ RMGMZ RNFN[ RIFUFXGYHZJZLYNXOUPNP RXHYJYLXN RUFWGXIXMWOUP RRPTQUSWYX[Z[[Y[W RWWXYYZZZ RTQURXXYYZY[X RI[Q[ RJFLG RKFLH ROFNH RPFNG RLZJ[ RLYK[ RNYO[ RNZP[\0"\ + "H\\XIYFYLXIVGSFPFMGKIKLLNOPURWSXUXXWZ RLLMNOOUQWRXT RMGLILKMMONUPXRYTYWXYWZT[Q[NZLXKUK[LX\0"\ + "H\\JFJL RQFQ[ RRGRZ RSFS[ RZFZL RJFZF RN[V[ RKFJL RLFJI RMFJH ROFJG RUFZG RWFZH RXFZI RYFZL RQZO[ RQYP[ RSYT[ RSZU[\0"\ + "F^KFKULXNZQ[S[VZXXYUYG RLGLVMX RMFMVNYOZQ[ RHFPF RVF\\F RIFKG RJFKH RNFMH ROFMG RWFYG R[FYG\0"\ + "H\\KFR[ RLFRXR[ RMFSX RYGR[ RIFPF RUF[F RJFLH RNFMH ROFMG RWFYG RZFYG\0"\ + "F^JFN[ RKFNVN[ RLFOV RRFOVN[ RRFV[ RSFVVV[ RTFWV RZGWVV[ RGFOF RRFTF RWF]F RHFKG RIFKH RMFLH RNFLG RXFZG R\\FZG\0"\ + "H\\KFW[ RLFX[ RMFY[ RXGLZ RIFPF RUF[F RI[O[ RT[[[ RJFMH RNFMH ROFMG RVFXG RZFXG RLZJ[ RLZN[ RWZU[ RWYV[ RWYZ[\0"\ + "G]JFQQQ[ RKFRQRZ RLFSQS[ RYGSQ RHFOF RVF\\F RN[V[ RIFKG RNFLG RWFYG R[FYG RQZO[ RQYP[ RSYT[ RSZU[\0"\ + "H\\YFKFKL RWFK[ RXFL[ RYFM[ RK[Y[YU RLFKL RMFKI RNFKH RPFKG RT[YZ RV[YY RW[YX RX[YU\0"\ + "KYOBOb RPBPb ROBVB RObVb\0"\ + "KYKFY^\0"\ + "KYTBTb RUBUb RNBUB RNbUb\0"\ + "G]JTROZT RJTRPZT\0"\ + "H\\Hb\\b\0"\ + "LXPFUL RPFOGUL\0"\ + "I]NPNOOOOQMQMONNPMTMVNWOXQXXYZZ[ RVOWQWXXZ RTMUNVPVXWZZ[[[ RVRUSPTMULWLXMZP[S[UZVX RNUMWMXNZ RUSQTOUNWNXOZP[\0"\ + "G\\LFL[MZOZ RMGMY RIFNFNZ RNPONQMSMVNXPYSYUXXVZS[Q[OZNX RWPXRXVWX RSMUNVOWRWVVYUZS[ RJFLG RKFLH\0"\ + "H[WQWPVPVRXRXPVNTMQMNNLPKSKULXNZQ[S[VZXX RMPLRLVMX RQMONNOMRMVNYOZQ[\0"\ + "H]VFV[[[ RWGWZ RSFXFX[ RVPUNSMQMNNLPKSKULXNZQ[S[UZVX RMPLRLVMX RQMONNOMRMVNYOZQ[ RTFVG RUFVH RXYY[ RXZZ[\0"\ + "H[MSXSXQWOVNSMQMNNLPKSKULXNZQ[S[VZXX RWRWQVO RMPLRLVMX RVSVPUNSM RQMONNOMRMVNYOZQ[\0"\ + "KYWHWGVGVIXIXGWFTFRGQHPKP[ RRHQKQZ RTFSGRIR[ RMMVM RM[U[ RPZN[ RPYO[ RRYS[ RRZT[\0"\ + "I\\XNYOZNYMXMVNUO RQMONNOMQMSNUOVQWSWUVVUWSWQVOUNSMQM ROONQNSOU RUUVSVQUO RQMPNOPOTPVQW RSWTVUTUPTNSM RNUMVLXLYM[N\\Q]U]X^Y_ RN[Q\\U\\X] RLYMZP[U[X\\Y^Y_XaUbObLaK_K^L\\O[ RObMaL_L^M\\O[\0"\ + "G^LFL[ RMGMZ RIFNFN[ RNQOOPNRMUMWNXOYRY[ RWOXRXZ RUMVNWQW[ RI[Q[ RT[\\[ RJFLG RKFLH RLZJ[ RLYK[ RNYO[ RNZP[ RWZU[ RWYV[ RYYZ[ RYZ[[\0"\ + "LXQFQHSHSFQF RRFRH RQGSG RQMQ[ RRNRZ RNMSMS[ RN[V[ ROMQN RPMQO RQZO[ RQYP[ RSYT[ RSZU[\0"\ + "KXRFRHTHTFRF RSFSH RRGTG RRMR^QaPb RSNS]R` ROMTMT]S`RaPbMbLaL_N_NaMaM` RPMRN RQMRO\0"\ + "G]LFL[ RMGMZ RIFNFN[ RWNNW RRSY[ RRTX[ RQTW[ RTM[M RI[Q[ RT[[[ RJFLG RKFLH RUMWN RZMWN RLZJ[ RLYK[ RNYO[ RNZP[ RWYU[ RVYZ[\0"\ + "LXQFQ[ RRGRZ RNFSFS[ RN[V[ ROFQG RPFQH RQZO[ RQYP[ RSYT[ RSZU[\0"\ + "AcFMF[ RGNGZ RCMHMH[ RHQIOJNLMOMQNROSRS[ RQORRRZ ROMPNQQQ[ RSQTOUNWMZM\\N]O^R^[ R\\O]R]Z RZM[N\\Q\\[ RC[K[ RN[V[ RY[a[ RDMFN REMFO RFZD[ RFYE[ RHYI[ RHZJ[ RQZO[ RQYP[ RSYT[ RSZU[ R\\ZZ[ R\\Y[[ R^Y_[ R^Z`[\0"\ + "G^LML[ RMNMZ RIMNMN[ RNQOOPNRMUMWNXOYRY[ RWOXRXZ RUMVNWQW[ RI[Q[ RT[\\[ RJMLN RKMLO RLZJ[ RLYK[ RNYO[ RNZP[ RWZU[ RWYV[ RYYZ[ RYZ[[\0"\ + "H\\QMNNLPKSKULXNZQ[S[VZXXYUYSXPVNSMQM RMPLRLVMX RWXXVXRWP RQMONNOMRMVNYOZQ[ RS[UZVYWVWRVOUNSM\0"\ + "G\\LMLb RMNMa RIMNMNb RNPONQMSMVNXPYSYUXXVZS[Q[OZNX RWPXRXVWX RSMUNVOWRWVVYUZS[ RIbQb RJMLN RKMLO RLaJb RL`Kb RN`Ob RNaPb\0"\ + "H\\VNVb RWOWa RUNWNXMXb RVPUNSMQMNNLPKSKULXNZQ[S[UZVX RMPLRLVMX RQMONNOMRMVNYOZQ[ RSb[b RVaTb RV`Ub RX`Yb RXaZb\0"\ + "IZNMN[ RONOZ RKMPMP[ RWOWNVNVPXPXNWMUMSNQPPS RK[S[ RLMNN RMMNO RNZL[ RNYM[ RPYQ[ RPZR[\0"\ + "J[WOXMXQWOVNTMPMNNMOMQNSPTUUWVXY RNNMQ RNRPSUTWU RXVWZ RMONQPRUSWTXVXYWZU[Q[OZNYMWM[NY\0"\ + "KZPHPVQYRZT[V[XZYX RQHQWRY RPHRFRWSZT[ RMMVM\0"\ + "G^LMLVMYNZP[S[UZVYWW RMNMWNY RIMNMNWOZP[ RWMW[\\[ RXNXZ RTMYMY[ RJMLN RKMLO RYYZ[ RYZ[[\0"\ + "I[LMR[ RMMRY RNMSY RXNSYR[ RJMQM RTMZM RKMNO RPMNN RVMXN RYMXN\0"\ + "F^JMN[ RKMNX RLMOX RRMOXN[ RRMV[ RSMVX RRMTMWX RZNWXV[ RGMOM RWM]M RHMKN RNMLN RXMZN R\\MZN\0"\ + "H\\LMV[ RMMW[ RNMX[ RWNMZ RJMQM RTMZM RJ[P[ RS[Z[ RKMMN RPMNN RUMWN RYMWN RMZK[ RMZO[ RVZT[ RWZY[\0"\ + "H[LMR[ RMMRY RNMSY RXNSYP_NaLbJbIaI_K_KaJaJ` RJMQM RTMZM RKMNO RPMNN RVMXN RYMXN\0"\ + "I[VML[ RWMM[ RXMN[ RXMLMLQ RL[X[XW RMMLQ RNMLP ROMLO RQMLN RS[XZ RU[XY RV[XX RW[XW\0"\ + "KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSUSWRYQZP\\P^Q`RaTb\0"\ + "NVRBRb\0"\ + "KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQUQWRYSZT\\T^S`RaPb\0"\ + "F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O\0"\ + "JZJFJ[K[KFLFL[M[MFNFN[O[OFPFP[Q[QFRFR[S[SFTFT[U[UFVFV[W[WFXFX[Y[YFZFZ[\0"\ +; +/* End of file gen_c_src/timesrb.h */ diff --git a/hf2gcode/hershey_fonts/orig/astrology.jhf b/hf2gcode/hershey_fonts/orig/astrology.jhf new file mode 100644 index 0000000..33969cd --- /dev/null +++ b/hf2gcode/hershey_fonts/orig/astrology.jhf @@ -0,0 +1,175 @@ +12345 1JZ +12345 48F^JHNJPLQOQRPUNWJY RJHMIOJQLRO RRRQUOWMXJY RZHWIUJSLRO RRRSUUWWX +ZY RZHVJTLSOSRTUVWZY RIP[P RIQ[Q +12345 22I[NFMGMM RNGMM RNFOGMM RWFVGVM RWGVM RWFXGVM +12345 38E`QFNGKIILHOHRIUKXNZQ[T[WZZX\U]R]O\LZIWGTFQF RROQPQQRRSRTQTPSORO + RRPRQSQSPRP +12345 45J[PFNGOIQJ RPFOGOI RUFWGVITJ RUFVGVI RQJOKNLMNMQNSOTQUTUVTWSXQXN +WLVKTJQJ RRUR[ RSUS[ RNXWX +12345 27I\RFOGMILLLMMPORRSSSVRXPYMYLXIVGSFRF RRSR[ RSSS[ RNWWW +12345 28D`PFMGJIHLGOGSHVJYM[P\T\W[ZY\V]S]O\LZIWGTFPF RRFR\ RGQ]Q +12345 31G`PMMNKPJSJTKWMYPZQZTYVWWTWSVPTNQMPM R]GWG[HUN R]G]M\IVO R\HVN +12345 20KYVBTDRGPKOPOTPYR]T`Vb RTDRHQKPPPTQYR\T` +12345 20KYNBPDRGTKUPUTTYR]P`Nb RPDRHSKTPTTSYR\P` +12345 28F\IIJGLFOFQGRIRLQOPQNSKU ROFPGQIQMPPNS RVFT[ RWFS[ RKUYU +12345 30I\MFMU RNFMQ RMQNOONQMTMWNXPXRWTUV RTMVNWPWRTXTZU[W[YY RKFNF +12345 8NVSWRXQWRVSWSYQ[ +12345 44I\RNOOMQLTLUMXOZR[S[VZXXYUYTXQVOSNRN RRHNJRFRN RSHWJSFSN RRSQTQU +RVSVTUTTSSRS RRTRUSUSTRT +12345 6NVRVQWRXSWRV +12345 37G^QHRFR[ RTHSFS[ RJHKFKMLPNRQSRS RMHLFLNMQ R[HZFZMYPWRTSSS RXHYF +YNXQ RNWWW +12345 58H]TFQGOIMLLOKSKVLYMZO[Q[TZVXXUYRZNZKYHXGVFTF RQHOJNLMOLSLWMY RTY +VWWUXRYNYJXH RTFRGPJOLNOMSMXNZO[ RQ[SZUWVUWRXNXIWGVF +12345 20H]TJO[Q[ RWFUJP[ RWFQ[ RWFTIQKOL RTJRKOL +12345 52H]OKOJPJPLNLNJOHPGSFVFYGZIZKYMWOMUKWI[ RXGYIYKXMVOSQ RVFWGXIXKWM +UOMU RJYKXMXRYWYXX RMXRZWZ RMXR[U[WZXXXW +12345 64H]OKOJPJPLNLNJOHPGSFVFYGZIZKYMXNVOSP RXGYIYKXMWN RVFWGXIXKWMUOSP + RQPSPVQWRXTXWWYUZR[O[LZKYJWJULULWKWKV RVRWTWWVY RSPUQVSVWUYTZR[ +12345 15H]WJR[T[ RZFXJS[ RZFT[ RZFJUZU +12345 49H]QFLP RQF[F RQGYG RPHUHYG[F RLPMOPNSNVOWPXRXUWXUZQ[N[LZKYJWJULU +LWKWKV RVPWRWUVXTZ RSNUOVQVUUXSZQ[ +12345 61H]YJYIXIXKZKZIYGWFTFQGOIMLLOKSKVLYMZO[R[UZWXXVXSWQVPTOQOOPNQMS R +PINLMOLSLWMY RVXWVWSVQ RTFRGPJOLNOMSMXNZO[ RR[TZUYVVVRUPTO +12345 39H]NFLL R[FZIXLTQRTQWP[ RRSPWO[ RXLRRPUOWN[P[ RMIPFRFWI ROGRGWI R +MIOHRHWIYIZH[F +12345104H]SFPGOHNJNMOOQPTPWOYNZLZIYGWFSF RUFPG RPHOJONPO ROORP RSPWO RXN +YLYIXG RYGUF RSFQHPJPNQP RTPVOWNXLXHWF RQPMQKSJUJXKZN[R[VZWYXWXTWRVQTP R +RPMQ RNQLSKUKXLZ RKZP[VZ RVYWWWTVR RVQSP RQPOQMSLULXMZN[ RR[TZUYVWVSUQTP +12345 61H]XNWPVQTRQROQNPMNMKNIPGSFVFXGYHZKZNYRXUVXTZQ[N[LZKXKVMVMXLXLW R +OPNNNKOI RXHYJYNXRWUUX RQRPQOOOKPHQGSF RVFWGXIXNWRVUUWSZQ[ +12345 31G]LFL[ RMFM[ RIFUFXGYHZJZMYOXPUQMQ RUFWGXHYJYMXOWPUQ RI[Y[YVX[ +12345 24H[YGUGQHNJLMKPKSLVNYQ[U\Y\ RYGVHSJQMPPPSQVSYV[Y\ +12345 27F_OQMQKRJSIUIWJYKZM[O[QZRYSWSURSQROQ RSHPQ RZJRR R\QST +12345 12H\OKUY RUKOY RKOYU RYOKU +12345 48F^NVLUKUIVHXHYI[K\L\N[OYOXNVKRJOJMKJMHPGTGWHYJZMZOYRVVUXUYV[X\Y\ +[[\Y\X[VYUXUVV RJMKKMIPHTHWIYKZM +12345 48F^NMLNKNIMHKHJIHKGLGNHOJOKNMKQJTJVKYM[P\T\W[YYZVZTYQVMUKUJVHXGYG +[H\J\K[MYNXNVM RJVKXMZP[T[WZYXZV +12345 40F_JMILIJJHLGNGPHQIRKSP RIJKHMHOIPJQLRPR[ R[M\L\J[HYGWGUHTISKRP R +\JZHXHVIUJTLSPS[ +12345 36H\RFKZ RQIW[ RRIX[ RRFY[ RMUVU RI[O[ RT[[[ RKZJ[ RKZM[ RWZU[ RWY +V[ RXYZ[ +12345 78G]LFL[ RMGMZ RNFN[ RIFUFXGYHZJZLYNXOUP RXHYJYLXN RUFWGXIXMWOUP R +NPUPXQYRZTZWYYXZU[I[ RXRYTYWXY RUPWQXSXXWZU[ RJFLG RKFLH ROFNH RPFNG RLZ +J[ RLYK[ RNYO[ RNZP[ +12345 37G\XIYFYLXIVGTFQFNGLIKKJNJSKVLXNZQ[T[VZXXYV RMILKKNKSLVMX RQFOGMJ +LNLSMWOZQ[ +12345 62G]LFL[ RMGMZ RNFN[ RIFSFVGXIYKZNZSYVXXVZS[I[ RWIXKYNYSXVWX RSFUG +WJXNXSWWUZS[ RJFLG RKFLH ROFNH RPFNG RLZJ[ RLYK[ RNYO[ RNZP[ +12345 83G\LFL[ RMGMZ RNFN[ RIFYFYL RNPTP RTLTT RI[Y[YU RJFLG RKFLH ROFNH + RPFNG RTFYG RVFYH RWFYI RXFYL RTLSPTT RTNRPTR RTOPPTQ RLZJ[ RLYK[ RNYO[ + RNZP[ RT[YZ RV[YY RW[YX RX[YU +12345 70G[LFL[ RMGMZ RNFN[ RIFYFYL RNPTP RTLTT RI[Q[ RJFLG RKFLH ROFNH R +PFNG RTFYG RVFYH RWFYI RXFYL RTLSPTT RTNRPTR RTOPPTQ RLZJ[ RLYK[ RNYO[ R +NZP[ +12345 60G^XIYFYLXIVGTFQFNGLIKKJNJSKVLXNZQ[T[VZXZY[YS RMILKKNKSLVMX RQFOG +MJLNLSMWOZQ[ RXTXY RWSWYVZ RTS\S RUSWT RVSWU RZSYU R[SYT +12345 81F^KFK[ RLGLZ RMFM[ RWFW[ RXGXZ RYFY[ RHFPF RTF\F RMPWP RH[P[ RT[ +\[ RIFKG RJFKH RNFMH ROFMG RUFWG RVFWH RZFYH R[FYG RKZI[ RKYJ[ RMYN[ RMZ +O[ RWZU[ RWYV[ RYYZ[ RYZ[[ +12345 39LXQFQ[ RRGRZ RSFS[ RNFVF RN[V[ ROFQG RPFQH RTFSH RUFSG RQZO[ RQY +P[ RSYT[ RSZU[ +12345 45JZSFSWRZQ[ RTGTWSZ RUFUWTZQ[O[MZLXLVMUNUOVOWNXMX RMVMWNWNVMV RPF +XF RQFSG RRFSH RVFUH RWFUG +12345 69F\KFK[ RLGLZ RMFM[ RXGMR RPPW[ RQPX[ RQNY[ RHFPF RUF[F RH[P[ RT[ +[[ RIFKG RJFKH RNFMH ROFMG RWFXG RZFXG RKZI[ RKYJ[ RMYN[ RMZO[ RWYU[ RWY +Z[ +12345 52I[NFN[ ROGOZ RPFP[ RKFSF RK[Z[ZU RLFNG RMFNH RQFPH RRFPG RNZL[ R +NYM[ RPYQ[ RPZR[ RU[ZZ RW[ZY RX[ZX RY[ZU +12345 63E_JFJZ RJFQ[ RKFQX RLFRX RXFQ[ RXFX[ RYGYZ RZFZ[ RGFLF RXF]F RG[ +M[ RU[][ RHFJG R[FZH R\FZG RJZH[ RJZL[ RXZV[ RXYW[ RZY[[ RZZ\[ +12345 39F^KFKZ RKFY[ RLFXX RMFYX RYGY[ RHFMF RVF\F RH[N[ RIFKG RWFYG R[F +YG RKZI[ RKZM[ +12345 54G]QFNGLIKKJOJRKVLXNZQ[S[VZXXYVZRZOYKXIVGSFQF RMILKKNKSLVMX RWXXV +YSYNXKWI RQFOGMJLNLSMWOZQ[ RS[UZWWXSXNWJUGSF +12345 59G]LFL[ RMGMZ RNFN[ RIFUFXGYHZJZMYOXPUQNQ RXHYJYMXO RUFWGXIXNWPUQ + RI[Q[ RJFLG RKFLH ROFNH RPFNG RLZJ[ RLYK[ RNYO[ RNZP[ +12345 77G]QFNGLIKKJOJRKVLXNZQ[S[VZXXYVZRZOYKXIVGSFQF RMILKKNKSLVMX RWXXV +YSYNXKWI RQFOGMJLNLSMWOZQ[ RS[UZWWXSXNWJUGSF RNXOVQURUTVUXV^W`Y`Z^Z\ RV\ +W^X_Y_ RUXW]X^Y^Z] +12345 80G]LFL[ RMGMZ RNFN[ RIFUFXGYHZJZLYNXOUPNP RXHYJYLXN RUFWGXIXMWOUP + RRPTQUSWYX[Z[[Y[W RWWXYYZZZ RTQURXXYYZY[X RI[Q[ RJFLG RKFLH ROFNH RPFNG + RLZJ[ RLYK[ RNYO[ RNZP[ +12345 44H\XIYFYLXIVGSFPFMGKIKLLNOPURWSXUXXWZ RLLMNOOUQWRXT RMGLILKMMONUP +XRYTYWXYWZT[Q[NZLXKUK[LX +12345 57H\JFJL RQFQ[ RRGRZ RSFS[ RZFZL RJFZF RN[V[ RKFJL RLFJI RMFJH ROF +JG RUFZG RWFZH RXFZI RYFZL RQZO[ RQYP[ RSYT[ RSZU[ +12345 45F^KFKULXNZQ[S[VZXXYUYG RLGLVMX RMFMVNYOZQ[ RHFPF RVF\F RIFKG RJF +KH RNFMH ROFMG RWFYG R[FYG +12345 34H\KFR[ RLFRXR[ RMFSX RYGR[ RIFPF RUF[F RJFLH RNFMH ROFMG RWFYG R +ZFYG +12345 55F^JFN[ RKFNVN[ RLFOV RRFOVN[ RRFV[ RSFVVV[ RTFWV RZGWVV[ RGFOF R +RFTF RWF]F RHFKG RIFKH RMFLH RNFLG RXFZG R\FZG +12345 54H\KFW[ RLFX[ RMFY[ RXGLZ RIFPF RUF[F RI[O[ RT[[[ RJFMH RNFMH ROF +MG RVFXG RZFXG RLZJ[ RLZN[ RWZU[ RWYV[ RWYZ[ +12345 48G]JFQQQ[ RKFRQRZ RLFSQS[ RYGSQ RHFOF RVF\F RN[V[ RIFKG RNFLG RWF +YG R[FYG RQZO[ RQYP[ RSYT[ RSZU[ +12345 41H\YFKFKL RWFK[ RXFL[ RYFM[ RK[Y[YU RLFKL RMFKI RNFKH RPFKG RT[YZ + RV[YY RW[YX RX[YU +12345 51F^IGJKKMMOPPTPWOYMZK[G RIGJJKLMNPOTOWNYLZJ[G RPONPMQLSLVMXOZQ[S[ +UZWXXVXSWQVPTO RPPNQMSMVNY RVYWVWSVQTP +12345 3KYKFY^ +12345 30F^MJMV RNKNU RVKVU RWJWV RIGKIMJPKTKWJYI[G RIYKWMVPUTUWVYW[Y +12345 48F^[ILIJJILINJPLQNQPPQNQLPJ[J RIMJOKPMQ RQMPKOJMI RIXXXZW[U[SZQXP +VPTQSSSUTWIW R[TZRYQWP RSTTVUWWX +12345 48F]OUMTLTJUIWIXJZL[M[OZPXPWOUJPINIKJILHOGSGWHYJZLZOYRVUUWUYV[X[YZ +ZX RMSKPJNJKKILH RSGVHXJYLYOXRVU +12345 48G_HKKHMKMV RJILLLV RMKPHRKRU ROIQLQU RRKUHWKW[ RTIVLV[ RWKZH[J\M +\P[SZUXWUYP[ RYIZJ[M[PZSYUWWTYP[ +12345 50G]WMUTUXVZW[Y[[Y\W RXMVTVZ RWMYMWTVX RUTUQTNRMPMMNKQJTJVKYLZN[P[ +RZSYTWUT RNNLQKTKWLY RPMNOMQLTLWMZN[ +12345 52I\PFNMMSMWNYOZQ[S[VZXWYTYRXOWNUMSMQNPOOQNT RQFOMNQNWOZ RVYWWXTXQ +WO RMFRFPMNT RS[UYVWWTWQVNUM RNFQG ROFPH +12345 34I[WQWPVPVRXRXPWNUMRMONMQLTLVMYNZP[R[UZWW ROONQMTMWNY RRMPOOQNTNW +OZP[ +12345 58G]YFVQUUUXVZW[Y[[Y\W RZFWQVUVZ RVF[FWTVX RUTUQTNRMPMMNKQJTJVKYLZ +N[P[RZSYTWUT RMOLQKTKWLY RPMNOMQLTLWMZN[ RWFZG RXFYH +12345 33I[MVQUTTWRXPWNUMRMONMQLTLVMYNZP[R[UZWX ROONQMTMWNY RRMPOOQNTNWOZ +P[ +12345 45JZZHZGYGYI[I[GZFXFVGTISKRNQRO[N^M`Kb RTJSMRRP[O^ RXFVHUJTMSRQZP] +O_MaKbIbHaH_J_JaIaI` RNMYM +12345 57H]XMT[S^QaOb RYMU[S_ RXMZMV[T_RaObLbJaI`I^K^K`J`J_ RVTVQUNSMQMNN +LQKTKVLYMZO[Q[SZTYUWVT RNOMQLTLWMY RQMOONQMTMWNZO[ +12345 41G]OFI[K[ RPFJ[ RLFQFK[ RMTOPQNSMUMWNXPXSVX RWNWRVVVZ RWPUUUXVZW[ +Y[[Y\W RMFPG RNFOH +12345 35KXSFSHUHUFSF RTFTH RSGUG RLQMOOMQMRNSPSSQX RRNRRQVQZ RRPPUPXQZR[ +T[VYWW +12345 45KXUFUHWHWFUF RVFVH RUGWG RMQNOPMRMSNTPTSRZQ]P_NaLbJbIaI_K_KaJaJ` + RSNSSQZP]O_ RSPRTP[O^N`Lb +12345 49G]OFI[K[ RPFJ[ RLFQFK[ RYOYNXNXPZPZNYMWMUNQROS RMSOSQTRUTYUZWZ R +QUSYTZ ROSPTRZS[U[WZYW RMFPG RNFOH +12345 26LXTFQQPUPXQZR[T[VYWW RUFRQQUQZ RQFVFRTQX RRFUG RSFTH +12345 61@cAQBODMFMGNHPHSF[ RGNGSE[ RGPFTD[F[ RHSJPLNNMPMRNSPSSQ[ RRNRSP[ + RRPQTO[Q[ RSSUPWNYM[M]N^P^S\X R]N]R\V\Z R]P[U[X\Z][_[aYbW +12345 42F^GQHOJMLMMNNPNSL[ RMNMSK[ RMPLTJ[L[ RNSPPRNTMVMXNYPYSWX RXNXRWV +WZ RXPVUVXWZX[Z[\Y]W +12345 46H\QMNNLQKTKVLYMZP[S[VZXWYTYRXOWNTMQM RNOMQLTLWMY RVYWWXTXQWO RQM +OONQMTMWNZP[ RS[UYVWWTWQVNTM +12345 66G]HQIOKMMMNNOPOSNWKb RNNNSMWJb RNPMTIb ROTPQQORNTMVMXNYOZRZTYWWZ +T[R[PZOWOT RXOYQYTXWWY RVMWNXQXTWWVYT[ RFbNb RJaGb RJ`Hb RK`Lb RJaMb +12345 57G\WMQb RXMRb RWMYMSb RUTUQTNRMPMMNKQJTJVKYLZN[P[RZSYTWUT RMOLQKT +KWLY RPMNOMQLTLWMZN[ RNbVb RRaOb RR`Pb RS`Tb RRaUb +12345 30I[JQKOMMOMPNQPQTO[ RPNPTN[ RPPOTM[O[ RYOYNXNXPZPZNYMWMUNSPQT +12345 47J[XPXOWOWQYQYOXNUMRMONNONQOSQTTUVVWX RONNQ RORQSTTVU RWVVZ RNOOQ +QRTSVTWVWXVZS[P[MZLYLWNWNYMYMX +12345 23KYTFQQPUPXQZR[T[VYWW RUFRQQUQZ RTFVFRTQX RNMXM +12345 42F^GQHOJMLMMNNPNSLX RMNMRLVLZ RMPKUKXLZN[P[RZTXVU RXMVUVXWZX[Z[\Y +]W RYMWUWZ RXMZMXTWX +12345 29H\IQJOLMNMONPPPSNX RONORNVNZ ROPMUMXNZP[R[TZVXXUYQYMXMXNYP +12345 48CaDQEOGMIMJNKPKSIX RJNJRIVIZ RJPHUHXIZK[M[OZQXRU RTMRURXSZU[W[YZ +[X]U^Q^M]M]N^P RUMSUSZ RTMVMTTSX +12345 51G]JQLNNMPMRNSPSR RPMQNQRPVOXMZK[I[HZHXJXJZIZIY RRORRQVQY RZOZNYN +YP[P[NZMXMVNTPSRRVRZS[ RPVPXQZS[U[WZYW +12345 49G]HQIOKMMMNNOPOSMX RNNNRMVMZ RNPLULXMZO[Q[SZUXWT RYMU[T^RaPb RZM +V[T_ RYM[MW[U_SaPbMbKaJ`J^L^L`K`K_ +12345 39H\YMXOVQNWLYK[ RXOOOMPLR RVORNONNO RVORMOMMOLR RLYUYWXXV RNYRZUZ +VY RNYR[U[WYXV +12345 30F_GLJIMLMX RIJLMLX RMLPISLSX ROJRMRX RSLVIYLYW[Y RUJXMXXZZ]W +12345 33G]ZIJY RZIWJQJ RXKUKQJ RZIYLYR RXKXNYR RQRJR RPSMSJR RQRQY RPSPV +QY +12345 33F^HOJKOU RJMOWRPWPZO[M[KZIXHWHUITKTMUPVRWUWXUZ RWHVIUKUMWQXTXWWY +UZ +12345 36F^IOLLPN RKMOORLUN RQMTOWLYN RVMXO[L RIULRPT RKSOURRUT RQSTUWRYT + RVSXU[R +12345 24F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O diff --git a/hf2gcode/hershey_fonts/orig/cursive.jhf b/hf2gcode/hershey_fonts/orig/cursive.jhf new file mode 100644 index 0000000..ac970e0 --- /dev/null +++ b/hf2gcode/hershey_fonts/orig/cursive.jhf @@ -0,0 +1,113 @@ +12345 1JZ +12345 9MWRFRT RRYQZR[SZRY +12345 6JZNFNM RVFVM +12345 12H]SBLb RYBRb RLOZO RKUYU +12345 27H\PBP_ RTBT_ RYIWGTFPFMGKIKKLMMNOOUQWRXSYUYXWZT[P[MZKX +12345 32F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT +12345 35E_\O\N[MZMYNXPVUTXRZP[L[JZIYHWHUISJRQNRMSKSIRGPFNGMIMKNNPQUXWZY[ +[[\Z\Y +12345 3PTRMRQ +12345 11KYVBTDRGPKOPOTPYR]T`Vb +12345 11KYNBPDRGTKUPUTTYR]P`Nb +12345 9JZRLRX RMOWU RWOMU +12345 6E_RIR[ RIR[R +12345 8NVSWRXQWRVSWSYQ[ +12345 3E_IR[R +12345 6NVRVQWRXSWRV +12345 3G][BIb +12345 18H\QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF +12345 5H\NJPISFS[ +12345 15H\LKLJMHNGPFTFVGWHXJXLWNUQK[Y[ +12345 16H\MFXFRNUNWOXPYSYUXXVZS[P[MZLYKW +12345 7H\UFKTZT RUFU[ +12345 18H\WFMFLOMNPMSMVNXPYSYUXXVZS[P[MZLYKW +12345 24H\XIWGTFRFOGMJLOLTMXOZR[S[VZXXYUYTXQVOSNRNOOMQLT +12345 6H\YFO[ RKFYF +12345 30H\PFMGLILKMMONSOVPXRYTYWXYWZT[P[MZLYKWKTLRNPQOUNWMXKXIWGTFPF +12345 24H\XMWPURRSQSNRLPKMKLLINGQFRFUGWIXMXRWWUZR[P[MZLX +12345 12NVROQPRQSPRO RRVQWRXSWRV +12345 14NVROQPRQSPRO RSWRXQWRVSWSYQ[ +12345 4F^ZIJRZ[ +12345 6E_IO[O RIU[U +12345 4F^JIZRJ[ +12345 21I[LKLJMHNGPFTFVGWHXJXLWNVORQRT RRYQZR[SZRY +12345 56E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\T]Q]O\L[J +YHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV +12345 20G[G[IZLWOSSLVFV[UXSUQSNQLQKRKTLVNXQZT[Y[ +12345 41F]SHTITLSPRSQUOXMZK[J[IZIWJRKOLMNJPHRGUFXFZG[I[KZMYNWOTP RSPTPWQ +XRYTYWXYWZU[R[PZOX +12345 24H\TLTMUNWNYMZKZIYGWFTFQGOIMLLNKRKVLYMZO[Q[TZVXWV +12345 35G^TFRGQIPMOSNVMXKZI[G[FZFXGWIWKXMZP[S[VZXXZT[O[KZHYGWFTFRHRJSMUP +WRZT\U +12345 28H\VJVKWLYLZKZIYGVFRFOGNINLONPOSPPPMQLRKTKWLYMZP[S[VZXXYV +12345 28H\RLPLNKMINGQFTFXG[G]F RXGVNTTRXPZN[L[JZIXIVJULUNV RQPZP +12345 29G^G[IZMVPQQNRJRGQFPFOGNINLONQOUOXNYMZKZQYVXXVZS[O[LZJXIVIT +12345 38F^MMKLJJJIKGMFNFPGQIQKPONULYJ[H[GZGX RMRVOXN[L]J^H^G]F\FZHXLVRUW +UZV[W[YZZY\V +12345 25IZWVUTSQROQLQIRGSFUFVGWIWLVQTVSXQZO[M[KZJXJVKUMUOV +12345 25JYT^R[PVOPOJPGRFTFUGVJVMURR[PaOdNfLgKfKdLaN^P\SZWX +12345 39F^MMKLJJJIKGMFNFPGQIQKPONULYJ[H[GZGX R^I^G]F\FZGXIVLTNROPO RROSQ +SXTZU[V[XZYY[V +12345 29I\MRORSQVOXMYKYHXFVFUGTISNRSQVPXNZL[J[IZIXJWLWNXQZT[V[YZ[X +12345 45@aEMCLBJBICGEFFFHGIIIKHPGTE[ RGTJLLHMGOFPFRGSISKRPQTO[ RQTTLVHWG +YFZF\G]I]K\PZWZZ[[\[^Z_YaV +12345 32E]JMHLGJGIHGJFKFMGNINKMPLTJ[ RLTOLQHRGTFVFXGYIYKXPVWVZW[X[ZZ[Y]V +12345 29H]TFQGOIMLLNKRKVLYMZO[Q[TZVXXUYSZOZKYHXGVFTFRHRKSNUQWSZU\V +12345 31F_SHTITLSPRSQUOXMZK[J[IZIWJRKOLMNJPHRGUFZF\G]H^J^M]O\PZQWQUPTO +12345 32H^ULTNSOQPOPNNNLOIQGTFWFYGZIZMYPWSSWPYNZK[I[HZHXIWKWMXPZS[V[YZ[X +12345 38F_SHTITLSPRSQUOXMZK[J[IZIWJRKOLMNJPHRGUFYF[G\H]J]M\O[PYQVQSPTQUS +UXVZX[ZZ[Y]V +12345 28H\H[JZLXOTQQSMTJTGSFRFQGPIPKQMSOVQXSYUYWXYWZT[P[MZKXJVJT +12345 25H[RLPLNKMINGQFTFXG[G]F RXGVNTTRXPZN[L[JZIXIVJULUNV +12345 33E]JMHLGJGIHGJFKFMGNINKMOLRKVKXLZN[P[RZSYUUXMZF RXMWQVWVZW[X[ZZ[Y +]V +12345 32F]KMILHJHIIGKFLFNGOIOKNOMRLVLYM[O[QZTWVTXPYMZIZGYFXFWGVIVKWNYP[Q +12345 25C_HMFLEJEIFGHFIFKGLILLK[ RUFK[ RUFS[ RaF_G\JYNVTS[ +12345 36F^NLLLKKKILGNFPFRGSISLQUQXRZT[V[XZYXYVXUVU R]I]G\FZFXGVITLPUNXLZ +J[H[GZGX +12345 38F]KMILHJHIIGKFLFNGOIOKNOMRLVLXMZN[P[RZTXVUWSYM R[FYMVWT]RbPfNgMf +MdNaP^S[VY[V +12345 40H]ULTNSOQPOPNNNLOIQGTFWFYGZIZMYPWTTWPZN[K[JZJXKWNWPXQYR[R^QaPcNf +LgKfKdLaN^Q[TYZV +12345 12KYOBOb RPBPb ROBVB RObVb +12345 3KYKFY^ +12345 12KYTBTb RUBUb RNBUB RNbUb +12345 6JZRDJR RRDZR +12345 3G[Gb[b +12345 8NVSKQMQORPSORNQO +12345 22L\UUTSRRPRNSMTLVLXMZO[Q[SZTXVRUWUZV[W[YZZY\V +12345 23M[MVOSRNSLTITGSFQGPIOMNTNZO[P[RZTXUUURVVWWYW[V +12345 14MXTTTSSRQROSNTMVMXNZP[S[VYXV +12345 24L\UUTSRRPRNSMTLVLXMZO[Q[SZTXZF RVRUWUZV[W[YZZY\V +12345 17NXOYQXRWSUSSRRQROSNUNXOZQ[S[UZVYXV +12345 24OWOVSQUNVLWIWGVFTGSIQQNZKaJdJfKgMfNcOZP[R[TZUYWV +12345 28L[UUTSRRPRNSMTLVLXMZO[Q[SZTY RVRTYPdOfMgLfLdMaP^S\U[XY[V +12345 29M\MVOSRNSLTITGSFQGPIOMNSM[ RM[NXOVQSSRURVSVUUXUZV[W[YZZY\V +12345 16PWSMSNTNTMSM RPVRRPXPZQ[R[TZUYWV +12345 20PWSMSNTNTMSM RPVRRLdKfIgHfHdIaL^O\Q[TYWV +12345 33M[MVOSRNSLTITGSFQGPIOMNSM[ RM[NXOVQSSRURVSVUTVQV RQVSWTZU[V[XZYY +[V +12345 18OWOVQSTNULVIVGUFSGRIQMPTPZQ[R[TZUYWV +12345 33E^EVGSIRJSJTIXH[ RIXJVLSNRPRQSQTPXO[ RPXQVSSURWRXSXUWXWZX[Y[[Z\Y +^V +12345 23J\JVLSNROSOTNXM[ RNXOVQSSRURVSVUUXUZV[W[YZZY\V +12345 23LZRRPRNSMTLVLXMZO[Q[SZTYUWUUTSRRQSQURWTXWXYWZV +12345 24KZKVMSNQMUGg RMUNSPRRRTSUUUWTYSZQ[ RMZO[R[UZWYZV +12345 27L[UUTSRRPRNSMTLVLXMZO[Q[SZ RVRUUSZPaOdOfPgRfScS\U[XY[V +12345 15MZMVOSPQPSSSTTTVSYSZT[U[WZXYZV +12345 16NYNVPSQQQSSVTXTZR[ RNZP[T[VZWYYV +12345 16OXOVQSSO RVFPXPZQ[S[UZVYXV RPNWN +12345 19L[LVNRLXLZM[O[QZSXUU RVRTXTZU[V[XZYY[V +12345 17L[LVNRMWMZN[O[RZTXUUUR RURVVWWYW[V +12345 25I^LRJTIWIYJ[L[NZPX RRRPXPZQ[S[UZWXXUXR RXRYVZW\W^V +12345 20JZJVLSNRPRQSQZR[U[XYZV RWSVRTRSSOZN[L[KZ +12345 23L[LVNRLXLZM[O[QZSXUU RVRPdOfMgLfLdMaP^S\U[XY[V +12345 23LZLVNSPRRRTTTVSXQZN[P\Q^QaPdOfMgLfLdMaP^S\WYZV +12345 40KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSU +SWRYQZP\P^Q`RaTb +12345 3NVRBRb +12345 40KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQU +QWRYSZT\T^S`RaPb +12345 24F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O +12345 35JZJFJ[K[KFLFL[M[MFNFN[O[OFPFP[Q[QFRFR[S[SFTFT[U[UFVFV[W[WFXFX[Y[ +YFZFZ[ diff --git a/hf2gcode/hershey_fonts/orig/cyrilc_1.jhf b/hf2gcode/hershey_fonts/orig/cyrilc_1.jhf new file mode 100644 index 0000000..f62a75f --- /dev/null +++ b/hf2gcode/hershey_fonts/orig/cyrilc_1.jhf @@ -0,0 +1,130 @@ + 2199 1JZ + 2214 15MWRFQHRTSHRF RRHRN RRYQZR[SZRY + 2213 14MWRMQNROSNRM RR[QZRYSZS\R^Q_ + 2275 12H]SFLb RYFRb RLQZQ RKWYW + 2274 42H\PBP_ RTBT_ RXIWJXKYJYIWGTFPFMGKIKKLMMNOOUQWRYT RKKMMONUPWQXRYT +YXWZT[P[MZKXKWLVMWLX + 2271 32F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT + + 2272 49F_[NZO[P\O\N[MZMYNXPVUTXRZP[M[JZIXIUJSPORMSKSIRGPFNGMIMKNNPQUXWZ +Z[[[\Z\Y RM[KZJXJUKSMQ RMKNMVXXZZ[ + 2251 8MWRHQGRFSGSIRKQL + 2221 20KYVBTDRGPKOPOTPYR]T`Vb RTDRHQKPPPTQYR\T` + 2222 20KYNBPDRGTKUPUTTYR]P`Nb RPDRHSKTPTTSYR\P` + 2219 9JZRFRR RMIWO RWIMO + 2232 6E_RIR[ RIR[R + 2211 8MWR[QZRYSZS\R^Q_ + 2231 3E_IR[R + 2210 6MWRYQZR[SZRY + 2220 3G][BIb + 2200 40H\QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF RQFOGNHMJLOLRMWNYOZQ[ RS[UZ +VYWWXRXOWJVHUGSF + 2201 11H\NJPISFS[ RRGR[ RN[W[ + 2202 45H\LJMKLLKKKJLHMGPFTFWGXHYJYLXNUPPRNSLUKXK[ RTFVGWHXJXLWNTPPR RKY +LXNXSZVZXYYX RNXS[W[XZYXYV + 2203 47H\LJMKLLKKKJLHMGPFTFWGXIXLWNTOQO RTFVGWIWLVNTO RTOVPXRYTYWXYWZT[ +P[MZLYKWKVLUMVLW RWQXTXWWYVZT[ + 2204 13H\THT[ RUFU[ RUFJUZU RQ[X[ + 2205 39H\MFKP RKPMNPMSMVNXPYSYUXXVZS[P[MZLYKWKVLUMVLW RSMUNWPXSXUWXUZS[ + RMFWF RMGRGWF + 2206 48H\WIVJWKXJXIWGUFRFOGMILKKOKULXNZQ[S[VZXXYUYTXQVOSNRNOOMQLT RRFPG +NIMKLOLUMXOZQ[ RS[UZWXXUXTWQUOSN + 2207 31H\KFKL RKJLHNFPFUIWIXHYF RLHNGPGUI RYFYIXLTQSSRVR[ RXLSQRSQVQ[ + 2208 63H\PFMGLILLMNPOTOWNXLXIWGTFPF RPFNGMIMLNNPO RTOVNWLWIVGTF RPOMPLQ +KSKWLYMZP[T[WZXYYWYSXQWPTO RPONPMQLSLWMYNZP[ RT[VZWYXWXSWQVPTO + 2209 48H\XMWPURRSQSNRLPKMKLLINGQFSFVGXIYLYRXVWXUZR[O[MZLXLWMVNWMX RQSOR +MPLMLLMIOGQF RSFUGWIXLXRWVVXTZR[ + 2212 12MWRMQNROSNRM RRYQZR[SZRY + 2213 14MWRMQNROSNRM RR[QZRYSZS\R^Q_ + 2241 4F^ZIJRZ[ + 2238 6E_IO[O RIU[U + 2242 4F^JIZRJ[ + 2215 32I[MJNKMLLKLJMHNGPFSFVGWHXJXLWNVORQRT RSFUGVHWJWLVNTP RRYQZR[SZRY + 2273 56E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\T]Q]O\L[J +YHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV + 2801 18H\RFK[ RRFY[ RRIX[ RMUVU RI[O[ RU[[[ + 2802 31G]LFL[ RMFM[ RIFYFYLXF RMPUPXQYRZTZWYYXZU[I[ RUPWQXRYTYWXYWZU[ + 2803 45G]LFL[ RMFM[ RIFUFXGYHZJZLYNXOUP RUFWGXHYJYLXNWOUP RMPUPXQYRZTZW +YYXZU[I[ RUPWQXRYTYWXYWZU[ + 2804 14I[NFN[ ROFO[ RKFZFZLYF RK[R[ + 2805 31F^NFNLMTLXKZJ[ RXFX[ RYFY[ RKF\F RG[\[ RG[Gb RH[Gb R[[\b R\[\b + 2806 22G\LFL[ RMFM[ RSLST RIFYFYLXF RMPSP RI[Y[YUX[ + 2807 71CbRFR[ RSFS[ ROFVF RGGHHGIFHFGGFHFIGJIKMLONPWPYOZM[I\G]F^F_G_H^I +]H^G RNPLQKSJXIZH[ RNPMQLSKXJZI[G[FZEX RWPYQZS[X\Z][ RWPXQYSZX[Z\[^[_Z`X + RO[V[ + 2808 45H\LIKFKLLINGPFTFWGXIXLWNTOQO RTFVGWIWLVNTO RTOVPXRYTYWXYWZT[O[MZ +LYKWKVLUMVLW RWQXTXWWYVZT[ + 2809 27F^KFK[ RLFL[ RXFX[ RYFY[ RHFOF RUF\F RXHLY RH[O[ RU[\[ + 2810 37F^KFK[ RLFL[ RXFX[ RYFY[ RHFOF RUF\F RXHLY RH[O[ RU[\[ RN@N?M?M@ +NBPCTCVBW@ + 2811 43F^KFK[ RLFL[ RHFOF RLPSPUOVMWIXGYFZF[G[HZIYHZG RSPUQVSWXXZY[ RSP +TQUSVXWZX[Z[[Z\X RH[O[ + 2812 25E^MFMLLTKXJZI[H[GZGYHXIYHZ RXFX[ RYFY[ RJF\F RU[\[ + 2813 30F_KFK[ RLFRX RKFR[ RYFR[ RYFY[ RZFZ[ RHFLF RYF]F RH[N[ RV[][ + 2814 27F^KFK[ RLFL[ RXFX[ RYFY[ RHFOF RUF\F RLPXP RH[O[ RU[\[ + 2815 44G]QFNGLIKKJOJRKVLXNZQ[S[VZXXYVZRZOYKXIVGSFQF RQFOGMILKKOKRLVMXOZ +Q[ RS[UZWXXVYRYOXKWIUGSF + 2816 21F^KFK[ RLFL[ RXFX[ RYFY[ RHF\F RH[O[ RU[\[ + 2817 29G]LFL[ RMFM[ RIFUFXGYHZJZMYOXPUQMQ RUFWGXHYJYMXOWPUQ RI[P[ + 2818 32G\XIYLYFXIVGSFQFNGLIKKJNJSKVLXNZQ[S[VZXXYV RQFOGMILKKNKSLVMXOZQ[ + + 2819 16I\RFR[ RSFS[ RLFKLKFZFZLYF RO[V[ + 2820 24H]KFRV RLFSV RZFSVQYPZN[M[LZLYMXNYMZ RIFOF RVF\F + 2821 48F_RFR[ RSFS[ ROFVF RPILJJLIOIRJULWPXUXYW[U\R\O[LYJUIPI RPIMJKLJO +JRKUMWPX RUXXWZU[R[OZLXJUI RO[V[ + 2822 21H\KFX[ RLFY[ RYFK[ RIFOF RUF[F RI[O[ RU[[[ + 2823 27F^KFK[ RLFL[ RXFX[ RYFY[ RHFOF RUF\F RH[\[ R[[\b R\[\b + 2824 28F]KFKQLSOTRTUSWQ RLFLQMSOT RWFW[ RXFX[ RHFOF RTF[F RT[[[ + 2825 30BcGFG[ RHFH[ RRFR[ RSFS[ R]F][ R^F^[ RDFKF ROFVF RZFaF RD[a[ + 2826 36BcGFG[ RHFH[ RRFR[ RSFS[ R]F][ R^F^[ RDFKF ROFVF RZFaF RD[a[ R`[ +ab Ra[ab + 2223 12KYOBOb RPBPb ROBVB RObVb + 804 3KYKFY^ + 2224 12KYTBTb RUBUb RNBUB RNbUb + 2262 11JZPLRITL RMORJWO RRJR[ + 999 3JZJ]Z] + 2252 8MWSFRGQIQKRLSKRJ + 2901 39I]NONPMPMONNPMTMVNWOXQXXYZZ[ RWOWXXZZ[[[ RWQVRPSMTLVLXMZP[S[UZWX + RPSNTMVMXNZP[ + 2902 48H\XFWGQINKLNKQKULXNZQ[S[VZXXYUYSXPVNSMQMNNLPKS RXFWHUIQJNLLN RQM +ONMPLSLUMXOZQ[ RS[UZWXXUXSWPUNSM + 2903 37H\MMM[ RNMN[ RJMUMXNYPYQXSUT RUMWNXPXQWSUT RNTUTXUYWYXXZU[J[ RUT +WUXWXXWZU[ + 2904 14HZMMM[ RNMN[ RJMXMXRWM RJ[Q[ + 2905 22F]NMNQMWLZK[ RWMW[ RXMX[ RKM[M RI[H`H[[[[`Z[ + 2906 31H[LSXSXQWOVNTMQMNNLPKSKULXNZQ[S[VZXX RWSWPVN RQMONMPLSLUMXOZQ[ + 2907 59E`RMR[ RSMS[ ROMVM RJNIOHNIMJMKNMRNSPTUTWSXRZN[M\M]N\O[N RPTNUMV +KZJ[ RPTNVLZK[I[HZGX RUTWUXVZZ[[ RUTWVYZZ[\[]Z^X RO[V[ + 2908 42I[MOLMLQMONNPMTMWNXPXQWSTT RTMVNWPWQVSTT RQTTTWUXWXXWZT[P[MZLXLW +MVNWMX RTTVUWWWXVZT[ + 2909 27G]LML[ RMMM[ RWMW[ RXMX[ RIMPM RTM[M RI[P[ RT[[[ RWNMZ + 2910 37G]LML[ RMMM[ RWMW[ RXMX[ RIMPM RTM[M RI[P[ RT[[[ RWNMZ ROGOFNFNG +OIQJSJUIVG + 2911 38H\MMM[ RNMN[ RJMQM RNTPTSSTRVNWMXMYNXOWN RPTSUTVVZW[ RPTRUSVUZV[ +X[YZZX RJ[Q[ + 2912 22G]NMNQMWLZK[J[IZJYKZ RWMW[ RXMX[ RKM[M RT[[[ + 2913 30G^LML[ RLMR[ RMMRY RXMR[ RXMX[ RYMY[ RIMMM RXM\M RI[O[ RU[\[ + 2914 27G]LML[ RMMM[ RWMW[ RXMX[ RIMPM RTM[M RMTWT RI[P[ RT[[[ + 2915 36H\QMNNLPKSKULXNZQ[S[VZXXYUYSXPVNSMQM RQMONMPLSLUMXOZQ[ RS[UZWXXU +XSWPUNSM + 2916 21G]LML[ RMMM[ RWMW[ RXMX[ RIM[M RI[P[ RT[[[ + 2917 36G\LMLb RMMMb RMPONQMSMVNXPYSYUXXVZS[Q[OZMX RSMUNWPXSXUWXUZS[ RIM +MM RIbPb + 2918 28H[WPVQWRXQXPVNTMQMNNLPKSKULXNZQ[S[VZXX RQMONMPLSLUMXOZQ[ + 2919 16I\RMR[ RSMS[ RMMLRLMYMYRXM RO[V[ + 2920 22I[LMR[ RMMRY RXMR[P_NaLbKbJaK`La RJMPM RTMZM + 2921 52H]RFRb RSFSb ROFSF RRPQNPMNMLNKQKWLZN[P[QZRX RNMMNLQLWMZN[ RWMXN +YQYWXZW[ RSPTNUMWMYNZQZWYZW[U[TZSX RObVb + 2922 21H\LMW[ RMMX[ RXML[ RJMPM RTMZM RJ[P[ RT[Z[ + 2923 23G]LML[ RMMM[ RWMW[ RXMX[ RIMPM RTM[M RI[[[[`Z[ + 2924 28G]LMLTMVPWRWUVWT RMMMTNVPW RWMW[ RXMX[ RIMPM RTM[M RT[[[ + 2925 30CbHMH[ RIMI[ RRMR[ RSMS[ R\M\[ R]M][ REMLM ROMVM RYM`M RE[`[ + 2926 32CbHMH[ RIMI[ RRMR[ RSMS[ R\M\[ R]M][ REMLM ROMVM RYM`M RE[`[``_[ + 2225 40KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSU +SWRYQZP\P^Q`RaTb + 2229 3NVRBRb + 2226 40KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQU +QWRYSZT\T^S`RaPb + 2246 24F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O + 2218 14KYQFOGNINKOMQNSNUMVKVIUGSFQF + \ No newline at end of file diff --git a/hf2gcode/hershey_fonts/orig/cyrillic.jhf b/hf2gcode/hershey_fonts/orig/cyrillic.jhf new file mode 100644 index 0000000..4c94e1a --- /dev/null +++ b/hf2gcode/hershey_fonts/orig/cyrillic.jhf @@ -0,0 +1,130 @@ +12345 1JZ +12345 15MWRFQHRTSHRF RRHRN RRYQZR[SZRY +12345 12JZNFMM ROFMM RVFUM RWFUM +12345 12H]SBLb RYBRb RLOZO RKUYU +12345 41CaHFH[ RIFI[ REFLF RIPPPSQTRUTUWTYSZP[E[ RPPRQSRTTTWSYRZP[ R[F[[ + R\F\[ RXF_F RX[_[ +12345 23G]LML[ RMMM[ RWMW[ RXMX[ RIMPM RTM[M RI[[[[`Z[ +12345 37E_JMJ[ RKMK[ RGMNM RKTOTRUSWSXRZO[G[ ROTQURWRXQZO[ RYMY[ RZMZ[ R +VM]M RV[][ +12345 6NVRFQM RSFQM +12345 24KYUBSDQGOKNPNTOYQ]S`UbVb RUBVBTDRGPKOPOTPYR]T`Vb +12345 24KYNBPDRGTKUPUTTYR]P`NbOb RNBOBQDSGUKVPVTUYS]Q`Ob +12345 9JZRLRX RMOWU RWOMU +12345 6E_RIR[ RIR[R +12345 8NVSWRXQWRVSWSYQ[ +12345 3E_IR[R +12345 6NVRVQWRXSWRV +12345 3G][BIb +12345 40H\QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF RQFOGNHMJLOLRMWNYOZQ[ RS[UZ +VYWWXRXOWJVHUGSF +12345 11H\NJPISFS[ RRGR[ RN[W[ +12345 45H\LJMKLLKKKJLHMGPFTFWGXHYJYLXNUPPRNSLUKXK[ RTFVGWHXJXLWNTPPR RKY +LXNXSZVZXYYX RNXS[W[XZYXYV +12345 47H\LJMKLLKKKJLHMGPFTFWGXIXLWNTOQO RTFVGWIWLVNTO RTOVPXRYTYWXYWZT[ +P[MZLYKWKVLUMVLW RWQXTXWWYVZT[ +12345 13H\THT[ RUFU[ RUFJUZU RQ[X[ +12345 39H\MFKP RKPMNPMSMVNXPYSYUXXVZS[P[MZLYKWKVLUMVLW RSMUNWPXSXUWXUZS[ + RMFWF RMGRGWF +12345 48H\WIVJWKXJXIWGUFRFOGMILKKOKULXNZQ[S[VZXXYUYTXQVOSNRNOOMQLT RRFPG +NIMKLOLUMXOZQ[ RS[UZWXXUXTWQUOSN +12345 31H\KFKL RKJLHNFPFUIWIXHYF RLHNGPGUI RYFYIXLTQSSRVR[ RXLSQRSQVQ[ +12345 63H\PFMGLILLMNPOTOWNXLXIWGTFPF RPFNGMIMLNNPO RTOVNWLWIVGTF RPOMPLQ +KSKWLYMZP[T[WZXYYWYSXQWPTO RPONPMQLSLWMYNZP[ RT[VZWYXWXSWQVPTO +12345 48H\XMWPURRSQSNRLPKMKLLINGQFSFVGXIYLYRXVWXUZR[O[MZLXLWMVNWMX RQSOR +MPLMLLMIOGQF RSFUGWIXLXRWVVXTZR[ +12345 12NVROQPRQSPRO RRVQWRXSWRV +12345 14NVROQPRQSPRO RSWRXQWRVSWSYQ[ +12345 4F^ZIJRZ[ +12345 6E_IO[O RIU[U +12345 4F^JIZRJ[ +12345 32I[MJNKMLLKLJMHNGPFSFVGWHXJXLWNVORQRT RSFUGVHWJWLVNTP RRYQZR[SZRY +12345 56E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\T]Q]O\L[J +YHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV +12345 18H\RFK[ RRFY[ RRIX[ RMUVU RI[O[ RU[[[ +12345 31G]LFL[ RMFM[ RIFYFYLXF RMPUPXQYRZTZWYYXZU[I[ RUPWQXRYTYWXYWZU[ +12345 39H]LIKFKLLINGQFSFVGXIYKZNZSYVXXVZS[P[MZLYKWKVLUMVLW RSFUGWIXKYNYS +XVWXUZS[ RPPYP +12345 31F^NFNLMTLXKZJ[ RXFX[ RYFY[ RKF\F RG[\[ RG[Gb RH[Gb R[[\b R\[\b +12345 27F^KFK[ RLFL[ RXFX[ RYFY[ RHFOF RUF\F RXHLY RH[O[ RU[\[ +12345 48F_RFR[ RSFS[ ROFVF RPILJJLIOIRJULWPXUXYW[U\R\O[LYJUIPI RPIMJKLJO +JRKUMWPX RUXXWZU[R[OZLXJUI RO[V[ +12345 14I[NFN[ ROFO[ RKFZFZLYF RK[R[ +12345 71CbRFR[ RSFS[ ROFVF RGGHHGIFHFGGFHFIGJIKMLONPWPYOZM[I\G]F^F_G_H^I +]H^G RNPLQKSJXIZH[ RNPMQLSKXJZI[G[FZEX RWPYQZS[X\Z][ RWPXQYSZX[Z\[^[_Z`X + RO[V[ +12345 27F^KFK[ RLFL[ RXFX[ RYFY[ RHFOF RUF\F RXHLY RH[O[ RU[\[ +12345 28F]KFKQLSOTRTUSWQ RLFLQMSOT RWFW[ RXFX[ RHFOF RTF[F RT[[[ +12345 43F^KFK[ RLFL[ RHFOF RLPSPUOVMWIXGYFZF[G[HZIYHZG RSPUQVSWXXZY[ RSP +TQUSVXWZX[Z[[Z\X RH[O[ +12345 25E^MFMLLTKXJZI[H[GZGYHXIYHZ RXFX[ RYFY[ RJF\F RU[\[ +12345 30F_KFK[ RLFRX RKFR[ RYFR[ RYFY[ RZFZ[ RHFLF RYF]F RH[N[ RV[][ +12345 27F^KFK[ RLFL[ RXFX[ RYFY[ RHFOF RUF\F RLPXP RH[O[ RU[\[ +12345 44G]QFNGLIKKJOJRKVLXNZQ[S[VZXXYVZRZOYKXIVGSFQF RQFOGMILKKOKRLVMXOZ +Q[ RS[UZWXXVYRYOXKWIUGSF +12345 21F^KFK[ RLFL[ RXFX[ RYFY[ RHF\F RH[O[ RU[\[ +12345 30BcGFG[ RHFH[ RRFR[ RSFS[ R]F][ R^F^[ RDFKF ROFVF RZFaF RD[a[ +12345 29G]LFL[ RMFM[ RIFUFXGYHZJZMYOXPUQMQ RUFWGXHYJYMXOWPUQ RI[P[ +12345 32G\XIYLYFXIVGSFQFNGLIKKJNJSKVLXNZQ[S[VZXXYV RQFOGMILKKNKSLVMXOZQ[ +12345 16I\RFR[ RSFS[ RLFKLKFZFZLYF RO[V[ +12345 59CbHFH[ RIFI[ REFLF RE[L[ RVFSGQIPKOOORPVQXSZV[X[[Z]X^V_R_O^K]I[G +XFVF RVFTGRIQKPOPRQVRXTZV[ RX[ZZ\X]V^R^O]K\IZGXF RIPOP +12345 45G]LFL[ RMFM[ RIFUFXGYHZJZLYNXOUP RUFWGXHYJYLXNWOUP RMPUPXQYRZTZW +YYXZU[I[ RUPWQXRYTYWXYWZU[ +12345 36BcGFG[ RHFH[ RRFR[ RSFS[ R]F][ R^F^[ RDFKF ROFVF RZFaF RD[a[ R`[ +ab Ra[ab +12345 21H\KFX[ RLFY[ RYFK[ RIFOF RUF[F RI[O[ RU[[[ +12345 24H]KFRV RLFSV RZFSVQYPZN[M[LZLYMXNYMZ RIFOF RVF\F +12345 45H\LIKFKLLINGPFTFWGXIXLWNTOQO RTFVGWIWLVNTO RTOVPXRYTYWXYWZT[O[MZ +LYKWKVLUMVLW RWQXTXWWYVZT[ +12345 22G\LFL[ RMFM[ RSLST RIFYFYLXF RMPSP RI[Y[YUX[ +12345 3KYKFY^ +12345 31F`PFP[ RQFQ[ RIFHLHFTF RQPXP[Q\R]T]W\Y[ZX[M[ RXPZQ[R\T\W[YZZX[ +12345 45G]WFW[ RXFX[ R[FOFLGKHJJJLKNLOOPWP ROFMGLHKJKLLNMOOP RRPPQORLYKZ +JZIY RPQOSMZL[J[IYIX RT[[[ +12345 29H]MFM[ RNFN[ RJFQF RNPUPXQYRZTZWYYXZU[J[ RUPWQXRYTYWXYWZU[ +12345 27F^KFK[ RLFL[ RXFX[ RYFY[ RHFOF RUF\F RH[\[ R[[\b R\[\b +12345 39I]NONPMPMONNPMTMVNWOXQXXYZZ[ RWOWXXZZ[[[ RWQVRPSMTLVLXMZP[S[UZWX + RPSNTMVMXNZP[ +12345 48H\XFWGQINKLNKQKULXNZQ[S[VZXXYUYSXPVNSMQMNNLPKS RXFWHUIQJNLLN RQM +ONMPLSLUMXOZQ[ RS[UZWXXUXSWPUNSM +12345 39H]LIKFKLLINGQFSFVGXIYKZNZSYVXXVZS[P[MZLYKWKVLUMVLW RSFUGWIXKYNYS +XVWXUZS[ RPPYP +12345 22F]NMNQMWLZK[ RWMW[ RXMX[ RKM[M RI[H`H[[[[`Z[ +12345 37G]LML[ RMMM[ RWMW[ RXMX[ RIMPM RTM[M RI[P[ RT[[[ RWNMZ ROGOFNFNG +OIQJSJUIVG +12345 52H]RFRb RSFSb ROFSF RRPQNPMNMLNKQKWLZN[P[QZRX RNMMNLQLWMZN[ RWMXN +YQYWXZW[ RSPTNUMWMYNZQZWYZW[U[TZSX RObVb +12345 14HZMMM[ RNMN[ RJMXMXRWM RJ[Q[ +12345 59E`RMR[ RSMS[ ROMVM RJNIOHNIMJMKNMRNSPTUTWSXRZN[M\M]N\O[N RPTNUMV +KZJ[ RPTNVLZK[I[HZGX RUTWUXVZZ[[ RUTWVYZZ[\[]Z^X RO[V[ +12345 27G]LML[ RMMM[ RWMW[ RXMX[ RIMPM RTM[M RI[P[ RT[[[ RWNMZ +12345 28G]LMLTMVPWRWUVWT RMMMTNVPW RWMW[ RXMX[ RIMPM RTM[M RT[[[ +12345 38H\MMM[ RNMN[ RJMQM RNTPTSSTRVNWMXMYNXOWN RPTSUTVVZW[ RPTRUSVUZV[ +X[YZZX RJ[Q[ +12345 22G]NMNQMWLZK[J[IZJYKZ RWMW[ RXMX[ RKM[M RT[[[ +12345 30G^LML[ RLMR[ RMMRY RXMR[ RXMX[ RYMY[ RIMMM RXM\M RI[O[ RU[\[ +12345 27G]LML[ RMMM[ RWMW[ RXMX[ RIMPM RTM[M RMTWT RI[P[ RT[[[ +12345 36H\QMNNLPKSKULXNZQ[S[VZXXYUYSXPVNSMQM RQMONMPLSLUMXOZQ[ RS[UZWXXU +XSWPUNSM +12345 21G]LML[ RMMM[ RWMW[ RXMX[ RIM[M RI[P[ RT[[[ +12345 30CbHMH[ RIMI[ RRMR[ RSMS[ R\M\[ R]M][ REMLM ROMVM RYM`M RE[`[ +12345 36G\LMLb RMMMb RMPONQMSMVNXPYSYUXXVZS[Q[OZMX RSMUNWPXSXUWXUZS[ RIM +MM RIbPb +12345 28H[WPVQWRXQXPVNTMQMNNLPKSKULXNZQ[S[VZXX RQMONMPLSLUMXOZQ[ +12345 16I\RMR[ RSMS[ RMMLRLMYMYRXM RO[V[ +12345 51DaIMI[ RJMJ[ RFMMM RF[M[ RVMSNQPPSPUQXSZV[X[[Z]X^U^S]P[NXMVM RVM +TNRPQSQURXTZV[ RX[ZZ\X]U]S\PZNXM RJTPT +12345 37H\MMM[ RNMN[ RJMUMXNYPYQXSUT RUMWNXPXQWSUT RNTUTXUYWYXXZU[J[ RUT +WUXWXXWZU[ +12345 32CbHMH[ RIMI[ RRMR[ RSMS[ R\M\[ R]M][ REMLM ROMVM RYM`M RE[`[``_[ +12345 21H\LMW[ RMMX[ RXML[ RJMPM RTMZM RJ[P[ RT[Z[ +12345 22I[LMR[ RMMRY RXMR[P_NaLbKbJaK`La RJMPM RTMZM +12345 42I[MOLMLQMONNPMTMWNXPXQWSTT RTMVNWPWQVSTT RQTTTWUXWXXWZT[P[MZLXLW +MVNWMX RTTVUWWWXVZT[ +12345 31H[LSXSXQWOVNTMQMNNLPKSKULXNZQ[S[VZXX RWSWPVN RQMONMPLSLUMXOZQ[ +12345 27H]QMQ[ RRMR[ RLMKRKMUM RRTVTYUZWZXYZV[N[ RVTXUYWYXXZV[ +12345 40G\VMV[ RWMW[ RZMOMLNKPKQLSOTVT ROMMNLPLQMSOT RTTQUPVNZM[ RTTRUQV +OZN[L[KZJX RS[Z[ +12345 25J[OMO[ RPMP[ RLMSM RPTTTWUXWXXWZT[L[ RTTVUWWWXVZT[ +12345 24F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O diff --git a/hf2gcode/hershey_fonts/orig/futural.jhf b/hf2gcode/hershey_fonts/orig/futural.jhf new file mode 100644 index 0000000..b437e37 --- /dev/null +++ b/hf2gcode/hershey_fonts/orig/futural.jhf @@ -0,0 +1,101 @@ +12345 1JZ +12345 9MWRFRT RRYQZR[SZRY +12345 6JZNFNM RVFVM +12345 12H]SBLb RYBRb RLOZO RKUYU +12345 27H\PBP_ RTBT_ RYIWGTFPFMGKIKKLMMNOOUQWRXSYUYXWZT[P[MZKX +12345 32F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT +12345 35E_\O\N[MZMYNXPVUTXRZP[L[JZIYHWHUISJRQNRMSKSIRGPFNGMIMKNNPQUXWZY[ +[[\Z\Y +12345 8MWRHQGRFSGSIRKQL +12345 11KYVBTDRGPKOPOTPYR]T`Vb +12345 11KYNBPDRGTKUPUTTYR]P`Nb +12345 9JZRLRX RMOWU RWOMU +12345 6E_RIR[ RIR[R +12345 8NVSWRXQWRVSWSYQ[ +12345 3E_IR[R +12345 6NVRVQWRXSWRV +12345 3G][BIb +12345 18H\QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF +12345 5H\NJPISFS[ +12345 15H\LKLJMHNGPFTFVGWHXJXLWNUQK[Y[ +12345 16H\MFXFRNUNWOXPYSYUXXVZS[P[MZLYKW +12345 7H\UFKTZT RUFU[ +12345 18H\WFMFLOMNPMSMVNXPYSYUXXVZS[P[MZLYKW +12345 24H\XIWGTFRFOGMJLOLTMXOZR[S[VZXXYUYTXQVOSNRNOOMQLT +12345 6H\YFO[ RKFYF +12345 30H\PFMGLILKMMONSOVPXRYTYWXYWZT[P[MZLYKWKTLRNPQOUNWMXKXIWGTFPF +12345 24H\XMWPURRSQSNRLPKMKLLINGQFRFUGWIXMXRWWUZR[P[MZLX +12345 12NVROQPRQSPRO RRVQWRXSWRV +12345 14NVROQPRQSPRO RSWRXQWRVSWSYQ[ +12345 4F^ZIJRZ[ +12345 6E_IO[O RIU[U +12345 4F^JIZRJ[ +12345 21I[LKLJMHNGPFTFVGWHXJXLWNVORQRT RRYQZR[SZRY +12345 56E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\T]Q]O\L[J +YHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV +12345 9I[RFJ[ RRFZ[ RMTWT +12345 24G\KFK[ RKFTFWGXHYJYLXNWOTP RKPTPWQXRYTYWXYWZT[K[ +12345 19H]ZKYIWGUFQFOGMILKKNKSLVMXOZQ[U[WZYXZV +12345 16G\KFK[ RKFRFUGWIXKYNYSXVWXUZR[K[ +12345 12H[LFL[ RLFYF RLPTP RL[Y[ +12345 9HZLFL[ RLFYF RLPTP +12345 23H]ZKYIWGUFQFOGMILKKNKSLVMXOZQ[U[WZYXZVZS RUSZS +12345 9G]KFK[ RYFY[ RKPYP +12345 3NVRFR[ +12345 11JZVFVVUYTZR[P[NZMYLVLT +12345 9G\KFK[ RYFKT RPOY[ +12345 6HYLFL[ RL[X[ +12345 12F^JFJ[ RJFR[ RZFR[ RZFZ[ +12345 9G]KFK[ RKFY[ RYFY[ +12345 22G]PFNGLIKKJNJSKVLXNZP[T[VZXXYVZSZNYKXIVGTFPF +12345 14G\KFK[ RKFTFWGXHYJYMXOWPTQKQ +12345 25G]PFNGLIKKJNJSKVLXNZP[T[VZXXYVZSZNYKXIVGTFPF RSWY] +12345 17G\KFK[ RKFTFWGXHYJYLXNWOTPKP RRPY[ +12345 21H\YIWGTFPFMGKIKKLMMNOOUQWRXSYUYXWZT[P[MZKX +12345 6JZRFR[ RKFYF +12345 11G]KFKULXNZQ[S[VZXXYUYF +12345 6I[JFR[ RZFR[ +12345 12F^HFM[ RRFM[ RRFW[ R\FW[ +12345 6H\KFY[ RYFK[ +12345 7I[JFRPR[ RZFRP +12345 9H\YFK[ RKFYF RK[Y[ +12345 12KYOBOb RPBPb ROBVB RObVb +12345 3KYKFY^ +12345 12KYTBTb RUBUb RNBUB RNbUb +12345 6JZRDJR RRDZR +12345 3I[Ib[b +12345 8NVSKQMQORPSORNQO +12345 18I\XMX[ RXPVNTMQMONMPLSLUMXOZQ[T[VZXX +12345 18H[LFL[ RLPNNPMSMUNWPXSXUWXUZS[P[NZLX +12345 15I[XPVNTMQMONMPLSLUMXOZQ[T[VZXX +12345 18I\XFX[ RXPVNTMQMONMPLSLUMXOZQ[T[VZXX +12345 18I[LSXSXQWOVNTMQMONMPLSLUMXOZQ[T[VZXX +12345 9MYWFUFSGRJR[ ROMVM +12345 23I\XMX]W`VaTbQbOa RXPVNTMQMONMPLSLUMXOZQ[T[VZXX +12345 11I\MFM[ RMQPNRMUMWNXQX[ +12345 9NVQFRGSFREQF RRMR[ +12345 12MWRFSGTFSERF RSMS^RaPbNb +12345 9IZMFM[ RWMMW RQSX[ +12345 3NVRFR[ +12345 19CaGMG[ RGQJNLMOMQNRQR[ RRQUNWMZM\N]Q][ +12345 11I\MMM[ RMQPNRMUMWNXQX[ +12345 18I\QMONMPLSLUMXOZQ[T[VZXXYUYSXPVNTMQM +12345 18H[LMLb RLPNNPMSMUNWPXSXUWXUZS[P[NZLX +12345 18I\XMXb RXPVNTMQMONMPLSLUMXOZQ[T[VZXX +12345 9KXOMO[ ROSPPRNTMWM +12345 18J[XPWNTMQMNNMPNRPSUTWUXWXXWZT[Q[NZMX +12345 9MYRFRWSZU[W[ ROMVM +12345 11I\MMMWNZP[S[UZXW RXMX[ +12345 6JZLMR[ RXMR[ +12345 12G]JMN[ RRMN[ RRMV[ RZMV[ +12345 6J[MMX[ RXMM[ +12345 10JZLMR[ RXMR[P_NaLbKb +12345 9J[XMM[ RMMXM RM[X[ +12345 40KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSU +SWRYQZP\P^Q`RaTb +12345 3NVRBRb +12345 40KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQU +QWRYSZT\T^S`RaPb +12345 24F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O +12345 35JZJFJ[K[KFLFL[M[MFNFN[O[OFPFP[Q[QFRFR[S[SFTFT[U[UFVFV[W[WFXFX[Y[ +YFZFZ[ diff --git a/hf2gcode/hershey_fonts/orig/futuram.jhf b/hf2gcode/hershey_fonts/orig/futuram.jhf new file mode 100644 index 0000000..4130153 --- /dev/null +++ b/hf2gcode/hershey_fonts/orig/futuram.jhf @@ -0,0 +1,127 @@ +12345 1JZ +12345 24MXRFRTST RRFSFST RRXQYQZR[S[TZTYSXRX RRYRZSZSYRY +12345 22I[NFMGMM RNGMM RNFOGMM RWFVGVM RWGVM RWFXGVM +12345 12H]SBLb RYBRb RLOZO RKUYU +12345 51I\RBR_S_ RRBSBS_ RWIYIWGTFQFNGLILKMMNNVRWSXUXWWYTZQZOYNX RWIVHTG +QGNHMIMKNMVQXSYUYWXYWZT[Q[NZLXNX RXXUZ +12345 32F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT +12345 49F_[NZO[P\O\N[MZMYNXPVUTXRZP[M[JZIXIUJSPORMSKSIRGPFNGMIMKNNPQUXWZ +Z[[[\Z\Y RM[KZJXJUKSMQ RMKNMVXXZZ[ +12345 11NWSFRGRM RSGRM RSFTGRM +12345 20KYVBTDRGPKOPOTPYR]T`Vb RTDRHQKPPPTQYR\T` +12345 20KYNBPDRGTKUPUTTYR]P`Nb RPDRHSKTPTTSYR\P` +12345 39JZRFQGSQRR RRFRR RRFSGQQRR RMINIVOWO RMIWO RMIMJWNWO RWIVINOMO R +WIMO RWIWJMNMO +12345 16F_RIRZSZ RRISISZ RJQ[Q[R RJQJR[R +12345 24MXTZS[R[QZQYRXSXTYT\S^Q_ RRYRZSZSYRY RS[T\ RTZS^ +12345 3E_IR[R +12345 16MXRXQYQZR[S[TZTYSXRX RRYRZSZSYRY +12345 8G^[BIbJb R[B\BJb +12345 42H\QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF ROGMJLOLRMWOZ RNYQZSZVY RUZ +WWXRXOWJUG RVHSGQGNH +12345 12H\NJPISFS[ RNJNKPJRHR[S[ +12345 34H\LKLJMHNGPFTFVGWHXJXLWNUQL[ RLKMKMJNHPGTGVHWJWLVNTQK[ RLZYZY[ R +K[Y[ +12345 48H\MFXFQO RMFMGWG RWFPO RQNSNVOXQYTYUXXVZS[P[MZLYKWLW RPOSOVPXS R +TOWQXTXUWXTZ RXVVYSZPZMYLW ROZLX +12345 18H\UIU[V[ RVFV[ RVFKVZV RUILV RLUZUZV +12345 53H\MFLO RNGMN RMFWFWG RNGWG RMNPMSMVNXPYSYUXXVZS[P[MZLYKWLW RLOMO +ONSNVOXR RTNWPXSXUWXTZ RXVVYSZPZMYLW ROZLX +12345 62H\VGWIXIWGTFRFOGMJLOLTMXOZR[S[VZXXYUYTXQVOSNRNOOMQ RWHTGRGOH RPG +NJMOMTNXQZ RMVOYRZSZVYXV RTZWXXUXTWQTO RXSVPSOROOPMS RQONQMT +12345 12H\KFYFO[ RKFKGXG RXFN[O[ +12345 68H\PFMGLILKMMNNPOTPVQWRXTXWWYTZPZMYLWLTMRNQPPTOVNWMXKXIWGTFPF RNG +MIMKNMPNTOVPXRYTYWXYWZT[P[MZLYKWKTLRNPPOTNVMWKWIVG RWHTGPGMH RLXOZ RUZXX +12345 62H\WPURRSQSNRLPKMKLLINGQFRFUGWIXMXRWWUZR[P[MZLXMXNZ RWMVPSR RWNUQ +RRQRNQLN RPRMPLMLLMIPG RLKNHQGRGUHWK RSGVIWMWRVWTZ RUYRZPZMY +12345 32MXRMQNQORPSPTOTNSMRM RRNROSOSNRN RRXQYQZR[S[TZTYSXRX RRYRZSZSYRY +12345 40MXRMQNQORPSPTOTNSMRM RRNROSOSNRN RTZS[R[QZQYRXSXTYT\S^Q_ RRYRZSZ +SYRY RS[T\ RTZS^ +12345 4F^ZIJRZ[ +12345 16F_JM[M[N RJMJN[N RJU[U[V RJUJV[V +12345 4F^JIZRJ[ +12345 58I\LKLJMHNGQFTFWGXHYJYLXNWOUPRQ RLKMKMJNHQGTGWHXJXLWNUORP RMIPG R +UGXI RXMTP RRPRTSTSP RRXQYQZR[S[TZTYSXRX RRYRZSZSYRY +12345 56E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\T]Q]O\L[J +YHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV +12345 20H\RFJ[ RRIK[J[ RRIY[Z[ RRFZ[ RMUWU RLVXV +12345 44H\LFL[ RMGMZ RLFTFWGXHYJYMXOWPTQ RMGTGWHXJXMWOTP RMPTPWQXRYTYWXY +WZT[L[ RMQTQWRXTXWWYTZMZ +12345 38H]ZKYIWGUFQFOGMILKKNKSLVMXOZQ[U[WZYXZV RZKYKXIWHUGQGOHMKLNLSMVOY +QZUZWYXXYVZV +12345 32H]LFL[ RMGMZ RLFSFVGXIYKZNZSYVXXVZS[L[ RMGSGVHWIXKYNYSXVWXVYSZMZ +12345 27I\MFM[ RNGNZ RMFYF RNGYGYF RNPTPTQ RNQTQ RNZYZY[ RM[Y[ +12345 21I[MFM[ RNGN[M[ RMFYF RNGYGYF RNPTPTQ RNQTQ +12345 44H]ZKYIWGUFQFOGMILKKNKSLVMXOZQ[U[WZYXZVZRUR RZKYKXIWHUGQGOHNIMKLN +LSMVNXOYQZUZWYXXYVYSUSUR +12345 22G]KFK[ RKFLFL[K[ RYFXFX[Y[ RYFY[ RLPXP RLQXQ +12345 8NWRFR[S[ RRFSFS[ +12345 20J[VFVVUYSZQZOYNVMV RVFWFWVVYUZS[Q[OZNYMV +12345 22H]LFL[M[ RLFMFM[ RZFYFMR RZFMS RPOY[Z[ RQOZ[ +12345 14IZMFM[ RMFNFNZ RNZYZY[ RM[Y[ +12345 26F^JFJ[ RKKK[J[ RKKR[ RJFRX RZFRX RYKR[ RYKY[Z[ RZFZ[ +12345 20G]KFK[ RLIL[K[ RLIY[ RKFXX RXFXX RXFYFY[ +12345 40G]PFNGLIKKJNJSKVLXNZP[T[VZXXYVZSZNYKXIVGTFPF RQGNHLKKNKSLVNYQZSZ +VYXVYSYNXKVHSGQG +12345 27H\LFL[ RMGM[L[ RLFUFWGXHYJYMXOWPUQMQ RMGUGWHXJXMWOUPMP +12345 48G]PFNGLIKKJNJSKVLXNZP[T[VZXXYVZSZNYKXIVGTFPF RQGNHLKKNKSLVNYQZSZ +VYXVYSYNXKVHSGQG RSXX]Y] RSXTXY] +12345 34H\LFL[ RMGM[L[ RLFTFWGXHYJYMXOWPTQMQ RMGTGWHXJXMWOTPMP RRQX[Y[ R +SQY[ +12345 43H\YIWGTFPFMGKIKKLMMNOOTQVRWSXUXXWYTZPZNYMXKX RYIWIVHTGPGMHLILKMM +ONTPVQXSYUYXWZT[P[MZKX +12345 15J[RGR[ RSGS[R[ RLFYFYG RLFLGYG +12345 24G]KFKULXNZQ[S[VZXXYUYF RKFLFLUMXNYQZSZVYWXXUXFYF +12345 14H\JFR[ RJFKFRX RZFYFRX RZFR[ +12345 26E_GFM[ RGFHFMX RRFMX RRIM[ RRIW[ RRFWX R]F\FWX R]FW[ +12345 16H\KFX[Y[ RKFLFY[ RYFXFK[ RYFL[K[ +12345 17I\KFRPR[S[ RKFLFSP RZFYFRP RZFSPS[ +12345 20H\XFK[ RYFL[ RKFYF RKFKGXG RLZYZY[ RK[Y[ +12345 12KYOBOb RPBPb ROBVB RObVb +12345 3KYKFY^ +12345 12KYTBTb RUBUb RNBUB RNbUb +12345 8G]JTROZT RJTRPZT +12345 3H\Hb\b +12345 7LXPFUL RPFOGUL +12345 36H\WMW[X[ RWMXMX[ RWPUNSMPMNNLPKSKULXNZP[S[UZWX RWPSNPNNOMPLSLUMX +NYPZSZWX +12345 36H\LFL[M[ RLFMFM[ RMPONQMTMVNXPYSYUXXVZT[Q[OZMX RMPQNTNVOWPXSXUWX +VYTZQZMX +12345 32I[XPVNTMQMONMPLSLUMXOZQ[T[VZXX RXPWQVOTNQNOONPMSMUNXOYQZTZVYWWXX +12345 36H\WFW[X[ RWFXFX[ RWPUNSMPMNNLPKSKULXNZP[S[UZWX RWPSNPNNOMPLSLUMX +NYPZSZWX +12345 36I[MTXTXQWOVNTMQMONMPLSLUMXOZQ[T[VZXX RMSWSWQVOTNQNOONPMSMUNXOYQZ +TZVYWWXX +12345 24LZWFUFSGRJR[S[ RWFWGUGSH RTGSJS[ ROMVMVN ROMONVN +12345 48H\XMWMW\V_U`SaQaO`N_L_ RXMX\W_UaSbPbNaL_ RWPUNSMPMNNLPKSKULXNZP[ +S[UZWX RWPSNPNNOMPLSLUMXNYPZSZWX +12345 25H\LFL[M[ RLFMFM[ RMQPNRMUMWNXQX[ RMQPORNTNVOWQW[X[ +12345 24NWRFQGQHRISITHTGSFRF RRGRHSHSGRG RRMR[S[ RRMSMS[ +12345 24NWRFQGQHRISITHTGSFRF RRGRHSHSGRG RRMRbSb RRMSMSb +12345 22H[LFL[M[ RLFMFM[ RXMWMMW RXMMX RPTV[X[ RQSX[ +12345 8NWRFR[S[ RRFSFS[ +12345 42CbGMG[H[ RGMHMH[ RHQKNMMPMRNSQS[ RHQKOMNONQORQR[S[ RSQVNXM[M]N^Q +^[ RSQVOXNZN\O]Q][^[ +12345 25H\LML[M[ RLMMMM[ RMQPNRMUMWNXQX[ RMQPORNTNVOWQW[X[ +12345 36I\QMONMPLSLUMXOZQ[T[VZXXYUYSXPVNTMQM RQNOONPMSMUNXOYQZTZVYWXXUXS +WPVOTNQN +12345 36H\LMLbMb RLMMMMb RMPONQMTMVNXPYSYUXXVZT[Q[OZMX RMPQNTNVOWPXSXUWX +VYTZQZMX +12345 36H\WMWbXb RWMXMXb RWPUNSMPMNNLPKSKULXNZP[S[UZWX RWPSNPNNOMPLSLUMX +NYPZSZWX +12345 21KYOMO[P[ ROMPMP[ RPSQPSNUMXM RPSQQSOUNXNXM +12345 50J[XPWNTMQMNNMPNRPSUUWV RVUWWWXVZ RWYTZQZNY ROZNXMX RXPWPVN RWOTN +QNNO RONNPOR RNQPRUTWUXWXXWZT[Q[NZMX +12345 16MXRFR[S[ RRFSFS[ ROMVMVN ROMONVN +12345 25H\LMLWMZO[R[TZWW RLMMMMWNYPZRZTYWW RWMW[X[ RWMXMX[ +12345 14JZLMR[ RLMMMRY RXMWMRY RXMR[ +12345 26F^IMN[ RIMJMNX RRMNX RRPN[ RRPV[ RRMVX R[MZMVX R[MV[ +12345 16I[LMW[X[ RLMMMX[ RXMWML[ RXMM[L[ +12345 17JZLMR[ RLMMMRY RXMWMRYNb RXMR[ObNb +12345 20I[VNL[ RXMNZ RLMXM RLMLNVN RNZXZX[ RL[X[ +12345 4KYUBNRUb +12345 3NVRBRb +12345 4KYOBVROb +12345 24F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O +12345 35JZJFJ[K[KFLFL[M[MFNFN[O[OFPFP[Q[QFRFR[S[SFTFT[U[UFVFV[W[WFXFX[Y[ +YFZFZ[ diff --git a/hf2gcode/hershey_fonts/orig/gothgbt.jhf b/hf2gcode/hershey_fonts/orig/gothgbt.jhf new file mode 100644 index 0000000..9346b12 --- /dev/null +++ b/hf2gcode/hershey_fonts/orig/gothgbt.jhf @@ -0,0 +1,188 @@ + 3699 1JZ + 3714 30LXRFQGOHQIRT RRISHRGQHRIRT RRFSGUHSIRT RRXPZR[TZRX RRYQZSZRY + 3728 22I[NFMGMM RNGMM RNFOGMM RWFVGVM RWGVM RWFXGVM + 2275 12H]SFLb RYFRb RLQZQ RKWYW + 3719 60H\PBP_ RTBT_ RTFVGWIWKYJXHWGTFPFMGKIKLLNOPURWSXUXXWZ RXJWH RLLMN +OOUQWRXT RMYLW RMGLILKMMONUPXRYTYWXYWZT[P[MZLYKWMVMXNZP[ + 2271 32F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT + 3718 62E_YNZO[O\N RXOYP[P RXPYQZQ[P\N RYNST RRUL[HVNP ROOSKOFJLPRTXVZX[ +Z[[Z\X RLZIV RRKOG RKLPQTWVYXZ[Z RMZIU RRLNG RKKQQUWVXXY[Y\X + 3717 14LXRLRJPHRFSHSJRLPM RRGQHRIRG + 3721 27KYUBSDQGOKNPNTOYQ]S`Ub RQHPKOOOUPYQ\ RSDRFQIPOPUQ[R^S` + 3722 27KYOBQDSGUKVPVTUYS]Q`Ob RSHTKUOUUTYS\ RQDRFSITOTUS[R^Q` + 3723 39JZRFQGSQRR RRFRR RRFSGQQRR RMINIVOWO RMIWO RMIMJWNWO RWIVINOMO R +WIMO RWIWJMNMO + 3725 16F_RIRZSZ RRISISZ RJQ[Q[R RJQJR[R + 3711 14LXR^R\PZRXSZS\R^P_ RRYQZR[RY + 3724 8F_JQ[Q[R RJQJR[R + 3710 11LXRXPZR[TZRX RRYQZSZRY + 3720 8G^[BIbJb R[B\BJb + 3700 42H\LHLXJY RMIMXPZ RNHNXPYQZ RLHNHSGUF RSGTHVIVY RTGWIWX RUFVGXHZH +XIXY RJYLYNZO[QZVYXY + 3701 27H\OHPIQKQXOY RQIPHQGRIRYTZ ROHRFSHSXUYVY ROYPYRZS[TZVY + 3702 48H\LHNHPGQFSGVHXH RPHRG RLHNIPIRHSG RVHVP RWIWO RXHXPQPNQLSKVK[ R +K[OYSXVXZY RNZQYVYYZ RK[PZUZX[ZY + 3703 57H\LHMHOGPFRGVHXH ROHQG RLHNIPIRG RVHVO RWIWN RXHXOVOSPQQ RQPSQVR +XRXY RWSWX RVRVY RKYMXOXQYRZ ROYQZ RKYMYOZP[RZVYXY + 3704 41H\UFKPKUTU RVUZU[V[TZU RLPLT RMNMU RTGTXRY RUJVHUGUYWZ RUFWHVJVX +XYYY RRYSYUZV[WZYY + 3705 53H\LFLO RLFXF RMGVG RLHUHWGXF RVLUMSNOOLO RSNTNVOVY RUMWNWX RVLWM +YNZNXOXY RKYMXOXQYRZ ROYQZ RKYMYOZP[RZVYXY + 3706 59H\LHLXJY RMIMXPZ RNHNXPYQZ RLHNHRGTFUGWHXH RSGUH RRGTIVIXH RNPOP +SOUNVM RSOTOVPVY RUNWPWX RVMWNYOZOXPXY RJYLYNZO[QZVYXY + 3707 38H\KHMFPGUGZF RLGOHTHWG RKHOIRIVHZF RZFYHWKSOQRPUPXQ[ RRQQTQWRZ R +UMSPRSRVSYQ[ + 3708 71H\LILO RMJMN RNINO RLINISHUGVF RSHTHVIVO RUGWHWN RVFWGYHZHXIXO R +LONOVRXR RXOVONRLR RLRLXJY RMSMXPZ RNRNXPYQZ RVRVY RWSWX RXRXY RJYLYNZO[ +QZVYXY + 3709 60H\LHLQJR RMIMROS RNHNQPRQR RLHNHSGUF RSGTHVIVY RTGWIWX RUFVGXHZH +XIXY RJRKRMSNTOSQRUQVQ RKYMXOXQYRZ ROYQZ RKYMYOZP[RZVYXY + 3712 22LXRMPORPTORM RRNQOSORN RRXPZR[TZRX RRYQZSZRY + 3713 25LXRMPORPTORM RRNQOSORN RR^R\PZRXSZS\R^P_ RRYQZR[RY + 2241 4F^ZIJRZ[ + 3726 16F_JM[M[N RJMJN[N RJU[U[V RJUJV[V + 2242 4F^JIZRJ[ + 3715 51I[LJMHNGQFSFVGWHXJXLWNUPSQ RMJNH RVHWIWMVN RLJNKNIOGQF RSFUGVIVM +UOSQ RRQRTSQQQRT RRXPZR[TZRX RRYQZSZRY + 2273 56E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\T]Q]O\L[J +YHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV + 3501 60G]LINGPFRFSGZW[X]X RQGRHYXZZ[YYX RNGPGQHXXYZZ[[[]X RLMMLOKPKQL R +PLPM RMLOLPN RG[IYKXNXPY RJYNYOZ RG[JZMZN[PY RRJLX RNSVS + 3502110F^HHJFMFOGQF RKGNG RHHJGLHOHQF RMKLLKNKOIOHPHRIQKQKW RLMLU RIPLP + RMKMTLVKW RRIQJPLPU RQKQS RRIRRQTPU RRIXFZG[I[KYMUO RXGZIZK RVGXHYIYLWN + RWNZP[R[X RYPZRZW RWNXOYQYX RJ[MYPXTXWY RLZOYTYVZ RJ[NZSZU[WYYX[X RUOUX + RURYR RUUYU + 3503 69E]NGLHJJILHOHSIVJXMZP[S[VZXYZW[U RJKINISKWNYQZTZWY RNGLIKKJNJRKU +NXQYTYWXYW[U RPJPV RQJQT RRIRSQUPV RPJRIUFWGYGZF RTGVHXH RSHUIWIYHZF RWI +WX + 3504 72G^IFWFYGZIZX RKGWGYIYW RIFJGLHWHXIXX ROKNLMNMOKOJPJRKQMQMV RNMNT + RKPNP ROKOSNUMV RI[LYOXSXVY RKZNYSYUZ RI[MZRZT[VYXXZX RRHRX RRMTNVNXM R +RSTRVRXS + 3505 94G]IHKFMFOGQF RLGNG RIHKGMHOHQF RNKMLLNLOJOIPIRJQLQLW RMMMU RJPMP + RNKNTMVLW RQMRJSHTGVFXF[G RTHVGXGZH RRJSIUHWHYI[G RQURRSPTOVOXP RTPVPWQ + RRRSQUQVRXP RK[NYRXWX[Y RMZPYWYZZ RK[OZVZY[[Y RQMQX + 3506 91F]JHLFOFQGSF RMGPG RJHLGNHQHSF RPKOLNNNOLOKPKRLQNQNV ROMOT RLPOP + RPKPSOUNV RSJSYRZQZMXKXIYG[ RTJTX RTPXP RPZOZMYJY RUIUOXO RXQUQUWTYP[N[ +LZJZG[ RSJUIXFZG\G]F RWGYH[H RVHXIZI\H]F RXIXW + 3507 87E^NGLHJJILHOHRIUJWLYNZQ[U[XZZX[V[SZQYPWOUO RJKINISJV RNGLIKKJNJS +KVLXNZ RYXZWZSYQ RU[WZXYYWYSXQWPUO RPJPW RQJQU RRIRTQVPW RPJRIUFWGYGZF R +TGVHXH RSHUIWIYHZF RYHUOU[ RUSYS RUVYV + 3508112F^HHJFMFOGQF RKGNG RHHJGLHOHQF RMKLLKNKOIOHPHRIQKQKW RLMLU RIPLP + RMKMTLVKW RJ[MYPXSXUY RLZOYRYTZ RJ[NZQZS[UY RRIQJPLPU RQKQS RRIRRQTPU R +RITGVFXFZG RWGXGYH RTGVGXIZG RUOWNYLZM[P[TZXX[ RXMYNZPZUYX RWNXNYPYUX[ R +UOUY RURYR RUUYU + 3509 67I\LHNFQFTGVF ROGSG RLHNGQHTHVF RSKRLQNQOOONPNROQQQQV RRMRT ROPRP + RSKSSRUQV RYHWJVMVXUZSZOXMXKYI[ RWKWW RRZQZOYLY RYHXJXVWXUZS[P[NZKZI[ + 3510 65H\LHNFQFTGVF ROGSG RLHNGQHTHVF RSKRLQNQOOONPNROQQQQV RRMRT ROPRP + RSKSSRUQV RYHWJVMVXUZ RWKWW RYHXJXVWXUZR[O[LZJXJVKULUMVLWKW RJVMV + 3511115F^HHJFMFOGQF RKGNG RHHJGLHOHQF RMKLLKNKOIOHPHRIQKQKW RLMLU RIPLP + RMKMTLVKW RJ[MYPXSXUY RLZNYRYTZ RJ[NZQZS[UY RRIQJPLPU RQKQS RRIRRQTPU R +RITGVFXFZG RWGXGYH RTGVGXIZG RUOXLYM[N RWMYN[N R[NYQWSUU RWSYTZX[Z\Z RYV +ZZ RWSXTYZZ[[[\Z RUOUY + 3512 85G]IHKFNFPGRF RLGOG RIHKGMHPHRF RNKMLLNLOJOIPIRJQLQLW RMMMU RJPMP + RNKNTMVLW RK[NYRXWX[Y RMZPYWYZZ RK[OZVZY[[Y RSIRJQLQU RRKRS RSISRRTQU R +SIUGWFYF[G RXGYGZH RUGWGYI[G RWGWX + 3513107D`LJKKJMJOHOGPGRHQJQJU RKLKS RHPKP RLJLRKTJU RE[GYIXKXMYNYOX RHY +KYMZ RE[GZJZL[M[NZOX RLJPFTJTWUYVY RPGSJSXRYSZTYSX RPPSP RNHOHRKROOO ROQ +RQRXQYS[VYWX RTJXF\J\W]Y^Y RXG[J[X]Z RXP[P RVHWHZKZOWO RWQZQZY\[^Y ROHOX + RWHWX + 3514 84E^GIIGKFMFOGQJVUXXYY RMGOIPKVWYZ RIGKGMHOKTVVYWZY[ RVHXIZI\H]F R +WGYH[H RVHXFZG\G]F RKOIOHPHRIQKQ RIPKP RG[IYKXNXPY RJYMYOZ RG[JZMZN[PY R +KGKX RYIY[ RRLSMUNWNYM RKTMSQSST + 3515 79E_NFLGJIIKHNHRIUJWLYNZQ[S[VZXYZW[U\R\N[KZIXGVFUGRIOJ RJJIMISJV R +NFLHKJJMJSKVLXNZ RZV[S[MYIXH RVZXXYVZSZMYKWHUG ROJOW RPJPU RQJQTPVOW RUG +UZ RUMWNXNZM RUSWRXRZS + 3516 70H^KFLGMIMOKOJPJRKQMQMYJ[MZMbO` RMHNJN` RKPNP RKFMGNHOJO` ROKRIVF +ZJZX RVGYJYX RTHUHXKXY RRXUXXY RSYUYWZ RRZTZV[XYZX RRIR_ RRMTNVNXM RRSTR +VRXS + 3517 99E_NFLGJIIKHNHRIUJWLYNZP[T[VZXYZW[U\R\N[KZIXGVFUGRIOJ RJJIMISJV R +NFLHKJJMJSKVLXNZ RZV[S[MYIXH RVZXXYVZSZMYKWHUG ROJOW RPJPU RQJQTPVOW RUG +UZ RUMWNXNZM RUSWRXRZS RP[QZRZT[X`Za[a RT\V_XaYa RRZS[VaXbZb[a + 3518108F^HHJFMFOGQF RKGNG RHHJGLHOHQF RMKLLKNKOIOHPHRIQKQKW RLMLU RIPLP + RMKMTLVKW RJ[MYPXRXUY RLZNYRYTZ RJ[NZQZS[UY RRIQJPLPU RQKQS RRIRRQTPU R +RIUGWFYGZIZLYNXOTQRR RWGXGYIYMXN RUGWHXJXMWOTQ RTQVRWSZX[Y\Y RWTYX[Z RTQ +VSXYZ[\Y + 3519 94G^UITHRGOF RVHTG RWGSFOFLGKHJJKLLMONWNYOZPZRYU RKKLLOMXMZN[O[QZS + RKHKJLKOLYL[M\O\QYUU[ RIOJPLQUQVRVSUU RJQLRTRUS RIOIPJRLSSSUTUU RI[LYPX +SXVY RKZNYRYUZ RI[MZRZU[ RWGUISL RRNPQ ROSMUKVJVJUKV + 3520 71E]JJILHOHSIVKYMZP[S[VZXYZW[U RISJVLXNYQZTZWY RJJIMIQJTLWNXQYTYWX +YW[U RHIIGKFOFUGYG[F RPGTHXH RHIIHKGNGTIWIYH[F RSIRJPKPV RQKQT RRJRSQUPV + RWIWX + 3521 89F^HHJFLFOGQF RKGNG RHHJGMHOHQF RKJJLIOISJVKXMZP[S[VZXYZ[\Y RJSKV +NYQZTZ RKJJNJQKTLVNXQYUYXX RUIQJPLPV RQKQT RRJRSQUPV RUIWHYFZG\HZIZW[Y\Y + RYIZHYGXHYIYX[Z RWHXIXX RUIUY RUNXN RURXR + 3522 72G^JFKGLILOJOIPIRJQLQLXJY RLHMJMX RJPMP RNYQYSZ RJFLGMHNJNXRXUY R +JYMYPZR[UYXXZX RRJUIWHYFZG\HZIZX RYIZHYGXHYIYW RWHXIXX RRJRX RRMTNVNXM R +RSTRVRXS + 3523 95E`HFIGJIJOHOGPGRHQJQJXHY RJHKJKX RHPKP RLYNYPZ RHFJGKHLJLXOXQY R +HYKYNZO[QYTXVYW[YY\X ROHRFTHTXWXYY RRGSHSX ROHQHRIRXQY RWYXZ RWHZF\H\X R +ZG[H[X RWHYHZIZXYY ROHOX RWHWX RONRN RORRR RWNZN RWRZR + 3524 65G]HIJGLFNFOGWYXZZZ RMGNHVYWZ RJGLGMHUZV[X[ZZ\X RWFYG[G\F RWGXHZH + RVHWIYI[H\F RH[IYKXMXNY RJYLYMZ RH[IZKZM[ RWFSO RQRM[ RLPPP RSPXP + 3525 86G^JFKGLILOJOIPIRJQLQLXJY RLHMJMX RJPMP RNYQYSZ RJFLGMHNJNXRXUY R +JYMYPZR[UYXX RRJUIWHYFZG\HZIZ^Y`WbUaQ`L` RYIZHYGXHYIYY RWHXIXXZ[ RXaV`S` + RY`V_P_L` RRJRX RRMTNVNXM RRSTRVRXS + 3526 57H\XGWIROOSMWJ[ RVKNV RZFWJUNRRMXLZ RJHLFOGUGZF RKGOHSHWG RJHNIRI +VHXG RLZNYRXVXZY RMZQYUYYZ RJ[OZUZX[ZY RMPQP RTPXP + 2223 12KYOBOb RPBPb ROBVB RObVb + 804 3KYKFY^ + 2224 12KYTBTb RUBUb RNBUB RNbUb + 2262 11JZPLRITL RMORJWO RRJR[ + 999 3JZJ]Z] + 3716 14LXTFRGQIQKRMTKRIRG RRJRLSKRJ + 3601 53J[PRNTMVMXNZP[RYUX RMVNXOYQZ RNTNVOXQYRY RNPPPSOUNVMXOWPWXXYYY R +ONNOQO RTOWOVNVYWZ RMOOMPNROUPUYW[YY RMORT + 3602 44I[LHMJMXKY RNJMHNGNXQZ RLHOFOXQYRZ RKYMYOZP[RZUYWY ROPROTNUMVNXO +YOWPWY RTNVOVX RROSOUPUY + 3603 35JXNONXLYMYOZP[ ROOOYQZ RPOPXRYSYQZP[ RNORNTMUNWOXO RSNTOVO RPORN +TPVPXO + 3604 41IZRMPNMOMXKY RNONXQZ RRMOOOXQYRZ RKYMYOZP[RZUYWY RMHPFQIWOWY RPI +NHOGPIVOVX RMHUPUY + 3605 32JXNONXLYMYOZP[ ROOOYQZ RPOPXRYSYQZP[ RNORNTMWQURPU RSNVQ RPORNUR + 3606 41JWNHNXLYMYOZP[ ROHOYQZ RPHPXRYSYQZP[ RNHQGSFTGVHWH RRGSHUH RPHQG +SIUIWH RKMNM RPMTM + 3607 56I[MOMXKYLYNZO[PZRYUX RNPNYPZ ROOOXQYRY RMOOORNTMUNWOYOWPW\V_TaRb +QaO`M` RSNVPV\ RSaQ`P` RRNSOUPUZV]V_ RTaS`Q_O_M` + 3608 47I[LHMJMXKYLYNZO[ RNJMHNGNYPZ RLHOFOXQYO[ ROPROTNUMVNXOYOWPWYU[T] + RTNVOVYU[ RROSOUPUYT]T`UbVbT` + 3609 35MWRFPHRITHRF RRGQHSHRG RRMQNOOQPQYS[UY RRPSORNQORPRYSZ RRMSNUOSP +SXTYUY + 3610 39MWRFPHRITHRF RRGQHSHRG RRMQNOOQPQYS[T] RRPSORNQORPRYS[ RRMSNUOSP +SYT]T`RbPbPaRb + 3611 50IZLHMJMXKYLYNZO[ RNJMHNGNYPZ RLHOFOXQYO[ ROPRNTMVPSROU RSNUP RRN +TQ RSRTSVXWYXY RSSTTUYVZ RRSSTTYV[XY + 3612 22MWPHQJQXOYPYRZS[ RRJQHRGRYTZ RPHSFSXUYVYTZS[ + 3613 67E_GOHOIPIXGYHYJZK[ RINJOJYLZ RGOIMKOKXMYK[ RKPNOPNQMSOSXUYS[ RPN +RORYTZ RNOOOQPQXPYRZS[ RSPVOXNYMZN\O]O[P[X\Y]Y RXNZOZY[Z RVOWOYPYY[[]Y + 3614 45I[KOLOMPMXKYLYNZO[ RMNNONYPZ RKOMMOOOXQYO[ ROPROTNUMVNXOYOWPWXXY +YY RTNVOVYWZ RROSOUPUYW[YY + 3615 40I[MOMXKY RNPNXQZ ROOOXQYRZ RKYMYOZP[RZUYWY RMOOORNTMUNWOYOWPWY R +SNVPVX RRNSOUPUY + 3616 54I[LMMOMXKYMYMb RMNNONaO`N^ RNYOYQZ RLMNNOOOXQYRZ ROZP[RZUYWY ROZ +O^P`Mb ROPROTNUMVNXOYOWPWY RTNVOVX RROSOUPUY + 3617 44I[MOMXKY RNPNYPZ ROOOXQYRY RKYLYNZO[PZRYUX RMOOORNTMUNWOYOWPWb R +SNVPVaU`V^ RRNSOUPU^T`Wb + 3618 38JXLOMONPNXLYMYOZP[ RMNOOOYQZ RLONMPOPXRYSYQZP[ RPOTMUNWOXO RSNTO +VO RRNTPVPXO + 3619 59JZMOMSOTUTWUWY RNONS RVUVY RPNOOOSQT RSTUUUYTZ RMOPNRMTNVNWM RQN +SN RPNROTOVN RWYTZR[PZNZL[ RSZQZ RTZRYOYL[ RWMVOTROWL[ + 3620 28MWPHQJQXOYPYRZS[ RRJQHRGRYTZ RPHSFSXUYVYTZS[ RNMQM RSMVM + 3621 47I[KOLOMPMXKY RLNNONYPZ RKOMMOOOXQYRY RKYLYNZO[PZRYUX RUMVNXOYOWP +WXXYYY RTNVOVYWZ RUMSOUPUYW[YY + 3622 36I[LMMOMXP[RYUXWX RMNNONXQZ RLMNNOOOWPXRY RUMVNXOYOWPWX RTNVOVW R +UMSOUPUX + 3623 57E_HMIOIXL[NYQX RINJOJXMZ RHMJNKOKWLXNY RQMOOQPQXT[VYYX[X RPNRORX +UZ RQMRNTOSPSWTXVY RYMZN\O]O[P[X RXNZOZW RYMWOYPYX + 3624 59H[KOLONPOQSYTZV[XY RMNOOTYVZ RKOMMONPOTWUXWYXY RRSUMVNXNYM RUNVO +WO RTOVPXOYM RQUN[MZKZJ[ RNZMYLY ROYMXKYJ[ RMTPT RSTVT + 3625 60I[KOLOMPMXKY RLNNONYPZ RKOMMOOOXQYRY RKYLYNZO[PZRYUX RUMVNXOYOWP +W\V_TaRbQaO`M` RTNVOV\ RSaQ`P` RUMSOUPUZV]V_ RTaS`Q_O_M` + 3626 38I[XML[ RLONPQPTOXM RMNOOSO RLONMPNTNXM RL[PYSXVXXY RQYUYWZ RL[PZ +TZV[XY RNTVT + 2225 40KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSU +SWRYQZP\P^Q`RaTb + 2229 3NVRBRb + 2226 40KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQU +QWRYSZT\T^S`RaPb + 2246 24F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O + 3729 30KYQFOGNINKOMQNSNUMVKVIUGSFQF RQFNIOMSNVKUGQF RSFOGNKQNUMVISF diff --git a/hf2gcode/hershey_fonts/orig/gothgrt.jhf b/hf2gcode/hershey_fonts/orig/gothgrt.jhf new file mode 100644 index 0000000..040c7bd --- /dev/null +++ b/hf2gcode/hershey_fonts/orig/gothgrt.jhf @@ -0,0 +1,190 @@ + 3699 1JZ + 3714 30LXRFQGOHQIRT RRISHRGQHRIRT RRFSGUHSIRT RRXPZR[TZRX RRYQZSZRY + 3728 22I[NFMGMM RNGMM RNFOGMM RWFVGVM RWGVM RWFXGVM + 2275 12H]SFLb RYFRb RLQZQ RKWYW + 3719 60H\PBP_ RTBT_ RTFVGWIWKYJXHWGTFPFMGKIKLLNOPURWSXUXXWZ RXJWH RLLMN +OOUQWRXT RMYLW RMGLILKMMONUPXRYTYWXYWZT[P[MZLYKWMVMXNZP[ + 2271 32F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT + 3718 62E_YNZO[O\N RXOYP[P RXPYQZQ[P\N RYNST RRUL[HVNP ROOSKOFJLPRTXVZX[ +Z[[Z\X RLZIV RRKOG RKLPQTWVYXZ[Z RMZIU RRLNG RKKQQUWVXXY[Y\X + 3717 14LXRLRJPHRFSHSJRLPM RRGQHRIRG + 3721 27KYUBSDQGOKNPNTOYQ]S`Ub RQHPKOOOUPYQ\ RSDRFQIPOPUQ[R^S` + 3722 27KYOBQDSGUKVPVTUYS]Q`Ob RSHTKUOUUTYS\ RQDRFSITOTUS[R^Q` + 3723 39JZRFQGSQRR RRFRR RRFSGQQRR RMINIVOWO RMIWO RMIMJWNWO RWIVINOMO R +WIMO RWIWJMNMO + 3725 16F_RIRZSZ RRISISZ RJQ[Q[R RJQJR[R + 3711 14LXR^R\PZRXSZS\R^P_ RRYQZR[RY + 3724 8F_JQ[Q[R RJQJR[R + 3710 11LXRXPZR[TZRX RRYQZSZRY + 3720 8G^[BIbJb R[B\BJb + 3700 42H\LHLXJY RMIMXPZ RNHNXPYQZ RLHNHSGUF RSGTHVIVY RTGWIWX RUFVGXHZH +XIXY RJYLYNZO[QZVYXY + 3701 27H\OHPIQKQXOY RQIPHQGRIRYTZ ROHRFSHSXUYVY ROYPYRZS[TZVY + 3702 48H\LHNHPGQFSGVHXH RPHRG RLHNIPIRHSG RVHVP RWIWO RXHXPQPNQLSKVK[ R +K[OYSXVXZY RNZQYVYYZ RK[PZUZX[ZY + 3703 57H\LHMHOGPFRGVHXH ROHQG RLHNIPIRG RVHVO RWIWN RXHXOVOSPQQ RQPSQVR +XRXY RWSWX RVRVY RKYMXOXQYRZ ROYQZ RKYMYOZP[RZVYXY + 3704 41H\UFKPKUTU RVUZU[V[TZU RLPLT RMNMU RTGTXRY RUJVHUGUYWZ RUFWHVJVX +XYYY RRYSYUZV[WZYY + 3705 53H\LFLO RLFXF RMGVG RLHUHWGXF RVLUMSNOOLO RSNTNVOVY RUMWNWX RVLWM +YNZNXOXY RKYMXOXQYRZ ROYQZ RKYMYOZP[RZVYXY + 3706 59H\LHLXJY RMIMXPZ RNHNXPYQZ RLHNHRGTFUGWHXH RSGUH RRGTIVIXH RNPOP +SOUNVM RSOTOVPVY RUNWPWX RVMWNYOZOXPXY RJYLYNZO[QZVYXY + 3707 38H\KHMFPGUGZF RLGOHTHWG RKHOIRIVHZF RZFYHWKSOQRPUPXQ[ RRQQTQWRZ R +UMSPRSRVSYQ[ + 3708 71H\LILO RMJMN RNINO RLINISHUGVF RSHTHVIVO RUGWHWN RVFWGYHZHXIXO R +LONOVRXR RXOVONRLR RLRLXJY RMSMXPZ RNRNXPYQZ RVRVY RWSWX RXRXY RJYLYNZO[ +QZVYXY + 3709 60H\LHLQJR RMIMROS RNHNQPRQR RLHNHSGUF RSGTHVIVY RTGWIWX RUFVGXHZH +XIXY RJRKRMSNTOSQRUQVQ RKYMXOXQYRZ ROYQZ RKYMYOZP[RZVYXY + 3712 22LXRMPORPTORM RRNQOSORN RRXPZR[TZRX RRYQZSZRY + 3713 25LXRMPORPTORM RRNQOSORN RR^R\PZRXSZS\R^P_ RRYQZR[RY + 2241 4F^ZIJRZ[ + 3726 16F_JM[M[N RJMJN[N RJU[U[V RJUJV[V + 2242 4F^JIZRJ[ + 3715 51I[LJMHNGQFSFVGWHXJXLWNUPSQ RMJNH RVHWIWMVN RLJNKNIOGQF RSFUGVIVM +UOSQ RRQRTSQQQRT RRXPZR[TZRX RRYQZSZRY + 2273 56E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\T]Q]O\L[J +YHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV + 3301 62F^IHJIIJHIIGKFMFOGPHQKQOPRNTLUIV ROHPKPPOR RMFNGOJOPNSLU RLVOY R +KVOZ RIVN[UV R\G[H\H\G[FYFWGVHUJUYW[[W RWHVJVXXZ RYFXGWJWWYY + 3302101E_GQGRHSJSLRLOKMIJIHKF RKOIK RJSKRKPIMHKHIIGKFNFPGQHRJRRQUOW RPH +QJQT RNFOGPJPUOW RRISGUFWFYGZH[J\K RYHZJ RWFXGYJZK\K R\KRP RYM[O\R\U[XYZ +V[S[PZJWIWHX RXNYN[P RVNYO[Q\S RTZRZLWKW RZYXZUZRYNWKVIVHXHZI[JZIY + 3303 79F^RHPFNFLGJJINIRJVLYNZQ[T[WZYY[W RLHKJJMJRKVMYPZ RNFMGLIKMKQLUMW +OYRZUZXY[W RUFRHQIPKPLQNTPURUT RQKQLUPUQ RQIQJRLUNVPVRUTSURUPTOR RUFVGXH +ZH RUGVHWH RTGVIXIZH[G + 3304 79E_HLHKIIKGNFRFUGWHYJ[M\Q\U[XYZV[S[PZJWIWHX RKHMGRGUHWIYK[N RTZRZ +LWKW RHKJIMHRHUIWJYL[O\R RZYXZUZRYNWKVIVHXHZI[JZIY RPHMKLMLONSNU RMNMONQ +NR RMKMMOQOSNUMVKVJUJT + 3305 95F^RHPFNFLGJJINIRJVLYNZQ[T[WZYY[W RLHKJJMJRKVMYPZ RNFMGLIKMKQLUMW +OYRZUZXY[W RUFRHQIPKPLQNTPURUT RQKQLUPUQ RQIQJRLUNVPVRUTSURUPTOR RUFVGXH +ZH RUGVHWH RTGVIXIZH[G RUNYK RYKZL\L RXLYMZM RWMXNZN\L + 3306 94F^MNKMJKJIKGNFQFTGXI RKHMGRGUH RJKKIMHRHXIZI[H[GZFYF RSHRIQKQMRO +VSWVWYV\U]S^ RTPWSXVXYW[ RQMSOVQXSYVYYX[V]S^O^L]K\JZJWLTLRKQ RL\K[KWLU R +O^M]L[LWMTMRLQJQIRIS RUPYL RYLZM\M RXMYNZN RWNXOZO\M + 3307 99E_UJTHSGQFNFKGIJHNHRIUJWLYNZQ[T[WZYY[W\T\Q[NYL RKHJJIMIRJUKW RZW +[U[QZNYM RNFLGKIJMJRKVLXNZ RWZYXZUZQYOWM RUFRHPJOLOMPOSQTSTU RPLPMTQTR R +PJPKQMTOUQUSTURVQVOUNS RTOYLZJ R\FZJ RYG]I R\F[GYGZHZJ[I]I\H\F + 3308 92F_RFPGNIMKMMNOPQQSQU RNLNMQQQR RNINKOMQORQRSQUPVNWLWJVIUHSHQIPJQ +IR RRFTHVHXG RQGSH RPGQHSIUIXG RRPYK RYK[N\Q\T[WYYVZR[ RXLZN[Q[UZW RVMWM +YOZRZVYXXYVZ RVZTZRYPYNZM\N^P_R_T^ RSZQZ RR[PZNZ + 3309 83F_PPNPLOKNJLJJKHLGOFQFTGWJYK RLHNGRGTHUI RJJKIMHQHTIVJYK[K\J\H[G +YG RJXKYJZIYIWJVLVNWPYR\T^ RNXOYQ\R] RLVMWNYP\Q]S^V^X]Y\ZZZWYUWRVPVO RYX +YWVRVQ RX]Y[YYXWVTURUPWNYNZOZP + 3310 83F_PPNPLOKNJLJJKHLGOFQFTGWJYK RLHNGRGTHUI RJJKIMHQHTIVJYK[K\J\H[G +YG RJXKYJZIYIWJVLVNWPYR\T^ RNXOYQ\R] RLVMWNYP\Q]S^V^X]Y\ZZZWYUWRVPVO RYX +YWVRVQ RX]Y[YYXWVTURUPWNYNZOZP + 3311 81E_[KZIXGUFRFOGMILKLNMQPWPYN[ RMNMOPUPV RNHMJMMNOPSQVQXPZN[L[JZ R +HVJZ RGYKW RHVHXGYIYJZJXKWIWHV RNONMOKQJTJVKXMYM RUKWM RRJTKULVN RYMPQ R +UOYXZY[Y RTPXXZZ RSPWYY[\X + 3312 73G^ZSYTVTUSUQVOXLYJYH RVQVPYLYK RWTVSVRWPYNZLZJYHXGUFPFMGLHKJKLLN +NQOSOTNV RLKLLOQOR RLHLJMLOOPQPSOUMWJY RMWOWRYUZXZZY RNXOXSZTZ RJYLXMXQZ +T[V[YZZY[W + 3313128BbEQERFSHSJRJOIMGJGHIF RIOGK RHSIRIPGMFKFIGGIFKFMGOIPLPROUNWLYI[ +HZGZ RNIOLORNUMW RJZIYHY RKFMHNKNRMVLXKYJXIXF[ RNGPFRFTGVIWLWRVUUWSYQ[PZ +OZ RUIVLVRUV RRZQYPY RRFTHUKUSTWSYRXQXN[ RUHVGXFZF\G]H^J_K R\H]J RZF[G\J +]K_K R_K\M[NZQZT[X][`X R\N[P[T\W^Z R_K]M\O\S]W_Y + 3314 96D`GQGRHSJSLRLOKMIJIHKF RKOIK RJSKRKPIMHKHIIGKFNFPGRISLSRRUQWOYL[ +KZIZG[ RQIRKRRQUPWOX RMZKYIY RNFPHQKQRPVNYLXJXG[ RRHSGUFWFYGZH[J\K RYHZJ + RWFXGYJZK\K R\KYMXNWQWTXXZ[]X RYNXPXTYW[Z R\KZMYOYSZW\Y + 3315 72D`PFNGLIKKKMMQMS RLLLMMOMP RLILKNONQMSLTJTISIR RPFQGWIZK[M\P\S[V +ZXXZU[R[OZIWHWGX RPGQHWJYKZL RPFPHQIWKYL[N\P RSZQZKWJW RYYWZTZQYMWJVHVGX +GZH[IZHY + 3316100E`HQHRISKSMRMOLMJJJHLF RLOJK RKSLRLPJMIKIIJGLFOFQGRHSJSU RSWS\R^ +P_M_L^L\M[N\M] RQHRJR\Q^ ROFPGQJQU RQWQ\P^O_ RSJXF RXFZI[K\O\R[UYXV[ RWG +ZK[N[O RVHXJZM[P[SZVYX RWYUVSU RQUOVMX RWZUWSVPV RV[TXSW RQWOWMX + 3317 88D`PFNGLIKKKMMQMS RLLLMMOMP RLILKNONQMSLTJTISIR RPFQGWIZK[M\P\S[V +ZX RXZU[R[OZIWHWGX RPGQHWJYKZL RPFPHQIWKYL[N\P RSZQZKWJW RXZTZQYMWJVHVGX +GZH[IZHY RTXVVXV\Z]Z RWWXW[Z RUWVWZ[\[^Y + 3318 96D`GQGRHSJSLRLOKMIJIHKF RKOIK RJSKRKPIMHKHIIGKFNFPGQHRJRVQXOZM[K[ +IZ RPHQJQVPX RNFOGPJPVOYM[ RGVIZ RFYJW RGVGXFYHYIZIXJWHWGV RRISGUFWFYGZH +[J\K RYHZJ RWFXGYJZK\K R\KRP RTOXYZ[]X RUOYX[Z RVNZX[Y\Y + 3319 83E`\H[G\F]G]I\KZKVISHOHKIIK RYJVHSGOGLH R]I\JZJVGSFOFLGJIIKHNHRIU +JWLYNZQ[U[XZZY\W]T]Q\OZNWNUOSRQSOS RLXNYQZUZYY RIUKWMXPYUYYX[W\V]T RXOWO +SSRS R]Q[OYOWPUSSTQTOSNQNOOMQL + 3320 81F_LNJMIKIIJGMFRFUGYJ[J\I RJHLGRGUHXJ RIKJILHRHUIYK[K\I\G[FZG[H R +UIRLQNQPSTSV RRORPSRSS RRLRNTRTTSVRWPWOVOT RJYKZJ[IZIXJVLVOWSYVZYZ[Y RLW +MWSZUZ RIXJWKWMXQZT[W[ZZ\X + 3321 45G]JHKHLILWJX RKGMHMXPZ RIILFNHNWPYRY RJXKXMYO[RYVV RTHUHVIVYX[[X + RUGWHWYYZ RSIVFYHXIXXYYZY + 3322100D`GQGRHSJSLRLOKMIJIHKF RKOIK RJSKRKPIMHKHIIGKFNFPGQHRJRRQUOW RPH +QJQT RNFOGPJPUOW RRISGUFWFYG[J\K RYHZJ RWFXGYJZK\K RZKXKWLWNXP[R\T RXO[Q + RWMXN[P\R\V[XYZW[S[PZJWIWHX RTZRZLWKW RZYXZUZRYNWKVIVHXHZI[JZIY + 3323143BcEQERFSHSJRJOIMGJGHIF RIOGK RHSIRIPGMFKFIGGIFLFNGOHPJPNOQMTKV R +NHOJOONR RLFMGNJNOMSKV RNGPFSFUG RWFTGSISMTPVSWUWWVY RTMTNWSWT RWFUGTITL +UNWQXTXVWXUZS[O[MZKXIWGWFX RNZKWJW RQ[OZLWJVGVFXFZG[HZGY RWFZF\G^J_K R\H +]J RZF[G\J]K_K R]K[KZLZN[P^R_T R[O^Q RZM[N^P_R_W^Y]Z[[X[UZ RYZXZVY R^Y\Z +ZZXYWX + 3324 86F^KHMHOIPJQMQO RQQQUPXM[KZI[ RNZLYKY ROYNYLXI[ RMGPHQIRLRUSWUYWZ + RIINFPGRISLSO RSQSTTWUXWYYY RQURXTZV[[X RSLTIWFYG[F RVGXHYH RUHVHXI[F R +KSMOQO RSOWOYM RMPWP RKSMQQQ RSQWQYM + 3325 74E_HQHRISKSMRMOLMJJJHLF RLOJK RKSLRLPJMIKIIJGLFOFQGRHSJSORRQTQUSW +TW RQHRJRPQSPUSX ROFPGQJQPPTOVRYUV RSJ[F RYGYZX] RZGZXY[ R[F[VZZY\W^T_P_ +M^K\JZKYLZK[ + 3326 74F^NIOGQFTFVGWHXJXMWOVPTQ RQQOPNN RVHWIWNVO RTFUGVIVNUPTQ RMUNSOR +QQTQWRYTZVZZY\W^T_P_N^KZJY RXTYVYZX\ RTQWSXUX[W]V^T_ RO^N]LZKY RR_P^O]MZ +LYIYHZH\I]J] + 2223 12KYOBOb RPBPb ROBVB RObVb + 804 3KYKFY^ + 2224 12KYTBTb RUBUb RNBUB RNbUb + 2262 11JZPLRITL RMORJWO RRJR[ + 999 3JZJ]Z] + 3716 14LXTFRGQIQKRMTKRIRG RRJRLSKRJ + 3401 46J[TMQNOONPMSMVNYO[UX RNVOYPZ RQNOPNSNUOXQZ RRNSOUPUYW[ZX RSNVPVX +XZ RTMUNWOXO RWPXO RWPWXXYYY + 3402 50J[LHMINK RTFQGOINKNXMY RPIOKOXRZ RTFRGQHPKPXRYSZ RMYNYPZQ[TZ RPP +VMWOXRXUWXVYTZ RUNVOWQ RTNVPWSWUVXTZ + 3403 27KXRNTPVOTMRNOPNRNWOYQ[UY RSNUO RPPOROWPYQZ RQOPQPVQXSZ + 3404 47J[QFNINKOLSNVPWRWUVXTZ ROJOKSMVOWP ROHOIPJUMWOXRXUWXTZQ[ RRNNPNX +MY ROPOXRZ RPOPXRYSZ RMYNYPZQ[ + 3405 27KXPUVQSMOPNRNWOYQ[UY RUQRN RPPOROWPYQZ RTRROQOPQPVQXSZ + 3406 49LYXFWGUGSFQFPHPMOONP RVHTHRGQG RXFWHVITIRHQHPI RPKQMRNTOVOVP RNP +PP RRPVP RPPPTQ` RSOPOQNQ[ RRPRTQ` + 3407 53J[TMQNOONPMSMVNYO[UX RNWOYPZ RQNOPNSNUOXQZ RRNSOUPUXV[V]U_ RSNVP +VZ RTMUNWOXO RWPXO RWPW\V^U_S`P`N_M^M]N]N^ + 3408 50J[LHMINK RTFQGOINKNXMY RPIOKOYPZ RTFRGQHPKPXQYRY RMYOZP[SX RPPVM +WOXSXWWZV\T^Q` RUNVOWR RTNVQWTWWV[T^ + 3409 39MWRFQGQHRISHSGRF RQGSH RQHSG ROOPOQPQYS[VX RPNRORXTZ RNPQMRNTO R +SPTO RSPSXTYUY + 3410 45MWRFQGQHRISHSGRF RQGSH RQHSG ROOPOQPQ[P^O_M` RPNROR[Q] RNPQMRNTO + RSPTO RSPS[R]P_M` RS[T]U^ + 3411 63KYNHOIPK RUFSGQIPKPMOONP RPPPXOY RRIQKQM RQOPOQMQXSZ RUFSHRKRO R +RPRXSYTY ROYQZR[UX RRLVIWJWLUNSO RUJVKVLUN RROWOWP RNPPP RRPWP + 3412 29MWOHPIQK RWFTGRIQKQXPY RSIRKRYTZ RWFUGTHSKSXTYUY RPYRZS[VX + 3413 74E_GOHOIPIXHYJ[ RHNJPJXIYJZKYJX RFPIMKOKXLYJ[ RNNPOQQQXPYR[ RPNQO +RQRXQYRZSYRX RKPNNPMRNSPSXTYR[ RVNWOYPYY[[^X RWNZPZX\Z RSPVNXMYN[O\O R[P +\O R[P[X\Y]Y + 3414 49I[KOLOMPMXLYN[ RLNNPNXMYNZOYNX RJPMMOOOXPYN[ RRNSOUPUYW[ZX RSNVP +VXXZ ROPRNTMUNWOXO RWPXO RWPWXXYYY + 3415 41J[NPNXMY ROPOXRZ RQOPPPXRYSZ RMYNYPZQ[TZ RNPQOVMWOXRXUWXVYTZ RUN +VOWQ RTNVPWSWUVXTZ + 3416 57J[OJMLMNNQNXLZ RNYO` RNMNNOQO[ RNKNLONPQPXQXSYTZ RPYO` RSZQY RTZ +R[PY RNYLZ RPPVMWOXRXUWXVYTZ RUNVOWQ RTNVPWSWUVXTZ + 3417 43J[TMQNOONPMSMVNYO[UX RNWOYPZ RQNOPNSNUOXQZ RRNSOUPUXV` RSNVPV[ R +TMUNWOXO RWPXO RWPWXV` + 3418 32KYNOOOPPPXOY RONQPQYSZ RMPPMRORXSYTY ROYQZR[UX RTNUPWOVMRO RUNVO + 3419 42LWXFWGUGSFQFPHPMOONP RVHTHRGQG RXFWHVITIRHQHPI RPKRP RPPPTQ` RQO +POQNQ[ RRPRTQ` RNPPP + 3420 37LXSIRLQNPONP RSISOVOVP RNPQP RSPVP RQPQXPY RROQORMRXTZ RSPSXTYUY + RPYRZS[VX + 3421 47I[KOLOMPMXLY RLNNPNXPZ RJPMMOOOXQYRZ RLYMYOZP[RZUX RVMTOUPUYW[ZX + RVPWOVNUOVPVXXZ RVMXOWPWXXYYY + 3422 47J[OKMMMONRNXMY RNNNOOROXRZ RNLNMOOPRPXRYSZ RMYNYPZQ[TZ RPPVMWOXR +XUWXVYTZ RUNVOWQ RTNVPWSWUVXTZ + 3423 72F_KKIMIOJRJXIYK[ RJNJOKRKXJYKZLYKX RJLJMKOLRLXMYK[ RONQORQRXQY R +QNROSQSXVZ RLPONQMSNTPTXVYWZ RQYRYTZU[XZ RTPZM[O\R\T[XZYXZ RYNZO[Q RXNZP +[S[UZXXZ + 3424 44KZOOPOQPQXPXNYM[M]N_P`S`V_V^U^U_ RPNRPRXUZ RNPQMSOSXUYVZ RXYT[SZ +QYOYM[ RUNVPXOWMSO RVNWO + 3425 47J[OKMMMONRNXMY RNNNOOROYQZ RNLNMOOPRPXQYRY RMYOZP[SX RPPVMWOXSXW +WZV\T^Q` RUNVOWR RTNVQWTWWV[T^ + 3426 43KYNPSMUNVPVRUTQV RSNUO RRNTOUQURTTSU RSUUWVYV]U_S`Q`O_N]N[OYQXWV + RRVTWUY RQVTXUZU]T_S` + 2225 40KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSU +SWRYQZP\P^Q`RaTb + 2229 3NVRBRb + 2226 40KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQU +QWRYSZT\T^S`RaPb + 2246 24F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O + 3729 30KYQFOGNINKOMQNSNUMVKVIUGSFQF RQFNIOMSNVKUGQF RSFOGNKQNUMVISF diff --git a/hf2gcode/hershey_fonts/orig/gothiceng.jhf b/hf2gcode/hershey_fonts/orig/gothiceng.jhf new file mode 100644 index 0000000..91eef60 --- /dev/null +++ b/hf2gcode/hershey_fonts/orig/gothiceng.jhf @@ -0,0 +1,189 @@ +12345 1JZ +12345 30LXRFQGOHQIRT RRISHRGQHRIRT RRFSGUHSIRT RRXPZR[TZRX RRYQZSZRY +12345 22I[NFMGMM RNGMM RNFOGMM RWFVGVM RWGVM RWFXGVM +12345 12H]SBLb RYBRb RLOZO RKUYU +12345 60H\PBP_ RTBT_ RTFVGWIWKYJXHWGTFPFMGKIKLLNOPURWSXUXXWZ RXJWH RLLMN +OOUQWRXT RMYLW RMGLILKMMONUPXRYTYWXYWZT[P[MZLYKWMVMXNZP[ +12345 32F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT +12345 62E_YNZO[O\N RXOYP[P RXPYQZQ[P\N RYNST RRUL[HVNP ROOSKOFJLPRTXVZX[ +Z[[Z\X RLZIV RRKOG RKLPQTWVYXZ[Z RMZIU RRLNG RKKQQUWVXXY[Y\X +12345 11NWSFRGRM RSGRM RSFTGRM +12345 27KYUBSDQGOKNPNTOYQ]S`Ub RQHPKOOOUPYQ\ RSDRFQIPOPUQ[R^S` +12345 27KYOBQDSGUKVPVTUYS]Q`Ob RSHTKUOUUTYS\ RQDRFSITOTUS[R^Q` +12345 39JZRFQGSQRR RRFRR RRFSGQQRR RMINIVOWO RMIWO RMIMJWNWO RWIVINOMO R +WIMO RWIWJMNMO +12345 16F_RIRZSZ RRISISZ RJQ[Q[R RJQJR[R +12345 14LXR^R\PZRXSZS\R^P_ RRYQZR[RY +12345 3E_IR[R +12345 11LXRXPZR[TZRX RRYQZSZRY +12345 8G^[BIbJb R[B\BJb +12345 42H\LHLXJY RMIMXPZ RNHNXPYQZ RLHNHSGUF RSGTHVIVY RTGWIWX RUFVGXHZH +XIXY RJYLYNZO[QZVYXY +12345 27H\OHPIQKQXOY RQIPHQGRIRYTZ ROHRFSHSXUYVY ROYPYRZS[TZVY +12345 48H\LHNHPGQFSGVHXH RPHRG RLHNIPIRHSG RVHVP RWIWO RXHXPQPNQLSKVK[ R +K[OYSXVXZY RNZQYVYYZ RK[PZUZX[ZY +12345 57H\LHMHOGPFRGVHXH ROHQG RLHNIPIRG RVHVO RWIWN RXHXOVOSPQQ RQPSQVR +XRXY RWSWX RVRVY RKYMXOXQYRZ ROYQZ RKYMYOZP[RZVYXY +12345 41H\UFKPKUTU RVUZU[V[TZU RLPLT RMNMU RTGTXRY RUJVHUGUYWZ RUFWHVJVX +XYYY RRYSYUZV[WZYY +12345 53H\LFLO RLFXF RMGVG RLHUHWGXF RVLUMSNOOLO RSNTNVOVY RUMWNWX RVLWM +YNZNXOXY RKYMXOXQYRZ ROYQZ RKYMYOZP[RZVYXY +12345 59H\LHLXJY RMIMXPZ RNHNXPYQZ RLHNHRGTFUGWHXH RSGUH RRGTIVIXH RNPOP +SOUNVM RSOTOVPVY RUNWPWX RVMWNYOZOXPXY RJYLYNZO[QZVYXY +12345 38H\KHMFPGUGZF RLGOHTHWG RKHOIRIVHZF RZFYHWKSOQRPUPXQ[ RRQQTQWRZ R +UMSPRSRVSYQ[ +12345 71H\LILO RMJMN RNINO RLINISHUGVF RSHTHVIVO RUGWHWN RVFWGYHZHXIXO R +LONOVRXR RXOVONRLR RLRLXJY RMSMXPZ RNRNXPYQZ RVRVY RWSWX RXRXY RJYLYNZO[ +QZVYXY +12345 60H\LHLQJR RMIMROS RNHNQPRQR RLHNHSGUF RSGTHVIVY RTGWIWX RUFVGXHZH +XIXY RJRKRMSNTOSQRUQVQ RKYMXOXQYRZ ROYQZ RKYMYOZP[RZVYXY +12345 22LXRMPORPTORM RRNQOSORN RRXPZR[TZRX RRYQZSZRY +12345 25LXRMPORPTORM RRNQOSORN RR^R\PZRXSZS\R^P_ RRYQZR[RY +12345 4F^ZIJRZ[ +12345 16F_JM[M[N RJMJN[N RJU[U[V RJUJV[V +12345 4F^JIZRJ[ +12345 51I[LJMHNGQFSFVGWHXJXLWNUPSQ RMJNH RVHWIWMVN RLJNKNIOGQF RSFUGVIVM +UOSQ RRQRTSQQQRT RRXPZR[TZRX RRYQZSZRY +12345 56E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\T]Q]O\L[J +YHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV +12345 60G]LINGPFRFSGZW[X]X RQGRHYXZZ[YYX RNGPGQHXXYZZ[[[]X RLMMLOKPKQL R +PLPM RMLOLPN RG[IYKXNXPY RJYNYOZ RG[JZMZN[PY RRJLX RNSVS +12345110F^HHJFMFOGQF RKGNG RHHJGLHOHQF RMKLLKNKOIOHPHRIQKQKW RLMLU RIPLP + RMKMTLVKW RRIQJPLPU RQKQS RRIRRQTPU RRIXFZG[I[KYMUO RXGZIZK RVGXHYIYLWN + RWNZP[R[X RYPZRZW RWNXOYQYX RJ[MYPXTXWY RLZOYTYVZ RJ[NZSZU[WYYX[X RUOUX + RURYR RUUYU +12345 69E]NGLHJJILHOHSIVJXMZP[S[VZXYZW[U RJKINISKWNYQZTZWY RNGLIKKJNJRKU +NXQYTYWXYW[U RPJPV RQJQT RRIRSQUPV RPJRIUFWGYGZF RTGVHXH RSHUIWIYHZF RWI +WX +12345 72G^IFWFYGZIZX RKGWGYIYW RIFJGLHWHXIXX ROKNLMNMOKOJPJRKQMQMV RNMNT + RKPNP ROKOSNUMV RI[LYOXSXVY RKZNYSYUZ RI[MZRZT[VYXXZX RRHRX RRMTNVNXM R +RSTRVRXS +12345 94G]IHKFMFOGQF RLGNG RIHKGMHOHQF RNKMLLNLOJOIPIRJQLQLW RMMMU RJPMP + RNKNTMVLW RQMRJSHTGVFXF[G RTHVGXGZH RRJSIUHWHYI[G RQURRSPTOVOXP RTPVPWQ + RRRSQUQVRXP RK[NYRXWX[Y RMZPYWYZZ RK[OZVZY[[Y RQMQX +12345 91F]JHLFOFQGSF RMGPG RJHLGNHQHSF RPKOLNNNOLOKPKRLQNQNV ROMOT RLPOP + RPKPSOUNV RSJSYRZQZMXKXIYG[ RTJTX RTPXP RPZOZMYJY RUIUOXO RXQUQUWTYP[N[ +LZJZG[ RSJUIXFZG\G]F RWGYH[H RVHXIZI\H]F RXIXW +12345 87E^NGLHJJILHOHRIUJWLYNZQ[U[XZZX[V[SZQYPWOUO RJKINISJV RNGLIKKJNJS +KVLXNZ RYXZWZSYQ RU[WZXYYWYSXQWPUO RPJPW RQJQU RRIRTQVPW RPJRIUFWGYGZF R +TGVHXH RSHUIWIYHZF RYHUOU[ RUSYS RUVYV +12345112F^HHJFMFOGQF RKGNG RHHJGLHOHQF RMKLLKNKOIOHPHRIQKQKW RLMLU RIPLP + RMKMTLVKW RJ[MYPXSXUY RLZOYRYTZ RJ[NZQZS[UY RRIQJPLPU RQKQS RRIRRQTPU R +RITGVFXFZG RWGXGYH RTGVGXIZG RUOWNYLZM[P[TZXX[ RXMYNZPZUYX RWNXNYPYUX[ R +UOUY RURYR RUUYU +12345 67I\LHNFQFTGVF ROGSG RLHNGQHTHVF RSKRLQNQOOONPNROQQQQV RRMRT ROPRP + RSKSSRUQV RYHWJVMVXUZSZOXMXKYI[ RWKWW RRZQZOYLY RYHXJXVWXUZS[P[NZKZI[ +12345 65H\LHNFQFTGVF ROGSG RLHNGQHTHVF RSKRLQNQOOONPNROQQQQV RRMRT ROPRP + RSKSSRUQV RYHWJVMVXUZ RWKWW RYHXJXVWXUZR[O[LZJXJVKULUMVLWKW RJVMV +12345115F^HHJFMFOGQF RKGNG RHHJGLHOHQF RMKLLKNKOIOHPHRIQKQKW RLMLU RIPLP + RMKMTLVKW RJ[MYPXSXUY RLZNYRYTZ RJ[NZQZS[UY RRIQJPLPU RQKQS RRIRRQTPU R +RITGVFXFZG RWGXGYH RTGVGXIZG RUOXLYM[N RWMYN[N R[NYQWSUU RWSYTZX[Z\Z RYV +ZZ RWSXTYZZ[[[\Z RUOUY +12345 85G]IHKFNFPGRF RLGOG RIHKGMHPHRF RNKMLLNLOJOIPIRJQLQLW RMMMU RJPMP + RNKNTMVLW RK[NYRXWX[Y RMZPYWYZZ RK[OZVZY[[Y RSIRJQLQU RRKRS RSISRRTQU R +SIUGWFYF[G RXGYGZH RUGWGYI[G RWGWX +12345107D`LJKKJMJOHOGPGRHQJQJU RKLKS RHPKP RLJLRKTJU RE[GYIXKXMYNYOX RHY +KYMZ RE[GZJZL[M[NZOX RLJPFTJTWUYVY RPGSJSXRYSZTYSX RPPSP RNHOHRKROOO ROQ +RQRXQYS[VYWX RTJXF\J\W]Y^Y RXG[J[X]Z RXP[P RVHWHZKZOWO RWQZQZY\[^Y ROHOX + RWHWX +12345 84E^GIIGKFMFOGQJVUXXYY RMGOIPKVWYZ RIGKGMHOKTVVYWZY[ RVHXIZI\H]F R +WGYH[H RVHXFZG\G]F RKOIOHPHRIQKQ RIPKP RG[IYKXNXPY RJYMYOZ RG[JZMZN[PY R +KGKX RYIY[ RRLSMUNWNYM RKTMSQSST +12345 79E_NFLGJIIKHNHRIUJWLYNZQ[S[VZXYZW[U\R\N[KZIXGVFUGRIOJ RJJIMISJV R +NFLHKJJMJSKVLXNZ RZV[S[MYIXH RVZXXYVZSZMYKWHUG ROJOW RPJPU RQJQTPVOW RUG +UZ RUMWNXNZM RUSWRXRZS +12345 70H^KFLGMIMOKOJPJRKQMQMYJ[MZMbO` RMHNJN` RKPNP RKFMGNHOJO` ROKRIVF +ZJZX RVGYJYX RTHUHXKXY RRXUXXY RSYUYWZ RRZTZV[XYZX RRIR_ RRMTNVNXM RRSTR +VRXS +12345 99E_NFLGJIIKHNHRIUJWLYNZP[T[VZXYZW[U\R\N[KZIXGVFUGRIOJ RJJIMISJV R +NFLHKJJMJSKVLXNZ RZV[S[MYIXH RVZXXYVZSZMYKWHUG ROJOW RPJPU RQJQTPVOW RUG +UZ RUMWNXNZM RUSWRXRZS RP[QZRZT[X`Za[a RT\V_XaYa RRZS[VaXbZb[a +12345108F^HHJFMFOGQF RKGNG RHHJGLHOHQF RMKLLKNKOIOHPHRIQKQKW RLMLU RIPLP + RMKMTLVKW RJ[MYPXRXUY RLZNYRYTZ RJ[NZQZS[UY RRIQJPLPU RQKQS RRIRRQTPU R +RIUGWFYGZIZLYNXOTQRR RWGXGYIYMXN RUGWHXJXMWOTQ RTQVRWSZX[Y\Y RWTYX[Z RTQ +VSXYZ[\Y +12345 94G^UITHRGOF RVHTG RWGSFOFLGKHJJKLLMONWNYOZPZRYU RKKLLOMXMZN[O[QZS + RKHKJLKOLYL[M\O\QYUU[ RIOJPLQUQVRVSUU RJQLRTRUS RIOIPJRLSSSUTUU RI[LYPX +SXVY RKZNYRYUZ RI[MZRZU[ RWGUISL RRNPQ ROSMUKVJVJUKV +12345 71E]JJILHOHSIVKYMZP[S[VZXYZW[U RISJVLXNYQZTZWY RJJIMIQJTLWNXQYTYWX +YW[U RHIIGKFOFUGYG[F RPGTHXH RHIIHKGNGTIWIYH[F RSIRJPKPV RQKQT RRJRSQUPV + RWIWX +12345 89F^HHJFLFOGQF RKGNG RHHJGMHOHQF RKJJLIOISJVKXMZP[S[VZXYZ[\Y RJSKV +NYQZTZ RKJJNJQKTLVNXQYUYXX RUIQJPLPV RQKQT RRJRSQUPV RUIWHYFZG\HZIZW[Y\Y + RYIZHYGXHYIYX[Z RWHXIXX RUIUY RUNXN RURXR +12345 72G^JFKGLILOJOIPIRJQLQLXJY RLHMJMX RJPMP RNYQYSZ RJFLGMHNJNXRXUY R +JYMYPZR[UYXXZX RRJUIWHYFZG\HZIZX RYIZHYGXHYIYW RWHXIXX RRJRX RRMTNVNXM R +RSTRVRXS +12345 95E`HFIGJIJOHOGPGRHQJQJXHY RJHKJKX RHPKP RLYNYPZ RHFJGKHLJLXOXQY R +HYKYNZO[QYTXVYW[YY\X ROHRFTHTXWXYY RRGSHSX ROHQHRIRXQY RWYXZ RWHZF\H\X R +ZG[H[X RWHYHZIZXYY ROHOX RWHWX RONRN RORRR RWNZN RWRZR +12345 65G]HIJGLFNFOGWYXZZZ RMGNHVYWZ RJGLGMHUZV[X[ZZ\X RWFYG[G\F RWGXHZH + RVHWIYI[H\F RH[IYKXMXNY RJYLYMZ RH[IZKZM[ RWFSO RQRM[ RLPPP RSPXP +12345 86G^JFKGLILOJOIPIRJQLQLXJY RLHMJMX RJPMP RNYQYSZ RJFLGMHNJNXRXUY R +JYMYPZR[UYXX RRJUIWHYFZG\HZIZ^Y`WbUaQ`L` RYIZHYGXHYIYY RWHXIXXZ[ RXaV`S` + RY`V_P_L` RRJRX RRMTNVNXM RRSTRVRXS +12345 57H\XGWIROOSMWJ[ RVKNV RZFWJUNRRMXLZ RJHLFOGUGZF RKGOHSHWG RJHNIRI +VHXG RLZNYRXVXZY RMZQYUYYZ RJ[OZUZX[ZY RMPQP RTPXP +12345 12KYOBOb RPBPb ROBVB RObVb +12345 3KYKFY^ +12345 12KYTBTb RUBUb RNBUB RNbUb +12345 8G]JTROZT RJTRPZT +12345 3G]Gb]b +12345 7LXPFUL RPFOGUL +12345 53J[PRNTMVMXNZP[RYUX RMVNXOYQZ RNTNVOXQYRY RNPPPSOUNVMXOWPWXXYYY R +ONNOQO RTOWOVNVYWZ RMOOMPNROUPUYW[YY RMORT +12345 44I[LHMJMXKY RNJMHNGNXQZ RLHOFOXQYRZ RKYMYOZP[RZUYWY ROPROTNUMVNXO +YOWPWY RTNVOVX RROSOUPUY +12345 35JXNONXLYMYOZP[ ROOOYQZ RPOPXRYSYQZP[ RNORNTMUNWOXO RSNTOVO RPORN +TPVPXO +12345 41IZRMPNMOMXKY RNONXQZ RRMOOOXQYRZ RKYMYOZP[RZUYWY RMHPFQIWOWY RPI +NHOGPIVOVX RMHUPUY +12345 32JXNONXLYMYOZP[ ROOOYQZ RPOPXRYSYQZP[ RNORNTMWQURPU RSNVQ RPORNUR +12345 41JWNHNXLYMYOZP[ ROHOYQZ RPHPXRYSYQZP[ RNHQGSFTGVHWH RRGSHUH RPHQG +SIUIWH RKMNM RPMTM +12345 56I[MOMXKYLYNZO[PZRYUX RNPNYPZ ROOOXQYRY RMOOORNTMUNWOYOWPW\V_TaRb +QaO`M` RSNVPV\ RSaQ`P` RRNSOUPUZV]V_ RTaS`Q_O_M` +12345 47I[LHMJMXKYLYNZO[ RNJMHNGNYPZ RLHOFOXQYO[ ROPROTNUMVNXOYOWPWYU[T] + RTNVOVYU[ RROSOUPUYT]T`UbVbT` +12345 35MWRFPHRITHRF RRGQHSHRG RRMQNOOQPQYS[UY RRPSORNQORPRYSZ RRMSNUOSP +SXTYUY +12345 39MWRFPHRITHRF RRGQHSHRG RRMQNOOQPQYS[T] RRPSORNQORPRYS[ RRMSNUOSP +SYT]T`RbPbPaRb +12345 50IZLHMJMXKYLYNZO[ RNJMHNGNYPZ RLHOFOXQYO[ ROPRNTMVPSROU RSNUP RRN +TQ RSRTSVXWYXY RSSTTUYVZ RRSSTTYV[XY +12345 22MWPHQJQXOYPYRZS[ RRJQHRGRYTZ RPHSFSXUYVYTZS[ +12345 67E_GOHOIPIXGYHYJZK[ RINJOJYLZ RGOIMKOKXMYK[ RKPNOPNQMSOSXUYS[ RPN +RORYTZ RNOOOQPQXPYRZS[ RSPVOXNYMZN\O]O[P[X\Y]Y RXNZOZY[Z RVOWOYPYY[[]Y +12345 45I[KOLOMPMXKYLYNZO[ RMNNONYPZ RKOMMOOOXQYO[ ROPROTNUMVNXOYOWPWXXY +YY RTNVOVYWZ RROSOUPUYW[YY +12345 40I[MOMXKY RNPNXQZ ROOOXQYRZ RKYMYOZP[RZUYWY RMOOORNTMUNWOYOWPWY R +SNVPVX RRNSOUPUY +12345 54I[LMMOMXKYMYMb RMNNONaO`N^ RNYOYQZ RLMNNOOOXQYRZ ROZP[RZUYWY ROZ +O^P`Mb ROPROTNUMVNXOYOWPWY RTNVOVX RROSOUPUY +12345 44I[MOMXKY RNPNYPZ ROOOXQYRY RKYLYNZO[PZRYUX RMOOORNTMUNWOYOWPWb R +SNVPVaU`V^ RRNSOUPU^T`Wb +12345 38JXLOMONPNXLYMYOZP[ RMNOOOYQZ RLONMPOPXRYSYQZP[ RPOTMUNWOXO RSNTO +VO RRNTPVPXO +12345 59JZMOMSOTUTWUWY RNONS RVUVY RPNOOOSQT RSTUUUYTZ RMOPNRMTNVNWM RQN +SN RPNROTOVN RWYTZR[PZNZL[ RSZQZ RTZRYOYL[ RWMVOTROWL[ +12345 28MWPHQJQXOYPYRZS[ RRJQHRGRYTZ RPHSFSXUYVYTZS[ RNMQM RSMVM +12345 47I[KOLOMPMXKY RLNNONYPZ RKOMMOOOXQYRY RKYLYNZO[PZRYUX RUMVNXOYOWP +WXXYYY RTNVOVYWZ RUMSOUPUYW[YY +12345 36I[LMMOMXP[RYUXWX RMNNONXQZ RLMNNOOOWPXRY RUMVNXOYOWPWX RTNVOVW R +UMSOUPUX +12345 57E_HMIOIXL[NYQX RINJOJXMZ RHMJNKOKWLXNY RQMOOQPQXT[VYYX[X RPNRORX +UZ RQMRNTOSPSWTXVY RYMZN\O]O[P[X RXNZOZW RYMWOYPYX +12345 59H[KOLONPOQSYTZV[XY RMNOOTYVZ RKOMMONPOTWUXWYXY RRSUMVNXNYM RUNVO +WO RTOVPXOYM RQUN[MZKZJ[ RNZMYLY ROYMXKYJ[ RMTPT RSTVT +12345 60I[KOLOMPMXKY RLNNONYPZ RKOMMOOOXQYRY RKYLYNZO[PZRYUX RUMVNXOYOWP +W\V_TaRbQaO`M` RTNVOV\ RSaQ`P` RUMSOUPUZV]V_ RTaS`Q_O_M` +12345 38I[XML[ RLONPQPTOXM RMNOOSO RLONMPNTNXM RL[PYSXVXXY RQYUYWZ RL[PZ +TZV[XY RNTVT +12345 40KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSU +SWRYQZP\P^Q`RaTb +12345 3NVRBRb +12345 40KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQU +QWRYSZT\T^S`RaPb +12345 24F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O +12345 35JZJFJ[K[KFLFL[M[MFNFN[O[OFPFP[Q[QFRFR[S[SFTFT[U[UFVFV[W[WFXFX[Y[ +YFZFZ[ diff --git a/hf2gcode/hershey_fonts/orig/gothicger.jhf b/hf2gcode/hershey_fonts/orig/gothicger.jhf new file mode 100644 index 0000000..c07e4ed --- /dev/null +++ b/hf2gcode/hershey_fonts/orig/gothicger.jhf @@ -0,0 +1,191 @@ +12345 1JZ +12345 30LXRFQGOHQIRT RRISHRGQHRIRT RRFSGUHSIRT RRXPZR[TZRX RRYQZSZRY +12345 22I[NFMGMM RNGMM RNFOGMM RWFVGVM RWGVM RWFXGVM +12345 12H]SBLb RYBRb RLOZO RKUYU +12345 60H\PBP_ RTBT_ RTFVGWIWKYJXHWGTFPFMGKIKLLNOPURWSXUXXWZ RXJWH RLLMN +OOUQWRXT RMYLW RMGLILKMMONUPXRYTYWXYWZT[P[MZLYKWMVMXNZP[ +12345 32F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT +12345 62E_YNZO[O\N RXOYP[P RXPYQZQ[P\N RYNST RRUL[HVNP ROOSKOFJLPRTXVZX[ +Z[[Z\X RLZIV RRKOG RKLPQTWVYXZ[Z RMZIU RRLNG RKKQQUWVXXY[Y\X +12345 11NWSFRGRM RSGRM RSFTGRM +12345 27KYUBSDQGOKNPNTOYQ]S`Ub RQHPKOOOUPYQ\ RSDRFQIPOPUQ[R^S` +12345 27KYOBQDSGUKVPVTUYS]Q`Ob RSHTKUOUUTYS\ RQDRFSITOTUS[R^Q` +12345 39JZRFQGSQRR RRFRR RRFSGQQRR RMINIVOWO RMIWO RMIMJWNWO RWIVINOMO R +WIMO RWIWJMNMO +12345 16F_RIRZSZ RRISISZ RJQ[Q[R RJQJR[R +12345 14LXR^R\PZRXSZS\R^P_ RRYQZR[RY +12345 3E_IR[R +12345 11LXRXPZR[TZRX RRYQZSZRY +12345 8G^[BIbJb R[B\BJb +12345 42H\LHLXJY RMIMXPZ RNHNXPYQZ RLHNHSGUF RSGTHVIVY RTGWIWX RUFVGXHZH +XIXY RJYLYNZO[QZVYXY +12345 27H\OHPIQKQXOY RQIPHQGRIRYTZ ROHRFSHSXUYVY ROYPYRZS[TZVY +12345 48H\LHNHPGQFSGVHXH RPHRG RLHNIPIRHSG RVHVP RWIWO RXHXPQPNQLSKVK[ R +K[OYSXVXZY RNZQYVYYZ RK[PZUZX[ZY +12345 57H\LHMHOGPFRGVHXH ROHQG RLHNIPIRG RVHVO RWIWN RXHXOVOSPQQ RQPSQVR +XRXY RWSWX RVRVY RKYMXOXQYRZ ROYQZ RKYMYOZP[RZVYXY +12345 41H\UFKPKUTU RVUZU[V[TZU RLPLT RMNMU RTGTXRY RUJVHUGUYWZ RUFWHVJVX +XYYY RRYSYUZV[WZYY +12345 53H\LFLO RLFXF RMGVG RLHUHWGXF RVLUMSNOOLO RSNTNVOVY RUMWNWX RVLWM +YNZNXOXY RKYMXOXQYRZ ROYQZ RKYMYOZP[RZVYXY +12345 59H\LHLXJY RMIMXPZ RNHNXPYQZ RLHNHRGTFUGWHXH RSGUH RRGTIVIXH RNPOP +SOUNVM RSOTOVPVY RUNWPWX RVMWNYOZOXPXY RJYLYNZO[QZVYXY +12345 38H\KHMFPGUGZF RLGOHTHWG RKHOIRIVHZF RZFYHWKSOQRPUPXQ[ RRQQTQWRZ R +UMSPRSRVSYQ[ +12345 71H\LILO RMJMN RNINO RLINISHUGVF RSHTHVIVO RUGWHWN RVFWGYHZHXIXO R +LONOVRXR RXOVONRLR RLRLXJY RMSMXPZ RNRNXPYQZ RVRVY RWSWX RXRXY RJYLYNZO[ +QZVYXY +12345 60H\LHLQJR RMIMROS RNHNQPRQR RLHNHSGUF RSGTHVIVY RTGWIWX RUFVGXHZH +XIXY RJRKRMSNTOSQRUQVQ RKYMXOXQYRZ ROYQZ RKYMYOZP[RZVYXY +12345 22LXRMPORPTORM RRNQOSORN RRXPZR[TZRX RRYQZSZRY +12345 25LXRMPORPTORM RRNQOSORN RR^R\PZRXSZS\R^P_ RRYQZR[RY +12345 4F^ZIJRZ[ +12345 16F_JM[M[N RJMJN[N RJU[U[V RJUJV[V +12345 4F^JIZRJ[ +12345 51I[LJMHNGQFSFVGWHXJXLWNUPSQ RMJNH RVHWIWMVN RLJNKNIOGQF RSFUGVIVM +UOSQ RRQRTSQQQRT RRXPZR[TZRX RRYQZSZRY +12345 56E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\T]Q]O\L[J +YHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV +12345 62F^IHJIIJHIIGKFMFOGPHQKQOPRNTLUIV ROHPKPPOR RMFNGOJOPNSLU RLVOY R +KVOZ RIVN[UV R\G[H\H\G[FYFWGVHUJUYW[[W RWHVJVXXZ RYFXGWJWWYY +12345101E_GQGRHSJSLRLOKMIJIHKF RKOIK RJSKRKPIMHKHIIGKFNFPGQHRJRRQUOW RPH +QJQT RNFOGPJPUOW RRISGUFWFYGZH[J\K RYHZJ RWFXGYJZK\K R\KRP RYM[O\R\U[XYZ +V[S[PZJWIWHX RXNYN[P RVNYO[Q\S RTZRZLWKW RZYXZUZRYNWKVIVHXHZI[JZIY +12345 79F^RHPFNFLGJJINIRJVLYNZQ[T[WZYY[W RLHKJJMJRKVMYPZ RNFMGLIKMKQLUMW +OYRZUZXY[W RUFRHQIPKPLQNTPURUT RQKQLUPUQ RQIQJRLUNVPVRUTSURUPTOR RUFVGXH +ZH RUGVHWH RTGVIXIZH[G +12345 79E_HLHKIIKGNFRFUGWHYJ[M\Q\U[XYZV[S[PZJWIWHX RKHMGRGUHWIYK[N RTZRZ +LWKW RHKJIMHRHUIWJYL[O\R RZYXZUZRYNWKVIVHXHZI[JZIY RPHMKLMLONSNU RMNMONQ +NR RMKMMOQOSNUMVKVJUJT +12345 95F^RHPFNFLGJJINIRJVLYNZQ[T[WZYY[W RLHKJJMJRKVMYPZ RNFMGLIKMKQLUMW +OYRZUZXY[W RUFRHQIPKPLQNTPURUT RQKQLUPUQ RQIQJRLUNVPVRUTSURUPTOR RUFVGXH +ZH RUGVHWH RTGVIXIZH[G RUNYK RYKZL\L RXLYMZM RWMXNZN\L +12345 94F^MNKMJKJIKGNFQFTGXI RKHMGRGUH RJKKIMHRHXIZI[H[GZFYF RSHRIQKQMRO +VSWVWYV\U]S^ RTPWSXVXYW[ RQMSOVQXSYVYYX[V]S^O^L]K\JZJWLTLRKQ RL\K[KWLU R +O^M]L[LWMTMRLQJQIRIS RUPYL RYLZM\M RXMYNZN RWNXOZO\M +12345 99E_UJTHSGQFNFKGIJHNHRIUJWLYNZQ[T[WZYY[W\T\Q[NYL RKHJJIMIRJUKW RZW +[U[QZNYM RNFLGKIJMJRKVLXNZ RWZYXZUZQYOWM RUFRHPJOLOMPOSQTSTU RPLPMTQTR R +PJPKQMTOUQUSTURVQVOUNS RTOYLZJ R\FZJ RYG]I R\F[GYGZHZJ[I]I\H\F +12345 92F_RFPGNIMKMMNOPQQSQU RNLNMQQQR RNINKOMQORQRSQUPVNWLWJVIUHSHQIPJQ +IR RRFTHVHXG RQGSH RPGQHSIUIXG RRPYK RYK[N\Q\T[WYYVZR[ RXLZN[Q[UZW RVMWM +YOZRZVYXXYVZ RVZTZRYPYNZM\N^P_R_T^ RSZQZ RR[PZNZ +12345 83F_PPNPLOKNJLJJKHLGOFQFTGWJYK RLHNGRGTHUI RJJKIMHQHTIVJYK[K\J\H[G +YG RJXKYJZIYIWJVLVNWPYR\T^ RNXOYQ\R] RLVMWNYP\Q]S^V^X]Y\ZZZWYUWRVPVO RYX +YWVRVQ RX]Y[YYXWVTURUPWNYNZOZP +12345 83F_PPNPLOKNJLJJKHLGOFQFTGWJYK RLHNGRGTHUI RJJKIMHQHTIVJYK[K\J\H[G +YG RJXKYJZIYIWJVLVNWPYR\T^ RNXOYQ\R] RLVMWNYP\Q]S^V^X]Y\ZZZWYUWRVPVO RYX +YWVRVQ RX]Y[YYXWVTURUPWNYNZOZP +12345 81E_[KZIXGUFRFOGMILKLNMQPWPYN[ RMNMOPUPV RNHMJMMNOPSQVQXPZN[L[JZ R +HVJZ RGYKW RHVHXGYIYJZJXKWIWHV RNONMOKQJTJVKXMYM RUKWM RRJTKULVN RYMPQ R +UOYXZY[Y RTPXXZZ RSPWYY[\X +12345 73G^ZSYTVTUSUQVOXLYJYH RVQVPYLYK RWTVSVRWPYNZLZJYHXGUFPFMGLHKJKLLN +NQOSOTNV RLKLLOQOR RLHLJMLOOPQPSOUMWJY RMWOWRYUZXZZY RNXOXSZTZ RJYLXMXQZ +T[V[YZZY[W +12345128BbEQERFSHSJRJOIMGJGHIF RIOGK RHSIRIPGMFKFIGGIFKFMGOIPLPROUNWLYI[ +HZGZ RNIOLORNUMW RJZIYHY RKFMHNKNRMVLXKYJXIXF[ RNGPFRFTGVIWLWRVUUWSYQ[PZ +OZ RUIVLVRUV RRZQYPY RRFTHUKUSTWSYRXQXN[ RUHVGXFZF\G]H^J_K R\H]J RZF[G\J +]K_K R_K\M[NZQZT[X][`X R\N[P[T\W^Z R_K]M\O\S]W_Y +12345 96D`GQGRHSJSLRLOKMIJIHKF RKOIK RJSKRKPIMHKHIIGKFNFPGRISLSRRUQWOYL[ +KZIZG[ RQIRKRRQUPWOX RMZKYIY RNFPHQKQRPVNYLXJXG[ RRHSGUFWFYGZH[J\K RYHZJ + RWFXGYJZK\K R\KYMXNWQWTXXZ[]X RYNXPXTYW[Z R\KZMYOYSZW\Y +12345 72D`PFNGLIKKKMMQMS RLLLMMOMP RLILKNONQMSLTJTISIR RPFQGWIZK[M\P\S[V +ZXXZU[R[OZIWHWGX RPGQHWJYKZL RPFPHQIWKYL[N\P RSZQZKWJW RYYWZTZQYMWJVHVGX +GZH[IZHY +12345100E`HQHRISKSMRMOLMJJJHLF RLOJK RKSLRLPJMIKIIJGLFOFQGRHSJSU RSWS\R^ +P_M_L^L\M[N\M] RQHRJR\Q^ ROFPGQJQU RQWQ\P^O_ RSJXF RXFZI[K\O\R[UYXV[ RWG +ZK[N[O RVHXJZM[P[SZVYX RWYUVSU RQUOVMX RWZUWSVPV RV[TXSW RQWOWMX +12345 88D`PFNGLIKKKMMQMS RLLLMMOMP RLILKNONQMSLTJTISIR RPFQGWIZK[M\P\S[V +ZX RXZU[R[OZIWHWGX RPGQHWJYKZL RPFPHQIWKYL[N\P RSZQZKWJW RXZTZQYMWJVHVGX +GZH[IZHY RTXVVXV\Z]Z RWWXW[Z RUWVWZ[\[^Y +12345 96D`GQGRHSJSLRLOKMIJIHKF RKOIK RJSKRKPIMHKHIIGKFNFPGQHRJRVQXOZM[K[ +IZ RPHQJQVPX RNFOGPJPVOYM[ RGVIZ RFYJW RGVGXFYHYIZIXJWHWGV RRISGUFWFYGZH +[J\K RYHZJ RWFXGYJZK\K R\KRP RTOXYZ[]X RUOYX[Z RVNZX[Y\Y +12345 83E`\H[G\F]G]I\KZKVISHOHKIIK RYJVHSGOGLH R]I\JZJVGSFOFLGJIIKHNHRIU +JWLYNZQ[U[XZZY\W]T]Q\OZNWNUOSRQSOS RLXNYQZUZYY RIUKWMXPYUYYX[W\V]T RXOWO +SSRS R]Q[OYOWPUSSTQTOSNQNOOMQL +12345 81F_LNJMIKIIJGMFRFUGYJ[J\I RJHLGRGUHXJ RIKJILHRHUIYK[K\I\G[FZG[H R +UIRLQNQPSTSV RRORPSRSS RRLRNTRTTSVRWPWOVOT RJYKZJ[IZIXJVLVOWSYVZYZ[Y RLW +MWSZUZ RIXJWKWMXQZT[W[ZZ\X +12345 45G]JHKHLILWJX RKGMHMXPZ RIILFNHNWPYRY RJXKXMYO[RYVV RTHUHVIVYX[[X + RUGWHWYYZ RSIVFYHXIXXYYZY +12345100D`GQGRHSJSLRLOKMIJIHKF RKOIK RJSKRKPIMHKHIIGKFNFPGQHRJRRQUOW RPH +QJQT RNFOGPJPUOW RRISGUFWFYG[J\K RYHZJ RWFXGYJZK\K RZKXKWLWNXP[R\T RXO[Q + RWMXN[P\R\V[XYZW[S[PZJWIWHX RTZRZLWKW RZYXZUZRYNWKVIVHXHZI[JZIY +12345143BcEQERFSHSJRJOIMGJGHIF RIOGK RHSIRIPGMFKFIGGIFLFNGOHPJPNOQMTKV R +NHOJOONR RLFMGNJNOMSKV RNGPFSFUG RWFTGSISMTPVSWUWWVY RTMTNWSWT RWFUGTITL +UNWQXTXVWXUZS[O[MZKXIWGWFX RNZKWJW RQ[OZLWJVGVFXFZG[HZGY RWFZF\G^J_K R\H +]J RZF[G\J]K_K R]K[KZLZN[P^R_T R[O^Q RZM[N^P_R_W^Y]Z[[X[UZ RYZXZVY R^Y\Z +ZZXYWX +12345 86F^KHMHOIPJQMQO RQQQUPXM[KZI[ RNZLYKY ROYNYLXI[ RMGPHQIRLRUSWUYWZ + RIINFPGRISLSO RSQSTTWUXWYYY RQURXTZV[[X RSLTIWFYG[F RVGXHYH RUHVHXI[F R +KSMOQO RSOWOYM RMPWP RKSMQQQ RSQWQYM +12345 74E_HQHRISKSMRMOLMJJJHLF RLOJK RKSLRLPJMIKIIJGLFOFQGRHSJSORRQTQUSW +TW RQHRJRPQSPUSX ROFPGQJQPPTOVRYUV RSJ[F RYGYZX] RZGZXY[ R[F[VZZY\W^T_P_ +M^K\JZKYLZK[ +12345 74F^NIOGQFTFVGWHXJXMWOVPTQ RQQOPNN RVHWIWNVO RTFUGVIVNUPTQ RMUNSOR +QQTQWRYTZVZZY\W^T_P_N^KZJY RXTYVYZX\ RTQWSXUX[W]V^T_ RO^N]LZKY RR_P^O]MZ +LYIYHZH\I]J] +12345 12KYOBOb RPBPb ROBVB RObVb +12345 3KYKFY^ +12345 12KYTBTb RUBUb RNBUB RNbUb +12345 8G]JTROZT RJTRPZT +12345 3F^Fb^b +12345 7LXPFUL RPFOGUL +12345 46J[TMQNOONPMSMVNYO[UX RNVOYPZ RQNOPNSNUOXQZ RRNSOUPUYW[ZX RSNVPVX +XZ RTMUNWOXO RWPXO RWPWXXYYY +12345 50J[LHMINK RTFQGOINKNXMY RPIOKOXRZ RTFRGQHPKPXRYSZ RMYNYPZQ[TZ RPP +VMWOXRXUWXVYTZ RUNVOWQ RTNVPWSWUVXTZ +12345 27KXRNTPVOTMRNOPNRNWOYQ[UY RSNUO RPPOROWPYQZ RQOPQPVQXSZ +12345 47J[QFNINKOLSNVPWRWUVXTZ ROJOKSMVOWP ROHOIPJUMWOXRXUWXTZQ[ RRNNPNX +MY ROPOXRZ RPOPXRYSZ RMYNYPZQ[ +12345 27KXPUVQSMOPNRNWOYQ[UY RUQRN RPPOROWPYQZ RTRROQOPQPVQXSZ +12345 49LYXFWGUGSFQFPHPMOONP RVHTHRGQG RXFWHVITIRHQHPI RPKQMRNTOVOVP RNP +PP RRPVP RPPPTQ` RSOPOQNQ[ RRPRTQ` +12345 53J[TMQNOONPMSMVNYO[UX RNWOYPZ RQNOPNSNUOXQZ RRNSOUPUXV[V]U_ RSNVP +VZ RTMUNWOXO RWPXO RWPW\V^U_S`P`N_M^M]N]N^ +12345 50J[LHMINK RTFQGOINKNXMY RPIOKOYPZ RTFRGQHPKPXQYRY RMYOZP[SX RPPVM +WOXSXWWZV\T^Q` RUNVOWR RTNVQWTWWV[T^ +12345 39MWRFQGQHRISHSGRF RQGSH RQHSG ROOPOQPQYS[VX RPNRORXTZ RNPQMRNTO R +SPTO RSPSXTYUY +12345 45MWRFQGQHRISHSGRF RQGSH RQHSG ROOPOQPQ[P^O_M` RPNROR[Q] RNPQMRNTO + RSPTO RSPS[R]P_M` RS[T]U^ +12345 63KYNHOIPK RUFSGQIPKPMOONP RPPPXOY RRIQKQM RQOPOQMQXSZ RUFSHRKRO R +RPRXSYTY ROYQZR[UX RRLVIWJWLUNSO RUJVKVLUN RROWOWP RNPPP RRPWP +12345 29MWOHPIQK RWFTGRIQKQXPY RSIRKRYTZ RWFUGTHSKSXTYUY RPYRZS[VX +12345 74E_GOHOIPIXHYJ[ RHNJPJXIYJZKYJX RFPIMKOKXLYJ[ RNNPOQQQXPYR[ RPNQO +RQRXQYRZSYRX RKPNNPMRNSPSXTYR[ RVNWOYPYY[[^X RWNZPZX\Z RSPVNXMYN[O\O R[P +\O R[P[X\Y]Y +12345 49I[KOLOMPMXLYN[ RLNNPNXMYNZOYNX RJPMMOOOXPYN[ RRNSOUPUYW[ZX RSNVP +VXXZ ROPRNTMUNWOXO RWPXO RWPWXXYYY +12345 41J[NPNXMY ROPOXRZ RQOPPPXRYSZ RMYNYPZQ[TZ RNPQOVMWOXRXUWXVYTZ RUN +VOWQ RTNVPWSWUVXTZ +12345 57J[OJMLMNNQNXLZ RNYO` RNMNNOQO[ RNKNLONPQPXQXSYTZ RPYO` RSZQY RTZ +R[PY RNYLZ RPPVMWOXRXUWXVYTZ RUNVOWQ RTNVPWSWUVXTZ +12345 43J[TMQNOONPMSMVNYO[UX RNWOYPZ RQNOPNSNUOXQZ RRNSOUPUXV` RSNVPV[ R +TMUNWOXO RWPXO RWPWXV` +12345 32KYNOOOPPPXOY RONQPQYSZ RMPPMRORXSYTY ROYQZR[UX RTNUPWOVMRO RUNVO +12345 42LWXFWGUGSFQFPHPMOONP RVHTHRGQG RXFWHVITIRHQHPI RPKRP RPPPTQ` RQO +POQNQ[ RRPRTQ` RNPPP +12345 37LXSIRLQNPONP RSISOVOVP RNPQP RSPVP RQPQXPY RROQORMRXTZ RSPSXTYUY + RPYRZS[VX +12345 47I[KOLOMPMXLY RLNNPNXPZ RJPMMOOOXQYRZ RLYMYOZP[RZUX RVMTOUPUYW[ZX + RVPWOVNUOVPVXXZ RVMXOWPWXXYYY +12345 47J[OKMMMONRNXMY RNNNOOROXRZ RNLNMOOPRPXRYSZ RMYNYPZQ[TZ RPPVMWOXR +XUWXVYTZ RUNVOWQ RTNVPWSWUVXTZ +12345 72F_KKIMIOJRJXIYK[ RJNJOKRKXJYKZLYKX RJLJMKOLRLXMYK[ RONQORQRXQY R +QNROSQSXVZ RLPONQMSNTPTXVYWZ RQYRYTZU[XZ RTPZM[O\R\T[XZYXZ RYNZO[Q RXNZP +[S[UZXXZ +12345 44KZOOPOQPQXPXNYM[M]N_P`S`V_V^U^U_ RPNRPRXUZ RNPQMSOSXUYVZ RXYT[SZ +QYOYM[ RUNVPXOWMSO RVNWO +12345 47J[OKMMMONRNXMY RNNNOOROYQZ RNLNMOOPRPXQYRY RMYOZP[SX RPPVMWOXSXW +WZV\T^Q` RUNVOWR RTNVQWTWWV[T^ +12345 43KYNPSMUNVPVRUTQV RSNUO RRNTOUQURTTSU RSUUWVYV]U_S`Q`O_N]N[OYQXWV + RRVTWUY RQVTXUZU]T_S` +12345 40KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSU +SWRYQZP\P^Q`RaTb +12345 3NVRBRb +12345 40KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQU +QWRYSZT\T^S`RaPb +12345 24F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O +12345 35JZJFJ[K[KFLFL[M[MFNFN[O[OFPFP[Q[QFRFR[S[SFTFT[U[UFVFV[W[WFXFX[Y[ +YFZFZ[ diff --git a/hf2gcode/hershey_fonts/orig/gothicita.jhf b/hf2gcode/hershey_fonts/orig/gothicita.jhf new file mode 100644 index 0000000..5645262 --- /dev/null +++ b/hf2gcode/hershey_fonts/orig/gothicita.jhf @@ -0,0 +1,162 @@ +12345 1JZ +12345 30LXRFQGOHQIRT RRISHRGQHRIRT RRFSGUHSIRT RRXPZR[TZRX RRYQZSZRY +12345 22I[NFMGMM RNGMM RNFOGMM RWFVGVM RWGVM RWFXGVM +12345 12H]SBLb RYBRb RLOZO RKUYU +12345 60H\PBP_ RTBT_ RTFVGWIWKYJXHWGTFPFMGKIKLLNOPURWSXUXXWZ RXJWH RLLMN +OOUQWRXT RMYLW RMGLILKMMONUPXRYTYWXYWZT[P[MZLYKWMVMXNZP[ +12345 32F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT +12345 62E_YNZO[O\N RXOYP[P RXPYQZQ[P\N RYNST RRUL[HVNP ROOSKOFJLPRTXVZX[ +Z[[Z\X RLZIV RRKOG RKLPQTWVYXZ[Z RMZIU RRLNG RKKQQUWVXXY[Y\X +12345 11NWSFRGRM RSGRM RSFTGRM +12345 27KYUBSDQGOKNPNTOYQ]S`Ub RQHPKOOOUPYQ\ RSDRFQIPOPUQ[R^S` +12345 27KYOBQDSGUKVPVTUYS]Q`Ob RSHTKUOUUTYS\ RQDRFSITOTUS[R^Q` +12345 39JZRFQGSQRR RRFRR RRFSGQQRR RMINIVOWO RMIWO RMIMJWNWO RWIVINOMO R +WIMO RWIWJMNMO +12345 16F_RIRZSZ RRISISZ RJQ[Q[R RJQJR[R +12345 14LXR^R\PZRXSZS\R^P_ RRYQZR[RY +12345 3E_IR[R +12345 11LXRXPZR[TZRX RRYQZSZRY +12345 8G^[BIbJb R[B\BJb +12345 42H\LHLXJY RMIMXPZ RNHNXPYQZ RLHNHSGUF RSGTHVIVY RTGWIWX RUFVGXHZH +XIXY RJYLYNZO[QZVYXY +12345 27H\OHPIQKQXOY RQIPHQGRIRYTZ ROHRFSHSXUYVY ROYPYRZS[TZVY +12345 48H\LHNHPGQFSGVHXH RPHRG RLHNIPIRHSG RVHVP RWIWO RXHXPQPNQLSKVK[ R +K[OYSXVXZY RNZQYVYYZ RK[PZUZX[ZY +12345 57H\LHMHOGPFRGVHXH ROHQG RLHNIPIRG RVHVO RWIWN RXHXOVOSPQQ RQPSQVR +XRXY RWSWX RVRVY RKYMXOXQYRZ ROYQZ RKYMYOZP[RZVYXY +12345 41H\UFKPKUTU RVUZU[V[TZU RLPLT RMNMU RTGTXRY RUJVHUGUYWZ RUFWHVJVX +XYYY RRYSYUZV[WZYY +12345 53H\LFLO RLFXF RMGVG RLHUHWGXF RVLUMSNOOLO RSNTNVOVY RUMWNWX RVLWM +YNZNXOXY RKYMXOXQYRZ ROYQZ RKYMYOZP[RZVYXY +12345 59H\LHLXJY RMIMXPZ RNHNXPYQZ RLHNHRGTFUGWHXH RSGUH RRGTIVIXH RNPOP +SOUNVM RSOTOVPVY RUNWPWX RVMWNYOZOXPXY RJYLYNZO[QZVYXY +12345 38H\KHMFPGUGZF RLGOHTHWG RKHOIRIVHZF RZFYHWKSOQRPUPXQ[ RRQQTQWRZ R +UMSPRSRVSYQ[ +12345 71H\LILO RMJMN RNINO RLINISHUGVF RSHTHVIVO RUGWHWN RVFWGYHZHXIXO R +LONOVRXR RXOVONRLR RLRLXJY RMSMXPZ RNRNXPYQZ RVRVY RWSWX RXRXY RJYLYNZO[ +QZVYXY +12345 60H\LHLQJR RMIMROS RNHNQPRQR RLHNHSGUF RSGTHVIVY RTGWIWX RUFVGXHZH +XIXY RJRKRMSNTOSQRUQVQ RKYMXOXQYRZ ROYQZ RKYMYOZP[RZVYXY +12345 22LXRMPORPTORM RRNQOSORN RRXPZR[TZRX RRYQZSZRY +12345 25LXRMPORPTORM RRNQOSORN RR^R\PZRXSZS\R^P_ RRYQZR[RY +12345 4F^ZIJRZ[ +12345 16F_JM[M[N RJMJN[N RJU[U[V RJUJV[V +12345 4F^JIZRJ[ +12345 51I[LJMHNGQFSFVGWHXJXLWNUPSQ RMJNH RVHWIWMVN RLJNKNIOGQF RSFUGVIVM +UOSQ RRQRTSQQQRT RRXPZR[TZRX RRYQZSZRY +12345 56E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\T]Q]O\L[J +YHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV +12345 52E_NHLIJKIMHPHSIUKV RJLIOISJU RNHLJKLJOJRKVKXJZH[ RVHXHXYVY RYHYY + RZGZZ RHFKGQHVHZG\F RJPXP RH[KZQYVYZZ\[ +12345 65E_LGLZ RMGMZ RPFNGNZP[ RHJJHLGPFUFXGZIZKYM RXHYIYKXM RUFWGXIXKWL + RQUOTNRNPONPMSLVLYM[O\Q\T[WYYWZT[P[LZJYHW RZO[Q[UZW RVLYNZQZUYXWZ +12345 60E_\F[HZJXHVGSFQFNGLHJJILHOHRIUJWLYNZQ[S[VZXYZW[Y\[ R[HZMZT[Y RZK +YJ RZNYKXIVG RJKINISJV RNGLIKKJNJSKVLXNZ RYWZV RVZXXYVZS +12345 46E_KGKZ RLGLZ RNFMGMZN[ RHKIIKGNFSFVGXHZJ[L\O\R[UZWXYVZS[N[KZIXHV + RZK[N[SZV RVGXIYKZNZSYVXXVZ +12345 86E_\F[HZJXHVGSFQFNGLHJJILHOHRIUJWLYNZQ[S[VZXYZW[Y\[ R[HZMZT[Y RZK +YJ RZMXIVG RJKINISJV RNGLIKKJNJSKVLXNZ RYWZV RVZXXYVZS RJPKONOUQXQZP RPP +RQURWRYQ RMORRUSWSYRZP RZMYLXLWMXNYM +12345 69E_JHJZ RMGKHKY ROFMGLILYNY RHJJHLGOFSFVGXHYI\F R\F[HZLZO[S\U RZI +YK RVGXIYLZO RLPMOOOTPWPYO RQPTQVQXP RNOTRVRXQYOYLXKWKVLWMXL RH[JZNYSYYZ +\[ +12345 90E_\F[HZJXHVGSFQFNGLHJJILHOHRIUJWLYNZQ[T[VZXYYXZV[Y\[ R[HZMZT[Y R +ZKYJ RZNYKXIVG RJKINISJV RNGLIKKJNJSKVLXNZ RXXYVYR RVZWYXVXQ RKSLRMSLTKT +JS RJPKNMMOMRNUPWQ RKOMNONROTP RJPLOOOUQYQZP +12345 50E_JGJZH[ RKHKZ RNHLHLZ RHFJGNHSHYG\F RLPMNOLRKVKYL[N\Q\T[UYV RZN +[P[SZU RVKXLYMZOZSYVYXZZ\[ RH[LZPZU[ +12345 23E_QIQY RRJRX RSISY RHFLHPITIXH\F RH[KZOYUYYZ\[ +12345 42E_TIVIVXUZS[ RWIWXVY RXHXY RHFLHPITIXH\F RIOHQHUIXKZN[S[VZXYZW\T + RIUJXKY RHSJUKXLZN[ +12345 70E_JGJZH[ RKHKZ RNHLHLZ RHFJGNHSHYG\F RLPMNOLRKUKXLYMYOXPSRQSPTPU +QVRUQT RWLXMXOWP RUKWMWOVPSR RSRVRYSZUZWYX RWSYUYW RSRVSXUYXZZ[[\[ RH[LZ +PZU[ +12345 45E_JGJZ RKHKY RNHLHLYNY R\KZNYPXSXUYW[X RZOYRYUZW R\K[MZQZT[X\[ R +HFJGNHSHYG\F RH[JZNYSYYZ\[ +12345 68E_QIQY RRJRX RSISY RNYLWJVIUHRHMIJKHMGPFTFWGYH[J\M\R[UZVXWVY RJU +IRIMJJ RLWKUJRJLKIMG RZJ[M[RZU RWGYIZLZRYUXW RHFLHPITIXH\F RH[KZOYUYYZ\[ +12345 48E_JHJZH[ RLHKIKZ ROFMGLILZ RHJJHLGOFSFVGXHZJ[L\O\S[UYV RZK[N[RZU + RVGXIYKZNZRYVYXZZ[[\[ RH[LZPZU[ +12345 54E_QFNGLHJJILHOHRIUJWLYNZQ[S[VZXYZW[U\R\O[LZJXHVGSFQF RJKINISJV R +NGLIKKJNJSKVLXNZ RZV[S[NZK RVZXXYVZSZNYKXIVG +12345 51E_JIJZ RMHKJKY RQFOGMILKLYNY RHKJINGQFTFWGYH[J\M\O[RYTVURUOTMRLO + RZJ[L[PZR RWGYIZLZPYSVU RH[JZNYSYYZ\[ +12345 74E_QFNGLHJJILHOHRIUJWLYNZQ[S[VZXYZW[U\R\O[LZJXHVGSFQF RJKINISJV R +NGLIKKJNJSKVLXNZ RZV[S[NZK RVZXXYVZSZNYKXIVG RJSKUNVTW[W\X\Z[[[Z\Y RPWRW + RKUNWQXSXTW +12345 69E_JIJZH[ RKIKZ RLHLZ RHKJILHNGQFUFYG[I\K\N[PZQ RYHZI[K[NZP RUFWG +YIZKZOYQ RXRUSRSPRPPROUOXPZR\U\W[XZX RXQYR[V[WZT RTOVPXRYTZX[Z\[ RH[LZPZ +U[ +12345 94E_TFZG\F[H[JYHWGTFPFMGJJIMIOJRLTOURUTTUSVQVP R[GZH[J RJPKRLSOTRT +TS RKIJKJNKPMRPSRSTRVPWOXO RLQMQNPPNRMUMWNYPZRZUYXWZ RPMRLULXMZO[R[UZW R +IWJYIZ RNPNOOMPLRKUKXL[O\R\T[WYYWZT[P[MZKYIWIYH[JZP[ +12345 66E_QHMHKIJJILHOHSIVJXKYMZP[S[VZXYZW[U\R\N[KYIWH RUHTITKULVKUJ RIS +JVLXNYQZTZWY RJJINIQJTLWNXQYTYWXYW[T\R RHFKI RKHLG RIGJGKFMGQHWHZG\F +12345 51E_LHJJILHOHRIUJWLYNZQ[U[XZZY RKJJLIOISJV RKILJLKKMJPJSKVLXNZ RVH +XHXXWZU[ RYHYXXY RZGZY\[ RHFKGQHVHZG\F +12345 31E_HFR[ RIGJHQWRY RJGKHRWSX R\FR[ RWNUS RYLUQTTTV RHFJGOHUHZG\F +12345 67E_LHJJILHOHRIUJWLYNZQ[S[VZXYZW[U\R\O[LZJXH RJLIOIRJUKW RJJKKKLJO +JRKVLXNZ RYWZU[R[OZL RVZXXYVZRZOYLYKZJ RQIQ[ RRJRZ RSIS[ RHFLHPITIXH\F +12345 41E_HFXYYZ RIGKHZZ RLH\[ R\FSP RQRJZ RPSMULW RQRMTLUKWKY RHFLHPITI +XH\F RH[JZNYSYYZ\[ +12345 47E_XHXZ RYHYY RZGZY RKHIJHMHPISKUMVPWSWVVXU RLUOVUV RHPIRKTNUTUVV + RHFLHPITIXH\F RHWJYLZP[T[XZ\X +12345 73E_HFIGKHNHSFVFYGZIZKYM RXGYIYKXM RVFWGXIXL RXNTOROPNPLRKTKXL RTK +VLWMVNTO RYM[O\R\T[WYYWZT[P[MZKYIWHTHRIOJNLMNMPNPPOQNPOO RXMZO[Q[UZW RXN +YOZQZUYXWZ +12345 12KYOBOb RPBPb ROBVB RObVb +12345 3KYKFY^ +12345 12KYTBTb RUBUb RNBUB RNbUb +12345 8G]JTROZT RJTRPZT +12345 3E_Eb_b +12345 7LXPFUL RPFOGUL +12345 42J[PQMTMXP[TY RNTNXPZ ROROWRZ RRSMNNMONNO RONSNUMWOWXXY RUNVOVXUY +VZWYVX RSNUPUXTYV[XY +12345 31IZNHLFMJMXP[UYWX RNHNXPZ RNHPFOJOWRZ ROOTMWPWX RTNVPVX RRNUQUY +12345 23KWNPNYP[RY ROPOYPZ RPOPXQYRY RNPTMVOTPRN RSNUO +12345 32JZRMMPMXP[RZUYWY RNPNXPZ ROOOWRZ RPIPFQIWPWY RPIVPVX RPIMIPJUPUY +12345 25KXNPNYP[RY ROPOYPZ RPOPXQYRY RNPTMWQPU RSNVQ RRNUR +12345 32KWOIOXNYP[ RPIPXOYPZQYPX RQHQXRYP[ ROIUFWHUISG RTGVH RLMOM RQMUM +12345 41J[MPMXP[UY RNPNXPZ ROOOWRZ RMPOOTMWPW]V_U`SaQaO`MaObQa RTNVPV]U_ + RPaNa RRNUQU^T`Sa +12345 42I[NHLFMJMXLYN[ RNHNXMYNZOYNX RNHPFOJOXPYN[ ROORNTMWPWYT]T`UbVbT` + RTNVPVYU[ RRNUQUZT] +12345 37MWRFPHRJTHRF RRGQHRISHRG RRMPOQPQXPYR[ RRPSORNQORPRXQYRZSYRX RRM +TOSPSXTYR[ +12345 37MWRFPHRJTHRF RRGQHRISHRG RRMPOQPQYT] RRPSORNQORPRYS[ RRMTOSPSZT] +T`RbPaPbRb +12345 51IZNHLFMJMXLYN[ RNHNXMYNZOYNX RNHPFOJOXPYN[ ROPRNTMVPSROU RSNUP R +RNTQ RRSSTTYV[XY RSSTUUYVZ RSRTSVXWYXY +12345 21MWRHPFQJQXPYR[ RRHRXQYRZSYRX RRHTFSJSXTYR[ +12345 66E_GOHOIPIXHYJ[ RINJOJXIYJZKYJX RGOIMKOKXLYJ[ RKONNPMSOSXTYR[ RPN +RORXQYRZSYRX RNNQPQXPYR[ RSOVNXM[O[X\YZ[ RXNZOZXYYZZ[YZX RVNYPYXXYZ[ +12345 44I[KOLOMPMXLYN[ RMNNONXMYNZOYNX RKOMMOOOXPYN[ ROORNTMWOWXXYV[ RTN +VOVXUYVZWYVX RRNUPUXTYV[ +12345 28JZMPMXP[UYWX RNPNXPZ ROOOWRZ RMPOOTMWPWX RTNVPVX RRNUQUY +12345 47IZLMMOMXKYMYM_LbN` RNON` RLMNNOOOXQYRZ RNYOYQZ ROZP[UYWX ROZO_Pb +N` ROORNTMWPWX RTNVPVX RRNUQUY +12345 31J[MPMXP[UY RNPNXPZ ROOOWRZ RMPOOTMWPW_XbV` RTNVPV` RRNUQU_TbV` +12345 31KXMONOOPOXNYP[ RONPOPXOYPZQYPX RMOOMQOQXRYP[ RQOUMWOUPSN RTNVO +12345 41JZMPMSOUURWTWX RNPNSOT ROOOSPT RUSVTVX RTSUTUY RMPSMVNTOQN RRNUN + RWXQ[MYOXSZ ROYQZ +12345 27MWRHPFQJQXPYR[ RRHRXQYRZSYRX RRHTFSJSXTYR[ RNMQM RSMVM +12345 40I[KOLOMPMYP[UY RMNNONYPZ RKOMMOOOXRZ RVMXOWPWXXYYY RVPWOVNUOVPVY +WZ RVMTOUPUYW[YY +12345 36I[LMMOMXQ[SYWW RMNNONXQZ RLMNNOOOWRYSY RVMXOWPWW RVPWOVNUOVPVW R +VMTOUPUX +12345 59E_HMIOIXM[OYQX RINJOJXMZ RHMJNKOKWNYOY RRMPOQPQXU[WY[W RRPSORNQO +RPRXUZ RRMTOSPSWVYWY RZM\O[P[W RZP[OZNYOZPZW RZMXOYPYX +12345 39I[LONPUZV[XY RMNOOUYWZ RLONMONVXXY RXMVMVOXOXMVOSS RQUNYL[N[NYLY +L[ RNTQT RSTVT +12345 49I[KOLOMPMYP[UY RMNNONYPZ RKOMMOOOXRZ RVMXOWPW]V_U`SaQaO`MaObQa R +VPWOVNUOVPV^U_ RPaNa RVMTOUPU^T`Sa +12345 43L[RNOPOORNTMWOWSRU RTNVOVS RRNUPUSTT RRUWWW]V_U`SaQaO`MaObQa RVW +V^U_ RPaNa RTVUWU^T`Sa +12345 40KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSU +SWRYQZP\P^Q`RaTb +12345 3NVRBRb +12345 40KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQU +QWRYSZT\T^S`RaPb +12345 24F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O +12345 35JZJFJ[K[KFLFL[M[MFNFN[O[OFPFP[Q[QFRFR[S[SFTFT[U[UFVFV[W[WFXFX[Y[ +YFZFZ[ diff --git a/hf2gcode/hershey_fonts/orig/gothitt.jhf b/hf2gcode/hershey_fonts/orig/gothitt.jhf new file mode 100644 index 0000000..3e5dfa2 --- /dev/null +++ b/hf2gcode/hershey_fonts/orig/gothitt.jhf @@ -0,0 +1,161 @@ + 3699 1JZ + 3714 30LXRFQGOHQIRT RRISHRGQHRIRT RRFSGUHSIRT RRXPZR[TZRX RRYQZSZRY + 3728 22I[NFMGMM RNGMM RNFOGMM RWFVGVM RWGVM RWFXGVM + 2275 12H]SFLb RYFRb RLQZQ RKWYW + 3719 60H\PBP_ RTBT_ RTFVGWIWKYJXHWGTFPFMGKIKLLNOPURWSXUXXWZ RXJWH RLLMN +OOUQWRXT RMYLW RMGLILKMMONUPXRYTYWXYWZT[P[MZLYKWMVMXNZP[ + 2271 32F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT + 3718 62E_YNZO[O\N RXOYP[P RXPYQZQ[P\N RYNST RRUL[HVNP ROOSKOFJLPRTXVZX[ +Z[[Z\X RLZIV RRKOG RKLPQTWVYXZ[Z RMZIU RRLNG RKKQQUWVXXY[Y\X + 3717 14LXRLRJPHRFSHSJRLPM RRGQHRIRG + 3721 27KYUBSDQGOKNPNTOYQ]S`Ub RQHPKOOOUPYQ\ RSDRFQIPOPUQ[R^S` + 3722 27KYOBQDSGUKVPVTUYS]Q`Ob RSHTKUOUUTYS\ RQDRFSITOTUS[R^Q` + 3723 39JZRFQGSQRR RRFRR RRFSGQQRR RMINIVOWO RMIWO RMIMJWNWO RWIVINOMO R +WIMO RWIWJMNMO + 3725 16F_RIRZSZ RRISISZ RJQ[Q[R RJQJR[R + 3711 14LXR^R\PZRXSZS\R^P_ RRYQZR[RY + 3724 8F_JQ[Q[R RJQJR[R + 3710 11LXRXPZR[TZRX RRYQZSZRY + 3720 8G^[BIbJb R[B\BJb + 3700 42H\LHLXJY RMIMXPZ RNHNXPYQZ RLHNHSGUF RSGTHVIVY RTGWIWX RUFVGXHZH +XIXY RJYLYNZO[QZVYXY + 3701 27H\OHPIQKQXOY RQIPHQGRIRYTZ ROHRFSHSXUYVY ROYPYRZS[TZVY + 3702 48H\LHNHPGQFSGVHXH RPHRG RLHNIPIRHSG RVHVP RWIWO RXHXPQPNQLSKVK[ R +K[OYSXVXZY RNZQYVYYZ RK[PZUZX[ZY + 3703 57H\LHMHOGPFRGVHXH ROHQG RLHNIPIRG RVHVO RWIWN RXHXOVOSPQQ RQPSQVR +XRXY RWSWX RVRVY RKYMXOXQYRZ ROYQZ RKYMYOZP[RZVYXY + 3704 41H\UFKPKUTU RVUZU[V[TZU RLPLT RMNMU RTGTXRY RUJVHUGUYWZ RUFWHVJVX +XYYY RRYSYUZV[WZYY + 3705 53H\LFLO RLFXF RMGVG RLHUHWGXF RVLUMSNOOLO RSNTNVOVY RUMWNWX RVLWM +YNZNXOXY RKYMXOXQYRZ ROYQZ RKYMYOZP[RZVYXY + 3706 59H\LHLXJY RMIMXPZ RNHNXPYQZ RLHNHRGTFUGWHXH RSGUH RRGTIVIXH RNPOP +SOUNVM RSOTOVPVY RUNWPWX RVMWNYOZOXPXY RJYLYNZO[QZVYXY + 3707 38H\KHMFPGUGZF RLGOHTHWG RKHOIRIVHZF RZFYHWKSOQRPUPXQ[ RRQQTQWRZ R +UMSPRSRVSYQ[ + 3708 71H\LILO RMJMN RNINO RLINISHUGVF RSHTHVIVO RUGWHWN RVFWGYHZHXIXO R +LONOVRXR RXOVONRLR RLRLXJY RMSMXPZ RNRNXPYQZ RVRVY RWSWX RXRXY RJYLYNZO[ +QZVYXY + 3709 60H\LHLQJR RMIMROS RNHNQPRQR RLHNHSGUF RSGTHVIVY RTGWIWX RUFVGXHZH +XIXY RJRKRMSNTOSQRUQVQ RKYMXOXQYRZ ROYQZ RKYMYOZP[RZVYXY + 3712 22LXRMPORPTORM RRNQOSORN RRXPZR[TZRX RRYQZSZRY + 3713 25LXRMPORPTORM RRNQOSORN RR^R\PZRXSZS\R^P_ RRYQZR[RY + 2241 4F^ZIJRZ[ + 3726 16F_JM[M[N RJMJN[N RJU[U[V RJUJV[V + 2242 4F^JIZRJ[ + 3715 51I[LJMHNGQFSFVGWHXJXLWNUPSQ RMJNH RVHWIWMVN RLJNKNIOGQF RSFUGVIVM +UOSQ RRQRTSQQQRT RRXPZR[TZRX RRYQZSZRY + 2273 56E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\T]Q]O\L[J +YHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV + 3801 52E_NHLIJKIMHPHSIUKV RJLIOISJU RNHLJKLJOJRKVKXJZH[ RVHXHXYVY RYHYY + RZGZZ RHFKGQHVHZG\F RJPXP RH[KZQYVYZZ\[ + 3802 65E_LGLZ RMGMZ RPFNGNZP[ RHJJHLGPFUFXGZIZKYM RXHYIYKXM RUFWGXIXKWL + RQUOTNRNPONPMSLVLYM[O\Q\T[WYYWZT[P[LZJYHW RZO[Q[UZW RVLYNZQZUYXWZ + 3803 60E_\F[HZJXHVGSFQFNGLHJJILHOHRIUJWLYNZQ[S[VZXYZW[Y\[ R[HZMZT[Y RZK +YJ RZNYKXIVG RJKINISJV RNGLIKKJNJSKVLXNZ RYWZV RVZXXYVZS + 3804 46E_KGKZ RLGLZ RNFMGMZN[ RHKIIKGNFSFVGXHZJ[L\O\R[UZWXYVZS[N[KZIXHV + RZK[N[SZV RVGXIYKZNZSYVXXVZ + 3805 86E_\F[HZJXHVGSFQFNGLHJJILHOHRIUJWLYNZQ[S[VZXYZW[Y\[ R[HZMZT[Y RZK +YJ RZMXIVG RJKINISJV RNGLIKKJNJSKVLXNZ RYWZV RVZXXYVZS RJPKONOUQXQZP RPP +RQURWRYQ RMORRUSWSYRZP RZMYLXLWMXNYM + 3806 69E_JHJZ RMGKHKY ROFMGLILYNY RHJJHLGOFSFVGXHYI\F R\F[HZLZO[S\U RZI +YK RVGXIYLZO RLPMOOOTPWPYO RQPTQVQXP RNOTRVRXQYOYLXKWKVLWMXL RH[JZNYSYYZ +\[ + 3807 90E_\F[HZJXHVGSFQFNGLHJJILHOHRIUJWLYNZQ[T[VZXYYXZV[Y\[ R[HZMZT[Y R +ZKYJ RZNYKXIVG RJKINISJV RNGLIKKJNJSKVLXNZ RXXYVYR RVZWYXVXQ RKSLRMSLTKT +JS RJPKNMMOMRNUPWQ RKOMNONROTP RJPLOOOUQYQZP + 3808 50E_JGJZH[ RKHKZ RNHLHLZ RHFJGNHSHYG\F RLPMNOLRKVKYL[N\Q\T[UYV RZN +[P[SZU RVKXLYMZOZSYVYXZZ\[ RH[LZPZU[ + 3809 23E_QIQY RRJRX RSISY RHFLHPITIXH\F RH[KZOYUYYZ\[ + 3810 42E_TIVIVXUZS[ RWIWXVY RXHXY RHFLHPITIXH\F RIOHQHUIXKZN[S[VZXYZW\T + RIUJXKY RHSJUKXLZN[ + 3811 70E_JGJZH[ RKHKZ RNHLHLZ RHFJGNHSHYG\F RLPMNOLRKUKXLYMYOXPSRQSPTPU +QVRUQT RWLXMXOWP RUKWMWOVPSR RSRVRYSZUZWYX RWSYUYW RSRVSXUYXZZ[[\[ RH[LZ +PZU[ + 3812 45E_JGJZ RKHKY RNHLHLYNY R\KZNYPXSXUYW[X RZOYRYUZW R\K[MZQZT[X\[ R +HFJGNHSHYG\F RH[JZNYSYYZ\[ + 3813 68E_QIQY RRJRX RSISY RNYLWJVIUHRHMIJKHMGPFTFWGYH[J\M\R[UZVXWVY RJU +IRIMJJ RLWKUJRJLKIMG RZJ[M[RZU RWGYIZLZRYUXW RHFLHPITIXH\F RH[KZOYUYYZ\[ + 3814 48E_JHJZH[ RLHKIKZ ROFMGLILZ RHJJHLGOFSFVGXHZJ[L\O\S[UYV RZK[N[RZU + RVGXIYKZNZRYVYXZZ[[\[ RH[LZPZU[ + 3815 54E_QFNGLHJJILHOHRIUJWLYNZQ[S[VZXYZW[U\R\O[LZJXHVGSFQF RJKINISJV R +NGLIKKJNJSKVLXNZ RZV[S[NZK RVZXXYVZSZNYKXIVG + 3816 51E_JIJZ RMHKJKY RQFOGMILKLYNY RHKJINGQFTFWGYH[J\M\O[RYTVURUOTMRLO + RZJ[L[PZR RWGYIZLZPYSVU RH[JZNYSYYZ\[ + 3817 74E_QFNGLHJJILHOHRIUJWLYNZQ[S[VZXYZW[U\R\O[LZJXHVGSFQF RJKINISJV R +NGLIKKJNJSKVLXNZ RZV[S[NZK RVZXXYVZSZNYKXIVG RJSKUNVTW[W\X\Z[[[Z\Y RPWRW + RKUNWQXSXTW + 3818 69E_JIJZH[ RKIKZ RLHLZ RHKJILHNGQFUFYG[I\K\N[PZQ RYHZI[K[NZP RUFWG +YIZKZOYQ RXRUSRSPRPPROUOXPZR\U\W[XZX RXQYR[V[WZT RTOVPXRYTZX[Z\[ RH[LZPZ +U[ + 3819 94E_TFZG\F[H[JYHWGTFPFMGJJIMIOJRLTOURUTTUSVQVP R[GZH[J RJPKRLSOTRT +TS RKIJKJNKPMRPSRSTRVPWOXO RLQMQNPPNRMUMWNYPZRZUYXWZ RPMRLULXMZO[R[UZW R +IWJYIZ RNPNOOMPLRKUKXL[O\R\T[WYYWZT[P[MZKYIWIYH[JZP[ + 3820 66E_QHMHKIJJILHOHSIVJXKYMZP[S[VZXYZW[U\R\N[KYIWH RUHTITKULVKUJ RIS +JVLXNYQZTZWY RJJINIQJTLWNXQYTYWXYW[T\R RHFKI RKHLG RIGJGKFMGQHWHZG\F + 3821 51E_LHJJILHOHRIUJWLYNZQ[U[XZZY RKJJLIOISJV RKILJLKKMJPJSKVLXNZ RVH +XHXXWZU[ RYHYXXY RZGZY\[ RHFKGQHVHZG\F + 3822 31E_HFR[ RIGJHQWRY RJGKHRWSX R\FR[ RWNUS RYLUQTTTV RHFJGOHUHZG\F + 3823 67E_LHJJILHOHRIUJWLYNZQ[S[VZXYZW[U\R\O[LZJXH RJLIOIRJUKW RJJKKKLJO +JRKVLXNZ RYWZU[R[OZL RVZXXYVZRZOYLYKZJ RQIQ[ RRJRZ RSIS[ RHFLHPITIXH\F + 3824 41E_HFXYYZ RIGKHZZ RLH\[ R\FSP RQRJZ RPSMULW RQRMTLUKWKY RHFLHPITI +XH\F RH[JZNYSYYZ\[ + 3825 47E_XHXZ RYHYY RZGZY RKHIJHMHPISKUMVPWSWVVXU RLUOVUV RHPIRKTNUTUVV + RHFLHPITIXH\F RHWJYLZP[T[XZ\X + 3826 73E_HFIGKHNHSFVFYGZIZKYM RXGYIYKXM RVFWGXIXL RXNTOROPNPLRKTKXL RTK +VLWMVNTO RYM[O\R\T[WYYWZT[P[MZKYIWHTHRIOJNLMNMPNPPOQNPOO RXMZO[Q[UZW RXN +YOZQZUYXWZ + 2223 12KYOBOb RPBPb ROBVB RObVb + 804 3KYKFY^ + 2224 12KYTBTb RUBUb RNBUB RNbUb + 2262 11JZPLRITL RMORJWO RRJR[ + 999 3JZJ]Z] + 3716 14LXTFRGQIQKRMTKRIRG RRJRLSKRJ + 3901 42J[PQMTMXP[TY RNTNXPZ ROROWRZ RRSMNNMONNO RONSNUMWOWXXY RUNVOVXUY +VZWYVX RSNUPUXTYV[XY + 3902 31IZNHLFMJMXP[UYWX RNHNXPZ RNHPFOJOWRZ ROOTMWPWX RTNVPVX RRNUQUY + 3903 23KWNPNYP[RY ROPOYPZ RPOPXQYRY RNPTMVOTPRN RSNUO + 3904 32JZRMMPMXP[RZUYWY RNPNXPZ ROOOWRZ RPIPFQIWPWY RPIVPVX RPIMIPJUPUY + 3905 25KXNPNYP[RY ROPOYPZ RPOPXQYRY RNPTMWQPU RSNVQ RRNUR + 3906 32KWOIOXNYP[ RPIPXOYPZQYPX RQHQXRYP[ ROIUFWHUISG RTGVH RLMOM RQMUM + 3907 41J[MPMXP[UY RNPNXPZ ROOOWRZ RMPOOTMWPW]V_U`SaQaO`MaObQa RTNVPV]U_ + RPaNa RRNUQU^T`Sa + 3908 42I[NHLFMJMXLYN[ RNHNXMYNZOYNX RNHPFOJOXPYN[ ROORNTMWPWYT]T`UbVbT` + RTNVPVYU[ RRNUQUZT] + 3909 37MWRFPHRJTHRF RRGQHRISHRG RRMPOQPQXPYR[ RRPSORNQORPRXQYRZSYRX RRM +TOSPSXTYR[ + 3910 37MWRFPHRJTHRF RRGQHRISHRG RRMPOQPQYT] RRPSORNQORPRYS[ RRMTOSPSZT] +T`RbPaPbRb + 3911 51IZNHLFMJMXLYN[ RNHNXMYNZOYNX RNHPFOJOXPYN[ ROPRNTMVPSROU RSNUP R +RNTQ RRSSTTYV[XY RSSTUUYVZ RSRTSVXWYXY + 3912 21MWRHPFQJQXPYR[ RRHRXQYRZSYRX RRHTFSJSXTYR[ + 3913 66E_GOHOIPIXHYJ[ RINJOJXIYJZKYJX RGOIMKOKXLYJ[ RKONNPMSOSXTYR[ RPN +RORXQYRZSYRX RNNQPQXPYR[ RSOVNXM[O[X\YZ[ RXNZOZXYYZZ[YZX RVNYPYXXYZ[ + 3914 44I[KOLOMPMXLYN[ RMNNONXMYNZOYNX RKOMMOOOXPYN[ ROORNTMWOWXXYV[ RTN +VOVXUYVZWYVX RRNUPUXTYV[ + 3915 28JZMPMXP[UYWX RNPNXPZ ROOOWRZ RMPOOTMWPWX RTNVPVX RRNUQUY + 3916 47IZLMMOMXKYMYM_LbN` RNON` RLMNNOOOXQYRZ RNYOYQZ ROZP[UYWX ROZO_Pb +N` ROORNTMWPWX RTNVPVX RRNUQUY + 3917 31J[MPMXP[UY RNPNXPZ ROOOWRZ RMPOOTMWPW_XbV` RTNVPV` RRNUQU_TbV` + 3918 31KXMONOOPOXNYP[ RONPOPXOYPZQYPX RMOOMQOQXRYP[ RQOUMWOUPSN RTNVO + 3919 41JZMPMSOUURWTWX RNPNSOT ROOOSPT RUSVTVX RTSUTUY RMPSMVNTOQN RRNUN + RWXQ[MYOXSZ ROYQZ + 3920 27MWRHPFQJQXPYR[ RRHRXQYRZSYRX RRHTFSJSXTYR[ RNMQM RSMVM + 3921 40I[KOLOMPMYP[UY RMNNONYPZ RKOMMOOOXRZ RVMXOWPWXXYYY RVPWOVNUOVPVY +WZ RVMTOUPUYW[YY + 3922 36I[LMMOMXQ[SYWW RMNNONXQZ RLMNNOOOWRYSY RVMXOWPWW RVPWOVNUOVPVW R +VMTOUPUX + 3923 59E_HMIOIXM[OYQX RINJOJXMZ RHMJNKOKWNYOY RRMPOQPQXU[WY[W RRPSORNQO +RPRXUZ RRMTOSPSWVYWY RZM\O[P[W RZP[OZNYOZPZW RZMXOYPYX + 3924 39I[LONPUZV[XY RMNOOUYWZ RLONMONVXXY RXMVMVOXOXMVOSS RQUNYL[N[NYLY +L[ RNTQT RSTVT + 3925 49I[KOLOMPMYP[UY RMNNONYPZ RKOMMOOOXRZ RVMXOWPW]V_U`SaQaO`MaObQa R +VPWOVNUOVPV^U_ RPaNa RVMTOUPU^T`Sa + 3926 43L[RNOPOORNTMWOWSRU RTNVOVS RRNUPUSTT RRUWWW]V_U`SaQaO`MaObQa RVW +V^U_ RPaNa RTVUWU^T`Sa + 2225 40KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSU +SWRYQZP\P^Q`RaTb + 2229 3NVRBRb + 2226 40KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQU +QWRYSZT\T^S`RaPb + 2246 24F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O + 3729 30KYQFOGNINKOMQNSNUMVKVIUGSFQF RQFNIOMSNVKUGQF RSFOGNKQNUMVISF diff --git a/hf2gcode/hershey_fonts/orig/greek.jhf b/hf2gcode/hershey_fonts/orig/greek.jhf new file mode 100644 index 0000000..b399f99 --- /dev/null +++ b/hf2gcode/hershey_fonts/orig/greek.jhf @@ -0,0 +1,101 @@ +12345 1JZ +12345 9MWRFRT RRYQZR[SZRY +12345 6JZNFNM RVFVM +12345 12H]SBLb RYBRb RLOZO RKUYU +12345 27H\PBP_ RTBT_ RYIWGTFPFMGKIKKLMMNOOUQWRXSYUYXWZT[P[MZKX +12345 32F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT +12345 35E_\O\N[MZMYNXPVUTXRZP[L[JZIYHWHUISJRQNRMSKSIRGPFNGMIMKNNPQUXWZY[ +[[\Z\Y +12345 8MWRHQGRFSGSIRKQL +12345 11KYVBTDRGPKOPOTPYR]T`Vb +12345 11KYNBPDRGTKUPUTTYR]P`Nb +12345 9JZRLRX RMOWU RWOMU +12345 6E_RIR[ RIR[R +12345 8NVSWRXQWRVSWSYQ[ +12345 3E_IR[R +12345 6NVRVQWRXSWRV +12345 3G][BIb +12345 18H\QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF +12345 5H\NJPISFS[ +12345 15H\LKLJMHNGPFTFVGWHXJXLWNUQK[Y[ +12345 16H\MFXFRNUNWOXPYSYUXXVZS[P[MZLYKW +12345 7H\UFKTZT RUFU[ +12345 18H\WFMFLOMNPMSMVNXPYSYUXXVZS[P[MZLYKW +12345 24H\XIWGTFRFOGMJLOLTMXOZR[S[VZXXYUYTXQVOSNRNOOMQLT +12345 6H\YFO[ RKFYF +12345 30H\PFMGLILKMMONSOVPXRYTYWXYWZT[P[MZLYKWKTLRNPQOUNWMXKXIWGTFPF +12345 24H\XMWPURRSQSNRLPKMKLLINGQFRFUGWIXMXRWWUZR[P[MZLX +12345 12NVROQPRQSPRO RRVQWRXSWRV +12345 14NVROQPRQSPRO RSWRXQWRVSWSYQ[ +12345 4F^ZIJRZ[ +12345 6E_IO[O RIU[U +12345 4F^JIZRJ[ +12345 21I[LKLJMHNGPFTFVGWHXJXLWNVORQRT RRYQZR[SZRY +12345 56E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\T]Q]O\L[J +YHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV +12345 9I[RFJ[ RRFZ[ RMTWT +12345 24G\KFK[ RKFTFWGXHYJYLXNWOTP RKPTPWQXRYTYWXYWZT[K[ +12345 6H\KFY[ RK[YF +12345 9I[RFJ[ RRFZ[ RJ[Z[ +12345 12H[LFL[ RLFYF RLPTP RL[Y[ +12345 21H\RFR[ RPKMLLMKOKRLTMUPVTVWUXTYRYOXMWLTKPK +12345 6HYLFL[ RLFXF +12345 9G]KFK[ RYFY[ RKPYP +12345 3NVRFR[ +12345 6PURQRRSRSQRQ +12345 9G\KFK[ RYFKT RPOY[ +12345 6I[RFJ[ RRFZ[ +12345 12F^JFJ[ RJFR[ RZFR[ RZFZ[ +12345 9G]KFK[ RKFY[ RYFY[ +12345 22G]PFNGLIKKJNJSKVLXNZP[T[VZXXYVZSZNYKXIVGTFPF +12345 9G]KFK[ RYFY[ RKFYF +12345 25G]PFNGLIKKJNJSKVLXNZP[T[VZXXYVZSZNYKXIVGTFPF ROPUP +12345 14G\KFK[ RKFTFWGXHYJYMXOWPTQKQ +12345 10I[KFRPK[ RKFYF RK[Y[ +12345 6JZRFR[ RKFYF +12345 19I[KKKILGMFOFPGQIRMR[ RYKYIXGWFUFTGSIRM +12345 14KYQFOGNINKOMQNSNUMVKVIUGSFQF +12345 17H\K[O[LTKPKLLINGQFSFVGXIYLYPXTU[Y[ +12345 9I[KFYF ROPUP RK[Y[ +12345 18G]RFR[ RILJLKMLQMSNTQUSUVTWSXQYMZL[L +12345 9H\YFK[ RKFYF RK[Y[ +12345 12KYOBOb RPBPb ROBVB RObVb +12345 3KYKFY^ +12345 12KYTBTb RUBUb RNBUB RNbUb +12345 6JZRDJR RRDZR +12345 3I[Ib[b +12345 8NVSKQMQORPSORNQO +12345 24H]QMONMPLRKUKXLZN[P[RZUWWTYPZM RQMSMTNUPWXXZY[Z[ +12345 31I\UFSGQIOMNPMTLZKb RUFWFYHYKXMWNUORO RROTPVRWTWWVYUZS[Q[OZNYMV +12345 14I[KMMMOOU`WbYb RZMYOWRM]K`Jb +12345 24I[TMQMONMPLSLVMYNZP[R[TZVXWUWRVOTMRKQIQGRFTFVGXI +12345 19JZWOVNTMQMONOPPRSS RSSOTMVMXNZP[S[UZWX +12345 21G]ONMOKQJTJWKYLZN[Q[TZWXYUZRZOXMVMTORSPXMb +12345 17I\JPLNNMOMQNROSRSVR[ RZMYPXRR[P_Ob +12345 19H\IQJOLMNMONOPNTL[ RNTPPRNTMVMXOXRWWTb +12345 9LWRMPTOXOZP[R[TYUW +12345 6G]KKYY RYKKY +12345 19I[OMK[ RYNXMWMUNQROSNS RNSPTQUSZT[U[VZ +12345 9JZKFMFOGPHX[ RRML[ +12345 21H]OMIb RNQMVMYO[Q[SZUXWT RYMWTVXVZW[Y[[Y\W +12345 14I[LMOMNSMXL[ RYMXPWRUURXOZL[ +12345 18J[RMPNNPMSMVNYOZQ[S[UZWXXUXRWOVNTMRM +12345 13G]PML[ RUMVSWXX[ RIPKNNM[M +12345 27G\HQIOKMMMNNNPMUMXNZO[Q[SZUWVUWRXMXJWGUFSFRHRJSMUPWRZT +12345 19I[MSMVNYOZQ[S[UZWXXUXRWOVNTMRMPNNPMSIb +12345 18I][MQMONMPLSLVMYNZP[R[TZVXWUWRVOUNSM +12345 8H\SMP[ RJPLNOMZM +12345 16H\IQJOLMNMONOPMVMYO[Q[TZVXXTYPYM +12345 15E_RIQJRKSJRI RIR[R RRYQZR[SZRY +12345 23F]NMLNJQITIWJZK[M[OZQW RRSQWRZS[U[WZYWZTZQYNXM +12345 29JZTFRGQHQIRJUKXK RUKRLPMOOOQQSTTVT RTTPUNVMXMZO\S^T_TaRbPb +12345 20F]VFNb RGQHOJMLMMNMPLULXMZO[Q[TZVXXUZP[M +12345 23JYTFRGQHQIRJUKXK RXKTMQONRMUMWNYP[S]T_TaSbQbP` +12345 40KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSU +SWRYQZP\P^Q`RaTb +12345 3NVRBRb +12345 40KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQU +QWRYSZT\T^S`RaPb +12345 24F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O +12345 35JZJFJ[K[KFLFL[M[MFNFN[O[OFPFP[Q[QFRFR[S[SFTFT[U[UFVFV[W[WFXFX[Y[ +YFZFZ[ diff --git a/hf2gcode/hershey_fonts/orig/greekc.jhf b/hf2gcode/hershey_fonts/orig/greekc.jhf new file mode 100644 index 0000000..f6795f7 --- /dev/null +++ b/hf2gcode/hershey_fonts/orig/greekc.jhf @@ -0,0 +1,130 @@ + 2199 1JZ + 2214 15MWRFQHRTSHRF RRHRN RRYQZR[SZRY + 2213 14MWRMQNROSNRM RR[QZRYSZS\R^Q_ + 2275 12H]SFLb RYFRb RLQZQ RKWYW + 2274 42H\PBP_ RTBT_ RXIWJXKYJYIWGTFPFMGKIKKLMMNOOUQWRYT RKKMMONUPWQXRYT +YXWZT[P[MZKXKWLVMWLX + 2271 32F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT + + 2272 49F_[NZO[P\O\N[MZMYNXPVUTXRZP[M[JZIXIUJSPORMSKSIRGPFNGMIMKNNPQUXWZ +Z[[[\Z\Y RM[KZJXJUKSMQ RMKNMVXXZZ[ + 2251 8MWRHQGRFSGSIRKQL + 2221 20KYVBTDRGPKOPOTPYR]T`Vb RTDRHQKPPPTQYR\T` + 2222 20KYNBPDRGTKUPUTTYR]P`Nb RPDRHSKTPTTSYR\P` + 2219 9JZRFRR RMIWO RWIMO + 2232 6E_RIR[ RIR[R + 2211 8MWR[QZRYSZS\R^Q_ + 2231 3E_IR[R + 2210 6MWRYQZR[SZRY + 2220 3G][BIb + 2200 40H\QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF RQFOGNHMJLOLRMWNYOZQ[ RS[UZ +VYWWXRXOWJVHUGSF + 2201 11H\NJPISFS[ RRGR[ RN[W[ + 2202 45H\LJMKLLKKKJLHMGPFTFWGXHYJYLXNUPPRNSLUKXK[ RTFVGWHXJXLWNTPPR RKY +LXNXSZVZXYYX RNXS[W[XZYXYV + 2203 47H\LJMKLLKKKJLHMGPFTFWGXIXLWNTOQO RTFVGWIWLVNTO RTOVPXRYTYWXYWZT[ +P[MZLYKWKVLUMVLW RWQXTXWWYVZT[ + 2204 13H\THT[ RUFU[ RUFJUZU RQ[X[ + 2205 39H\MFKP RKPMNPMSMVNXPYSYUXXVZS[P[MZLYKWKVLUMVLW RSMUNWPXSXUWXUZS[ + RMFWF RMGRGWF + 2206 48H\WIVJWKXJXIWGUFRFOGMILKKOKULXNZQ[S[VZXXYUYTXQVOSNRNOOMQLT RRFPG +NIMKLOLUMXOZQ[ RS[UZWXXUXTWQUOSN + 2207 31H\KFKL RKJLHNFPFUIWIXHYF RLHNGPGUI RYFYIXLTQSSRVR[ RXLSQRSQVQ[ + 2208 63H\PFMGLILLMNPOTOWNXLXIWGTFPF RPFNGMIMLNNPO RTOVNWLWIVGTF RPOMPLQ +KSKWLYMZP[T[WZXYYWYSXQWPTO RPONPMQLSLWMYNZP[ RT[VZWYXWXSWQVPTO + 2209 48H\XMWPURRSQSNRLPKMKLLINGQFSFVGXIYLYRXVWXUZR[O[MZLXLWMVNWMX RQSOR +MPLMLLMIOGQF RSFUGWIXLXRWVVXTZR[ + 2212 12MWRMQNROSNRM RRYQZR[SZRY + 2213 14MWRMQNROSNRM RR[QZRYSZS\R^Q_ + 2241 4F^ZIJRZ[ + 2238 6E_IO[O RIU[U + 2242 4F^JIZRJ[ + 2215 32I[MJNKMLLKLJMHNGPFSFVGWHXJXLWNVORQRT RSFUGVHWJWLVNTP RRYQZR[SZRY + 2273 56E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\T]Q]O\L[J +YHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV + 2027 18H\RFK[ RRFY[ RRIX[ RMUVU RI[O[ RU[[[ + 2028 45G]LFL[ RMFM[ RIFUFXGYHZJZLYNXOUP RUFWGXHYJYLXNWOUP RMPUPXQYRZTZW +YYXZU[I[ RUPWQXRYTYWXYWZU[ + 2029 14I[NFN[ ROFO[ RKFZFZLYF RK[R[ + 2030 15H\RFJ[ RRFZ[ RRIY[ RKZYZ RJ[Z[ + 2031 22G\LFL[ RMFM[ RSLST RIFYFYLXF RMPSP RI[Y[YUX[ + 2032 16H\XFK[ RYFL[ RLFKLKFYF RK[Y[YUX[ + 2033 27F^KFK[ RLFL[ RXFX[ RYFY[ RHFOF RUF\F RLPXP RH[O[ RU[\[ + 2034 56G]QFNGLIKKJOJRKVLXNZQ[S[VZXXYVZRZOYKXIVGSFQF RQFOGMILKKOKRLVMXOZ +Q[ RS[UZWXXVYRYOXKWIUGSF ROMOT RUMUT ROPUP ROQUQ + 2035 12MXRFR[ RSFS[ ROFVF RO[V[ + 2036 27F\KFK[ RLFL[ RYFLS RQOY[ RPOX[ RHFOF RUF[F RH[O[ RU[[[ + 2037 15H\RFK[ RRFY[ RRIX[ RI[O[ RU[[[ + 2038 30F_KFK[ RLFRX RKFR[ RYFR[ RYFY[ RZFZ[ RHFLF RYF]F RH[N[ RV[][ + 2039 21G^LFL[ RMFYY RMHY[ RYFY[ RIFMF RVF\F RI[O[ + 2040 36G]KEJJ RZEYJ RONNS RVNUS RKWJ\ RZWY\ RKGYG RKHYH ROPUP ROQUQ RKY +YY RKZYZ + 2041 44G]QFNGLIKKJOJRKVLXNZQ[S[VZXXYVZRZOYKXIVGSFQF RQFOGMILKKOKRLVMXOZ +Q[ RS[UZWXXVYRYOXKWIUGSF + 2042 21F^KFK[ RLFL[ RXFX[ RYFY[ RHF\F RH[O[ RU[\[ + 2043 29G]LFL[ RMFM[ RIFUFXGYHZJZMYOXPUQMQ RUFWGXHYJYMXOWPUQ RI[P[ + 2044 20H]KFRPJ[ RJFQP RJFYFZLXF RKZXZ RJ[Y[ZUX[ + 2045 16I\RFR[ RSFS[ RLFKLKFZFZLYF RO[V[ + 2046 33I\KKKILGMFOFPGQIRMR[ RKIMGOGQI RZKZIYGXFVFUGTISMS[ RZIXGVGTI RO[ +V[ + 2047 48H]RFR[ RSFS[ RPKMLLMKOKRLTMUPVUVXUYTZRZOYMXLUKPK RPKNLMMLOLRMTNU +PV RUVWUXTYRYOXMWLUK ROFVF RO[V[ + 2048 21H\KFX[ RLFY[ RYFK[ RIFOF RUF[F RI[O[ RU[[[ + 2049 41G^RFR[ RSFS[ RIMJLLMMQNSOTQU RJLKMLQMSNTQUTUWTXSYQZM[L RTUVTWSXQ +YM[L\M ROFVF RO[V[ + 2050 43G]JXK[O[MWKSJPJLKIMGPFTFWGYIZLZPYSWWU[Y[ZX RMWLTKPKLLINGPF RTFVG +XIYLYPXTWW RKZNZ RVZYZ + 2199 1JZ + 2199 1JZ + 2223 12KYOBOb RPBPb ROBVB RObVb + 804 3KYKFY^ + 2224 12KYTBTb RUBUb RNBUB RNbUb + 2262 11JZPLRITL RMORJWO RRJR[ + 999 3JZJ]Z] + 2252 8MWSFRGQIQKRLSKRJ + 2127 40G^QMNNLPKRJUJXKZN[P[RZUWWTYPZM RQMONMPLRKUKXLZN[ RQMSMUNVPXXYZZ[ + RSMTNUPWXXZZ[[[ + 2128 57G\TFQGOIMMLPKTJZIb RTFRGPINMMPLTKZJb RTFVFXGYHYKXMWNTOPO RVFXHXK +WMVNTO RPOTPVRWTWWVYUZR[P[NZMYLV RPOSPURVTVWUYTZR[ + 2129 28H\IPKNMMOMQNROSRSVRZOb RJOLNPNRO RZMYPXRSYP^Nb RYMXPWRSY + 2130 44I\VNTMRMONMQLTLWMYNZP[R[UZWWXTXQWOSJRHRFSEUEWFYH RRMPNNQMTMXNZ R +R[TZVWWTWPVNTKSISGTFVFYH + 2131 32I[XPVNTMPMNNNPPRSS RPMONOPQRSS RSSNTLVLXMZP[S[UZWX RSSOTMVMXNZP[ + + 2132 31I[TFRGQHQIRJUKZKZJWKSMPOMRLULWMYP[S]T_TaSbQbPa RULQONRMUMWNYP[ + 2133 32G]HQIOKMNMONOPNTL[ RMMNNNPMTK[ RNTPPRNTMVMXNYOYRXWUb RVMXOXRWWTb + + 2134 44F]GQHOJMMMNNNPMUMXNZO[ RLMMNMPLULXMZO[Q[SZUXWUXRYMYIXGVFTFRHRJSM +UPWRZT RSZUWVUWRXMXIWGVF + 2135 15LXRMPTOXOZP[S[UYVW RSMQTPXPZQ[ + 2136 29H\NMJ[ ROMK[ RXMYNZNYMWMUNQROSMS ROSQTSZT[ ROSPTRZS[U[WZYW + 2137 23H\KFMFOGPHQJWXXZY[ RMFOHPJVXWZY[Z[ RRMJ[ RRMK[ + 2138 28F]MMGb RNMHb RMPLVLYN[P[RZTXVU RXMUXUZV[Y[[Y\W RYMVXVZW[ + 2139 24H\NML[ ROMNSMXL[ RYMXQVU RZMYPXRVUTWQYOZL[ RKMOM + 2140 45IZTFRGQHQIRJUKXK RUKQLOMNONQPSSTVT RUKRLPMOOOQQSST RSTOUMVLXLZN\ +S^T_TaRbPb RSTPUNVMXMZO\S^ + 2141 32I[RMONMQLTLWMYNZP[R[UZWWXTXQWOVNTMRM RRMPNNQMTMXNZ RR[TZVWWTWPVN + + 2142 22G]PNL[ RPNM[ RVNV[ RVNW[ RIPKNNM[M RIPKONN[N + 2143 31H[LVMYNZP[R[UZWWXTXQWOVNTMRMONMQLTHb RR[TZVWWTWPVN RRMPNNQMTIb + 2144 35H][MQMNNLQKTKWLYMZO[Q[TZVWWTWQVOUNSM RQMONMQLTLXMZ RQ[SZUWVTVPUN + RUN[N + 2145 16H\SNP[ RSNQ[ RJPLNOMZM RJPLOONZN + 2146 31H\IQJOLMOMPNPPNVNYP[ RNMONOPMVMYNZP[Q[TZVXXUYRYOXMWNXOYR RXUYO + 2147 37G]ONMOKQJTJWKYLZN[Q[TZWXYUZRZOXMVMTORSPXMb RJWLYNZQZTYWWYU RZOXN +VNTPRSPYNb + 2148 23I[KMMMONPPU_VaWb RMMNNOPT_UaWbYb RZMYOWRM]K`Jb + 2149 34F]UFOb RVFNb RGQHOJMMMNNNPMUMXOZRZTYWVYS RLMMNMPLULXMZO[R[TZVXXU +YS[M + 2150 44F]JQLOONNMLNJQITIWJZK[M[OZQWRT RIWJYKZMZOYQW RQTQWRZS[U[WZYWZTZQ +YNXMWNYOZQ RQWRYSZUZWYYW + 2199 1JZ + 2199 1JZ + 2225 40KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSU +SWRYQZP\P^Q`RaTb + 2229 3NVRBRb + 2226 40KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQU +QWRYSZT\T^S`RaPb + 2246 24F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O + 2218 14KYQFOGNINKOMQNSNUMVKVIUGSFQF + \ No newline at end of file diff --git a/hf2gcode/hershey_fonts/orig/greeks.jhf b/hf2gcode/hershey_fonts/orig/greeks.jhf new file mode 100644 index 0000000..a9436c1 --- /dev/null +++ b/hf2gcode/hershey_fonts/orig/greeks.jhf @@ -0,0 +1,102 @@ + 699 1JZ + 714 9MWRFRT RRYQZR[SZRY + 717 6JZNFNM RVFVM + 733 12H]SBLb RYBRb RLOZO RKUYU + 719 27H\PBP_ RTBT_ RYIWGTFPFMGKIKKLMMNOOUQWRXSYUYXWZT[P[MZKX + 2271 32F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT + + 734 35E_\O\N[MZMYNXPVUTXRZP[L[JZIYHWHUISJRQNRMSKSIRGPFNGMIMKNNPQUXWZY[ +[[\Z\Y + 731 8MWRHQGRFSGSIRKQL + 721 11KYVBTDRGPKOPOTPYR]T`Vb + 722 11KYNBPDRGTKUPUTTYR]P`Nb + 2219 9JZRFRR RMIWO RWIMO + 725 6E_RIR[ RIR[R + 711 9MWSZR[QZRYSZS\R^Q_ + 724 3E_IR[R + 710 6MWRYQZR[SZRY + 720 3G][BIb + 700 18H\QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF + 701 5H\NJPISFS[ + 702 15H\LKLJMHNGPFTFVGWHXJXLWNUQK[Y[ + 703 16H\MFXFRNUNWOXPYSYUXXVZS[P[MZLYKW + 704 7H\UFKTZT RUFU[ + 705 18H\WFMFLOMNPMSMVNXPYSYUXXVZS[P[MZLYKW + 706 24H\XIWGTFRFOGMJLOLTMXOZR[S[VZXXYUYTXQVOSNRNOOMQLT + 707 6H\YFO[ RKFYF + 708 30H\PFMGLILKMMONSOVPXRYTYWXYWZT[P[MZLYKWKTLRNPQOUNWMXKXIWGTFPF + 709 24H\XMWPURRSQSNRLPKMKLLINGQFRFUGWIXMXRWWUZR[P[MZLX + 712 12MWRMQNROSNRM RRYQZR[SZRY + 713 15MWRMQNROSNRM RSZR[QZRYSZS\R^Q_ + 2241 4F^ZIJRZ[ + 726 6E_IO[O RIU[U + 2242 4F^JIZRJ[ + 715 21I[LKLJMHNGPFTFVGWHXJXLWNVORQRT RRYQZR[SZRY + 2273 56E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\T]Q]O\L[J +YHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV + 527 9I[RFJ[ RRFZ[ RMTWT + 528 24G\KFK[ RKFTFWGXHYJYLXNWOTP RKPTPWQXRYTYWXYWZT[K[ + 529 6HYLFL[ RLFXF + 530 9I[RFJ[ RRFZ[ RJ[Z[ + 531 12H[LFL[ RLFYF RLPTP RL[Y[ + 532 9H\YFK[ RKFYF RK[Y[ + 533 9G]KFK[ RYFY[ RKPYP + 534 25G]PFNGLIKKJNJSKVLXNZP[T[VZXXYVZSZNYKXIVGTFPF ROPUP + 535 3NVRFR[ + 536 9G\KFK[ RYFKT RPOY[ + 537 6I[RFJ[ RRFZ[ + 538 12F^JFJ[ RJFR[ RZFR[ RZFZ[ + 539 9G]KFK[ RKFY[ RYFY[ + 540 9I[KFYF ROPUP RK[Y[ + 541 22G]PFNGLIKKJNJSKVLXNZP[T[VZXXYVZSZNYKXIVGTFPF + 542 9G]KFK[ RYFY[ RKFYF + 543 14G\KFK[ RKFTFWGXHYJYMXOWPTQKQ + 544 10I[KFRPK[ RKFYF RK[Y[ + 545 6JZRFR[ RKFYF + 546 19I[KKKILGMFOFPGQIRMR[ RYKYIXGWFUFTGSIRM + 547 21H\RFR[ RPKMLLMKOKRLTMUPVTVWUXTYRYOXMWLTKPK + 548 6H\KFY[ RK[YF + 549 18G]RFR[ RILJLKMLQMSNTQUSUVTWSXQYMZL[L + 550 17H\K[O[LTKPKLLINGQFSFVGXIYLYPXTU[Y[ + 699 1JZ + 699 1JZ + 2223 12KYOBOb RPBPb ROBVB RObVb + 804 3KYKFY^ + 2224 12KYTBTb RUBUb RNBUB RNbUb + 2262 11JZPLRITL RMORJWO RRJR[ + 999 3JZJ]Z] + 730 8MWSFRGQIQKRLSKRJ + 627 24H]QMONMPLRKUKXLZN[P[RZUWWTYPZM RQMSMTNUPWXXZY[Z[ + 628 31I\UFSGQIOMNPMTLZKb RUFWFYHYKXMWNUORO RROTPVRWTWWVYUZS[Q[OZNYMV + 629 17I\JPLNNMOMQNROSRSVR[ RZMYPXRR[P_Ob + 630 24I[TMQMONMPLSLVMYNZP[R[TZVXWUWRVOTMRKQIQGRFTFVGXI + 631 19JZWOVNTMQMONOPPRSS RSSOTMVMXNZP[S[UZWX + 632 23JYTFRGQHQIRJUKXK RXKTMQONRMUMWNYP[S]T_TaSbQbP` + 633 19H\IQJOLMNMONOPNTL[ RNTPPRNTMVMXOXRWWTb + 634 27G\HQIOKMMMNNNPMUMXNZO[Q[SZUWVUWRXMXJWGUFSFRHRJSMUPWRZT + 635 9LWRMPTOXOZP[R[TYUW + 636 19I[OMK[ RYNXMWMUNQROSNS RNSPTQUSZT[U[VZ + 637 9JZKFMFOGPHX[ RRML[ + 638 21H]OMIb RNQMVMYO[Q[SZUXWT RYMWTVXVZW[Y[[Y\W + 639 14I[LMOMNSMXL[ RYMXPWRUURXOZL[ + 640 29JZTFRGQHQIRJUKXK RUKRLPMOOOQQSTTVT RTTPUNVMXMZO\S^T_TaRbPb + 641 18J[RMPNNPMSMVNYOZQ[S[UZWXXUXRWOVNTMRM + 642 13G]PML[ RUMVSWXX[ RIPKNNM[M + 643 19I[MSMVNYOZQ[S[UZWXXUXRWOVNTMRMPNNPMSIb + 644 18I][MQMONMPLSLVMYNZP[R[TZVXWUWRVOUNSM + 645 8H\SMP[ RJPLNOMZM + 646 16H\IQJOLMNMONOPMVMYO[Q[TZVXXTYPYM + 647 21G]ONMOKQJTJWKYLZN[Q[TZWXYUZRZOXMVMTORSPXMb + 648 14I[KMMMOOU`WbYb RZMYOWRM]K`Jb + 649 20F]VFNb RGQHOJMLMMNMPLULXMZO[Q[TZVXXUZP[M + 650 23F]NMLNJQITIWJZK[M[OZQW RRSQWRZS[U[WZYWZTZQYNXM + 699 1JZ + 699 1JZ + 2225 40KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSU +SWRYQZP\P^Q`RaTb + 723 3NVRBRb + 2226 40KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQU +QWRYSZT\T^S`RaPb + 2246 24F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O + 718 14KYQFOGNINKOMQNSNUMVKVIUGSFQF + \ No newline at end of file diff --git a/hf2gcode/hershey_fonts/orig/hershey.txt b/hf2gcode/hershey_fonts/orig/hershey.txt new file mode 100644 index 0000000..721ce68 --- /dev/null +++ b/hf2gcode/hershey_fonts/orig/hershey.txt @@ -0,0 +1,117 @@ +This file accompanied the original distribution of the Hershey fonts, + via the Usenet: + +*************************************************************************** + +This distribution is made possible through the collective encouragement +of the Usenet Font Consortium, a mailing list that sprang to life to get +this accomplished and that will now most likely disappear into the mists +of time... Thanks are especially due to Jim Hurt, who provided the packed +font data for the distribution, along with a lot of other help. + +This file describes the Hershey Fonts in general, along with a description of +the other files in this distribution and a simple re-distribution restriction. + +USE RESTRICTION: + This distribution of the Hershey Fonts may be used by anyone for + any purpose, commercial or otherwise, providing that: + 1. The following acknowledgements must be distributed with + the font data: + - The Hershey Fonts were originally created by Dr. + A. V. Hershey while working at the U. S. + National Bureau of Standards. + - The format of the Font data in this distribution + was originally created by + James Hurt + Cognition, Inc. + 900 Technology Park Drive + Billerica, MA 01821 + (mit-eddie!ci-dandelion!hurt) + 2. The font data in this distribution may be converted into + any other format *EXCEPT* the format distributed by + the U.S. NTIS (which organization holds the rights + to the distribution and use of the font data in that + particular format). Not that anybody would really + *want* to use their format... each point is described + in eight bytes as "xxx yyy:", where xxx and yyy are + the coordinate values as ASCII numbers. + +*PLEASE* be reassured: The legal implications of NTIS' attempt to control +a particular form of the Hershey Fonts *are* troubling. HOWEVER: We have +been endlessly and repeatedly assured by NTIS that they do not care what +we do with our version of the font data, they do not want to know about it, +they understand that we are distributing this information all over the world, +etc etc etc... but because it isn't in their *exact* distribution format, they +just don't care!!! So go ahead and use the data with a clear conscience! (If +you feel bad about it, take a smaller deduction for something on your taxes +next week...) + +The Hershey Fonts: + - are a set of more than 2000 glyph (symbol) descriptions in vector + ( point-to-point ) format + - can be grouped as almost 20 'occidental' (english, greek, + cyrillic) fonts, 3 or more 'oriental' (Kanji, Hiragana, + and Katakana) fonts, and a few hundred miscellaneous + symbols (mathematical, musical, cartographic, etc etc) + - are suitable for typographic quality output on a vector device + (such as a plotter) when used at an appropriate scale. + - were digitized by Dr. A. V. Hershey while working for the U.S. + Government National Bureau of Standards (NBS). + - are in the public domain, with a few caveats: + - They are available from NTIS (National Technical Info. + Service) in a computer-readable from which is *not* + in the public domain. This format is described in + a hardcopy publication "Tables of Coordinates for + Hershey's Repertory of Occidental Type Fonts and + Graphic Symbols" available from NTIS for less than + $20 US (phone number +1 703 487 4763). + - NTIS does not care about and doesn't want to know about + what happens to Hershey Font data that is not + distributed in their exact format. + - This distribution is not in the NTIS format, and thus is + only subject to the simple restriction described + at the top of this file. + +Hard Copy samples of the Hershey Fonts are best obtained by purchasing the +book described above from NTIS. It contains a sample of all of the Occidental +symbols (but none of the Oriental symbols). + +This distribution: + - contains + * a complete copy of the Font data using the original + glyph-numbering sequence + * a set of translation tables that could be used to generate + ASCII-sequence fonts in various typestyles + * a couple of sample programs in C and Fortran that are + capable of parsing the font data and displaying it + on a graphic device (we recommend that if you + wish to write programs using the fonts, you should + hack up one of these until it works on your system) + + - consists of the following files... + hershey.doc - details of the font data format, typestyles and + symbols included, etc. + hersh.oc[1-4] - The Occidental font data (these files can + be catenated into one large database) + hersh.or[1-4] - The Oriental font data (likewise here) + *.hmp - Occidental font map files. Each file is a translation + table from Hershey glyph numbers to ASCII + sequence for a particular typestyle. + hershey.f77 - A fortran program that reads and displays all + of the glyphs in a Hershey font file. + hershey.c - The same, in C, using GKS, for MS-DOS and the + PC-Color Graphics Adaptor. + +Additional Work To Be Done (volunteers welcome!): + + - Integrate this complete set of data with the hershey font typesetting + program recently distributed to mod.sources + - Come up with an integrated data structure and supporting routines + that make use of the ASCII translation tables + - Digitize additional characters for the few places where non-ideal + symbol substitutions were made in the ASCII translation tables. + - Make a version of the demo program (hershey.c or hershey.f77) that + uses the standard Un*x plot routines. + - Write a banner-style program using Hershey Fonts for input and + non-graphic terminals or printers for output. + - Anything else you'd like! diff --git a/hf2gcode/hershey_fonts/orig/japanese.jhf b/hf2gcode/hershey_fonts/orig/japanese.jhf new file mode 100644 index 0000000..110f104 --- /dev/null +++ b/hf2gcode/hershey_fonts/orig/japanese.jhf @@ -0,0 +1,307 @@ +12345 6D_HYGZH[IZHY +12345 8D_H[GZHYIZI\H^G_ +12345 8D_HOJQZP\Q RIP\Q +12345 27D_MHKGK\ RLHL\ RLZXZ RLHXH RWHXGZHYJ RXHX\ RYHY\ RLQXQ +12345 40D_KGIFI[ RJGJ[ RJGYG RXGYF[GZI RYGYWXYWZ RYXYYXZ RZGZYY[X[WZUY R +QGQP RRGRP RJPYP +12345 47D_LFJKGQ RLFMGLIINGQ RLI\IZGXI RXI[H RRIR\ RSIS\ RNOLNLU RMOMU R +MO[OYMWO RWOZN RGU]U[SYU RYU\T +12345 46D_QFQLPQNULXJZG\ RRGRK RQFSGRNQROVLYI[G\ RGM]M[KYM RYM\L RSMTQUT +VVXY[\][ RYY[[ RSMTPVTXWZY][ +12345 51D_JGHFH\ RIGI\ RIG[G RZG[F]G\I R[G[\ R\G\\ RKKYKXJWK RQKQW RRKRW + RLQXQWPVQ RKWYWXVWW RTSUUVUVTTS RI[[[ +12345 39D_QFQLPQNULXJZG\ RRGRK RQFSGRNQROVLYI[G\ RSGSKTQUTVVXY[\][ RYY[[ + RSKTPVTXWZY][ +12345 61D_RGSFQFQ\ RRGR\ RGH]H[GZH RLLJKJU RKLKU RKLXL RWLXKZLYN RXLXU R +YLYU RKPXP RKTXT RQTNWKYG[ RQVNXLYG[ RRTUXXZ[[]Z RRTUWYY]Z +12345 32D_RHSGQFQ] RRGR] RJLHKHV RILIV RILZL RYLZK\L[N RZLZV R[L[V RIUZU +12345 48D_RHSGQFQ\ RRGR\ RGL]L[JYL RYL\K RPLMRJVGY RQMOQMTKVGY RSMTPURXV +[Y]X RYV[X RSMTOWSZV]X RMWVWUVTW +12345 69D_RGRFSEQEQG RGG]G[EYG RYG\F RLKJJJR RKKKR RKKXK RWKXJZKYM RXKXR + RYKYR RKQXQ RQQQXPZO[ RQYQZP[ RRQRZQ\P\O[MZ RLTGY RLTMUGY RVTXVZY[Y[XZW +VT +12345 41D_QFQ[ RQFRFR[ RJHJP RJHKHKP RKOXO RXHXP RXHYHYP RHSH\ RHSISI\ R +I[Z[ RZSZ\ RZS[S[\ +12345 65D_HFHW RHFIGIW RIGMG RMGMV RLGMFNGNV RINMN RIUMU RUGVFTFTN RUGUN + RPJ[JYIXJ RNN]N[MZN RWNWZV[ RXNXZW\V[TZ RNR]R[QZR RQTRUSWTWTVSUQT +12345 24D_RHSGQFQ[ RRGR[ RRP[PYNWP RWPZO RG[][[YY[ RY[\Z +12345 59D_QGRFPFPM RQGQM RIIUITHSI RGM]M[LZM RXGUKRNNQIT RXGYHTMPPMRITGU + ROQMPM\ RNQN\ RNQXQ RWQXPZQYS RXQX\ RYQY\ RNVXV RN[X[ +12345 16D_RHSGQFQ\ RRGR\ RGO]O[MYO RYO\N +12345 8D_GQ]QZOXQ RXQ[P +12345 16D_JJZJXHVJ RVJYI RGX]X[VYX RYX\W +12345 24D_II[IYGWI RWIZH RKQYQWOUQ RUQXP RGZ]Z[XYZ RYZ\Y +12345 49D_JIHHHZ RIIIZ RII[I RZI[H]I\K R[I[Z R\I\Z ROIONNRMT RPIPNOQMTKV + RSISSTTXTYSXR RTITRUSWSXRXP RIY[Y +12345 37D_IHZHXFVH RVHYG RQHNZ RRHOZ RIPVP RUPVOXPWR RVPUZ RWPWRVZ RGZ]Z +[XYZ RYZ\Y +12345 43D_RISHQGQM RRHRM RGM]M[KYM RYM\L RMQLTJXH[ RNRMT RMQORMUJYH[ RTQ +VSYWZY[Z\Y[WXTTQ RYV[Y +12345 30D_MINHLGLZM[Y[ZZYX RXZYZYY RMHMYNZWZYXZU RHQNPSO[MXLWN RWNYM +12345 43D_RLQOOTMWJZG\ RRLSMRPPTNWLYI[G\ RLGUG RRGSFUGSI RSGSLTQUTVVXY[\ +][ RYY[[ RSLTPVTXWZY][ +12345 40D_NIOHMGMRLVJYG\ RNHNRMVKYG\ RGNTM RSMTLVMUO RTMTZU[\[]Z\X R[Z\Z +\Y RUMUYVZZZ\X]U +12345 6D_HYGZH[IZHY +12345 6D_HYGZH[IZHY +12345 6D_HYGZH[IZHY +12345 6D_HYGZH[IZHY +12345 6D_HYGZH[IZHY +12345 6D_HYGZH[IZHY +12345 59D_OFQGQIPL RPGPRQV RKKMLRLUKXJ RUKVJXJ RSSTOUPSSPWNYLZJZIYIVJTLR +NQQPVPYQ[S\U\W[YY[V\T\ RKZJYJVKTMRQP RVPXQZS[U[WZYX[V\ +12345 34D_HHJIJKIMHP RIIIKHPHSIVJWLXMXMVNSOQ RJWLWMV RWLYM[P\S\UZTWU R[P +[SZT +12345 39D_NEOFQGUG ROFTFUGQI RKMKNLOMOPMRL RKNLNOMRLTLWMXOXRWUUXRZN\ RTL +VMWOWRVUUWSYP[ +12345 45D_NEOFQGUG ROFTFUGQI RJMJNKOMORMULVM RJNMNRM RVMRPLVHZ RULRP RHZ +HYLVNURUSVTZU[\[ RW[ZZ[Z\[ +12345 62D_MFOGOINM RNGN[ RNTOZN[MYKXHW RHMJNNNQMSL RNNPMQLSL RHXLUQRTQVQ +YRZTZVYXWYUYSXRV RHXHWLU RVQXRYTYVXXWY RWKYK[L\MZMYN RYKZLZM +12345 54D_NFPGPIOLMQH[ ROGOIMOKTH[ RHMHNIOJOMMOLRLTMUOURTVRZQ[P[PZOYMX R +HNJNMM RRLTNTRSVRXPZ RWMYN[P\R\T[SYT RZO[Q[S +12345 46D_NFQGRKSNURXVWW RPGRK RURWW RLKNLQLTK RIOJPMQRQWPZO RWPYNZO RWW +UVRUNULVKWKYLZN[Q\W\ RN[V[W\ +12345 18D_TFVGVHNP RUGTINPNQSVUYV[ RNQVXWZV[ +12345 45D_IGKHKJJMIQ RJHJKIQIUJYKZKXLTMQNOONQMZM\L RIUJWKX RVMZL[K\L RVF +XGXUWXUZR\ RWGXJ RXRWVUYR\ +12345 23D_MHOIRJTJWI ROITIVHWIQL RKSKULWNXRYYY RNXXXYY +12345 49D_JKKLNMRMVLXKYJ RVLXJYJ RPFQIRKUOWRXT RPFQFQHRK RUOXRYTYU RYUXT +VSRRNRKSJUJWKYMZQ[U[ RJWKXMYQZVZU[ +12345 17D_LFNGMSMXNZ RMGLSLWMYNZP[S[VZYX[V +12345 36D_RFTGTSSUQVOUNSNROPQOSPTRTVSZQ\ RSGTL RTVSYQ\ RHJJLMLVKZJ\K RIK +ML RVK\K +12345 45D_LJNKNVOXPYRZZZ RMKNN RUZXYYYZZ RUGWHWTVVUURS RVHWK RWQVTUU RHN +JPLPPOUNYM[M\N RIOPO RUN\N +12345 47D_NGPIVG ROHQHVGWH RWHTKNOJQ RVGUISKNO RIPKROP RJQOPUOZN[O RUO[O + RUOSPQRPTPVQXRYUZYZ RQXTYXYYZ +12345 48D_NFPGPINOMRKWI[ ROGOJNO RMRKVIYI[ RHMJNMNPMRLTK RRLSJTK RUNXN[O +YOWP RXNYO RRVSXTYVZ[Z RSXUY\Y[Z +12345 44D_MFOGOIMNLRLTMU RNGNK RMNMU RHJKKOKSJUI RSJTHUI RMUOSRQUPXPZQ[S +[VZXWZS[O[ RXPYQZSZVYXWZ +12345 26D_HLJNOLSKWKZL[M\O\R[TZUXVUWPX RIMOL RWKYLZM[O[RZTXV +12345 35D_HIJKLKPJUIYH[H\I RIJPJ RUI\I RYIVJSLQOPRPUQXRYTZX[[[ RPUQWRXTY +XZZZ[[ +12345 29D_OFQGQQ RPGPMQQ RWNYPQQ RXOTPQQNRLSKUKWLYMZO[Z[ RLYNZYZZ[ +12345 63D_MFOGOIMOLRJWH[ RNGNJMO RLRJVHYH[ RHMJNLNOMQLSK RQLRJSK RVJXJZK +\MZLXM RXJZL RVOVQWTXVXXWZU[R[PZOXPVRUUUWV[Z RVQWVWYU[ RYXZZ[Z +12345 42D_IGKHKJJMIQ RJHJKIQIUJYKZKXLTMQ RIUJWKX RSJVIYI[JYJWK RWIYJ RQS +QURWUX\X RQURVUWZW\X +12345 69D_JILJLO RKJLOMRNTOVPW RNTPVPW RRGTHTJROOVMYKZIZHXHVISJQLOOMSLVL +YM[O\R\U[XZYXZVZTYSXSWTVVUXUZV\Y RSHSJRO RJZIXIUJRLO RVLXMZO[R[VZY RZV\X +\Y +12345 60D_MFOGOIM[ RNGN[M[LXKWIV RHLINKNOLOM RIMLMNLMP ROMMPKSHWHVKSOOSL +VKXKZL[N[UZXYYWZUZSYRXRWSVUUWUYVZW\Z RXKYLZNZVYY RZW\Y\Z +12345 42D_QHRJRMQPPRNULWJWIVHTHQINKKNIQHTHWIYJ[L\O\R[UYWWXTYQY RNULVJVIT +IQJMKK RWIZL[O[RZUWX +12345 51D_IGKHKJJMIQ RJHJKIQIUJYKZKXLTMQ RIUJWKX RUGWHWWVYTZRZPYOWPURTTT +VU[Y RVHWL RVU[X[Y RPMRNUNYM[L RYMZK[L +12345 52D_IGJHLIPI RJHOHPI RPIMKKMIPHSHVIXJYLZOZRYTWUUVQVMUIVI RHUIWJXLY +OYRXTVUTVQ RVIXLYN[Q\SZSYT RUIXL RYNZQZS +12345 53D_PFQISJ RQHSITITJ RTJQKOLNMNOOPQQSRTSUUUWTYRZPZMYKW RQQSSTUTWSY +RZ RIYLVOTRS RVSYT[V\XYX RIYIXLV RVSXTZV[X +12345 17D_HPJRMM RIQNLPLUQYT[U\VZVXW RUQZV +12345 61D_IGKHKJJMIQ RJHJKIQIUJYKZKXLTMQ RIUJWKX RQGSHUHYG RUHWGXFYG RPO +SPVPYO[N RYOZM[N RUHWIWWVYTZRZPYOWPURTTTVU[Y RVIWM RVU[X[Y +12345 45D_RFTGTXSZQ[O[MZLXMVOUQUTVWXZ[ RSGTK RWXZZZ[ RHIJKSKZJ RIJNK RSK +WJYIZJ RMPOQSQWPYO RWPXNYO +12345 44D_JGKIMIPHSFTG RKHPH RTGPMMSKVJWIWHVHTIRKQPQTRWS\U RSFPM RTR\T\U + RVMXNXTWWUYSZP[ RWNWUVX +12345 57D_MFOGOINMMQLTKVJWIWHVHTIRJQKQLRLWMZO[U[XZYYXXWVVRVNWMYM[N\P\Q[Q +YR RNGNM RLWMYOZUZWYXX RYM[O[Q RHKKLNLQKSJ RQKRISJ +12345 61D_JILJLO RKJLOMRNTOVPW RNTPVPW RSGUHUJTMRRQTOWMYKZIZHYHWITJRLPON +RMVMYN[P\S\V[XZYXZU[R[ RTHTJRR RJZIYIVJSLP RVMXNZP[S[VZXXZ +12345 42D_OFQGQIPM RPGPTQXRZT[X[ZZ[X[VZTXRUP RW[YZZXZUYS RLJMKPLSL RMKRK +SL RSLPMNNLPKRLTNUSU +12345 48D_PFRGSHTJSKPJMJLKLMOTQ[ RRGSISK ROTRZQ[ RHNIPKPNNRLVKYK[L\N\P[R +ZSWTTTQS RIOKONN RYKZL[N[PZRYSWT +12345 34D_HHJIJKIMHP RIIIKHPHSIVJWLXMXMVNSOQ RJWLWMV RWLYM[P\S\UZTWU R[P +[SZT +12345 52D_HJJKJMIP RIKITJWKXKVLSMQONRKUJXJZK[L\N\Q[SYUWVTVRUPSOPOMPIQGSF +UFVHVSUWTYQ[ RITJVKV RZK[N[QZT RVSUVTXQ[ +12345 45D_NEOFQGUG ROFTFUGQI RJMJNKOMORMULVM RJNMNRM RVMRPLVHZ RULRP RHZ +HYLVNURUSVTZU[\[ RW[ZZ[Z\[ +12345 34D_PFSGSIRN RRGRXQZO[L[JZIYIWJVLUOURVVX[[ RRVWX[Z[[ RRNUNYM RUNWM +XLYM +12345 42D_OFQFSGTHRHPI RQFRGRH RLLKNJRJTKUORQQTPWPYQZSZUYWWYUZQ[O[ RJRKT +LT RWPXQYSYUXWVYTZQ[ +12345 37D_LFNGNILM RMGMILMLPMSNTNROOQLSJUIWIXJYMYRXVVYS[O\ RLPMRNR RVIWJ +XMXRWVUYS[ +12345 50D_MGNIPIUG RNHPHUGVH RVHRKNPKU RUGRK RNPKSKU RKUMSPQSPVPXQYRZTZW +YYXZV[S[QZPYPXQWSWUXWZ RVPXRYTYWXYV[ +12345 49D_MFOGOIM[ RNGN[M[LXKWIV RHLINKNOLOM RIMLMOLMP ROMMPKSHWHVKSOOSL +VKWKYLZNYXYZZ[ RWKXLYNXXXZY[Z[[Z\X +12345 42D_MGNIPIUG RNHPHUGVH RVHRKNPKU RUGRK RNPKSKU RKUMSPQSPVPXQYRZTZW +YYW[T\R\ RVPXRYTYWXZ +12345 49D_MFOGOIM[ RNGN[M[LXKWIV RHLINKNOLOM RIMLMOLMP ROMMPKSHWHVKSNPQN +TMWMYNZO[Q[TZWXYVZS[ RWMYOZQZTYWVZ +12345 52D_MGNIPITG RNHPHTGUH RUHQNMVLXKYIYHWHUISKQNORNVNYO[Q\S\V[XYZW[T[ +RZQYQXRWTWVXXZ RTGQN RJYIWIUJR RZP[S[VZY +12345 39D_NEOFQGUG ROFTFUGQI RKMKNLOMOPMRL RKNLNOMRLTLWMXOXRWUUXRZN\ RTL +VMWOWRVUUWSYP[ +12345 69D_LGMIOIQHTF RMHOHRGTFUG RUGQJMNJR RTFQJ RJRJPMNOMRLULWMXOXQWSUT +PTOSOQPPRPSQSSRTNUKWHZH[I[KW RJYLXNXPZQZSXVWYW[X\Y\[[ZYZ RNXPYQYSX RYW[Y +[Z +12345 57D_PFRGRHPLNOKRHU RQGQHPL RKRHTHU RMPOOQOSPTRTV RQORPSRSWTV RIJLK +OKSJWI RSJVHWI R[O\QTRQSOTNVNXOZQ[Y[ R[PTR RT[XZY[ +12345 30D_QFSHPMLTH[ RRGPM RH[HYLTNRPQRQTRTWUYVZ RRQSRSWTYVZXZZY[W\T +12345 6D_HYGZH[IZHY +12345 6D_HYGZH[IZHY +12345 6D_HYGZH[IZHY +12345 6D_HYGZH[IZHY +12345 60D_NFPGPIOLMQH[ ROGOIMOKTH[ RHMHNIOJOMMOLRLTMUOURTVRZQ[P[PZOYMX R +HNJNMM RRLTNTRSVRXPZ RWMYN[P\R\T[SYT RZO[Q[S RWHYJ RYF[H +12345 52D_NFQGRKSNURXVWW RPGRK RURWW RLKNLQLTK RIOJPMQRQWPZO RWPYNZO RWW +UVRUNULVKWKYLZN[Q\W\ RN[V[W\ RWHYJ RYF[H +12345 24D_TFVGVHNP RUGTINPNQSVUYV[ RNQVXWZV[ RYH[J R[F]H +12345 51D_IGKHKJJMIQ RJHJKIQIUJYKZKXLTMQNOONQMZM\L RIUJWKX RVMZL[K\L RVF +XGXUWXUZR\ RWGXJ RXRWVUYR\ R[G]I R]E_G +12345 29D_MHOIRJTJWI ROITIVHWIQL RKSKULWNXRYYY RNXXXYY RYG[I R[E]G +12345 55D_JKKLNMRMVLXKYJ RVLXJYJ RPFQIRKUOWRXT RPFQFQHRK RUOXRYTYU RYUXT +VSRRNRKSJUJWKYMZQ[U[ RJWKXMYQZVZU[ RZG\I R\E^G +12345 23D_LFNGMSMXNZ RMGLSLWMYNZP[S[VZYX[V RSHUJ RUFWH +12345 42D_RFTGTSSUQVOUNSNROPQOSPTRTVSZQ\ RSGTL RTVSYQ\ RHJJLMLVKZJ\K RIK +ML RVK\K RXFZH R[E]G +12345 51D_LJNKNVOXPYRZZZ RMKNN RUZXYYYZZ RUGWHWTVVUURS RVHWK RWQVTUU RHN +JPLPPOUNYM[M\N RIOPO RUN\N RZH\J R\F^H +12345 53D_NGPIVG ROHQHVGWH RWHTKNOJQ RVGUISKNO RIPKROP RJQOPUOZN[O RUO[O + RUOSPQRPTPVQXRYUZYZ RQXTYXYYZ RZH\J R\F^H +12345 54D_NFPGPINOMRKWI[ ROGOJNO RMRKVIYI[ RHMJNMNPMRLTK RRLSJTK RUNXN[O +YOWP RXNYO RRVSXTYVZ[Z RSXUY\Y[Z RXHZJ RZF\H +12345 50D_MFOGOIMNLRLTMU RNGNK RMNMU RHJKKOKSJUI RSJTHUI RMUOSRQUPXPZQ[S +[VZXWZS[O[ RXPYQZSZVYXWZ RXIZK RZG\I +12345 32D_HLJNOLSKWKZL[M\O\R[TZUXVUWPX RIMOL RWKYLZM[O[RZTXV RZH\J R\F^H +12345 41D_HIJKLKPJUIYH[H\I RIJPJ RUI\I RYIVJSLQOPRPUQXRYTZX[[[ RPUQWRXTY +XZZZ[[ RZM\O R\K^M +12345 35D_OFQGQQ RPGPMQQ RWNYPQQ RXOTPQQNRLSKUKWLYMZO[Z[ RLYNZYZZ[ RXIZK + RZG\I +12345 57D_IGKHKJJMIQ RJHJKIQIUJYKZKXLTMQ RIUJWKX RUGWHWWVYTZRZPYOWPURTTT +VU[Y RVHWL RVU[X[Y RPMRNUNYM[L RYMZK[L RZG\I R\E^G +12345 58D_IGJHLIPI RJHOHPI RPIMKKMIPHSHVIXJYLZOZRYTWUUVQVMUIVI RHUIWJXLY +OYRXTVUTVQ RVIXLYN[Q\SZSYT RUIXL RYNZQZS RYH[J R[F]H +12345 59D_PFQISJ RQHSITITJ RTJQKOLNMNOOPQQSRTSUUUWTYRZPZMYKW RQQSSTUTWSY +RZ RIYLVOTRS RVSYT[V\XYX RIYIXLV RVSXTZV[X RWIYK RYG[I +12345 23D_HPJRMM RIQNLPLUQYT[U\VZVXW RUQZV RUJWL RWHYJ +12345 67D_IGKHKJJMIQ RJHJKIQIUJYKZKXLTMQ RIUJWKX RQGSHUHYG RUHWGXFYG RPO +SPVPYO[N RYOZM[N RUHWIWWVYTZRZPYOWPURTTTVU[Y RVIWM RVU[X[Y R[I]K R]G_I +12345 61D_IGKHKJJMIQ RJHJKIQIUJYKZKXLTMQ RIUJWKX RUGWHWWVYTZRZPYOWPURTTT +VU[Y RVHWL RVU[X[Y RPMRNUNYM[L RYMZK[L R[EZFZH[I]I^H^F]E[E +12345 62D_IGJHLIPI RJHOHPI RPIMKKMIPHSHVIXJYLZOZRYTWUUVQVMUIVI RHUIWJXLY +OYRXTVUTVQ RVIXLYN[Q\SZSYT RUIXL RYNZQZS RZFYGYIZJ\J]I]G\FZF +12345 63D_PFQISJ RQHSITITJ RTJQKOLNMNOOPQQSRTSUUUWTYRZPZMYKW RQQSSTUTWSY +RZ RIYLVOTRS RVSYT[V\XYX RIYIXLV RVSXTZV[X RXGWHWJXKZK[J[HZGXG +12345 27D_HPJRMM RIQNLPLUQYT[U\VZVXW RUQZV RVHUIUKVLXLYKYIXHVH +12345 71D_IGKHKJJMIQ RJHJKIQIUJYKZKXLTMQ RIUJWKX RQGSHUHYG RUHWGXFYG RPO +SPVPYO[N RYOZM[N RUHWIWWVYTZRZPYOWPURTTTVU[Y RVIWM RVU[X[Y R\G[H[J\K^K_J +_H^G\G +12345 36D_HGJIOHUGZF\H RIHOH RUG[G R\HZJVMTN R[GYJWLTN RRMTNTQSUQXN[ RRM +SNSQRUPY +12345 22D_VFXHULRONRKT RWGVISMOQKT RSNUOU\ RSNTOT[U\ +12345 42D_PFSGSIRK RPFRGRK RJIKKKPLQ RLKLQ RLKYK RJIKJOK RUKXJZL RZLWRUU +RXOZM[ RYKXNVRSVPYM[ +12345 23D_QKSLSW RRLRW RJJLLXJZK RKKZK RHVJXZV\W RIW\W +12345 35D_RFUGUYT[SYPW RTGTXSY RHLJNOMULZK\L RIMOM RUL\L RSMPQLUHX RTMRP +OSKVHX +12345 41D_QFSHRKPPNTLWI[ RRGQJOPMUI[ RILKNOMTLXKZM RJMOM RTLYL RZMYSXWWY +U[TZRY RYLXSWWVYTZ +12345 34D_OFRGT[ RQGS\T[ RJLLNPMTLXKZL RKMPM RTLZL RHRJTOSURZQ\R RISOS R +UR\R +12345 34D_PFRHPLNOLQJS RQGPJNNLQ RQJSKXK RUKWJYL RYLVRSVPYM[K\ RXKWNURRV +OYK\ +12345 32D_NFPHNLLOJQHS ROGNJLNJQ RLOTNYM\N RTN\N RROTQRUPXNZL\ RSPRSPWNZ +12345 24D_JJLLXJZL RKKYK RZLYOXV RYKXPXV RJVLXXVYW RKWYW +12345 36D_LINJNOMS RMJMS RTFWGWLVQUTTVRYP[ RVGVLUQTURY RHMJOONUMZL\M RIN +ON RUM\M +12345 28D_MGOHPIPJOJNHMG RHNJOKPKQJQIOHN RIXKZOXSUWQ[L RJYOWST[L +12345 30D_JILKWIYK RKJXJ RYKWNTQQSOTJV RXJWLUOSQPSJV RUSXUZWZXYXXVUS +12345 35D_OGRHRJQS RQHQVRXTY[Y RVYZX[Y RHNJPOOUNZM\O RIOOO RUN[N R\OYQVT + R[NVT +12345 23D_IIKJLKLLKLJJII RXHZJWPTTQWNYLZ RYIXLVPSTPWLZ +12345 44D_PFRHPLNOLQJS RQGPJNNLQ RQJSKXK RUKWJYL RYLVRSVPYM[K\ RXKWNURRV +OYK\ RNPQQSRVTWUWVVVUTSR +12345 36D_LJOJTIXG ROJRITHWFXG RPJSKSQRUPXM[ RRKRQQUOY RHNJPOOUNZM\N RIO +OO RUN\N +12345 31D_IIKJLKLLKLJJII ROHQIRJRKQKPIOH RXHZJWPTTQWNYLZ RYIXLVPSTPWLZ +12345 32D_LFNHWFXG RMGXG RHNJPOOUNZM\N RIOOO RUN\N RSOSQRUPXM[ RRORQQUOY +12345 17D_MFPGP\ ROGO[P\ RPOROUPVQVRURTPRO +12345 28D_QFTGTLSQRTQVOYM[ RSGSLRQQUOY RHNJPOOUNZM\N RIOOO RUN\N +12345 16D_LJNLWJXK RMKXK RHVJXZV\W RIW\W +12345 32D_JILKWIYK RKJXJ RYKWNTQQSOTJV RXJWLUOSQPSJV RMOPPTRWTYVYWXWVTTR +12345 44D_PFRGSHSIRIQGPF RJLLNVLXN RKMWM RXNTRQTOUJW RWMUPSRPTJW RRSSTS\ + RRSR[S\ RXUZV[W[XZXYVXU +12345 15D_WHYJVPSTPWMYKZ RXIWLTQQUNXKZ +12345 20D_LLNNMQLSJUHV RMMLQJU RVLXNZQ\U\V[VZRXN +12345 25D_IGLHLJKS RKHKVLXNYYY RQYUXWXYY RKROQRPXN RRPVNXN +12345 25D_JGLIYI RKHOI RUIXHZJ RZJWPUSRVOXMY RYIXLVPSTPWMY +12345 15D_GQISPLQL[V RHRJQNN RUPZT\U[V +12345 40D_PFSGSYR[QYOX RRGRXQY RHLJNOMULZK\L RIMOM RUL\L RLSJVIWHWHVJULS + RXS[U\V\W[WZUXS +12345 31D_HLJNOMULZK\M RIMOM RUL[L R\MZOVRTS R[LYOWQTS RQRTTVVVWUWTUQR +12345 28D_PFSGUHVIVJUJSHPF RMMPNROSPSQRQPOMM RNVSXUYVZV[U[SYPWNV +12345 22D_RITKMW RSJMW RHWJYYV RIXYV RVSXUZX[X[WYUVS +12345 25D_WHYJVPSTPWMYKZ RXIWLUPRTOWKZ RONSPVRXTXUWUVSTQQO +12345 35D_LINKWIXJ RMJXJ RQKQVRXTY[Y RRKRMQS RVYZX[Y RHQJSORUQZP\Q RIROR + RUQ\Q +12345 31D_OFRGT[ RQGS\T[ RHLJNOMULZK\M RIMOM RUL[L R\MYPVRTS R[LZNWQTS +12345 22D_VFXHULRONRKT RWGVISMOQKT RSNUOU\ RSNTOT[U\ +12345 24D_IJKLUJWL RJKVK RWLVOUV RVKUPUV RHVJXZV\W RIW\W +12345 23D_QKSLSW RRLRW RJJLLXJZK RKKZK RHVJXZV\W RIW\W +12345 30D_JJLLXJZL RKKYK RJPLRXP RKQXQ RJVLXXV RKWXW RZLYOYY RYKXPXY +12345 30D_LFNHWFXG RMGXG RJMLOWMYO RKNXN RYOWRTUQWOXLY RXNWPUSSUPWLY +12345 21D_LINJNOMS RMJMS RTFWGWQVUTXQ[ RVGVQUUTWQ[ +12345 31D_LJNKNNMRKUHX RMKMNLRKTHX RQISJSMRS RRJRVSXUXWWYU\Q RRVSWVWXV +12345 21D_HIKJKMJS RJJJVKXNXQWTUXR[O RJVKWNWQVUTXR +12345 30D_JJLLXJZL RKKYK RKKKZ RLLLXKZ RZLYOXV RYKXPXV RLXXVYW RLWYW +12345 33D_JGKIKNLO RLILO RLIYI RJGKHOI RUIXHZJ RZJWPUSRVOXMY RYIXLVPSTPW +MY +12345 31D_QFTGT[ RSGS\T[ RJJLLXJZK RKKZK RLLNMNR RMMMR RHQJSZQ\R RIR\R +12345 42D_PFSGSIRK RPFRGRK RJIKKKPLQ RLKLQ RLKYK RJIKJOK RUKXJZL RZLWRUU +RXOZM[ RYKXNVRSVPYM[ +12345 30D_JJLLXJZL RKKYK RZLWNSQ RYKSQ RQPSQSW RRQRW RHVJXZV\W RIW\W +12345 32D_JGLIYI RKHOI RUIXHZJ RLNNPVO RMOVO RZJWPUSRVOXMY RYIXLVPSTPWMY +12345 20D_JHLIMJMKLKKIJH RIWKYOWSTWP[K RJXOVSS[K +12345 6D_HYGZH[IZHY +12345 6D_HYGZH[IZHY +12345 6D_HYGZH[IZHY +12345 6D_HYGZH[IZHY +12345 47D_QFSHRKPPNTLWI[ RRGQJOPMUI[ RILKNOMTLXKZM RJMOM RTLYL RZMYSXWWY +U[TZRY RYLXSWWVYTZ RZH\J R\F^H +12345 40D_OFRGT[ RQGS\T[ RJLLNPMTLXKZL RKMPM RTLZL RHRJTOSURZQ\R RISOS R +UR\R RZH\J R\F^H +12345 40D_PFRHPLNOLQJS RQGPJNNLQ RQJSKXK RUKWJYL RYLVRSVPYM[K\ RXKWNURRV +OYK\ RYH[J R[F]H +12345 38D_NFPHNLLOJQHS ROGNJLNJQ RLOTNYM\N RTN\N RROTQRUPXNZL\ RSPRSPWNZ + RYH[J R[F]H +12345 30D_JJLLXJZL RKKYK RZLYOXV RYKXPXV RJVLXXVYW RKWYW RZH\J R\F^H +12345 42D_LINJNOMS RMJMS RTFWGWLVQUTTVRYP[ RVGVLUQTURY RHMJOONUMZL\M RIN +ON RUM\M RZH\J R\F^H +12345 34D_MGOHPIPJOJNHMG RHNJOKPKQJQIOHN RIXKZOXSUWQ[L RJYOWST[L RVHXJ R +XFZH +12345 36D_JILKWIYK RKJXJ RYKWNTQQSOTJV RXJWLUOSQPSJV RUSXUZWZXYXXVUS RZH +\J R\F^H +12345 41D_OGRHRJQS RQHQVRXTY[Y RVYZX[Y RHNJPOOUNZM\O RIOOO RUN[N R\OYQVT + R[NVT RYH[J R[F]H +12345 29D_IIKJLKLLKLJJII RXHZJWPTTQWNYLZ RYIXLVPSTPWLZ R[G]I R]E_G +12345 50D_PFRHPLNOLQJS RQGPJNNLQ RQJSKXK RUKWJYL RYLVRSVPYM[K\ RXKWNURRV +OYK\ RNPQQSRVTWUWVVVUTSR RYH[J R[F]H +12345 42D_LJOJTIXG ROJRITHWFXG RPJSKSQRUPXM[ RRKRQQUOY RHNJPOOUNZM\N RIO +OO RUN\N RZH\J R\F^H +12345 37D_IIKJLKLLKLJJII ROHQIRJRKQKPIOH RXHZJWPTTQWNYLZ RYIXLVPSTPWLZ R +[G]I R]E_G +12345 38D_LFNHWFXG RMGXG RHNJPOOUNZM\N RIOOO RUN\N RSOSQRUPXM[ RRORQQUOY + RZH\J R\F^H +12345 23D_MFPGP\ ROGO[P\ RPOROUPVQVRURTPRO RTHVJ RVFXH +12345 26D_LLNNMQLSJUHV RMMLQJU RVLXNZQ\U\V[VZRXN RYI[K R[G]I +12345 31D_IGLHLJKS RKHKVLXNYYY RQYUXWXYY RKROQRPXN RRPVNXN RYI[K R[G]I +12345 31D_JGLIYI RKHOI RUIXHZJ RZJWPUSRVOXMY RYIXLVPSTPWMY R[G]I R]E_G +12345 21D_GQISPLQL[V RHRJQNN RUPZT\U[V RVJXL RXHZJ +12345 46D_PFSGSYR[QYOX RRGRXQY RHLJNOMULZK\L RIMOM RUL\L RLSJVIWHWHVJULS + RXS[U\V\W[WZUXS RZG\I R\E^G +12345 30D_LLNNMQLSJUHV RMMLQJU RVLXNZQ\U\V[VZRXN RZGYHYJZK\K]J]H\GZG +12345 35D_IGLHLJKS RKHKVLXNYYY RQYUXWXYY RKROQRPXN RRPVNXN RZGYHYJZK\K]J +]H\GZG +12345 35D_JGLIYI RKHOI RUIXHZJ RZJWPUSRVOXMY RYIXLVPSTPWMY R\E[F[H\I^I_H +_F^E\E +12345 25D_GQISPLQL[V RHRJQNN RUPZT\U[V RWHVIVKWLYLZKZIYHWH +12345 50D_PFSGSYR[QYOX RRGRXQY RHLJNOMULZK\L RIMOM RUL\L RLSJVIWHWHVJULS + RXS[U\V\W[WZUXS R[EZFZH[I]I^H^F]E[E diff --git a/hf2gcode/hershey_fonts/orig/markers.jhf b/hf2gcode/hershey_fonts/orig/markers.jhf new file mode 100644 index 0000000..b47f722 --- /dev/null +++ b/hf2gcode/hershey_fonts/orig/markers.jhf @@ -0,0 +1,99 @@ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 18KYQKNLLNKQKSLVNXQYSYVXXVYSYQXNVLSKQK +12345 6LXLLLXXXXLLL +12345 5KYRJKVYVRJ +12345 6LXRHLRR\XRRH +12345 12JZRIPOJOOSMYRUWYUSZOTORI +12345 14LXPLPPLPLTPTPXTXTTXTXPTPTLPL +12345 6KYRKRY RKRYR +12345 6MWMMWW RWMMW +12345 9MWRLRX RMOWU RWOMU +12345 35NVQNOONQNSOUQVSVUUVSVQUOSNQN ROQOS RPPPT RQOQU RRORU RSOSU RTPTT + RUQUS +12345 27NVNNNVVVVNNN ROOOU RPOPU RQOQU RRORU RSOSU RTOTU RUOUU +12345 17MWRLMUWURL RROOT RROUT RRRQT RRRST +12345 17LULRUWUMLR RORTU RORTO RRRTS RRRTQ +12345 17MWRXWOMORX RRUUP RRUOP RRRSP RRRQP +12345 17OXXROMOWXR RURPO RURPU RRRPQ RRRPS +12345 9D`DR`R RDRRb R`RRb +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 18KYQKNLLNKQKSLVNXQYSYVXXVYSYQXNVLSKQK +12345 6LXLLLXXXXLLL +12345 5KYRJKVYVRJ +12345 6LXRHLRR\XRRH +12345 12JZRIPOJOOSMYRUWYUSZOTORI +12345 14LXPLPPLPLTPTPXTXTTXTXPTPTLPL +12345 6KYRKRY RKRYR +12345 6MWMMWW RWMMW +12345 9MWRLRX RMOWU RWOMU +12345 35NVQNOONQNSOUQVSVUUVSVQUOSNQN ROQOS RPPPT RQOQU RRORU RSOSU RTPTT + RUQUS +12345 27NVNNNVVVVNNN ROOOU RPOPU RQOQU RRORU RSOSU RTOTU RUOUU +12345 17MWRLMUWURL RROOT RROUT RRRQT RRRST +12345 17LULRUWUMLR RORTU RORTO RRRTS RRRTQ +12345 17MWRXWOMORX RRUUP RRUOP RRRSP RRRQP +12345 17OXXROMOWXR RURPO RURPU RRRPQ RRRPS +12345 9D`DR`R RDRRb R`RRb +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ +12345 1JZ diff --git a/hf2gcode/hershey_fonts/orig/mathlow.jhf b/hf2gcode/hershey_fonts/orig/mathlow.jhf new file mode 100644 index 0000000..b753153 --- /dev/null +++ b/hf2gcode/hershey_fonts/orig/mathlow.jhf @@ -0,0 +1,101 @@ +12345 1JZ +12345 9F^RJR[ RJRZR RJ[Z[ +12345 9F^RJR[ RJJZJ RJRZR +12345 6G]KKYY RYKKY +12345 6PURQRRSRSQRQ +12345 32F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT +12345 10F^ZFJMZT RJVZV RJ[Z[ +12345 10F^JFZMJT RJVZV RJ[Z[ +12345 20KYVBTDRGPKOPOTPYR]T`Vb RTDRHQKPPPTQYR\T` +12345 20KYNBPDRGTKUPUTTYR]P`Nb RPDRHSKTPTTSYR\P` +12345 9JZRLRX RMOWU RWOMU +12345 6E_RIR[ RIR[R +12345 8NVSWRXQWRVSWSYQ[ +12345 3E_IR[R +12345 6NVRVQWRXSWRV +12345 3G][BIb +12345 18H\QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF +12345 5H\NJPISFS[ +12345 15H\LKLJMHNGPFTFVGWHXJXLWNUQK[Y[ +12345 16H\MFXFRNUNWOXPYSYUXXVZS[P[MZLYKW +12345 7H\UFKTZT RUFU[ +12345 18H\WFMFLOMNPMSMVNXPYSYUXXVZS[P[MZLYKW +12345 24H\XIWGTFRFOGMJLOLTMXOZR[S[VZXXYUYTXQVOSNRNOOMQLT +12345 6H\YFO[ RKFYF +12345 30H\PFMGLILKMMONSOVPXRYTYWXYWZT[P[MZLYKWKTLRNPQOUNWMXKXIWGTFPF +12345 24H\XMWPURRSQSNRLPKMKLLINGQFRFUGWIXMXRWWUZR[P[MZLX +12345 21AcHBHb RIBIb R[B[b R\B\b RDB`B RDbMb RWb`b +12345 23BaGBQPFb RFBPP REBPQ REB\B^I[B RGa\a RFb\b^[[b +12345 4F^ZIJRZ[ +12345 6E_IO[O RIU[U +12345 4F^JIZRJ[ +12345 9E_YIK[ RIO[O RIU[U +12345 9E_IM[M RIR[R RIW[W +12345 18I\XMX[ RXPVNTMQMONMPLSLUMXOZQ[T[VZXX +12345 18H[LFL[ RLPNNPMSMUNWPXSXUWXUZS[P[NZLX +12345 15I[XPVNTMQMONMPLSLUMXOZQ[T[VZXX +12345 18I\XFX[ RXPVNTMQMONMPLSLUMXOZQ[T[VZXX +12345 18I[LSXSXQWOVNTMQMONMPLSLUMXOZQ[T[VZXX +12345 9MYWFUFSGRJR[ ROMVM +12345 23I\XMX]W`VaTbQbOa RXPVNTMQMONMPLSLUMXOZQ[T[VZXX +12345 11I\MFM[ RMQPNRMUMWNXQX[ +12345 9NVQFRGSFREQF RRMR[ +12345 12MWRFSGTFSERF RSMS^RaPbNb +12345 9IZMFM[ RWMMW RQSX[ +12345 3NVRFR[ +12345 19CaGMG[ RGQJNLMOMQNRQR[ RRQUNWMZM\N]Q][ +12345 11I\MMM[ RMQPNRMUMWNXQX[ +12345 18I\QMONMPLSLUMXOZQ[T[VZXXYUYSXPVNTMQM +12345 18H[LMLb RLPNNPMSMUNWPXSXUWXUZS[P[NZLX +12345 18I\XMXb RXPVNTMQMONMPLSLUMXOZQ[T[VZXX +12345 9KXOMO[ ROSPPRNTMWM +12345 18J[XPWNTMQMNNMPNRPSUTWUXWXXWZT[Q[NZMX +12345 9MYRFRWSZU[W[ ROMVM +12345 11I\MMMWNZP[S[UZXW RXMX[ +12345 6JZLMR[ RXMR[ +12345 12G]JMN[ RRMN[ RRMV[ RZMV[ +12345 6J[MMX[ RXMM[ +12345 10JZLMR[ RXMR[P_NaLbKb +12345 9J[XMM[ RMMXM RM[X[ +12345 12KYOBOb RPBPb ROBVB RObVb +12345 3KYKFY^ +12345 12KYTBTb RUBUb RNBUB RNbUb +12345 21F_[WYWWVUTRPQOONMNKOJQJSKUMVOVQURTUPWNYM[M +12345 26F_\S[UYVWVUUTTQPPONNLNJOIQISJULVNVPUQTTPUOWNYN[O\Q\S +12345 14KYQFOGNINKOMQNSNUMVKVIUGSFQF +12345 27H\PBP_ RTBT_ RYIWGTFPFMGKIKKLMMNOOUQWRXSYUYXWZT[P[MZKX +12345 10E[HMLMRY RKMR[ R[BR[ +12345 10AbDMIMRY RHNR[ Rb:R[ +12345 13F^ZJSJOKMLKNJQJSKVMXOYSZZZ +12345 13F^JJJQKULWNYQZSZVYXWYUZQZJ +12345 13F^JJQJUKWLYNZQZSYVWXUYQZJZ +12345 13F^JZJSKOLMNKQJSJVKXMYOZSZZ +12345 16F^ZJSJOKMLKNJQJSKVMXOYSZZZ RJRVR +12345 11E_XP[RXT RUMZRUW RIRZR +12345 11JZPLRITL RMORJWO RRJR[ +12345 11E_LPIRLT ROMJROW RJR[R +12345 11JZPXR[TX RMURZWU RRIRZ +12345 44I\XRWOVNTMRMONMQLTLWMYNZP[R[UZWXXUYPYKXHWGUFRFPGOHOIPIPH RRMPNNQ +MTMXNZ RR[TZVXWUXPXKWHUF +12345 15H\JFR[ RKFRY RZFR[ RJFZF RKGYG +12345 10AbDMIMRY RHNR[ Rb:R[ +12345 32F^[CZD[E\D\C[BYBWCUETGSJRNPZO^N` RVDUFTJRVQZP]O_MaKbIbHaH`I_J`Ia +12345 57Ca].\.[/[0\1]1^0^.],[+Y+W,U.T0S3R:QJQjPsOv R\/\0]0]/\/ RR:Rj RU. +T1S:SZRjQqPtOvMxKyIyGxFvFtGsHsItIuHvGv RGtGuHuHtGt +12345 28I[X+U1R8P=OANFMNMVN^OcPgRlUsXy RU1S6QHf RI>If RM>Mf RQBSBSDQDQAR?T>W>Y?[A\D\I[LYNWOUOSNRLQNOQNROS +QVRXSVUUWUYV[X\[\`[cYeWfTfReQcQ`S`SbQb RRBRD RQCSC RY?ZA[D[IZLYN RRLRNPQ +NRPSRVRX RYVZX[[[`ZcYe RR`Rb RQaSa +12345 18JZMNMQ RWNWQ RMNWN RMOWO RMPWP RMQWQ +12345 18H\UFH[ RUFV[ RTHU[ RLUUU RF[L[ RR[X[ +12345 41F^OFI[ RPFJ[ RLFWFZG[I[KZNYOVP RWFYGZIZKYNXOVP RMPVPXQYSYUXXVZR[ +F[ RVPWQXSXUWXUZR[ +12345 34H]ZH[H\F[L[JZHYGWFTFQGOIMLLOKSKVLYMZP[S[UZWXXV RTFRGPINLMOLSLVMY +NZP[ +12345 30F]OFI[ RPFJ[ RLFUFXGYHZKZOYSWWUYSZO[F[ RUFWGXHYKYOXSVWTYRZO[ +12345 22F]OFI[ RPFJ[ RTLRT RLF[FZLZF RMPSP RF[U[WVT[ +12345 20F\OFI[ RPFJ[ RTLRT RLF[FZLZF RMPSP RF[M[ +12345 42H^ZH[H\F[L[JZHYGWFTFQGOIMLLOKSKVLYMZP[R[UZWXYT RTFRGPINLMOLSLVMY +NZP[ RR[TZVXXT RUT\T +12345 27E_NFH[ ROFI[ R[FU[ R\FV[ RKFRF RXF_F RLPXP RE[L[ RR[Y[ +12345 12LYUFO[ RVFP[ RRFYF RL[S[ +12345 21I[XFSWRYQZO[M[KZJXJVKULVKW RWFRWQYO[ RTF[F +12345 27F]OFI[ RPFJ[ R]FLS RSOW[ RROV[ RLFSF RYF_F RF[M[ RS[Y[ +12345 14H\QFK[ RRFL[ RNFUF RH[W[YUV[ +12345 30E`NFH[ RNFO[ ROFPY R\FO[ R\FV[ R]FW[ RKFOF R\F`F RE[K[ RS[Z[ +12345 21F_OFI[ ROFVX ROIV[ R\FV[ RLFOF RYF_F RF[L[ +12345 42G]SFPGNILLKOJSJVKYLZN[Q[TZVXXUYRZNZKYHXGVFSF RSFQGOIMLLOKSKVLYN[ + RQ[SZUXWUXRYNYKXHVF +12345 27F]OFI[ RPFJ[ RLFXF[G\I\K[NYPUQMQ RXFZG[I[KZNXPUQ RF[M[ +12345 61G]SFPGNILLKOJSJVKYLZN[Q[TZVXXUYRZNZKYHXGVFSF RSFQGOIMLLOKSKVLYN[ + RQ[SZUXWUXRYNYKXHVF RLYLXMVOUPURVSXS_T`V`W^W] RSXT^U_V_W^ +12345 42F^OFI[ RPFJ[ RLFWFZG[I[KZNYOVPMP RWFYGZIZKYNXOVP RRPTQURVZW[Y[ZY +ZX RURWYXZYZZY RF[M[ +12345 35G^ZH[H\F[L[JZHYGVFRFOGMIMKNMONVRXT RMKOMVQWRXTXWWYVZS[O[LZKYJWJU +I[JYKY +12345 16H]UFO[ RVFP[ ROFLLNF]F\L\F RL[S[ +12345 25F_NFKQJUJXKZN[R[UZWXXU\F ROFLQKUKXLZN[ RKFRF RYF_F +12345 15H\NFO[ ROFPY R\FO[ RLFRF RXF^F +12345 24E_MFK[ RNFLY RUFK[ RUFS[ RVFTY R]FS[ RJFQF RZF`F +12345 21G]NFU[ ROFV[ R\FH[ RLFRF RXF^F RF[L[ RR[X[ +12345 20H]NFRPO[ ROFSPP[ R]FSP RLFRF RYF_F RL[S[ +12345 16G][FH[ R\FI[ ROFLLNF\F RH[V[XUU[ +12345 12KYOBOb RPBPb ROBVB RObVb +12345 3KYKFY^ +12345 12KYTBTb RUBUb RNBUB RNbUb +12345 7LXTFOL RTFUGOL +12345 3E_IR[R +12345 7LXPFUL RPFOGUL +12345 39H]XMVTUXUZV[Y[[Y\W RYMWTVXVZW[ RVTVQUNSMQMNNLQKTKWLYMZO[Q[SZUWVT + RQMONMQLTLXMZ +12345 36H[PFLSLVMYNZ RQFMS RMSNPPNRMTMVNWOXQXTWWUZR[P[NZMWMS RVNWPWTVWTZ +R[ RMFQF +12345 25I[WPWQXQXPWNUMRMONMQLTLWMYNZP[R[UZWW RRMPNNQMTMXNZ +12345 42H]ZFVTUXUZV[Y[[Y\W R[FWTVXVZW[ RVTVQUNSMQMNNLQKTKWLYMZO[Q[SZUWVT + RQMONMQLTLXMZ RWF[F +12345 26I[MVQUTTWRXPWNUMRMONMQLTLWMYNZP[R[UZWX RRMPNNQMTMXNZ +12345 35KZZGYHZI[H[GZFXFVGUHTJSMP[O_Na RXFVHUJTNRWQ[P^O`NaLbJbIaI`J_K`Ja + ROMYM +12345 43H\YMU[T^RaObLbJaI`I_J^K_J` RXMT[S^QaOb RVTVQUNSMQMNNLQKTKWLYMZO[ +Q[SZUWVT RQMONMQLTLXMZ +12345 31H]PFJ[ RQFK[ RMTOPQNSMUMWNXOXQVWVZW[ RUMWOWQUWUZV[Y[[Y\W RMFQF +12345 26LYUFTGUHVGUF RMQNOPMSMTNTQRWRZS[ RRMSNSQQWQZR[U[WYXW +12345 32LYVFUGVHWGVF RNQOOQMTMUNUQR[Q^P`OaMbKbJaJ`K_L`Ka RSMTNTQQ[P^O`Mb +12345 34H\PFJ[ RQFK[ RXNWOXPYOYNXMWMUNQROSMS ROSQTSZT[ ROSPTRZS[U[WZYW R +MFQF +12345 18MYUFQTPXPZQ[T[VYWW RVFRTQXQZR[ RRFVF +12345 52AbBQCOEMHMINIPHTF[ RGMHNHPGTE[ RHTJPLNNMPMRNSOSQP[ RPMRORQO[ RRT +TPVNXMZM\N]O]Q[W[Z\[ RZM\O\QZWZZ[[^[`YaW +12345 37F]GQHOJMMMNNNPMTK[ RLMMNMPLTJ[ RMTOPQNSMUMWNXOXQVWVZW[ RUMWOWQUW +UZV[Y[[Y\W +12345 32I[RMONMQLTLWMYNZP[R[UZWWXTXQWOVNTMRM RRMPNNQMTMXNZ RR[TZVWWTWPVN +12345 42G\HQIOKMNMONOPNTJb RMMNNNPMTIb RNTOQQNSMUMWNXOYQYTXWVZS[Q[OZNWNT + RWNXPXTWWUZS[ RFbMb +12345 33H\XMRb RYMSb RVTVQUNSMQMNNLQKTKWLYMZO[Q[SZUWVT RQMONMQLTLXMZ ROb +Vb +12345 26IZJQKOMMPMQNQPPTN[ ROMPNPPOTM[ RPTRPTNVMXMYNYOXPWOXN +12345 28J[XOXPYPYOXNUMRMONNONQORVVWW RNPOQVUWVWYVZS[P[MZLYLXMXMY +12345 18KYTFPTOXOZP[S[UYVW RUFQTPXPZQ[ RNMWM +12345 37F]GQHOJMMMNNNQLWLYN[ RLMMNMQKWKYLZN[P[RZTXVT RXMVTUXUZV[Y[[Y\W R +YMWTVXVZW[ +12345 26H\IQJOLMOMPNPQNWNYP[ RNMONOQMWMYNZP[Q[TZVXXUYQYMXMYO +12345 41C`DQEOGMJMKNKQIWIYK[ RIMJNJQHWHYIZK[M[OZQXRV RTMRVRYSZU[W[YZ[X\V +]R]M\M]O RUMSVSYU[ +12345 42H\KQMNOMRMSOSR RQMRORRQVPXNZL[K[JZJYKXLYKZ RQVQYR[U[WZYW RYNXOYP +ZOZNYMXMVNTPSRRVRYS[ +12345 41G\HQIOKMNMONOQMWMYO[ RMMNNNQLWLYMZO[Q[SZUXWT RZMV[U^SaPbMbKaJ`J_ +K^L_K` RYMU[T^RaPb +12345 31H\YMXOVQNWLYK[ RLQMOOMRMVO RMOONRNVOXO RLYNYRZUZWY RNYR[U[WYXW +12345 40KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSU +SWRYQZP\P^Q`RaTb +12345 3NVRBRb +12345 40KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQU +QWRYSZT\T^S`RaPb +12345 24F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O +12345 35JZJFJ[K[KFLFL[M[MFNFN[O[OFPFP[Q[QFRFR[S[SFTFT[U[UFVFV[W[WFXFX[Y[ +YFZFZ[ diff --git a/hf2gcode/hershey_fonts/orig/rowmand.jhf b/hf2gcode/hershey_fonts/orig/rowmand.jhf new file mode 100644 index 0000000..89df74e --- /dev/null +++ b/hf2gcode/hershey_fonts/orig/rowmand.jhf @@ -0,0 +1,129 @@ + 2699 1JZ + 2714 24MXRFRTST RRFSFST RRXQYQZR[S[TZTYSXRX RRYRZSZSYRY + 2728 22I[NFMGMM RNGMM RNFOGMM RWFVGVM RWGVM RWFXGVM + 2275 12H]SFLb RYFRb RLQZQ RKWYW + 2719 51I\RBR_S_ RRBSBS_ RWIYIWGTFQFNGLILKMMNNVRWSXUXWWYTZQZOYNX RWIVHTG +QGNHMIMKNMVQXSYUYWXYWZT[Q[NZLXNX RXXUZ + 2271 32F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT + 2718 71F_\MZMXNWPUVTXSYQZMZKYJWJUKSLRQOSMTKTISGQFPFNGMIMKNNPQUWXZZ[\[ R +\M\NZNXO RYNXPVVUXSZQ[M[KZJYIWIUJSLQQNRMSKSIRG RSHQGPGNH ROGNINKONQQVWXY +ZZ\Z\[ + 2717 24MXTHSIRIQHQGRFSFTGTJSLQM RRGRHSHSGRG RSITJ RTHSL + 2721 24KYUBSDQGOKNPNTOYQ]S`UbVb RUBVBTDRGPKOPOTPYR]T`Vb + 2722 24KYNBPDRGTKUPUTTYR]P`NbOb RNBOBQDSGUKVPVTUYS]Q`Ob + 2723 39JZRFQGSQRR RRFRR RRFSGQQRR RMINIVOWO RMIWO RMIMJWNWO RWIVINOMO R +WIMO RWIWJMNMO + 2725 16F_RIRZSZ RRISISZ RJQ[Q[R RJQJR[R + 2711 24MXTZS[R[QZQYRXSXTYT\S^Q_ RRYRZSZSYRY RS[T\ RTZS^ + 2724 8F_JQ[Q[R RJQJR[R + 2710 16MXRXQYQZR[S[TZTYSXRX RRYRZSZSYRY + 2720 8G^[BIbJb R[B\BJb + 2700 42H\QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF ROGMJLOLRMWOZ RNYQZSZVY RUZ +WWXRXOWJUG RVHSGQGNH + 2701 12H\NJPISFS[ RNJNKPJRHR[S[ + 2702 34H\LKLJMHNGPFTFVGWHXJXLWNUQL[ RLKMKMJNHPGTGVHWJWLVNTQK[ RLZYZY[ R +K[Y[ + 2703 48H\MFXFQO RMFMGWG RWFPO RQNSNVOXQYTYUXXVZS[P[MZLYKWLW RPOSOVPXS R +TOWQXTXUWXTZ RXVVYSZPZMYLW ROZLX + 2704 18H\UIU[V[ RVFV[ RVFKVZV RUILV RLUZUZV + 2705 53H\MFLO RNGMN RMFWFWG RNGWG RMNPMSMVNXPYSYUXXVZS[P[MZLYKWLW RLOMO +ONSNVOXR RTNWPXSXUWXTZ RXVVYSZPZMYLW ROZLX + 2706 62H\VGWIXIWGTFRFOGMJLOLTMXOZR[S[VZXXYUYTXQVOSNRNOOMQ RWHTGRGOH RPG +NJMOMTNXQZ RMVOYRZSZVYXV RTZWXXUXTWQTO RXSVPSOROOPMS RQONQMT + 2707 12H\KFYFO[ RKFKGXG RXFN[O[ + 2708 68H\PFMGLILKMMNNPOTPVQWRXTXWWYTZPZMYLWLTMRNQPPTOVNWMXKXIWGTFPF RNG +MIMKNMPNTOVPXRYTYWXYWZT[P[MZLYKWKTLRNPPOTNVMWKWIVG RWHTGPGMH RLXOZ RUZXX + 2709 62H\WPURRSQSNRLPKMKLLINGQFRFUGWIXMXRWWUZR[P[MZLXMXNZ RWMVPSR RWNUQ +RRQRNQLN RPRMPLMLLMIPG RLKNHQGRGUHWK RSGVIWMWRVWTZ RUYRZPZMY + 2712 32MXRMQNQORPSPTOTNSMRM RRNROSOSNRN RRXQYQZR[S[TZTYSXRX RRYRZSZSYRY + 2713 40MXRMQNQORPSPTOTNSMRM RRNROSOSNRN RTZS[R[QZQYRXSXTYT\S^Q_ RRYRZSZ +SYRY RS[T\ RTZS^ + 2241 4F^ZIJRZ[ + 2726 16F_JM[M[N RJMJN[N RJU[U[V RJUJV[V + 2242 4F^JIZRJ[ + 2715 58I\LKLJMHNGQFTFWGXHYJYLXNWOUPRQ RLKMKMJNHQGTGWHXJXLWNUORP RMIPG R +UGXI RXMTP RRPRTSTSP RRXQYQZR[S[TZTYSXRX RRYRZSZSYRY + 2273 56E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\T]Q]O\L[J +YHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV + 2501 20H\RFJ[ RRIK[J[ RRIY[Z[ RRFZ[ RMUWU RLVXV + 2502 44H\LFL[ RMGMZ RLFTFWGXHYJYMXOWPTQ RMGTGWHXJXMWOTP RMPTPWQXRYTYWXY +WZT[L[ RMQTQWRXTXWWYTZMZ + 2503 38H]ZKYIWGUFQFOGMILKKNKSLVMXOZQ[U[WZYXZV RZKYKXIWHUGQGOHMKLNLSMVOY +QZUZWYXXYVZV + 2504 32H]LFL[ RMGMZ RLFSFVGXIYKZNZSYVXXVZS[L[ RMGSGVHWIXKYNYSXVWXVYSZMZ + 2505 27I\MFM[ RNGNZ RMFYF RNGYGYF RNPTPTQ RNQTQ RNZYZY[ RM[Y[ + 2506 21I[MFM[ RNGN[M[ RMFYF RNGYGYF RNPTPTQ RNQTQ + 2507 44H]ZKYIWGUFQFOGMILKKNKSLVMXOZQ[U[WZYXZVZRUR RZKYKXIWHUGQGOHNIMKLN +LSMVNXOYQZUZWYXXYVYSUSUR + 2508 22G]KFK[ RKFLFL[K[ RYFXFX[Y[ RYFY[ RLPXP RLQXQ + 2509 8NWRFR[S[ RRFSFS[ + 2510 20J[VFVVUYSZQZOYNVMV RVFWFWVVYUZS[Q[OZNYMV + 2511 22H]LFL[M[ RLFMFM[ RZFYFMR RZFMS RPOY[Z[ RQOZ[ + 2512 14IZMFM[ RMFNFNZ RNZYZY[ RM[Y[ + 2513 26F^JFJ[ RKKK[J[ RKKR[ RJFRX RZFRX RYKR[ RYKY[Z[ RZFZ[ + 2514 20G]KFK[ RLIL[K[ RLIY[ RKFXX RXFXX RXFYFY[ + 2515 40G]PFNGLIKKJNJSKVLXNZP[T[VZXXYVZSZNYKXIVGTFPF RQGNHLKKNKSLVNYQZSZ +VYXVYSYNXKVHSGQG + 2516 27H\LFL[ RMGM[L[ RLFUFWGXHYJYMXOWPUQMQ RMGUGWHXJXMWOUPMP + 2517 48G]PFNGLIKKJNJSKVLXNZP[T[VZXXYVZSZNYKXIVGTFPF RQGNHLKKNKSLVNYQZSZ +VYXVYSYNXKVHSGQG RSXX]Y] RSXTXY] + 2518 34H\LFL[ RMGM[L[ RLFTFWGXHYJYMXOWPTQMQ RMGTGWHXJXMWOTPMP RRQX[Y[ R +SQY[ + 2519 43H\YIWGTFPFMGKIKKLMMNOOTQVRWSXUXXWYTZPZNYMXKX RYIWIVHTGPGMHLILKMM +ONTPVQXSYUYXWZT[P[MZKX + 2520 15J[RGR[ RSGS[R[ RLFYFYG RLFLGYG + 2521 24G]KFKULXNZQ[S[VZXXYUYF RKFLFLUMXNYQZSZVYWXXUXFYF + 2522 14H\JFR[ RJFKFRX RZFYFRX RZFR[ + 2523 26E_GFM[ RGFHFMX RRFMX RRIM[ RRIW[ RRFWX R]F\FWX R]FW[ + 2524 16H\KFX[Y[ RKFLFY[ RYFXFK[ RYFL[K[ + 2525 17I\KFRPR[S[ RKFLFSP RZFYFRP RZFSPS[ + 2526 20H\XFK[ RYFL[ RKFYF RKFKGXG RLZYZY[ RK[Y[ + 2223 12KYOBOb RPBPb ROBVB RObVb + 804 3KYKFY^ + 2224 12KYTBTb RUBUb RNBUB RNbUb + 2262 11JZPLRITL RMORJWO RRJR[ + 999 3JZJ]Z] + 2716 24MXTFRGQIQLRMSMTLTKSJRJQK RRKRLSLSKRK RRGQK RQIRJ + 2601 36H\WMW[X[ RWMXMX[ RWPUNSMPMNNLPKSKULXNZP[S[UZWX RWPSNPNNOMPLSLUMX +NYPZSZWX + 2602 36H\LFL[M[ RLFMFM[ RMPONQMTMVNXPYSYUXXVZT[Q[OZMX RMPQNTNVOWPXSXUWX +VYTZQZMX + 2603 32I[XPVNTMQMONMPLSLUMXOZQ[T[VZXX RXPWQVOTNQNOONPMSMUNXOYQZTZVYWWXX + 2604 36H\WFW[X[ RWFXFX[ RWPUNSMPMNNLPKSKULXNZP[S[UZWX RWPSNPNNOMPLSLUMX +NYPZSZWX + 2605 36I[MTXTXQWOVNTMQMONMPLSLUMXOZQ[T[VZXX RMSWSWQVOTNQNOONPMSMUNXOYQZ +TZVYWWXX + 2606 24LZWFUFSGRJR[S[ RWFWGUGSH RTGSJS[ ROMVMVN ROMONVN + 2607 48H\XMWMW\V_U`SaQaO`N_L_ RXMX\W_UaSbPbNaL_ RWPUNSMPMNNLPKSKULXNZP[ +S[UZWX RWPSNPNNOMPLSLUMXNYPZSZWX + 2608 25H\LFL[M[ RLFMFM[ RMQPNRMUMWNXQX[ RMQPORNTNVOWQW[X[ + 2609 24NWRFQGQHRISITHTGSFRF RRGRHSHSGRG RRMR[S[ RRMSMS[ + 2610 24NWRFQGQHRISITHTGSFRF RRGRHSHSGRG RRMRbSb RRMSMSb + 2611 22H[LFL[M[ RLFMFM[ RXMWMMW RXMMX RPTV[X[ RQSX[ + 2612 8NWRFR[S[ RRFSFS[ + 2613 42CbGMG[H[ RGMHMH[ RHQKNMMPMRNSQS[ RHQKOMNONQORQR[S[ RSQVNXM[M]N^Q +^[ RSQVOXNZN\O]Q][^[ + 2614 25H\LML[M[ RLMMMM[ RMQPNRMUMWNXQX[ RMQPORNTNVOWQW[X[ + 2615 36I\QMONMPLSLUMXOZQ[T[VZXXYUYSXPVNTMQM RQNOONPMSMUNXOYQZTZVYWXXUXS +WPVOTNQN + 2616 36H\LMLbMb RLMMMMb RMPONQMTMVNXPYSYUXXVZT[Q[OZMX RMPQNTNVOWPXSXUWX +VYTZQZMX + 2617 36H\WMWbXb RWMXMXb RWPUNSMPMNNLPKSKULXNZP[S[UZWX RWPSNPNNOMPLSLUMX +NYPZSZWX + 2618 21KYOMO[P[ ROMPMP[ RPSQPSNUMXM RPSQQSOUNXNXM + 2619 50J[XPWNTMQMNNMPNRPSUUWV RVUWWWXVZ RWYTZQZNY ROZNXMX RXPWPVN RWOTN +QNNO RONNPOR RNQPRUTWUXWXXWZT[Q[NZMX + 2620 16MXRFR[S[ RRFSFS[ ROMVMVN ROMONVN + 2621 25H\LMLWMZO[R[TZWW RLMMMMWNYPZRZTYWW RWMW[X[ RWMXMX[ + 2622 14JZLMR[ RLMMMRY RXMWMRY RXMR[ + 2623 26F^IMN[ RIMJMNX RRMNX RRPN[ RRPV[ RRMVX R[MZMVX R[MV[ + 2624 16I[LMW[X[ RLMMMX[ RXMWML[ RXMM[L[ + 2625 17JZLMR[ RLMMMRY RXMWMRYNb RXMR[ObNb + 2626 20I[VNL[ RXMNZ RLMXM RLMLNVN RNZXZX[ RL[X[ + 2225 40KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSU +SWRYQZP\P^Q`RaTb + 2229 3NVRBRb + 2226 40KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQU +QWRYSZT\T^S`RaPb + 2246 24F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O + 2729 30KYQFOGNINKOMQNSNUMVKVIUGSFQF RQFNIOMSNVKUGQF RSFOGNKQNUMVISF diff --git a/hf2gcode/hershey_fonts/orig/rowmans.jhf b/hf2gcode/hershey_fonts/orig/rowmans.jhf new file mode 100644 index 0000000..028d17b --- /dev/null +++ b/hf2gcode/hershey_fonts/orig/rowmans.jhf @@ -0,0 +1,100 @@ + 699 1JZ + 714 9MWRFRT RRYQZR[SZRY + 717 6JZNFNM RVFVM + 733 12H]SBLb RYBRb RLOZO RKUYU + 719 27H\PBP_ RTBT_ RYIWGTFPFMGKIKKLMMNOOUQWRXSYUYXWZT[P[MZKX + 2271 32F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT + 734 35E_\O\N[MZMYNXPVUTXRZP[L[JZIYHWHUISJRQNRMSKSIRGPFNGMIMKNNPQUXWZY[ +[[\Z\Y + 731 8MWRHQGRFSGSIRKQL + 721 11KYVBTDRGPKOPOTPYR]T`Vb + 722 11KYNBPDRGTKUPUTTYR]P`Nb + 2219 9JZRFRR RMIWO RWIMO + 725 6E_RIR[ RIR[R + 711 9MWSZR[QZRYSZS\R^Q_ + 724 3E_IR[R + 710 6MWRYQZR[SZRY + 720 3G][BIb + 700 18H\QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF + 701 5H\NJPISFS[ + 702 15H\LKLJMHNGPFTFVGWHXJXLWNUQK[Y[ + 703 16H\MFXFRNUNWOXPYSYUXXVZS[P[MZLYKW + 704 7H\UFKTZT RUFU[ + 705 18H\WFMFLOMNPMSMVNXPYSYUXXVZS[P[MZLYKW + 706 24H\XIWGTFRFOGMJLOLTMXOZR[S[VZXXYUYTXQVOSNRNOOMQLT + 707 6H\YFO[ RKFYF + 708 30H\PFMGLILKMMONSOVPXRYTYWXYWZT[P[MZLYKWKTLRNPQOUNWMXKXIWGTFPF + 709 24H\XMWPURRSQSNRLPKMKLLINGQFRFUGWIXMXRWWUZR[P[MZLX + 712 12MWRMQNROSNRM RRYQZR[SZRY + 713 15MWRMQNROSNRM RSZR[QZRYSZS\R^Q_ + 2241 4F^ZIJRZ[ + 726 6E_IO[O RIU[U + 2242 4F^JIZRJ[ + 715 21I[LKLJMHNGPFTFVGWHXJXLWNVORQRT RRYQZR[SZRY + 2273 56E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\T]Q]O\L[J +YHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV + 501 9I[RFJ[ RRFZ[ RMTWT + 502 24G\KFK[ RKFTFWGXHYJYLXNWOTP RKPTPWQXRYTYWXYWZT[K[ + 503 19H]ZKYIWGUFQFOGMILKKNKSLVMXOZQ[U[WZYXZV + 504 16G\KFK[ RKFRFUGWIXKYNYSXVWXUZR[K[ + 505 12H[LFL[ RLFYF RLPTP RL[Y[ + 506 9HZLFL[ RLFYF RLPTP + 507 23H]ZKYIWGUFQFOGMILKKNKSLVMXOZQ[U[WZYXZVZS RUSZS + 508 9G]KFK[ RYFY[ RKPYP + 509 3NVRFR[ + 510 11JZVFVVUYTZR[P[NZMYLVLT + 511 9G\KFK[ RYFKT RPOY[ + 512 6HYLFL[ RL[X[ + 513 12F^JFJ[ RJFR[ RZFR[ RZFZ[ + 514 9G]KFK[ RKFY[ RYFY[ + 515 22G]PFNGLIKKJNJSKVLXNZP[T[VZXXYVZSZNYKXIVGTFPF + 516 14G\KFK[ RKFTFWGXHYJYMXOWPTQKQ + 517 25G]PFNGLIKKJNJSKVLXNZP[T[VZXXYVZSZNYKXIVGTFPF RSWY] + 518 17G\KFK[ RKFTFWGXHYJYLXNWOTPKP RRPY[ + 519 21H\YIWGTFPFMGKIKKLMMNOOUQWRXSYUYXWZT[P[MZKX + 520 6JZRFR[ RKFYF + 521 11G]KFKULXNZQ[S[VZXXYUYF + 522 6I[JFR[ RZFR[ + 523 12F^HFM[ RRFM[ RRFW[ R\FW[ + 524 6H\KFY[ RYFK[ + 525 7I[JFRPR[ RZFRP + 526 9H\YFK[ RKFYF RK[Y[ + 2223 12KYOBOb RPBPb ROBVB RObVb + 804 3KYKFY^ + 2224 12KYTBTb RUBUb RNBUB RNbUb + 2262 11JZPLRITL RMORJWO RRJR[ + 999 3JZJ]Z] + 730 8MWSFRGQIQKRLSKRJ + 601 18I\XMX[ RXPVNTMQMONMPLSLUMXOZQ[T[VZXX + 602 18H[LFL[ RLPNNPMSMUNWPXSXUWXUZS[P[NZLX + 603 15I[XPVNTMQMONMPLSLUMXOZQ[T[VZXX + 604 18I\XFX[ RXPVNTMQMONMPLSLUMXOZQ[T[VZXX + 605 18I[LSXSXQWOVNTMQMONMPLSLUMXOZQ[T[VZXX + 606 9MYWFUFSGRJR[ ROMVM + 607 23I\XMX]W`VaTbQbOa RXPVNTMQMONMPLSLUMXOZQ[T[VZXX + 608 11I\MFM[ RMQPNRMUMWNXQX[ + 609 9NVQFRGSFREQF RRMR[ + 610 12MWRFSGTFSERF RSMS^RaPbNb + 611 9IZMFM[ RWMMW RQSX[ + 612 3NVRFR[ + 613 19CaGMG[ RGQJNLMOMQNRQR[ RRQUNWMZM\N]Q][ + 614 11I\MMM[ RMQPNRMUMWNXQX[ + 615 18I\QMONMPLSLUMXOZQ[T[VZXXYUYSXPVNTMQM + 616 18H[LMLb RLPNNPMSMUNWPXSXUWXUZS[P[NZLX + 617 18I\XMXb RXPVNTMQMONMPLSLUMXOZQ[T[VZXX + 618 9KXOMO[ ROSPPRNTMWM + 619 18J[XPWNTMQMNNMPNRPSUTWUXWXXWZT[Q[NZMX + 620 9MYRFRWSZU[W[ ROMVM + 621 11I\MMMWNZP[S[UZXW RXMX[ + 622 6JZLMR[ RXMR[ + 623 12G]JMN[ RRMN[ RRMV[ RZMV[ + 624 6J[MMX[ RXMM[ + 625 10JZLMR[ RXMR[P_NaLbKb + 626 9J[XMM[ RMMXM RM[X[ + 2225 40KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSU +SWRYQZP\P^Q`RaTb + 723 3NVRBRb + 2226 40KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQU +QWRYSZT\T^S`RaPb + 2246 24F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O + 718 14KYQFOGNINKOMQNSNUMVKVIUGSFQF diff --git a/hf2gcode/hershey_fonts/orig/rowmant.jhf b/hf2gcode/hershey_fonts/orig/rowmant.jhf new file mode 100644 index 0000000..4985d1e --- /dev/null +++ b/hf2gcode/hershey_fonts/orig/rowmant.jhf @@ -0,0 +1,176 @@ + 3199 1JZ + 3214 34MXRFQGQIRQ RRFRTST RRFSFST RSFTGTISQ RRXQYQZR[S[TZTYSXRX RRYRZSZ +SYRY + 3228 22I[NFMGMM RNGMM RNFOGMM RWFVGVM RWGVM RWFXGVM + 2275 12H]SFLb RYFRb RLQZQ RKWYW + 3219 56H\PBP_ RTBT_ RXKXJWJWLYLYJXHWGTFPFMGKIKLLNOPURWSXUXXWZ RLLMNOOUQ +WRXT RMGLILKMMONUPXRYTYWXYWZT[P[MZLYKWKUMUMWLWLV + 2271 32F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT + 3218 74E_[O[NZNZP\P\N[MZMYNXPVUTXRZP[L[JZIXIUJSPORMSKSIRGPFNGMIMLNOPRTW +WZY[[[\Y\X RKZJXJUKSLR RRMSI RSKRG RNGMK RNNPQTVWYYZ RN[LZKXKULSPO RMINM +QQUVXYZZ[Z\Y + 3217 24MXTHSIRIQHQGRFSFTGTJSLQM RRGRHSHSGRG RSITJ RTHSL + 3221 27KYUBSDQGOKNPNTOYQ]S`Ub RQHPKOOOUPYQ\ RSDRFQIPOPUQ[R^S` + 3222 27KYOBQDSGUKVPVTUYS]Q`Ob RSHTKUOUUTYS\ RQDRFSITOTUS[R^Q` + 3223 39JZRFQGSQRR RRFRR RRFSGQQRR RMINIVOWO RMIWO RMIMJWNWO RWIVINOMO R +WIMO RWIWJMNMO + 3225 16F_RIRZSZ RRISISZ RJQ[Q[R RJQJR[R + 3211 24MXTZS[R[QZQYRXSXTYT\S^Q_ RRYRZSZSYRY RS[T\ RTZS^ + 3224 8F_JQ[Q[R RJQJR[R + 3210 16MXRXQYQZR[S[TZTYSXRX RRYRZSZSYRY + 3220 8G^[BIbJb R[B\BJb + 3200 50H\QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF RNHMJLNLSMWNY RVYWWXSXNWJVH + RQFOGNIMNMSNXOZQ[ RS[UZVXWSWNVIUGSF + 3201 28H\QHQ[ RRHRZ RSFS[ RSFPINJ RM[W[ RQZO[ RQYP[ RSYT[ RSZU[ + 3202 62H\LJLKMKMJLJ RLIMINJNKMLLLKKKJLHMGPFTFWGXHYJYLXNUPPRNSLUKXK[ RWH +XJXLWN RTFVGWJWLVNTPPR RKYLXNXSYWYYX RNXSZWZXY RNXS[W[XZYXYV + 3203 76H\LJLKMKMJLJ RLIMINJNKMLLLKKKJLHMGPFTFWGXIXLWNTO RVGWIWLVN RSFUG +VIVLUNSO RQOTOVPXRYTYWXYWZT[P[MZLYKWKVLUMUNVNWMXLX RWRXTXWWY RSOUPVQWTWW +VZT[ RLVLWMWMVLV + 3204 28H\SIS[ RTHTZ RUFU[ RUFJUZU RP[X[ RSZQ[ RSYR[ RUYV[ RUZW[ + 3205 55H\MFKPMNPMSMVNXPYSYUXXVZS[P[MZLYKWKVLUMUNVNWMXLX RWPXRXVWX RSMUN +VOWRWVVYUZS[ RLVLWMWMVLV RMFWF RMGUG RMHQHUGWF + 3206 69H\VIVJWJWIVI RWHVHUIUJVKWKXJXIWGUFRFOGMILKKOKULXNZQ[S[VZXXYUYTXQ +VOSNQNOONPMR RNIMKLOLUMXNY RWXXVXSWQ RRFPGOHNJMNMUNXOZQ[ RS[UZVYWVWSVPUO +SN + 3207 43H\KFKL RYFYIXLTQSSRWR[ RSRRTQWQ[ RXLSQQTPWP[R[ RKJLHNFPFUIWIXHYF + RMHNGPGRH RKJLINHPHUI + 3208 79H\PFMGLILLMNPOTOWNXLXIWGTFPF RNGMIMLNN RVNWLWIVG RPFOGNINLONPO R +TOUNVLVIUGTF RPOMPLQKSKWLYMZP[T[WZXYYWYSXQWPTO RMQLSLWMY RWYXWXSWQ RPONP +MSMWNZP[ RT[VZWWWSVPTO + 3209 69H\MWMXNXNWMW RWOVQURSSQSNRLPKMKLLINGQFSFVGXIYLYRXVWXUZR[O[MZLXLW +MVNVOWOXNYMY RMPLNLKMI RVHWIXLXRWVVX RQSORNQMNMKNHOGQF RSFUGVIWLWSVWUYTZ +R[ + 3212 32MXRMQNQORPSPTOTNSMRM RRNROSOSNRN RRXQYQZR[S[TZTYSXRX RRYRZSZSYRY + 3213 40MXRMQNQORPSPTOTNSMRM RRNROSOSNRN RTZS[R[QZQYRXSXTYT\S^Q_ RRYRZSZ +SYRY RS[T\ RTZS^ + 2241 4F^ZIJRZ[ + 3226 16F_JM[M[N RJMJN[N RJU[U[V RJUJV[V + 2242 4F^JIZRJ[ + 3215 52I\MKMJNJNLLLLJMHNGPFTFWGXHYJYLXNWOSQ RWHXIXMWN RTFVGWIWMVOUP RRQ +RTSTSQRQ RRXQYQZR[S[TZTYSXRX RRYRZSZSYRY + 2273 56E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\T]Q]O\L[J +YHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV + 3001 36H\RFKZ RQIW[ RRIX[ RRFY[ RMUVU RI[O[ RT[[[ RKZJ[ RKZM[ RWZU[ RWY +V[ RXYZ[ + 3002 78G]LFL[ RMGMZ RNFN[ RIFUFXGYHZJZLYNXOUP RXHYJYLXN RUFWGXIXMWOUP R +NPUPXQYRZTZWYYXZU[I[ RXRYTYWXY RUPWQXSXXWZU[ RJFLG RKFLH ROFNH RPFNG RLZ +J[ RLYK[ RNYO[ RNZP[ + 3003 37G\XIYFYLXIVGTFQFNGLIKKJNJSKVLXNZQ[T[VZXXYV RMILKKNKSLVMX RQFOGMJ +LNLSMWOZQ[ + 3004 62G]LFL[ RMGMZ RNFN[ RIFSFVGXIYKZNZSYVXXVZS[I[ RWIXKYNYSXVWX RSFUG +WJXNXSWWUZS[ RJFLG RKFLH ROFNH RPFNG RLZJ[ RLYK[ RNYO[ RNZP[ + 3005 83G\LFL[ RMGMZ RNFN[ RIFYFYL RNPTP RTLTT RI[Y[YU RJFLG RKFLH ROFNH + RPFNG RTFYG RVFYH RWFYI RXFYL RTLSPTT RTNRPTR RTOPPTQ RLZJ[ RLYK[ RNYO[ + RNZP[ RT[YZ RV[YY RW[YX RX[YU + 3006 70G[LFL[ RMGMZ RNFN[ RIFYFYL RNPTP RTLTT RI[Q[ RJFLG RKFLH ROFNH R +PFNG RTFYG RVFYH RWFYI RXFYL RTLSPTT RTNRPTR RTOPPTQ RLZJ[ RLYK[ RNYO[ R +NZP[ + 3007 60G^XIYFYLXIVGTFQFNGLIKKJNJSKVLXNZQ[T[VZXZY[YS RMILKKNKSLVMX RQFOG +MJLNLSMWOZQ[ RXTXY RWSWYVZ RTS\S RUSWT RVSWU RZSYU R[SYT + 3008 81F^KFK[ RLGLZ RMFM[ RWFW[ RXGXZ RYFY[ RHFPF RTF\F RMPWP RH[P[ RT[ +\[ RIFKG RJFKH RNFMH ROFMG RUFWG RVFWH RZFYH R[FYG RKZI[ RKYJ[ RMYN[ RMZ +O[ RWZU[ RWYV[ RYYZ[ RYZ[[ + 3009 39LXQFQ[ RRGRZ RSFS[ RNFVF RN[V[ ROFQG RPFQH RTFSH RUFSG RQZO[ RQY +P[ RSYT[ RSZU[ + 3010 45JJSFSWRZQ[ RTGTWSZ RUFUWTZQ[O[MZLXLVMUNUOVOWNXMX RMVMWNWNVMV RPF +XF RQFSG RRFSH RVFUH RWFUG + 3011 69F\KFK[ RLGLZ RMFM[ RXGMR RPPW[ RQPX[ RQNY[ RHFPF RUF[F RH[P[ RT[ +[[ RIFKG RJFKH RNFMH ROFMG RWFXG RZFXG RKZI[ RKYJ[ RMYN[ RMZO[ RWYU[ RWY +Z[ + 3012 52I[NFN[ ROGOZ RPFP[ RKFSF RK[Z[ZU RLFNG RMFNH RQFPH RRFPG RNZL[ R +NYM[ RPYQ[ RPZR[ RU[ZZ RW[ZY RX[ZX RY[ZU + 3013 63E_JFJZ RJFQ[ RKFQX RLFRX RXFQ[ RXFX[ RYGYZ RZFZ[ RGFLF RXF]F RG[ +M[ RU[][ RHFJG R[FZH R\FZG RJZH[ RJZL[ RXZV[ RXYW[ RZY[[ RZZ\[ + 3014 39F^KFKZ RKFY[ RLFXX RMFYX RYGY[ RHFMF RVF\F RH[N[ RIFKG RWFYG R[F +YG RKZI[ RKZM[ + 3015 54G]QFNGLIKKJOJRKVLXNZQ[S[VZXXYVZRZOYKXIVGSFQF RMILKKNKSLVMX RWXXV +YSYNXKWI RQFOGMJLNLSMWOZQ[ RS[UZWWXSXNWJUGSF + 3016 59G]LFL[ RMGMZ RNFN[ RIFUFXGYHZJZMYOXPUQNQ RXHYJYMXO RUFWGXIXNWPUQ + RI[Q[ RJFLG RKFLH ROFNH RPFNG RLZJ[ RLYK[ RNYO[ RNZP[ + 3017 77G]QFNGLIKKJOJRKVLXNZQ[S[VZXXYVZRZOYKXIVGSFQF RMILKKNKSLVMX RWXXV +YSYNXKWI RQFOGMJLNLSMWOZQ[ RS[UZWWXSXNWJUGSF RNXOVQURUTVUXV^W`Y`Z^Z\ RV\ +W^X_Y_ RUXW]X^Y^Z] + 3018 80G]LFL[ RMGMZ RNFN[ RIFUFXGYHZJZLYNXOUPNP RXHYJYLXN RUFWGXIXMWOUP + RRPTQUSWYX[Z[[Y[W RWWXYYZZZ RTQURXXYYZY[X RI[Q[ RJFLG RKFLH ROFNH RPFNG + RLZJ[ RLYK[ RNYO[ RNZP[ + 3019 44H\XIYFYLXIVGSFPFMGKIKLLNOPURWSXUXXWZ RLLMNOOUQWRXT RMGLILKMMONUP +XRYTYWXYWZT[Q[NZLXKUK[LX + 3020 57H\JFJL RQFQ[ RRGRZ RSFS[ RZFZL RJFZF RN[V[ RKFJL RLFJI RMFJH ROF +JG RUFZG RWFZH RXFZI RYFZL RQZO[ RQYP[ RSYT[ RSZU[ + 3021 45F^KFKULXNZQ[S[VZXXYUYG RLGLVMX RMFMVNYOZQ[ RHFPF RVF\F RIFKG RJF +KH RNFMH ROFMG RWFYG R[FYG + 3022 34H\KFR[ RLFRXR[ RMFSX RYGR[ RIFPF RUF[F RJFLH RNFMH ROFMG RWFYG R +ZFYG + 3023 55F^JFN[ RKFNVN[ RLFOV RRFOVN[ RRFV[ RSFVVV[ RTFWV RZGWVV[ RGFOF R +RFTF RWF]F RHFKG RIFKH RMFLH RNFLG RXFZG R\FZG + 3024 54H\KFW[ RLFX[ RMFY[ RXGLZ RIFPF RUF[F RI[O[ RT[[[ RJFMH RNFMH ROF +MG RVFXG RZFXG RLZJ[ RLZN[ RWZU[ RWYV[ RWYZ[ + 3025 48G]JFQQQ[ RKFRQRZ RLFSQS[ RYGSQ RHFOF RVF\F RN[V[ RIFKG RNFLG RWF +YG R[FYG RQZO[ RQYP[ RSYT[ RSZU[ + 3026 41H\YFKFKL RWFK[ RXFL[ RYFM[ RK[Y[YU RLFKL RMFKI RNFKH RPFKG RT[YZ + RV[YY RW[YX RX[YU + 2223 12KYOBOb RPBPb ROBVB RObVb + 804 3KYKFY^ + 2224 12KYTBTb RUBUb RNBUB RNbUb + 2262 11JZPLRITL RMORJWO RRJR[ + 999 3JZJ]Z] + 3216 24MXTFRGQIQLRMSMTLTKSJRJQK RRKRLSLSKRK RRGQK RQIRJ + 3101 54I]NPNOOOOQMQMONNPMTMVNWOXQXXYZZ[ RVOWQWXXZ RTMUNVPVXWZZ[[[ RVRUS +PTMULWLXMZP[S[UZVX RNUMWMXNZ RUSQTOUNWNXOZP[ + 3102 47G\LFL[MZOZ RMGMY RIFNFNZ RNPONQMSMVNXPYSYUXXVZS[Q[OZNX RWPXRXVWX + RSMUNVOWRWVVYUZS[ RJFLG RKFLH + 3103 34H[WQWPVPVRXRXPVNTMQMNNLPKSKULXNZQ[S[VZXX RMPLRLVMX RQMONNOMRMVNY +OZQ[ + 3104 52H]VFV[[[ RWGWZ RSFXFX[ RVPUNSMQMNNLPKSKULXNZQ[S[UZVX RMPLRLVMX R +QMONNOMRMVNYOZQ[ RTFVG RUFVH RXYY[ RXZZ[ + 3105 41H[MSXSXQWOVNSMQMNNLPKSKULXNZQ[S[VZXX RWRWQVO RMPLRLVMX RVSVPUNSM + RQMONNOMRMVNYOZQ[ + 3106 40KYWHWGVGVIXIXGWFTFRGQHPKP[ RRHQKQZ RTFSGRIR[ RMMVM RM[U[ RPZN[ R +PYO[ RRYS[ RRZT[ + 3107 89I\XNYOZNYMXMVNUO RQMONNOMQMSNUOVQWSWUVVUWSWQVOUNSMQM ROONQNSOU R +UUVSVQUO RQMPNOPOTPVQW RSWTVUTUPTNSM RNUMVLXLYM[N\Q]U]X^Y_ RN[Q\U\X] RLY +MZP[U[X\Y^Y_XaUbObLaK_K^L\O[ RObMaL_L^M\O[ + 3108 65G^LFL[ RMGMZ RIFNFN[ RNQOOPNRMUMWNXOYRY[ RWOXRXZ RUMVNWQW[ RI[Q[ + RT[\[ RJFLG RKFLH RLZJ[ RLYK[ RNYO[ RNZP[ RWZU[ RWYV[ RYYZ[ RYZ[[ + 3109 43LXQFQHSHSFQF RRFRH RQGSG RQMQ[ RRNRZ RNMSMS[ RN[V[ ROMQN RPMQO R +QZO[ RQYP[ RSYT[ RSZU[ + 3110 41KXRFRHTHTFRF RSFSH RRGTG RRMR^QaPb RSNS]R` ROMTMT]S`RaPbMbLaL_N_ +NaMaM` RPMRN RQMRO + 3111 61G]LFL[ RMGMZ RIFNFN[ RWNNW RRSY[ RRTX[ RQTW[ RTM[M RI[Q[ RT[[[ R +JFLG RKFLH RUMWN RZMWN RLZJ[ RLYK[ RNYO[ RNZP[ RWYU[ RVYZ[ + 3112 31LXQFQ[ RRGRZ RNFSFS[ RN[V[ ROFQG RPFQH RQZO[ RQYP[ RSYT[ RSZU[ + 3113 99AcFMF[ RGNGZ RCMHMH[ RHQIOJNLMOMQNROSRS[ RQORRRZ ROMPNQQQ[ RSQTO +UNWMZM\N]O^R^[ R\O]R]Z RZM[N\Q\[ RC[K[ RN[V[ RY[a[ RDMFN REMFO RFZD[ RFY +E[ RHYI[ RHZJ[ RQZO[ RQYP[ RSYT[ RSZU[ R\ZZ[ R\Y[[ R^Y_[ R^Z`[ + 3114 65G^LML[ RMNMZ RIMNMN[ RNQOOPNRMUMWNXOYRY[ RWOXRXZ RUMVNWQW[ RI[Q[ + RT[\[ RJMLN RKMLO RLZJ[ RLYK[ RNYO[ RNZP[ RWZU[ RWYV[ RYYZ[ RYZ[[ + 3115 46H\QMNNLPKSKULXNZQ[S[VZXXYUYSXPVNSMQM RMPLRLVMX RWXXVXRWP RQMONNO +MRMVNYOZQ[ RS[UZVYWVWRVOUNSM + 3116 60G\LMLb RMNMa RIMNMNb RNPONQMSMVNXPYSYUXXVZS[Q[OZNX RWPXRXVWX RSM +UNVOWRWVVYUZS[ RIbQb RJMLN RKMLO RLaJb RL`Kb RN`Ob RNaPb + 3117 55H\VNVb RWOWa RUNWNXMXb RVPUNSMQMNNLPKSKULXNZQ[S[UZVX RMPLRLVMX R +QMONNOMRMVNYOZQ[ RSb[b RVaTb RV`Ub RX`Yb RXaZb + 3118 43IZNMN[ RONOZ RKMPMP[ RWOWNVNVPXPXNWMUMSNQPPS RK[S[ RLMNN RMMNO R +NZL[ RNYM[ RPYQ[ RPZR[ + 3119 43J[WOXMXQWOVNTMPMNNMOMQNSPTUUWVXY RNNMQ RNRPSUTWU RXVWZ RMONQPRUS +WTXVXYWZU[Q[OZNYMWM[NY + 3120 22KZPHPVQYRZT[V[XZYX RQHQWRY RPHRFRWSZT[ RMMVM + 3121 43G^LMLVMYNZP[S[UZVYWW RMNMWNY RIMNMNWOZP[ RWMW[\[ RXNXZ RTMYMY[ R +JMLN RKMLO RYYZ[ RYZ[[ + 3122 31I[LMR[ RMMRY RNMSY RXNSYR[ RJMQM RTMZM RKMNO RPMNN RVMXN RYMXN + 3123 45F^JMN[ RKMNX RLMOX RRMOXN[ RRMV[ RSMVX RRMTMWX RZNWXV[ RGMOM RWM +]M RHMKN RNMLN RXMZN R\MZN + 3124 48H\LMV[ RMMW[ RNMX[ RWNMZ RJMQM RTMZM RJ[P[ RS[Z[ RKMMN RPMNN RUM +WN RYMWN RMZK[ RMZO[ RVZT[ RWZY[ + 3125 40H[LMR[ RMMRY RNMSY RXNSYP_NaLbJbIaI_K_KaJaJ` RJMQM RTMZM RKMNO R +PMNN RVMXN RYMXN + 3126 41I[VML[ RWMM[ RXMN[ RXMLMLQ RL[X[XW RMMLQ RNMLP ROMLO RQMLN RS[XZ + RU[XY RV[XX RW[XW + 2225 40KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSU +SWRYQZP\P^Q`RaTb + 2229 3NVRBRb + 2226 40KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQU +QWRYSZT\T^S`RaPb + 2246 24F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O + 3229 30KYQFOGNINKOMQNSNUMVKVIUGSFQF RQFNIOMSNVKUGQF RSFOGNKQNUMVISF diff --git a/hf2gcode/hershey_fonts/orig/scriptc.jhf b/hf2gcode/hershey_fonts/orig/scriptc.jhf new file mode 100644 index 0000000..2065e92 --- /dev/null +++ b/hf2gcode/hershey_fonts/orig/scriptc.jhf @@ -0,0 +1,144 @@ + 2749 1JZ + 2764 17MXUFTGRS RUGRS RUFVGRS RPYOZP[QZPY + 2778 12I[PFNM RQFNM RYFWM RZFWM + 2275 12H]SFLb RYFRb RLQZQ RKWYW + 2769 41H]TBL_ RYBQ_ RZJYKZL[K[JZHYGVFRFOGMIMKNMONVRXT RMKOMVQWRXTXWWYVZ +S[O[LZKYJWJVKULVKW + 2271 32F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT + 2768 55E_\N[O\P]O]N\M[MYNWPRXPZN[K[HZGXGVHTISKRPPROTMUKUITGRFPGOIOLPRQU +SXUZW[Y[ZYZX RK[IZHXHVITJSPP ROLPQQTSWUYWZYZZY + 2767 8MXUHTGUFVGVHUJSL + 2771 20KZZBVESHQKOONTNXO]P`Qb RVESIQMPPOUOZP_Qb + 2772 20JYSBTDUGVLVPUUSYQ\N_Jb RSBTEUJUOTTSWQ[N_ + 2773 9J[TFTR ROIYO RYIOO + 2775 6E_RIR[ RIR[R + 2761 8MXP[OZPYQZQ[P]N_ + 2774 3E_IR[R + 2760 6MXPYOZP[QZPY + 2770 3G]_BEb + 2750 42H]TFQGOIMLLOKSKVLYMZO[Q[TZVXXUYRZNZKYHXGVFTF RTFRGPINLMOLSLVMYO[ + RQ[SZUXWUXRYNYKXHVF + 2751 15H]TJO[ RVFP[ RVFSIPKNL RUIQKNL + 2752 42H]OJPKOLNKNJOHPGSFVFYGZIZKYMWOTQPSMUKWI[ RVFXGYIYKXMVOPS RJYKXMX +RZUZWYXW RMXR[U[WZXW + 2753 50H]OJPKOLNKNJOHPGSFVFYGZIZKYMVOSP RVFXGYIYKXMVO RQPSPVQWRXTXWWYVZ +S[O[LZKYJWJVKULVKW RSPUQVRWTWWVYUZS[ + 2754 10H]XGR[ RYFS[ RYFJUZU + 2755 39H]QFLP RQF[F RQGVG[F RLPMOPNSNVOWPXRXUWXUZR[O[LZKYJWJVKULVKW RSN +UOVPWRWUVXTZR[ + 2756 46H]YIXJYKZJZIYGWFTFQGOIMLLOKSKWLYMZO[R[UZWXXVXSWQVPTOQOOPMRLT RTF +RGPINLMOLSLXMZ RR[TZVXWVWRVP + 2757 30H]NFLL R[FZIXLSRQUPWO[ RXLRRPUOWN[ RMIPFRFWI RNHPGRGWIYIZH[F + 2758 63H]SFPGOHNJNMOOQPTPXOYNZLZIYGVFSF RSFQGPHOJOMPOQP RTPWOXNYLYIXGVF + RQPMQKSJUJXKZN[R[VZWYXWXTWRVQTP RQPNQLSKUKXLZN[ RR[UZVYWWWSVQ + 2759 46H]YMXOVQTRQROQNPMNMKNIPGSFVFXGYHZJZNYRXUVXTZQ[N[LZKXKWLVMWLX ROQ +NONKOIQGSF RXGYIYNXRWUUXSZQ[ + 2762 11MXSMRNSOTNSM RPYOZP[QZ + 2763 14MXSMRNSOTNSM RP[OZPYQZQ[P]N_ + 2241 4F^ZIJRZ[ + 2776 6E_IO[O RIU[U + 2242 4F^JIZRJ[ + 2765 34H]OJPKOLNKNJOHPGSFWFZG[I[KZMYNSPQQQSRTTT RWFYGZIZKYMXNVO RPYOZP[ +QZPY + 2273 56E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\T]Q]O\L[J +YHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV + 2551 38E\XFVHTKQPOSLWIZG[E[DZDXEWFXEY RXFWJUTT[ RXFU[ RT[TYSVRTPRNQLQKR +KTLWOZR[V[XZ + 2552 70F^UGTHSJQOOUNWLZJ[ RTHSKQSPVOXMZJ[H[GZGXHWIXHY ROLNNMOKOJNJLKJMH +OGRFXFZG[I[KZMXNTORO RXFYGZIZKYMXN RTOWPXQYSYVXYWZU[S[RZRXSU RTOVPWQXSXV +WYU[ + 2553 41H]KHJJJLKNNOQOUNWMYKZIZGYFWFTGQJOMMQLULXMZP[R[UZWXXVXTWRURSSRU R +WFUGRJPMNQMUMXNZP[ + 2554 43F]UGTHSJQOOUNWLZJ[ RTHSKQSPVOXMZJ[H[GZGXHWJWLXNZP[S[UZWXYTZOZLYI +WGUFPFMGKIJKJMKNMNNMOK + 2555 49I\WIVJVLWMYMZKZIYGWFTFRGQHPJPLQNSO RTFRHQJQMSO RSOQONPLRKTKWLYMZ +O[R[UZWXXVXTWRURSSRU RQOOPMRLTLXMZ + 2556 46G\WHVJTORUQWOZM[ RQLPNNOLOKMKKLINGQF[FXGWHVKTSSVRXPZM[K[IZHYHXIW +JXIY RSFWGXG ROSPRRQVQXPZMXT + 2557 53G]JIIKIMJOLPOPROTNWKXHXGWFVFTGRIQKPNPQQSSTUTWSYQZO RWFUGSIRKQNQR +ST RZOYSWWUYSZO[L[JZIXIWJVKWJX RYSWVUXRZO[ + 2558 55F^LLKKKILGOFRFOQMWLYKZI[G[FZFXGWHXGY RRFOONRLWKYI[ RJTKSMRVOXN[L +]J^H^G]F\FZGXJWLURTVTYV[W[YZ[X R\FZHXLVRUVUYV[ + 2559 33IYWHUKSPQUPWNZL[ RYLWNTOQOONNLNJOHQGUFYFWHVJTPRVQXOZL[J[IZIXJWKX +JY + 2560 34IZYFWHUKSPPYN] RYMWOTPQPOONMNKOIQGUFYFWIVKSTQXPZN]M^K_J^J\KZMXOW +RVVU + 2561 59F^LLKKKIMGPFRFOQMWLYKZI[G[FZFXGWHXGY RRFOONRLWKYI[ RZGWKUMSNPO R +]G\H]I^H^G]F\FZGWLVMTNPO RPOSPTRUYV[ RPORPSRTYV[W[YZ[X + 2562 40I[MILKLMMOOPRPUOWNZK[H[GZFYFWGVHTKPUOWMZK[ RVHTLRSQVPXNZK[I[HZHX +IWKWMXPZR[U[WZYX + 2563 49D`RFNOKUIXGZE[C[BZBXCWDXCY RRFPMOQNVNZP[ RRFQJPOOVOZP[ R[FWORXP[ + R[FYMXQWVWZY[Z[\Z^X R[FZJYOXVXZY[ + 2564 38G^RFQJOPMULWJZH[F[EZEXFWGXFY RRFRKSVT[ RRFSKTVT[ R`G_H`IaHaG`F^F +\GZJYLWQUWT[ + 2565 34H]SFQGOIMLLNKRKVLYMZO[Q[TZVXXUYSZOZKYHXGWGUHSJQNPSPV RQGOJMNLRLV +MYO[ + 2566 53F]UGTHSJQOOUNWLZJ[ RTHSKQSPVOXMZJ[H[GZGXHWIXHY ROLNNMOKOJNJLKJMH +OGRFVFYGZH[J[MZOYPVQTQRP RVFXGYHZJZMYOXPVQ + 2567 43H]UJULTNSOQPOPNNNLOIQGTFWFYGZIZMYPWSSWPYNZK[I[HZHXIWKWMXPZS[V[XZ +ZX RWFXGYIYMXPVSSVOYK[ + 2568 65F^UGTHSJQOOUNWLZJ[ RTHSKQSPVOXMZJ[H[GZGXHWIXHY ROLNNMOKOJNJLKJMH +OGRFWFZG[I[KZMYNVORO RWFYGZIZKYMXNVO RROUPVRWYX[ RROTPURVYX[Y[[Z]X + 2569 36H\NIMKMMNOPPSPVOXN[K\H\G[FZFXGWHVJUMSTRWPZN[ RVJUNTUSXQZN[K[IZHX +HWIVJWIX + 2570 38I[YHXJVOTUSWQZO[ RSLRNPONOMMMKNIPGSF\FZGYHXKVSUVTXRZO[M[KZJYJXKW +LXKY RUFYGZG + 2571 39G]HJJGLFMFOHOKNNKVKYL[ RMFNHNKKSJVJYL[N[PZSWUTVR RZFVRUVUYW[X[ZZ +\X R[FWRVVVYW[ + 2572 36G\HJJGLFMFOHOKNOLVLYM[ RMFNHNKLRKVKYM[N[QZTWVTXPYMZIZGYFXFWGVIVL +WNYP[Q]Q + 2573 41F]ILHLGKGIHGJFNFMHLLKUJ[ RLLLUK[ RVFTHRLOUMYK[ RVFUHTLSUR[ RTLTU +S[ R`F^G\IZLWUUYS[ + 2574 52H\PKOLMLLKLIMGOFQFSGTITLSPQUOXMZJ[H[GZGXHWIXHY RQFRGSISLRPPUNXLZ +J[ R]G\H]I^H^G]F[FYGWIULSPRURXSZT[U[WZYX + 2575 42G]JJLGNFOFQGQIOOORPT ROFPGPINONRPTRTUSWQYNZL R\FZLWTUX R]F[LYQWU +UXSZP[L[JZIXIWJVKWJX + 2576 44G\ZHYJWOVRUTSWQYOZL[ RSLRNPONOMMMKNIPGSF]F[GZHYKXOVUTXQZL[H[GZGX +HWJWLXOZQ[T[WZYX RVFZG[G + 2223 12KYOBOb RPBPb ROBVB RObVb + 804 3KYKFY^ + 2224 12KYTBTb RUBUb RNBUB RNbUb + 2262 11JZPLRITL RMORJWO RRJR[ + 999 3JZJ]Z] + 2766 8MXVFTHSJSKTLUKTJ + 2651 33K[UUTSRRPRNSMTLVLXMZO[Q[SZTX RPRNTMVMYO[ RVRTXTZV[XZYY[V RWRUXUZ +V[ + 2652 23LZLVNSPO RSFMXMZO[P[RZTXUUURVVWWXWZV RTFNXNZO[ + 2653 22LXTSSTTTTSSRQROSNTMVMXNZP[S[VYXV RQROTNVNYP[ + 2654 33K[UUTSRRPRNSMTLVLXMZO[Q[SZTX RPRNTMVMYO[ RZFTXTZV[XZYY[V R[FUXUZ +V[ + 2655 23LXOYQXRWSUSSRRQROSNTMVMXNZP[S[VYXV RQROTNVNYP[ + 2656 27OXRRUOWLXIXGWFUGTIKdKfLgNfOcPZQ[S[UZVYXV RTISNRRO[M`Kd + 2657 38K[UUTSRRPRNSMTLVLXMZO[Q[SZTX RPRNTMVMYO[ RVRPd RWRT[R`PdOfMgLfLd +MaO_R]V[YY[V + 2658 30L[LVNSPO RSFL[ RTFM[ ROUQSSRTRVSVUUXUZV[ RTRUSUUTXTZV[XZYY[V + 2659 19NVSLRMSNTMSL RQROXOZQ[SZTYVV RRRPXPZQ[ + 2660 24NVSLRMSNTMSL RQRKd RRRO[M`KdJfHgGfGdHaJ_M]Q[TYVV + 2661 31LZLVNSPO RSFL[ RTFM[ RURUSVSURTRRTOU ROURVSZT[ ROUQVRZT[U[XYZV + 2662 17NVNVPSRO RUFOXOZQ[SZTYVV RVFPXPZQ[ + 2663 45E^EVGSIRKSKUI[ RIRJSJUH[ RKUMSORPRRSRUP[ RPRQSQUO[ RRUTSVRWRYSYU +XXXZY[ RWRXSXUWXWZY[[Z\Y^V + 2664 32I[IVKSMROSOUM[ RMRNSNUL[ ROUQSSRTRVSVUUXUZV[ RTRUSUUTXTZV[XZYY[V + 2665 29KYRRPRNSMTLVLXMZO[Q[SZTYUWUUTSRRQSQURWTXVXXWYV RPRNTMVMYO[ + 2666 30L[LVNSPO RQLHg RRLIg ROUQSSRTRVSVUUXUZV[ RTRUSUUTXTZV[XZYY[V + 2667 35K[UUTSRRPRNSMTLVLXMZO[Q[SZ RPRNTMVMYO[ RVRPdPfQgSfTcT[V[YY[V RWR +T[R`Pd + 2668 24LZLVNSPRRSRUP[ RPRQSQUO[ RRUTSVRWRVU RVRVUWWXWZV + 2669 22NZNVPSQQQSTUUWUYTZR[ RQSSUTWTYR[ RNZP[U[XYZV + 2670 20NVNVPSRO RUFOXOZQ[SZTYVV RVFPXPZQ[ RPNVN + 2671 27K[NRLXLZN[O[QZSXUU RORMXMZN[ RVRTXTZV[XZYY[V RWRUXUZV[ + 2672 23KZNRMTLWLZN[O[RZTXUUUR RORNTMWMZN[ RURVVWWXWZV + 2673 36H]LRJTIWIZK[L[NZPX RMRKTJWJZK[ RRRPXPZR[S[UZWXXUXR RSRQXQZR[ RXR +YVZW[W]V + 2674 42JZJVLSNRPRQSQUPXOZM[L[KZKYLYKZ RWSVTWTWSVRURSSRUQXQZR[U[XYZV RQS +RU RSSQU RPXQZ RQXOZ + 2675 32K[NRLXLZN[O[QZSXUU RORMXMZN[ RVRPd RWRT[R`PdOfMgLfLdMaO_R]V[YY[V + 2676 38LYLVNSPRRRTSTVSXPZN[ RRRSSSVRXPZ RN[P\Q^QaPdNfLgKfKdLaO^R\VYYV R +N[O\P^PaOdNf + 2225 40KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSU +SWRYQZP\P^Q`RaTb + 2229 3NVRBRb + 2226 40KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQU +QWRYSZT\T^S`RaPb + 2246 24F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O + 2779 14KZSFQGPIPKQMSNUNWMXKXIWGUFSF diff --git a/hf2gcode/hershey_fonts/orig/scripts.jhf b/hf2gcode/hershey_fonts/orig/scripts.jhf new file mode 100644 index 0000000..73bc9f3 --- /dev/null +++ b/hf2gcode/hershey_fonts/orig/scripts.jhf @@ -0,0 +1,122 @@ + 699 1JZ + 2764 17MXUFTGRS RUGRS RUFVGRS RPYOZP[QZPY + 2778 12I[PFNM RQFNM RYFWM RZFWM + 733 12H]SBLb RYBRb RLOZO RKUYU + 2769 41H]TBL_ RYBQ_ RZJYKZL[K[JZHYGVFRFOGMIMKNMONVRXT RMKOMVQWRXTXWWYVZ +S[O[LZKYJWJVKULVKW + 2271 32F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT + 2768 55E_\N[O\P]O]N\M[MYNWPRXPZN[K[HZGXGVHTISKRPPROTMUKUITGRFPGOIOLPRQU +SXUZW[Y[ZYZX RK[IZHXHVITJSPP ROLPQQTSWUYWZYZZY + 2767 8MXUHTGUFVGVHUJSL + 2771 20KZZBVESHQKOONTNXO]P`Qb RVESIQMPPOUOZP_Qb + 2772 20JYSBTDUGVLVPUUSYQ\N_Jb RSBTEUJUOTTSWQ[N_ + 2773 9J[TFTR ROIYO RYIOO + 725 6E_RIR[ RIR[R + 2761 8MXP[OZPYQZQ[P]N_ + 724 3E_IR[R + 710 6MWRYQZR[SZRY + 2770 3G]_BEb + 2750 42H]TFQGOIMLLOKSKVLYMZO[Q[TZVXXUYRZNZKYHXGVFTF RTFRGPINLMOLSLVMYO[ + RQ[SZUXWUXRYNYKXHVF + 2751 15H]TJO[ RVFP[ RVFSIPKNL RUIQKNL + 2752 42H]OJPKOLNKNJOHPGSFVFYGZIZKYMWOTQPSMUKWI[ RVFXGYIYKXMVOPS RJYKXMX +RZUZWYXW RMXR[U[WZXW + 2753 50H]OJPKOLNKNJOHPGSFVFYGZIZKYMVOSP RVFXGYIYKXMVO RQPSPVQWRXTXWWYVZ +S[O[LZKYJWJVKULVKW RSPUQVRWTWWVYUZS[ + 2754 10H]XGR[ RYFS[ RYFJUZU + 2755 39H]QFLP RQF[F RQGVG[F RLPMOPNSNVOWPXRXUWXUZR[O[LZKYJWJVKULVKW RSN +UOVPWRWUVXTZR[ + 2756 46H]YIXJYKZJZIYGWFTFQGOIMLLOKSKWLYMZO[R[UZWXXVXSWQVPTOQOOPMRLT RTF +RGPINLMOLSLXMZ RR[TZVXWVWRVP + 2757 30H]NFLL R[FZIXLSRQUPWO[ RXLRRPUOWN[ RMIPFRFWI RNHPGRGWIYIZH[F + 2758 63H]SFPGOHNJNMOOQPTPXOYNZLZIYGVFSF RSFQGPHOJOMPOQP RTPWOXNYLYIXGVF + RQPMQKSJUJXKZN[R[VZWYXWXTWRVQTP RQPNQLSKUKXLZN[ RR[UZVYWWWSVQ + 2759 46H]YMXOVQTRQROQNPMNMKNIPGSFVFXGYHZJZNYRXUVXTZQ[N[LZKXKWLVMWLX ROQ +NONKOIQGSF RXGYIYNXRWUUXSZQ[ + 2762 11MXSMRNSOTNSM RPYOZP[QZ + 2763 14MXSMRNSOTNSM RP[OZPYQZQ[P]N_ + 2241 4F^ZIJRZ[ + 726 6E_IO[O RIU[U + 2242 4F^JIZRJ[ + 2765 34H]OJPKOLNKNJOHPGSFWFZG[I[KZMYNSPQQQSRTTT RWFYGZIZKYMXNVO RPYOZP[ +QZPY + 2273 56E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\T]Q]O\L[J +YHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV + 551 20G[G[IZLWOSSLVFV[UXSUQSNQLQKRKTLVNXQZT[Y[ + 552 41F]SHTITLSPRSQUOXMZK[J[IZIWJRKOLMNJPHRGUFXFZG[I[KZMYNWOTP RSPTPWQ +XRYTYWXYWZU[R[PZOX + 553 24H\TLTMUNWNYMZKZIYGWFTFQGOIMLLNKRKVLYMZO[Q[TZVXWV + 554 35G^TFRGQIPMOSNVMXKZI[G[FZFXGWIWKXMZP[S[VZXXZT[O[KZHYGWFTFRHRJSMUP +WRZT\U + 555 28H\VJVKWLYLZKZIYGVFRFOGNINLONPOSPPPMQLRKTKWLYMZP[S[VZXXYV + 556 28H\RLPLNKMINGQFTFXG[G]F RXGVNTTRXPZN[L[JZIXIVJULUNV RQPZP + 557 29G^G[IZMVPQQNRJRGQFPFOGNINLONQOUOXNYMZKZQYVXXVZS[O[LZJXIVIT + 558 38F^MMKLJJJIKGMFNFPGQIQKPONULYJ[H[GZGX RMRVOXN[L]J^H^G]F\FZHXLVRUW +UZV[W[YZZY\V + 559 25IZWVUTSQROQLQIRGSFUFVGWIWLVQTVSXQZO[M[KZJXJVKUMUOV + 560 25JYT^R[PVOPOJPGRFTFUGVJVMURR[PaOdNfLgKfKdLaN^P\SZWX + 561 39F^MMKLJJJIKGMFNFPGQIQKPONULYJ[H[GZGX R^I^G]F\FZGXIVLTNROPO RROSQ +SXTZU[V[XZYY[V + 562 29I\MRORSQVOXMYKYHXFVFUGTISNRSQVPXNZL[J[IZIXJWLWNXQZT[V[YZ[X + 563 45@aEMCLBJBICGEFFFHGIIIKHPGTE[ RGTJLLHMGOFPFRGSISKRPQTO[ RQTTLVHWG +YFZF\G]I]K\PZWZZ[[\[^Z_YaV + 564 32E]JMHLGJGIHGJFKFMGNINKMPLTJ[ RLTOLQHRGTFVFXGYIYKXPVWVZW[X[ZZ[Y]V + 565 29H]TFQGOIMLLNKRKVLYMZO[Q[TZVXXUYSZOZKYHXGVFTFRHRKSNUQWSZU\V + 566 31F_SHTITLSPRSQUOXMZK[J[IZIWJRKOLMNJPHRGUFZF\G]H^J^M]O\PZQWQUPTO + 567 32H^ULTNSOQPOPNNNLOIQGTFWFYGZIZMYPWSSWPYNZK[I[HZHXIWKWMXPZS[V[YZ[X + 568 38F_SHTITLSPRSQUOXMZK[J[IZIWJRKOLMNJPHRGUFYF[G\H]J]M\O[PYQVQSPTQUS +UXVZX[ZZ[Y]V + 569 28H\H[JZLXOTQQSMTJTGSFRFQGPIPKQMSOVQXSYUYWXYWZT[P[MZKXJVJT + 570 25H[RLPLNKMINGQFTFXG[G]F RXGVNTTRXPZN[L[JZIXIVJULUNV + 571 33E]JMHLGJGIHGJFKFMGNINKMOLRKVKXLZN[P[RZSYUUXMZF RXMWQVWVZW[X[ZZ[Y +]V + 572 32F]KMILHJHIIGKFLFNGOIOKNOMRLVLYM[O[QZTWVTXPYMZIZGYFXFWGVIVKWNYP[Q + 573 25C_HMFLEJEIFGHFIFKGLILLK[ RUFK[ RUFS[ RaF_G\JYNVTS[ + 574 36F^NLLLKKKILGNFPFRGSISLQUQXRZT[V[XZYXYVXUVU R]I]G\FZFXGVITLPUNXLZ +J[H[GZGX + 575 38F]KMILHJHIIGKFLFNGOIOKNOMRLVLXMZN[P[RZTXVUWSYM R[FYMVWT]RbPfNgMf +MdNaP^S[VY[V + 576 40H]ULTNSOQPOPNNNLOIQGTFWFYGZIZMYPWTTWPZN[K[JZJXKWNWPXQYR[R^QaPcNf +LgKfKdLaN^Q[TYZV + 2223 12KYOBOb RPBPb ROBVB RObVb + 804 3KYKFY^ + 2224 12KYTBTb RUBUb RNBUB RNbUb + 2262 11JZPLRITL RMORJWO RRJR[ + 999 3JZJ]Z] + 2766 8MXVFTHSJSKTLUKTJ + 651 22L\UUTSRRPRNSMTLVLXMZO[Q[SZTXVRUWUZV[W[YZZY\V + 652 23M[MVOSRNSLTITGSFQGPIOMNTNZO[P[RZTXUUURVVWWYW[V + 653 14MXTTTSSRQROSNTMVMXNZP[S[VYXV + 654 24L\UUTSRRPRNSMTLVLXMZO[Q[SZTXZF RVRUWUZV[W[YZZY\V + 655 17NXOYQXRWSUSSRRQROSNUNXOZQ[S[UZVYXV + 656 24OWOVSQUNVLWIWGVFTGSIQQNZKaJdJfKgMfNcOZP[R[TZUYWV + 657 28L[UUTSRRPRNSMTLVLXMZO[Q[SZTY RVRTYPdOfMgLfLdMaP^S\U[XY[V + 658 29M\MVOSRNSLTITGSFQGPIOMNSM[ RM[NXOVQSSRURVSVUUXUZV[W[YZZY\V + 659 16PWSMSNTNTMSM RPVRRPXPZQ[R[TZUYWV + 660 20PWSMSNTNTMSM RPVRRLdKfIgHfHdIaL^O\Q[TYWV + 661 33M[MVOSRNSLTITGSFQGPIOMNSM[ RM[NXOVQSSRURVSVUTVQV RQVSWTZU[V[XZYY +[V + 662 18OWOVQSTNULVIVGUFSGRIQMPTPZQ[R[TZUYWV + 663 33E^EVGSIRJSJTIXH[ RIXJVLSNRPRQSQTPXO[ RPXQVSSURWRXSXUWXWZX[Y[[Z\Y +^V + 664 23J\JVLSNROSOTNXM[ RNXOVQSSRURVSVUUXUZV[W[YZZY\V + 665 23LZRRPRNSMTLVLXMZO[Q[SZTYUWUUTSRRQSQURWTXWXYWZV + 666 24KZKVMSNQMUGg RMUNSPRRRTSUUUWTYSZQ[ RMZO[R[UZWYZV + 667 27L[UUTSRRPRNSMTLVLXMZO[Q[SZ RVRUUSZPaOdOfPgRfScS\U[XY[V + 668 15MZMVOSPQPSSSTTTVSYSZT[U[WZXYZV + 669 16NYNVPSQQQSSVTXTZR[ RNZP[T[VZWYYV + 670 16OXOVQSSO RVFPXPZQ[S[UZVYXV RPNWN + 671 19L[LVNRLXLZM[O[QZSXUU RVRTXTZU[V[XZYY[V + 672 17L[LVNRMWMZN[O[RZTXUUUR RURVVWWYW[V + 673 25I^LRJTIWIYJ[L[NZPX RRRPXPZQ[S[UZWXXUXR RXRYVZW\W^V + 674 20JZJVLSNRPRQSQZR[U[XYZV RWSVRTRSSOZN[L[KZ + 675 23L[LVNRLXLZM[O[QZSXUU RVRPdOfMgLfLdMaP^S\U[XY[V + 676 23LZLVNSPRRRTTTVSXQZN[P\Q^QaPdOfMgLfLdMaP^S\WYZV + 2225 40KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSU +SWRYQZP\P^Q`RaTb + 723 3NVRBRb + 2226 40KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQU +QWRYSZT\T^S`RaPb + 2246 24F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O + 718 14KYQFOGNINKOMQNSNUMVKVIUGSFQF + \ No newline at end of file diff --git a/hf2gcode/hershey_fonts/orig/symbolic.jhf b/hf2gcode/hershey_fonts/orig/symbolic.jhf new file mode 100644 index 0000000..92719ce --- /dev/null +++ b/hf2gcode/hershey_fonts/orig/symbolic.jhf @@ -0,0 +1,118 @@ +12345 1JZ +12345 3D`DR`R +12345 3D`D``D +12345 3RRR>Rf +12345 3D`DD`` +12345 3D`DR`R +12345 3F^FY^K +12345 3KYK^YF +12345 3RRRDR` +12345 3KYKFY^ +12345 3F^FK^Y +12345 3KYKRYR +12345 3MWMWWM +12345 3RRRKRY +12345 3MWMMWW +12345 8GRRGPGMHJJHMGPGR +12345 8GRGRGTHWJZM\P]R] +12345 8R]R]T]W\ZZ\W]T]R +12345 8R]]R]P\MZJWHTGRG +12345 9D`DOGQKSPTTTYS]Q`O +12345 9PUUDSGQKPPPTQYS]U` +12345 9OTODQGSKTPTTSYQ]O` +12345 9D`DUGSKQPPTPYQ]S`U +12345 5KYRJYNKVRZ +12345 5JZJRNKVYZR +12345 5KYKVKNYVYN +12345 5JZLXJPZTXL +12345 23JZJ]L]O\Q[TXUVVSVOULTJSIQIPJOLNONSOVPXS[U\X]Z] +12345 23I]]Z]X\U[SXPVOSNONLOJPIQISJTLUOVSVVUXT[Q\O]L]J +12345 23JZZGXGUHSIPLONNQNUOXPZQ[S[TZUXVUVQUNTLQIOHLGJG +12345 23G[GJGLHOIQLTNUQVUVXUZT[S[QZPXOUNQNNOLPISHUGXGZ +12345 21E[EPFRHTJUMVQVUUXSZP[NZLWLSMQNNPLSKVKYL\M^ +12345 19EYETHVKWPWSVVTXQYNYLXKVKSLPNNQMTMYN\P_ +12345 26OUQOOQOSQUSUUSUQSOQO RQPPQPSQTSTTSTQSPQP RRQQRRSSRRQ +12345 11RWRMSMUNVOWQWSVUUVSWRW +12345 9D`DRJR RORUR RZR`R +12345 5D`DUDO`O`U +12345 6JZRDJR RRDZR +12345 9D`DR`R RJYZY RP`T` +12345 9D`DR`R RDRRb R`RRb +12345 18KYQKNLLNKQKSLVNXQYSYVXXVYSYQXNVLSKQK +12345 6LXLLLXXXXLLL +12345 5KYRJKVYVRJ +12345 6LXRHLRR\XRRH +12345 12JZRIPOJOOSMYRUWYUSZOTORI +12345 6KYRKRY RKRYR +12345 6MWMMWW RWMMW +12345 9MWRLRX RMOWU RWOMU +12345 35NVQNOONQNSOUQVSVUUVSVQUOSNQN ROQOS RPPPT RQOQU RRORU RSOSU RTPTT + RUQUS +12345 27NVNNNVVVVNNN ROOOU RPOPU RQOQU RRORU RSOSU RTOTU RUOUU +12345 17MWRLMUWURL RROOT RROUT RRRQT RRRST +12345 17LULRUWUMLR RORTU RORTO RRRTS RRRTQ +12345 17MWRXWOMORX RRUUP RRUOP RRRSP RRRQP +12345 17OXXROMOWXR RURPO RURPU RRRPQ RRRPS +12345 11RYRKRY RRKYNRQ RSMVNSO +12345 21I[RGRV RMJWP RWJMP RIVL\ R[VX\ RIV[V RL\X\ +12345 13MWRLRX ROOUO RMUOWQXSXUWWU +12345 11LXRLRX RLQMOWOXQ RPWTW +12345 14KYMNWX RWNMX ROLLOKQ RULXOYQ +12345 18I[NII[ RVI[[ RMM[[ RWMI[ RNIVI RMMWM +12345 3KYKFY^ +12345 11G[MJSV RKPSL RG\[\[RG\ +12345 14LXPLPPLPLTPTPXTXTTXTXPTPTLPL +12345 32KYYPXNVLSKQKNLLNKQKSLVNXQYSYVXXVYT RYPWNUMSMQNPOOQOSPUQVSWUWWVYT +12345 10KYRJKVYVRJ RRZYNKNRZ +12345 34G]PIPGQFSFTGTI RGZHXJVKTLPLKMJOIUIWJXKXPYTZV\X]Z RGZ]Z RQZP[Q\S\ +T[SZ +12345 64JZRMRS RRSQ\ RRSS\ RQ\S\ RRMQJPHNG RQJNG RRMSJTHVG RSJVG RRMNKLK +JM RPLLLJM RRMVKXKZM RTLXLZM RRMPNOOOR RRMPOOR RRMTNUOUR RRMTOUR +12345 94JZRIRK RRNRP RRSRU RRYQ\ RRYS\ RQ\S\ RRGQIPJ RRGSITJ RPJRITJ RRK +PNNOMN RRKTNVOWN RNOPORNTOVO RRPPSNTLTKRKSLT RRPTSVTXTYRYSXT RNTPTRSTTVT + RRUPXOYMZLZKYJWJYLZ RRUTXUYWZXZYYZWZYXZ RMZOZRYUZWZ +12345 40JZRYQ\ RRYS\ RQ\S\ RRYUZXZZXZUYTWTYRZOYMWLUMVJUHSGQGOHNJOMMLKMJO +KRMTKTJUJXLZOZRY +12345 32JZRYQ\ RRYS\ RQ\S\ RRYVXVVXUXRZQZLYIXHVHTGPGNHLHKIJLJQLRLUNVNXRY +12345 15I[IPKR RLKNP RRGRO RXKVP R[PYR +12345 28G]IIJKKOKUJYI[ R[IZKYOYUZY[[ RIIKJOKUKYJ[I RI[KZOYUYYZ[[ +12345 55F^RRR[Q\ RRVQ\ RRIQHOHNINKONRR RRISHUHVIVKUNRR RRRNOLNJNIOIQJR R +RRVOXNZN[O[QZR RRRNULVJVIUISJR RRRVUXVZV[U[SZR +12345 46JZUITJUKVJVIUGSFQFOGNINKOMQOVR ROMTPVRWTWVVXTZ RPNNPMRMTNVPXU[ R +NVSYU[V]V_UaSbQbOaN_N^O]P^O_ +12345 30JZRFQHRJSHRF RRFRb RRQQTRbSTRQ RLMNNPMNLLM RLMXM RTMVNXMVLTM +12345 56JZRFQHRJSHRF RRFRT RRPQRSVRXQVSRRP RRTRb RR^Q`RbS`R^ RLMNNPMNLLM + RLMXM RTMVNXMVLTM RL[N\P[NZL[ RL[X[ RT[V\X[VZT[ +12345 18E_RIQJRKSJRI RIYHZI[JZIY R[YZZ[[\Z[Y +12345 33F^RHNLKPJSJUKWMXOXQWRU RRHVLYPZSZUYWWXUXSWRU RRUQYP\ RRUSYT\ RP\ +T\ +12345 26F^RNQKPINHMHKIJKJOKRLTNWR\ RRNSKTIVHWHYIZKZOYRXTVWR\ +12345 20F^RGPJLOIR RRGTJXO[R RIRLUPZR] R[RXUTZR] +12345 48F^RTTWVXXXZW[U[SZQXPVPSQ RSQUOVMVKUISHQHOINKNMOOQQ RQQNPLPJQISIU +JWLXNXPWRT RRTQYP\ RRTSYT\ RP\T\ +12345 48I[V+S-Q/P1O4O8Pa>`?_ +@`?a R`G_H`IaH`G]FZFWGUITKSNRRP[O_Na RZFXGVIUKTNRWQ[P^O`NaLbJbIaI`J_K`Ja + R^M\T[X[Z\[_[aYbW R_M]T\X\Z][ RDM_M +12345 88@cTGSHTIUHTGRFOFLGJIIKHNGRE[D_Ca ROFMGKIJKINGWF[E^D`CaAb?b>a>`?_ +@`?a R^G]H^I_H_G]F RaFZFWGUITKSNRRP[O_Na RZFXGVIUKTNRWQ[P^O`NaLbJbIaI`J_ +K`Ja R`F\T[X[Z\[_[aYbW RaF]T\X\Z][ RDM^M +12345 20LYMQNOPMSMTNTQRWRZS[ RRMSNSQQWQZR[U[WYXW +12345 22LXRLNWXPLPVWRL RRRRL RRRLP RRRNW RRRVW RRRXP +12345 24F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O diff --git a/hf2gcode/hershey_fonts/orig/timesg.jhf b/hf2gcode/hershey_fonts/orig/timesg.jhf new file mode 100644 index 0000000..408b147 --- /dev/null +++ b/hf2gcode/hershey_fonts/orig/timesg.jhf @@ -0,0 +1,126 @@ +12345 1JZ +12345 15MWRFQHRTSHRF RRHRN RRYQZR[SZRY +12345 12JZNFMM ROFMM RVFUM RWFUM +12345 12H]SBLb RYBRb RLOZO RKUYU +12345 42H\PBP_ RTBT_ RXIWJXKYJYIWGTFPFMGKIKKLMMNOOUQWRYT RKKMMONUPWQXRYT +YXWZT[P[MZKXKWLVMWLX +12345 32F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT +12345 49F_[NZO[P\O\N[MZMYNXPVUTXRZP[M[JZIXIUJSPORMSKSIRGPFNGMIMKNNPQUXWZ +Z[[[\Z\Y RM[KZJXJUKSMQ RMKNMVXXZZ[ +12345 6NVRFQM RSFQM +12345 24KYUBSDQGOKNPNTOYQ]S`UbVb RUBVBTDRGPKOPOTPYR]T`Vb +12345 24KYNBPDRGTKUPUTTYR]P`NbOb RNBOBQDSGUKVPVTUYS]Q`Ob +12345 9JZRLRX RMOWU RWOMU +12345 6E_RIR[ RIR[R +12345 8NVSWRXQWRVSWSYQ[ +12345 3E_IR[R +12345 6NVRVQWRXSWRV +12345 3G][BIb +12345 40H\QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF RQFOGNHMJLOLRMWNYOZQ[ RS[UZ +VYWWXRXOWJVHUGSF +12345 11H\NJPISFS[ RRGR[ RN[W[ +12345 45H\LJMKLLKKKJLHMGPFTFWGXHYJYLXNUPPRNSLUKXK[ RTFVGWHXJXLWNTPPR RKY +LXNXSZVZXYYX RNXS[W[XZYXYV +12345 47H\LJMKLLKKKJLHMGPFTFWGXIXLWNTOQO RTFVGWIWLVNTO RTOVPXRYTYWXYWZT[ +P[MZLYKWKVLUMVLW RWQXTXWWYVZT[ +12345 13H\THT[ RUFU[ RUFJUZU RQ[X[ +12345 39H\MFKP RKPMNPMSMVNXPYSYUXXVZS[P[MZLYKWKVLUMVLW RSMUNWPXSXUWXUZS[ + RMFWF RMGRGWF +12345 48H\WIVJWKXJXIWGUFRFOGMILKKOKULXNZQ[S[VZXXYUYTXQVOSNRNOOMQLT RRFPG +NIMKLOLUMXOZQ[ RS[UZWXXUXTWQUOSN +12345 31H\KFKL RKJLHNFPFUIWIXHYF RLHNGPGUI RYFYIXLTQSSRVR[ RXLSQRSQVQ[ +12345 63H\PFMGLILLMNPOTOWNXLXIWGTFPF RPFNGMIMLNNPO RTOVNWLWIVGTF RPOMPLQ +KSKWLYMZP[T[WZXYYWYSXQWPTO RPONPMQLSLWMYNZP[ RT[VZWYXWXSWQVPTO +12345 48H\XMWPURRSQSNRLPKMKLLINGQFSFVGXIYLYRXVWXUZR[O[MZLXLWMVNWMX RQSOR +MPLMLLMIOGQF RSFUGWIXLXRWVVXTZR[ +12345 12NVROQPRQSPRO RRVQWRXSWRV +12345 14NVROQPRQSPRO RSWRXQWRVSWSYQ[ +12345 4F^ZIJRZ[ +12345 6E_IO[O RIU[U +12345 4F^JIZRJ[ +12345 32I[MJNKMLLKLJMHNGPFSFVGWHXJXLWNVORQRT RSFUGVHWJWLVNTP RRYQZR[SZRY +12345 56E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\T]Q]O\L[J +YHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV +12345 18H\RFK[ RRFY[ RRIX[ RMUVU RI[O[ RU[[[ +12345 45G]LFL[ RMFM[ RIFUFXGYHZJZLYNXOUP RUFWGXHYJYLXNWOUP RMPUPXQYRZTZW +YYXZU[I[ RUPWQXRYTYWXYWZU[ +12345 21H\KFX[ RLFY[ RYFK[ RIFOF RUF[F RI[O[ RU[[[ +12345 15H\RFJ[ RRFZ[ RRIY[ RKZYZ RJ[Z[ +12345 22G\LFL[ RMFM[ RSLST RIFYFYLXF RMPSP RI[Y[YUX[ +12345 48H]RFR[ RSFS[ RPKMLLMKOKRLTMUPVUVXUYTZRZOYMXLUKPK RPKNLMMLOLRMTNU +PV RUVWUXTYRYOXMWLUK ROFVF RO[V[ +12345 14I[NFN[ ROFO[ RKFZFZLYF RK[R[ +12345 27F^KFK[ RLFL[ RXFX[ RYFY[ RHFOF RUF\F RLPXP RH[O[ RU[\[ +12345 12MXRFR[ RSFS[ ROFVF RO[V[ +12345 6PURQRRSRSQRQ +12345 27F\KFK[ RLFL[ RYFLS RQOY[ RPOX[ RHFOF RUF[F RH[O[ RU[[[ +12345 15H\RFK[ RRFY[ RRIX[ RI[O[ RU[[[ +12345 30F_KFK[ RLFRX RKFR[ RYFR[ RYFY[ RZFZ[ RHFLF RYF]F RH[N[ RV[][ +12345 21G^LFL[ RMFYY RMHY[ RYFY[ RIFMF RVF\F RI[O[ +12345 44G]QFNGLIKKJOJRKVLXNZQ[S[VZXXYVZRZOYKXIVGSFQF RQFOGMILKKOKRLVMXOZ +Q[ RS[UZWXXVYRYOXKWIUGSF +12345 21F^KFK[ RLFL[ RXFX[ RYFY[ RHF\F RH[O[ RU[\[ +12345 56G]QFNGLIKKJOJRKVLXNZQ[S[VZXXYVZRZOYKXIVGSFQF RQFOGMILKKOKRLVMXOZ +Q[ RS[UZWXXVYRYOXKWIUGSF ROMOT RUMUT ROPUP ROQUQ +12345 29G]LFL[ RMFM[ RIFUFXGYHZJZMYOXPUQMQ RUFWGXHYJYMXOWPUQ RI[P[ +12345 20H]KFRPJ[ RJFQP RJFYFZLXF RKZXZ RJ[Y[ZUX[ +12345 16I\RFR[ RSFS[ RLFKLKFZFZLYF RO[V[ +12345 33I\KKKILGMFOFPGQIRMR[ RKIMGOGQI RZKZIYGXFVFUGTISMS[ RZIXGVGTI RO[ +V[ +12345 14KYQFOGNINKOMQNSNUMVKVIUGSFQF +12345 43G]JXK[O[MWKSJPJLKIMGPFTFWGYIZLZPYSWWU[Y[ZX RMWLTKPKLLINGPF RTFVG +XIYLYPXTWW RKZNZ RVZYZ +12345 36G]KEJJ RZEYJ RONNS RVNUS RKWJ\ RZWY\ RKGYG RKHYH ROPUP ROQUQ RKY +YY RKZYZ +12345 41G^RFR[ RSFS[ RIMJLLMMQNSOTQU RJLKMLQMSNTQUTUWTXSYQZM[L RTUVTWSXQ +YM[L\M ROFVF RO[V[ +12345 16H\XFK[ RYFL[ RLFKLKFYF RK[Y[YUX[ +12345 12KYOBOb RPBPb ROBVB RObVb +12345 3KYKFY^ +12345 12KYTBTb RUBUb RNBUB RNbUb +12345 8G]JTROZT RJTRPZT +12345 3H\Hb\b +12345 7LXPFUL RPFOGUL +12345 40G^QMNNLPKRJUJXKZN[P[RZUWWTYPZM RQMONMPLRKUKXLZN[ RQMSMUNVPXXYZZ[ + RSMTNUPWXXZZ[[[ +12345 57G\TFQGOIMMLPKTJZIb RTFRGPINMMPLTKZJb RTFVFXGYHYKXMWNTOPO RVFXHXK +WMVNTO RPOTPVRWTWWVYUZR[P[NZMYLV RPOSPURVTVWUYTZR[ +12345 23I[KMMMONPPU_VaWb RMMNNOPT_UaWbYb RZMYOWRM]K`Jb +12345 44I\VNTMRMONMQLTLWMYNZP[R[UZWWXTXQWOSJRHRFSEUEWFYH RRMPNNQMTMXNZ R +R[TZVWWTWPVNTKSISGTFVFYH +12345 32I[XPVNTMPMNNNPPRSS RPMONOPQRSS RSSNTLVLXMZP[S[UZWX RSSOTMVMXNZP[ +12345 37G]ONMOKQJTJWKYLZN[Q[TZWXYUZRZOXMVMTORSPXMb RJWLYNZQZTYWWYU RZOXN +VNTPRSPYNb +12345 28H\IPKNMMOMQNROSRSVRZOb RJOLNPNRO RZMYPXRSYP^Nb RYMXPWRSY +12345 32G]HQIOKMNMONOPNTL[ RMMNNNPMTK[ RNTPPRNTMVMXNYOYRXWUb RVMXOXRWWTb +12345 15LXRMPTOXOZP[S[UYVW RSMQTPXPZQ[ +12345 6G]KKYY RYKKY +12345 29H\NMJ[ ROMK[ RXMYNZNYMWMUNQROSMS ROSQTSZT[ ROSPTRZS[U[WZYW +12345 23H\KFMFOGPHQJWXXZY[ RMFOHPJVXWZY[Z[ RRMJ[ RRMK[ +12345 28F]MMGb RNMHb RMPLVLYN[P[RZTXVU RXMUXUZV[Y[[Y\W RYMVXVZW[ +12345 24H\NML[ ROMNSMXL[ RYMXQVU RZMYPXRVUTWQYOZL[ RKMOM +12345 32I[RMONMQLTLWMYNZP[R[UZWWXTXQWOVNTMRM RRMPNNQMTMXNZ RR[TZVWWTWPVN +12345 22G]PNL[ RPNM[ RVNV[ RVNW[ RIPKNNM[M RIPKONN[N +12345 44F]GQHOJMMMNNNPMUMXNZO[ RLMMNMPLULXMZO[Q[SZUXWUXRYMYIXGVFTFRHRJSM +UPWRZT RSZUWVUWRXMXIWGVF +12345 31H[LVMYNZP[R[UZWWXTXQWOVNTMRMONMQLTHb RR[TZVWWTWPVN RRMPNNQMTIb +12345 35H][MQMNNLQKTKWLYMZO[Q[TZVWWTWQVOUNSM RQMONMQLTLXMZ RQ[SZUWVTVPUN + RUN[N +12345 16H\SNP[ RSNQ[ RJPLNOMZM RJPLOONZN +12345 31H\IQJOLMOMPNPPNVNYP[ RNMONOPMVMYNZP[Q[TZVXXUYRYOXMWNXOYR RXUYO +12345 15E_RIQJRKSJRI RIR[R RRYQZR[SZRY +12345 44F]JQLOONNMLNJQITIWJZK[M[OZQWRT RIWJYKZMZOYQW RQTQWRZS[U[WZYWZTZQ +YNXMWNYOZQ RQWRYSZUZWYYW +12345 45IZTFRGQHQIRJUKXK RUKQLOMNONQPSSTVT RUKRLPMOOOQQSST RSTOUMVLXLZN\ +S^T_TaRbPb RSTPUNVMXMZO\S^ +12345 34F]UFOb RVFNb RGQHOJMMMNNNPMUMXOZRZTYWVYS RLMMNMPLULXMZO[R[TZVXXU +YS[M +12345 31I[TFRGQHQIRJUKZKZJWKSMPOMRLULWMYP[S]T_TaSbQbPa RULQONRMUMWNYP[ +12345 40KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSU +SWRYQZP\P^Q`RaTb +12345 3NVRBRb +12345 40KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQU +QWRYSZT\T^S`RaPb +12345 24F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O +12345 35JZJFJ[K[KFLFL[M[MFNFN[O[OFPFP[Q[QFRFR[S[SFTFT[U[UFVFV[W[WFXFX[Y[ +YFZFZ[ diff --git a/hf2gcode/hershey_fonts/orig/timesi.jhf b/hf2gcode/hershey_fonts/orig/timesi.jhf new file mode 100644 index 0000000..b286daf --- /dev/null +++ b/hf2gcode/hershey_fonts/orig/timesi.jhf @@ -0,0 +1,131 @@ +12345 1JZ +12345 17MXUFTGRS RUGRS RUFVGRS RPYOZP[QZPY +12345 12I[PFNM RQFNM RYFWM RZFWM +12345 12H]SBLb RYBRb RLOZO RKUYU +12345 41H]TBL_ RYBQ_ RZJYKZL[K[JZHYGVFRFOGMIMKNMONVRXT RMKOMVQWRXTXWWYVZ +S[O[LZKYJWJVKULVKW +12345 32F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT +12345 49F_[NZO[P\O\N[MZMYNXPVUTXRZP[M[JZIXIUJSPORMSKSIRGPFNGMIMKNNPQUXWZ +Z[[[\Z\Y RM[KZJXJUKSMQ RMKNMVXXZZ[ +12345 6NWUFSM RVFSM +12345 20KZZBVESHQKOONTNXO]P`Qb RVESIQMPPOUOZP_Qb +12345 20JYSBTDUGVLVPUUSYQ\N_Jb RSBTEUJUOTTSWQ[N_ +12345 9JZRLRX RMOWU RWOMU +12345 6E_RIR[ RIR[R +12345 8MXP[OZPYQZQ[P]N_ +12345 3E_IR[R +12345 6MXPYOZP[QZPY +12345 3G][BIb +12345 42H]TFQGOIMLLOKSKVLYMZO[Q[TZVXXUYRZNZKYHXGVFTF RTFRGPINLMOLSLVMYO[ + RQ[SZUXWUXRYNYKXHVF +12345 15H]TJO[ RVFP[ RVFSIPKNL RUIQKNL +12345 42H]OJPKOLNKNJOHPGSFVFYGZIZKYMWOTQPSMUKWI[ RVFXGYIYKXMVOPS RJYKXMX +RZUZWYXW RMXR[U[WZXW +12345 50H]OJPKOLNKNJOHPGSFVFYGZIZKYMVOSP RVFXGYIYKXMVO RQPSPVQWRXTXWWYVZ +S[O[LZKYJWJVKULVKW RSPUQVRWTWWVYUZS[ +12345 10H]XGR[ RYFS[ RYFJUZU +12345 39H]QFLP RQF[F RQGVG[F RLPMOPNSNVOWPXRXUWXUZR[O[LZKYJWJVKULVKW RSN +UOVPWRWUVXTZR[ +12345 46H]YIXJYKZJZIYGWFTFQGOIMLLOKSKWLYMZO[R[UZWXXVXSWQVPTOQOOPMRLT RTF +RGPINLMOLSLXMZ RR[TZVXWVWRVP +12345 30H]NFLL R[FZIXLSRQUPWO[ RXLRRPUOWN[ RMIPFRFWI RNHPGRGWIYIZH[F +12345 63H]SFPGOHNJNMOOQPTPXOYNZLZIYGVFSF RSFQGPHOJOMPOQP RTPWOXNYLYIXGVF + RQPMQKSJUJXKZN[R[VZWYXWXTWRVQTP RQPNQLSKUKXLZN[ RR[UZVYWWWSVQ +12345 46H]YMXOVQTRQROQNPMNMKNIPGSFVFXGYHZJZNYRXUVXTZQ[N[LZKXKWLVMWLX ROQ +NONKOIQGSF RXGYIYNXRWUUXSZQ[ +12345 11MXSMRNSOTNSM RPYOZP[QZ +12345 14MXSMRNSOTNSM RP[OZPYQZQ[P]N_ +12345 4F^ZIJRZ[ +12345 6E_IO[O RIU[U +12345 4F^JIZRJ[ +12345 34H]OJPKOLNKNJOHPGSFWFZG[I[KZMYNSPQQQSRTTT RWFYGZIZKYMXNVO RPYOZP[ +QZPY +12345 56E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\T]Q]O\L[J +YHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV +12345 18H\UFH[ RUFV[ RTHU[ RLUUU RF[L[ RR[X[ +12345 41F^OFI[ RPFJ[ RLFWFZG[I[KZNYOVP RWFYGZIZKYNXOVP RMPVPXQYSYUXXVZR[ +F[ RVPWQXSXUWXUZR[ +12345 34H]ZH[H\F[L[JZHYGWFTFQGOIMLLOKSKVLYMZP[S[UZWXXV RTFRGPINLMOLSLVMY +NZP[ +12345 30F]OFI[ RPFJ[ RLFUFXGYHZKZOYSWWUYSZO[F[ RUFWGXHYKYOXSVWTYRZO[ +12345 22F]OFI[ RPFJ[ RTLRT RLF[FZLZF RMPSP RF[U[WVT[ +12345 20F\OFI[ RPFJ[ RTLRT RLF[FZLZF RMPSP RF[M[ +12345 42H^ZH[H\F[L[JZHYGWFTFQGOIMLLOKSKVLYMZP[R[UZWXYT RTFRGPINLMOLSLVMY +NZP[ RR[TZVXXT RUT\T +12345 27E_NFH[ ROFI[ R[FU[ R\FV[ RKFRF RXF_F RLPXP RE[L[ RR[Y[ +12345 12LYUFO[ RVFP[ RRFYF RL[S[ +12345 21I[XFSWRYQZO[M[KZJXJVKULVKW RWFRWQYO[ RTF[F +12345 27F]OFI[ RPFJ[ R]FLS RSOW[ RROV[ RLFSF RYF_F RF[M[ RS[Y[ +12345 14H\QFK[ RRFL[ RNFUF RH[W[YUV[ +12345 30E`NFH[ RNFO[ ROFPY R\FO[ R\FV[ R]FW[ RKFOF R\F`F RE[K[ RS[Z[ +12345 21F_OFI[ ROFVX ROIV[ R\FV[ RLFOF RYF_F RF[L[ +12345 42G]SFPGNILLKOJSJVKYLZN[Q[TZVXXUYRZNZKYHXGVFSF RSFQGOIMLLOKSKVLYN[ + RQ[SZUXWUXRYNYKXHVF +12345 27F]OFI[ RPFJ[ RLFXF[G\I\K[NYPUQMQ RXFZG[I[KZNXPUQ RF[M[ +12345 61G]SFPGNILLKOJSJVKYLZN[Q[TZVXXUYRZNZKYHXGVFSF RSFQGOIMLLOKSKVLYN[ + RQ[SZUXWUXRYNYKXHVF RLYLXMVOUPURVSXS_T`V`W^W] RSXT^U_V_W^ +12345 42F^OFI[ RPFJ[ RLFWFZG[I[KZNYOVPMP RWFYGZIZKYNXOVP RRPTQURVZW[Y[ZY +ZX RURWYXZYZZY RF[M[ +12345 35G^ZH[H\F[L[JZHYGVFRFOGMIMKNMONVRXT RMKOMVQWRXTXWWYVZS[O[LZKYJWJU +I[JYKY +12345 16H]UFO[ RVFP[ ROFLLNF]F\L\F RL[S[ +12345 25F_NFKQJUJXKZN[R[UZWXXU\F ROFLQKUKXLZN[ RKFRF RYF_F +12345 15H\NFO[ ROFPY R\FO[ RLFRF RXF^F +12345 24E_MFK[ RNFLY RUFK[ RUFS[ RVFTY R]FS[ RJFQF RZF`F +12345 21G]NFU[ ROFV[ R\FH[ RLFRF RXF^F RF[L[ RR[X[ +12345 20H]NFRPO[ ROFSPP[ R]FSP RLFRF RYF_F RL[S[ +12345 16G][FH[ R\FI[ ROFLLNF\F RH[V[XUU[ +12345 12KYOBOb RPBPb ROBVB RObVb +12345 3KYKFY^ +12345 12KYTBTb RUBUb RNBUB RNbUb +12345 8G]JTROZT RJTRPZT +12345 3H\Hb\b +12345 7LXPFUL RPFOGUL +12345 39H]XMVTUXUZV[Y[[Y\W RYMWTVXVZW[ RVTVQUNSMQMNNLQKTKWLYMZO[Q[SZUWVT + RQMONMQLTLXMZ +12345 36H[PFLSLVMYNZ RQFMS RMSNPPNRMTMVNWOXQXTWWUZR[P[NZMWMS RVNWPWTVWTZ +R[ RMFQF +12345 25I[WPWQXQXPWNUMRMONMQLTLWMYNZP[R[UZWW RRMPNNQMTMXNZ +12345 42H]ZFVTUXUZV[Y[[Y\W R[FWTVXVZW[ RVTVQUNSMQMNNLQKTKWLYMZO[Q[SZUWVT + RQMONMQLTLXMZ RWF[F +12345 26I[MVQUTTWRXPWNUMRMONMQLTLWMYNZP[R[UZWX RRMPNNQMTMXNZ +12345 35KZZGYHZI[H[GZFXFVGUHTJSMP[O_Na RXFVHUJTNRWQ[P^O`NaLbJbIaI`J_K`Ja + ROMYM +12345 43H\YMU[T^RaObLbJaI`I_J^K_J` RXMT[S^QaOb RVTVQUNSMQMNNLQKTKWLYMZO[ +Q[SZUWVT RQMONMQLTLXMZ +12345 31H]PFJ[ RQFK[ RMTOPQNSMUMWNXOXQVWVZW[ RUMWOWQUWUZV[Y[[Y\W RMFQF +12345 26LYUFTGUHVGUF RMQNOPMSMTNTQRWRZS[ RRMSNSQQWQZR[U[WYXW +12345 32LYVFUGVHWGVF RNQOOQMTMUNUQR[Q^P`OaMbKbJaJ`K_L`Ka RSMTNTQQ[P^O`Mb +12345 34H\PFJ[ RQFK[ RXNWOXPYOYNXMWMUNQROSMS ROSQTSZT[ ROSPTRZS[U[WZYW R +MFQF +12345 18MYUFQTPXPZQ[T[VYWW RVFRTQXQZR[ RRFVF +12345 52AbBQCOEMHMINIPHTF[ RGMHNHPGTE[ RHTJPLNNMPMRNSOSQP[ RPMRORQO[ RRT +TPVNXMZM\N]O]Q[W[Z\[ RZM\O\QZWZZ[[^[`YaW +12345 37F]GQHOJMMMNNNPMTK[ RLMMNMPLTJ[ RMTOPQNSMUMWNXOXQVWVZW[ RUMWOWQUW +UZV[Y[[Y\W +12345 32I[RMONMQLTLWMYNZP[R[UZWWXTXQWOVNTMRM RRMPNNQMTMXNZ RR[TZVWWTWPVN +12345 42G\HQIOKMNMONOPNTJb RMMNNNPMTIb RNTOQQNSMUMWNXOYQYTXWVZS[Q[OZNWNT + RWNXPXTWWUZS[ RFbMb +12345 33H\XMRb RYMSb RVTVQUNSMQMNNLQKTKWLYMZO[Q[SZUWVT RQMONMQLTLXMZ ROb +Vb +12345 26IZJQKOMMPMQNQPPTN[ ROMPNPPOTM[ RPTRPTNVMXMYNYOXPWOXN +12345 28J[XOXPYPYOXNUMRMONNONQORVVWW RNPOQVUWVWYVZS[P[MZLYLXMXMY +12345 18KYTFPTOXOZP[S[UYVW RUFQTPXPZQ[ RNMWM +12345 37F]GQHOJMMMNNNQLWLYN[ RLMMNMQKWKYLZN[P[RZTXVT RXMVTUXUZV[Y[[Y\W R +YMWTVXVZW[ +12345 26H\IQJOLMOMPNPQNWNYP[ RNMONOQMWMYNZP[Q[TZVXXUYQYMXMYO +12345 41C`DQEOGMJMKNKQIWIYK[ RIMJNJQHWHYIZK[M[OZQXRV RTMRVRYSZU[W[YZ[X\V +]R]M\M]O RUMSVSYU[ +12345 42H\KQMNOMRMSOSR RQMRORRQVPXNZL[K[JZJYKXLYKZ RQVQYR[U[WZYW RYNXOYP +ZOZNYMXMVNTPSRRVRYS[ +12345 41G\HQIOKMNMONOQMWMYO[ RMMNNNQLWLYMZO[Q[SZUXWT RZMV[U^SaPbMbKaJ`J_ +K^L_K` RYMU[T^RaPb +12345 31H\YMXOVQNWLYK[ RLQMOOMRMVO RMOONRNVOXO RLYNYRZUZWY RNYR[U[WYXW +12345 40KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSU +SWRYQZP\P^Q`RaTb +12345 3NVRBRb +12345 40KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQU +QWRYSZT\T^S`RaPb +12345 24F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O +12345 35JZJFJ[K[KFLFL[M[MFNFN[O[OFPFP[Q[QFRFR[S[SFTFT[U[UFVFV[W[WFXFX[Y[ +YFZFZ[ diff --git a/hf2gcode/hershey_fonts/orig/timesib.jhf b/hf2gcode/hershey_fonts/orig/timesib.jhf new file mode 100644 index 0000000..edbb752 --- /dev/null +++ b/hf2gcode/hershey_fonts/orig/timesib.jhf @@ -0,0 +1,171 @@ +12345 1JZ +12345 34MXVFUFTGRT RVGUGRT RVGVHRT RVFWGWHRT RPXOYOZP[Q[RZRYQXPX RPYPZQZ +QYPY +12345 12I[PFNM RQFNM RYFWM RZFWM +12345 12H]SBLb RYBRb RLOZO RKUYU +12345 52H]TBL_ RYBQ_ RZKZJYJYL[L[JZHYGVFRFOGMIMLNNPPVSWUWXVZ RNLONVRWT R +OGNINKOMUPWRXTXWWYVZS[O[LZKYJWJULULWKWKV +12345 32F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT +12345 72E_\O\N[N[P]P]N\M[MYNWPRXPZN[K[HZGXGVHTISKRPPROTMUKUITGRFPGOIOLPR +QURWTZV[X[YYYX RL[HZ RIZHXHVITJSLR RPPQSTYVZ RK[JZIXIVJTKSMRRO ROLPOQRSV +UYWZXZYY +12345 6NWUFSM RVFSM +12345 32JZZBXCUERHPKNOMSMXN\O_Qb RSHQKOONTN\ RZBWDTGRJQLPOOSN\ RNTO]P`Qb +12345 32JZSBUEVHWLWQVUTYR\O_LaJb RVHVPUUSYQ\ RSBTDUGVP RVHUQTUSXRZP]M`Jb +12345 39J[TFSGUQTR RTFTR RTFUGSQTR ROIPIXOYO ROIYO ROIOJYNYO RYIXIPOOO R +YIOO RYIYJONOO +12345 16F_RIRZSZ RRISISZ RJQ[Q[R RJQJR[R +12345 22MXQ[P[OZOYPXQXRYR[Q]P^N_ RPYPZQZQYPY RQ[Q\P^ +12345 3E_IR[R +12345 16MXPXOYOZP[Q[RZRYQXPX RPYPZQZQYPY +12345 8G^[BIbJb R[B\BJb +12345 58H]TFQGOIMLLOKSKVLYMZO[Q[TZVXXUYRZNZKYHXGVFTF RQHOJNLMOLSLWMY RTY +VWWUXRYNYJXH RTFRGPJOLNOMSMXNZO[ RQ[SZUWVUWRXNXIWGVF +12345 20H]TJO[Q[ RWFUJP[ RWFQ[ RWFTIQKOL RTJRKOL +12345 52H]OKOJPJPLNLNJOHPGSFVFYGZIZKYMWOMUKWI[ RXGYIYKXMVOSQ RVFWGXIXKWM +UOMU RJYKXMXRYWYXX RMXRZWZ RMXR[U[WZXXXW +12345 64H]OKOJPJPLNLNJOHPGSFVFYGZIZKYMXNVOSP RXGYIYKXMWN RVFWGXIXKWMUOSP + RQPSPVQWRXTXWWYUZR[O[LZKYJWJULULWKWKV RVRWTWWVY RSPUQVSVWUYTZR[ +12345 15H]WJR[T[ RZFXJS[ RZFT[ RZFJUZU +12345 49H]QFLP RQF[F RQGYG RPHUHYG[F RLPMOPNSNVOWPXRXUWXUZQ[N[LZKYJWJULU +LWKWKV RVPWRWUVXTZ RSNUOVQVUUXSZQ[ +12345 61H]YJYIXIXKZKZIYGWFTFQGOIMLLOKSKVLYMZO[R[UZWXXVXSWQVPTOQOOPNQMS R +PINLMOLSLWMY RVXWVWSVQ RTFRGPJOLNOMSMXNZO[ RR[TZUYVVVRUPTO +12345 39H]NFLL R[FZIXLTQRTQWP[ RRSPWO[ RXLRRPUOWN[P[ RMIPFRFWI ROGRGWI R +MIOHRHWIYIZH[F +12345104H]SFPGOHNJNMOOQPTPWOYNZLZIYGWFSF RUFPG RPHOJONPO ROORP RSPWO RXN +YLYIXG RYGUF RSFQHPJPNQP RTPVOWNXLXHWF RQPMQKSJUJXKZN[R[VZWYXWXTWRVQTP R +RPMQ RNQLSKUKXLZ RKZP[VZ RVYWWWTVR RVQSP RQPOQMSLULXMZN[ RR[TZUYVWVSUQTP +12345 61H]XNWPVQTRQROQNPMNMKNIPGSFVFXGYHZKZNYRXUVXTZQ[N[LZKXKVMVMXLXLW R +OPNNNKOI RXHYJYNXRWUUX RQRPQOOOKPHQGSF RVFWGXIXNWRVUUWSZQ[ +12345 32MXSMRNROSPTPUOUNTMSM RSNSOTOTNSN RPXOYOZP[Q[RZRYQXPX RPYPZQZQYPY +12345 38MXSMRNROSPTPUOUNTMSM RSNSOTOTNSN RQ[P[OZOYPXQXRYR[Q]P^N_ RPYPZQZ +QYPY RQ[Q\P^ +12345 4F^ZIJRZ[ +12345 16F_JM[M[N RJMJN[N RJU[U[V RJUJV[V +12345 4F^JIZRJ[ +12345 59H]OKOJPJPLNLNJOHPGSFWFZG[I[KZMYNWOSPQQQSSTTT RUFZG RYGZIZKYMXNVO + RWFXGYIYKXMWNSPRQRSST RPXOYOZP[Q[RZRYQXPX RPYPZQZQYPY +12345 56E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\T]Q]O\L[J +YHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV +12345 38H\UFIZ RSJT[ RTHUZ RUFUHVYV[ RLUTU RF[L[ RQ[X[ RIZG[ RIZK[ RTZR[ + RTYS[ RVYW[ +12345 78F^OFI[ RPFJ[ RQFK[ RLFWFZG[I[KZNYOVP RYGZIZKYNXO RWFXGYIYKXNVP R +NPVPXQYSYUXXVZR[F[ RWQXSXUWXUZ RVPWRWUVXTZR[ RMFPG RNFOH RRFPH RSFPG RJZ +G[ RJYH[ RKYL[ RJZM[ +12345 41H]ZH[H\F[L[JZHYGWFTFQGOIMLLOKSKVLYMZP[S[UZWXXV RQHOJNLMOLSLWMY R +TFRGPJOLNOMSMXNZP[ +12345 63F]OFI[ RPFJ[ RQFK[ RLFUFXGYHZKZOYSWWUYSZO[F[ RWGXHYKYOXSVWTY RUF +WHXKXOWSUWRZO[ RMFPG RNFOH RRFPH RSFPG RJZG[ RJYH[ RKYL[ RJZM[ +12345 80F]OFI[ RPFJ[ RQFK[ RULST RLF[FZL RNPTP RF[U[WV RMFPG RNFOH RRFPH + RSFPG RWFZG RXFZH RYFZI RZFZL RULSPST RTNRPSR RTOQPSQ RJZG[ RJYH[ RKYL[ + RJZM[ RP[UZ RR[UY RUYWV +12345 70F\OFI[ RPFJ[ RQFK[ RULST RLF[FZL RNPTP RF[N[ RMFPG RNFOH RRFPH R +SFPG RWFZG RXFZH RYFZI RZFZL RULSPST RTNRPSR RTOQPSQ RJZG[ RJYH[ RKYL[ R +JZM[ +12345 65H^ZH[H\F[L[JZHYGWFTFQGOIMLLOKSKVLYMZP[R[UZWXYT RQHOJNLMOLSLWMY R +VXWWXT RTFRGPJOLNOMSMXNZP[ RR[TZVWWT RTT\T RUTWU RVTWW RZTXV R[TXU +12345 81E_NFH[ ROFI[ RPFJ[ RZFT[ R[FU[ R\FV[ RKFSF RWF_F RLPXP RE[M[ RQ[ +Y[ RLFOG RMFNH RQFOH RRFOG RXF[G RYFZH R]F[H R^F[G RIZF[ RIYG[ RJYK[ RIZ +L[ RUZR[ RUYS[ RVYW[ RUZX[ +12345 39KYTFN[ RUFO[ RVFP[ RQFYF RK[S[ RRFUG RSFTH RWFUH RXFUG ROZL[ ROY +M[ RPYQ[ ROZR[ +12345 47I\WFRWQYO[ RXFTSSVRX RYFUSSXQZO[M[KZJXJVKULUMVMWLXKX RKVKWLWLVKV + RTF\F RUFXG RVFWH RZFXH R[FXG +12345 72F]OFI[ RPFJ[ RQFK[ R\GMR RQOU[ RROV[ RSNWZ RLFTF RYF_F RF[N[ RR[ +Y[ RMFPG RNFOH RRFPH RSFPG RZF\G R^F\G RJZG[ RJYH[ RKYL[ RJZM[ RUZS[ RUY +T[ RVYX[ +12345 49H\QFK[ RRFL[ RSFM[ RNFVF RH[W[YU ROFRG RPFQH RTFRH RUFRG RLZI[ R +LYJ[ RMYN[ RLZO[ RR[WZ RT[XX RV[YU +12345 68D`MFGZ RMGNYN[ RNFOY ROFPX R[FPXN[ R[FU[ R\FV[ R]FW[ RJFOF R[F`F + RD[J[ RR[Z[ RKFMG RLFMH R^F\H R_F\G RGZE[ RGZI[ RVZS[ RVYT[ RWYX[ RVZY[ +12345 43F_OFIZ ROFV[ RPFVX RQFWX R\GWXV[ RLFQF RYF_F RF[L[ RMFPG RNFPH R +ZF\G R^F\G RIZG[ RIZK[ +12345 56G]SFPGNILLKOJSJVKYLZN[Q[TZVXXUYRZNZKYHXGVFSF ROIMLLOKSKWLY RUXWU +XRYNYJXH RSFQGOJNLMOLSLXMZN[ RQ[SZUWVUWRXNXIWGVF +12345 60F]OFI[ RPFJ[ RQFK[ RLFXF[G\I\K[NYPUQMQ RZG[I[KZNXP RXFYGZIZKYNWP +UQ RF[N[ RMFPG RNFOH RRFPH RSFPG RJZG[ RJYH[ RKYL[ RJZM[ +12345 78G]SFPGNILLKOJSJVKYLZN[Q[TZVXXUYRZNZKYHXGVFSF ROIMLLOKSKWLY RUXWU +XRYNYJXH RSFQGOJNLMOLSLXMZN[ RQ[SZUWVUWRXNXIWGVF RLXMVOUPURVSXT]U^V^W] R +T^U_V_ RSXS_T`V`W]W\ +12345 78F^OFI[ RPFJ[ RQFK[ RLFWFZG[I[KZNYOVPNP RYGZIZKYNXO RWFXGYIYKXNVP + RRPTQURWXXYYYZX RWYXZYZ RURVZW[Y[ZXZW RF[N[ RMFPG RNFOH RRFPH RSFPG RJZ +G[ RJYH[ RKYL[ RJZM[ +12345 44G^ZH[H\F[L[JZHYGVFRFOGMIMLNNPPVSWUWXVZ RNLONVRWT ROGNINKOMUPWRXT +XWWYVZS[O[LZKYJWJUI[JYKY +12345 54G]TFN[ RUFO[ RVFP[ RMFKL R]F\L RMF]F RK[S[ RNFKL RPFLI RRFMG RYF +\G RZF\H R[F\I R\F\L ROZL[ ROYM[ RPYQ[ ROZR[ +12345 48F_NFKQJUJXKZN[R[UZWXXU\G ROFLQKUKYLZ RPFMQLULYN[ RKFSF RYF_F RLF +OG RMFNH RQFOH RRFOG RZF\G R^F\G +12345 35H\NFNHOYO[ ROGPX RPFQW R[GO[ RLFSF RXF^F RMFNH RQFPH RRFOG RYF[G + R]F[G +12345 57E_MFMHKYK[ RNGLX ROFMW RUFMWK[ RUFUHSYS[ RVGTX RWFUW R]GUWS[ RJF +RF RUFWF RZF`F RKFNG RLFMH RPFNI RQFNG R[F]G R_F]G +12345 54G]NFT[ ROFU[ RPFV[ R[GIZ RLFSF RXF^F RF[L[ RQ[X[ RMFOH RQFPH RRF +PG RYF[G R]F[G RIZG[ RIZK[ RTZR[ RTYS[ RUYW[ +12345 51G]MFQPN[ RNFRPO[ ROFSPP[ R\GSP RKFRF RYF_F RK[S[ RLFNG RPFOH RQF +NG RZF\G R^F\G ROZL[ ROYM[ RPYQ[ ROZR[ +12345 35G]ZFH[ R[FI[ R\FJ[ R\FNFLL RH[V[XU ROFLL RPFMI RRFNG RR[VZ RT[WX + RU[XU +12345 12KYOBOb RPBPb ROBVB RObVb +12345 3KYKFY^ +12345 12KYTBTb RUBUb RNBUB RNbUb +12345 8G]JTROZT RJTRPZT +12345 3H\Hb\b +12345 7LXPFUL RPFOGUL +12345 50G]WMUTUXVZW[Y[[Y\W RXMVTVZ RWMYMWTVX RUTUQTNRMPMMNKQJTJVKYLZN[P[ +RZSYTWUT RNNLQKTKWLY RPMNOMQLTLWMZN[ +12345 52I\PFNMMSMWNYOZQ[S[VZXWYTYRXOWNUMSMQNPOOQNT RQFOMNQNWOZ RVYWWXTXQ +WO RMFRFPMNT RS[UYVWWTWQVNUM RNFQG ROFPH +12345 34I[WQWPVPVRXRXPWNUMRMONMQLTLVMYNZP[R[UZWW ROONQMTMWNY RRMPOOQNTNW +OZP[ +12345 58G]YFVQUUUXVZW[Y[[Y\W RZFWQVUVZ RVF[FWTVX RUTUQTNRMPMMNKQJTJVKYLZ +N[P[RZSYTWUT RMOLQKTKWLY RPMNOMQLTLWMZN[ RWFZG RXFYH +12345 33I[MVQUTTWRXPWNUMRMONMQLTLVMYNZP[R[UZWX ROONQMTMWNY RRMPOOQNTNWOZ +P[ +12345 45JZZHZGYGYI[I[GZFXFVGTISKRNQRO[N^M`Kb RTJSMRRP[O^ RXFVHUJTMSRQZP] +O_MaKbIbHaH_J_JaIaI` RNMYM +12345 57H]XMT[S^QaOb RYMU[S_ RXMZMV[T_RaObLbJaI`I^K^K`J`J_ RVTVQUNSMQMNN +LQKTKVLYMZO[Q[SZTYUWVT RNOMQLTLWMY RQMOONQMTMWNZO[ +12345 41G]OFI[K[ RPFJ[ RLFQFK[ RMTOPQNSMUMWNXPXSVX RWNWRVVVZ RWPUUUXVZW[ +Y[[Y\W RMFPG RNFOH +12345 35KXSFSHUHUFSF RTFTH RSGUG RLQMOOMQMRNSPSSQX RRNRRQVQZ RRPPUPXQZR[ +T[VYWW +12345 45KXUFUHWHWFUF RVFVH RUGWG RMQNOPMRMSNTPTSRZQ]P_NaLbJbIaI_K_KaJaJ` + RSNSSQZP]O_ RSPRTP[O^N`Lb +12345 49G]OFI[K[ RPFJ[ RLFQFK[ RYOYNXNXPZPZNYMWMUNQROS RMSOSQTRUTYUZWZ R +QUSYTZ ROSPTRZS[U[WZYW RMFPG RNFOH +12345 26LXTFQQPUPXQZR[T[VYWW RUFRQQUQZ RQFVFRTQX RRFUG RSFTH +12345 61@cAQBODMFMGNHPHSF[ RGNGSE[ RGPFTD[F[ RHSJPLNNMPMRNSPSSQ[ RRNRSP[ + RRPQTO[Q[ RSSUPWNYM[M]N^P^S\X R]N]R\V\Z R]P[U[X\Z][_[aYbW +12345 42F^GQHOJMLMMNNPNSL[ RMNMSK[ RMPLTJ[L[ RNSPPRNTMVMXNYPYSWX RXNXRWV +WZ RXPVUVXWZX[Z[\Y]W +12345 46H\QMNNLQKTKVLYMZP[S[VZXWYTYRXOWNTMQM RNOMQLTLWMY RVYWWXTXQWO RQM +OONQMTMWNZP[ RS[UYVWWTWQVNTM +12345 66G]HQIOKMMMNNOPOSNWKb RNNNSMWJb RNPMTIb ROTPQQORNTMVMXNYOZRZTYWWZ +T[R[PZOWOT RXOYQYTXWWY RVMWNXQXTWWVYT[ RFbNb RJaGb RJ`Hb RK`Lb RJaMb +12345 57G\WMQb RXMRb RWMYMSb RUTUQTNRMPMMNKQJTJVKYLZN[P[RZSYTWUT RMOLQKT +KWLY RPMNOMQLTLWMZN[ RNbVb RRaOb RR`Pb RS`Tb RRaUb +12345 30I[JQKOMMOMPNQPQTO[ RPNPTN[ RPPOTM[O[ RYOYNXNXPZPZNYMWMUNSPQT +12345 47J[XPXOWOWQYQYOXNUMRMONNONQOSQTTUVVWX RONNQ RORQSTTVU RWVVZ RNOOQ +QRTSVTWVWXVZS[P[MZLYLWNWNYMYMX +12345 23KYTFQQPUPXQZR[T[VYWW RUFRQQUQZ RTFVFRTQX RNMXM +12345 42F^GQHOJMLMMNNPNSLX RMNMRLVLZ RMPKUKXLZN[P[RZTXVU RXMVUVXWZX[Z[\Y +]W RYMWUWZ RXMZMXTWX +12345 29H\IQJOLMNMONPPPSNX RONORNVNZ ROPMUMXNZP[R[TZVXXUYQYMXMXNYP +12345 48CaDQEOGMIMJNKPKSIX RJNJRIVIZ RJPHUHXIZK[M[OZQXRU RTMRURXSZU[W[YZ +[X]U^Q^M]M]N^P RUMSUSZ RTMVMTTSX +12345 51G]JQLNNMPMRNSPSR RPMQNQRPVOXMZK[I[HZHXJXJZIZIY RRORRQVQY RZOZNYN +YP[P[NZMXMVNTPSRRVRZS[ RPVPXQZS[U[WZYW +12345 49G]HQIOKMMMNNOPOSMX RNNNRMVMZ RNPLULXMZO[Q[SZUXWT RYMU[T^RaPb RZM +V[T_ RYM[MW[U_SaPbMbKaJ`J^L^L`K`K_ +12345 39H\YMXOVQNWLYK[ RXOOOMPLR RVORNONNO RVORMOMMOLR RLYUYWXXV RNYRZUZ +VY RNYR[U[WYXV +12345 40KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSU +SWRYQZP\P^Q`RaTb +12345 3NVRBRb +12345 40KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQU +QWRYSZT\T^S`RaPb +12345 24F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O +12345 35JZJFJ[K[KFLFL[M[MFNFN[O[OFPFP[Q[QFRFR[S[SFTFT[U[UFVFV[W[WFXFX[Y[ +YFZFZ[ diff --git a/hf2gcode/hershey_fonts/orig/timesr.jhf b/hf2gcode/hershey_fonts/orig/timesr.jhf new file mode 100644 index 0000000..2c36dbc --- /dev/null +++ b/hf2gcode/hershey_fonts/orig/timesr.jhf @@ -0,0 +1,123 @@ +12345 1JZ +12345 15MWRFQHRTSHRF RRHRN RRYQZR[SZRY +12345 22I[NFMGMM RNGMM RNFOGMM RWFVGVM RWGVM RWFXGVM +12345 12H]SBLb RYBRb RLOZO RKUYU +12345 42H\PBP_ RTBT_ RXIWJXKYJYIWGTFPFMGKIKKLMMNOOUQWRYT RKKMMONUPWQXRYT +YXWZT[P[MZKXKWLVMWLX +12345 32F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT +12345 49F_[NZO[P\O\N[MZMYNXPVUTXRZP[M[JZIXIUJSPORMSKSIRGPFNGMIMKNNPQUXWZ +Z[[[\Z\Y RM[KZJXJUKSMQ RMKNMVXXZZ[ +12345 6NVRFQM RSFQM +12345 20KYVBTDRGPKOPOTPYR]T`Vb RTDRHQKPPPTQYR\T` +12345 20KYNBPDRGTKUPUTTYR]P`Nb RPDRHSKTPTTSYR\P` +12345 9JZRLRX RMOWU RWOMU +12345 6E_RIR[ RIR[R +12345 8NVSWRXQWRVSWSYQ[ +12345 3E_IR[R +12345 6NVRVQWRXSWRV +12345 3G][BIb +12345 40H\QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF RQFOGNHMJLOLRMWNYOZQ[ RS[UZ +VYWWXRXOWJVHUGSF +12345 11H\NJPISFS[ RRGR[ RN[W[ +12345 45H\LJMKLLKKKJLHMGPFTFWGXHYJYLXNUPPRNSLUKXK[ RTFVGWHXJXLWNTPPR RKY +LXNXSZVZXYYX RNXS[W[XZYXYV +12345 47H\LJMKLLKKKJLHMGPFTFWGXIXLWNTOQO RTFVGWIWLVNTO RTOVPXRYTYWXYWZT[ +P[MZLYKWKVLUMVLW RWQXTXWWYVZT[ +12345 13H\THT[ RUFU[ RUFJUZU RQ[X[ +12345 39H\MFKP RKPMNPMSMVNXPYSYUXXVZS[P[MZLYKWKVLUMVLW RSMUNWPXSXUWXUZS[ + RMFWF RMGRGWF +12345 48H\WIVJWKXJXIWGUFRFOGMILKKOKULXNZQ[S[VZXXYUYTXQVOSNRNOOMQLT RRFPG +NIMKLOLUMXOZQ[ RS[UZWXXUXTWQUOSN +12345 31H\KFKL RKJLHNFPFUIWIXHYF RLHNGPGUI RYFYIXLTQSSRVR[ RXLSQRSQVQ[ +12345 63H\PFMGLILLMNPOTOWNXLXIWGTFPF RPFNGMIMLNNPO RTOVNWLWIVGTF RPOMPLQ +KSKWLYMZP[T[WZXYYWYSXQWPTO RPONPMQLSLWMYNZP[ RT[VZWYXWXSWQVPTO +12345 48H\XMWPURRSQSNRLPKMKLLINGQFSFVGXIYLYRXVWXUZR[O[MZLXLWMVNWMX RQSOR +MPLMLLMIOGQF RSFUGWIXLXRWVVXTZR[ +12345 12NVROQPRQSPRO RRVQWRXSWRV +12345 14NVROQPRQSPRO RSWRXQWRVSWSYQ[ +12345 4F^ZIJRZ[ +12345 6E_IO[O RIU[U +12345 4F^JIZRJ[ +12345 32I[MJNKMLLKLJMHNGPFSFVGWHXJXLWNVORQRT RSFUGVHWJWLVNTP RRYQZR[SZRY +12345 56E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\T]Q]O\L[J +YHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV +12345 18H\RFK[ RRFY[ RRIX[ RMUVU RI[O[ RU[[[ +12345 45G]LFL[ RMFM[ RIFUFXGYHZJZLYNXOUP RUFWGXHYJYLXNWOUP RMPUPXQYRZTZW +YYXZU[I[ RUPWQXRYTYWXYWZU[ +12345 32G\XIYLYFXIVGSFQFNGLIKKJNJSKVLXNZQ[S[VZXXYV RQFOGMILKKNKSLVMXOZQ[ +12345 30G]LFL[ RMFM[ RIFSFVGXIYKZNZSYVXXVZS[I[ RSFUGWIXKYNYSXVWXUZS[ +12345 22G\LFL[ RMFM[ RSLST RIFYFYLXF RMPSP RI[Y[YUX[ +12345 20G[LFL[ RMFM[ RSLST RIFYFYLXF RMPSP RI[P[ +12345 40G^XIYLYFXIVGSFQFNGLIKKJNJSKVLXNZQ[S[VZXX RQFOGMILKKNKSLVMXOZQ[ R +XSX[ RYSY[ RUS\S +12345 27F^KFK[ RLFL[ RXFX[ RYFY[ RHFOF RUF\F RLPXP RH[O[ RU[\[ +12345 12MXRFR[ RSFS[ ROFVF RO[V[ +12345 20KZUFUWTZR[P[NZMXMVNUOVNW RTFTWSZR[ RQFXF +12345 27F\KFK[ RLFL[ RYFLS RQOY[ RPOX[ RHFOF RUF[F RH[O[ RU[[[ +12345 14I[NFN[ ROFO[ RKFRF RK[Z[ZUY[ +12345 30F_KFK[ RLFRX RKFR[ RYFR[ RYFY[ RZFZ[ RHFLF RYF]F RH[N[ RV[][ +12345 21G^LFL[ RMFYY RMHY[ RYFY[ RIFMF RVF\F RI[O[ +12345 44G]QFNGLIKKJOJRKVLXNZQ[S[VZXXYVZRZOYKXIVGSFQF RQFOGMILKKOKRLVMXOZ +Q[ RS[UZWXXVYRYOXKWIUGSF +12345 29G]LFL[ RMFM[ RIFUFXGYHZJZMYOXPUQMQ RUFWGXHYJYMXOWPUQ RI[P[ +12345 64G]QFNGLIKKJOJRKVLXNZQ[S[VZXXYVZRZOYKXIVGSFQF RQFOGMILKKOKRLVMXOZ +Q[ RS[UZWXXVYRYOXKWIUGSF RNYNXOVQURUTVUXV_W`Y`Z^Z] RUXV\W^X_Y_Z^ +12345 45G]LFL[ RMFM[ RIFUFXGYHZJZLYNXOUPMP RUFWGXHYJYLXNWOUP RI[P[ RRPTQ +URXYYZZZ[Y RTQUSWZX[Z[[Y[X +12345 34H\XIYFYLXIVGSFPFMGKIKKLMMNOOUQWRYT RKKMMONUPWQXRYTYXWZT[Q[NZLXKU +K[LX +12345 16I\RFR[ RSFS[ RLFKLKFZFZLYF RO[V[ +12345 23F^KFKULXNZQ[S[VZXXYUYF RLFLUMXOZQ[ RHFOF RVF\F +12345 15H\KFR[ RLFRX RYFR[ RIFOF RUF[F +12345 24F^JFN[ RKFNV RRFN[ RRFV[ RSFVV RZFV[ RGFNF RWF]F +12345 21H\KFX[ RLFY[ RYFK[ RIFOF RUF[F RI[O[ RU[[[ +12345 20H]KFRQR[ RLFSQS[ RZFSQ RIFOF RVF\F RO[V[ +12345 16H\XFK[ RYFL[ RLFKLKFYF RK[Y[YUX[ +12345 12KYOBOb RPBPb ROBVB RObVb +12345 3KYKFY^ +12345 12KYTBTb RUBUb RNBUB RNbUb +12345 8G]JTROZT RJTRPZT +12345 3H\Hb\b +12345 7LXPFUL RPFOGUL +12345 39I]NONPMPMONNPMTMVNWOXQXXYZZ[ RWOWXXZZ[[[ RWQVRPSMTLVLXMZP[S[UZWX + RPSNTMVMXNZP[ +12345 33G\LFL[ RMFM[ RMPONQMSMVNXPYSYUXXVZS[Q[OZMX RSMUNWPXSXUWXUZS[ RIF +MF +12345 28H[WPVQWRXQXPVNTMQMNNLPKSKULXNZQ[S[VZXX RQMONMPLSLUMXOZQ[ +12345 36H]WFW[ RXFX[ RWPUNSMQMNNLPKSKULXNZQ[S[UZWX RQMONMPLSLUMXOZQ[ RTF +XF RW[[[ +12345 31H[LSXSXQWOVNTMQMNNLPKSKULXNZQ[S[VZXX RWSWPVN RQMONMPLSLUMXOZQ[ +12345 22KXUGTHUIVHVGUFSFQGPIP[ RSFRGQIQ[ RMMUM RM[T[ +12345 60I\QMONNOMQMSNUOVQWSWUVVUWSWQVOUNSMQM RONNPNTOV RUVVTVPUN RVOWNYM +YNWN RNUMVLXLYM[P\U\X]Y^ RLYMZP[U[X\Y^Y_XaUbObLaK_K^L\O[ +12345 28G]LFL[ RMFM[ RMPONRMTMWNXPX[ RTMVNWPW[ RIFMF RI[P[ RT[[[ +12345 18MXRFQGRHSGRF RRMR[ RSMS[ ROMSM RO[V[ +12345 25MXSFRGSHTGSF RTMT_SaQbObNaN`O_P`Oa RSMS_RaQb RPMTM +12345 27G\LFL[ RMFM[ RWMMW RRSX[ RQSW[ RIFMF RTMZM RI[P[ RT[Z[ +12345 12MXRFR[ RSFS[ ROFSF RO[V[ +12345 44BcGMG[ RHMH[ RHPJNMMOMRNSPS[ ROMQNRPR[ RSPUNXMZM]N^P^[ RZM\N]P][ + RDMHM RD[K[ RO[V[ RZ[a[ +12345 28G]LML[ RMMM[ RMPONRMTMWNXPX[ RTMVNWPW[ RIMMM RI[P[ RT[[[ +12345 36H\QMNNLPKSKULXNZQ[S[VZXXYUYSXPVNSMQM RQMONMPLSLUMXOZQ[ RS[UZWXXU +XSWPUNSM +12345 36G\LMLb RMMMb RMPONQMSMVNXPYSYUXXVZS[Q[OZMX RSMUNWPXSXUWXUZS[ RIM +MM RIbPb +12345 33H\WMWb RXMXb RWPUNSMQMNNLPKSKULXNZQ[S[UZWX RQMONMPLSLUMXOZQ[ RTb +[b +12345 23IZNMN[ ROMO[ ROSPPRNTMWMXNXOWPVOWN RKMOM RK[R[ +12345 32J[WOXMXQWOVNTMPMNNMOMQNRPSUUWVXW RMPNQPRUTWUXVXYWZU[Q[OZNYMWM[NY +12345 16KZPFPWQZS[U[WZXX RQFQWRZS[ RMMUM +12345 28G]LMLXMZP[R[UZWX RMMMXNZP[ RWMW[ RXMX[ RIMMM RTMXM RW[[[ +12345 15I[LMR[ RMMRY RXMR[ RJMPM RTMZM +12345 24F^JMN[ RKMNX RRMN[ RRMV[ RSMVX RZMV[ RGMNM RWM]M +12345 21H\LMW[ RMMX[ RXML[ RJMPM RTMZM RJ[P[ RT[Z[ +12345 22H[LMR[ RMMRY RXMR[P_NaLbKbJaK`La RJMPM RTMZM +12345 16I[WML[ RXMM[ RMMLQLMXM RL[X[XWW[ +12345 40KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSU +SWRYQZP\P^Q`RaTb +12345 3NVRBRb +12345 40KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQU +QWRYSZT\T^S`RaPb +12345 24F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O +12345 35JZJFJ[K[KFLFL[M[MFNFN[O[OFPFP[Q[QFRFR[S[SFTFT[U[UFVFV[W[WFXFX[Y[ +YFZFZ[ diff --git a/hf2gcode/hershey_fonts/orig/timesrb.jhf b/hf2gcode/hershey_fonts/orig/timesrb.jhf new file mode 100644 index 0000000..bc716d4 --- /dev/null +++ b/hf2gcode/hershey_fonts/orig/timesrb.jhf @@ -0,0 +1,177 @@ +12345 1JZ +12345 34MXRFQGQIRQ RRFRTST RRFSFST RSFTGTISQ RRXQYQZR[S[TZTYSXRX RRYRZSZ +SYRY +12345 22I[NFMGMM RNGMM RNFOGMM RWFVGVM RWGVM RWFXGVM +12345 12H]SBLb RYBRb RLOZO RKUYU +12345 56H\PBP_ RTBT_ RXKXJWJWLYLYJXHWGTFPFMGKIKLLNOPURWSXUXXWZ RLLMNOOUQ +WRXT RMGLILKMMONUPXRYTYWXYWZT[P[MZLYKWKUMUMWLWLV +12345 32F^[FI[ RNFPHPJOLMMKMIKIIJGLFNFPGSHVHYG[F RWTUUTWTYV[X[ZZ[X[VYTWT +12345 74E_[O[NZNZP\P\N[MZMYNXPVUTXRZP[L[JZIXIUJSPORMSKSIRGPFNGMIMLNOPRTW +WZY[[[\Y\X RKZJXJUKSLR RRMSI RSKRG RNGMK RNNPQTVWYYZ RN[LZKXKULSPO RMINM +QQUVXYZZ[Z\Y +12345 11NWSFRGRM RSGRM RSFTGRM +12345 27KYUBSDQGOKNPNTOYQ]S`Ub RQHPKOOOUPYQ\ RSDRFQIPOPUQ[R^S` +12345 27KYOBQDSGUKVPVTUYS]Q`Ob RSHTKUOUUTYS\ RQDRFSITOTUS[R^Q` +12345 39JZRFQGSQRR RRFRR RRFSGQQRR RMINIVOWO RMIWO RMIMJWNWO RWIVINOMO R +WIMO RWIWJMNMO +12345 16F_RIRZSZ RRISISZ RJQ[Q[R RJQJR[R +12345 24MXTZS[R[QZQYRXSXTYT\S^Q_ RRYRZSZSYRY RS[T\ RTZS^ +12345 3E_IR[R +12345 16MXRXQYQZR[S[TZTYSXRX RRYRZSZSYRY +12345 8G^[BIbJb R[B\BJb +12345 50H\QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF RNHMJLNLSMWNY RVYWWXSXNWJVH + RQFOGNIMNMSNXOZQ[ RS[UZVXWSWNVIUGSF +12345 28H\QHQ[ RRHRZ RSFS[ RSFPINJ RM[W[ RQZO[ RQYP[ RSYT[ RSZU[ +12345 62H\LJLKMKMJLJ RLIMINJNKMLLLKKKJLHMGPFTFWGXHYJYLXNUPPRNSLUKXK[ RWH +XJXLWN RTFVGWJWLVNTPPR RKYLXNXSYWYYX RNXSZWZXY RNXS[W[XZYXYV +12345 76H\LJLKMKMJLJ RLIMINJNKMLLLKKKJLHMGPFTFWGXIXLWNTO RVGWIWLVN RSFUG +VIVLUNSO RQOTOVPXRYTYWXYWZT[P[MZLYKWKVLUMUNVNWMXLX RWRXTXWWY RSOUPVQWTWW +VZT[ RLVLWMWMVLV +12345 28H\SIS[ RTHTZ RUFU[ RUFJUZU RP[X[ RSZQ[ RSYR[ RUYV[ RUZW[ +12345 55H\MFKPMNPMSMVNXPYSYUXXVZS[P[MZLYKWKVLUMUNVNWMXLX RWPXRXVWX RSMUN +VOWRWVVYUZS[ RLVLWMWMVLV RMFWF RMGUG RMHQHUGWF +12345 69H\VIVJWJWIVI RWHVHUIUJVKWKXJXIWGUFRFOGMILKKOKULXNZQ[S[VZXXYUYTXQ +VOSNQNOONPMR RNIMKLOLUMXNY RWXXVXSWQ RRFPGOHNJMNMUNXOZQ[ RS[UZVYWVWSVPUO +SN +12345 43H\KFKL RYFYIXLTQSSRWR[ RSRRTQWQ[ RXLSQQTPWP[R[ RKJLHNFPFUIWIXHYF + RMHNGPGRH RKJLINHPHUI +12345 79H\PFMGLILLMNPOTOWNXLXIWGTFPF RNGMIMLNN RVNWLWIVG RPFOGNINLONPO R +TOUNVLVIUGTF RPOMPLQKSKWLYMZP[T[WZXYYWYSXQWPTO RMQLSLWMY RWYXWXSWQ RPONP +MSMWNZP[ RT[VZWWWSVPTO +12345 69H\MWMXNXNWMW RWOVQURSSQSNRLPKMKLLINGQFSFVGXIYLYRXVWXUZR[O[MZLXLW +MVNVOWOXNYMY RMPLNLKMI RVHWIXLXRWVVX RQSORNQMNMKNHOGQF RSFUGVIWLWSVWUYTZ +R[ +12345 32MXRMQNQORPSPTOTNSMRM RRNROSOSNRN RRXQYQZR[S[TZTYSXRX RRYRZSZSYRY +12345 40MXRMQNQORPSPTOTNSMRM RRNROSOSNRN RTZS[R[QZQYRXSXTYT\S^Q_ RRYRZSZ +SYRY RS[T\ RTZS^ +12345 4F^ZIJRZ[ +12345 16F_JM[M[N RJMJN[N RJU[U[V RJUJV[V +12345 4F^JIZRJ[ +12345 52I\MKMJNJNLLLLJMHNGPFTFWGXHYJYLXNWOSQ RWHXIXMWN RTFVGWIWMVOUP RRQ +RTSTSQRQ RRXQYQZR[S[TZTYSXRX RRYRZSZSYRY +12345 56E`WNVLTKQKOLNMMPMSNUPVSVUUVS RQKOMNPNSOUPV RWKVSVUXVZV\T]Q]O\L[J +YHWGTFQFNGLHJJILHOHRIUJWLYNZQ[T[WZYYZX RXKWSWUXV +12345 36H\RFKZ RQIW[ RRIX[ RRFY[ RMUVU RI[O[ RT[[[ RKZJ[ RKZM[ RWZU[ RWY +V[ RXYZ[ +12345 78G]LFL[ RMGMZ RNFN[ RIFUFXGYHZJZLYNXOUP RXHYJYLXN RUFWGXIXMWOUP R +NPUPXQYRZTZWYYXZU[I[ RXRYTYWXY RUPWQXSXXWZU[ RJFLG RKFLH ROFNH RPFNG RLZ +J[ RLYK[ RNYO[ RNZP[ +12345 37G\XIYFYLXIVGTFQFNGLIKKJNJSKVLXNZQ[T[VZXXYV RMILKKNKSLVMX RQFOGMJ +LNLSMWOZQ[ +12345 62G]LFL[ RMGMZ RNFN[ RIFSFVGXIYKZNZSYVXXVZS[I[ RWIXKYNYSXVWX RSFUG +WJXNXSWWUZS[ RJFLG RKFLH ROFNH RPFNG RLZJ[ RLYK[ RNYO[ RNZP[ +12345 83G\LFL[ RMGMZ RNFN[ RIFYFYL RNPTP RTLTT RI[Y[YU RJFLG RKFLH ROFNH + RPFNG RTFYG RVFYH RWFYI RXFYL RTLSPTT RTNRPTR RTOPPTQ RLZJ[ RLYK[ RNYO[ + RNZP[ RT[YZ RV[YY RW[YX RX[YU +12345 70G[LFL[ RMGMZ RNFN[ RIFYFYL RNPTP RTLTT RI[Q[ RJFLG RKFLH ROFNH R +PFNG RTFYG RVFYH RWFYI RXFYL RTLSPTT RTNRPTR RTOPPTQ RLZJ[ RLYK[ RNYO[ R +NZP[ +12345 60G^XIYFYLXIVGTFQFNGLIKKJNJSKVLXNZQ[T[VZXZY[YS RMILKKNKSLVMX RQFOG +MJLNLSMWOZQ[ RXTXY RWSWYVZ RTS\S RUSWT RVSWU RZSYU R[SYT +12345 81F^KFK[ RLGLZ RMFM[ RWFW[ RXGXZ RYFY[ RHFPF RTF\F RMPWP RH[P[ RT[ +\[ RIFKG RJFKH RNFMH ROFMG RUFWG RVFWH RZFYH R[FYG RKZI[ RKYJ[ RMYN[ RMZ +O[ RWZU[ RWYV[ RYYZ[ RYZ[[ +12345 39LXQFQ[ RRGRZ RSFS[ RNFVF RN[V[ ROFQG RPFQH RTFSH RUFSG RQZO[ RQY +P[ RSYT[ RSZU[ +12345 45JZSFSWRZQ[ RTGTWSZ RUFUWTZQ[O[MZLXLVMUNUOVOWNXMX RMVMWNWNVMV RPF +XF RQFSG RRFSH RVFUH RWFUG +12345 69F\KFK[ RLGLZ RMFM[ RXGMR RPPW[ RQPX[ RQNY[ RHFPF RUF[F RH[P[ RT[ +[[ RIFKG RJFKH RNFMH ROFMG RWFXG RZFXG RKZI[ RKYJ[ RMYN[ RMZO[ RWYU[ RWY +Z[ +12345 52I[NFN[ ROGOZ RPFP[ RKFSF RK[Z[ZU RLFNG RMFNH RQFPH RRFPG RNZL[ R +NYM[ RPYQ[ RPZR[ RU[ZZ RW[ZY RX[ZX RY[ZU +12345 63E_JFJZ RJFQ[ RKFQX RLFRX RXFQ[ RXFX[ RYGYZ RZFZ[ RGFLF RXF]F RG[ +M[ RU[][ RHFJG R[FZH R\FZG RJZH[ RJZL[ RXZV[ RXYW[ RZY[[ RZZ\[ +12345 39F^KFKZ RKFY[ RLFXX RMFYX RYGY[ RHFMF RVF\F RH[N[ RIFKG RWFYG R[F +YG RKZI[ RKZM[ +12345 54G]QFNGLIKKJOJRKVLXNZQ[S[VZXXYVZRZOYKXIVGSFQF RMILKKNKSLVMX RWXXV +YSYNXKWI RQFOGMJLNLSMWOZQ[ RS[UZWWXSXNWJUGSF +12345 59G]LFL[ RMGMZ RNFN[ RIFUFXGYHZJZMYOXPUQNQ RXHYJYMXO RUFWGXIXNWPUQ + RI[Q[ RJFLG RKFLH ROFNH RPFNG RLZJ[ RLYK[ RNYO[ RNZP[ +12345 77G]QFNGLIKKJOJRKVLXNZQ[S[VZXXYVZRZOYKXIVGSFQF RMILKKNKSLVMX RWXXV +YSYNXKWI RQFOGMJLNLSMWOZQ[ RS[UZWWXSXNWJUGSF RNXOVQURUTVUXV^W`Y`Z^Z\ RV\ +W^X_Y_ RUXW]X^Y^Z] +12345 80G]LFL[ RMGMZ RNFN[ RIFUFXGYHZJZLYNXOUPNP RXHYJYLXN RUFWGXIXMWOUP + RRPTQUSWYX[Z[[Y[W RWWXYYZZZ RTQURXXYYZY[X RI[Q[ RJFLG RKFLH ROFNH RPFNG + RLZJ[ RLYK[ RNYO[ RNZP[ +12345 44H\XIYFYLXIVGSFPFMGKIKLLNOPURWSXUXXWZ RLLMNOOUQWRXT RMGLILKMMONUP +XRYTYWXYWZT[Q[NZLXKUK[LX +12345 57H\JFJL RQFQ[ RRGRZ RSFS[ RZFZL RJFZF RN[V[ RKFJL RLFJI RMFJH ROF +JG RUFZG RWFZH RXFZI RYFZL RQZO[ RQYP[ RSYT[ RSZU[ +12345 45F^KFKULXNZQ[S[VZXXYUYG RLGLVMX RMFMVNYOZQ[ RHFPF RVF\F RIFKG RJF +KH RNFMH ROFMG RWFYG R[FYG +12345 34H\KFR[ RLFRXR[ RMFSX RYGR[ RIFPF RUF[F RJFLH RNFMH ROFMG RWFYG R +ZFYG +12345 55F^JFN[ RKFNVN[ RLFOV RRFOVN[ RRFV[ RSFVVV[ RTFWV RZGWVV[ RGFOF R +RFTF RWF]F RHFKG RIFKH RMFLH RNFLG RXFZG R\FZG +12345 54H\KFW[ RLFX[ RMFY[ RXGLZ RIFPF RUF[F RI[O[ RT[[[ RJFMH RNFMH ROF +MG RVFXG RZFXG RLZJ[ RLZN[ RWZU[ RWYV[ RWYZ[ +12345 48G]JFQQQ[ RKFRQRZ RLFSQS[ RYGSQ RHFOF RVF\F RN[V[ RIFKG RNFLG RWF +YG R[FYG RQZO[ RQYP[ RSYT[ RSZU[ +12345 41H\YFKFKL RWFK[ RXFL[ RYFM[ RK[Y[YU RLFKL RMFKI RNFKH RPFKG RT[YZ + RV[YY RW[YX RX[YU +12345 12KYOBOb RPBPb ROBVB RObVb +12345 3KYKFY^ +12345 12KYTBTb RUBUb RNBUB RNbUb +12345 8G]JTROZT RJTRPZT +12345 3H\Hb\b +12345 7LXPFUL RPFOGUL +12345 54I]NPNOOOOQMQMONNPMTMVNWOXQXXYZZ[ RVOWQWXXZ RTMUNVPVXWZZ[[[ RVRUS +PTMULWLXMZP[S[UZVX RNUMWMXNZ RUSQTOUNWNXOZP[ +12345 47G\LFL[MZOZ RMGMY RIFNFNZ RNPONQMSMVNXPYSYUXXVZS[Q[OZNX RWPXRXVWX + RSMUNVOWRWVVYUZS[ RJFLG RKFLH +12345 34H[WQWPVPVRXRXPVNTMQMNNLPKSKULXNZQ[S[VZXX RMPLRLVMX RQMONNOMRMVNY +OZQ[ +12345 52H]VFV[[[ RWGWZ RSFXFX[ RVPUNSMQMNNLPKSKULXNZQ[S[UZVX RMPLRLVMX R +QMONNOMRMVNYOZQ[ RTFVG RUFVH RXYY[ RXZZ[ +12345 41H[MSXSXQWOVNSMQMNNLPKSKULXNZQ[S[VZXX RWRWQVO RMPLRLVMX RVSVPUNSM + RQMONNOMRMVNYOZQ[ +12345 40KYWHWGVGVIXIXGWFTFRGQHPKP[ RRHQKQZ RTFSGRIR[ RMMVM RM[U[ RPZN[ R +PYO[ RRYS[ RRZT[ +12345 89I\XNYOZNYMXMVNUO RQMONNOMQMSNUOVQWSWUVVUWSWQVOUNSMQM ROONQNSOU R +UUVSVQUO RQMPNOPOTPVQW RSWTVUTUPTNSM RNUMVLXLYM[N\Q]U]X^Y_ RN[Q\U\X] RLY +MZP[U[X\Y^Y_XaUbObLaK_K^L\O[ RObMaL_L^M\O[ +12345 65G^LFL[ RMGMZ RIFNFN[ RNQOOPNRMUMWNXOYRY[ RWOXRXZ RUMVNWQW[ RI[Q[ + RT[\[ RJFLG RKFLH RLZJ[ RLYK[ RNYO[ RNZP[ RWZU[ RWYV[ RYYZ[ RYZ[[ +12345 43LXQFQHSHSFQF RRFRH RQGSG RQMQ[ RRNRZ RNMSMS[ RN[V[ ROMQN RPMQO R +QZO[ RQYP[ RSYT[ RSZU[ +12345 41KXRFRHTHTFRF RSFSH RRGTG RRMR^QaPb RSNS]R` ROMTMT]S`RaPbMbLaL_N_ +NaMaM` RPMRN RQMRO +12345 61G]LFL[ RMGMZ RIFNFN[ RWNNW RRSY[ RRTX[ RQTW[ RTM[M RI[Q[ RT[[[ R +JFLG RKFLH RUMWN RZMWN RLZJ[ RLYK[ RNYO[ RNZP[ RWYU[ RVYZ[ +12345 31LXQFQ[ RRGRZ RNFSFS[ RN[V[ ROFQG RPFQH RQZO[ RQYP[ RSYT[ RSZU[ +12345 99AcFMF[ RGNGZ RCMHMH[ RHQIOJNLMOMQNROSRS[ RQORRRZ ROMPNQQQ[ RSQTO +UNWMZM\N]O^R^[ R\O]R]Z RZM[N\Q\[ RC[K[ RN[V[ RY[a[ RDMFN REMFO RFZD[ RFY +E[ RHYI[ RHZJ[ RQZO[ RQYP[ RSYT[ RSZU[ R\ZZ[ R\Y[[ R^Y_[ R^Z`[ +12345 65G^LML[ RMNMZ RIMNMN[ RNQOOPNRMUMWNXOYRY[ RWOXRXZ RUMVNWQW[ RI[Q[ + RT[\[ RJMLN RKMLO RLZJ[ RLYK[ RNYO[ RNZP[ RWZU[ RWYV[ RYYZ[ RYZ[[ +12345 46H\QMNNLPKSKULXNZQ[S[VZXXYUYSXPVNSMQM RMPLRLVMX RWXXVXRWP RQMONNO +MRMVNYOZQ[ RS[UZVYWVWRVOUNSM +12345 60G\LMLb RMNMa RIMNMNb RNPONQMSMVNXPYSYUXXVZS[Q[OZNX RWPXRXVWX RSM +UNVOWRWVVYUZS[ RIbQb RJMLN RKMLO RLaJb RL`Kb RN`Ob RNaPb +12345 55H\VNVb RWOWa RUNWNXMXb RVPUNSMQMNNLPKSKULXNZQ[S[UZVX RMPLRLVMX R +QMONNOMRMVNYOZQ[ RSb[b RVaTb RV`Ub RX`Yb RXaZb +12345 43IZNMN[ RONOZ RKMPMP[ RWOWNVNVPXPXNWMUMSNQPPS RK[S[ RLMNN RMMNO R +NZL[ RNYM[ RPYQ[ RPZR[ +12345 43J[WOXMXQWOVNTMPMNNMOMQNSPTUUWVXY RNNMQ RNRPSUTWU RXVWZ RMONQPRUS +WTXVXYWZU[Q[OZNYMWM[NY +12345 22KZPHPVQYRZT[V[XZYX RQHQWRY RPHRFRWSZT[ RMMVM +12345 43G^LMLVMYNZP[S[UZVYWW RMNMWNY RIMNMNWOZP[ RWMW[\[ RXNXZ RTMYMY[ R +JMLN RKMLO RYYZ[ RYZ[[ +12345 31I[LMR[ RMMRY RNMSY RXNSYR[ RJMQM RTMZM RKMNO RPMNN RVMXN RYMXN +12345 45F^JMN[ RKMNX RLMOX RRMOXN[ RRMV[ RSMVX RRMTMWX RZNWXV[ RGMOM RWM +]M RHMKN RNMLN RXMZN R\MZN +12345 48H\LMV[ RMMW[ RNMX[ RWNMZ RJMQM RTMZM RJ[P[ RS[Z[ RKMMN RPMNN RUM +WN RYMWN RMZK[ RMZO[ RVZT[ RWZY[ +12345 40H[LMR[ RMMRY RNMSY RXNSYP_NaLbJbIaI_K_KaJaJ` RJMQM RTMZM RKMNO R +PMNN RVMXN RYMXN +12345 41I[VML[ RWMM[ RXMN[ RXMLMLQ RL[X[XW RMMLQ RNMLP ROMLO RQMLN RS[XZ + RU[XY RV[XX RW[XW +12345 40KYTBRCQDPFPHQJRKSMSOQQ RRCQEQGRISJTLTNSPORSTTVTXSZR[Q]Q_Ra RQSSU +SWRYQZP\P^Q`RaTb +12345 3NVRBRb +12345 40KYPBRCSDTFTHSJRKQMQOSQ RRCSESGRIQJPLPNQPURQTPVPXQZR[S]S_Ra RSSQU +QWRYSZT\T^S`RaPb +12345 24F^IUISJPLONOPPTSVTXTZS[Q RISJQLPNPPQTTVUXUZT[Q[O +12345 35JZJFJ[K[KFLFL[M[MFNFN[O[OFPFP[Q[QFRFR[S[SFTFT[U[UFVFV[W[WFXFX[Y[ +YFZFZ[ diff --git a/hf2gcode/hershey_fonts/realclean.sh b/hf2gcode/hershey_fonts/realclean.sh new file mode 100644 index 0000000..c2fb072 --- /dev/null +++ b/hf2gcode/hershey_fonts/realclean.sh @@ -0,0 +1,11 @@ +#!/bin/bash +echo "WARNING: realclean will remove the hershey font C declarations in gen_c_src." +echo "WARNING: You will have to use GNU Octave if you want to regenerate them." + +read -p "Are you sure you want to remove gen_c_src? (y/n) " -n 1 -r +echo "" +if [[ $REPLY =~ ^[Yy]$ ]] +then + rm -rf gen_c_src + echo "removed gen_c_src" +fi diff --git a/hf2gcode/src/Makefile b/hf2gcode/src/Makefile new file mode 100644 index 0000000..3e6de15 --- /dev/null +++ b/hf2gcode/src/Makefile @@ -0,0 +1,17 @@ +.PHONY: clean + +CFLAGS = -Wall -Wextra -O0 -ggdb + +run: hf2gcode demo.txt + ./hf2gcode -i demo.txt -o demo_hello_world.ngc -y 23 + ./hf2gcode -m -s 0.3 -p 2 -f 800 -i demo.txt -o demo_hello_world_needler.ngc -y 23 + ./hf2gcode -i demo.txt --font=scripts -o demo_hello_world_scripts.ngc -y 23 + +hf2gcode: hf2gcode.c libhf2gcode.c + $(MAKE) -C ../hershey_fonts src + gcc $(CFLAGS) $^ -o $@ + +clean: + rm -f hf2gcode + rm -f *.ngc + diff --git a/hf2gcode/src/demo.txt b/hf2gcode/src/demo.txt new file mode 100644 index 0000000..4c55e7a --- /dev/null +++ b/hf2gcode/src/demo.txt @@ -0,0 +1,2 @@ +Hello world! +This is hf2gcode 0.2 diff --git a/hf2gcode/src/demo_hello_world.ngc b/hf2gcode/src/demo_hello_world.ngc new file mode 100644 index 0000000..a26b417 --- /dev/null +++ b/hf2gcode/src/demo_hello_world.ngc @@ -0,0 +1,451 @@ +( generated with hf2gcode 0.2.2 ) +G21 ( base unit mm ) +G90 ( absolute distance mode ) +G94 ( Feed Rate Mode: Units per minute Mode ) +G17 ( X-Y plane ) +M3 S10000 +( text="Hello world!|This is hf2gcode 0.2|", font="rowmans" ) +( scale=0.500000, feed=200.000000, precision=3 ) +F200.000 +G0 Z1.000 ( Pen-Up at start) +;H = KFK[ RYFY[ RKPYP +G0 X2.000 Y29.000 +G1 Z-1.000 ( Pen-Down ) +G1 Y18.500 +G0 Z1.000 ( Pen-Up ) +G0 X9.000 Y29.000 +G1 Z-1.000 ( Pen-Down ) +G1 Y18.500 +G0 Z1.000 ( Pen-Up ) +G0 X2.000 Y24.000 +G1 Z-1.000 ( Pen-Down ) +G1 X9.000 +G0 Z1.000 ( Pen-Up, EOG ) +;e = LSXSXQWOVNTMQMONMPLSLUMXOZQ[T[VZXX +G0 X12.500 Y22.500 +G1 Z-1.000 ( Pen-Down ) +G1 X18.500 +G1 Y23.500 +G1 X18.000 Y24.500 +G1 X17.500 Y25.000 +G1 X16.500 Y25.500 +G1 X15.000 +G1 X14.000 Y25.000 +G1 X13.000 Y24.000 +G1 X12.500 Y22.500 +G1 Y21.500 +G1 X13.000 Y20.000 +G1 X14.000 Y19.000 +G1 X15.000 Y18.500 +G1 X16.500 +G1 X17.500 Y19.000 +G1 X18.500 Y20.000 +G0 Z1.000 ( Pen-Up, EOG ) +;l = RFR[ +G0 X22.000 Y29.000 +G1 Z-1.000 ( Pen-Down ) +G1 Y18.500 +G0 Z1.000 ( Pen-Up, EOG ) +;l = RFR[ +G0 X26.000 Y29.000 +G1 Z-1.000 ( Pen-Down ) +G1 Y18.500 +G0 Z1.000 ( Pen-Up, EOG ) +;o = QMONMPLSLUMXOZQ[T[VZXXYUYSXPVNTMQM +G0 X32.000 Y25.500 +G1 Z-1.000 ( Pen-Down ) +G1 X31.000 Y25.000 +G1 X30.000 Y24.000 +G1 X29.500 Y22.500 +G1 Y21.500 +G1 X30.000 Y20.000 +G1 X31.000 Y19.000 +G1 X32.000 Y18.500 +G1 X33.500 +G1 X34.500 Y19.000 +G1 X35.500 Y20.000 +G1 X36.000 Y21.500 +G1 Y22.500 +G1 X35.500 Y24.000 +G1 X34.500 Y25.000 +G1 X33.500 Y25.500 +G1 X32.000 +G0 Z1.000 ( Pen-Up, EOG ) +; = +G0 Z1.000 ( Pen-Up, EOG ) +;w = JMN[ RRMN[ RRMV[ RZMV[ +G0 X47.000 +G1 Z-1.000 ( Pen-Down ) +G1 X49.000 Y18.500 +G0 Z1.000 ( Pen-Up ) +G0 X51.000 Y25.500 +G1 Z-1.000 ( Pen-Down ) +G1 X49.000 Y18.500 +G0 Z1.000 ( Pen-Up ) +G0 X51.000 Y25.500 +G1 Z-1.000 ( Pen-Down ) +G1 X53.000 Y18.500 +G0 Z1.000 ( Pen-Up ) +G0 X55.000 Y25.500 +G1 Z-1.000 ( Pen-Down ) +G1 X53.000 Y18.500 +G0 Z1.000 ( Pen-Up, EOG ) +;o = QMONMPLSLUMXOZQ[T[VZXXYUYSXPVNTMQM +G0 X60.500 Y25.500 +G1 Z-1.000 ( Pen-Down ) +G1 X59.500 Y25.000 +G1 X58.500 Y24.000 +G1 X58.000 Y22.500 +G1 Y21.500 +G1 X58.500 Y20.000 +G1 X59.500 Y19.000 +G1 X60.500 Y18.500 +G1 X62.000 +G1 X63.000 Y19.000 +G1 X64.000 Y20.000 +G1 X64.500 Y21.500 +G1 Y22.500 +G1 X64.000 Y24.000 +G1 X63.000 Y25.000 +G1 X62.000 Y25.500 +G1 X60.500 +G0 Z1.000 ( Pen-Up, EOG ) +;r = OMO[ ROSPPRNTMWM +G0 X68.000 +G1 Z-1.000 ( Pen-Down ) +G1 Y18.500 +G0 Z1.000 ( Pen-Up ) +G0 Y22.500 +G1 Z-1.000 ( Pen-Down ) +G1 X68.500 Y24.000 +G1 X69.500 Y25.000 +G1 X70.500 Y25.500 +G1 X72.000 +G0 Z1.000 ( Pen-Up, EOG ) +;l = RFR[ +G0 X74.500 Y29.000 +G1 Z-1.000 ( Pen-Down ) +G1 Y18.500 +G0 Z1.000 ( Pen-Up, EOG ) +;d = XFX[ RXPVNTMQMONMPLSLUMXOZQ[T[VZXX +G0 X84.000 Y29.000 +G1 Z-1.000 ( Pen-Down ) +G1 Y18.500 +G0 Z1.000 ( Pen-Up ) +G0 Y24.000 +G1 Z-1.000 ( Pen-Down ) +G1 X83.000 Y25.000 +G1 X82.000 Y25.500 +G1 X80.500 +G1 X79.500 Y25.000 +G1 X78.500 Y24.000 +G1 X78.000 Y22.500 +G1 Y21.500 +G1 X78.500 Y20.000 +G1 X79.500 Y19.000 +G1 X80.500 Y18.500 +G1 X82.000 +G1 X83.000 Y19.000 +G1 X84.000 Y20.000 +G0 Z1.000 ( Pen-Up, EOG ) +;! = RFRT RRYQZR[SZRY +G0 X88.500 Y29.000 +G1 Z-1.000 ( Pen-Down ) +G1 Y22.000 +G0 Z1.000 ( Pen-Up ) +G0 Y19.500 +G1 Z-1.000 ( Pen-Down ) +G1 X88.000 Y19.000 +G1 X88.500 Y18.500 +G1 X89.000 Y19.000 +G1 X88.500 Y19.500 +G0 Z1.000 ( Pen-Up, EOG ) +( Linefeed ) +;T = RFR[ RKFYF +G0 X4.000 Y14.000 +G1 Z-1.000 ( Pen-Down ) +G1 Y3.500 +G0 Z1.000 ( Pen-Up ) +G0 X0.500 Y14.000 +G1 Z-1.000 ( Pen-Down ) +G1 X7.500 +G0 Z1.000 ( Pen-Up, EOG ) +;h = MFM[ RMQPNRMUMWNXQX[ +G0 X10.000 +G1 Z-1.000 ( Pen-Down ) +G1 Y3.500 +G0 Z1.000 ( Pen-Up ) +G0 Y8.500 +G1 Z-1.000 ( Pen-Down ) +G1 X11.500 Y10.000 +G1 X12.500 Y10.500 +G1 X14.000 +G1 X15.000 Y10.000 +G1 X15.500 Y8.500 +G1 Y3.500 +G0 Z1.000 ( Pen-Up, EOG ) +;i = QFRGSFREQF RRMR[ +G0 X19.000 Y14.000 +G1 Z-1.000 ( Pen-Down ) +G1 X19.500 Y13.500 +G1 X20.000 Y14.000 +G1 X19.500 Y14.500 +G1 X19.000 Y14.000 +G0 Z1.000 ( Pen-Up ) +G0 X19.500 Y10.500 +G1 Z-1.000 ( Pen-Down ) +G1 Y3.500 +G0 Z1.000 ( Pen-Up, EOG ) +;s = XPWNTMQMNNMPNRPSUTWUXWXXWZT[Q[NZMX +G0 X28.500 Y9.000 +G1 Z-1.000 ( Pen-Down ) +G1 X28.000 Y10.000 +G1 X26.500 Y10.500 +G1 X25.000 +G1 X23.500 Y10.000 +G1 X23.000 Y9.000 +G1 X23.500 Y8.000 +G1 X24.500 Y7.500 +G1 X27.000 Y7.000 +G1 X28.000 Y6.500 +G1 X28.500 Y5.500 +G1 Y5.000 +G1 X28.000 Y4.000 +G1 X26.500 Y3.500 +G1 X25.000 +G1 X23.500 Y4.000 +G1 X23.000 Y5.000 +G0 Z1.000 ( Pen-Up, EOG ) +; = +G0 Z1.000 ( Pen-Up, EOG ) +;i = QFRGSFREQF RRMR[ +G0 X39.500 Y14.000 +G1 Z-1.000 ( Pen-Down ) +G1 X40.000 Y13.500 +G1 X40.500 Y14.000 +G1 X40.000 Y14.500 +G1 X39.500 Y14.000 +G0 Z1.000 ( Pen-Up ) +G0 X40.000 Y10.500 +G1 Z-1.000 ( Pen-Down ) +G1 Y3.500 +G0 Z1.000 ( Pen-Up, EOG ) +;s = XPWNTMQMNNMPNRPSUTWUXWXXWZT[Q[NZMX +G0 X49.000 Y9.000 +G1 Z-1.000 ( Pen-Down ) +G1 X48.500 Y10.000 +G1 X47.000 Y10.500 +G1 X45.500 +G1 X44.000 Y10.000 +G1 X43.500 Y9.000 +G1 X44.000 Y8.000 +G1 X45.000 Y7.500 +G1 X47.500 Y7.000 +G1 X48.500 Y6.500 +G1 X49.000 Y5.500 +G1 Y5.000 +G1 X48.500 Y4.000 +G1 X47.000 Y3.500 +G1 X45.500 +G1 X44.000 Y4.000 +G1 X43.500 Y5.000 +G0 Z1.000 ( Pen-Up, EOG ) +; = +G0 Z1.000 ( Pen-Up, EOG ) +;h = MFM[ RMQPNRMUMWNXQX[ +G0 X60.500 Y14.000 +G1 Z-1.000 ( Pen-Down ) +G1 Y3.500 +G0 Z1.000 ( Pen-Up ) +G0 Y8.500 +G1 Z-1.000 ( Pen-Down ) +G1 X62.000 Y10.000 +G1 X63.000 Y10.500 +G1 X64.500 +G1 X65.500 Y10.000 +G1 X66.000 Y8.500 +G1 Y3.500 +G0 Z1.000 ( Pen-Up, EOG ) +;f = WFUFSGRJR[ ROMVM +G0 X73.000 Y14.000 +G1 Z-1.000 ( Pen-Down ) +G1 X72.000 +G1 X71.000 Y13.500 +G1 X70.500 Y12.000 +G1 Y3.500 +G0 Z1.000 ( Pen-Up ) +G0 X69.000 Y10.500 +G1 Z-1.000 ( Pen-Down ) +G1 X72.500 +G0 Z1.000 ( Pen-Up, EOG ) +;2 = LKLJMHNGPFTFVGWHXJXLWNUQK[Y[ +G0 X76.000 Y11.500 +G1 Z-1.000 ( Pen-Down ) +G1 Y12.000 +G1 X76.500 Y13.000 +G1 X77.000 Y13.500 +G1 X78.000 Y14.000 +G1 X80.000 +G1 X81.000 Y13.500 +G1 X81.500 Y13.000 +G1 X82.000 Y12.000 +G1 Y11.000 +G1 X81.500 Y10.000 +G1 X80.500 Y8.500 +G1 X75.500 Y3.500 +G1 X82.500 +G0 Z1.000 ( Pen-Up, EOG ) +;g = XMX]W`VaTbQbOa RXPVNTMQMONMPLSLUMXOZQ[T[VZXX +G0 X91.500 Y10.500 +G1 Z-1.000 ( Pen-Down ) +G1 Y2.500 +G1 X91.000 Y1.000 +G1 X90.500 Y0.500 +G1 X89.500 Y0.000 +G1 X88.000 +G1 X87.000 Y0.500 +G0 Z1.000 ( Pen-Up ) +G0 X91.500 Y9.000 +G1 Z-1.000 ( Pen-Down ) +G1 X90.500 Y10.000 +G1 X89.500 Y10.500 +G1 X88.000 +G1 X87.000 Y10.000 +G1 X86.000 Y9.000 +G1 X85.500 Y7.500 +G1 Y6.500 +G1 X86.000 Y5.000 +G1 X87.000 Y4.000 +G1 X88.000 Y3.500 +G1 X89.500 +G1 X90.500 Y4.000 +G1 X91.500 Y5.000 +G0 Z1.000 ( Pen-Up, EOG ) +;c = XPVNTMQMONMPLSLUMXOZQ[T[VZXX +G0 X101.000 Y9.000 +G1 Z-1.000 ( Pen-Down ) +G1 X100.000 Y10.000 +G1 X99.000 Y10.500 +G1 X97.500 +G1 X96.500 Y10.000 +G1 X95.500 Y9.000 +G1 X95.000 Y7.500 +G1 Y6.500 +G1 X95.500 Y5.000 +G1 X96.500 Y4.000 +G1 X97.500 Y3.500 +G1 X99.000 +G1 X100.000 Y4.000 +G1 X101.000 Y5.000 +G0 Z1.000 ( Pen-Up, EOG ) +;o = QMONMPLSLUMXOZQ[T[VZXXYUYSXPVNTMQM +G0 X106.500 Y10.500 +G1 Z-1.000 ( Pen-Down ) +G1 X105.500 Y10.000 +G1 X104.500 Y9.000 +G1 X104.000 Y7.500 +G1 Y6.500 +G1 X104.500 Y5.000 +G1 X105.500 Y4.000 +G1 X106.500 Y3.500 +G1 X108.000 +G1 X109.000 Y4.000 +G1 X110.000 Y5.000 +G1 X110.500 Y6.500 +G1 Y7.500 +G1 X110.000 Y9.000 +G1 X109.000 Y10.000 +G1 X108.000 Y10.500 +G1 X106.500 +G0 Z1.000 ( Pen-Up, EOG ) +;d = XFX[ RXPVNTMQMONMPLSLUMXOZQ[T[VZXX +G0 X119.500 Y14.000 +G1 Z-1.000 ( Pen-Down ) +G1 Y3.500 +G0 Z1.000 ( Pen-Up ) +G0 Y9.000 +G1 Z-1.000 ( Pen-Down ) +G1 X118.500 Y10.000 +G1 X117.500 Y10.500 +G1 X116.000 +G1 X115.000 Y10.000 +G1 X114.000 Y9.000 +G1 X113.500 Y7.500 +G1 Y6.500 +G1 X114.000 Y5.000 +G1 X115.000 Y4.000 +G1 X116.000 Y3.500 +G1 X117.500 +G1 X118.500 Y4.000 +G1 X119.500 Y5.000 +G0 Z1.000 ( Pen-Up, EOG ) +;e = LSXSXQWOVNTMQMONMPLSLUMXOZQ[T[VZXX +G0 X123.000 Y7.500 +G1 Z-1.000 ( Pen-Down ) +G1 X129.000 +G1 Y8.500 +G1 X128.500 Y9.500 +G1 X128.000 Y10.000 +G1 X127.000 Y10.500 +G1 X125.500 +G1 X124.500 Y10.000 +G1 X123.500 Y9.000 +G1 X123.000 Y7.500 +G1 Y6.500 +G1 X123.500 Y5.000 +G1 X124.500 Y4.000 +G1 X125.500 Y3.500 +G1 X127.000 +G1 X128.000 Y4.000 +G1 X129.000 Y5.000 +G0 Z1.000 ( Pen-Up, EOG ) +; = +G0 Z1.000 ( Pen-Up, EOG ) +;0 = QFNGLJKOKRLWNZQ[S[VZXWYRYOXJVGSFQF +G0 X143.000 Y14.000 +G1 Z-1.000 ( Pen-Down ) +G1 X141.500 Y13.500 +G1 X140.500 Y12.000 +G1 X140.000 Y9.500 +G1 Y8.000 +G1 X140.500 Y5.500 +G1 X141.500 Y4.000 +G1 X143.000 Y3.500 +G1 X144.000 +G1 X145.500 Y4.000 +G1 X146.500 Y5.500 +G1 X147.000 Y8.000 +G1 Y9.500 +G1 X146.500 Y12.000 +G1 X145.500 Y13.500 +G1 X144.000 Y14.000 +G1 X143.000 +G0 Z1.000 ( Pen-Up, EOG ) +;. = RYQZR[SZRY +G0 X151.000 Y4.500 +G1 Z-1.000 ( Pen-Down ) +G1 X150.500 Y4.000 +G1 X151.000 Y3.500 +G1 X151.500 Y4.000 +G1 X151.000 Y4.500 +G0 Z1.000 ( Pen-Up, EOG ) +;2 = LKLJMHNGPFTFVGWHXJXLWNUQK[Y[ +G0 X155.500 Y11.500 +G1 Z-1.000 ( Pen-Down ) +G1 Y12.000 +G1 X156.000 Y13.000 +G1 X156.500 Y13.500 +G1 X157.500 Y14.000 +G1 X159.500 +G1 X160.500 Y13.500 +G1 X161.000 Y13.000 +G1 X161.500 Y12.000 +G1 Y11.000 +G1 X161.000 Y10.000 +G1 X160.000 Y8.500 +G1 X155.000 Y3.500 +G1 X162.000 +G0 Z1.000 ( Pen-Up, EOG ) +( Linefeed ) +M5 (stop the spindle) +M30 (Program stop, rewind to beginning of program) diff --git a/hf2gcode/src/demo_hello_world_needler.ngc b/hf2gcode/src/demo_hello_world_needler.ngc new file mode 100644 index 0000000..4d823a3 --- /dev/null +++ b/hf2gcode/src/demo_hello_world_needler.ngc @@ -0,0 +1,449 @@ + +G21 +G90 +G94 +G17 +M3 S10000 +F800.00 +G0 Z1.00 + +G0 X1.20 Y26.60 +G1 Z-1.00 +G1 Y20.30 +G0 Z1.00 +G0 X5.40 Y26.60 +G1 Z-1.00 +G1 Y20.30 +G0 Z1.00 +G0 X1.20 Y23.60 +G1 Z-1.00 +G1 X5.40 +G0 Z1.00 + +G0 X7.50 Y22.70 +G1 Z-1.00 +G1 X11.10 +G1 Y23.30 +G1 X10.80 Y23.90 +G1 X10.50 Y24.20 +G1 X9.90 Y24.50 +G1 X9.00 +G1 X8.40 Y24.20 +G1 X7.80 Y23.60 +G1 X7.50 Y22.70 +G1 Y22.10 +G1 X7.80 Y21.20 +G1 X8.40 Y20.60 +G1 X9.00 Y20.30 +G1 X9.90 +G1 X10.50 Y20.60 +G1 X11.10 Y21.20 +G0 Z1.00 + +G0 X13.20 Y26.60 +G1 Z-1.00 +G1 Y20.30 +G0 Z1.00 + +G0 X15.60 Y26.60 +G1 Z-1.00 +G1 Y20.30 +G0 Z1.00 + +G0 X19.20 Y24.50 +G1 Z-1.00 +G1 X18.60 Y24.20 +G1 X18.00 Y23.60 +G1 X17.70 Y22.70 +G1 Y22.10 +G1 X18.00 Y21.20 +G1 X18.60 Y20.60 +G1 X19.20 Y20.30 +G1 X20.10 +G1 X20.70 Y20.60 +G1 X21.30 Y21.20 +G1 X21.60 Y22.10 +G1 Y22.70 +G1 X21.30 Y23.60 +G1 X20.70 Y24.20 +G1 X20.10 Y24.50 +G1 X19.20 +G0 Z1.00 + +G0 Z1.00 + +G0 X28.20 +G1 Z-1.00 +G1 X29.40 Y20.30 +G0 Z1.00 +G0 X30.60 Y24.50 +G1 Z-1.00 +G1 X29.40 Y20.30 +G0 Z1.00 +G0 X30.60 Y24.50 +G1 Z-1.00 +G1 X31.80 Y20.30 +G0 Z1.00 +G0 X33.00 Y24.50 +G1 Z-1.00 +G1 X31.80 Y20.30 +G0 Z1.00 + +G0 X36.30 Y24.50 +G1 Z-1.00 +G1 X35.70 Y24.20 +G1 X35.10 Y23.60 +G1 X34.80 Y22.70 +G1 Y22.10 +G1 X35.10 Y21.20 +G1 X35.70 Y20.60 +G1 X36.30 Y20.30 +G1 X37.20 +G1 X37.80 Y20.60 +G1 X38.40 Y21.20 +G1 X38.70 Y22.10 +G1 Y22.70 +G1 X38.40 Y23.60 +G1 X37.80 Y24.20 +G1 X37.20 Y24.50 +G1 X36.30 +G0 Z1.00 + +G0 X40.80 +G1 Z-1.00 +G1 Y20.30 +G0 Z1.00 +G0 Y22.70 +G1 Z-1.00 +G1 X41.10 Y23.60 +G1 X41.70 Y24.20 +G1 X42.30 Y24.50 +G1 X43.20 +G0 Z1.00 + +G0 X44.70 Y26.60 +G1 Z-1.00 +G1 Y20.30 +G0 Z1.00 + +G0 X50.40 Y26.60 +G1 Z-1.00 +G1 Y20.30 +G0 Z1.00 +G0 Y23.60 +G1 Z-1.00 +G1 X49.80 Y24.20 +G1 X49.20 Y24.50 +G1 X48.30 +G1 X47.70 Y24.20 +G1 X47.10 Y23.60 +G1 X46.80 Y22.70 +G1 Y22.10 +G1 X47.10 Y21.20 +G1 X47.70 Y20.60 +G1 X48.30 Y20.30 +G1 X49.20 +G1 X49.80 Y20.60 +G1 X50.40 Y21.20 +G0 Z1.00 + +G0 X53.10 Y26.60 +G1 Z-1.00 +G1 Y22.40 +G0 Z1.00 +G0 Y20.90 +G1 Z-1.00 +G1 X52.80 Y20.60 +G1 X53.10 Y20.30 +G1 X53.40 Y20.60 +G1 X53.10 Y20.90 +G0 Z1.00 +( Linefeed ) + +G0 X2.40 Y11.60 +G1 Z-1.00 +G1 Y5.30 +G0 Z1.00 +G0 X0.30 Y11.60 +G1 Z-1.00 +G1 X4.50 +G0 Z1.00 + +G0 X6.00 +G1 Z-1.00 +G1 Y5.30 +G0 Z1.00 +G0 Y8.30 +G1 Z-1.00 +G1 X6.90 Y9.20 +G1 X7.50 Y9.50 +G1 X8.40 +G1 X9.00 Y9.20 +G1 X9.30 Y8.30 +G1 Y5.30 +G0 Z1.00 + +G0 X11.40 Y11.60 +G1 Z-1.00 +G1 X11.70 Y11.30 +G1 X12.00 Y11.60 +G1 X11.70 Y11.90 +G1 X11.40 Y11.60 +G0 Z1.00 +G0 X11.70 Y9.50 +G1 Z-1.00 +G1 Y5.30 +G0 Z1.00 + +G0 X17.10 Y8.60 +G1 Z-1.00 +G1 X16.80 Y9.20 +G1 X15.90 Y9.50 +G1 X15.00 +G1 X14.10 Y9.20 +G1 X13.80 Y8.60 +G1 X14.10 Y8.00 +G1 X14.70 Y7.70 +G1 X16.20 Y7.40 +G1 X16.80 Y7.10 +G1 X17.10 Y6.50 +G1 Y6.20 +G1 X16.80 Y5.60 +G1 X15.90 Y5.30 +G1 X15.00 +G1 X14.10 Y5.60 +G1 X13.80 Y6.20 +G0 Z1.00 + +G0 Z1.00 + +G0 X23.70 Y11.60 +G1 Z-1.00 +G1 X24.00 Y11.30 +G1 X24.30 Y11.60 +G1 X24.00 Y11.90 +G1 X23.70 Y11.60 +G0 Z1.00 +G0 X24.00 Y9.50 +G1 Z-1.00 +G1 Y5.30 +G0 Z1.00 + +G0 X29.40 Y8.60 +G1 Z-1.00 +G1 X29.10 Y9.20 +G1 X28.20 Y9.50 +G1 X27.30 +G1 X26.40 Y9.20 +G1 X26.10 Y8.60 +G1 X26.40 Y8.00 +G1 X27.00 Y7.70 +G1 X28.50 Y7.40 +G1 X29.10 Y7.10 +G1 X29.40 Y6.50 +G1 Y6.20 +G1 X29.10 Y5.60 +G1 X28.20 Y5.30 +G1 X27.30 +G1 X26.40 Y5.60 +G1 X26.10 Y6.20 +G0 Z1.00 + +G0 Z1.00 + +G0 X36.30 Y11.60 +G1 Z-1.00 +G1 Y5.30 +G0 Z1.00 +G0 Y8.30 +G1 Z-1.00 +G1 X37.20 Y9.20 +G1 X37.80 Y9.50 +G1 X38.70 +G1 X39.30 Y9.20 +G1 X39.60 Y8.30 +G1 Y5.30 +G0 Z1.00 + +G0 X43.80 Y11.60 +G1 Z-1.00 +G1 X43.20 +G1 X42.60 Y11.30 +G1 X42.30 Y10.40 +G1 Y5.30 +G0 Z1.00 +G0 X41.40 Y9.50 +G1 Z-1.00 +G1 X43.50 +G0 Z1.00 + +G0 X45.60 Y10.10 +G1 Z-1.00 +G1 Y10.40 +G1 X45.90 Y11.00 +G1 X46.20 Y11.30 +G1 X46.80 Y11.60 +G1 X48.00 +G1 X48.60 Y11.30 +G1 X48.90 Y11.00 +G1 X49.20 Y10.40 +G1 Y9.80 +G1 X48.90 Y9.20 +G1 X48.30 Y8.30 +G1 X45.30 Y5.30 +G1 X49.50 +G0 Z1.00 + +G0 X54.90 Y9.50 +G1 Z-1.00 +G1 Y4.70 +G1 X54.60 Y3.80 +G1 X54.30 Y3.50 +G1 X53.70 Y3.20 +G1 X52.80 +G1 X52.20 Y3.50 +G0 Z1.00 +G0 X54.90 Y8.60 +G1 Z-1.00 +G1 X54.30 Y9.20 +G1 X53.70 Y9.50 +G1 X52.80 +G1 X52.20 Y9.20 +G1 X51.60 Y8.60 +G1 X51.30 Y7.70 +G1 Y7.10 +G1 X51.60 Y6.20 +G1 X52.20 Y5.60 +G1 X52.80 Y5.30 +G1 X53.70 +G1 X54.30 Y5.60 +G1 X54.90 Y6.20 +G0 Z1.00 + +G0 X60.60 Y8.60 +G1 Z-1.00 +G1 X60.00 Y9.20 +G1 X59.40 Y9.50 +G1 X58.50 +G1 X57.90 Y9.20 +G1 X57.30 Y8.60 +G1 X57.00 Y7.70 +G1 Y7.10 +G1 X57.30 Y6.20 +G1 X57.90 Y5.60 +G1 X58.50 Y5.30 +G1 X59.40 +G1 X60.00 Y5.60 +G1 X60.60 Y6.20 +G0 Z1.00 + +G0 X63.90 Y9.50 +G1 Z-1.00 +G1 X63.30 Y9.20 +G1 X62.70 Y8.60 +G1 X62.40 Y7.70 +G1 Y7.10 +G1 X62.70 Y6.20 +G1 X63.30 Y5.60 +G1 X63.90 Y5.30 +G1 X64.80 +G1 X65.40 Y5.60 +G1 X66.00 Y6.20 +G1 X66.30 Y7.10 +G1 Y7.70 +G1 X66.00 Y8.60 +G1 X65.40 Y9.20 +G1 X64.80 Y9.50 +G1 X63.90 +G0 Z1.00 + +G0 X71.70 Y11.60 +G1 Z-1.00 +G1 Y5.30 +G0 Z1.00 +G0 Y8.60 +G1 Z-1.00 +G1 X71.10 Y9.20 +G1 X70.50 Y9.50 +G1 X69.60 +G1 X69.00 Y9.20 +G1 X68.40 Y8.60 +G1 X68.10 Y7.70 +G1 Y7.10 +G1 X68.40 Y6.20 +G1 X69.00 Y5.60 +G1 X69.60 Y5.30 +G1 X70.50 +G1 X71.10 Y5.60 +G1 X71.70 Y6.20 +G0 Z1.00 + +G0 X73.80 Y7.70 +G1 Z-1.00 +G1 X77.40 +G1 Y8.30 +G1 X77.10 Y8.90 +G1 X76.80 Y9.20 +G1 X76.20 Y9.50 +G1 X75.30 +G1 X74.70 Y9.20 +G1 X74.10 Y8.60 +G1 X73.80 Y7.70 +G1 Y7.10 +G1 X74.10 Y6.20 +G1 X74.70 Y5.60 +G1 X75.30 Y5.30 +G1 X76.20 +G1 X76.80 Y5.60 +G1 X77.40 Y6.20 +G0 Z1.00 + +G0 Z1.00 + +G0 X85.80 Y11.60 +G1 Z-1.00 +G1 X84.90 Y11.30 +G1 X84.30 Y10.40 +G1 X84.00 Y8.90 +G1 Y8.00 +G1 X84.30 Y6.50 +G1 X84.90 Y5.60 +G1 X85.80 Y5.30 +G1 X86.40 +G1 X87.30 Y5.60 +G1 X87.90 Y6.50 +G1 X88.20 Y8.00 +G1 Y8.90 +G1 X87.90 Y10.40 +G1 X87.30 Y11.30 +G1 X86.40 Y11.60 +G1 X85.80 +G0 Z1.00 + +G0 X90.60 Y5.90 +G1 Z-1.00 +G1 X90.30 Y5.60 +G1 X90.60 Y5.30 +G1 X90.90 Y5.60 +G1 X90.60 Y5.90 +G0 Z1.00 + +G0 X93.30 Y10.10 +G1 Z-1.00 +G1 Y10.40 +G1 X93.60 Y11.00 +G1 X93.90 Y11.30 +G1 X94.50 Y11.60 +G1 X95.70 +G1 X96.30 Y11.30 +G1 X96.60 Y11.00 +G1 X96.90 Y10.40 +G1 Y9.80 +G1 X96.60 Y9.20 +G1 X96.00 Y8.30 +G1 X93.00 Y5.30 +G1 X97.20 +G0 Z1.00 +( Linefeed ) +M5 +M30 diff --git a/hf2gcode/src/demo_hello_world_scripts.ngc b/hf2gcode/src/demo_hello_world_scripts.ngc new file mode 100644 index 0000000..3add832 --- /dev/null +++ b/hf2gcode/src/demo_hello_world_scripts.ngc @@ -0,0 +1,747 @@ +( generated with hf2gcode 0.2.2 ) +G21 ( base unit mm ) +G90 ( absolute distance mode ) +G94 ( Feed Rate Mode: Units per minute Mode ) +G17 ( X-Y plane ) +M3 S10000 +( text="Hello world!|This is hf2gcode 0.2|", font="scripts" ) +( scale=0.500000, feed=200.000000, precision=3 ) +F200.000 +G0 Z1.000 ( Pen-Up at start) +;H = MMKLJJJIKGMFNFPGQIQKPONULYJ[H[GZGX RMRVOXN[L]J^H^G]F\FZHXLVRUWUZV[W[YZZY\V +G0 X3.500 Y25.500 +G1 Z-1.000 ( Pen-Down ) +G1 X2.500 Y26.000 +G1 X2.000 Y27.000 +G1 Y27.500 +G1 X2.500 Y28.500 +G1 X3.500 Y29.000 +G1 X4.000 +G1 X5.000 Y28.500 +G1 X5.500 Y27.500 +G1 Y26.500 +G1 X5.000 Y24.500 +G1 X4.000 Y21.500 +G1 X3.000 Y19.500 +G1 X2.000 Y18.500 +G1 X1.000 +G1 X0.500 Y19.000 +G1 Y20.000 +G0 Z1.000 ( Pen-Up ) +G0 X3.500 Y23.000 +G1 Z-1.000 ( Pen-Down ) +G1 X8.000 Y24.500 +G1 X9.000 Y25.000 +G1 X10.500 Y26.000 +G1 X11.500 Y27.000 +G1 X12.000 Y28.000 +G1 Y28.500 +G1 X11.500 Y29.000 +G1 X11.000 +G1 X10.000 Y28.000 +G1 X9.000 Y26.000 +G1 X8.000 Y23.000 +G1 X7.500 Y20.500 +G1 Y19.000 +G1 X8.000 Y18.500 +G1 X8.500 +G1 X9.500 Y19.000 +G1 X10.000 Y19.500 +G1 X11.000 Y21.000 +G0 Z1.000 ( Pen-Up, EOG ) +;e = OYQXRWSUSSRRQROSNUNXOZQ[S[UZVYXV +G0 X12.500 Y19.500 +G1 Z-1.000 ( Pen-Down ) +G1 X13.500 Y20.000 +G1 X14.000 Y20.500 +G1 X14.500 Y21.500 +G1 Y22.500 +G1 X14.000 Y23.000 +G1 X13.500 +G1 X12.500 Y22.500 +G1 X12.000 Y21.500 +G1 Y20.000 +G1 X12.500 Y19.000 +G1 X13.500 Y18.500 +G1 X14.500 +G1 X15.500 Y19.000 +G1 X16.000 Y19.500 +G1 X17.000 Y21.000 +G0 Z1.000 ( Pen-Up, EOG ) +;l = OVQSTNULVIVGUFSGRIQMPTPZQ[R[TZUYWV + +G1 Z-1.000 ( Pen-Down ) +G1 X18.000 Y22.500 +G1 X19.500 Y25.000 +G1 X20.000 Y26.000 +G1 X20.500 Y27.500 +G1 Y28.500 +G1 X20.000 Y29.000 +G1 X19.000 Y28.500 +G1 X18.500 Y27.500 +G1 X18.000 Y25.500 +G1 X17.500 Y22.000 +G1 Y19.000 +G1 X18.000 Y18.500 +G1 X18.500 +G1 X19.500 Y19.000 +G1 X20.000 Y19.500 +G1 X21.000 Y21.000 +G0 Z1.000 ( Pen-Up, EOG ) +;l = OVQSTNULVIVGUFSGRIQMPTPZQ[R[TZUYWV + +G1 Z-1.000 ( Pen-Down ) +G1 X22.000 Y22.500 +G1 X23.500 Y25.000 +G1 X24.000 Y26.000 +G1 X24.500 Y27.500 +G1 Y28.500 +G1 X24.000 Y29.000 +G1 X23.000 Y28.500 +G1 X22.500 Y27.500 +G1 X22.000 Y25.500 +G1 X21.500 Y22.000 +G1 Y19.000 +G1 X22.000 Y18.500 +G1 X22.500 +G1 X23.500 Y19.000 +G1 X24.000 Y19.500 +G1 X25.000 Y21.000 +G0 Z1.000 ( Pen-Up, EOG ) +;o = RRPRNSMTLVLXMZO[Q[SZTYUWUUTSRRQSQURWTXWXYWZV +G0 X28.000 Y23.000 +G1 Z-1.000 ( Pen-Down ) +G1 X27.000 +G1 X26.000 Y22.500 +G1 X25.500 Y22.000 +G1 X25.000 Y21.000 +G1 Y20.000 +G1 X25.500 Y19.000 +G1 X26.500 Y18.500 +G1 X27.500 +G1 X28.500 Y19.000 +G1 X29.000 Y19.500 +G1 X29.500 Y20.500 +G1 Y21.500 +G1 X29.000 Y22.500 +G1 X28.000 Y23.000 +G1 X27.500 Y22.500 +G1 Y21.500 +G1 X28.000 Y20.500 +G1 X29.000 Y20.000 +G1 X30.500 +G1 X31.500 Y20.500 +G1 X32.000 Y21.000 +G0 Z1.000 ( Pen-Up, EOG ) +; = +G0 Z1.000 ( Pen-Up, EOG ) +;w = LRJTIWIYJ[L[NZPX RRRPXPZQ[S[UZWXXUXR RXRYVZW\W^V +G0 X41.500 Y23.000 +G1 Z-1.000 ( Pen-Down ) +G1 X40.500 Y22.000 +G1 X40.000 Y20.500 +G1 Y19.500 +G1 X40.500 Y18.500 +G1 X41.500 +G1 X42.500 Y19.000 +G1 X43.500 Y20.000 +G0 Z1.000 ( Pen-Up ) +G0 X44.500 Y23.000 +G1 Z-1.000 ( Pen-Down ) +G1 X43.500 Y20.000 +G1 Y19.000 +G1 X44.000 Y18.500 +G1 X45.000 +G1 X46.000 Y19.000 +G1 X47.000 Y20.000 +G1 X47.500 Y21.500 +G1 Y23.000 +G0 Z1.000 ( Pen-Up ) + +G1 Z-1.000 ( Pen-Down ) +G1 X48.000 Y21.000 +G1 X48.500 Y20.500 +G1 X49.500 +G1 X50.500 Y21.000 +G0 Z1.000 ( Pen-Up, EOG ) +;o = RRPRNSMTLVLXMZO[Q[SZTYUWUUTSRRQSQURWTXWXYWZV +G0 X53.500 Y23.000 +G1 Z-1.000 ( Pen-Down ) +G1 X52.500 +G1 X51.500 Y22.500 +G1 X51.000 Y22.000 +G1 X50.500 Y21.000 +G1 Y20.000 +G1 X51.000 Y19.000 +G1 X52.000 Y18.500 +G1 X53.000 +G1 X54.000 Y19.000 +G1 X54.500 Y19.500 +G1 X55.000 Y20.500 +G1 Y21.500 +G1 X54.500 Y22.500 +G1 X53.500 Y23.000 +G1 X53.000 Y22.500 +G1 Y21.500 +G1 X53.500 Y20.500 +G1 X54.500 Y20.000 +G1 X56.000 +G1 X57.000 Y20.500 +G1 X57.500 Y21.000 +G0 Z1.000 ( Pen-Up, EOG ) +;r = MVOSPQPSSSTTTVSYSZT[U[WZXYZV + +G1 Z-1.000 ( Pen-Down ) +G1 X58.500 Y22.500 +G1 X59.000 Y23.500 +G1 Y22.500 +G1 X60.500 +G1 X61.000 Y22.000 +G1 Y21.000 +G1 X60.500 Y19.500 +G1 Y19.000 +G1 X61.000 Y18.500 +G1 X61.500 +G1 X62.500 Y19.000 +G1 X63.000 Y19.500 +G1 X64.000 Y21.000 +G0 Z1.000 ( Pen-Up, EOG ) +;l = OVQSTNULVIVGUFSGRIQMPTPZQ[R[TZUYWV + +G1 Z-1.000 ( Pen-Down ) +G1 X65.000 Y22.500 +G1 X66.500 Y25.000 +G1 X67.000 Y26.000 +G1 X67.500 Y27.500 +G1 Y28.500 +G1 X67.000 Y29.000 +G1 X66.000 Y28.500 +G1 X65.500 Y27.500 +G1 X65.000 Y25.500 +G1 X64.500 Y22.000 +G1 Y19.000 +G1 X65.000 Y18.500 +G1 X65.500 +G1 X66.500 Y19.000 +G1 X67.000 Y19.500 +G1 X68.000 Y21.000 +G0 Z1.000 ( Pen-Up, EOG ) +;d = UUTSRRPRNSMTLVLXMZO[Q[SZTXZF RVRUWUZV[W[YZZY\V +G0 X72.500 Y21.500 +G1 Z-1.000 ( Pen-Down ) +G1 X72.000 Y22.500 +G1 X71.000 Y23.000 +G1 X70.000 +G1 X69.000 Y22.500 +G1 X68.500 Y22.000 +G1 X68.000 Y21.000 +G1 Y20.000 +G1 X68.500 Y19.000 +G1 X69.500 Y18.500 +G1 X70.500 +G1 X71.500 Y19.000 +G1 X72.000 Y20.000 +G1 X75.000 Y29.000 +G0 Z1.000 ( Pen-Up ) +G0 X73.000 Y23.000 +G1 Z-1.000 ( Pen-Down ) +G1 X72.500 Y20.500 +G1 Y19.000 +G1 X73.000 Y18.500 +G1 X73.500 +G1 X74.500 Y19.000 +G1 X75.000 Y19.500 +G1 X76.000 Y21.000 +G0 Z1.000 ( Pen-Up, EOG ) +;! = UFTGRS RUGRS RUFVGRS RPYOZP[QZPY +G0 X80.000 Y29.000 +G1 Z-1.000 ( Pen-Down ) +G1 X79.500 Y28.500 +G1 X78.500 Y22.500 +G0 Z1.000 ( Pen-Up ) +G0 X80.000 Y28.500 +G1 Z-1.000 ( Pen-Down ) +G1 X78.500 Y22.500 +G0 Z1.000 ( Pen-Up ) +G0 X80.000 Y29.000 +G1 Z-1.000 ( Pen-Down ) +G1 X80.500 Y28.500 +G1 X78.500 Y22.500 +G0 Z1.000 ( Pen-Up ) +G0 X77.500 Y19.500 +G1 Z-1.000 ( Pen-Down ) +G1 X77.000 Y19.000 +G1 X77.500 Y18.500 +G1 X78.000 Y19.000 +G1 X77.500 Y19.500 +G0 Z1.000 ( Pen-Up, EOG ) +( Linefeed ) +;T = RLPLNKMINGQFTFXG[G]F RXGVNTTRXPZN[L[JZIXIVJULUNV +G0 X5.000 Y11.000 +G1 Z-1.000 ( Pen-Down ) +G1 X4.000 +G1 X3.000 Y11.500 +G1 X2.500 Y12.500 +G1 X3.000 Y13.500 +G1 X4.500 Y14.000 +G1 X6.000 +G1 X8.000 Y13.500 +G1 X9.500 +G1 X10.500 Y14.000 +G0 Z1.000 ( Pen-Up ) +G0 X8.000 Y13.500 +G1 Z-1.000 ( Pen-Down ) +G1 X7.000 Y10.000 +G1 X6.000 Y7.000 +G1 X5.000 Y5.000 +G1 X4.000 Y4.000 +G1 X3.000 Y3.500 +G1 X2.000 +G1 X1.000 Y4.000 +G1 X0.500 Y5.000 +G1 Y6.000 +G1 X1.000 Y6.500 +G1 X2.000 +G1 X3.000 Y6.000 +G0 Z1.000 ( Pen-Up, EOG ) +;h = MVOSRNSLTITGSFQGPIOMNSM[ RM[NXOVQSSRURVSVUUXUZV[W[YZZY\V +G0 X9.500 +G1 Z-1.000 ( Pen-Down ) +G1 X10.500 Y7.500 +G1 X12.000 Y10.000 +G1 X12.500 Y11.000 +G1 X13.000 Y12.500 +G1 Y13.500 +G1 X12.500 Y14.000 +G1 X11.500 Y13.500 +G1 X11.000 Y12.500 +G1 X10.500 Y10.500 +G1 X10.000 Y7.500 +G1 X9.500 Y3.500 +G0 Z1.000 ( Pen-Up ) + +G1 Z-1.000 ( Pen-Down ) +G1 X10.000 Y5.000 +G1 X10.500 Y6.000 +G1 X11.500 Y7.500 +G1 X12.500 Y8.000 +G1 X13.500 +G1 X14.000 Y7.500 +G1 Y6.500 +G1 X13.500 Y5.000 +G1 Y4.000 +G1 X14.000 Y3.500 +G1 X14.500 +G1 X15.500 Y4.000 +G1 X16.000 Y4.500 +G1 X17.000 Y6.000 +G0 Z1.000 ( Pen-Up, EOG ) +;i = SMSNTNTMSM RPVRRPXPZQ[R[TZUYWV +G0 X18.500 Y10.500 +G1 Z-1.000 ( Pen-Down ) +G1 Y10.000 +G1 X19.000 +G1 Y10.500 +G1 X18.500 +G0 Z1.000 ( Pen-Up ) +G0 X17.000 Y6.000 +G1 Z-1.000 ( Pen-Down ) +G1 X18.000 Y8.000 +G1 X17.000 Y5.000 +G1 Y4.000 +G1 X17.500 Y3.500 +G1 X18.000 +G1 X19.000 Y4.000 +G1 X19.500 Y4.500 +G1 X20.500 Y6.000 +G0 Z1.000 ( Pen-Up, EOG ) +;s = NVPSQQQSSVTXTZR[ RNZP[T[VZWYYV + +G1 Z-1.000 ( Pen-Down ) +G1 X21.500 Y7.500 +G1 X22.000 Y8.500 +G1 Y7.500 +G1 X23.000 Y6.000 +G1 X23.500 Y5.000 +G1 Y4.000 +G1 X22.500 Y3.500 +G0 Z1.000 ( Pen-Up ) +G0 X20.500 Y4.000 +G1 Z-1.000 ( Pen-Down ) +G1 X21.500 Y3.500 +G1 X23.500 +G1 X24.500 Y4.000 +G1 X25.000 Y4.500 +G1 X26.000 Y6.000 +G0 Z1.000 ( Pen-Up, EOG ) +; = +G0 Z1.000 ( Pen-Up, EOG ) +;i = SMSNTNTMSM RPVRRPXPZQ[R[TZUYWV +G0 X35.500 Y10.500 +G1 Z-1.000 ( Pen-Down ) +G1 Y10.000 +G1 X36.000 +G1 Y10.500 +G1 X35.500 +G0 Z1.000 ( Pen-Up ) +G0 X34.000 Y6.000 +G1 Z-1.000 ( Pen-Down ) +G1 X35.000 Y8.000 +G1 X34.000 Y5.000 +G1 Y4.000 +G1 X34.500 Y3.500 +G1 X35.000 +G1 X36.000 Y4.000 +G1 X36.500 Y4.500 +G1 X37.500 Y6.000 +G0 Z1.000 ( Pen-Up, EOG ) +;s = NVPSQQQSSVTXTZR[ RNZP[T[VZWYYV + +G1 Z-1.000 ( Pen-Down ) +G1 X38.500 Y7.500 +G1 X39.000 Y8.500 +G1 Y7.500 +G1 X40.000 Y6.000 +G1 X40.500 Y5.000 +G1 Y4.000 +G1 X39.500 Y3.500 +G0 Z1.000 ( Pen-Up ) +G0 X37.500 Y4.000 +G1 Z-1.000 ( Pen-Down ) +G1 X38.500 Y3.500 +G1 X40.500 +G1 X41.500 Y4.000 +G1 X42.000 Y4.500 +G1 X43.000 Y6.000 +G0 Z1.000 ( Pen-Up, EOG ) +; = +G0 Z1.000 ( Pen-Up, EOG ) +;h = MVOSRNSLTITGSFQGPIOMNSM[ RM[NXOVQSSRURVSVUUXUZV[W[YZZY\V +G0 X51.000 +G1 Z-1.000 ( Pen-Down ) +G1 X52.000 Y7.500 +G1 X53.500 Y10.000 +G1 X54.000 Y11.000 +G1 X54.500 Y12.500 +G1 Y13.500 +G1 X54.000 Y14.000 +G1 X53.000 Y13.500 +G1 X52.500 Y12.500 +G1 X52.000 Y10.500 +G1 X51.500 Y7.500 +G1 X51.000 Y3.500 +G0 Z1.000 ( Pen-Up ) + +G1 Z-1.000 ( Pen-Down ) +G1 X51.500 Y5.000 +G1 X52.000 Y6.000 +G1 X53.000 Y7.500 +G1 X54.000 Y8.000 +G1 X55.000 +G1 X55.500 Y7.500 +G1 Y6.500 +G1 X55.000 Y5.000 +G1 Y4.000 +G1 X55.500 Y3.500 +G1 X56.000 +G1 X57.000 Y4.000 +G1 X57.500 Y4.500 +G1 X58.500 Y6.000 +G0 Z1.000 ( Pen-Up, EOG ) +;f = OVSQUNVLWIWGVFTGSIQQNZKaJdJfKgMfNcOZP[R[TZUYWV + +G1 Z-1.000 ( Pen-Down ) +G1 X60.500 Y8.500 +G1 X61.500 Y10.000 +G1 X62.000 Y11.000 +G1 X62.500 Y12.500 +G1 Y13.500 +G1 X62.000 Y14.000 +G1 X61.000 Y13.500 +G1 X60.500 Y12.500 +G1 X59.500 Y8.500 +G1 X58.000 Y4.000 +G1 X56.500 Y0.500 +G1 X56.000 Y-1.000 +G1 Y-2.000 +G1 X56.500 Y-2.500 +G1 X57.500 Y-2.000 +G1 X58.000 Y-0.500 +G1 X58.500 Y4.000 +G1 X59.000 Y3.500 +G1 X60.000 +G1 X61.000 Y4.000 +G1 X61.500 Y4.500 +G1 X62.500 Y6.000 +G0 Z1.000 ( Pen-Up, EOG ) +;2 = OJPKOLNKNJOHPGSFVFYGZIZKYMWOTQPSMUKWI[ RVFXGYIYKXMVOPS RJYKXMXRZUZWYXW RMXR[U[WZXW +G0 X66.000 Y12.000 +G1 Z-1.000 ( Pen-Down ) +G1 X66.500 Y11.500 +G1 X66.000 Y11.000 +G1 X65.500 Y11.500 +G1 Y12.000 +G1 X66.000 Y13.000 +G1 X66.500 Y13.500 +G1 X68.000 Y14.000 +G1 X69.500 +G1 X71.000 Y13.500 +G1 X71.500 Y12.500 +G1 Y11.500 +G1 X71.000 Y10.500 +G1 X70.000 Y9.500 +G1 X68.500 Y8.500 +G1 X66.500 Y7.500 +G1 X65.000 Y6.500 +G1 X64.000 Y5.500 +G1 X63.000 Y3.500 +G0 Z1.000 ( Pen-Up ) +G0 X69.500 Y14.000 +G1 Z-1.000 ( Pen-Down ) +G1 X70.500 Y13.500 +G1 X71.000 Y12.500 +G1 Y11.500 +G1 X70.500 Y10.500 +G1 X69.500 Y9.500 +G1 X66.500 Y7.500 +G0 Z1.000 ( Pen-Up ) +G0 X63.500 Y4.500 +G1 Z-1.000 ( Pen-Down ) +G1 X64.000 Y5.000 +G1 X65.000 +G1 X67.500 Y4.000 +G1 X69.000 +G1 X70.000 Y4.500 +G1 X70.500 Y5.500 +G0 Z1.000 ( Pen-Up ) +G0 X65.000 Y5.000 +G1 Z-1.000 ( Pen-Down ) +G1 X67.500 Y3.500 +G1 X69.000 +G1 X70.000 Y4.000 +G1 X70.500 Y5.500 +G0 Z1.000 ( Pen-Up, EOG ) +;g = UUTSRRPRNSMTLVLXMZO[Q[SZTY RVRTYPdOfMgLfLdMaP^S\U[XY[V +G0 X77.500 Y6.500 +G1 Z-1.000 ( Pen-Down ) +G1 X77.000 Y7.500 +G1 X76.000 Y8.000 +G1 X75.000 +G1 X74.000 Y7.500 +G1 X73.500 Y7.000 +G1 X73.000 Y6.000 +G1 Y5.000 +G1 X73.500 Y4.000 +G1 X74.500 Y3.500 +G1 X75.500 +G1 X76.500 Y4.000 +G1 X77.000 Y4.500 +G0 Z1.000 ( Pen-Up ) +G0 X78.000 Y8.000 +G1 Z-1.000 ( Pen-Down ) +G1 X77.000 Y4.500 +G1 X75.000 Y-1.000 +G1 X74.500 Y-2.000 +G1 X73.500 Y-2.500 +G1 X73.000 Y-2.000 +G1 Y-1.000 +G1 X73.500 Y0.500 +G1 X75.000 Y2.000 +G1 X76.500 Y3.000 +G1 X77.500 Y3.500 +G1 X79.000 Y4.500 +G1 X80.500 Y6.000 +G0 Z1.000 ( Pen-Up, EOG ) +;c = TTTSSRQROSNTMVMXNZP[S[VYXV +G0 X84.000 Y7.000 +G1 Z-1.000 ( Pen-Down ) +G1 Y7.500 +G1 X83.500 Y8.000 +G1 X82.500 +G1 X81.500 Y7.500 +G1 X81.000 Y7.000 +G1 X80.500 Y6.000 +G1 Y5.000 +G1 X81.000 Y4.000 +G1 X82.000 Y3.500 +G1 X83.500 +G1 X85.000 Y4.500 +G1 X86.000 Y6.000 +G0 Z1.000 ( Pen-Up, EOG ) +;o = RRPRNSMTLVLXMZO[Q[SZTYUWUUTSRRQSQURWTXWXYWZV +G0 X89.000 Y8.000 +G1 Z-1.000 ( Pen-Down ) +G1 X88.000 +G1 X87.000 Y7.500 +G1 X86.500 Y7.000 +G1 X86.000 Y6.000 +G1 Y5.000 +G1 X86.500 Y4.000 +G1 X87.500 Y3.500 +G1 X88.500 +G1 X89.500 Y4.000 +G1 X90.000 Y4.500 +G1 X90.500 Y5.500 +G1 Y6.500 +G1 X90.000 Y7.500 +G1 X89.000 Y8.000 +G1 X88.500 Y7.500 +G1 Y6.500 +G1 X89.000 Y5.500 +G1 X90.000 Y5.000 +G1 X91.500 +G1 X92.500 Y5.500 +G1 X93.000 Y6.000 +G0 Z1.000 ( Pen-Up, EOG ) +;d = UUTSRRPRNSMTLVLXMZO[Q[SZTXZF RVRUWUZV[W[YZZY\V +G0 X97.500 Y6.500 +G1 Z-1.000 ( Pen-Down ) +G1 X97.000 Y7.500 +G1 X96.000 Y8.000 +G1 X95.000 +G1 X94.000 Y7.500 +G1 X93.500 Y7.000 +G1 X93.000 Y6.000 +G1 Y5.000 +G1 X93.500 Y4.000 +G1 X94.500 Y3.500 +G1 X95.500 +G1 X96.500 Y4.000 +G1 X97.000 Y5.000 +G1 X100.000 Y14.000 +G0 Z1.000 ( Pen-Up ) +G0 X98.000 Y8.000 +G1 Z-1.000 ( Pen-Down ) +G1 X97.500 Y5.500 +G1 Y4.000 +G1 X98.000 Y3.500 +G1 X98.500 +G1 X99.500 Y4.000 +G1 X100.000 Y4.500 +G1 X101.000 Y6.000 +G0 Z1.000 ( Pen-Up, EOG ) +;e = OYQXRWSUSSRRQROSNUNXOZQ[S[UZVYXV +G0 X101.500 Y4.500 +G1 Z-1.000 ( Pen-Down ) +G1 X102.500 Y5.000 +G1 X103.000 Y5.500 +G1 X103.500 Y6.500 +G1 Y7.500 +G1 X103.000 Y8.000 +G1 X102.500 +G1 X101.500 Y7.500 +G1 X101.000 Y6.500 +G1 Y5.000 +G1 X101.500 Y4.000 +G1 X102.500 Y3.500 +G1 X103.500 +G1 X104.500 Y4.000 +G1 X105.000 Y4.500 +G1 X106.000 Y6.000 +G0 Z1.000 ( Pen-Up, EOG ) +; = +G0 Z1.000 ( Pen-Up, EOG ) +;0 = TFQGOIMLLOKSKVLYMZO[Q[TZVXXUYRZNZKYHXGVFTF RTFRGPINLMOLSLVMYO[ RQ[SZUXWUXRYNYKXHVF +G0 X120.000 Y14.000 +G1 Z-1.000 ( Pen-Down ) +G1 X118.500 Y13.500 +G1 X117.500 Y12.500 +G1 X116.500 Y11.000 +G1 X116.000 Y9.500 +G1 X115.500 Y7.500 +G1 Y6.000 +G1 X116.000 Y4.500 +G1 X116.500 Y4.000 +G1 X117.500 Y3.500 +G1 X118.500 +G1 X120.000 Y4.000 +G1 X121.000 Y5.000 +G1 X122.000 Y6.500 +G1 X122.500 Y8.000 +G1 X123.000 Y10.000 +G1 Y11.500 +G1 X122.500 Y13.000 +G1 X122.000 Y13.500 +G1 X121.000 Y14.000 +G1 X120.000 +G0 Z1.000 ( Pen-Up ) + +G1 Z-1.000 ( Pen-Down ) +G1 X119.000 Y13.500 +G1 X118.000 Y12.500 +G1 X117.000 Y11.000 +G1 X116.500 Y9.500 +G1 X116.000 Y7.500 +G1 Y6.000 +G1 X116.500 Y4.500 +G1 X117.500 Y3.500 +G0 Z1.000 ( Pen-Up ) +G0 X118.500 +G1 Z-1.000 ( Pen-Down ) +G1 X119.500 Y4.000 +G1 X120.500 Y5.000 +G1 X121.500 Y6.500 +G1 X122.000 Y8.000 +G1 X122.500 Y10.000 +G1 Y11.500 +G1 X122.000 Y13.000 +G1 X121.000 Y14.000 +G0 Z1.000 ( Pen-Up, EOG ) +;. = RYQZR[SZRY +G0 X127.000 Y4.500 +G1 Z-1.000 ( Pen-Down ) +G1 X126.500 Y4.000 +G1 X127.000 Y3.500 +G1 X127.500 Y4.000 +G1 X127.000 Y4.500 +G0 Z1.000 ( Pen-Up, EOG ) +;2 = OJPKOLNKNJOHPGSFVFYGZIZKYMWOTQPSMUKWI[ RVFXGYIYKXMVOPS RJYKXMXRZUZWYXW RMXR[U[WZXW +G0 X133.000 Y12.000 +G1 Z-1.000 ( Pen-Down ) +G1 X133.500 Y11.500 +G1 X133.000 Y11.000 +G1 X132.500 Y11.500 +G1 Y12.000 +G1 X133.000 Y13.000 +G1 X133.500 Y13.500 +G1 X135.000 Y14.000 +G1 X136.500 +G1 X138.000 Y13.500 +G1 X138.500 Y12.500 +G1 Y11.500 +G1 X138.000 Y10.500 +G1 X137.000 Y9.500 +G1 X135.500 Y8.500 +G1 X133.500 Y7.500 +G1 X132.000 Y6.500 +G1 X131.000 Y5.500 +G1 X130.000 Y3.500 +G0 Z1.000 ( Pen-Up ) +G0 X136.500 Y14.000 +G1 Z-1.000 ( Pen-Down ) +G1 X137.500 Y13.500 +G1 X138.000 Y12.500 +G1 Y11.500 +G1 X137.500 Y10.500 +G1 X136.500 Y9.500 +G1 X133.500 Y7.500 +G0 Z1.000 ( Pen-Up ) +G0 X130.500 Y4.500 +G1 Z-1.000 ( Pen-Down ) +G1 X131.000 Y5.000 +G1 X132.000 +G1 X134.500 Y4.000 +G1 X136.000 +G1 X137.000 Y4.500 +G1 X137.500 Y5.500 +G0 Z1.000 ( Pen-Up ) +G0 X132.000 Y5.000 +G1 Z-1.000 ( Pen-Down ) +G1 X134.500 Y3.500 +G1 X136.000 +G1 X137.000 Y4.000 +G1 X137.500 Y5.500 +G0 Z1.000 ( Pen-Up, EOG ) +( Linefeed ) +M5 (stop the spindle) +M30 (Program stop, rewind to beginning of program) diff --git a/hf2gcode/src/do_stats.m b/hf2gcode/src/do_stats.m new file mode 100644 index 0000000..27d56fc --- /dev/null +++ b/hf2gcode/src/do_stats.m @@ -0,0 +1,52 @@ +## temporäre Datei, 20.5.2013 Andy +## Statistiken sammeln um funtkion von marginleft+right zu verstehen. +## AuĂźerdem Grundlage fĂĽr eine kompakte binäre Representation +## vielleicht kann man mehrere Koordinaten in ein Byte packen? +## +/- 16 (4Bit sind wahrscheinlich zu wenig) + + +all_hf={"astrology.jhf", + "cursive.jhf", + "cyrilc_1.jhf", + "cyrillic.jhf", + "futural.jhf", + "futuram.jhf", + "gothgbt.jhf", + "gothgrt.jhf", + "gothiceng.jhf", + "gothicger.jhf", + "gothicita.jhf", + "gothitt.jhf", + "greekc.jhf", + "greek.jhf", + "greeks.jhf", + "japanese.jhf", + "markers.jhf", + "mathlow.jhf", + "mathupp.jhf", + "meteorology.jhf", + "music.jhf", + "rowmand.jhf", + "rowmans.jhf", + "rowmant.jhf", + "scriptc.jhf", + "scripts.jhf", + "symbolic.jhf", + "timesg.jhf", + "timesib.jhf", + "timesi.jhf", + "timesrb.jhf", + "timesr.jhf"}; + +for k=1:length(all_hf) + fn=strcat("../hershey_fonts/fixed/",all_hf{k}); + hf = load_hf (fn); + + ## show min && max in x and y + tmp_x = [hf.x]; + tmp_y = [hf.y]; + ind = tmp_x == -50; + tmp_x(ind) = []; + tmp_y(ind) = []; + disp([min(tmp_x) max(tmp_x) min(tmp_y) max(tmp_y)]) +endfor diff --git a/hf2gcode/src/gen_C_code.m b/hf2gcode/src/gen_C_code.m new file mode 100644 index 0000000..d3babaf --- /dev/null +++ b/hf2gcode/src/gen_C_code.m @@ -0,0 +1,53 @@ +## Copyright (C) 2014 Andreas Weber +## +## This program is free software: you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation, either version 3 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program. If not, see . + +## -*- texinfo -*- +## @deftypefn {Function File} {} gen_C_code (@var{fn}, @var{fn_out}) +## Generate a C var declaration for the hershey font @var{fn}. +## The generated code is very similiar to the original hershey font. +## Differences: no glyph number, there is no length at the beginning. The end is marked with \0 +## @seealso{load_hf} +## @end deftypefn + +function gen_C_code(fn, fn_out) + [DIR, NAME] = fileparts (fn); + + hf = load_hf (fn); + [fid, MSG] = fopen(fn_out,"w"); + if (fid != -1) + fprintf(fid, "/* This file was generated with gen_C_code.m from %s */\n\n",fn); + fprintf(fid, "/* number of glyphs in font */\nunsigned char %s_cnt = %d;\n\n", NAME, length(hf)); + fprintf(fid, "/* Format: margin left, margin right, X, Y ... \\0\n< R> is pen-up, see original hershey font */\n"); + fprintf(fid, "const char %s [] PROGMEM=",NAME); + for i=1:length(hf); + glyph=hf(i); + l=length(glyph.x); + s=char([glyph.leftmargin glyph.x;glyph.rightmargin glyph.y](:)'+'R'); + ## escape some chars + s = strrep(s, "\\", "\\\\"); + s = strrep(s, "\"", "\\\""); + if(i>1) + fprintf(fid, " "); + endif + fprintf(fid,"\"%s\\0\"\\\n",s) + endfor + fprintf(fid,";\n") + fprintf(fid, "/* End of file %s */\n",fn_out); + fclose(fid); + else + error("couldn't create file") + disp(msg) + endif +endfunction diff --git a/hf2gcode/src/hf2gcode b/hf2gcode/src/hf2gcode new file mode 100644 index 0000000000000000000000000000000000000000..9c8693c41213dc47ffbd414e3c603dd19b5df9a0 GIT binary patch literal 186752 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 $uCx!NUqnB7Sexa? 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�fqqJ91>F@!l^RaTOGpkmQ%t^5aFbptipha# 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� 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 WKT@ycnSH79C%VE+L>VJ6v literal 0 HcmV?d00001 diff --git a/hf2gcode/src/hf2gcode.c b/hf2gcode/src/hf2gcode.c new file mode 100644 index 0000000..c9e5103 --- /dev/null +++ b/hf2gcode/src/hf2gcode.c @@ -0,0 +1,374 @@ +/* + Copyright(C) 2014 Andreas Weber + + This file is part of hf2gcode. + + hf2gcode is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + hf2gcode is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with hf2gcode. If not, see . +*/ + +#include +#include +#include +#include +#include "libhf2gcode.h" + +extern const char *argp_program_version; + +const char *argp_program_bug_address = + ""; + +static char doc[] = + "hf2gcode, a hershey font to g-code tracer"; + +/* A description of the arguments we accept. */ +static char args_doc[] = "[TEXT]"; + +/* The options we understand. */ +static struct argp_option options[] = +{ + {"font", 'h', "FONT", 0, "Use FONT instead of default font \"rowmans\"", 0}, + {"output", 'o', "FILE", 0, "Output to FILE instead of stdout", 0 }, + {"scale", 's', "SCALE", 0, "Base unit/hershey font unit (default 0.5)", 0 }, + {"input", 'i', "FILE", 0, "Read text from FILE instead of stdin", 0 }, + {"append", 'a', 0, 0, "Append to output file instead of overwriting", 0}, + {0, 0, 0, 0, "G-code base settings:", 1 }, + {"feed", 'f', "FEED", 0, "Feed rate (default 200)", 1 }, + {"xoffset", 'x', "X0", 0, "X-Axis offset (default 0)", 1 }, + {"yoffset", 'y', "Y0", 0, "Y-Axis offset (default 0)", 1 }, + {"z-up", 1000, "ZUp", 0, "PenUp Z value (default 1)", 1 }, + {"z-down", 1001, "ZDown", 0, "PenDown Z value (default -1)", 1 }, + {0, 0, 0, 0, "Multiline settings:", 2 }, + {"interline", 'n', "YINC", 0, "Interline spacing in Y direction for multiple lines (default 15)", 2 }, + {"align-left", 'l', 0, 0, "Left align multiple lines (default)", 2}, + {"align-right", 'r', 0, 0, "Right align multiple lines", 2}, + {"align-center", 'c', 0, 0, "Center multiple lines", 2}, + {0, 0, 0, 0, "Miscellaneous:", 3 }, + {"min-gcode", 'm', 0, 0, "Generate minimalistic g-code, suppress comments", 3}, + {"precision", 'p', "PREC", 0, "Precision for G-Code generation (default 3)", 3}, + {"inch", 'u', 0, 0, "Use United States customary units (inch instead of mm) as base unit", 3}, + {"verbose", 'v', 0, 0, "Increase verbosity", 3}, + {"no-pre", 1002, 0, 0, "Don't include preamble", 3}, + {"no-post", 1003, 0, 0, "Don't include postamble", 3}, + { 0,0,0,0,0,0 } +}; + +enum eAlign {left=0, right, center}; +enum eBaseUnit {mm=0, inch}; +/* Used by main to communicate with parse_opt. */ +struct arguments +{ + char *text; + char *font; + char *input_file; + char *output_file; + double scale; + double feed; + double xoffset; + double yoffset; + double z_up; + double z_down; + double y_interline; + enum eAlign align; + enum eBaseUnit base; + int min_gcode, verbose, append, no_pre, no_post; + int prec; + int read_stream; +}; + +const char* get_base_unit(struct arguments arg) +{ + return (arg.base == mm)? "mm":"inch"; +} + +size_t read_text(char **t, FILE *stream) +{ +#define BUFSIZE 100 + size_t s=0; + *t=malloc(BUFSIZE); + if(!*t) + { + perror("ERROR in read_text, malloc failed: "); + exit(EXIT_FAILURE); + } + size_t cnt; + size_t sum=0; + do + { + cnt = fread(*t+s, 1, BUFSIZE, stream); + sum+=cnt; + if(cnt == BUFSIZE) + { + /*BUFSIZE too small to read all chars*/ + s+=BUFSIZE; + *t=realloc(*t, s+BUFSIZE); + if(!*t) + { + perror("ERROR in read_text, realloc failed: "); + exit(EXIT_FAILURE); + } + } + } + while(cnt == BUFSIZE); + *(*t+sum)=0; + return sum; +} + +/* Parse a single option. */ +static error_t +parse_opt (int key, char *arg, struct argp_state *state) +{ + /* Get the input argument from argp_parse, which we + know is a pointer to our arguments structure. */ + struct arguments *arguments = state->input; + + errno = 0; + char *endptr=NULL; + int num_parse=0; + switch (key) + { + case 'h': + arguments->font = arg; + break; + case 'i': + arguments->input_file = arg; + break; + case 'o': + arguments->output_file = arg; + break; + case 's': + arguments->scale = strtod(arg, &endptr); + num_parse=1; + break; + case 'f': + arguments->feed = strtod(arg, &endptr); + num_parse=1; + break; + case 'x': + arguments->xoffset = strtod(arg, &endptr); + num_parse=1; + break; + case 'y': + arguments->yoffset = strtod(arg, &endptr); + num_parse=1; + break; + case 1000: + arguments->z_up = strtod(arg, &endptr); + num_parse=1; + break; + case 1001: + arguments->z_down = strtod(arg, &endptr); + num_parse=1; + break; + case 'n': + arguments->y_interline = strtod(arg, &endptr); + num_parse=1; + break; + case 'l': + arguments->align = left; + break; + case 'r': + arguments->align = right; + break; + case 'c': + arguments->align = center; + break; + case 'm': + arguments->min_gcode = 1; + break; + case 'p': + arguments->prec=strtol(arg, &endptr, 10); + num_parse=1; + break; + case 'u': + arguments->base = inch; + break; + case 'v': + arguments->verbose = 1; + break; + case 'a': + arguments->append = 1; + arguments->no_pre = 1; + break; + case 1002: + arguments->no_pre = 1; + break; + case 1003: + arguments->no_post = 1; + break; + + case ARGP_KEY_ARG: + if (state->arg_num >= 1) + /* Too many arguments. */ + argp_usage (state); + arguments->text = arg; + break; + case ARGP_KEY_END: + if (state->arg_num < 1) + { + /* No text, use stdin to read text. */ + arguments->read_stream = 1; + } + break; + + default: + return ARGP_ERR_UNKNOWN; + } + + if(errno) + { + perror("ERROR in parse_opt"); + exit(EXIT_FAILURE); + } + if (num_parse) + { + if(endptr == arg) + { + fprintf(stderr, "ERROR in parse_opt: No digits found.\n"); + exit(EXIT_FAILURE); + } + if (*endptr != '\0') + printf("( WARNING in parse_opt: Further characters after number: %s )\n", endptr); + } + return 0; +} + +/* Our argp parser. */ +static struct argp argp = { options, parse_opt, args_doc, doc, 0, 0, 0}; + +int +main (int argc, char **argv) +{ + struct arguments arguments; + + /* Default values. */ + arguments.font = "rowmans"; + arguments.input_file = "-"; + arguments.output_file = "-"; + arguments.scale = 0.5; + arguments.feed = 200; + arguments.xoffset = 0.0; + arguments.yoffset = 0.0; + arguments.z_up = 1.0; + arguments.z_down = -1.0; + arguments.y_interline = 15; + arguments.align = left; + arguments.base = mm; + arguments.min_gcode = 0; + arguments.verbose = 0; + arguments.no_pre = 0; + arguments.no_post = 0; + arguments.append = 0; + arguments.prec = 3; + arguments.read_stream = 0; + + /* Parse our arguments; every option seen by parse_opt will + be reflected in arguments. */ + argp_parse (&argp, argc, argv, 0, 0, &arguments); + + if(arguments.read_stream) + { + FILE *f_in=NULL; + int cnt; + if (!strcmp (arguments.input_file, "-")) + f_in = stdin; + else + f_in = fopen(arguments.input_file, "r"); + if (!f_in) + perror("main.c: Error opening input file:"); + else + cnt=read_text(&arguments.text, f_in); + if (arguments.verbose) + printf("( INFO:read %d bytes from %s)\n", cnt, arguments.input_file); + } + + if (arguments.verbose) + { + if(!arguments.read_stream) + printf("( Text : %s )\n", arguments.text); + printf("( Used hershey font : %s )\n", arguments.font); + printf("( G-code Output : %s )\n", arguments.output_file); + printf("( Base Unit : %s )\n", get_base_unit(arguments)); + printf("( Scale : %f )\n", arguments.scale); + printf("( Feed rate : %f %s/min )\n", arguments.feed, get_base_unit(arguments)); + printf("( X-Axis offset : %f %s )\n", arguments.xoffset, get_base_unit(arguments)); + printf("( Y-Axis offset : %f %s )\n", arguments.yoffset, get_base_unit(arguments)); + printf("( Pen-Up Z value : %f %s )\n", arguments.z_up, get_base_unit(arguments)); + printf("( Pen-Down Z value : %f %s )\n", arguments.z_down, get_base_unit(arguments)); + printf("( Y interline : %f %s )\n", arguments.y_interline, get_base_unit(arguments)); + printf("( Multiline align : %s )\n", (arguments.align == left)? "left": ((arguments.align == right)? "right" : "center")); + printf("( Minimalistic gcode : %s )\n", (arguments.min_gcode)? "yes": "no"); + printf("( Precision : %d )\n", arguments.prec); + } + + /* check not implemented params */ + /* TODO: implement the functions... */ + if (arguments.align == right) + { + fprintf(stderr ,"ERROR: I'm sorry but align-right isn't implemented yet. Please use align-left instead\n"); + exit(EXIT_FAILURE); + } + else if (arguments.align == center) + { + fprintf(stderr ,"ERROR: I'm sorry but align-center isn't implemented yet. Please use align-left instead\n"); + exit(EXIT_FAILURE); + } + + int init_ret = init_get_gcode_line (arguments.font, + arguments.text, + arguments.xoffset, + arguments.yoffset, + arguments.z_up, + arguments.z_down, + arguments.y_interline, + arguments.scale, + arguments.feed, + arguments.prec, + !arguments.min_gcode, + 'l', + arguments.base == inch, + arguments.no_pre, + arguments.no_post); + + if (!init_ret) /* init successful */ + { + FILE *fn_gout=NULL; + if (!strcmp (arguments.output_file, "-")) + fn_gout = stdout; + else + fn_gout = fopen(arguments.output_file, (arguments.append)? "a" : "w"); + if (!fn_gout) + perror("main.c: Creation of output file failed:"); + else + { + char buf[1000]; + int gl; + while((gl = get_gcode_line (buf, 1000))!=-1) + { + fprintf(fn_gout, "%s\n",buf); + } + if (arguments.verbose) + printf("( FINISHED )\n"); + fclose(fn_gout); + } + } + else /*init failed*/ + { + fprintf(stderr, "ERROR: Initialisation of g-code generator failed. Your text may contain some characters which are not available in the selected font.\n"); + fprintf(stderr, "INFO: available fonts: rowmans, cursive, futural, futuram, gothgbt, gothgrt, gothiceng, gothicger, gothicita, gothitt, greekc, greek, greeks, rowmand, rowmant, scriptc, scripts, symbolic, timesg, timesib, timesi, timesrb, timesr\n"); + exit(EXIT_FAILURE); + } + if (arguments.read_stream) + free(arguments.text); + exit (0); +} diff --git a/hf2gcode/src/libhf2gcode.c b/hf2gcode/src/libhf2gcode.c new file mode 100644 index 0000000..f916f52 --- /dev/null +++ b/hf2gcode/src/libhf2gcode.c @@ -0,0 +1,475 @@ +/* + Copyright(C) 2014 Andreas Weber + + This file is part of hf2gcode. + + hf2gcode is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + hf2gcode is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with hf2gcode. If not, see . +*/ + +#ifndef AVR + #define PROGMEM +#else + #include +#endif + +#include "../hershey_fonts/gen_c_src/rowmans.h" +#include "../hershey_fonts/gen_c_src/scripts.h" + +#ifndef AVR + #include "../hershey_fonts/gen_c_src/cursive.h" + #include "../hershey_fonts/gen_c_src/futural.h" + #include "../hershey_fonts/gen_c_src/futuram.h" + #include "../hershey_fonts/gen_c_src/gothgbt.h" + #include "../hershey_fonts/gen_c_src/gothgrt.h" + #include "../hershey_fonts/gen_c_src/gothiceng.h" + #include "../hershey_fonts/gen_c_src/gothicger.h" + #include "../hershey_fonts/gen_c_src/gothicita.h" + #include "../hershey_fonts/gen_c_src/gothitt.h" + #include "../hershey_fonts/gen_c_src/greekc.h" + #include "../hershey_fonts/gen_c_src/greek.h" + #include "../hershey_fonts/gen_c_src/greeks.h" + #include "../hershey_fonts/gen_c_src/rowmand.h" + #include "../hershey_fonts/gen_c_src/rowmant.h" + #include "../hershey_fonts/gen_c_src/scriptc.h" + #include "../hershey_fonts/gen_c_src/symbolic.h" + #include "../hershey_fonts/gen_c_src/timesg.h" + #include "../hershey_fonts/gen_c_src/timesib.h" + #include "../hershey_fonts/gen_c_src/timesi.h" + #include "../hershey_fonts/gen_c_src/timesrb.h" + #include "../hershey_fonts/gen_c_src/timesr.h" +#endif + +#define FONT_TABLE(x) if (!strcmp(font, #x)) \ + { cnt = x##_cnt; \ + ptr = x; \ + index = c-32;} /*for ASCII fonts, will not work with e.g. japanese*/ + +const char *argp_program_version = "hf2gcode 0.2.2"; + +#include +#include +#include +#include +#include "libhf2gcode.h" + +/* g-code generator init parameter */ +static char *_font; +static char *_text; +static double _X0; +static double _Y0; +static double _Z_up; +static double _Z_down; +static double _scale; +static double _feed; +static int _precision; +static char _verbose; +static char _align; +static char _use_inch; +static char _init; +static int _yinc; +static char _no_pre; +static char _no_post; +static double _X, _Y, _Z; + +/* get pointer to start of the glyph or NULL if not available */ +const char * get_glyph_ptr (const char *font, + const unsigned char c) +{ + int cnt = 0; + const char *ptr = NULL; + int index = 0; + + FONT_TABLE(rowmans) + else FONT_TABLE(scripts) +#ifndef AVR + else FONT_TABLE(cursive) + else FONT_TABLE(futural) + else FONT_TABLE(futuram) + else FONT_TABLE(gothgbt) + else FONT_TABLE(gothgrt) + else FONT_TABLE(gothiceng) + else FONT_TABLE(gothicger) + else FONT_TABLE(gothicita) + else FONT_TABLE(gothitt) + else FONT_TABLE(greekc) + else FONT_TABLE(greek) + else FONT_TABLE(greeks) + else FONT_TABLE(rowmand) + else FONT_TABLE(rowmant) + else FONT_TABLE(scriptc) + else FONT_TABLE(symbolic) + else FONT_TABLE(timesg) + else FONT_TABLE(timesib) + else FONT_TABLE(timesi) + else FONT_TABLE(timesrb) + else FONT_TABLE(timesr) +#endif + else + { +#ifndef AVR + fprintf(stderr, "ERROR: font %s is not available.\n", font); +#endif + return NULL; + } + if (index<0 || index>cnt-1) + { +#ifndef AVR + fprintf(stderr, "ERROR: glyph number %d (ASCII 0x%X) is not available in font \"%s\".\n", index, c, font); +#endif + return NULL; + } + + /*search the glyph*/ + int k=0; + while(k++= g_line)) + { + if (2 == g_line) + return g_line += 4; + else + return g_line++; + } + else + { + switch(g_line) + { + case 0: snprintf(buf, buf_len, _verbose? "( generated with %s )":"", argp_program_version); + return g_line++; + case 1: + if(!_use_inch) + snprintf(buf, buf_len, "G21%s",_verbose? " ( base unit mm )":""); + else + snprintf(buf, buf_len, "G20%s",_verbose? " ( base unit inch )":""); + return g_line++; + case 2: snprintf(buf, buf_len, "G90%s",_verbose? " ( absolute distance mode )":""); + return g_line+=4; + //grbl reports "Unsupported statement" for G64 + //case 3: snprintf(buf, buf_len, "G64%s",_verbose? " ( best possible speed )":""); + //grbl reports "Unsupported statement" for G40 + //case 4: snprintf(buf, buf_len, "G40%s",_verbose? " ( turn off tool diameter compensation )":""); + //grbl reports "Unsupported statement" for G49 + //case 5: snprintf(buf, buf_len, "G49%s",_verbose? " ( turns off tool length compensation )":""); + case 6: snprintf(buf, buf_len, "G94%s",_verbose? " ( Feed Rate Mode: Units per minute Mode )":""); + return g_line++; + case 7: snprintf(buf, buf_len, "G17%s",_verbose? " ( X-Y plane )":""); + return g_line++; + case 8: snprintf(buf, buf_len, "M3 S10000"); + return g_line++; + case 9: + if(_verbose) + { + /* make a copy and replace newline with | */ + size_t len=strlen(_text); + char *tmp=malloc(len+1); + strcpy(tmp, _text); + size_t i; + for(i=0;i12) + { + char c=_text[char_index]; + + /*print state*/ + /* + * printf("DEBUG: c=%c ci=%d cg=%s xg=%f yg=%f ps=%d pa=%d i=%d gl=%d lm=%d rm=%d fl=%d\n", + c, char_index, glyph_ptr, x_glyph, y_glyph, pen_state, pen_above_pos, _init, g_line, left_margin, right_margin, footer_line); + */ + if (c) + { + if(c=='\n') + { + x_glyph=_X0; + y_glyph-=_yinc; + snprintf(buf, buf_len, "( Linefeed )"); + char_index++; + return g_line++; + } + if(!current_glyph) /*load new glyph */ + { + const char *glyph=get_glyph_ptr(_font,c); + +#ifndef AVR + current_glyph = malloc(strlen(glyph)+1); + strcpy (current_glyph, glyph); +#else + current_glyph = malloc(strlen_PF(glyph)+1); + strcpy_PF (current_glyph, glyph); +#endif + glyph_ptr=current_glyph; + left_margin = *(glyph_ptr++)-'R'; + right_margin = *(glyph_ptr++)-'R'; + + if (_verbose) + snprintf(buf, buf_len, ";%c = %s",c, glyph_ptr); + //grbl hast problems with ;x comments and shows error "expected command letter" + //else + // snprintf(buf, buf_len, ";%c",c); + return g_line++; + } + else if(!(*glyph_ptr)) /*end of glyph*/ + { + char_index++; + /* add glyph width to left position */ + x_glyph+=(right_margin-left_margin)*_scale; + + free(current_glyph); + current_glyph=0; + + _Z = _Z_up; +#ifndef FIXED_PRECISION + snprintf(buf, buf_len, "G0 Z%.*f%s", _precision, _Z, _verbose? " ( Pen-Up, EOG )":""); +#else + snprintf(buf, buf_len, "G0 Z%.2f%s", _Z, _verbose? " ( Pen-Up, EOG )":""); +#endif + pen_state=Up; + return g_line++; + } + int8_t x=*(glyph_ptr)-'R'; + int8_t y=*(glyph_ptr+1)-'R'; + + if (x==-50 && y==0) /*Pen-Up*/ + { + _Z = _Z_up; +#ifndef FIXED_PRECISION + snprintf(buf, buf_len, "G0 Z%.*f%s", _precision, _Z, _verbose? " ( Pen-Up )":""); +#else + snprintf(buf, buf_len, "G0 Z%.2f%s", _Z, _verbose? " ( Pen-Up )":""); +#endif + pen_state=Up; + glyph_ptr+=2; + return g_line++; + } + else + { + double gx = x_glyph+(x-left_margin)*_scale; + double gy = y_glyph-y*_scale; + if( pen_state == Down ) + { + /*Linear move to position*/ + g_move(buf, buf_len, 1, gx, gy); + glyph_ptr+=2; + return g_line++; + } + else + { + if (!pen_above_pos) + { + /*rapid move because pen is up*/ + g_move(buf, buf_len, 0, gx, gy); + glyph_ptr+=2; + pen_above_pos=1; + return g_line++; + } + else + { + /* lower pen*/ + _Z = _Z_down; +#ifndef FIXED_PRECISION + snprintf(buf, buf_len, "G1 Z%.*f%s", _precision, _Z, _verbose? " ( Pen-Down )":""); +#else + snprintf(buf, buf_len, "G1 Z%.2f%s", _Z, _verbose? " ( Pen-Down )":""); +#endif + pen_state = Down; + pen_above_pos=0; + return g_line++; + } + } + } + } + + /*end of text*/ + if (!_no_post) + { + switch (footer_line++) + { + case 0: snprintf(buf, buf_len, "M5 %s",_verbose? "(stop the spindle)":""); + return g_line++; + case 1: snprintf(buf, buf_len, "M30 %s",_verbose? "(Program stop, rewind to beginning of program)":""); +#ifdef AVR + buf[0]=0; //No M30 on AVR +#endif + return g_line++; + default: + break; + } + } + } + return -1; +} diff --git a/hf2gcode/src/libhf2gcode.h b/hf2gcode/src/libhf2gcode.h new file mode 100644 index 0000000..08a7287 --- /dev/null +++ b/hf2gcode/src/libhf2gcode.h @@ -0,0 +1,49 @@ +/* + Copyright(C) 2014 Andreas Weber + + This file is part of hf2gcode. + + hf2gcode is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + hf2gcode is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with hf2gcode. If not, see . +*/ + +#ifndef _LIBHF2GCODE_H_ +#define _LIBHF2GCODE_H_ + +#include + +const char * get_glyph_ptr (const char *font, + const unsigned char c); + +int init_get_gcode_line ( + char *font, /* used font, e.g. "rowmans" or "scriptc" */ + char *text, /* text, e.g. "Hello world!\nsecond line" */ + double X0, /* the X-Axis offset in mm */ + double Y0, /* the Y-Axis offset in mm */ + double Z_up, /* the Z-Axis value in mm when it's up */ + double Z_down, /* the Z-Axis value in mm when it's down */ + double yinc, /* increment between to lines for multiline */ + double scale, /* Scale factor (mm/hershey units) */ + double feed, /* Linear feed rate in mm/min */ + int precision, /* Precision for floating points in generated g-code */ + char verbose, /* Verbose description in generated G-Code */ + char align, /* Align lines l(eft) r(ight) c(enter) */ + char use_inch, /* Use inch instead of mm as base unit */ + char no_pre, /* Don't write preamble */ + char no_post); /* Don't write postamble */ + +int get_gcode_line ( + char * buf, /* buffer for g-code line output */ + size_t buf_len); /* length of buf */ + +#endif diff --git a/hf2gcode/src/load_hf.m b/hf2gcode/src/load_hf.m new file mode 100644 index 0000000..9e5f829 --- /dev/null +++ b/hf2gcode/src/load_hf.m @@ -0,0 +1,45 @@ +## Copyright (C) 2013 Andreas Weber +## +## This program is free software: you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation, either version 3 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program. If not, see . + +## -*- texinfo -*- +## @deftypefn {Function File} {@var{ret} =} load_hf (@var{fn}) +## Loads a "fixed" hershey font (no linebreaks in glyph and no CR) +## and returns a structure containing the glyphs. +## @end deftypefn + +function ret = load_hf (fn) + [fid,msg]=fopen(fn,"r"); + if (fid != -1) + cnt=0; + while ((s = fgetl (fid))!=-1) + cnt+=1; + ret(cnt).num = str2num (s(1:5)); + ret(cnt).len = str2num (s(6:8)); + ## check length + if (ret(cnt).len != (length(s)-8)/2) + error ("actual length of glyph doesn't match. Perhaps a corrupted file? Check linebreaks in glyph and CR/LF issues.") + endif + ret(cnt).leftmargin = s(9)-'R'; + ret(cnt).rightmargin = s(10)-'R'; + + ret(cnt).x = s(11:2:end)-'R'; + ret(cnt).y = s(12:2:end)-'R'; + + endwhile + fclose (fid); + else + error("file %s not found",fn) + endif +endfunction diff --git a/hf2gcode/src/plot_custom_text.m b/hf2gcode/src/plot_custom_text.m new file mode 100644 index 0000000..f84c4ae --- /dev/null +++ b/hf2gcode/src/plot_custom_text.m @@ -0,0 +1,36 @@ +## Copyright (C) 2013 Andreas Weber +## +## This program is free software: you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation, either version 3 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program. If not, see . + +## 21.5.2013 Andy +## plot text with rowmans.jhf + +fn="../hershey_fonts/fixed/rowmans.jhf" +hf = load_hf (fn); + +## translation table ASCII -> hershey_font entry for rowmans +tt=zeros(256,1); +tt(32:126)=1:95; + +s="Hello world!"; + +left=0; +for i=1:length(s) + glyph=hf(tt(s(i))); + plot_hf_glyph(glyph, left-glyph.leftmargin, 0, false) + hold on + left+=glyph.rightmargin-glyph.leftmargin; +endfor +hold off +axis equal diff --git a/hf2gcode/src/plot_hf.m b/hf2gcode/src/plot_hf.m new file mode 100644 index 0000000..503a6e4 --- /dev/null +++ b/hf2gcode/src/plot_hf.m @@ -0,0 +1,29 @@ +## Copyright (C) 2013 Andreas Weber +## +## This program is free software: you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation, either version 3 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program. If not, see . + +## -*- texinfo -*- +## @deftypefn {Function File} {} plot_hf (@var{hf}, @var{cols}=10, @var{xsep}=30, @var{ysep}=50) +## Plots a hershey font (all glyphs) +## @end deftypefn + +function plot_hf(hf,cols=10, xsep=30, ysep=50) + for (i=1:length(hf)) + col = mod (i-1,cols); + row = floor ((i-1)/cols); + plot_hf_glyph(hf(i), xsep*col, ysep*row, 1) + hold on + endfor + hold off +endfunction diff --git a/hf2gcode/src/plot_hf_glyph.m b/hf2gcode/src/plot_hf_glyph.m new file mode 100644 index 0000000..c7b8677 --- /dev/null +++ b/hf2gcode/src/plot_hf_glyph.m @@ -0,0 +1,47 @@ +## Copyright (C) 2013 Andreas Weber +## +## This program is free software: you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation, either version 3 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program. If not, see . + +## -*- texinfo -*- +## @deftypefn {Function File} {} plot_hf_glyph (@var{glyph}, @var{xo}, @var{yo}, @var{plot_margins}=0) +## Plots a single hershey glyph. +## @seealso{plot_hf} +## @end deftypefn + +function plot_hf_glyph(glyph, xo, yo, plot_margins=0) + s=1; + if(plot_margins) + #left and right margins in red + plot([glyph.leftmargin+xo, glyph.leftmargin+xo], [10+yo -10+yo],"-r"); + hold on + plot([glyph.rightmargin+xo, glyph.rightmargin+xo], [10+yo -10+yo],"-r"); + endif + text(xo-5,yo-20,num2str(glyph.num)); + m=numel(glyph.x); + if (m>0) + for k=1:m+1 + if (k==m+1 || (((glyph.x(k)==-50) && glyph.y(k)==0))) ## last element or Pen-Up command + px=glyph.x(s:k-1)+xo; + ## inverted, in hershey font y positive down + py=-glyph.y(s:k-1)+yo; + plot(px, py) + if(!plot_margins) + hold on; + endif + s=k+1; + endif + endfor + endif + hold off +endfunction diff --git a/hf2gcode/src/render_hf.m b/hf2gcode/src/render_hf.m new file mode 100644 index 0000000..e5cd7ec --- /dev/null +++ b/hf2gcode/src/render_hf.m @@ -0,0 +1,37 @@ +## Copyright (C) 2013 Andreas Weber +## +## This program is free software: you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation, either version 3 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program. If not, see . + +## -*- texinfo -*- +## @deftypefn {Function File} {} render_hf (@var{fn}, @var{outdir}) +## Render hershey font using octave, export it to PNG and SVG image. +## Its purpose is to get an overview over the available glyphs. +## Attention: outdir works only once, (not like mkdir -p). +## @seealso{plot_hf} +## @end deftypefn + +function render_hf (fn, outdir="./") + [DIR, NAME, EXT, VER] = fileparts (fn); + fn_png = fullfile(strcat(outdir,"_png"),strcat(NAME,".png")); + fn_svg = fullfile(strcat(outdir,"_svg"),strcat(NAME,".svg")); + printf("Rendering %s and %s from %s...\n",fn_png,fn_svg,fn); + fflush(stdout); + + hf = load_hf (fn); + figure("visible","off"); + plot_hf(hf), axis square + + print(fn_png,"-S1200,1200") + print(fn_svg,"-S1200,1200") +endfunction diff --git a/hf2gcode/src/try.ngc b/hf2gcode/src/try.ngc new file mode 100644 index 0000000..50a1d37 --- /dev/null +++ b/hf2gcode/src/try.ngc @@ -0,0 +1,430 @@ +( generated with hf2gcode 0.2.2 ) +G21 ( base unit mm ) +G90 ( absolute distance mode ) +G94 ( Feed Rate Mode: Units per minute Mode ) +G17 ( X-Y plane ) +M3 S10000 +( text="Canara Engineering College", font="rowmans" ) +( scale=0.500000, feed=200.000000, precision=3 ) +F200.000 +G0 Z1.000 ( Pen-Up at start) +;C = ZKYIWGUFQFOGMILKKNKSLVMXOZQ[U[WZYXZV +G0 X9.000 Y53.500 +G1 Z-1.000 ( Pen-Down ) +G1 X8.500 Y54.500 +G1 X7.500 Y55.500 +G1 X6.500 Y56.000 +G1 X4.500 +G1 X3.500 Y55.500 +G1 X2.500 Y54.500 +G1 X2.000 Y53.500 +G1 X1.500 Y52.000 +G1 Y49.500 +G1 X2.000 Y48.000 +G1 X2.500 Y47.000 +G1 X3.500 Y46.000 +G1 X4.500 Y45.500 +G1 X6.500 +G1 X7.500 Y46.000 +G1 X8.500 Y47.000 +G1 X9.000 Y48.000 +G0 Z1.000 ( Pen-Up, EOG ) +;a = XMX[ RXPVNTMQMONMPLSLUMXOZQ[T[VZXX +G0 X18.000 Y52.500 +G1 Z-1.000 ( Pen-Down ) +G1 Y45.500 +G0 Z1.000 ( Pen-Up ) +G0 Y51.000 +G1 Z-1.000 ( Pen-Down ) +G1 X17.000 Y52.000 +G1 X16.000 Y52.500 +G1 X14.500 +G1 X13.500 Y52.000 +G1 X12.500 Y51.000 +G1 X12.000 Y49.500 +G1 Y48.500 +G1 X12.500 Y47.000 +G1 X13.500 Y46.000 +G1 X14.500 Y45.500 +G1 X16.000 +G1 X17.000 Y46.000 +G1 X18.000 Y47.000 +G0 Z1.000 ( Pen-Up, EOG ) +;n = MMM[ RMQPNRMUMWNXQX[ +G0 X22.000 Y52.500 +G1 Z-1.000 ( Pen-Down ) +G1 Y45.500 +G0 Z1.000 ( Pen-Up ) +G0 Y50.500 +G1 Z-1.000 ( Pen-Down ) +G1 X23.500 Y52.000 +G1 X24.500 Y52.500 +G1 X26.000 +G1 X27.000 Y52.000 +G1 X27.500 Y50.500 +G1 Y45.500 +G0 Z1.000 ( Pen-Up, EOG ) +;a = XMX[ RXPVNTMQMONMPLSLUMXOZQ[T[VZXX +G0 X37.000 Y52.500 +G1 Z-1.000 ( Pen-Down ) +G1 Y45.500 +G0 Z1.000 ( Pen-Up ) +G0 Y51.000 +G1 Z-1.000 ( Pen-Down ) +G1 X36.000 Y52.000 +G1 X35.000 Y52.500 +G1 X33.500 +G1 X32.500 Y52.000 +G1 X31.500 Y51.000 +G1 X31.000 Y49.500 +G1 Y48.500 +G1 X31.500 Y47.000 +G1 X32.500 Y46.000 +G1 X33.500 Y45.500 +G1 X35.000 +G1 X36.000 Y46.000 +G1 X37.000 Y47.000 +G0 Z1.000 ( Pen-Up, EOG ) +;r = OMO[ ROSPPRNTMWM +G0 X41.000 Y52.500 +G1 Z-1.000 ( Pen-Down ) +G1 Y45.500 +G0 Z1.000 ( Pen-Up ) +G0 Y49.500 +G1 Z-1.000 ( Pen-Down ) +G1 X41.500 Y51.000 +G1 X42.500 Y52.000 +G1 X43.500 Y52.500 +G1 X45.000 +G0 Z1.000 ( Pen-Up, EOG ) +;a = XMX[ RXPVNTMQMONMPLSLUMXOZQ[T[VZXX +G0 X53.000 +G1 Z-1.000 ( Pen-Down ) +G1 Y45.500 +G0 Z1.000 ( Pen-Up ) +G0 Y51.000 +G1 Z-1.000 ( Pen-Down ) +G1 X52.000 Y52.000 +G1 X51.000 Y52.500 +G1 X49.500 +G1 X48.500 Y52.000 +G1 X47.500 Y51.000 +G1 X47.000 Y49.500 +G1 Y48.500 +G1 X47.500 Y47.000 +G1 X48.500 Y46.000 +G1 X49.500 Y45.500 +G1 X51.000 +G1 X52.000 Y46.000 +G1 X53.000 Y47.000 +G0 Z1.000 ( Pen-Up, EOG ) +; = +G0 Z1.000 ( Pen-Up, EOG ) +;E = LFL[ RLFYF RLPTP RL[Y[ +G0 X65.000 Y56.000 +G1 Z-1.000 ( Pen-Down ) +G1 Y45.500 +G0 Z1.000 ( Pen-Up ) +G0 Y56.000 +G1 Z-1.000 ( Pen-Down ) +G1 X71.500 +G0 Z1.000 ( Pen-Up ) +G0 X65.000 Y51.000 +G1 Z-1.000 ( Pen-Down ) +G1 X69.000 +G0 Z1.000 ( Pen-Up ) +G0 X65.000 Y45.500 +G1 Z-1.000 ( Pen-Down ) +G1 X71.500 +G0 Z1.000 ( Pen-Up, EOG ) +;n = MMM[ RMQPNRMUMWNXQX[ +G0 X74.500 Y52.500 +G1 Z-1.000 ( Pen-Down ) +G1 Y45.500 +G0 Z1.000 ( Pen-Up ) +G0 Y50.500 +G1 Z-1.000 ( Pen-Down ) +G1 X76.000 Y52.000 +G1 X77.000 Y52.500 +G1 X78.500 +G1 X79.500 Y52.000 +G1 X80.000 Y50.500 +G1 Y45.500 +G0 Z1.000 ( Pen-Up, EOG ) +;g = XMX]W`VaTbQbOa RXPVNTMQMONMPLSLUMXOZQ[T[VZXX +G0 X89.500 Y52.500 +G1 Z-1.000 ( Pen-Down ) +G1 Y44.500 +G1 X89.000 Y43.000 +G1 X88.500 Y42.500 +G1 X87.500 Y42.000 +G1 X86.000 +G1 X85.000 Y42.500 +G0 Z1.000 ( Pen-Up ) +G0 X89.500 Y51.000 +G1 Z-1.000 ( Pen-Down ) +G1 X88.500 Y52.000 +G1 X87.500 Y52.500 +G1 X86.000 +G1 X85.000 Y52.000 +G1 X84.000 Y51.000 +G1 X83.500 Y49.500 +G1 Y48.500 +G1 X84.000 Y47.000 +G1 X85.000 Y46.000 +G1 X86.000 Y45.500 +G1 X87.500 +G1 X88.500 Y46.000 +G1 X89.500 Y47.000 +G0 Z1.000 ( Pen-Up, EOG ) +;i = QFRGSFREQF RRMR[ +G0 X93.000 Y56.000 +G1 Z-1.000 ( Pen-Down ) +G1 X93.500 Y55.500 +G1 X94.000 Y56.000 +G1 X93.500 Y56.500 +G1 X93.000 Y56.000 +G0 Z1.000 ( Pen-Up ) +G0 X93.500 Y52.500 +G1 Z-1.000 ( Pen-Down ) +G1 Y45.500 +G0 Z1.000 ( Pen-Up, EOG ) +;n = MMM[ RMQPNRMUMWNXQX[ +G0 X97.500 Y52.500 +G1 Z-1.000 ( Pen-Down ) +G1 Y45.500 +G0 Z1.000 ( Pen-Up ) +G0 Y50.500 +G1 Z-1.000 ( Pen-Down ) +G1 X99.000 Y52.000 +G1 X100.000 Y52.500 +G1 X101.500 +G1 X102.500 Y52.000 +G1 X103.000 Y50.500 +G1 Y45.500 +G0 Z1.000 ( Pen-Up, EOG ) +;e = LSXSXQWOVNTMQMONMPLSLUMXOZQ[T[VZXX +G0 X106.500 Y49.500 +G1 Z-1.000 ( Pen-Down ) +G1 X112.500 +G1 Y50.500 +G1 X112.000 Y51.500 +G1 X111.500 Y52.000 +G1 X110.500 Y52.500 +G1 X109.000 +G1 X108.000 Y52.000 +G1 X107.000 Y51.000 +G1 X106.500 Y49.500 +G1 Y48.500 +G1 X107.000 Y47.000 +G1 X108.000 Y46.000 +G1 X109.000 Y45.500 +G1 X110.500 +G1 X111.500 Y46.000 +G1 X112.500 Y47.000 +G0 Z1.000 ( Pen-Up, EOG ) +;e = LSXSXQWOVNTMQMONMPLSLUMXOZQ[T[VZXX +G0 X115.500 Y49.500 +G1 Z-1.000 ( Pen-Down ) +G1 X121.500 +G1 Y50.500 +G1 X121.000 Y51.500 +G1 X120.500 Y52.000 +G1 X119.500 Y52.500 +G1 X118.000 +G1 X117.000 Y52.000 +G1 X116.000 Y51.000 +G1 X115.500 Y49.500 +G1 Y48.500 +G1 X116.000 Y47.000 +G1 X117.000 Y46.000 +G1 X118.000 Y45.500 +G1 X119.500 +G1 X120.500 Y46.000 +G1 X121.500 Y47.000 +G0 Z1.000 ( Pen-Up, EOG ) +;r = OMO[ ROSPPRNTMWM +G0 X125.000 Y52.500 +G1 Z-1.000 ( Pen-Down ) +G1 Y45.500 +G0 Z1.000 ( Pen-Up ) +G0 Y49.500 +G1 Z-1.000 ( Pen-Down ) +G1 X125.500 Y51.000 +G1 X126.500 Y52.000 +G1 X127.500 Y52.500 +G1 X129.000 +G0 Z1.000 ( Pen-Up, EOG ) +;i = QFRGSFREQF RRMR[ +G0 X131.000 Y56.000 +G1 Z-1.000 ( Pen-Down ) +G1 X131.500 Y55.500 +G1 X132.000 Y56.000 +G1 X131.500 Y56.500 +G1 X131.000 Y56.000 +G0 Z1.000 ( Pen-Up ) +G0 X131.500 Y52.500 +G1 Z-1.000 ( Pen-Down ) +G1 Y45.500 +G0 Z1.000 ( Pen-Up, EOG ) +;n = MMM[ RMQPNRMUMWNXQX[ +G0 X135.500 Y52.500 +G1 Z-1.000 ( Pen-Down ) +G1 Y45.500 +G0 Z1.000 ( Pen-Up ) +G0 Y50.500 +G1 Z-1.000 ( Pen-Down ) +G1 X137.000 Y52.000 +G1 X138.000 Y52.500 +G1 X139.500 +G1 X140.500 Y52.000 +G1 X141.000 Y50.500 +G1 Y45.500 +G0 Z1.000 ( Pen-Up, EOG ) +;g = XMX]W`VaTbQbOa RXPVNTMQMONMPLSLUMXOZQ[T[VZXX +G0 X150.500 Y52.500 +G1 Z-1.000 ( Pen-Down ) +G1 Y44.500 +G1 X150.000 Y43.000 +G1 X149.500 Y42.500 +G1 X148.500 Y42.000 +G1 X147.000 +G1 X146.000 Y42.500 +G0 Z1.000 ( Pen-Up ) +G0 X150.500 Y51.000 +G1 Z-1.000 ( Pen-Down ) +G1 X149.500 Y52.000 +G1 X148.500 Y52.500 +G1 X147.000 +G1 X146.000 Y52.000 +G1 X145.000 Y51.000 +G1 X144.500 Y49.500 +G1 Y48.500 +G1 X145.000 Y47.000 +G1 X146.000 Y46.000 +G1 X147.000 Y45.500 +G1 X148.500 +G1 X149.500 Y46.000 +G1 X150.500 Y47.000 +G0 Z1.000 ( Pen-Up, EOG ) +; = +G0 Z1.000 ( Pen-Up, EOG ) +;C = ZKYIWGUFQFOGMILKKNKSLVMXOZQ[U[WZYXZV +G0 X169.500 Y53.500 +G1 Z-1.000 ( Pen-Down ) +G1 X169.000 Y54.500 +G1 X168.000 Y55.500 +G1 X167.000 Y56.000 +G1 X165.000 +G1 X164.000 Y55.500 +G1 X163.000 Y54.500 +G1 X162.500 Y53.500 +G1 X162.000 Y52.000 +G1 Y49.500 +G1 X162.500 Y48.000 +G1 X163.000 Y47.000 +G1 X164.000 Y46.000 +G1 X165.000 Y45.500 +G1 X167.000 +G1 X168.000 Y46.000 +G1 X169.000 Y47.000 +G1 X169.500 Y48.000 +G0 Z1.000 ( Pen-Up, EOG ) +;o = QMONMPLSLUMXOZQ[T[VZXXYUYSXPVNTMQM +G0 X175.000 Y52.500 +G1 Z-1.000 ( Pen-Down ) +G1 X174.000 Y52.000 +G1 X173.000 Y51.000 +G1 X172.500 Y49.500 +G1 Y48.500 +G1 X173.000 Y47.000 +G1 X174.000 Y46.000 +G1 X175.000 Y45.500 +G1 X176.500 +G1 X177.500 Y46.000 +G1 X178.500 Y47.000 +G1 X179.000 Y48.500 +G1 Y49.500 +G1 X178.500 Y51.000 +G1 X177.500 Y52.000 +G1 X176.500 Y52.500 +G1 X175.000 +G0 Z1.000 ( Pen-Up, EOG ) +;l = RFR[ +G0 X182.500 Y56.000 +G1 Z-1.000 ( Pen-Down ) +G1 Y45.500 +G0 Z1.000 ( Pen-Up, EOG ) +;l = RFR[ +G0 X186.500 Y56.000 +G1 Z-1.000 ( Pen-Down ) +G1 Y45.500 +G0 Z1.000 ( Pen-Up, EOG ) +;e = LSXSXQWOVNTMQMONMPLSLUMXOZQ[T[VZXX +G0 X190.000 Y49.500 +G1 Z-1.000 ( Pen-Down ) +G1 X196.000 +G1 Y50.500 +G1 X195.500 Y51.500 +G1 X195.000 Y52.000 +G1 X194.000 Y52.500 +G1 X192.500 +G1 X191.500 Y52.000 +G1 X190.500 Y51.000 +G1 X190.000 Y49.500 +G1 Y48.500 +G1 X190.500 Y47.000 +G1 X191.500 Y46.000 +G1 X192.500 Y45.500 +G1 X194.000 +G1 X195.000 Y46.000 +G1 X196.000 Y47.000 +G0 Z1.000 ( Pen-Up, EOG ) +;g = XMX]W`VaTbQbOa RXPVNTMQMONMPLSLUMXOZQ[T[VZXX +G0 X205.000 Y52.500 +G1 Z-1.000 ( Pen-Down ) +G1 Y44.500 +G1 X204.500 Y43.000 +G1 X204.000 Y42.500 +G1 X203.000 Y42.000 +G1 X201.500 +G1 X200.500 Y42.500 +G0 Z1.000 ( Pen-Up ) +G0 X205.000 Y51.000 +G1 Z-1.000 ( Pen-Down ) +G1 X204.000 Y52.000 +G1 X203.000 Y52.500 +G1 X201.500 +G1 X200.500 Y52.000 +G1 X199.500 Y51.000 +G1 X199.000 Y49.500 +G1 Y48.500 +G1 X199.500 Y47.000 +G1 X200.500 Y46.000 +G1 X201.500 Y45.500 +G1 X203.000 +G1 X204.000 Y46.000 +G1 X205.000 Y47.000 +G0 Z1.000 ( Pen-Up, EOG ) +;e = LSXSXQWOVNTMQMONMPLSLUMXOZQ[T[VZXX +G0 X208.500 Y49.500 +G1 Z-1.000 ( Pen-Down ) +G1 X214.500 +G1 Y50.500 +G1 X214.000 Y51.500 +G1 X213.500 Y52.000 +G1 X212.500 Y52.500 +G1 X211.000 +G1 X210.000 Y52.000 +G1 X209.000 Y51.000 +G1 X208.500 Y49.500 +G1 Y48.500 +G1 X209.000 Y47.000 +G1 X210.000 Y46.000 +G1 X211.000 Y45.500 +G1 X212.500 +G1 X213.500 Y46.000 +G1 X214.500 Y47.000 +G0 Z1.000 ( Pen-Up, EOG ) +M5 (stop the spindle) +M30 (Program stop, rewind to beginning of program) From 38987cba2364947b2427eea6bb575bec77b88842 Mon Sep 17 00:00:00 2001 From: shrivatsaBhat <52356082+shrivatsaBhat@users.noreply.github.com> Date: Mon, 2 Mar 2020 22:47:32 +0530 Subject: [PATCH 07/19] Word Split Added The problem due to the word split during the next line is resolved. The plotter can split the word depending on the *oneline* value. --- dictowriter.py | 179 +++++++++++++++++++++++++++++++++---------------- 1 file changed, 123 insertions(+), 56 deletions(-) diff --git a/dictowriter.py b/dictowriter.py index da50dfc..81428aa 100644 --- a/dictowriter.py +++ b/dictowriter.py @@ -1,29 +1,55 @@ import os import time import threading -import s2t_v4 as s2t +#import s2t_v4 as s2t +from gtts import gTTS +#import tessocr +import s2t import serial import time -"sending PYTHON 2 CODE ported to py3" + +speech_mode = True +ttsfeedback = True + + # Open grbl serial port -s = serial.Serial('/dev/ttyACM1',115200) -#buffer = "welcome to project dicto-writer 1.0" -buffer = " " -oneline = 30 -scale = 0.3 # goes well with line yoffset drop of 10 +try: + s = serial.Serial('/dev/ttyACM0',115200) + print("arduino port: ","/dev/ttyACM0") +except: + s = serial.Serial('/dev/ttyACM1',115200) + print("arduino port: ","/dev/ttyACM1") + +" buffer is a keyword in python for some reason .." + +#buff = "welcome to project dicto-writer 1.0" +buff = " " +oneline = 40 #characters that can be writen in a line +current_line = 0 +line_drop = 10 +# scale = 0.3 # goes well with line yoffset drop of 10 +scale = 0.25 # also tweak yoffset + +#font = "scriptc" #doble stroke +font = "scripts" +#font = "rowmans" + cmd = "./h2g/src/hf2gcode" # ./prog -params "text" -gcd_file = "write.txt" -current_line = 40 +gcd_folder = "linegcodes/" # use / after folder +gcd_filename = "line" + +os.system(f"rm -rf {gcd_folder}") #flush out revious gcodes from storage +os.system(f"mkdir {gcd_folder}") +# s2t.energy_threshold = 2000 from collections import deque plotter_queue = [] -plotter_queue = deque(plotter_queue) +plotter_queue = deque(plotter_queue) # to store pending line.gc filenames - - -def gc_sender(newgcode): +def stream_gcode(filename): # Open g-code file - f = newgcode + f = open(filename,'r') + # Wake up grbl s.write("\r\n\r\n".encode()) time.sleep(2) # Wait for grbl to initialize @@ -32,65 +58,106 @@ def gc_sender(newgcode): # Stream g-code to grbl for line in f: l = line.strip() # Strip all EOL characters for consistency - print('Sending: ' + l) + #print('Sending: ' + l) ln_cmd = l + '\n' s.write(ln_cmd.encode()) # Send g-code block to grbl grbl_out = s.readline() # Wait for grbl response with carriage return - print(grbl_out.strip()) + #print(grbl_out.strip()) # Wait here until grbl is finished to close serial port and file. print("finished") # Close file and serial port - #f.close() - #s.close() - - # ----- - -# s2t.energy_threshold = 2000 - - -def speech_recog(): - while(len(buffer) <= 30): - new_msg = input("write something:") - buffer + new_msg + f.close() + + #s.close() # dont know whether closing and opening of port is required ... might be redundant -def gen_gcode(mesg,x,y): +def gen_gcode(mesg,x,y,linefn): # print(scale) - print("generating GCODE") - x,y = str(x),str(y) + print("Generating gcode for: ",mesg) + print(f"Writing to {linefn}{gcd_filename}") + x,y,lineno = str(x),str(y),str(linefn) sca = str(scale) - bashout = cmd +" -m -o " +gcd_file+" --scale "+sca+" -x "+ x +" -y "+ y + " " + "\"" +mesg +"\"" + generatecmd = cmd +" -m --font "+font+" -o "+gcd_folder+linefn+" --scale "+sca+" -x "+ x +" -y "+ y + " " + "\"" +mesg +"\"" # bashout = cmd +" --scale "+sca+" -x "+ x +" -y "+ y + " " + "\"" +mesg +"\"" # print(bashout) - return os.system(bashout) - -def run_plotter(filename): - print("Plotter is writing :\n"+buffer) - # cmd2 = "gcd -c v3.json -f write.txt" - - - + return os.system(generatecmd) + +def run_plotter(): + while True: + global plotter_queue + if (len(plotter_queue) >= 1): + cur_line_file = plotter_queue.popleft() # pop first line ,then second, and so on.. + print("Plotter is writing :"+cur_line_file) + stream_gcode(f"{gcd_folder}{cur_line_file}") + # cmd2 = "gcd -c v3.json -f write.txt" #deprecated bcz not working as expected + else: + # print("No pending gcodes ..",end=" ") + #print(".",end=" ") + pass + time.sleep(1) + +" TAKEN CARE BY MAIN THREAD " ## need to use one thread to fill the buffer by speech recognition # speech_t = threading.Thread(target = speech_recog) # speech_t.start() - -" thread to control plotter queue " -threading.Thread(target=run_plotter,deamon=True).start() +" TAKEN CARE BY MAIN THREAD " def main(): - while(True): - if(len(buffer) >= oneline): - gen_gcode(buffer[:oneline],0,current_line) #text , xoffset , yoffset - current_line -= 10 #step down a line - run_plotter("write.txt") # pass the gcode - buffer = buffer[oneline:] #retain remaining buffer text - # speech_recog() - #time.sleep(0.5) # simply - #buffer += input("fill buffer :") # fills buffer using user input - voice = s2t.recog() - if voice is not None: - buffer += voice # + global buff + global current_line + global oneline + + while True: + if(len(buff) >= oneline): + offset_txt = None + #check for the first space from the end of buff + if buff[oneline-1] == " " or buff[oneline] == " ": #check current and next lettr is space? + print_txt = buff[:oneline] + buff = buff[oneline:] # retain remaining buff text + + else: + index = 0 + for i in range(len(buff[:oneline])-1, -1, -1): #check for space from last + index += 1 + if buff[i] == " ": + print_txt = buff[:len(buff[:oneline])-index] #send to gcd conveter + buff = buff[oneline-index:] # retain remaining buff text + break + #wordend = buff.find(' ') + linefn = f"{gcd_filename}{current_line}.gc" #linefilename + gen_gcode(print_txt,0,current_line,linefn) #text , xoffset , yoffset + #gen_gcode will save and store gcode for each line in a new file + #print("printing ->" + print_txt) + plotter_queue.append(linefn) + + current_line -= line_drop #step down a line + + #buff = buff[oneline:] # retain remaining buff text + #print("buffer ->" + buff) + else: + if not speech_mode: + newtext = input("enter text:")+" " + else: + newtext = s2t.recog() + print("You said:",newtext) + #allows user to listen to recognized audio using tts + if ttsfeedback and newtext is not None: + fbaud = gTTS(newtext) + fbaud.save("ttsaud.mp3") + os.system("omxplayer ttsaud.mp3") + if input("Is it correct (y/n):") == 'n': + print("Rejected:",newtext) + newtext = None + else: + pass + if newtext is not None: + buff += ' '+newtext # append into buff + +def plotter_handler(): + " thread to control plotter queue " + threading.Thread(target=run_plotter,daemon=True).start() if __name__ == "__main__": - main() \ No newline at end of file + plotter_handler() # sequentialy serial_stream each new file generated in gcd_folder + main() #main thread performs continous speech recog and gcode generation From 27b95179ae5b44ca85d916c7db7760f34fce0a7a Mon Sep 17 00:00:00 2001 From: shrivatsaBhat <52356082+shrivatsaBhat@users.noreply.github.com> Date: Mon, 2 Mar 2020 22:53:21 +0530 Subject: [PATCH 08/19] speech to text buffer overflow check the buffer split is checked with the simple algorithm implemented on the main() function --- s2t_t2s.py | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 s2t_t2s.py diff --git a/s2t_t2s.py b/s2t_t2s.py new file mode 100644 index 0000000..26a9208 --- /dev/null +++ b/s2t_t2s.py @@ -0,0 +1,83 @@ +import os +import time +import playsound +from gtts import gTTS +import s2t_t2s_rec as s2t #s2t file only used here + +speech_mode = False +ttsfeedback = False + +#buff = "welcome to project dicto-writer 1.0" +buff = " " +oneline = 20 # characters that can be writen in a line +current_line = 0 +plotter_queue = [] + +def main(): + global buff + global current_line + global oneline + + while True: + if(len(buff) >= oneline): + offset_txt = None + #check for the first space from the end of buff + if buff[oneline-1] == " " or buff[oneline] == " ": #check current and next lettr is space? + print_txt = buff[:oneline] + buff = buff[oneline:] # retain remaining buff text + + else: + index = 0 + for i in range(len(buff[:oneline])-1, -1, -1): #check for space from last + index += 1 + if buff[i] == " ": + print_txt = buff[:len(buff[:oneline])-index] #send to gcd conveter + buff = buff[oneline-index:] # retain remaining buff text + break + #wordend = buff.find(' ') + # linefn = f"{gcd_filename}{current_line}.gc" # linefilename + # gen_gcode(print_txt, 0, current_line, linefn) # text , xoffset , yoffset + print("printing ->" + print_txt) + # #gen_gcode will save and store gcode for each line in a new file + + # plotter_queue.append(linefn) + + # current_line -= line_drop # step down a line + + #buff = ' ' +buff[oneline:] # retain remaining buff text + + print("-->" + buff) + + else: + if not speech_mode: + newtext = input("enter text:")+" " + playBack(newtext) + + if newtext is not None: + buff += newtext # append into buff + + else: + newtext = s2t.recog() + print("You said:", newtext) + playBack(newtext) + + if newtext is not None: + buff += ' '+newtext # append into buff + +#allows user to listen to recognized audio using tts +def playBack(newtext): + if ttsfeedback and newtext is not None: + fbaud = gTTS(newtext) + fbaud.save("s2t_t2s.wav") + # os.system("omxplayer s2t_t2s.mp3") #play at rasperry Pi + playsound.playsound('s2t_t2s.wav', True) + # if input("Is it correct (y/n):") == 'n': + # print("Rejected: ", newtext) + # newtext = None + # else: + # pass + else: + pass + +if __name__ == "__main__": + main() From cbeb71fd0f165864b44ec008b5fdbe12274c285a Mon Sep 17 00:00:00 2001 From: P Shrivatsa Bhat <52356082+shrivatsaBhat@users.noreply.github.com> Date: Fri, 27 Mar 2020 12:39:42 +0530 Subject: [PATCH 09/19] Badge added --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 787de2c..05de7eb 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ +![Build status]([/github/status/micromatch/micromatch/gh-pages](https://badgen.net/github/status/micromatch/micromatch/gh-pages)) # DICTO-WRITTER This project is about building a mechanical prototype of a Speech to Text Plotter able to write on the given solid surface. Also trying to build a speech synthesizer as the feed back system. From 12d57e35d806d61a8bfc6abcc3121dec79682d90 Mon Sep 17 00:00:00 2001 From: P Shrivatsa Bhat <52356082+shrivatsaBhat@users.noreply.github.com> Date: Fri, 27 Mar 2020 12:40:39 +0530 Subject: [PATCH 10/19] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 05de7eb..7975dc9 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -![Build status]([/github/status/micromatch/micromatch/gh-pages](https://badgen.net/github/status/micromatch/micromatch/gh-pages)) +[![Build status]([/github/status/micromatch/micromatch/gh-pages](https://badgen.net/github/status/micromatch/micromatch/gh-pages)) # DICTO-WRITTER This project is about building a mechanical prototype of a Speech to Text Plotter able to write on the given solid surface. Also trying to build a speech synthesizer as the feed back system. From 91c660ac4573ec371cf2ecde325cdff645da68e3 Mon Sep 17 00:00:00 2001 From: P Shrivatsa Bhat <52356082+shrivatsaBhat@users.noreply.github.com> Date: Fri, 27 Mar 2020 12:40:54 +0530 Subject: [PATCH 11/19] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7975dc9..2c92162 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![Build status]([/github/status/micromatch/micromatch/gh-pages](https://badgen.net/github/status/micromatch/micromatch/gh-pages)) + # DICTO-WRITTER This project is about building a mechanical prototype of a Speech to Text Plotter able to write on the given solid surface. Also trying to build a speech synthesizer as the feed back system. From 2d82f3dbfc22a9899e47c49574165785118762fb Mon Sep 17 00:00:00 2001 From: P Shrivatsa Bhat <52356082+shrivatsaBhat@users.noreply.github.com> Date: Fri, 27 Mar 2020 12:42:25 +0530 Subject: [PATCH 12/19] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2c92162..8a249e6 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ - +![https://badgen.net/badge/code%20style/standard/f2a](https://badgen.net/badge/code%20style/standard/f2a) # DICTO-WRITTER This project is about building a mechanical prototype of a Speech to Text Plotter able to write on the given solid surface. Also trying to build a speech synthesizer as the feed back system. From 0e3010035ce2bb9835cb02a0fe5ceddd5a9a8490 Mon Sep 17 00:00:00 2001 From: P Shrivatsa Bhat <52356082+shrivatsaBhat@users.noreply.github.com> Date: Fri, 27 Mar 2020 12:46:01 +0530 Subject: [PATCH 13/19] Update README.md --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 8a249e6..e62aece 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,7 @@ ![https://badgen.net/badge/code%20style/standard/f2a](https://badgen.net/badge/code%20style/standard/f2a) + ![https://badgen.net/github/status/micromatch/micromatch/gh-pages](https://badgen.net/github/status/micromatch/micromatch/gh-pages) + ![https://badgen.net/github/last-commit/hackermindes/DICTO-WRITTER](https://badgen.net/github/last-commit/hackermindes/DICTO-WRITTER) + # DICTO-WRITTER This project is about building a mechanical prototype of a Speech to Text Plotter able to write on the given solid surface. Also trying to build a speech synthesizer as the feed back system. From 7cb5bd16eed9305857343371bccc9f2cf4e48663 Mon Sep 17 00:00:00 2001 From: P Shrivatsa Bhat <52356082+shrivatsaBhat@users.noreply.github.com> Date: Fri, 27 Mar 2020 12:57:43 +0530 Subject: [PATCH 14/19] Update README.md --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index e62aece..0edcee8 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,4 @@ -![https://badgen.net/badge/code%20style/standard/f2a](https://badgen.net/badge/code%20style/standard/f2a) - ![https://badgen.net/github/status/micromatch/micromatch/gh-pages](https://badgen.net/github/status/micromatch/micromatch/gh-pages) - ![https://badgen.net/github/last-commit/hackermindes/DICTO-WRITTER](https://badgen.net/github/last-commit/hackermindes/DICTO-WRITTER) +![/github/commits/hackerminds/DICTO-WRITTER/](https://badgen.net/github/commits/hackerminds/DICTO-WRITTER/) # DICTO-WRITTER This project is about building a mechanical prototype of a Speech to Text Plotter able to write on the given solid surface. Also trying to build a speech synthesizer as the feed back system. From 69c38387f6f030626212b42e57de7dd59052c99f Mon Sep 17 00:00:00 2001 From: P Shrivatsa Bhat <52356082+shrivatsaBhat@users.noreply.github.com> Date: Fri, 27 Mar 2020 13:02:27 +0530 Subject: [PATCH 15/19] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 0edcee8..8db5bf2 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,6 @@ ![/github/commits/hackerminds/DICTO-WRITTER/](https://badgen.net/github/commits/hackerminds/DICTO-WRITTER/) +![https://badgen.net/github/last-commit/hackerminds/DICTO-WRITTER/](https://badgen.net/github/last-commit/hackerminds/DICTO-WRITTER/) + # DICTO-WRITTER This project is about building a mechanical prototype of a Speech to Text Plotter able to write on the given solid surface. Also trying to build a speech synthesizer as the feed back system. From 561829159b193d371a1e378ab63ac0e7bfc63a3a Mon Sep 17 00:00:00 2001 From: P Shrivatsa Bhat <52356082+shrivatsaBhat@users.noreply.github.com> Date: Wed, 8 Apr 2020 17:28:46 +0530 Subject: [PATCH 16/19] GUI frame --- dictoWriterGUI.py | 250 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 250 insertions(+) create mode 100644 dictoWriterGUI.py diff --git a/dictoWriterGUI.py b/dictoWriterGUI.py new file mode 100644 index 0000000..d81e6ae --- /dev/null +++ b/dictoWriterGUI.py @@ -0,0 +1,250 @@ +from tkinter import* +from tkinter import messagebox +try: + from PIL import Image, ImageTk +except: + try: + response = messagebox.askyesno("Import Error", "Do you want to install missing Library?") + # if response == "yes": + # os.system("sudo pip3 install Pillow") + # else: + # messagebox.askyesno("Import Error", "Did not install missing Library!") + except: + messagebox.showinfo("Import Error", "Please install pillow library!") + +myFont = "Courier" +myFontSize = 12 +icon_path = "E:\Visual_Studio_Code\python\GUI\Dicto-Writter_small.ico" +captured_image_path = "E:\Visual_Studio_Code\python\GUI\Dicto-Writter_small.png" + +in_main = "" + +myHelp = "For Step by step help please refer the following link:\r\nHACKERMINDS/Dicto-Writter\r\n(https://github.com/hackerminds/DICTO-WRITTER)" + +myAbout = "Canara Engineering College\rAffiliated Visvesvaraya Technological University \n(VTU)\n\nThis is a final year project made by \r\nAmith Rayan Fernandes\t4CB16EC006\nMegha U Shenoy\t\t4CB16EC045\nN Hrishikesh Prabhu\t4CB16EC047\nP Shrivtsa Bhat\t\t4CB16EC055\r\n Under the Guidence of the Mr Vayusutha \n(Asst.Proffesor at Canara Engineering College)" + +class ScrollableFrame(Frame): + def __init__(self, container, *args, **kwargs): + super().__init__(container, *args, **kwargs) + canvas = Canvas(self) + scrollbar = Scrollbar(self, orient="vertical", command=canvas.yview) + self.scrollable_frame = Frame(canvas) + + self.scrollable_frame.bind( + "", + lambda e: canvas.configure(scrollregion=canvas.bbox("all") + ) + ) + + canvas.create_window((0, 0), window=self.scrollable_frame, anchor="nw") + + canvas.configure(yscrollcommand=scrollbar.set) + + canvas.pack(side="left", fill="both", expand=True) + scrollbar.pack(side="right", fill="y") + + +def s2t_frame(): + def startMechine(): + startButton.config(state=DISABLED) + stopButton.config(state=NORMAL) + #print(checkButtonVar.get()) + textFrame = LabelFrame(MiddleFrame, font=(myFont, myFontSize) ,text="Conversion Output") + textFrame.pack(fill="both", expand=True) + + # showText = Text(textFrame, width=720, height=280, padx=10, wrap=WORD, spacing1=1, spacing2=1, spacing3=1) + # showText.insert(INSERT, "Text Widgetn20 characters widen3 lines high")#END or INSERT + # showText.pack(fill="both", expand=True) + + showText = ScrollableFrame(textFrame) + Text = Label(showText.scrollable_frame, padx=10, pady=5, justify=LEFT,font=(myFont, myFontSize) ,text=in_main) + Text.pack(fill="both", expand=True) + showText.pack(fill="both", expand=True) + + def stopMechine(): + startButton.config(state=NORMAL) + stopButton.config(state=DISABLED) + for widget in MiddleFrame.winfo_children(): #clear the frame + widget.destroy() + + #s2t frame initialisation + frame = Toplevel() + frame.title("Speech to Text | Dicto Writter") + frame.iconbitmap(icon_path) + frame.geometry("720x480") + + #Create Base Frame + defaultFrame = Frame(frame) + defaultFrame.pack(fill="both", expand=True, padx=1, pady=1) + + #Create Main Frame + MainFrame = Frame(defaultFrame) + MainFrame.pack(fill="both", expand=True) + #Create Inner Widgets + TopFrame = Frame(MainFrame, bd=5, width=720, height=80, padx=2, relief=RIDGE)#, bg="#f0f0f0") + TopFrame.pack(fill="both", expand=True) + + # Check Box + checkButtonVar = StringVar() + feedBackOption =Checkbutton(TopFrame, text="Feedback", variable=checkButtonVar, onvalue="On", offvalue="Off") + feedBackOption.deselect() + feedBackOption.pack(side=RIGHT, padx=30, pady=10) + + #Button + startButton = Button(TopFrame, text="Start", padx=20, pady=10, command=startMechine) + startButton.pack(side=LEFT, padx=30, pady=10) + + stopButton = Button(TopFrame, text="Stop", padx=20, pady=10, state=DISABLED, command=stopMechine) + stopButton.pack(side=LEFT, padx=30, pady=10) + + MiddleFrame = Frame(MainFrame, bd=5, width=720, height=280, padx=2, relief=RIDGE, bg="cadet blue") + MiddleFrame.pack(fill="both", expand=True) + + ''' --------------------- Close Button --------------------- ''' + BottomFrame = Frame(defaultFrame, bd=1, relief=RIDGE, bg="#de1212") + BottomFrame.pack(side=RIGHT, pady=10) + Exit = Button(BottomFrame, text="Close", command=frame.destroy, fg="#ffffff", bg="#de1212", relief=FLAT) + Exit.pack(padx=5, pady=5) + + +def t2s_frame(): + def showimage(): + #show captured image + try: + load = Image.open(captured_image_path) + render = ImageTk.PhotoImage(load) + frame = Toplevel() + frame.title("Captured Image | Dicto Writter") + frame.iconbitmap(icon_path) + img = Label(frame, image=render) + img.image = render + img.place(x=0, y=0) + showImage.config(state=DISABLED) + except : + response = messagebox.showwarning("Import Error", "Captured Image couldn't dispaly!") + + def captureimage(): + showImage.config(state=NORMAL) + try: + for widget in MiddleFrame.winfo_children(): # clear the frame + widget.destroy() + except: + pass + #capture and show text + textFrame = LabelFrame(MiddleFrame, font=(myFont, myFontSize) ,text="Conversion Output") + textFrame.pack(fill="both", expand=True) + + showText = ScrollableFrame(textFrame) + Text = Label(showText.scrollable_frame, padx=10, pady=5, justify=LEFT,font=(myFont, myFontSize) ,text=in_main) + Text.pack(fill="both", expand=True) + showText.pack(fill="both", expand=True) + + #t2s frame initialisation + frame = Toplevel() + frame.title("Text to Speech | Dicto Writter") + frame.iconbitmap(icon_path) + frame.geometry("720x480") + + #Create Base Frame + defaultFrame = Frame(frame) + defaultFrame.pack(fill="both", expand=True, padx=1, pady=1) + + MainFrame = Frame(defaultFrame) + MainFrame.pack(fill="both", expand=True) + + #Create Inner Widgets + TopFrame = Frame(MainFrame, bd=5, width=720, height=240, padx=2, relief=RIDGE, bg="#f0f0f0") + TopFrame.pack(fill="both", expand=True) + + #Button + captureButton = Button(TopFrame, text="Capture Image", padx=20, pady=10, command=captureimage) + captureButton.pack(side=LEFT, padx=30, pady=10) + + showImage = Button(TopFrame, text="Show Image", padx=20, pady=10, command=showimage) + showImage.pack(side=RIGHT, padx=30, pady=10) + + MiddleFrame = Frame(MainFrame, bd=5, width=720, height=150, padx=2, relief=RIDGE, bg="cadet blue") + MiddleFrame.pack(fill="both", expand=True) + + ''' --------------------- Close Button --------------------- ''' + BottomFrame = Frame(defaultFrame, bd=1, relief=RIDGE, bg="#de1212") + BottomFrame.pack(side=RIGHT, pady=10) + Exit = Button(BottomFrame, text="Close", command=frame.destroy, fg="#ffffff", bg="#de1212", relief=FLAT) + Exit.pack(padx=5, pady=5) + + +def help_frame(option): + frame = Toplevel() + frame.title("Dicto Writter") + frame.iconbitmap(icon_path) + frame.geometry("720x480") + if option == 'help': + #Create Main Frame for help + defaultFrame = Frame(frame) + defaultFrame.pack(fill="both", expand=True, padx=1, pady=1) + + #Create Inner Widgets + TopFrame = LabelFrame(defaultFrame, bd=2, width=480, height=300, padx=30, pady=30, relief=RIDGE, bg="#666666", fg="#ffffff", font=(myFont, 14, "bold"), text="Help") + TopFrame.pack(fill="both", expand=True) + + helpText = Label(TopFrame, bg="#666666", fg="#ffffff", font=(myFont, myFontSize), text=myHelp) + helpText.pack(fill="both", expand=True, padx=5, pady=5) + + if option == 'about': + #Create Main Frame for about + defaultFrame = Frame(frame) + defaultFrame.pack(fill="both", expand=True, padx=1, pady=1) + + #Create Inner Widgets + TopFrame = LabelFrame(defaultFrame, bd=2, width=480, height=300, padx=30, pady=30, relief=RIDGE, bg="#7280ab", fg="#ffffff", font=(myFont, 14, "bold"), text="About") + TopFrame.pack(fill="both", expand=True) + + aboutText = Label(TopFrame, fg="#ffffff", bg="#7280ab", font=(myFont, myFontSize), text=myAbout) + aboutText.pack(fill="both", expand=True, padx=5, pady=5) + +if __name__ == "__main__": + # initialisation of tkinter + root = Tk() + root.title("Dicto Writter") + root.iconbitmap(icon_path) + root.geometry("480x320") + + ''' Menu Options ''' + menubar = Menu(root) + + select_menu = Menu(menubar, tearoff=0) + select_menu.add_command(label="Speech to text", command=lambda: s2t_frame()) + select_menu.add_command(label="Text to Speech", command=lambda: t2s_frame()) + select_menu.add_separator() + select_menu.add_command(label="Exit", command=root.quit) + menubar.add_cascade(label="Select", menu=select_menu) + + help_menu = Menu(menubar, tearoff=0) + help_menu.add_command(label="Help Index", command=lambda: help_frame('help')) + help_menu.add_separator() + help_menu.add_command(label="About...", command=lambda: help_frame('about')) + menubar.add_cascade(label="Help", menu=help_menu) + + ''' --------------------- Creating the frame --------------------- ''' + #Create Main Frame + defaultFrame = Frame(root) + defaultFrame.pack(fill="both", expand=True, padx=10, pady=10) + + #Create Inner Widgets + TopFrame = Frame(defaultFrame, bd=2, width=480, height=300, padx=20, pady=20, relief=RIDGE, bg="light grey") + TopFrame.pack(fill="both", expand=True) + + # Main Widgets Buttons + s2t_button = Button(TopFrame, text="Speech to Text", command=s2t_frame, fg="#ffffff", bg="#006773", padx=20, pady=20, relief=RAISED, font=("Helvetica", 14, "bold")).pack(fill="both", expand=True, padx=2, pady=2) + + t2s_button = Button(TopFrame, text="Text to Speech", command=t2s_frame, fg="#ffffff", bg="#006773", padx=20, pady=20, relief=RAISED, font=("Helvetica", 14, "bold")).pack(fill="both", expand=True, padx=2, pady=2) + + ''' --------------------- Exit Button --------------------- ''' + BottomFrame = Frame(defaultFrame, bd=1, relief=RIDGE, bg="#de1212") + BottomFrame.pack(side=RIGHT, pady=20) + Exit = Button(BottomFrame, text="Exit", command=root.quit, fg="#ffffff", bg="#de1212", relief=FLAT) + Exit.pack(padx=5, pady=5) + + + root.config(menu=menubar) + root.mainloop() From 7b2f8bfbfd01f9657f974e4d4d48f1b0bc388876 Mon Sep 17 00:00:00 2001 From: P Shrivatsa Bhat <52356082+shrivatsaBhat@users.noreply.github.com> Date: Wed, 8 Apr 2020 17:32:56 +0530 Subject: [PATCH 17/19] GUI Frame work bug on the display text is solved --- dictoWriterGUI.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/dictoWriterGUI.py b/dictoWriterGUI.py index d81e6ae..7cbb1f9 100644 --- a/dictoWriterGUI.py +++ b/dictoWriterGUI.py @@ -17,7 +17,9 @@ icon_path = "E:\Visual_Studio_Code\python\GUI\Dicto-Writter_small.ico" captured_image_path = "E:\Visual_Studio_Code\python\GUI\Dicto-Writter_small.png" -in_main = "" +in_s2t_main = " ." + +in_t2s_main = " ." myHelp = "For Step by step help please refer the following link:\r\nHACKERMINDS/Dicto-Writter\r\n(https://github.com/hackerminds/DICTO-WRITTER)" @@ -57,7 +59,7 @@ def startMechine(): # showText.pack(fill="both", expand=True) showText = ScrollableFrame(textFrame) - Text = Label(showText.scrollable_frame, padx=10, pady=5, justify=LEFT,font=(myFont, myFontSize) ,text=in_main) + Text = Label(showText.scrollable_frame, padx=10, pady=5, justify=LEFT,font=(myFont, myFontSize) ,text=in_s2t_main) Text.pack(fill="both", expand=True) showText.pack(fill="both", expand=True) @@ -135,7 +137,7 @@ def captureimage(): textFrame.pack(fill="both", expand=True) showText = ScrollableFrame(textFrame) - Text = Label(showText.scrollable_frame, padx=10, pady=5, justify=LEFT,font=(myFont, myFontSize) ,text=in_main) + Text = Label(showText.scrollable_frame, padx=10, pady=5, justify=LEFT,font=(myFont, myFontSize) ,text=in_t2s_main) Text.pack(fill="both", expand=True) showText.pack(fill="both", expand=True) From 4c554538ebd004f926adb3f2badbca03055eaa23 Mon Sep 17 00:00:00 2001 From: P Shrivatsa Bhat <52356082+shrivatsaBhat@users.noreply.github.com> Date: Thu, 9 Apr 2020 16:35:22 +0530 Subject: [PATCH 18/19] solved dependency problem since icon bitmap does not support in raspberry pi , that set of line code is removed --- dictoWriterGUI.py | 40 +++++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/dictoWriterGUI.py b/dictoWriterGUI.py index 7cbb1f9..a2951c3 100644 --- a/dictoWriterGUI.py +++ b/dictoWriterGUI.py @@ -1,3 +1,6 @@ +import main as dw +#import dictowritter as dw + from tkinter import* from tkinter import messagebox try: @@ -5,17 +8,17 @@ except: try: response = messagebox.askyesno("Import Error", "Do you want to install missing Library?") - # if response == "yes": - # os.system("sudo pip3 install Pillow") - # else: - # messagebox.askyesno("Import Error", "Did not install missing Library!") + if response == "yes": + os.system("sudo pip3 install Pillow") + else: + messagebox.askyesno("Import Error", "Did not install missing Library!") except: messagebox.showinfo("Import Error", "Please install pillow library!") myFont = "Courier" myFontSize = 12 -icon_path = "E:\Visual_Studio_Code\python\GUI\Dicto-Writter_small.ico" -captured_image_path = "E:\Visual_Studio_Code\python\GUI\Dicto-Writter_small.png" + +captured_image_path = "./Dicto-Writter_small.png" in_s2t_main = " ." @@ -47,21 +50,29 @@ def __init__(self, container, *args, **kwargs): def s2t_frame(): + def startMechine(): startButton.config(state=DISABLED) stopButton.config(state=NORMAL) + + # check for fedback option #print(checkButtonVar.get()) + dw.ttsfeedback = checkButtonVar.get() + textFrame = LabelFrame(MiddleFrame, font=(myFont, myFontSize) ,text="Conversion Output") textFrame.pack(fill="both", expand=True) - - # showText = Text(textFrame, width=720, height=280, padx=10, wrap=WORD, spacing1=1, spacing2=1, spacing3=1) - # showText.insert(INSERT, "Text Widgetn20 characters widen3 lines high")#END or INSERT - # showText.pack(fill="both", expand=True) - + + # send signal to main program and get the data + dw.plotter_handler() + dw.main() + in_s2t_main = dw.newtext + + # show the transcripted text on GUI showText = ScrollableFrame(textFrame) Text = Label(showText.scrollable_frame, padx=10, pady=5, justify=LEFT,font=(myFont, myFontSize) ,text=in_s2t_main) Text.pack(fill="both", expand=True) showText.pack(fill="both", expand=True) + def stopMechine(): startButton.config(state=NORMAL) @@ -72,7 +83,6 @@ def stopMechine(): #s2t frame initialisation frame = Toplevel() frame.title("Speech to Text | Dicto Writter") - frame.iconbitmap(icon_path) frame.geometry("720x480") #Create Base Frame @@ -86,7 +96,7 @@ def stopMechine(): TopFrame = Frame(MainFrame, bd=5, width=720, height=80, padx=2, relief=RIDGE)#, bg="#f0f0f0") TopFrame.pack(fill="both", expand=True) - # Check Box + # Check Box for feedback option checkButtonVar = StringVar() feedBackOption =Checkbutton(TopFrame, text="Feedback", variable=checkButtonVar, onvalue="On", offvalue="Off") feedBackOption.deselect() @@ -117,7 +127,6 @@ def showimage(): render = ImageTk.PhotoImage(load) frame = Toplevel() frame.title("Captured Image | Dicto Writter") - frame.iconbitmap(icon_path) img = Label(frame, image=render) img.image = render img.place(x=0, y=0) @@ -144,7 +153,6 @@ def captureimage(): #t2s frame initialisation frame = Toplevel() frame.title("Text to Speech | Dicto Writter") - frame.iconbitmap(icon_path) frame.geometry("720x480") #Create Base Frame @@ -178,7 +186,6 @@ def captureimage(): def help_frame(option): frame = Toplevel() frame.title("Dicto Writter") - frame.iconbitmap(icon_path) frame.geometry("720x480") if option == 'help': #Create Main Frame for help @@ -208,7 +215,6 @@ def help_frame(option): # initialisation of tkinter root = Tk() root.title("Dicto Writter") - root.iconbitmap(icon_path) root.geometry("480x320") ''' Menu Options ''' From 63acafa7a05bb85df53ef56446b971827c341b03 Mon Sep 17 00:00:00 2001 From: P Shrivatsa Bhat <52356082+shrivatsaBhat@users.noreply.github.com> Date: Wed, 15 Apr 2020 17:40:47 +0530 Subject: [PATCH 19/19] Added website link of Arnab CoreXY --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 8db5bf2..2518a8a 100644 --- a/README.md +++ b/README.md @@ -154,3 +154,9 @@ Trick : https://learn.onemonth.com/automate-web-forms-with-python/ #### UNIVERSAL GCODE SENDER https://youtu.be/u35L0jGCqFc + + +#### SETUP FOR MECHANICAL BODY + +https://arnabkumardas.com/cnc.html +