Closed vl4dimir closed 5 years ago
Vladimir, can I ask you to update these glif files to UFO v3 format? We are moving to v3 as of the v4.000 release of Hack and the dev
branch that you are based on here is v3.
You can perform the update with the PyPI package defcon
. See docs for save()
for more information. Will just need to specify 3 as the ufo version number argument when you save your files and it should perform the update for you. Please don't commit any files other than the .glif
in your PR here though! thx
https://ts-defcon.readthedocs.io/en/latest/objects/font.html#defcon.Font.save
Are these updates something that you will be able to get to Vladimir?
@chrissimpkins I'm on it. Sorry for the delay.
@chrissimpkins So, defcon
is a Python library. Is there a standalone tool I can run in order to fix this?
Or maybe I can just manually change the 2
to 3
? There's no structural differences between the old files and the ones in this PR.
Here are the changes in the new *.glif format from the UFO specification:
The version number was increased to 2.
Contour A new identifier attribute was added.
Component A new identifier attribute was added.
A new rule explaining how components relate to layers was added.
Point A new identifier attribute was added.
Removed references to Super Bezier. Image
A new image element was added.
Guideline A new guideline element was added.
Anchor A new anchor element was added.
Lib Added a mechanism for standardizing lib keys.
Added a standard place for glyph mark color storage.
I will pull together a script that you can use to do this. I used defcon to make the transition here, but did not save the script... Mistake :)
@chrissimpkins Sure, but my changes neither make use of some older v2 functionality, nor do they remove some v3 functionality which was previously present in these files. So IMO I can just manually change the version numbers using a text editor if that's OK with you.
Give this a try:
So IMO I can just manually change the version numbers using a text editor if that's OK with you.
Can you confirm that the files that include manual adjustments of the version number in the glif files build with our existing UFO 3 source?
Edit: i.e., the source in the dev
branch
And you can ignore our current CI fails in this PR. I am working on a conversion to Py 3.7 interpreter testing and having some issues with this conversion. Hope to have this resolved this week.
@chrissimpkins Thanks for that ufo2to3
tool, you're fast! I ran it against my branch, giving it all four variants' .ufo folders as input, but it didn't touch my changes at all:
Here's a full diff: https://gist.github.com/vl4dimir/435325359ab56967fc50c27f4ef6ddd7 It seems to be mostly whitespace differences.
I'll try updating the version manually and running the build.
Ran make build-with-dependencies
with the manually edited glyph versions, it finished without problems.
We had an enormous diff when I ran the tool but I think that you are correct. Most changes appear to be whitespace and some XML attribute order modifications in the glif files along with the update in the glif file spec version. It doesn't appear that there were changes to the data itself in our source.
https://github.com/source-foundry/Hack/pull/441/files?utf8=%E2%9C%93&diff=split&w=1
Ran make build-with-dependencies with the manually edited glyph versions, it finished without problems.
Will build a set of fonts so that anyone with an interest can have a look at them in order to comment before we merge. Thanks!
No change necessary in BoldItalic parenleft glyph?
Added a set of web and desktop font builds at commit eeb942b43 in the original post. Any/all interested users please download, install (or view in browser), and view the changes. If you have any comments please leave them in this thread.
cc @jdw1996 test builds with these changes on your most recent outlines are available for download in the OP. Look forward to your feedback
Added a new Windows installer release with these test fonts for any interested Win users. See OP for details.
This script is available for anyone who would like to install the fonts under a different family name for A/B comparisons:
Overall, LGTM. Viewed on Windows too and it looks like we may have a bit of hinting work to do on shapes that will be in close proximity to these glyphs in source. We seem to lose a pixel here and there at different sizes so they appear different heights in some cases
Let's see if we get any other feedback.
Design looks pretty spot on to my eye though when you eliminate the small size / instruction set issue...
and they render very well on macOS :)
Sorry I didn't reply earlier; I've been pretty busy. I just tried the builds from the commit you linked, @chrissimpkins, but it had the old version of the parens (i.e. from before my change). I don't have a chance to build right now, but I should be able to some time this weekend. All the screenshots I've seen so far look good, though. If you think this changeset is good to go, don't let me delay you.
Sorry, I may not have been clear about the build location. The builds are linked in the original post of this thread as zip archives. They are not committed to the repository.
and this is not delaying anything. Feel free to take your time and have a look. Let's confirm that we are in agreement that this is the proper shape before we commit the work. LGTM but I am interested in other opinions.
OK, I just tried out the change and it looks good on my Linux machine, too.
Thanks so much for these changes @vl4dimir! And thanks to those who took a look and weighed in. Merging.
Submitting PR as result of discussions – https://github.com/source-foundry/alt-hack/pull/41 and https://github.com/source-foundry/Hack/pull/433
@chrissimpkins edits below:
Test fonts at commit eeb942b43
macOS / Linux download with these links and install
ttf-eeb942b43.zip web-eeb942b43.zip
Windows users can install with the Hack test font installer at this release:
https://github.com/source-foundry/Hack-Test-Win-Installer/releases/tag/v1.2.105
The Windows installer for these dev builds installs the fonts under the family name "Hack Test" so that you can see side-by-side comparisons between the upstream default and test builds.