-
Notifications
You must be signed in to change notification settings - Fork 30
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
Extension proposal: Corner components #213
Comments
Can you name the font editor(s) among "Several font editors" that is not Glyphs? |
FontLab 8 supports this under the name of "skins": https://help.fontlab.com/fontlab/8/whats-new/whats-new-05-build-assemble/#skin-filter |
That should be the distance, not the individual y or x coordinates.
I don’t see why that is needed. Maybe the above comment removes that requirement? |
Several font editors implement a concept variously known as "corner components" or "corner skins"; this concept is often used for serifs, ink traps, or other modification and decorations of a on-curve point on a contour.
Definitions
A corner component is a component containing at least one open contour (the corner contour) and zero or more other contours.
In the editor's interface, this component is associated with a on-curve point (the target point) on a closed contour (the host contour).
The on-curve point stores information about the name of the component to apply, an optional scaling factor, and an alignment.
The instroke is the segment of the contour which ends at the target point, and the outstroke is the segment of the contour which begins at the target point.
The alignment of a corner component is either outstroke (also known as "left", but this terminology is not recommended), instroke ("right"), middle or unaligned. These alignments will be explained below.
A component is flipped if either its X scaling factor or Y scaling factor is negative, but not both.
Storage
Corner components should be stored as a dictionary of data in a point-level lib, under this key:
uk.co.corvelsoftware.corner-components
with the following items:
name
scaleX
scaleY
alignment
instroke
Processing
To process a corner component, the font compiler is expected to perform the following operations:
origin
,left
andright
anchors within the corner component glyph, and store their values.origin
anchor, translate all the components and anchors of the component glyph such that this anchor becomes placed at (0,0).Notes
left
andright
anchors in the component glyph.The text was updated successfully, but these errors were encountered: