mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Tighten requirements for fake bold
The simple predicate for fake bold (2 or more grades darker than requested) was applying it to thin (100 weight) when normal was requested. This patch tightens the predicate to also require that the requested weight be in the bold range. Fix for bug 15588352 "sans-serif-thin doesn't work on lockscreen" Change-Id: Id9988bd149a9c8a7c943e3b221f7fb4b37fb6ddb
This commit is contained in:
parent
1c7b403ad8
commit
9f9f3b1ef4
@ -119,9 +119,11 @@ static int computeMatch(FontStyle style1, FontStyle style2) {
|
||||
}
|
||||
|
||||
static FontFakery computeFakery(FontStyle wanted, FontStyle actual) {
|
||||
// If desired weight is 2 or more grades higher than actual
|
||||
// (for example, medium 500 -> bold 700), then select fake bold.
|
||||
bool isFakeBold = (wanted.getWeight() - actual.getWeight()) >= 2;
|
||||
// If desired weight is bold or darker, and 2 or more grades higher
|
||||
// than actual (for example, medium 500 -> bold 700), then select
|
||||
// fake bold.
|
||||
int wantedWeight = wanted.getWeight();
|
||||
bool isFakeBold = wantedWeight >= 7 && (wantedWeight - actual.getWeight()) >= 2;
|
||||
bool isFakeItalic = wanted.getItalic() && !actual.getItalic();
|
||||
return FontFakery(isFakeBold, isFakeItalic);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user