A system for specifying glyph spacing values as formulas containing references to other glyphs. It is a work in progress.
A formula is a line of text defingin how a spacing value should be calculated. The formulas may contain the following parts:
- static numbers
- references to glyphs
- math symbols
The formula will be converted to a Python expression and evaluated to calculate the final value.
Numbers are numbers.
1010.01-10-10.01
Glyphs are referenced by name. The name will reference the glyph with the given name in the same layer as the target glyph.
Shyphenspace
A glyph name may have a symbol attached to it to indicate which metric value should be used. These are mapped to the following fontParts attributes:
| Symbol | fontParts Attribute |
|---|---|
@left |
glyph.leftMargin or glyph.angledLeftMargin |
@right |
glyph.rightMargin or glyph.angledRightMargin |
@width |
glyph.width |
parenleft@rightspace.tab@width
If no symbol is attached to a glyp name, the metric being set is implied.
| Metric | Implied Symbol |
|---|---|
| left margin | @left |
| right margin | @right |
| width | @width |
If you want a glyph to reference itself, for example to make the right margin equal the left margin, enter the symbols without a glyph name.
@left
The basic Python math symbols are allowed in formulas:
+-*/()