(The image above shows src/demo_hello_word.ngc in LinuxCNCs simulator with sim/axis/axis_mm.ini)
The current release is "hf2gcode 0.3.0", please see topic "Bugs" or "TODO" below before you report a bug.
German "Umlaute" ÄÖÜäöü are only implementes in font rowmans (hf2gcode default) yet.
Available fonts in "hf2gcode 0.3.0": cursive, futural, futuram, gothgbt, gothgrt, gothiceng, gothicger, gothicita, gothitt, greekc, greek, greeks, rowmand, rowmans, rowmant, scriptc, scripts, symbolic, timesg, timesib, timesi, timesrb, timesr
Overview on http://www.tech-chat.de/png_album/
- gcc, the GNU Compiler Collection, libc
- GNU argp
- (OPTIONAL) GNU Octave if you want to generate the hershey font overview svgs or to generated the hershey_font C declarations.
cd src make
./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]
./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 <andy.weber.aw@gmail.com>.
- 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_svg: All fonts as 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 reads user input from 8x8 matrix keyboard, generates the g-code with libhf2gcode and sends the generated g-code to grbl which controlls the stepper for the CNC mill.
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
-
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".
Zarro Boogs Found
GPLv3, see file LICENSE