Hello,
TL;DR: I invite you to help me improve a ULP to render Hershey fonts for
PCBs in EAGLE. See the ULP downloads section of the Cadsoft website or:
http://www.avon-tech-solutions.co.nz/hershey.html or
https://github.com/nallison/hershey-text-eagle
GROUP the text to render then RUN hershey-text.ulp
Longer story.
Many will recall various threads on how some of us would like "pretty
text" on our pcb "artworks" rather than just using the default vector
font. For example:
"EAGLE 6 vector font (was: Teaser peek at Version 6 XML Format)",
15-Sep-2011, eagle.userchat.eng
"Addition of a new standardized font", 18-Jan-2012, user.suggest.eng
Having used "other" CAD applications that produced more visually
appealing fonts in the silkscreen, I've always wanted to develop a
"Pretty Text" ULP for my pcb design work. A few weeks ago I discovered
an Inkscape extension that uses Hershey fonts for engraving. I already
knew about the copy-text-as-wire.ulp and I thought it would be possible
to combine these approaches for EAGLE.
So, I've written hershey-text.ulp to render text in Hershey fonts using
wires. My goal was to convert smashed reference designators (tNames) or
text on any copper, stop, milling or silkscreen layer into any Hershey
font. I wanted to be able to adjust the slope and stroke (wire) width.
Rather than render text directly on the layer, the default ULP options
"automagically" make a package of the wires comprising the Hershey font
and then add it to the board at the text insertion point. Of course,
directly rendering it in the board is possible.
I've modified a copy of the futural.jhf simplex font to produce
eagles.jhf that also includes some characters from the extend ascii
range present in the EAGLE fonts: 169 copyright, 176 degree, 177
plus-minus, 181 micro, 216 diameter, 219 Ohm/omega.
I have produced gerber outputs using rowmant.jhf and eagles.jhf fonts
that I think are satisfactory but I've not sent the boards to be
manufactured yet. I choose to put the Hershey text on user layers, e.g.
121, 125, etc, and change the CAM job layer settings to match this.
I offer the ULP in the hope it might be useful for others. I invite
other EAGLE users to test it and suggest improvements. I developed this
ULP in v5.10 and v5.12 Professional on WinXP. I have made some
preliminary tests on Debian7 with v5.12 Professional and v6.5.0 Light
and I invite you to test using recent versions and/or the GNU/Linux and
Mac platforms.
The new text alignment and multi-line facilities of V6 are not currently
supported in the ULP. I've a conceptual solution but have not started
developing or testing it yet.
hershey-text.ulp meets my current needs. However, I have some ideas to
improve the ULP for others and will do my best to support the ULP as my
commitments allow. I have also made ULP my first attempt at using
GitHub for a project. Initially I envisage some incremental
improvements will be available on the GitHub site and only major
advances would be submitted to the Cadsoft ULP downloads area.
Comments and suggestions welcome.
Kind regards,
Neil
--
Neil Allison
Avon Technical Solutions Ltd
Christchurch, New Zealand