提交 e68467e9 编写于 作者: R Raph Levien

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
(cherry picked from commit 9f9f3b1e)
上级 15651697
......@@ -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);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册