googlefonts / googlefonts/fontc
fea-rs does not handle glyphs property tokens
- Dominant language
- Rust
- Stars
- 193
- Forks
- 21
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 65
Description
I wasn't aware of this and I don't see it documented, but it's another cause of diff in Playfair.
Apparently you can write the following fea in glyphsapp:
```fea
pos a b ${D:width*4.5} ;
```
and this uses the width of the D glyph as the number value.
*edit: @khaledhosny points out below that this syntax is a [glyphs property token](https://handbook.glyphsapp.com/layout/tokens/#layout/tokens/glyph-property).*
~I'm not sure how widespread this is, and it wouldn't be hard to handle this particular case (of glyph widths) but it would be nice to know the full extent of this syntax.~
~Ultimately I would dream of a world where we agree to a variable FEA syntax and then glyphs.app handles converting its internal syntax into the common variable syntax, or something along these lines.~
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading the linked Glyphs property token documentation and tracing how fea-rs parses numeric values in feature code. Determine the supported glyph-property token forms, then add handling and focused coverage for the reported `${D:width*4.5}` case. Done means valid property-token input no longer produces a diff in Playfair.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100