GNU bug report logs - #48149
27.2; Wrong underline width when the line char has a width of 2

Previous Next

Package: org-mode;

Reported by: Shingo Tanaka <shingo.fg8 <at> gmail.com>

Date: Sun, 2 May 2021 01:13:02 UTC

Severity: normal

Full log


Message #24 received at 48149 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
Cc: shingo.fg8 <at> gmail.com, 48149 <at> debbugs.gnu.org
Subject: Re: bug#48149: 27.2;
 Wrong underline width when the line char has a width of 2
Date: Sun, 02 May 2021 19:23:02 +0300
> From: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
> Date: Sun, 02 May 2021 18:08:50 +0200
> Cc: 48149 <at> debbugs.gnu.org
> 
> > In case of 1), it correctly takes account of the case in which the character
> > has a width of 2 in `org-ascii--build-title', by dividing the line width by
> > `(char-width under-char)' (line 700-701), maybe because the character is user
> > configurable and its width in unknown.  However, in case of 2) and
> > 3), maybe because the characters is embedded in the code, it looks like only
> > considering the character always has a width of 1.  But the reality is
> > character ?─ or ?━ can have a width of 2 in the screen displayed with some
> > fonts (ex. "Noto Sans Mono CJK JP"), and in that case the line width gets
> > doubled of the expected width.
> >
> > Attached one is a potential patch.  The basic concepts are:
> >
> > a) Do the same in case of 2) and 3) as in case of 1)
> >    (dividing the line width by `(char-width under-char)',
> >     assuming `char-width-table' is correctly set)
> >     
> > b) Prefer the longer line width if the width is odd, even in case of 1)
> >    (adding `(1- (char-width under-char))' to dividend,
> >     just because it should be more beautiful ;-) )
> 
> Thank you. This looks good. I cannot apply it on "maint" branch,
> however. Also, a proper commit message would be nice. Could you send an
> updated patch?

Please note that using char-width cannot solve the problem of a
character whose width depends on the font, because char-width is
oblivious to fonts, it only knows about the character's codepoint.




This bug report was last modified 2 years and 349 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.