From unknown Tue Aug 12 07:33:50 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#63544 <63544@debbugs.gnu.org> To: bug#63544 <63544@debbugs.gnu.org> Subject: Status: 28.3; extra width not renderes correctly in TUI when making a character wider Reply-To: bug#63544 <63544@debbugs.gnu.org> Date: Tue, 12 Aug 2025 14:33:50 +0000 retitle 63544 28.3; extra width not renderes correctly in TUI when making a= character wider reassign 63544 emacs submitter 63544 Adam Ibrahim severity 63544 normal tag 63544 notabug thanks From debbugs-submit-bounces@debbugs.gnu.org Tue May 16 22:04:36 2023 Received: (at submit) by debbugs.gnu.org; 17 May 2023 02:04:36 +0000 Received: from localhost ([127.0.0.1]:48356 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pz6Wn-0000aZ-KJ for submit@debbugs.gnu.org; Tue, 16 May 2023 22:04:36 -0400 Received: from lists.gnu.org ([209.51.188.17]:41948) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pz0Rm-00063l-6l for submit@debbugs.gnu.org; Tue, 16 May 2023 15:35:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pz0Rl-0004nn-Tn for bug-gnu-emacs@gnu.org; Tue, 16 May 2023 15:34:57 -0400 Received: from mail-ej1-x62c.google.com ([2a00:1450:4864:20::62c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pz0Rk-0000pt-EC for bug-gnu-emacs@gnu.org; Tue, 16 May 2023 15:34:57 -0400 Received: by mail-ej1-x62c.google.com with SMTP id a640c23a62f3a-96622bca286so2370464466b.1 for ; Tue, 16 May 2023 12:34:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684265694; x=1686857694; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=PcIKB2o3JXe0sHxZ5e79V8oaD5DzqafifjBh2gd1BjQ=; b=bshrzgzZACabL4Hg0hUrnfxxGHxSn5ibHYKN8+aUgMFMcdk1TNDHxFarVHz36dMKY0 /m5ODLTa5RHd6JuiVTRMehh7DlKM9KpnpwEzBz4TavC6NuJzJ/ubCXmSTLZOxjLmpc4P 4313pl+ykknSuw9XX4kAF+yUEgA8gah2wA87Ja/+mJJeGkRT7J4EAH6uYwZ5p+dYB79z but6RIKmaPw6ET4Z5SdI1gfbDPg6lTdpfjbo5JTUwkPSq6wqr/HsrXtFZvVDXBuctSHJ GFYDIz8KETT1tKgAIEt0IDIJdx17VhJqGU1Y3W36oR1Yk30YUQPuwAHm6P2vQNaNb4HT XMtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684265694; x=1686857694; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=PcIKB2o3JXe0sHxZ5e79V8oaD5DzqafifjBh2gd1BjQ=; b=MlCU4xZ8LpNH5JaLYWq8ptPcUzKuOXU1OR2Ox+oNldC0r6qUd72CXoFymrYTY0467K JDvRwnvTURatApx7gVFYZ0CnwSJPouu7aQEQ/cOAj1kreo84WLTOHLCwqdiDQ38moO4X 8na9vXpc6jSNfzZMbq8PQdBxPg4NiFMUB+qKAV9xraDjFVmK/ETlYPSfDilXn2yXZq2Y 8v5dEhPJ418tVPOmHEFGyNwproNbEGzEcxKOkuEUaIQfWAXsn8PQZARlpsdDXoE8YTMO 4LM9LXQRgfr2oCXLWxiolKNlgrTcnLLgqUj62nlF43arEVQVgZlviVneqrLxb8vL3jq1 OmKQ== X-Gm-Message-State: AC+VfDwSU3Mf3UfRV1cS7C7v4w5Mts18Do2zUkwou4m/Fbc/Da3MTVig uFhNESAyCzG1whApBPvlNUdI1CcJWNV3Ar3t27mGdsmd X-Google-Smtp-Source: ACHHUZ7dfwDeT+n92GjlIRXtJk/Nt7OIO2H9LB/UoJZHSSlF2W5vK88A5Ae7gJk4nUdeCV3kpf7rjV8SOPPuZMjzLck= X-Received: by 2002:a17:907:7296:b0:96a:580e:bf0f with SMTP id dt22-20020a170907729600b0096a580ebf0fmr16483205ejc.14.1684265693775; Tue, 16 May 2023 12:34:53 -0700 (PDT) MIME-Version: 1.0 From: Adam Ibrahim Date: Tue, 16 May 2023 15:34:38 -0400 Message-ID: Subject: 28.3; extra width not renderes correctly in TUI when making a character wider To: bug-gnu-emacs@gnu.org Content-Type: multipart/alternative; boundary="00000000000062892705fbd4aa65" Received-SPF: pass client-ip=2a00:1450:4864:20::62c; envelope-from=ibrahimadam193@gmail.com; helo=mail-ej1-x62c.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.1 (-) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Tue, 16 May 2023 22:04:31 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.1 (--) --00000000000062892705fbd4aa65 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable When I make a character wider by changing the char width table, it isn't sometimes with shows and sometimes it doesn't. 1. Start up emacs with this command. emacs -Q --eval '(progn (set-char-table-range char-width-table #x221e 2) (set-char-table-range char-width-table #x2014 2))' 2. Type "=E2=80=94a" into the scratch buffer. The em dash should be correct= ly rendered two cells wide, and the a shouldn't overlap with the em dash. 3. `M-x redraw-screen`. The em dash should now overlap the a. consistently works with: - Termux, iosevka - xfce4-terminal, iosevka and source code pro - Kitty, iosevka --00000000000062892705fbd4aa65 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


