Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add circular arc point type #185

Open
adaerr opened this issue Jul 20, 2021 · 0 comments
Open

Add circular arc point type #185

adaerr opened this issue Jul 20, 2021 · 0 comments
Labels
proposal Proposed specification change. ufo4 UFO 4 issues.

Comments

@adaerr
Copy link

adaerr commented Jul 20, 2021

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.

Does this make any sense ?

@benkiel benkiel added proposal Proposed specification change. ufo4 UFO 4 issues. labels Jan 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
proposal Proposed specification change. ufo4 UFO 4 issues.
Projects
None yet
Development

No branches or pull requests

2 participants