From: Kenichi Handa <handa@m17n.org>
To: Jason Rumney <jasonr@gnu.org>
Cc: schierlm@gmx.de, 3208@emacsbugs.donarmstrong.com
Subject: bug#3208: 23.0.93; Memory full / crash when displaying lots of characters from a large font (like Arial Unicode or Code2000) which is not explicitly selected (on Win32)
Date: Mon, 22 Jun 2009 20:22:38 +0900 [thread overview]
Message-ID: <E1MIhbi-0003zl-1D@etlken> (raw)
In-Reply-To: <4A3F1B05.7030105@gnu.org> (message from Jason Rumney on Mon, 22 Jun 2009 13:47:49 +0800)
In article <4A3F1B05.7030105@gnu.org>, Jason Rumney <jasonr@gnu.org> writes:
> What appears to be happening, is that font_find_for_lface is returning
> many fonts that match the requested spec, but do not contain the
> character required. Because has_char is effectively not implemented in
> the w32 backends, this isn't detected until late, and the negative
> result is either not cached, or is cached according to the original font
> spec which many unusable fonts match. On subsequent calls, all the
> checking to see which fonts really contain the character required is
> repeated.
That will lead to slow display, but I don't understand why
that leads to memory full problem. How many fonts do people
have on Windows roughly? On GNU/Linux, I have about 700
fontconfig fonts and 4500 X fonts.
> On first call to fontset_find_font:
> fontset_get_font_group returns nil (no spec in fontset)
> Second call (with default fontset):
> fontset_get_font_group returns a single spec matching registry
> "iso10646-1", script "symbol"
> font_find_for_lface returns the font "Lucida Console", which does
> not contain the desired character.
> Third call (with fallback):
> font_find_for_lface returns "Courier New", with registry "iso8859-1"
> then nil
> Forth call (with fallback):
> font_find_for_lface returns nil
> ....
> eventually font_find_for_lface returns "MS Mincho" with registry
> "jisx0208", which does contain the corresponding character (albiet
> double width, looking suspiciously like katakana YO and not encodable by
> jisx0208). There may be an incompatibility in the w32 font handling
> here, because all truetype fonts are effectively unicode fonts, but we
> return them when other registries that the font can manage are
> requested. This is because Emacs requests iso8859-1 and other 8-bit
> registries before requesting iso10646-1, and if we only return bitmap
> fonts for those we will end up with an ugly display by default.
??? JISX0208 surely contains U+2203 (THERE EXISTS).
By the way, in short, which part of the current code is
wrong? Do you mean that there's a bug, or that the current
strategy doesn't work for Windows?
---
Kenichi Handa
handa@m17n.org
next prev parent reply other threads:[~2009-06-22 11:22 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <4AAF9D6C.1040303@gnu.org>
2009-05-04 18:26 ` bug#3208: 23.0.93; Memory full / crash when displaying lots of characters from a large font (like Arial Unicode or Code2000) which is not explicitly selected (on Win32) Michael Schierl
2009-05-05 15:25 ` Jason Rumney
2009-05-05 15:46 ` Jason Rumney
2009-05-19 2:13 ` Kenichi Handa
2009-06-18 5:29 ` Jason Rumney
2009-06-22 5:47 ` Jason Rumney
2009-06-22 11:22 ` Kenichi Handa [this message]
2009-06-22 11:51 ` Jason Rumney
2009-06-22 12:51 ` Kenichi Handa
2009-06-22 13:05 ` Jason Rumney
2009-06-22 14:01 ` bug#3650: M-x gdb unusable on Windows Jason Rumney
2009-06-23 1:59 ` Kenichi Handa
2009-06-23 3:37 ` Dan Nicolaescu
2009-06-23 6:22 ` Nick Roberts
2009-06-23 7:38 ` Kenichi Handa
2009-06-23 6:09 ` Nick Roberts
2009-06-23 7:59 ` Jason Rumney
2009-06-23 13:22 ` Kenichi Handa
2009-06-23 17:08 ` Dan Nicolaescu
2009-06-25 5:50 ` Kenichi Handa
2009-06-25 6:13 ` Nick Roberts
2009-06-25 7:51 ` Kenichi Handa
2019-11-02 6:04 ` Stefan Kangas
2019-11-02 8:41 ` Eli Zaretskii
2022-04-13 0:40 ` Lars Ingebrigtsen
2009-06-24 4:26 ` bug#3208: 23.0.93; Memory full / crash when displaying lots of characters from a large font (like Arial Unicode or Code2000) which is not explicitly selected (on Win32) Kenichi Handa
2009-06-24 10:37 ` Jason Rumney
2009-06-24 11:45 ` Kenichi Handa
2009-06-24 10:43 ` Jason Rumney
2009-06-24 11:55 ` Kenichi Handa
[not found] ` <4A422909.9060800@gnu.org>
2009-06-25 8:10 ` Kenichi Handa
2009-06-25 13:21 ` Jason Rumney
2009-06-26 1:26 ` Kenichi Handa
2009-06-26 5:54 ` Jason Rumney
2009-06-26 13:12 ` Kenichi Handa
2009-07-02 12:13 ` Kenichi Handa
2009-07-02 21:36 ` Stefan Monnier
2009-07-03 2:11 ` Kenichi Handa
2009-09-15 14:05 ` bug#3208: marked as done (23.0.93; Memory full / crash when displaying lots of characters from a large font (like Arial Unicode or Code2000) which is not explicitly selected (on Win32)) Emacs bug Tracking System
2009-05-06 23:11 bug#3208: 23.0.93; Memory full / crash when displaying lots of characters from a large font (like Arial Unicode or Code2000) which is not explicitly selected (on Win32) Chong Yidong
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
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=E1MIhbi-0003zl-1D@etlken \
--to=handa@m17n.org \
--cc=3208@emacsbugs.donarmstrong.com \
--cc=jasonr@gnu.org \
--cc=schierlm@gmx.de \
/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 public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).