On Sun, Oct 13, 2013 at 06:04:46PM -0000, Daniel Santos wrote:
> Hmm, while I'm not certain, we may be talking about the same thing, but
> from a different standpoint.  I don't see any reference in the gerber
> spec to the word "raster". If you are talking about drawing straight
> lines with an apeture to to rasterize your own image, I'm wondering if
> this falls into the catagory of "stroke painting" which unamco is
> claiming to be "harmful" (see the PDF named "Gerber File Format:
> Painting Considered Harmful" on the page
> http://www.ucamco.com/downloads.aspx).

Yes, that is however referred to copper pours. It is indeed a deprecated
way to fill zones (however pcbnew still supports it), mainly because
it's difficult to handle with CAM processors, to check netlists and
fabrication rules. However text is (hopefully) far from copper areas or
on the silkscreen so it doesn't suffer from these drawbacks.

The main problem with area fills with fonts it the model used to
represent outlines and suboutlines (i.e. internal cutouts); the font
model uses the common 'postscript' model:

- Outlines are described with lines, quadric and cubic curves, depending
  on the font: truetype uses quadrics, Type1/CFF uses cubics; lines are
  represented as the obvious degeneration of said curves; orientation of
  the (sub)outlines is consistent and mandatory (I don't remember the
  details);

- Sub-outlines are handled closing the current outline and opening a new
  one. Inner area is described (IIRC) using the winding rule (need to
  check for details on this and on self intersecting outlines).

If you ever used Corel Draw/Adobe Illustrator/Inkscape that's the usual
graphic model for handling outlines.

Gerber instead uses a way different (and simpler) model for outlines:

- Outlines are described with lines and circular arcs (as different
  primitives), orientation is not defined nor required;

- There are no suboutlines, internal cutouts have to be represented with
  a zero-width isthmus cutting thru the filled area to the cutout. Page
  49 better explains that.

The most similar thing I can think of are autocad polylines and shapes.
In fact SHP/SHX fonts are described exactly as polylines and I actually
have a working converter from SHP to the Hershey encoding used by kicad
(my ISO branch uses an hand-tuned version of the ISOCP font). 

The first difference is easily handled approximating the curves with lines
(fun fact: the bezier curves used by fonts can't actually exactly
describe circular arcs, which are the only gerber supported curves).
However the difference on suboutlines need to be resolved with
a numerically stable way to find a good point to cut the filled area:
think about the eye in the R glyph: you need to find a non
self-intersecting line connecting the perimeter with the eye (the
@ glyph is left as an exercise:D). The stability condition is needed
because the entry line and the exit line must be exactly overlapped to
avoid artifacts (remember: they can't self intersect so they must be the
same!). I'm not saying it can't be done but needs considerable
computational geometry experience (which I don't have...i.e. I haven't
a good idea on how to do it in the general case).

> However, it was my understanding that a modern photoplotter would take
> your contour regions and rasterize them to produce the final output,
> leaving you to just draw what you need in as simple of terms as possible
> and let the plotter rasterize it.  Please correct me if I'm
> misunderstanding something here.

Yes, the plotter give you a (polyesther, probably) film with these
characteristics. However usually the film simply produces an images over
a coarse grid of wires (which can even have 0.2mm pitch with some
processes!). Look here http://en.wikipedia.org/wiki/File:Ssc.jpg

There are different, more expensive, processes which gives you better
resolution, of course.

Anyway all the board I've seen screened with a non-vector font had the
raster shapes quite visible under magnification (you see the round line
caps on the left and side of the letters), so I'd assume that's the
industry standard practice.

The idea of using gerber fills for filling glyphs is interesting anyway,
let me know if you manage to handle that.

-- 
Lorenzo Marcantonio
Logos Srl

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/668145

Title:
  Font preferences not available anymore, internal font changed

To manage notifications about this bug go to:
https://bugs.launchpad.net/kicad/+bug/668145/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to