Subject: Re: bug#15876: 24.3.50; Highly degraded performance between rev 114715 and 115006

From: Jan Djärv <[email-masked]>
Date: Wed, 11 Dec 2013 20:50:12 +0100

Hello.

11 dec 2013 kl. 19:12 skrev Eli Zaretskii <[email-masked]>:

>> Date: Wed, 11 Dec 2013 22:00:48 +0400
>> From: Dmitry Antipov <[email-masked]>
>> CC: [email-masked], [email-masked]
>> 
>>> Anyway, what about the patch below?  With it, the problem disappears
>>> even without your "threshold" based GC.
>> 
>> Looks good. But can we assume that FACE_FROM_ID (...) is always non-NULL?
>> Some important routines, like mark_face_cache, do not rely on this.
> 
> I think you are right, and we should make sure it's non-NULL before
> dereferencing.
> 
> Jan, Ken'ichi, would you please comment on this?  Are we losing
> something by reusing already loaded fonts that support a given
> character, as opposed to looking for the "best-match" font?

See discussion starting here http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15138#29:

Kenichi Handa wrote:

I agree that this change improves font selection for
symbols, but it's not good for many scripts for which just
having a glyph is not enough.  For instance, if the default
font has Hindi glyphs but doesn't have the OTF features for
Hindi script, we must find another proper font for Hindi.

How about modifying the current fontset mechanism as this?

(1) Allow t for FONT-SPEC of set-fontset-font to tell that
    the default font should be tried.
(2) Modiyf the default fontset to include `t' as the
    font-spec for scripts/characters for which the default
    font is ok.

	Jan D.