source-foundry / Hack

A typeface designed for source code
http://sourcefoundry.org/hack/
Other
16.39k stars 613 forks source link

Upgrade Python build tooling #457

Closed chrissimpkins closed 5 years ago

chrissimpkins commented 5 years ago

PR defines Py3.7 as the Python interpreter version for builds + increases all Python build tooling versions used in pipenv virtual build environment to current PyPI release versions.

These changes required modification of the glyph names used in the ttfautohint control instruction files as the fontmake compiler respects UFO source file spec'd names by default (instead of replacing with production names by default) in the upgraded version of the tooling defined in the Pipfile.lock here.

Build at https://github.com/source-foundry/Hack/pull/457/commits/ac48920c7e766b284ff7d11fff9ef91b1b568dcc: Click to download, then unpack and install: build-ac48920c7.zip

chrissimpkins commented 5 years ago

I reviewed diffs of the binaries across these changes and there are numerous (900-1000 per variant) minor single unit contour changes (conversion from round to ceiling calculations?) and < 10 instruction set assembly changes per variant. All instruction set changes occurred in glyphs outside of the Basic Latin set that had a contour adjustment due to the new calculation approach used by the compiler tooling.

Should be gtg.

chrissimpkins commented 5 years ago

Please note that if you intend to build fonts from source, are using an earlier version of fontmake and its associated dependencies, and are hinting with ttfautohint using the control instructions files in this repository, these changes may break your build. ttfautohint will not be able to identify the modified glyph names in the font files compiled with the previous build tooling specified here.