laerm0 / opensans

Open Sans font
Apache License 2.0
3 stars 3 forks source link

Add build chain #16

Closed m4rc1e closed 5 years ago

m4rc1e commented 5 years ago

Fonts should now build by following the instruction in the repo's README

I had to tidyup your sources to get everything to work. I fixed the following:

Once this is merged, I'll still have more work to do. It can only gen VFs for the time being.

m4rc1e commented 5 years ago

I'm guessing we're going to instantiate the static fonts from the vfs?

laerm0 commented 5 years ago

Great, thanks very much @m4rc1e . Question: changing the width axis range, doesn't that change the width of the condensed when it exports?

anthrotype commented 5 years ago

Hmm I wonder why you take this hybrid approach. On the one hand, in the build.sh, you run fontmake on the .glyphs file to generate the UFOs + .designspace (they both go in master_ufo/), but then you ignore the newly generated .designspace in master_ufo/ and use a separate, hand-edited, designspace file to build the UFOs... But why? Either you don't rebuild the UFO from .glyphs all the time but check in the repo both the pre-generated UFOs and the designspace file -- or you only check in the .glyphs source and build both UFOs and designspace file from that.

Btw, the change to the width axis map and the master's internal width locations that @m4rc1e did in e3dc49f doesn't actually change anything, because the two changes even out each other and basically make the mapping no-op (since input == output for all mappings so there's nothing to map). What was the intention of that?

laerm0 commented 5 years ago

@anthrotype I wrote a designspace by hand because I need to account for the formerly-bracket layer glyphs and to swap in .rvrn glyphs at certain weights.

anthrotype commented 5 years ago

But looking at the two designspace files in this PR, I see the <rules> section only has simple one-axis conditions that are already supported by glyphsLib when converting bracket layers to Designspace rules: e.g. <condition minimum="310" name="weight" />. If your rules' conditions only stick to single axis, you don't need to modify the DS. Am I missing something else?

anthrotype commented 5 years ago

in any case, if you need to have a hand-coded designspace (which I am still not 100% sure you do), then it would be better to fully switch to a UFO+designspace workflow than having this mixed approach. And if this is going to be hand-hinted, then it makes sense to freeze the quadratic outlines once and for all (until the manual hinting is going to be used).

laerm0 commented 5 years ago

The rule for the swap happens in all weights and widths, so that's two axes.

I agree that freezing the outlines in quadratics makes sense. I haven't done that yet as I am still proofing and I might find an outline that needs tuning.

m4rc1e commented 5 years ago

Thanks @anthrotype! For my build process, I simply copied https://github.com/laerm0/opensans/blob/master/source/build.md

m4rc1e commented 5 years ago

Question: changing the width axis range, doesn't that change the width of the condensed when it exports?

In theory, nope. I've just just changed the Condensed from 60 to 75

laerm0 commented 5 years ago

I've just just changed the Condensed from 60 to 75

Ah, okay, change the width in the master tab then in the instances. Gotcha. Looks good. I guess I had them as 60 because when I made the new condensed weights, 60% width of the regular was what the condensed was. After I imported those new instances as masters, I guess there's no need to keep them as 60. Thanks @m4rc1e .

anthrotype commented 5 years ago

The rule for the swap happens in all weights and widths, so that's two axes.

No, those rules are independent of width, they only mention weight. At least that's how you wrote them.

laerm0 commented 5 years ago

Oh.

All along, I thought "Glyphs doesn't support bracket layers in two axes" meant that Glyphs doesn't support bracket layers in a file with two axes. I did not think it meant that Glyphs doesn't support bracket layers that change based on input from two axes (i.e. a glyph changes when wdth <80 & wght >600). That sounds like what you're saying...yes?

anthrotype commented 5 years ago

Yes

m4rc1e commented 5 years ago

Thanks everyone, I'll keep plugging on this.

Once we've signed off on the design work, we'll freeze the quadratics.

m4rc1e commented 5 years ago

Can confirm the hand edited .designspaces have a simple custom rule.

Screenshot 2019-06-26 at 09 20 01
laerm0 commented 5 years ago

Merged. Thanks @m4rc1e !