From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#6364: [PATCH] Use GetCharABCWidthsFloatW if GetGlyphOutlineW fails. Date: Tue, 26 Nov 2013 19:52:45 +0200 Message-ID: <83pppn9hjm.fsf@gnu.org> References: <8CCD3BEBEE756DD-DB8-DFB9@web-mmc-m08.sysops.aol.com> <713BA87B-E38A-4777-B054-E136A7C96EF9@tomseddon.plus.com> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1385488392 7567 80.91.229.3 (26 Nov 2013 17:53:12 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 26 Nov 2013 17:53:12 +0000 (UTC) Cc: 6364@debbugs.gnu.org To: Tom Seddon Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Nov 26 18:53:17 2013 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1VlMp3-0003jq-Ew for geb-bug-gnu-emacs@m.gmane.org; Tue, 26 Nov 2013 18:53:17 +0100 Original-Received: from localhost ([::1]:60308 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VlMp2-0006rl-VJ for geb-bug-gnu-emacs@m.gmane.org; Tue, 26 Nov 2013 12:53:16 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:39340) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VlMou-0006ra-MJ for bug-gnu-emacs@gnu.org; Tue, 26 Nov 2013 12:53:14 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VlMop-0002iF-CP for bug-gnu-emacs@gnu.org; Tue, 26 Nov 2013 12:53:08 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:60453) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VlMop-0002i7-8c for bug-gnu-emacs@gnu.org; Tue, 26 Nov 2013 12:53:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1VlMoo-00044M-RW for bug-gnu-emacs@gnu.org; Tue, 26 Nov 2013 12:53:03 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 26 Nov 2013 17:53:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 6364 X-GNU-PR-Package: emacs,w32 X-GNU-PR-Keywords: patch Original-Received: via spool by 6364-submit@debbugs.gnu.org id=B6364.138548836715615 (code B ref 6364); Tue, 26 Nov 2013 17:53:02 +0000 Original-Received: (at 6364) by debbugs.gnu.org; 26 Nov 2013 17:52:47 +0000 Original-Received: from localhost ([127.0.0.1]:46239 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VlMoY-00043m-K9 for submit@debbugs.gnu.org; Tue, 26 Nov 2013 12:52:47 -0500 Original-Received: from mtaout21.012.net.il ([80.179.55.169]:38327) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VlMoS-00043N-NC for 6364@debbugs.gnu.org; Tue, 26 Nov 2013 12:52:42 -0500 Original-Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0MWV00K00TH1QU00@a-mtaout21.012.net.il> for 6364@debbugs.gnu.org; Tue, 26 Nov 2013 19:52:30 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MWV00K1KTNHQH30@a-mtaout21.012.net.il>; Tue, 26 Nov 2013 19:52:30 +0200 (IST) In-reply-to: <713BA87B-E38A-4777-B054-E136A7C96EF9@tomseddon.plus.com> X-012-Sender: halo1@inter.net.il X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:81001 Archived-At: > From: Tom Seddon > Date: Tue, 26 Nov 2013 00:35:05 +0000 > > Please find below a patch to improve the poor scrolling performance when using bitmap fonts. #14721 (http://debbugs.gnu.org/cgi/bugreport.cgi?bug=14721) and and 14307 (http://debbugs.gnu.org/cgi/bugreport.cgi?bug=14307) may also be affected. The patch has been tested against emacs 24.3. It applied cleanly to git head (22687e54e0e4d7c73c098417478574a55393fe2c) but I haven't built it. > > Performance with particularly long lines is still rather poor, but general responsiveness is much improved. (Once the buffer is fontified, emacs can now usually keep up if I hold down PgUp, PgDn, C-s, etc.) Thanks, but can you please provide a reproducible test case, including the font where the slow scrolling happens? I don't see any fonts named in these bug reports. > (I settled on GetCharABCWidthsFloatW because it works for bitmap fonts and TrueType fonts alike. But the key thing is simply not to create a DC each time w32font_text_extents is called, so there are various other functions that could be called instead if preferred.) Are there other possibilities to fix this, without using GetCharABCWidthsFloatW? The problem with that function is that it is not available on Windows 9X (in the unicows.dll library), so this problem will be left unsolved on those systems.