> From: Nicolas Goaziou <m...@nicolasgoaziou.fr> > Date: Sun, 02 May 2021 18:08:50 +0200 > Cc: 48...@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.