Load fonts in the order addFont is called #174253
Open
+29
−4
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Before this change,
load
loads fonts in a non-deterministic order. After this change, it loads the fonts sequentially.See cl/797583429 for the full context. We found that the order of how fonts load for a specific font family actually affects runtime behavior, and the current non-deterministic order of loading fonts leads to flakiness.
Consider the following:
If
addFont(foo-italic.ttf)
is called beforeaddFont(foo.ttf)
, the font loader will loadfoo-italic.ttf
first and use that as the base font. When looking for the 'A' glyph, it may will look for the glyph only infoo-italic.ttf
, which doesn't have it, and will show an incorrect empty placeholder glyph.Pre-launch Checklist
///
).