Skip to content

Move to UFO sources and TTX dump for VTT data#87

Closed
madig wants to merge 11 commits intomicrosoft:masterfrom
madig:Move-to-UFO-sources
Closed

Move to UFO sources and TTX dump for VTT data#87
madig wants to merge 11 commits intomicrosoft:masterfrom
madig:Move-to-UFO-sources

Conversation

@madig
Copy link
Copy Markdown
Contributor

@madig madig commented Sep 20, 2019

Summary of the Pull Request

I couldn't contain myself and went ahead on #78.

The build script should also include the glyph width modification script that the designer seems to run manually to cut a release, noted in the notes.

References

GitHub Actions may be used to automatically do #57.

PR Checklist

Detailed Description of the Pull Request / Additional comments

The motivation for this is detailed in #78.

I have additionally outfitted the UFO with Postscript blue zone information so I can produce OTFs and psautohint them:

grafik

VTT data is added as-is but is broken because the code converts outlines differently from Glyphs.

Validation Steps Performed

  • Update VTT code: the build will fail because the glyph order changed, the different outline conversion causes the VTT code to be outdated. Nice explosions though.
  • Compare TTX dumps afterwards to look for changes outside hinting.

@mdtauk
Copy link
Copy Markdown

mdtauk commented Sep 21, 2019

Is there a way to add support for generating FontLab source files?

@madig
Copy link
Copy Markdown
Contributor Author

madig commented Sep 21, 2019

@madig madig force-pushed the Move-to-UFO-sources branch from b1625d8 to eb8b9e1 Compare September 26, 2019 19:21
@madig
Copy link
Copy Markdown
Contributor Author

madig commented Sep 26, 2019

Rebased on master. Will keep this up to date until it is decided what to do with it :) If it's going to be merged, I'll clean up the commits.

@DHowett-MSFT
Copy link
Copy Markdown

The folder names here weird me out a little bit. What's up with them? They're not dates exactly... but they're also not not dates.

image

@madig
Copy link
Copy Markdown
Contributor Author

madig commented Sep 27, 2019

This is one of the impedance mismatches between how Glyphs does layers and how UFO handles them. In Glyphs, glyphs have layers. In UFO, layers have glyphs. This results in slightly different low-level semantics, but glyphsLib translates this losslessly, and only the glyphs in the glyphs/ directory participate in font making. See these layers as extra work space for the designer. The names come from how Glyphs automatically names layers the designer makes. The underscore stuff across the entire UFO package is in-depth defenses against illegal file name characters and different ideas of handling case :)

@madig madig force-pushed the Move-to-UFO-sources branch from 2a2da73 to 20d03e2 Compare October 6, 2019 14:28
@madig
Copy link
Copy Markdown
Contributor Author

madig commented Oct 6, 2019

@cinnamon-msft I just read your roadmap branch changes. Exciting :) One thing that you have to keep in mind currently for planning is that the chosen workflow affects hinting, or rather, what is hinted. Since the design outlines are cubic, TTFs allow only quadratic curves, and VTT works on those quadratic outlines directly, the chosen algorithm for converting the curves and the VTT code are intertwined. Currently, this branch produces different TTFs from what Glyphs outputs (which uses some version of Adobe's AFDKO under the hood), so the existing VTT code is completely broken. This is becomes relevant every time the conversion algorithm changes (be it by changing libraries/compilers or due to newer versions doing things differently -- this has happened before).

Your planning should include either engineering effort to use/match what the AFDKO does or allocate resources for adapting the hinting. I happen to be sitting on code that converts VTT code from old outlines to new ones and I'm allowed to open-source it, but it currently does not handle the new Res* commands and it does not handle TrueType assembly, so composites have to be redone manually.

This is not a problem for OTFs, which can define a small amount of hinting metadata which is used by the AFDKO's psautohint for effortlessly generating hinted fonts.

@madig
Copy link
Copy Markdown
Contributor Author

madig commented Oct 9, 2019

Note to self: test if new UFO export from Glyphs 2.6.2 is good enough so we don't need glyphsLib here.

@aaronbell aaronbell mentioned this pull request Nov 12, 2019
17 tasks
@aaronbell
Copy link
Copy Markdown
Collaborator

As this is subsumed in the #181 update, closing :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Suggestion: Use UFO format for source storage

4 participants