Some description languages used to describe graphics for engraving, pen plotting or CNC machining only support straight lines and circular arcs, not the Bézier curves that are common in font design and graphics formats targeting screens or printers (Postscript, SVG, ...). One example is the Gerber format used by PCB industry software to describe the printed circuit board images. It is currently not possible in UFO to describe a glyph composed of strokes other than straight lines that can be natively rendered in such a format.
It may be argued that it is up to the rendering software to approximate contours composed of (Bézier) curves by circular arcs and straight line segments, but it may also be interesting (both from a technical and artistic point of view) to provide the
possibility of designing fonts made of lines and (circular) arcs that could be rendered natively.
Of course introducing a circular arc type would require existing UFO-processing software to either handle it natively or convert it on the fly to a Bézier approximation. If designed carefully, the specification for arc segments could require enough data to make this conversion trivial, e.g. by providing tangent vectors for the best Bezier approximation (a good approximation for arcs of less than 90 degres). Conversely,
support for arcs could be added by extending curve-type points by appropriate metadata/attribute hints. Unaware readers would then read Bézier data, while other readers could recognize that the segment was supposed to be a circular arc without loss of information.
Some description languages used to describe graphics for engraving, pen plotting or CNC machining only support straight lines and circular arcs, not the Bézier curves that are common in font design and graphics formats targeting screens or printers (Postscript, SVG, ...). One example is the Gerber format used by PCB industry software to describe the printed circuit board images. It is currently not possible in UFO to describe a glyph composed of strokes other than straight lines that can be natively rendered in such a format.
It may be argued that it is up to the rendering software to approximate contours composed of (Bézier) curves by circular arcs and straight line segments, but it may also be interesting (both from a technical and artistic point of view) to provide the possibility of designing fonts made of lines and (circular) arcs that could be rendered natively.
Of course introducing a circular
arc
type would require existing UFO-processing software to either handle it natively or convert it on the fly to a Bézier approximation. If designed carefully, the specification forarc
segments could require enough data to make this conversion trivial, e.g. by providing tangent vectors for the best Bezier approximation (a good approximation for arcs of less than 90 degres). Conversely, support for arcs could be added by extendingcurve
-type points by appropriate metadata/attribute hints. Unaware readers would then read Bézier data, while other readers could recognize that the segment was supposed to be a circular arc without loss of information.Does this make any sense ?