Skip to content

Commit 2e6f9be

Browse files
Victoria LeaseAndroid (Google) Code Review
authored andcommitted
Merge "Fix fake bold for fallback fonts in frameworks." into jb-dev
2 parents d9038fd + b26fa0c commit 2e6f9be

File tree

5 files changed

+9
-2
lines changed

5 files changed

+9
-2
lines changed

core/java/android/text/style/StyleSpan.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ private static void apply(Paint paint, int style) {
9898
}
9999

100100
int fake = want & ~tf.getStyle();
101+
fake |= tf.getStyle() & Typeface.BOLD;
101102

102103
if ((fake & Typeface.BOLD) != 0) {
103104
paint.setFakeBoldText(true);

core/java/android/text/style/TextAppearanceSpan.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,7 @@ public void updateMeasureState(TextPaint ds) {
235235
}
236236

237237
int fake = style & ~tf.getStyle();
238+
fake |= tf.getStyle() & Typeface.BOLD;
238239

239240
if ((fake & Typeface.BOLD) != 0) {
240241
ds.setFakeBoldText(true);

core/java/android/text/style/TypefaceSpan.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ private static void apply(Paint paint, String family) {
8282

8383
Typeface tf = Typeface.create(family, oldStyle);
8484
int fake = oldStyle & ~tf.getStyle();
85+
fake |= tf.getStyle() & Typeface.BOLD;
8586

8687
if ((fake & Typeface.BOLD) != 0) {
8788
paint.setFakeBoldText(true);

core/java/android/widget/Switch.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -259,10 +259,12 @@ public void setSwitchTypeface(Typeface tf, int style) {
259259
// now compute what (if any) algorithmic styling is needed
260260
int typefaceStyle = tf != null ? tf.getStyle() : 0;
261261
int need = style & ~typefaceStyle;
262+
need |= typefaceStyle & Typeface.BOLD;
262263
mTextPaint.setFakeBoldText((need & Typeface.BOLD) != 0);
263264
mTextPaint.setTextSkewX((need & Typeface.ITALIC) != 0 ? -0.25f : 0);
264265
} else {
265-
mTextPaint.setFakeBoldText(false);
266+
int typefaceStyle = tf != null ? tf.getStyle() : 0;
267+
mTextPaint.setFakeBoldText((typefaceStyle & Typeface.BOLD) != 0);
266268
mTextPaint.setTextSkewX(0);
267269
setSwitchTypeface(tf);
268270
}

core/java/android/widget/TextView.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1237,10 +1237,12 @@ public void setTypeface(Typeface tf, int style) {
12371237
// now compute what (if any) algorithmic styling is needed
12381238
int typefaceStyle = tf != null ? tf.getStyle() : 0;
12391239
int need = style & ~typefaceStyle;
1240+
need |= typefaceStyle & Typeface.BOLD; // keep bold in
12401241
mTextPaint.setFakeBoldText((need & Typeface.BOLD) != 0);
12411242
mTextPaint.setTextSkewX((need & Typeface.ITALIC) != 0 ? -0.25f : 0);
12421243
} else {
1243-
mTextPaint.setFakeBoldText(false);
1244+
int typefaceStyle = tf != null ? tf.getStyle() : 0;
1245+
mTextPaint.setFakeBoldText((typefaceStyle & Typeface.BOLD) != 0);
12441246
mTextPaint.setTextSkewX(0);
12451247
setTypeface(tf);
12461248
}

0 commit comments

Comments
 (0)