On Mon, Nov 22, 2010 at 4:06 PM, Colin D Bennett <[1]co...@gibibit.com> wrote:
On Mon, 22 Nov 2010 13:50:03 -0600 Mark Rages <[2]markra...@gmail.com> wrote: > On Mon, Nov 22, 2010 at 1:29 PM, Colin D Bennett <[3]co...@gibibit.com> > wrote: > > How hard would it be to make use of the freetype library to handle > > all vector-based fonts? I imagine the font outlines could be > > converted to line elements fairly easily... ? > > pcb's fonts are special: they are a single line wide. When you need > the smallest letters that a given silk process can print legibly, you > want those single-line fonts. OK, that is understandable. I can see that it would be extremely difficult to get an automated conversion of general fonts to single-line-wide fonts. Perhaps still possible, for simple sans-serif fonts by varying the line width dynamically? Anyway, it sound difficult enough that it won't be done. > For larger fonts, freetype would be great, and save us the > machinations of creating the text in inkscape or something and > importing it with pstoedit. I really wanted to create a logo/description label in Inkscape and put it on a board I recently made, but after trying for an hour or two to get pstoedit to import text elements properly (holes in letters like 'B' or 'o' were getting filled in when exported to the 'pcb' file format), I gave up. I tried the '-ssp' option to pstoedit but it crashed every time an assertion failure. Have you had better luck with converting text or graphics to pcb format? My results: - Converting text without -ssp option: pstoedit doesn't crash, but letters have their holes filled in - Converting text with -ssp option: pstoedit crashes I have successfully converted a simple open triangle drawn with a 30 mil stroke from Inkscape->pstoedit->pcb, but even the simplest text causes pstoedit to crash. Here's an example that crashes for me. The file Text.ps simply contains an uppercase letter 'A' in Liberation Sans font. I also checked the 'export text as paths' option for the file Text_notext.ps but pstoedit still crashed. I'm using pstoedit 3.50 on Ubuntu 10.04/amd64 and have also tested on pstoedit 3.45 under Ubuntu 9.10/i386, with the same result. c...@svelte:~$ pstoedit -f pcb Text.ps -ssp Text.pcb pstoedit: version 3.50 / DLL interface 108 (build Jan 25 2010 - release build - g++ 4.4.3) : Copyright (C) 1993 - 2009 Wolfgang Glunz pstoedit: drvbase.h:789: const Point& drawingelement<nr, curtype>::getPoint(unsigned int) const [with unsigned int nr = 0u, Dtype curtype = (Dtype)2u]: Assertion `(i+1) < (nr+1)' failed. Aborted c...@svelte:~$ pstoedit -f pcb Text_notext.ps -ssp Text_notext.pcb pstoedit: version 3.50 / DLL interface 108 (build Jan 25 2010 - release build - g++ 4.4.3) : Copyright (C) 1993 - 2009 Wolfgang Glunz pstoedit: drvbase.h:789: const Point& drawingelement<nr, curtype>::getPoint(unsigned int) const [with unsigned int nr = 0u, Dtype curtype = (Dtype)2u]: Assertion `(i+1) < (nr+1)' failed. Aborted I haven't had a chance to file a bug for pstoedit or dig any deeper, but I wondered if anyone has encountered this problem before, and if there is a workaround. Regards, Colin It's not much of a workaround for anything large-scale, but I once exploited the fact that pstoedit (with no special options) generates the holes in characters as plain polygons. So it's possible (though rather tedious) to manually edit the generated PCB file and turn the hole-polygons into holes in their correct polygons. I did this once for some logotype, then kept the resulting .pcb file around. I don't remember off the top of my head whether I used the "pcb" or "pcbfill" driver in pstoedit. -Andrew References 1. mailto:co...@gibibit.com 2. mailto:markra...@gmail.com 3. mailto:co...@gibibit.com
_______________________________________________ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user