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
next prev parent 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.