From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Kenichi Handa Newsgroups: gmane.emacs.bugs 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 Message-ID: References: <49FF3340.2040008@gmx.de> <4A005A64.5050908@gnu.org> <4A3F1B05.7030105@gnu.org> Reply-To: Kenichi Handa , 3208@emacsbugs.donarmstrong.com NNTP-Posting-Host: lo.gmane.org X-Trace: ger.gmane.org 1245670679 17132 80.91.229.12 (22 Jun 2009 11:37:59 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 22 Jun 2009 11:37:59 +0000 (UTC) Cc: schierlm@gmx.de, 3208@emacsbugs.donarmstrong.com To: Jason Rumney Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Jun 22 13:37:55 2009 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1MIhqU-0000nX-Ia for geb-bug-gnu-emacs@m.gmane.org; Mon, 22 Jun 2009 13:37:55 +0200 Original-Received: from localhost ([127.0.0.1]:36352 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MIhqT-0002an-K3 for geb-bug-gnu-emacs@m.gmane.org; Mon, 22 Jun 2009 07:37:53 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MIhq8-0002T9-D3 for bug-gnu-emacs@gnu.org; Mon, 22 Jun 2009 07:37:32 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MIhq2-0002Pz-Rz for bug-gnu-emacs@gnu.org; Mon, 22 Jun 2009 07:37:31 -0400 Original-Received: from [199.232.76.173] (port=53484 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MIhq2-0002Ph-Gy for bug-gnu-emacs@gnu.org; Mon, 22 Jun 2009 07:37:26 -0400 Original-Received: from rzlab.ucr.edu ([138.23.92.77]:40151) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1MIhq1-0007ry-Pl for bug-gnu-emacs@gnu.org; Mon, 22 Jun 2009 07:37:26 -0400 Original-Received: from rzlab.ucr.edu (rzlab.ucr.edu [127.0.0.1]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id n5MBbMbl010126; Mon, 22 Jun 2009 04:37:24 -0700 Original-Received: (from debbugs@localhost) by rzlab.ucr.edu (8.14.3/8.14.3/Submit) id n5MBP7D3007891; Mon, 22 Jun 2009 04:25:07 -0700 X-Loop: owner@emacsbugs.donarmstrong.com Resent-From: Kenichi Handa Resent-To: bug-submit-list@donarmstrong.com Resent-CC: Emacs Bugs , owner@emacsbugs.donarmstrong.com Resent-Date: Mon, 22 Jun 2009 11:25:07 +0000 Resent-Message-ID: Resent-Sender: owner@emacsbugs.donarmstrong.com X-Emacs-PR-Message: followup 3208 X-Emacs-PR-Package: emacs,w32 X-Emacs-PR-Keywords: Original-Received: via spool by 3208-submit@emacsbugs.donarmstrong.com id=B3208.12456697667685 (code B ref 3208); Mon, 22 Jun 2009 11:25:07 +0000 Original-Received: (at 3208) by emacsbugs.donarmstrong.com; 22 Jun 2009 11:22:46 +0000 X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. Original-Received: from mx1.aist.go.jp (mx1.aist.go.jp [150.29.246.133]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id n5MBMeA5007674 for <3208@emacsbugs.donarmstrong.com>; Mon, 22 Jun 2009 04:22:42 -0700 Original-Received: from rqsmtp1.aist.go.jp (rqsmtp1.aist.go.jp [150.29.254.115]) by mx1.aist.go.jp with ESMTP id n5MBMcuS027899; Mon, 22 Jun 2009 20:22:38 +0900 (JST) env-from (handa@m17n.org) Original-Received: from smtp1.aist.go.jp by rqsmtp1.aist.go.jp with ESMTP id n5MBMcjC000858; Mon, 22 Jun 2009 20:22:38 +0900 (JST) env-from (handa@m17n.org) Original-Received: by smtp1.aist.go.jp with ESMTP id n5MBMcZI016471; Mon, 22 Jun 2009 20:22:38 +0900 (JST) env-from (handa@m17n.org) Original-Received: from handa by etlken with local (Exim 4.69) (envelope-from ) id 1MIhbi-0003zl-1D; Mon, 22 Jun 2009 20:22:38 +0900 In-reply-to: <4A3F1B05.7030105@gnu.org> (message from Jason Rumney on Mon, 22 Jun 2009 13:47:49 +0800) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 2) Resent-Date: Mon, 22 Jun 2009 07:37:31 -0400 X-BeenThere: bug-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:28900 Archived-At: In article <4A3F1B05.7030105@gnu.org>, Jason Rumney 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