all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Ilya Zakharevich <ilya@math.berkeley.edu>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 19993@debbugs.gnu.org
Subject: bug#19993: 25.0.50; Unicode fonts defective on Windows
Date: Thu, 5 Mar 2015 13:49:00 -0800	[thread overview]
Message-ID: <20150305214900.GA3550@math.berkeley.edu> (raw)
In-Reply-To: <83egp4prs3.fsf@gnu.org>

On Wed, Mar 04, 2015 at 07:59:56PM +0200, Eli Zaretskii wrote:
> > (C) Even if a character is (eventually) shown, it may take several seconds
> >     after the character is typed.  E.g., typing
> >       ℱ
> >     gives a 2sec delay on my system (a pretty quick PC).  It is shown using
> >       uniscribe:-outline-MS Gothic-normal-normal-normal-mono-13-*-*-*-c-*-jisx0208*-* (#x3D3)
> 
> That delay should happen only once, when any character from the font
> is first displayed.  The next character from the same font should not
> cause any perceptible delays.  If this is what you see, then the delay
> is due to the font driver (a.k.a. "shaping engine", Uniscribe on
> Windows) searching the system for a suitable font, under control of
> the Emacs code (in font.c and fontset.c).

I have some doubts in this.  I think you are theoretizing, while *I*
KNOW that what you expect from Emacs is NOT HAPPENING.  (See below.)

> > (D) After typing as in (C), many operations become unusable.  (E.g., showing 
> >     documentation for font-log takes several minutes to display the end of 
> >     the buffer.  Save the buffer to a file — and it takes 4.5MB.)
> 
> Yes, similar to "C-h H".  Any buffer that uses a lot of different
> fonts will hit this.

I think the logical way is to choose one:
  • either the font delay happens once, and this is not avoidable (as
    you said above);

  • or there is something fishy (since other applications do not need
    minutes to show one screenful of information). 

-------

Let us see the most important part of my report (the part you trimmed
away!):

          …
       ¢ .. £ (#xA2 .. #xA3)
           -*-*-*-*-*-*-*-*-*-*-*-*-iso8859-1
           -*-*-*-*-*-*-*-*-*-*-*-*-iso8859-2
           -*-*-*-*-*-*-*-*-*-*-*-*-iso8859-3
           -*-*-*-*-*-*-*-*-*-*-*-*-iso8859-4
           -*-*-*-*-*-*-*-*-*-*-*-*-iso8859-9
           -*-*-*-*-*-*-*-*-*-*-*-*-iso8859-10
           -*-*-*-*-*-*-*-*-*-*-*-*-iso8859-13
           -*-*-*-*-*-*-*-*-*-*-*-*-iso8859-14
           -*-*-*-*-*-*-*-*-*-*-*-*-iso8859-15
           -*-*-*-*-*-*-*-*-*-*-*-*-iso8859-16
           -*-*-*-*-*-*-*-*-*-*-*-*-viscii1.1-1
           -*-*-*-*-*-*-*-*-*-*-*-*-iso10646-1
           -*-*-*-*-*-*-*-*-*-*-*-*-jisx0208.1983-0
       ¤ (#xA4)
           -*-*-*-*-*-*-*-*-*-*-*-*-iso8859-1
           -*-*-*-*-*-*-*-*-*-*-*-*-iso8859-2
           -*-*-*-*-*-*-*-*-*-*-*-*-iso8859-3
           -*-*-*-*-*-*-*-*-*-*-*-*-iso8859-4
           -*-*-*-*-*-*-*-*-*-*-*-*-iso8859-9
           -*-*-*-*-*-*-*-*-*-*-*-*-iso8859-10
           -*-*-*-*-*-*-*-*-*-*-*-*-iso8859-13
           -*-*-*-*-*-*-*-*-*-*-*-*-iso8859-14
           -*-*-*-*-*-*-*-*-*-*-*-*-iso8859-15
           -*-*-*-*-*-*-*-*-*-*-*-*-iso8859-16
           -*-*-*-*-*-*-*-*-*-*-*-*-viscii1.1-1
           -*-*-*-*-*-*-*-*-*-*-*-*-iso10646-1
           -*-*-*-*-*-*-*-*-*-*-*-*-gb2312.1980-0
           -*-*-*-*-*-*-*-*-*-*-*-*-ksc5601.1987-0
       ¥ .. ¦ (#xA5 .. #xA6)
           -*-*-*-*-*-*-*-*-*-*-*-*-iso8859-1
           -*-*-*-*-*-*-*-*-*-*-*-*-iso8859-2
           -*-*-*-*-*-*-*-*-*-*-*-*-iso8859-3
           -*-*-*-*-*-*-*-*-*-*-*-*-iso8859-4
           -*-*-*-*-*-*-*-*-*-*-*-*-iso8859-9
           -*-*-*-*-*-*-*-*-*-*-*-*-iso8859-10
           -*-*-*-*-*-*-*-*-*-*-*-*-iso8859-13
           -*-*-*-*-*-*-*-*-*-*-*-*-iso8859-14
           -*-*-*-*-*-*-*-*-*-*-*-*-iso8859-15
           -*-*-*-*-*-*-*-*-*-*-*-*-iso8859-16
           -*-*-*-*-*-*-*-*-*-*-*-*-viscii1.1-1
           -*-*-*-*-*-*-*-*-*-*-*-*-iso10646-1
       § (#xA7)
          …

As I said, these is 4500 lines of info — and ALL these lines are
excessive.  On systems where the NATIVE font format is iso10646,
instead of all these lines, ONE LINE would be equivalent (at least
AFAIU — the stuff IS undocumented):

  C-@ .. ø¿¿ (#x43 .. #x3FFFFF)
    -*-*-*-*-*-*-*-*-*-*-*-*-iso10646-1

I do not see how such a change would not fix all the issues reported
here.  (But I’m theoretizing!  ;-)

> >   2) one should make the list of encodings to load (I mean those in 
> >      `describe-fontset') system-dependent, and — on contemporary 
> >      systems — default to iso10646 *ONLY*.
> 
> Sorry, I don't understand what that means.  First, why should the list
> of encodings be system-dependent?

In the best world, it should not: just use one encoding (iso10646),
and you are done (as above).  And, as I said, this would probably work
in 95% of installations of Emacs.  For the rest of (legacy) systems,
the current mess MIGHT be needed (theoretizing again!).

> Second, what do you mean by "default to iso10646"?  Do you mean that
> by default there should be no support for other encodings?  If so,
> why?

Because on contemporary systems,
           -X-Y-Z-T-U-V-S-R-K-L-M-N-iso8859-5
is just a subset of
           -X-Y-Z-T-U-V-S-R-K-L-M-N-iso10646-1
(plus a lot of overhead added to do translations twice: first in one
direction, then in the opposite one!).  Why look for glyphs in both?

=======================================================

BTW, I just noticed: `describe-fontset' produces a buffer starting as

    Fontset: -outline-Courier New-normal-normal-normal-mono-13-*-*-*-c-*-fontset-startup
    CHAR RANGE (CODE RANGE)
	FONT NAME (REQUESTED and [OPENED])
    C-@ .. x?=? (#x43 .. #x3FFF7F)
	-*-*-*-*-*-*-*-*-*-*-*-*-iso8859-1

Where this #x43 cames from?!

Thanks,
Ilya





  reply	other threads:[~2015-03-05 21:49 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-03 22:02 bug#19993: 25.0.50; Unicode fonts defective on Windows Ilya Zakharevich
2015-03-04 17:59 ` Eli Zaretskii
2015-03-05 21:49   ` Ilya Zakharevich [this message]
2015-03-05 22:05   ` Ilya Zakharevich
2015-03-06 10:45     ` Eli Zaretskii
2015-03-06 11:38       ` Ilya Zakharevich
2015-03-06 14:00         ` Eli Zaretskii
2015-03-06 16:21           ` Ilya Zakharevich
2015-03-06 20:11             ` Eli Zaretskii
2015-03-06 21:12               ` Eli Zaretskii
2015-03-06 22:13                 ` Ilya Zakharevich
2015-03-07  8:18                   ` Eli Zaretskii
2015-03-08  7:45                     ` Ilya Zakharevich
2015-03-08 15:52                       ` Eli Zaretskii
2015-03-08  8:38                     ` Ilya Zakharevich
2015-03-08  8:46                       ` Ilya Zakharevich
2015-03-10 16:29                         ` Ilya Zakharevich
2015-03-10 17:05                           ` Eli Zaretskii
2015-03-10 17:41                             ` Eli Zaretskii
2015-03-10 20:32                               ` Ilya Zakharevich
2015-03-11  4:28                                 ` Eli Zaretskii
2015-03-11 19:49                               ` Ilya Zakharevich
2015-03-11 20:21                                 ` Eli Zaretskii
2015-03-12 18:16                                   ` Eli Zaretskii
2015-03-13  1:52                                     ` Ilya Zakharevich
2015-03-13  7:34                                       ` Eli Zaretskii
2015-03-13  4:50                                     ` Ilya Zakharevich
2015-03-13  6:16                                       ` Eli Zaretskii
2015-03-08 15:55                       ` Eli Zaretskii
2015-03-06 22:08               ` Ilya Zakharevich
2015-03-07  8:14                 ` Eli Zaretskii
2015-03-08  7:41                   ` Ilya Zakharevich
2015-03-08 15:51                     ` Eli Zaretskii
2015-03-08 16:20                       ` Ilya Zakharevich
2015-03-08 17:01                         ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150305214900.GA3550@math.berkeley.edu \
    --to=ilya@math.berkeley.edu \
    --cc=19993@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.