(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