emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* [PATCH] Prevent displayed images from being re-scaled
@ 2021-09-29 13:33 Timothy
  2021-10-02 20:30 ` Timothy
  2021-10-03  4:57 ` Bastien
  0 siblings, 2 replies; 5+ messages in thread
From: Timothy @ 2021-09-29 13:33 UTC (permalink / raw)
  To: Org-Mode Mailing List

[-- Attachment #1: Type: text/plain, Size: 922 bytes --]

Hello,

After my last patch providing support for proportional image width attributes
(e.g. 70% of the text width), I noticed that the results looked slightly off.
Investigating the code lead me to `create-image' which takes the liberty of
re-scaling images based on your default font size. As you might imagine, this
can be problematic when if you say determine that image should be 70% of the
text width, the text width is 1000px, and so the image should be 700px wide —
but upon being told to make the image 700 pixels wide `create-image' decides to
make it say 850 pixels wide. I personally found that images >~80% wide were
being made wider than the buffer, which isn’t good.

To make image width behave as expected, we can just specify `:scale 1' when
calling `create-image', and that will stop it from re-interpreting the `:width'
specification. See the patch attached.

All the best,
Timothy

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-org-Don-t-change-image-size-based-on-font-size.patch --]
[-- Type: text/x-patch, Size: 1113 bytes --]

From 9c34dd6aba62d734f6ae9aecaffa76a0250bf495 Mon Sep 17 00:00:00 2001
From: TEC <tec@tecosaur.com>
Date: Wed, 29 Sep 2021 21:29:27 +0800
Subject: [PATCH] org: Don't change image size based on font size

* lisp/org.el (org--create-inline-image): When `create-image' is called
without the :scale parameter, the image size is expanded based on the
default font size (if it is larger than 10px).  When displaying images
with a specified width in Org buffers, either in pixels or proportional
to the text width, this width should not be modified according the to
font size.  Giving a :scale parameter of 1 prevents this font-size based
rescaling.
---
 lisp/org.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/org.el b/lisp/org.el
index 2ec6566c0..0e7f926f0 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -16518,7 +16518,7 @@ (defun org--create-inline-image (file width)
 			 width
 			 'imagemagick)
 		    remote?
-		    :width width))))
+		    :width width :scale 1))))
 
 (defun org-display-inline-images (&optional include-linked refresh beg end)
   "Display inline images.
-- 
2.33.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] Prevent displayed images from being re-scaled
  2021-09-29 13:33 [PATCH] Prevent displayed images from being re-scaled Timothy
@ 2021-10-02 20:30 ` Timothy
  2021-10-25 13:49   ` Timothy
  2021-10-03  4:57 ` Bastien
  1 sibling, 1 reply; 5+ messages in thread
From: Timothy @ 2021-10-02 20:30 UTC (permalink / raw)
  To: Org-Mode Mailing List

[-- Attachment #1: Type: text/plain, Size: 119 bytes --]

Hi All,

I intend to push this in the next few days, assuming I don’t get any feedback.

All the best,
Timothy

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] Prevent displayed images from being re-scaled
  2021-09-29 13:33 [PATCH] Prevent displayed images from being re-scaled Timothy
  2021-10-02 20:30 ` Timothy
@ 2021-10-03  4:57 ` Bastien
  2021-10-03  5:45   ` Timothy
  1 sibling, 1 reply; 5+ messages in thread
From: Bastien @ 2021-10-03  4:57 UTC (permalink / raw)
  To: Timothy; +Cc: Org-Mode Mailing List

Hi Timothy,

Timothy <tecosaur@gmail.com> writes:

> From 9c34dd6aba62d734f6ae9aecaffa76a0250bf495 Mon Sep 17 00:00:00 2001
> From: TEC <tec@tecosaur.com>
> Date: Wed, 29 Sep 2021 21:29:27 +0800
> Subject: [PATCH] org: Don't change image size based on font size
>
> * lisp/org.el (org--create-inline-image): When `create-image' is called
> without the :scale parameter, the image size is expanded based on the
> default font size (if it is larger than 10px).  When displaying images
> with a specified width in Org buffers, either in pixels or proportional
> to the text width, this width should not be modified according the to
> font size.  Giving a :scale parameter of 1 prevents this font-size based
> rescaling.

Nitpick: I suggest shortening the ChangeLog part like this:

  * lisp/org.el (org--create-inline-image): Set :scale parameter to 1 to
  prevent font-size based rescaling.
  
  When `create-image' is called without the :scale parameter, the image
  size is expanded based on the default font size (if it is larger than
  10px).  When displaying images with a specified width in Org buffers,
  either in pixels or proportional to the text width, this width should
  not be modified according the to font size.  Giving a :scale parameter
  of 1 prevents this font-size based rescaling.

The ChangeLog part should not be too verbose, you can add explanations
after it.

Thanks,

-- 
 Bastien


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] Prevent displayed images from being re-scaled
  2021-10-03  4:57 ` Bastien
@ 2021-10-03  5:45   ` Timothy
  0 siblings, 0 replies; 5+ messages in thread
From: Timothy @ 2021-10-03  5:45 UTC (permalink / raw)
  To: Bastien; +Cc: Org-Mode Mailing List

[-- Attachment #1: Type: text/plain, Size: 291 bytes --]

Bastien <bzg@gnu.org> writes:

> Nitpick: I suggest shortening the ChangeLog part like this:
> *snip*
> The ChangeLog part should not be too verbose, you can add explanations
> after it.

Thanks Bastien, I’ll use that message when I push the commit 👍.

All the best,
Timothy

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] Prevent displayed images from being re-scaled
  2021-10-02 20:30 ` Timothy
@ 2021-10-25 13:49   ` Timothy
  0 siblings, 0 replies; 5+ messages in thread
From: Timothy @ 2021-10-25 13:49 UTC (permalink / raw)
  To: Org-Mode Mailing List

[-- Attachment #1: Type: text/plain, Size: 70 bytes --]

It’s been quite a few days, so I’ve just pushed this as 9dc08c9.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-10-25 13:50 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-29 13:33 [PATCH] Prevent displayed images from being re-scaled Timothy
2021-10-02 20:30 ` Timothy
2021-10-25 13:49   ` Timothy
2021-10-03  4:57 ` Bastien
2021-10-03  5:45   ` Timothy

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).