From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Vincent Lefevre Newsgroups: gmane.emacs.bugs Subject: bug#44284: 27.1; with some Unicode font, scrolling upward with the mouse wheel actually scrolls downward when the cursor needs repositioning Date: Sun, 1 Nov 2020 01:24:30 +0100 Message-ID: <20201101002430.GL27593@zira.vinc17.org> References: <83pn4zal89.fsf@gnu.org> <20201030163125.GD27593@zira.vinc17.org> <20201030203453.GF27593@zira.vinc17.org> <20201030205702.GG27593@zira.vinc17.org> <83y2jn8lqr.fsf@gnu.org> <20201030230035.GH27593@zira.vinc17.org> <20201031004617.GI27593@zira.vinc17.org> <20201031011350.GJ27593@zira.vinc17.org> <83r1pe975u.fsf@gnu.org> <20201031224324.GK27593@zira.vinc17.org> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="31360"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mutt/1.14.5+76 (bb407ec3) vl-127292 (2020-06-24) Cc: 44284@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Nov 01 01:25:10 2020 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kZ1BF-00081Y-Vj for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 01 Nov 2020 01:25:09 +0100 Original-Received: from localhost ([::1]:51650 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kZ1BF-0002dB-1n for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 31 Oct 2020 20:25:09 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:44038) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kZ1B8-0002co-6R for bug-gnu-emacs@gnu.org; Sat, 31 Oct 2020 20:25:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:51643) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kZ1B7-0002XD-So for bug-gnu-emacs@gnu.org; Sat, 31 Oct 2020 20:25:01 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kZ1B7-0005RU-Pn for bug-gnu-emacs@gnu.org; Sat, 31 Oct 2020 20:25:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Vincent Lefevre Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 01 Nov 2020 00:25:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 44284 X-GNU-PR-Package: emacs Original-Received: via spool by 44284-submit@debbugs.gnu.org id=B44284.160419027620886 (code B ref 44284); Sun, 01 Nov 2020 00:25:01 +0000 Original-Received: (at 44284) by debbugs.gnu.org; 1 Nov 2020 00:24:36 +0000 Original-Received: from localhost ([127.0.0.1]:34956 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZ1Ah-0005Qo-Oy for submit@debbugs.gnu.org; Sat, 31 Oct 2020 20:24:36 -0400 Original-Received: from joooj.vinc17.net ([155.133.131.76]:57116) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZ1Ae-0005Qa-EA for 44284@debbugs.gnu.org; Sat, 31 Oct 2020 20:24:34 -0400 Original-Received: from smtp-zira.vinc17.net (128.119.75.86.rev.sfr.net [86.75.119.128]) by joooj.vinc17.net (Postfix) with ESMTPSA id 0E89565B; Sun, 1 Nov 2020 01:24:31 +0100 (CET) Original-Received: by zira.vinc17.org (Postfix, from userid 1000) id B65CFC23E7A; Sun, 1 Nov 2020 01:24:30 +0100 (CET) Content-Disposition: inline In-Reply-To: <20201031224324.GK27593@zira.vinc17.org> X-Mailer-Info: https://www.vinc17.net/mutt/ X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list 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-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:192320 Archived-At: On 2020-10-31 23:43:24 +0100, Vincent Lefevre wrote: > What is wrong seems to be the initial position of the text in the > window. Indeed, with xmag (magnifier), I can see that the glyphs > are shifted one line downward. Now, I don't know where to look at. The issue is in xdisp.c, function compute_line_metrics. With size 14, one gets row->height = 14 and everything is fine. With size 13, one gets row->height = 13 initially, but one enters the following condition: /* If first line's physical ascent is larger than its logical ascent, use the physical ascent, and make the row taller. This makes accented characters fully visible. */ if (row == MATRIX_FIRST_TEXT_ROW (it->w->desired_matrix) && row->phys_ascent > row->ascent) { row->height += row->phys_ascent - row->ascent; row->ascent = row->phys_ascent; } where row->height is increased to 14, hence the issue with the first line. One successively gets it->current_y = 0 it->current_y = 14 it->current_y = 27 adding 13 each time for the following lines. With size 14: row->phys_ascent = 12 row->ascent = 12 With size 13: row->phys_ascent = 12 row->ascent = 11 I don't know where phys_ascent comes from, but it does not seem to be in the font description. Anyway, this case is not handled correctly by Emacs. Note also that when building without cairo (--without-cairo), I get with size 13: row->phys_ascent = 11 row->ascent = 11 -- Vincent Lefèvre - Web: 100% accessible validated (X)HTML - Blog: Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)