GNU bug report logs -
#48148
27.2; ox-ascii breaks TITLE line wrongly when 2 width char is used
Previous Next
Reported by: Shingo Tanaka <shingo.fg8 <at> gmail.com>
Date: Sat, 1 May 2021 23:53:02 UTC
Severity: normal
Found in version 27.2
Done: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
Bug is archived. No further changes may be made.
Full log
Message #17 received at 48148 <at> debbugs.gnu.org (full text, mbox):
Thank you for the advice. I see that `window-text-pixel-size' returns true
displayed width but I think that's TRT for only the other bug I reported
(bug#48149). These two bugs looks similar but the root causes are completed
different.
This bug (bug#48148) is actually caused by the difference of the width
detection methods between line 1036 in ox-ascii.el (`length') and
`fill-region'. This is because `org-ascii-template--document-title' first
detects the title width by `length' and then tries to fill it by
`org-ascii--fill-string' which does the action by `fill-region' inside. And
since the filling point in `fill-region' is based on `move-to-column' and it
looks like giving the same result as `string-width', I think `string-width'
is TRT for this bug.
In other words, specific to this bug, only the same width detection method as
`fill-region' is required, even if it doesn't give you the precise width
displayed.
Please correct me if I am wrong.
---
Shingo Tanaka
On Sun, 02 May 2021 18:11:41 +0900,
Eli Zaretskii wrote:
>
> > From: Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
> > Cc: Shingo Tanaka <shingo.fg8 <at> gmail.com>, 48148 <at> debbugs.gnu.org
> > Date: Sun, 02 May 2021 10:23:34 +0200
> >
> > > The accurate method of lining up in these cases is to use
> > > window-text-pixel-size instead. That function will return the exact
> > > width of a string as it will displayed, in pixels, because it uses the
> > > same code as the display engine.
> >
> > Would you mind giving an example about `window-text-pixel-size' usage in
> > this situation?
>
> I'm not sure what kind of example is necessary. How about if you ask
> specific questions about the arguments of that function which you
> don't understand clearly how to use?
>
> > AFAIU, `window-text-pixel-size' returns the size of the window
>
> No, it returns the size of _text_ when displayed in a window.
>
> > Note that `text-width' in the code above is not related to the width
> > of the window, but is a maximum number of allowed characters on a
> > line.
>
> I didn't mean text-width, I meant the use of string-width: it should
> be replaced by a call to window-text-pixel-size.
This bug report was last modified 4 years and 16 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.