0
\$\begingroup\$

I'm working with Eagle 7.7.0 and trying to import SVG files using svg2poly to put a logo on the silkscreen. To aid in the process, I've downloaded the current version of Inkscape, which is 0.92. I'm working from a combination of the instructions on the GitHub site and this tutorial from SparkFun.

The short version of the problem is that I can import shapes just fine, but any text in the SVG file is either muddled beyond recognition or missing completely. I've tried different fonts, including the default sans-serif, and different sizes. I followed the instructions for breaking the closed-loop letters into multiple open shapes, and that had no impact. As an ultra-simple case, I tried to import an SVG that was just a lower-case 'l', which is essentially just a rectangle in sans-serif, and even that did not work. (Came out as a triangular shape.)

The only things that I see that are different between what I'm doing and what's published:

  • I'm using the current Inkscape (0.92) and the instructions are for "Inkscape 0.47 or newer". Are there any known problems for with the newest version? Is there perhaps some trick to making text work that's not documented?
  • I'm drawing / typing my examples directly in Inkscape, whereas some of the online guides talk about importing SVG that was made with a different program.

More detailed description of steps for the simple case with just lower-case 'l':

  1. Open Inkscape. Make text area and type lower-case 'l'. Change font size to 72, but leave font as sans-serif.
  2. Select all layers (ctrl-alt-a). Click the lock button to lock height/width ratio. Change units to mm and set height to 100.
  3. Under File > Document Properties... select Resize page to content drop-down and click Resize page to drawing or selection.
  4. Convert object to path (shift-ctrl-c). Ungroup (shift-ctrl-g). Repeat ungroup a few times. (For this simple case, nothing seems to ungroup. When I had a whole word there in an earlier trial, the individual letters each became their own entity.)
  5. Select all nodes (F2 followed by ctrl-a). Select Extensions > Modify Path > Add Nodes leave defaults and click Apply. Select Extensions > Modify Path > Flatten Beziers leave defaults and click Apply. (Neither of these steps made any obvious change for the single 'l' or for larger cases with whole words.)
  6. The single 'l' has no closed loops, so I skipped the related steps for that. (When I had whole words, I did follow these steps.)
  7. Export as "Plain SVG" using Save As from the File menu.
  8. In Eagle, type mark and click a location.
  9. Type run svg2poly 0.1 and select the file created above.
  10. Observe result. In this case a triangular shape instead of an 'l'. (Again, it's sans-serif so the original was basically a rectangle.)

In some cases with more text, I got apparently random polygons. Maybe a few looked vaguely like letters.

Are their known issues with svg2poly and newer versions of Inkscape? Are there undocumented tricks that I need to make this work?

\$\endgroup\$

2 Answers 2

0
\$\begingroup\$

You need to convert the text to a vector as the tool does not understand typefaces. So within Inkscape

1) Use the text tool to insert test 2) Select the text object 3) goto: Path --> Object to Path.

This will turn your text into a vector. Save as an svg and use the tool

\$\endgroup\$
1
  • \$\begingroup\$ I did that in what I called Step #4 in my question. I've downgraded to Inkscape 0.47 and that seems to be getting me closer in the meantime, although still not quite right. (Some letters legible now, others spaced wrongly and mis-shaped.) \$\endgroup\$
    – Brick
    Commented Sep 20, 2017 at 21:40
0
\$\begingroup\$

I got this by reverting to version 0.47 of Inkscape and then making a few additional changes to my file. I'd be curious to know which versions of Inkscape are compatible, but I'm not going to increment through them myself now that I have a working tool.

FWIW, the last thing that held me back once I downgraded was realizing that the 'i' in my text was an "open shape" from the point of the code. It looked like a square over a rectangle (two closed shapes) to me, but it was a single shape with a break to the code. "Dividing" the dot from the rest ala the published instructions fixed that up.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.