Subject: bug#54688: 29.0.50; Sliced image in margin looks bad

From: dalanicolai <[email-masked]>
Date: Sun, 3 Apr 2022 15:05:44 +0200

>
> Does this mean the problem is solved, and we can close this bug?

I am not sure. It depends on what is the intended behavior. I would say it
is desirable
if inserting text after an image, of height equal to the text height, would
not increase
the `line-pixel-height`. The elisp manual
<https://www.gnu.org/software/emacs/manual/html_node/elisp/Image-Descriptors.html>
mentions that the default value for :ascent is
50, in which case the `line-pixel-height` is larger than the both the
'image height' and
the 'text height'. So maybe the default value of :ascent should be 80, in
which case
the 'line-pixel-height' 'remains' equal to the image height and text height.

However, there might be various arguments for the current default value of
50 (and its
behavior of increasing the 'line-pixel'height' when combining images with
text on a
single line).

> I would think that this :ascent of 80, behaves how :ascent 50 (the
> default)
> > is supposed to behave?
>
> I don't think I understand the question.
>

I mean that I would expect the default behavior to be that, when combining
images and
text of equal height on a single line, the 'line-pixel-height' would also
be/stay of equal
height.
But as mentioned before, there might be various arguments for the current
behavior,
however (as a layman) I am not aware of any.

If the current behavior is the desired behavior, then indeed this issue can
be closed.

On Sun, 3 Apr 2022 at 14:03, Eli Zaretskii <[email-masked]> wrote:

> > From: dalanicolai <[email-masked]>
> > Date: Sun, 3 Apr 2022 13:03:27 +0200
> > Cc: [email-masked]
> >
> > Playing around with :ascent, makes possible to keep the
> line-pixel-height fixed.
> >
> > So in the following I simply use `insert-image`. Without the :ascent, the
> > 'line-pixel-height' increases when inserting another character. With the
> > :ascent it is possible to reduce this 'increase'. For me the increase is
> 0
> > when I use an ascent value of 80.
> > (below the used code)
> >
> > (with-current-buffer (get-buffer-create "test")
> >   (setq left-margin-width 5)
> >   (insert-image (svg-image (let* ((ph (line-pixel-height))
> >                                   (size ph)
> >                                   (svg (svg-create size size)))
> >                              (svg-circle svg ph ph ph :fill "red")
> >                              svg)
> >                            :ascent 80))
> >   (switch-to-buffer (current-buffer)))
>
> Does this mean the problem is solved, and we can close this bug?
>