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: Fri, 29 Nov 2013 13:05:54 +0200 Message-ID: <83wqjr79il.fsf@gnu.org> References: <8CCD3BEBEE756DD-DB8-DFB9@web-mmc-m08.sysops.aol.com> <713BA87B-E38A-4777-B054-E136A7C96EF9@tomseddon.plus.com> <83pppn9hjm.fsf@gnu.org> <3E4E896E-71DC-402F-A572-E65A4AB621FA@tomseddon.plus.com> <83k3fuap9u.fsf@gnu.org> <83ioveanyq.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1385723238 27800 80.91.229.3 (29 Nov 2013 11:07:18 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 29 Nov 2013 11:07:18 +0000 (UTC) Cc: 6364-done@debbugs.gnu.org To: Tom Seddon Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Nov 29 12:07:21 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 1VmLur-0007Pu-8s for geb-bug-gnu-emacs@m.gmane.org; Fri, 29 Nov 2013 12:07:21 +0100 Original-Received: from localhost ([::1]:46799 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VmLuq-0006iE-NN for geb-bug-gnu-emacs@m.gmane.org; Fri, 29 Nov 2013 06:07:20 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:37984) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VmLuh-0006fX-GG for bug-gnu-emacs@gnu.org; Fri, 29 Nov 2013 06:07:17 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VmLuZ-0004jL-4N for bug-gnu-emacs@gnu.org; Fri, 29 Nov 2013 06:07:11 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:35782) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VmLuZ-0004jC-2J for bug-gnu-emacs@gnu.org; Fri, 29 Nov 2013 06:07:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1VmLuY-0001c7-T9 for bug-gnu-emacs@gnu.org; Fri, 29 Nov 2013 06:07:02 -0500 Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-To: bug-gnu-emacs@gnu.org Resent-Date: Fri, 29 Nov 2013 11:07:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: cc-closed 6364 X-GNU-PR-Package: emacs,w32 X-GNU-PR-Keywords: patch Mail-Followup-To: 6364@debbugs.gnu.org, eliz@gnu.org, bogossian@mail.com Original-Received: via spool by 6364-done@debbugs.gnu.org id=D6364.13857232066176 (code D ref 6364); Fri, 29 Nov 2013 11:07:02 +0000 Original-Received: (at 6364-done) by debbugs.gnu.org; 29 Nov 2013 11:06:46 +0000 Original-Received: from localhost ([127.0.0.1]:49800 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VmLuH-0001bY-Jo for submit@debbugs.gnu.org; Fri, 29 Nov 2013 06:06:45 -0500 Original-Received: from mtaout20.012.net.il ([80.179.55.166]:65415) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1VmLuF-0001bJ-MY for 6364-done@debbugs.gnu.org; Fri, 29 Nov 2013 06:06:44 -0500 Original-Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0MX000500USVE700@a-mtaout20.012.net.il> for 6364-done@debbugs.gnu.org; Fri, 29 Nov 2013 13:06:05 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MX000507UU4DB20@a-mtaout20.012.net.il>; Fri, 29 Nov 2013 13:06:05 +0200 (IST) In-reply-to: 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:81087 Archived-At: > From: Tom Seddon > Date: Tue, 26 Nov 2013 21:50:02 +0000 > Cc: 6364@debbugs.gnu.org > > On 26 Nov 2013, at 20:48, Eli Zaretskii wrote: > > > OK. So what other function(s) can be used for this purpose? > > > > If there are no good alternatives, I guess we will go with > > GetCharABCWidthsFloatW anyway, since the situation cannot become worse > > than it is already. > > I've changed it to GetCharWidth32, which is in the list on that MSDN page - see patch below. I've checked this against all bitmap fonts on my system and it produces the same results (and emacs looks to behave the same, including in terms of performance). Thanks, I committed this in your name, with one change: you forgot to initialize g_b_init_get_char_width_32_w in globals_of_w32font. > > Btw, I used your recipe, but didn't see any significant slowdown with > > fixed.fon (also, the file bigline.txt is missing, I just used the > > 16384 thingy instead. > > Agh, my mistake - I should have included start-slow.el, not start-bigline.el. Sorry. start-slow.el looks like this: > > (set-face-attribute 'default nil :font "fixed") > (switch-to-buffer (find-file "usb.ids")) > (goto-char (point-max)) > > Maybe that will show up the problem? But it sounds rather like your computer just doesn't suffer from this issue, for whatever reason... I see the CPU usage decrease by half if I use Emacs with your patch with a bitmap font, so I guess the effect is visible on my system as well. Thanks. I'm closing this bug.