floriankarsten / montagu-slab

Montagu Slab by Florian Karsten
SIL Open Font License 1.1
32 stars 4 forks source link

Corner components not building #6

Closed mightybart closed 3 years ago

mightybart commented 3 years ago

Right now there are some extra steps needed before building the fonts with fontmake:

  1. duplicate glyphs file
  2. run mekkablue "Decompose Corner Components" script on all masters
  3. fix incompatible outlines (the script also deletes unnecessary points, however, some of these are needed for variable font compatibility)
  4. build from this file

Related to https://github.com/googlefonts/glyphsLib/issues/91 There is no solution yet (if I understand it correctly).

mightybart commented 3 years ago

Incompatible outlines after running the script now fixed.

vv-monsalve commented 3 years ago

There is no solution yet (if I understand it correctly).

AFAIK no, there isn't. So the listed above is about right.

vv-monsalve commented 3 years ago

Hi @mightybart, Dave suggested to export the ufos from Glyphs and then produce the fonts as a workaround to avoid decomposing the corner components.

mightybart commented 3 years ago

Just tested this, and it's a very clean solution for corner components and other smart stuff, but this creates another issue – bracket layers are completely missing.

I don't know if this can be solved, there is no export setup for this inside Glyphs app. Or is it?

UFO created with "glyphs2ufo" does include bracket layers (but of course corner components are missing).

vv-monsalve commented 3 years ago

AFAIK the designspace supports bracket layers. So, in that case, you could produce the fonts from a tuned designspace file.

I would give it a try producing first the designspace with a standard fontmake process (to have the bracket layer information included), then export the Ufo files with the corner components, then the final building process would point at that designspace using the exported ufos.

Our latest building process uses gftools builder, which is the latest workflow that we are implementing. So far the only documentation available for it is included here. It could run directly using Glyphs, Designspace/UFO or UFO sources, or, to customize certain settings as the STAT table, in uses a config.yml file. One project reference could be Texturina

mightybart commented 3 years ago

Yes that is what I tried – designspace produced with fontmake (including bracket layer information) + UFO exported from Glyphs – and the build failed. Glyphs app does not store bracket layers in UFO (fontmake does).

Screenshot 2021-03-04 at 23 15 31

I checked all four masters and bracket layers are simply missing, but maybe I'm just doing something wrong...

Both fontmake and glyphsLib can't handle smart components (yet), so the new GF build won't solve this issue I think.

vv-monsalve commented 3 years ago

In that case, are there many brace layers in use? I think the options could be: a) Trying out if the option of Alternating Glyph Shapes with Multiple Axes would work better (if are included when exporting the Ufo from Glyphs) b) Considering the option to avoid the use of brace or bracket layers c) Going back to original step 2 "run mekkablue "Decompose Corner Components" script on all masters"

mightybart commented 3 years ago

I think we can close this issue for now. Currently, the only way is to use a pre-build script in the Glyphs app. We can get rid of the pre-build part once fontmake supports corner components.