-
Notifications
You must be signed in to change notification settings - Fork 94
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
Support bracket layers in Glyphs #399
Comments
Bonus: I would love it if fontmake put all the alternates glyphs at the end of the glyf table. This means that if we add an alternate in a later version, the alternate would go at the end, and the glyph order of the previously released glyphs would be preserved (so that VTT sources continue to work). |
Some context: currently my workaround is to manually duplicate the alternate glyphs, hand-code the rvrn feature, extra lookup, and FeatureVariations code, then use ttx to overwrite the GSUB table. It also means I need to re-merge GSUB anytime something else in GSUB changes. This makes for a bit of a tedious workflow. |
I'm having this issue at the moment as well but I don't understand how to do this for brace trick, I have for example this scenario: 2 masters, light and bold, i need to add a regular in the middle, i tried to extrapolate the end masters to and have them switch between at the 'regular' breakpoint but the intermediate instances aren't correct anymore Do you have any ideas? |
This is becoming a critical blocker for Google Fonts weight upgrades :) |
Until it is supported in fontmake I have workarounds for both brace and bracket layers at the moment and have been getting decent results. Here is the script I use for fixing brackets: Essentially the process is:
|
Basic bracket layer support is in glyphsLib master. It uses Designspace's rules element, so it's usable today. |
Does that mean bracket layers work without any extra work – i.e. none of the above duplication steps and running extra scripts ? |
Yes, under a few conditions:
Ask if you want me to clarify something, it's close to 1am here and I should be asleep. |
It should just work as soon as we tag a new glyphsLib release (Nikolaus can you do that?) and then update and merge the pending fontmake PR, and tag new fontmake release. Note that I am travelling this week so it may take a bit. |
I can but then we have source layers in .designspace files while fontmake can't reliably compile them yet, which will probably lead to anger and misery 😢 I still need to figure out how to change _add_MVAR to accommodate for sparse masters with missing tables... |
I just found a bug in git master glyphs2ufo that makes WorkSans-Regular.ufo be empty. Joy. |
fontmake 1.9.1 supports brace and bracket layers automatically. |
@madig is it still the same protocol as here #399 (comment) ? I'd love to try it out. |
Just take e.g. Work Sans and do I just realized that this won't work for generating static fonts. There, you need to |
Wow that's great!!! So it uses brace OR bracket layer glyphs and the weight naming right? What should one do in the situation where you have brace glyphs, but the glyph is being swapped out with a custom parameter. |
It uses brace AND bracket layers. Custom renaming/swapping parameters are currently not supported. What do you mean by weight naming? |
Bracket layers in Glyphs are a very convenient mechanism for drawing alternates for glyphs. It would be very helpful if fontmake supported Glyphs' bracket layers, storing the layers as additional glyphs in the glyf table, and generating the necessary rvrn feature and Feature Variations code in GSUB.
This could be implemented using Rules in the .designspace file. Fontmake would just generate the rules append the alternate glyphs to the glyf table. Fonttools.varLIb could consume it all and generate the FeatureVariations code. This would also free us up from depending on feature file syntax.
The text was updated successfully, but these errors were encountered: