>> By the way, I suspect (but do not have a recipe right now) that the >> same bug exists with the :width and :slant attributes (namely, that >> setting the font for the default face with an "exotic" value leads to >> suboptimal/wrong font choices for other faces), and that they should >> also be set to nil in font_find_for_lface. > > IIUC the way we manage choose fonts is that we ask for a list of fonts > matching a particular pattern. If that list is empty we make the > pattern more coarse and try again. And when the list is not empty we > choose the best fit based on a score. > Yes, that's roughly speaking what is happening indeed. Except that if we constraint, when we build it, the list of candidates to a specific weight and/or slant and/or width, scoring the candidates becomes pointless, because all candidates in the list will (by definition) be perfect matches. > > So in essence, what you're saying is that we should rely more on > scoring, and start with a coarser pattern right from the beginning? > What I'm saying (now) is that we should rely on scoring, not that we should rely _more_ on scoring. New (again) patch attached.