bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#1952: 23.0.60[W32-Mingw]; opening etc/HELLO is slower than before


From: Jason Rumney
Subject: bug#1952: 23.0.60[W32-Mingw]; opening etc/HELLO is slower than before
Date: Tue, 20 Jan 2009 20:52:00 +0800
User-agent: Thunderbird 2.0.0.19 (Windows/20081209)

Juanma Barranquero wrote:
I think Kevin Yu is right. Moving around in etc/HELLO, even with a lot
of installed fonts, was quite fast until this change:

2009-01-09  Jason Rumney  <jasonr@gnu.org>

        * w32font.c (add_font_entity_to_list): Don't report unknown
        Windows charset as any unrecognized registry.  (Bug#1548)
        Only report Unicode Plane 2 fonts as unicode-sip.

Now, moving in etc/HELLO is unbearably slow. I'm talking of typing
<down> and waiting about two seconds for the cursor to move.

I don't see any slowness when scrolling, but it may be because I do not have a lot of fonts installed compared with some people, or it may be because I have fonts installed for all the languages in HELLO, so there are no failures (which I suspect may not get cached).

One of the changes made at the same time as the above (which I apparently forgot to add a ChangeLog entry for) was to fix the return value of add_one_font_entity_to_list. This function was supposed to abort the font enumeration as soon as a match was found. But previously the logic was wrong so it was aborting if the first font did not match the given font-spec. So in the majority of cases, it would only enumerate one font and return nil, only if the first font matched would it go through every font in the system and return all the fonts that matched. After the fix, it will go through all the fonts for characters that do not have a matching font installed, and will go through enough fonts to find a match for others.

Since there was no visible bug previously, I wonder what use this function is, and whether it is just wasting time looking for a match that we already have.








reply via email to

[Prev in Thread] Current Thread [Next in Thread]