From 57bfa499674d3ce34f44368f75a44f7bd7cfc4b8 Mon Sep 17 00:00:00 2001 From: Kenichi Handa Date: Mon, 10 Dec 2007 06:23:41 +0000 Subject: [PATCH] (fontset_find_font): Don't prefer a font of supplementary charset. --- src/fontset.c | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/src/fontset.c b/src/fontset.c index 85e9254e765..82d1445f1a4 100644 --- a/src/fontset.c +++ b/src/fontset.c @@ -635,23 +635,30 @@ fontset_find_font (fontset, c, face, id, fallback) if (id < 0) i = 3; - else if (id == XFASTINT (AREF (vec, 1))) - i = 2; else { - ASET (vec, 1, make_number (id)); - for (i = 3; i < ASIZE (vec); i++) - if (id == XFASTINT (AREF (AREF (AREF (vec, i), 2), 1))) - break; - if (i < ASIZE (vec)) - { - ASET (vec, 2, AREF (vec, i)); - i = 2; - } + struct charset *charset = CHARSET_FROM_ID (id); + + if (charset->supplementary_p) + i = 3; + else if (id == XFASTINT (AREF (vec, 1))) + i = 2; else { - ASET (vec, 2, Qnil); - i = 3; + ASET (vec, 1, make_number (id)); + for (i = 3; i < ASIZE (vec); i++) + if (id == XFASTINT (AREF (AREF (AREF (vec, i), 2), 1))) + break; + if (i < ASIZE (vec)) + { + ASET (vec, 2, AREF (vec, i)); + i = 2; + } + else + { + ASET (vec, 2, Qnil); + i = 3; + } } } -- 2.39.5