-
Notifications
You must be signed in to change notification settings - Fork 26.7k
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
editable_test.dart not font-hermetic on web #83129
Comments
We should add ideographic sample glyphs to cough (flutter/engine#13649) and change tests to depend on that instead of Ahem for ideographic scripts. |
Not sure what fixed this, but I was able to turn the test marked with this bug in editable_test.dart with #87700. I will close this, if you feel it is still not properly addressed, please reopen. |
Unfortunately this is still happening - the Dart/flutter HHH bot went red again once the test was reenabled in 225a43d See https://ci.chromium.org/ui/p/dart/builders/ci.sandbox/flutter-engine-linux-web_tests/3108/overview I believe this is hard to repro because many of our local setups have fallback fonts that would work OK. Maybe there is a way we can force these processes to not look for an alternative font? Could we use an approach, like using |
Looks like font fallback is disabled in test mode so those characters are always tofu: Looking at the original issue that for this test, it doesn't seem to have to do with the script or the baseline positions? It's just in those fonts the Chinese characters are generally taller than the 0x20 whitespace char we used to use to measure the line height? If that's the case using Ahem defeats the purpose of the test. |
Ah nvm SkParagraph reports font metrics instead of glyph metrics for height. So it looks like the original issue is caused by different typefaces being used. I'll update the test and use a child text span with a larger font size instead. |
Monorepo builds and try jobs use an engine.version that is different than the commit hash of the engine build. This different engine.version value allows artifacts to be uploaded to and downloaded from a unique path for those builds. Control over skipping this test is moved to an explicit environment variable named NO_FLUTTER_ENGINE_VERSION_CHECK. The previous way of skipping these checks was also used to skip a single test in the flutter package test file rendering/editable_test.dart. This is changed to a separate environment flag to skip that test. Links in the source code comments are updated to the relevant issue, flutter#83129
This test is checking for specific size of the Chinese characters, but our ahem.ttf font doesn't have them (according to fontdrop.info). This causes the browser to fallback to a local font, which can be different from one computer to another.
This causes HHH to fail, for example:
https://logs.chromium.org/logs/dart/buildbucket/cr-buildbucket.appspot.com/8846622841805053712/+/u/flutter_test_web_tests/stdout
Somehow the C++ engine is immune to this problem. Perhaps it also falls back to some font, but that fallback font is stable across machines.
The text was updated successfully, but these errors were encountered: