-
-
Notifications
You must be signed in to change notification settings - Fork 613
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Windows] font height inconsistency with Hack 3.001 release #377
Comments
Can you confirm that you installed this with the WIndows installer that includes the new v3.001 release files? https://github.com/source-foundry/Hack-windows-installer/releases/tag/v1.5.1 |
Please try the installer if you haven't so far. If you did, please post the file |
For what it's worth, I saw a similar problem using my custom build of the font ( |
We've had a number of issues related to font caching with residual previous builds that lead to rendering errors on Windows. Try the Windows installer linked above and let us know if that fixes the problem for you. We have yet to develop something simple for developers who need to install new builds, test, re-install new builds on the Windows platform. |
Yeap, used the latest installer. Here is the file you requested... Hope it helps... |
Thanks @jlanzarotta. Let's see whether @texhex thinks that there is an install issue here. If not I will have a look at the tables to confirm that we didn't modify something unintentionally. @texhex can you confirm that you are seeing this problem on your Win install? |
@jlanzarotta From my point of view, the installation is looking normally, there is nothing that is unexpected. Idea I have to find out what is going on on your machine:
|
Then I noticed why Notepad++ rendered correctly. In Notepad++, the text was not italics, just plain. So I set Vim and IntelliJ to not use bold or italics, they they work fine now also. Could it an issue with just bold and italics? Here is the fine you asked for... |
We've had long standing problems with the JetBrains editors on Win. They all use a Java font renderer that is very finicky with our fonts on the Win platform for some reason. Thanks for testing in another editor and for helping to troubleshoot here. I will take a look at our OT tables and confirm that there were no unexpected changes in this release. Would be helpful to me if you could confirm that reinstallation of the last version (3.000) with the Win installer fixes the problem. Let's see what Michael has to say about the new install logs. |
Can you also let us know what Win version you are using? |
The 3.000 version works beautifully. All applications render correctly. I am using Windows 7. |
and current releases of IntelliJ / vim? |
@jdw1996 Joseph, can you let us know what editor you are seeing these problems in and confirm that the issue is that there are different vertical heights of glyphs when rendered in bold/italics, but not in regular only? |
@jorgheymans Jorg, do you happen to have any free time to help us test this in the Java renderer project that you developed assuming that I can find something to modify in the build artifacts? |
I've seen the problem in Firefox (i.e. on webpages using my default monospace font), Vim, and Word, which makes me think it's not strictly a Java problem. I'm not having any issue using regular, but certain glyphs do appear taller than others in bold, italic, and bold italic. |
Strange. OK, thanks for that feedback. Can I ask you to verify that the same glyphs appear "too short" or "too tall" relative to others c/w the image in the OP? I will need a handful of glyphs to explore and will begin there. |
It seems that they are the same. Specifically, I have tall: |
Beginning to sound like a hinting issue. We bumped a couple of ttfautohint build dependencies. That may have done it. More info when I have it. |
@jlanzarotta: Thanks for efforts! I checked both installation logs and they look the same, so my guess is that, after 3.001 didn't worked, you went and installed 3.0 again. The hash values of the fonts found on your machine match exactly the 3.0 release. If this is true, I do not find any indicator that this error is caused by an installation error, I'm sorry. @chrissimpkins: I set my Notepad++ to Hack 10pt and Bold+Italic. Here's how it looks (using the best RFC ever as example). If I'm not mistaking, this is indeed a "real" font bug: |
Thanks @texhex. On it! |
@texhex do we have a decent set of docs to use FSCW for testing installs of new font changes as I produce them? |
We could use the Test-Windows-Installer for that. What would be your preferred way? Pushing the test fonts to the /Hack repo, then pushing a trigger file to the Test-Windows-Installer repo which would in turn start AppVeyor which would build and upload the new setup.exe? Or would you like to push the new build directly to the Test-Windows-Installer repo? |
Whatever is easiest for all involved. If I can push somewhere and testers can pull auto builds of a win installer that would probably be best (if I understood you correctly). short of that an approach to help them clear cache for manual installs is OK by me too. Will version according to git commit sha1 and can rename if would like to do side by side comps |
Ok, then pushing to the Test-Windows-Installer repo it is then. Preparing repo. |
@chrissimpkins Repository done. Put the new TTF builds in \testfonts inside the Test-Windows-Installer repo and a Setup EXE will be build and added to Releases with the comment you used for your commit. |
I was able to get a Windows box to look into this issue. Looking at this at the sizes 8, 9, 10, 11, 12, 14 in Notepad, it appears that the only affected sizes are 8, 10, and 14. The others all appear to render appropriately. Can you confirm this on your systems? |
Checking with Notepad++, I can confirm this. 8, 10 and 14 are affected. It happens again on 16 and 18 were it seems the "e" and "o" "shrink" too much (I believe, I'm not a designer). |
Thanks @texhex. I went through bold and bold italic and they seem to be affected across a more broad range of these sizes. This is definitely a hinting issue. For some reason we seem to have lost much of the auto in the ttfautohint :) Let me do some testing today and will let you know if I figure this out. Remains unclear why this changed between v3.000 and v3.000 but we can safely say now that this is (1) result of instruction set differences; (2) size dependent; (3) does not affect regular set; (4) does affect bold, italic, and bold italic sets. This points me in a direction. I have another idea. More to come... |
…377, this eliminates the regular set as the blue zone reference font
I think that my hunch was correct. This appears to fix the issue across italic, bold, and bold italic sets: Win: https://github.com/source-foundry/Hack-Test-Win-Installer/releases/tag/v1.2.48 This will install test builds Version 3.002;[f1c8c7a]-dev. We were linking vertical metrics in the bold, italic, and bold italic sets to the regular set with the ttfautohint -R flag to maintain consistency of glyph height when you switch between regular and any of these other sets. This seems to now result in incorrect renders of the non-regular sets for those whose platform pays attention to the instruction sets built into the fonts (including Windows, Linux - does not include macOS which is why I don't see it on my development machine). I will have to go back through the commit history. My recollection is that this is a setting that was present at the time of the v3.000 builds. If that is the case, then something has changed with ttfautohint behavior. The removal of this setting may mean that we need to go back through the ASCII set and determine whether any manual hinting adjustments are necessary in the bold, italic, and bold italic sets. cc @lemzwerg - this appears to be the problem here... Please install the above build files through the Win installer on Windows. Linux users should install the builds available here https://github.com/source-foundry/Hack/tree/bugfix-windows-revert-ttfadep/build/ttf with your distro specific direct installation mechanism and a cache clear - see README). Please confirm that the variable height issue in the lower case glyphs is eliminated at all sizes between 8 - 14. If you don't mind, can I ask you to use the following text specimen to examine these changes in all four variant sets:
Based upon the appearance of all of these glyphs across that size range, we will make a decision about whether we should push a fix release as is or if we will need to manually modify the instruction sets for any of the glyphs at any of the sizes in the 8 - 14 range to make this production ready. I will review this on my end as well so that I can see what you are seeing. Thanks all for your help here. I apologize for this issue and still don't have a good explanation for it, but we appear to have identified the root and a fix. I always perform QA testing on the OT tables before releases with a combination of tools, visually inspect all ASCII glyphs when hinting settings are modified, and obviously visually inspect all design changes (including the hinted renders) for all glyphs that change during the work for a release. This fell outside of the range of expected/possible changes and I suppose that the only way to prevent it in the future is to establish visual testing of the fonts on Win/Linux/macOS going forward. If anyone out there is willing to assist with this, we leave our release PR's open for weeks prior to merging to master. It would be extremely helpful to have a group of individuals who are willing to install these "release candidates" at that time and give these anticipated release builds a spin in text before the merge occurs so that we can try to address these issues in advance of a release. We'll come up with an approach. Feel free to let me know if there is a better way to communicate about upcoming release ready builds if you are interested in helping with this testing. |
…379. Removes -R flag from ttfautohint settings to eliminate blue zone linking between bold/italic/bolditalic and regular variants.
Summary for @lemzwerg :
Original summary of the issue: #377 (comment) Unclear whether this represents a ttfautohint bug. I can verify that we did build the v3.000 release with the same -R setting as we used in v3.001 and the glyphs did not render as shown in the image in the OP: Lines 171 to 201 in 706b2b2
Is it possible that blue zones are being defined differently due to a compiler update? fontmake and many of its dependencies changed between these releases. I can verify that we did not change anything in the source files before they hit the compiler that would have modified blue zone settings in any of the sets. Looping in @anthrotype to see if he has any feedback about the above paragraph. I don't know the answer or where to begin to explore this issue. Happy to file an issue report anywhere it is felt to be necessary if this does appear to be a new issue introduced during the compilation / hinting process somewhere. |
@chrissimpkins 1.2.48 looks good for 10pt: |
Are we ready to release a fixed version or do you want to wait? I'm asking because @jlanzarotta has most likely already muted this discussion here :-), given how many comments this issue already has. So I think only a new "normal" Hack-Win-Installer would be noticed. |
I will merge this over to dev and build / version tag a new release set that contains these changes tonight. Should be able to merge these and push a new release on this repo later this evening. We've diverted desktop users away from these files but web font users who are using the URL that automatically version bumps through jsDelivr/npm are actively affected by this issue which is why I have been working to get this fixed asap. If I only need to push the release fonts to the Hack-Win-Installer repo, I am happy to take care of the installer release. If there is other work to do to prepare the installer that differs from how the test installer worked, I will let you know when these files are ready. Let me know how you would like to approach it. |
This will go out as a v3.002 bugfix release and we will push all planned v3.002 work to v3.003. I will update the milestone tagged issue reports. |
As a side note, I now have two new Linux and one new Win 10 VM set up with an approach to visually proof the fonts before releases. PIA, but hopefully this won't happen again™ :) |
This fix was released as v3.002. Will close this thread when the Windows installer is available for these builds. |
* dev: [README.md] updated Linux font cache clear instructions and added information about font rendering improvements on Linux platform [README.md] documentation text updates (minor) [README.md] Mac OS X --> macOS in documentation 3.2.0 [README.md] updated download link to v3.002 release builds [CHANGELOG.md] updated for v3.002 [archiver.sh] updated archiver script Hack v3.002;[e813aee]-release builds + CSS builds Version 3.002;[f1c8c7a]-dev : Possible FIX build for issues #377 and #379. Removes -R flag from ttfautohint settings to eliminate blue zone linking between bold/italic/bolditalic and regular variants. removed use of -R flag in ttfautohint in an attempt to address bug in #377, this eliminates the regular set as the blue zone reference font modified build-ttf.sh script to replace -I flag and remove -n flag (adds ttfautohint metadata back to the name ID 5 record), another attempt to address hinting issue in #377 converted to compilation and hinting on Linux. hinting with ttfautohint 1.7, Harfbuzz 1.5, FreeType 2.8 [ttfautohint-build.sh] revert ttfautohint build dependencies: FreeType back to v2.8 (from v2.8.1), Harfbuzz back to v1.5.0 (from 1.7.4) # Conflicts: # build/ttf/Hack-Bold.ttf # build/ttf/Hack-BoldItalic.ttf # build/ttf/Hack-Italic.ttf # build/ttf/Hack-Regular.ttf
Hack Windows Installer 1.5.2 with Hack v3.002 is live. @jlanzarotta: Please give 1.5.2 a try, this will fix this issue for good. @chrissimpkins: Ready to close this issue when you are. |
@texhex thanks for all of your help with testing this over the weekend Michael. I really appreciate all of your help to get this fix out. Thanks for the report @jlanzarotta Much appreciated! |
@lemzwerg Werner, if there is anything that I can do to help investigate this issue further please let me know. We are closing this issue report as we have released a fix for it. |
Well, I just need some time to look into it :-/ |
@lemzwerg No worries! Not intended to rush you. Just wanted you to be aware that I am happy to help. I just don't know how to dig into the issue further to do so. I am happy to post a ticket on ttfautohint repo if you would like so that this information is preserved somewhere. |
@lemzwerg additional information on the hinting settings for the user on Linux who reported the same issue in case this is helpful: |
…dds ttfautohint metadata back to the name ID 5 record), another attempt to address hinting issue in source-foundry#377
…ource-foundry#377, this eliminates the regular set as the blue zone reference font
…undry#377 and source-foundry#379. Removes -R flag from ttfautohint settings to eliminate blue zone linking between bold/italic/bolditalic and regular variants.
* dev: [README.md] updated Linux font cache clear instructions and added information about font rendering improvements on Linux platform [README.md] documentation text updates (minor) [README.md] Mac OS X --> macOS in documentation 3.2.0 [README.md] updated download link to v3.002 release builds [CHANGELOG.md] updated for v3.002 [archiver.sh] updated archiver script Hack v3.002;[e813aee]-release builds + CSS builds Version 3.002;[f1c8c7a]-dev : Possible FIX build for issues source-foundry#377 and source-foundry#379. Removes -R flag from ttfautohint settings to eliminate blue zone linking between bold/italic/bolditalic and regular variants. removed use of -R flag in ttfautohint in an attempt to address bug in source-foundry#377, this eliminates the regular set as the blue zone reference font modified build-ttf.sh script to replace -I flag and remove -n flag (adds ttfautohint metadata back to the name ID 5 record), another attempt to address hinting issue in source-foundry#377 converted to compilation and hinting on Linux. hinting with ttfautohint 1.7, Harfbuzz 1.5, FreeType 2.8 [ttfautohint-build.sh] revert ttfautohint build dependencies: FreeType back to v2.8 (from v2.8.1), Harfbuzz back to v1.5.0 (from 1.7.4) # Conflicts: # build/ttf/Hack-Bold.ttf # build/ttf/Hack-BoldItalic.ttf # build/ttf/Hack-Italic.ttf # build/ttf/Hack-Regular.ttf
Hello,
First off, I love the font. However, after updating my Windows machine to v3.001, the font rendering is somewhat strange for Italics and Bold... Any ideas on how to fix this? I reboot, and nothing has changed...
Thanks,
The text was updated successfully, but these errors were encountered: