Bug 157581 - Drawing objects aligned with baseline and cap line - misaligned on zoom change
Summary: Drawing objects aligned with baseline and cap line - misaligned on zoom change
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Impress (show other bugs)
Version:
(earliest affected)
Inherited From OOo
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: Font-Rendering Object-Selection-Alignment Shapes
  Show dependency treegraph
 
Reported: 2023-10-03 19:17 UTC by Eyal Rozenberg
Modified: 2023-10-19 09:33 UTC (History)
1 user (show)

See Also:
Crash report or crash signature:


Attachments
Presentation exhibiting the problem (15.24 KB, application/vnd.oasis.opendocument.presentation)
2023-10-03 19:18 UTC, Eyal Rozenberg
Details
Screenshots with 7.6.0.3 with gtk3 on Linux (43.20 KB, application/zip)
2023-10-03 19:21 UTC, Eyal Rozenberg
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Eyal Rozenberg 2023-10-03 19:17:53 UTC
Consider the attached single-slide presentation. It has a rectangle with text in the DejaVu sans font. It also has a couple of "dimension line" shapes, with one's bottom aligned with the font's baseline, and the other one's top aligned with the font's cap line (the line delimiting the tops of the capital letters).

However - this alignment only "holds" at some zoom levels, while in others - a bit of the font's black peeks above and/or below the bordeaux-colored dimension lines. Note the H, E and L capital letters - their tops and bottoms.


It's not a cut-off zoom level above which, or below which, the alignment is appropriate: You can have a zoom level at which it's fine, then when zooming it gets messed up, then is fine again. For example: it's ok (on my display) at 200%, then messed up to differing degrees at 250%, 300%, 400%, 500%, 600% just barely, and fine again at 800%. I'll attach a sequence of screenshots.


A similar phenomenon occurs with Liberation Sans, so it's not this specific font that's the problem.
Comment 1 Eyal Rozenberg 2023-10-03 19:18:57 UTC
Created attachment 189980 [details]
Presentation exhibiting the problem
Comment 2 Eyal Rozenberg 2023-10-03 19:21:17 UTC
Created attachment 189981 [details]
Screenshots with 7.6.0.3 with gtk3 on Linux

Screenshots at different zoom levels, of just the HEL part of the slide. Taken on a 1920x1080 display, with build ID:

Version: 7.6.0.3 (X86_64) / LibreOffice Community
Build ID: 69edd8b8ebc41d00b4de3915dc82f8f0fc3b6265
CPU threads: 4; OS: Linux 6.5; UI render: default; VCL: gtk3
Locale: en-IL (en_IL); UI: en-US

Zoom levels in the zip are: 100%, 150%, 200%, 300%, 400%, 500%, 600%, 800%, 1000%, 1100%, 1200%, 1500%
Comment 3 Eyal Rozenberg 2023-10-03 19:22:44 UTC
I should mention I'm not sure this problem is Impress/Draw-specific.
Comment 4 Eyal Rozenberg 2023-10-03 19:23:10 UTC
... nor that it is gtk3-specific.
Comment 5 Stéphane Guillou (stragu) 2023-10-19 09:14:51 UTC
Confirmed:

Version: 7.6.3.0.0+ (X86_64) / LibreOffice Community
Build ID: ba808a28f5ea365eaf8fe5d9c7c91b417633d75f
CPU threads: 8; OS: Linux 5.15; UI render: default; VCL: gtk3
Locale: en-AU (en_AU.UTF-8); UI: en-US
Calc: threaded

Version: 24.2.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: e9374f74385d7dfe77d1902d3d82af20143bc775
CPU threads: 8; OS: Linux 5.15; UI render: default; VCL: gtk3
Locale: en-AU (en_AU.UTF-8); UI: en-US
Calc: threaded

And in OOo 3.3, so inherited.

Not gkt3 VCL plugin-specific, reproduced with gen as well.

(Couldn't compare with OnlyOffice or MS Office.com as they don't render those dimension lines (properly).)
Comment 6 Eyal Rozenberg 2023-10-19 09:33:39 UTC
(In reply to Stéphane Guillou (stragu) from comment #5)
> (Couldn't compare with OnlyOffice or MS Office.com as they don't render
> those dimension lines (properly).)

The dimension lines are only for illustration. You can use any pair of lines,  take a note of their exact positions, and subtract, to get the distance.

Regardless - thanks for confirming.