Bug 145934 - Kerning changes when entering a cell in Calc (for centered text)
Summary: Kerning changes when entering a cell in Calc (for centered text)
Status: VERIFIED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
5.4.0.3 release
Hardware: All All
: medium normal
Assignee: Caolán McNamara
URL:
Whiteboard: target:7.4.0 target:7.3.0.0.beta2
Keywords: bibisected, bisected, regression
Depends on:
Blocks: Kerning
  Show dependency treegraph
 
Reported: 2021-11-28 15:58 UTC by Telesto
Modified: 2021-12-16 16:43 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments
Example file (8.98 KB, application/vnd.oasis.opendocument.spreadsheet)
2021-11-28 16:04 UTC, Telesto
Details
Screencast (5.82 MB, video/mp4)
2021-11-29 16:32 UTC, Rainer Bielefeld Retired
Details
Bibisect log (2.89 KB, text/plain)
2021-11-30 10:24 UTC, Telesto
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Telesto 2021-11-28 15:58:07 UTC
Description:
Kerning changes when entering a cell in Calc

Steps to Reproduce:
1. Open the attached file 
2. Double click cell (with or without spell checker)

Actual Results:
Wiggle horizontally (spacing changes)

Expected Results:
Stable


Reproducible: Always


User Profile Reset: No



Additional Info:
Version: 7.4.0.0.alpha0+ (x64) / LibreOffice Community
Build ID: ddc57169ac8d1de00403dbb09fef5221beaa0f3d
CPU threads: 4; OS: Windows 6.3 Build 9600; UI render: Skia/Raster; VCL: win
Locale: nl-NL (nl_NL); UI: en-US
Calc: CL

Versie: 6.3.0.4 (x86)
Build ID: 057fc023c990d676a43019934386b85b21a9ee99
CPU-threads: 4; Besturingssysteem: Windows 6.3; UI-render: GL; VCL: win; 
Locale: nl-NL (nl_NL); UI-taal: nl-NL
Calc: CL

Version: 6.1.6.3
Build-ID: 5896ab1714085361c45cf540f76f60673dd96a72
CPU-Threads: 4; BS: Windows 6.3; UI-Render: Standard; 
Gebietsschema: nl-NL (nl_NL); Calc: CL

Versie: 6.0.4.1
Build ID: a63363f6506b8bdc5222481ce79ef33b2d13c741
CPU-threads: 4; Besturingssysteem: Windows 6.3; UI-render: GL; 
Locale: nl-NL (nl_NL); Calc: CL

not in
Version: 5.4.0.3
Build ID: 7556cbc6811c9d992f4064ab9287069087d7f62c
CPU threads: 4; OS: Windows 6.2; UI render: default; 
Locale: nl-NL (nl_NL); Calc: CL
Comment 1 Telesto 2021-11-28 16:04:26 UTC
Created attachment 176555 [details]
Example file
Comment 2 Rainer Bielefeld Retired 2021-11-29 16:32:29 UTC
Created attachment 176573 [details]
Screencast

REPRODUCIBLE, for me the effect is related to 'Align Center'; see secreencast!
Comment 3 Telesto 2021-11-30 10:24:42 UTC
Created attachment 176587 [details]
Bibisect log

Bisected to:
author	Khaled Hosny <khaledhosny@eglug.org>	2016-12-20 01:36:34 +0200
committer	Khaled Hosny <khaledhosny@eglug.org>	2016-12-20 05:14:25 +0000
commit 9eb4b14ffa57cd7bbdf0fc43096f5f1e65c8e388 (patch)
tree 535d14ede1db48f0c1651b27f0ebd78579819b47
parent 2e9c02feca732f6dd012ccbe5d7c6853c64075a5 (diff)
tdf#103765: Round positions instead of truncating

https://cgit.freedesktop.org/libreoffice/core/commit/?id=9eb4b14ffa57cd7bbdf0fc43096f5f1e65c8e388
Comment 4 Caolán McNamara 2021-12-14 17:40:24 UTC
vcl/source/outdev/text.cxx using base position for better rounding a.k.a. "dancing characters" in OutputDevice::ImplLayout seems to be a reason this happens

commit 1bd5948782dad86141356ebbb4fad37e5181c296
Author: Vladimir Glazounov <vg@openoffice.org>
Date:   Wed May 28 11:30:40 2003 +0000
    ...
    2003/05/12 14:44:36 hdu 1.145.4.3: #109377# better rounding for pDXArray, CJK underline position

there seems to be a one pixel different in the starting pos from when the editengine is "active" and when it's not which results in the dancing characters we still see
Comment 5 Commit Notification 2021-12-15 09:20:42 UTC
Caolán McNamara committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/3769508f4952ca54cad7e9d33f4113b0d18066c9

tdf#145934 workaround rounding causing 'dancing characters'

It will be available in 7.4.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 6 Caolán McNamara 2021-12-15 09:22:52 UTC
That makes the kerning stable on entering the cell for me. Done in trunk, backport to 7-3 in gerrit
Comment 7 Commit Notification 2021-12-15 10:31:31 UTC
Caolán McNamara committed a patch related to this issue.
It has been pushed to "libreoffice-7-3":

https://git.libreoffice.org/core/commit/56186db93b7777f7b99a8fbfce82b775e24b7695

tdf#145934 workaround rounding causing 'dancing characters'

It will be available in 7.3.0.0.beta2.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 8 Buovjaga 2021-12-15 10:55:37 UTC
I verify the kerning change is gone. The two bottom lines do move to the left, but that must be some other issue.

Arch Linux 64-bit
Version: 7.4.0.0.alpha0+ / LibreOffice Community
Build ID: 3769508f4952ca54cad7e9d33f4113b0d18066c9
CPU threads: 8; OS: Linux 5.15; UI render: default; VCL: kf5 (cairo+xcb)
Locale: fi-FI (fi_FI.UTF-8); UI: en-US
Calc: threaded
Built on 15 December 2021