When I make a character wider by changing the cha= r width table, it isn't
sometimes with shows and sometimes it doesn&= #39;t.

1. Start up emacs with this command.

emacs -Q --eval = '(progn (set-char-table-range char-width-table #x221e 2) (set-char-tabl= e-range char-width-table #x2014 2))'

2. Type "=E2=80=94a&qu= ot; into the scratch buffer. The em dash should be correctly rendered two c= ells wide, and the a shouldn't overlap with the em dash.
3. `M-x red= raw-screen`. The em dash should now overlap the a.

consistently work= s with:

- Termux, iosevka
- xfce4-terminal, iosevka and source co= de pro
- Kitty, iosevka
=C2=A0
--00000000000062892705fbd4aa65-- From debbugs-submit-bounces@debbugs.gnu.org Wed May 17 09:25:23 2023 Received: (at 63544) by debbugs.gnu.org; 17 May 2023 13:25:23 +0000 Received: from localhost ([127.0.0.1]:49281 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pzH9e-0006Vb-W5 for submit@debbugs.gnu.org; Wed, 17 May 2023 09:25:23 -0400 Received: from eggs.gnu.org ([209.51.188.92]:57658) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pzH9d-0006VK-6S; Wed, 17 May 2023 09:25:21 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pzH9X-0002Zw-Su; Wed, 17 May 2023 09:25:15 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=vqO75dRvLPueylOw3rnc7Tf7JLiTIzRv6PPxFm1VuwY=; b=TWZcXrFSJbVDo7CBJ8RO eftUQwynFw941mnYggzH0lZDeraPopsNyvnmPAyZcHxVqLT9yJQDtmYeBg+TQiGtxJbG+NCp1qwMf lPPM9Gghagsnktxk8rr6OgOu7FZof/qajArp5rflAnDX6DxnOL3tpHtN5HtoHjgI8t7NupPogZ/wv DMxp1i+xm2hfOyEF2IAEKabWvLQxEhyA5Ggd0cebabhNQFpcqRkMMbgBXAqvvKrMrIWoM4DjXrO0j 62wsyUGLLl/4ysj4knWY1y9CtIl/WnpXdCudnX60iSg+FuDFLdod+filJ6B1dRLsAcwhbqqb5lI/q ENYIDkrVFrlAKQ==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pzH9Q-0006mN-CO; Wed, 17 May 2023 09:25:15 -0400 Date: Wed, 17 May 2023 16:25:17 +0300 Message-Id: <83ednfxf7m.fsf@gnu.org> From: Eli Zaretskii To: Adam Ibrahim In-Reply-To: (message from Adam Ibrahim on Tue, 16 May 2023 15:34:38 -0400) Subject: Re: bug#63544: 28.3; extra width not renderes correctly in TUI when making a character wider References: MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 63544 Cc: 63544@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) tags 63544 notabug thanks > From: Adam Ibrahim > Date: Tue, 16 May 2023 15:34:38 -0400 > > When I make a character wider by changing the char width table, it isn't > sometimes with shows and sometimes it doesn't. > > 1. Start up emacs with this command. > > emacs -Q --eval '(progn (set-char-table-range char-width-table #x221e 2) (set-char-table-range > char-width-table #x2014 2))' > > 2. Type "—a" into the scratch buffer. The em dash should be correctly rendered two cells wide, and the > a shouldn't overlap with the em dash. > 3. `M-x redraw-screen`. The em dash should now overlap the a. (I guess you mean "M-x redraw-display". There's no redraw-screen command in Emacs.) I'm guessing you did the above in order to cause the em-dash character display as two character cells instead of just one. But that will only work if, when the em-dash character is written to the terminal, its glyph indeed takes two character cells, and the terminal tells the driver that the "virtual write cursor" was moved by two character cells. Emacs expects double-width characters to produce that effect, and evidently in your case this character doesn't. The upshot is that we cannot support artificially "widening" characters which don't behave like double-width characters from the POV of the terminal emulator. Just using a font where the character's glyph is wide is not enough; you need the terminal emulator to understand that this is the case with these characters, and behave accordingly. The above "sometimes works" because Emacs doesn't always write the entire screen line of the characters. It tries very hard to minimize the writes to the glass. So when you type the initial '—' character, Emacs writes only it, and then moves the display cursor to where it thinks it should be -- which is column 2 (zero-based). Then, when you type 'a', Emacs inserts just the glyph for 'a', it doesn't redraw the first '—' character. By contrast, when you invoke redraw-display, Emacs redraws the entire line, expecting the 'a' character to be written by the terminal emulator starting at column 2, not column 1. It expects the terminal emulator to make sure this is what happens when Emacs writes the string "—a" to the terminal. But in your case, it doesn't: the 'a' character starts at column 1, so it overlaps with '—'. IOW, Emacs assumes that writing a single character '—' occupies 2 columns no matter whether there are or aren't characters after '—'. And that requires the terminal emulator to play along, when you use Iosevka (and other similar fonts). This is not a bug. I don't see how Emacs could do anything here to fix the terminal emulator, without causing serious degradation in redisplay performance. Sorry. From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 03 06:35:45 2023 Received: (at 63544-done) by debbugs.gnu.org; 3 Sep 2023 10:35:45 +0000 Received: from localhost ([127.0.0.1]:39651 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qckSG-0000QY-UI for submit@debbugs.gnu.org; Sun, 03 Sep 2023 06:35:45 -0400 Received: from mail-lf1-x132.google.com ([2a00:1450:4864:20::132]:51493) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qckSD-0000QH-Iw for 63544-done@debbugs.gnu.org; Sun, 03 Sep 2023 06:35:43 -0400 Received: by mail-lf1-x132.google.com with SMTP id 2adb3069b0e04-50079d148aeso903790e87.3 for <63544-done@debbugs.gnu.org>; Sun, 03 Sep 2023 03:35:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1693737325; x=1694342125; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:mime-version:references:in-reply-to :from:from:to:cc:subject:date:message-id:reply-to; bh=cnOsfApjGaSWIe6uzC4qLGTyK+5E2w3/PEym+r1nvOA=; b=K96ZeHtoCHo4pFfjAmdRQaWex21lSSYd966a5Xp7po6pBP8W7LJeez9uKOZG4eCgN3 FTeuMgBI5a6J92FK3rApNPo4GOEZBsbKrVwfSA+lKu/bdbco4E5v/Fc2Bu5oYo+G+xVf A33Aud9JvqxqLJMnI8CAtkMeNXi6hzRilZeG0PLh75laiZkUEX8NoZjC4vSkzWgx8FtH 2XJ/BBF18KBLcr1SXg8kcD2V4GbBEbHO1G2g7To7pVT2KFFnqvHxpVzWkBITuFWXH3ev NSKCnv69BuZBS4yghJETun5trPmslqaP6l/WH0Rw5/0rMjt3xWNJYyEEf/wfoXe/9Ppp vpMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693737325; x=1694342125; h=cc:to:subject:message-id:date:mime-version:references:in-reply-to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=cnOsfApjGaSWIe6uzC4qLGTyK+5E2w3/PEym+r1nvOA=; b=fjrH7q4CO2cIfLAOWMX1Ie+prwM/D7kpHoCgmBHl1jDjPeHcgPhpfCz8h7YHmlKvAd Vie77TMEaA5uAt3ttQuU4nQk1Deb0QQAUlYPJQo0KFuL0NxvKwGCkzCPZA7SspOQp+dS EbdSgg7J1xmKtT8PvTX2Ic9ZQgppQWhWCtHbN5MRdxEUK1DRuFjb0+1AxfuMLqOEcWzG CVUcubFQ0aeEAIr1X6zgDqKvPELYsddlnp0hf4raLKtgPXxYiVsMTH0aYNG/zlwxXewz Pf53Y+NeeYOyCv5cLLrwjo3EAFolmXhIaH+2e3LV1MJV1moAciPzHPch8KZJR4J8cPio 8QEA== X-Gm-Message-State: AOJu0YwobwaTMslHZZrk7igUBhewr5n7pQYyhQfzFYnHDfgWUpbPTN8M rnHqGJM8E6nuSIDQ9T542E1KVokxY0SmDubdUV48sCJeXhQ= X-Google-Smtp-Source: AGHT+IFaqPbSxwmhhFaSaJEw5qZqtint8+Z0ZLMTjfACA3C158BTqpNo1HgM8dXgNqvlFyryt3eHHY1l9xHvm6mqGV8= X-Received: by 2002:a05:6512:1114:b0:4fd:c923:db59 with SMTP id l20-20020a056512111400b004fdc923db59mr5349101lfg.15.1693737325304; Sun, 03 Sep 2023 03:35:25 -0700 (PDT) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Sun, 3 Sep 2023 03:35:24 -0700 From: Stefan Kangas In-Reply-To: <83ednfxf7m.fsf@gnu.org> (Eli Zaretskii's message of "Wed, 17 May 2023 16:25:17 +0300") References: <83ednfxf7m.fsf@gnu.org> MIME-Version: 1.0 Date: Sun, 3 Sep 2023 03:35:24 -0700 Message-ID: Subject: Re: bug#63544: 28.3; extra width not renderes correctly in TUI when making a character wider To: Eli Zaretskii Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 63544-done Cc: Adam Ibrahim , 63544-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Eli Zaretskii writes: > tags 63544 notabug > thanks [...] > This is not a bug. I don't see how Emacs could do anything here to > fix the terminal emulator, without causing serious degradation in > redisplay performance. > > Sorry. I'm therefore closing this bug report. From unknown Tue Aug 12 07:33:50 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 01 Oct 2023 11:24:17 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator