Mercurial > emacs
diff src/xfaces.c @ 70834:7ca4cd6f07f2
(best_matching_font): Abort for best == NULL before we start to use it.
| author | Richard M. Stallman <rms@gnu.org> |
|---|---|
| date | Mon, 22 May 2006 01:02:40 +0000 |
| parents | 1d1c6a83c277 |
| children | b8678c550150 c44562301a11 a8190f7e546e |
line wrap: on
line diff
--- a/src/xfaces.c Sun May 21 23:53:29 2006 +0000 +++ b/src/xfaces.c Mon May 22 01:02:40 2006 +0000 @@ -6677,30 +6677,30 @@ best = fonts + i; } } - - if (needs_overstrike) - { - enum xlfd_weight want_weight = specified[XLFD_WEIGHT]; - enum xlfd_weight got_weight = best->numeric[XLFD_WEIGHT]; - - if (want_weight > XLFD_WEIGHT_MEDIUM && want_weight > got_weight) - { - /* We want a bold font, but didn't get one; try to use - overstriking instead to simulate bold-face. However, - don't overstrike an already-bold fontn unless the - desired weight grossly exceeds the available weight. */ - if (got_weight > XLFD_WEIGHT_MEDIUM) - *needs_overstrike = (got_weight - want_weight) > 2; - else - *needs_overstrike = 1; - } - } } /* We should have found SOME font. */ if (best == NULL) abort (); + if (! exact_p && needs_overstrike) + { + enum xlfd_weight want_weight = specified[XLFD_WEIGHT]; + enum xlfd_weight got_weight = best->numeric[XLFD_WEIGHT]; + + if (want_weight > XLFD_WEIGHT_MEDIUM && want_weight > got_weight) + { + /* We want a bold font, but didn't get one; try to use + overstriking instead to simulate bold-face. However, + don't overstrike an already-bold fontn unless the + desired weight grossly exceeds the available weight. */ + if (got_weight > XLFD_WEIGHT_MEDIUM) + *needs_overstrike = (got_weight - want_weight) > 2; + else + *needs_overstrike = 1; + } + } + if (font_scalable_p (best)) font_name = build_scalable_font_name (f, best, pt); else
