Bug 96624 - Graphite: wrong cursor positioning with ligatures
Summary: Graphite: wrong cursor positioning with ligatures
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: graphics stack (show other bugs)
(earliest affected) release
Hardware: All All
: medium minor
Assignee: Not Assigned
URL: http://numbertext.org/linux/index.html
Keywords: bibisected, bisected, regression
: 101591 (view as bug list)
Depends on:
Blocks: Font-Rendering
  Show dependency treegraph
Reported: 2015-12-20 15:05 UTC by szotsaki
Modified: 2018-03-08 20:27 UTC (History)
7 users (show)

See Also:
Crash report or crash signature:

Document with Graphite font and tt ligature inside (8.15 KB, application/vnd.oasis.opendocument.text)
2015-12-20 15:05 UTC, szotsaki

Note You need to log in before you can comment on or make changes to this bug.
Description szotsaki 2015-12-20 15:05:28 UTC
Created attachment 121441 [details]
Document with Graphite font and tt ligature inside

1.) Have a document with Linux Libertine G font inside (download here: http://numbertext.org/linux/index.html) with a "tt" ligature and a "." at the end (attached).
2.) Move the cursor to the very end of the document (preferably with End).
3.) Set 600% zoom for easy recognition of the bug. 

Now, if you move the caret left by one with the arrow key you can notice that it skipped the "." character but visually didn't move anywhere. Try inserting a character to reveal the real cursor position.
Comment 1 Buovjaga 2015-12-26 16:10:17 UTC
Repro with 5.2.

Works ok in 5.0.3.

Ubuntu 15.10 64-bit 
Build ID: 1:5.0.3~rc2-0ubuntu1
Locale: en-US (en_US.UTF-8)

Build ID: 014633f83e44ae8ba33087b6f38e8e253e281969
CPU Threads: 2; OS Version: Linux 4.2; UI Render: default; 
TinderBox: Linux-rpm_deb-x86_64@70-TDF-dbg, Branch:master, Time: 2015-12-15_06:21:19
Locale: en-US (en_US.UTF-8)
Comment 2 Joel Madero 2016-01-16 19:21:21 UTC
This bug definitely happened before - probably somewhere in the 4.2 release.

There are only 'skip'ped commits left to test.
The first bad commit could be any of: 7055a406c05b6da54733841dd0174c91d35f8652 19163314fd465d533ab673977290f07ac45a3103
We cannot bisect more!

# bad: [423a84c4f7068853974887d98442bc2a2d0cc91b] source-hash-c15927f20d4727c3b8de68497b6949e72f9e6e9e
# good: [65fd30f5cb4cdd37995a33420ed8273c0a29bf00] source-hash-d6cde02dbce8c28c6af836e2dc1120f8a6ef9932
git bisect start 'latest' 'oldest'
# good: [e02439a3d6297a1f5334fa558ddec5ef4212c574] source-hash-6b8393474974d2af7a2cb3c47b3d5c081b550bdb
git bisect good e02439a3d6297a1f5334fa558ddec5ef4212c574
# good: [4850941efe43ae800be5c76e1102ab80ac2c085d] source-hash-980a6e552502f02f12c15bfb1c9f8e6269499f4b
git bisect good 4850941efe43ae800be5c76e1102ab80ac2c085d
# bad: [a900e72b6357882284c5955bdf939bf14269f5fb] source-hash-dd1050b182260a26a1d0ba6d0ef3a6fecc3f4e07
git bisect bad a900e72b6357882284c5955bdf939bf14269f5fb
# bad: [e1d0365cd2b073a859f59ad0a4584385a66dc611] source-hash-2eea96c702a44ab009743b0d22ef639127f0b57b
git bisect bad e1d0365cd2b073a859f59ad0a4584385a66dc611
# good: [98a55bf95f3ec29298751fd8fba76dd2236dce43] source-hash-58dfc97ca697875c36b7ddf14f5505a93d7b9cf8
git bisect good 98a55bf95f3ec29298751fd8fba76dd2236dce43
# good: [1f32fb58159d7f43a4bcb838765261d5274cbf38] source-hash-4a169e4203c10ec8f76b9bcb33882c82b65c7bab
git bisect good 1f32fb58159d7f43a4bcb838765261d5274cbf38
# bad: [e8547c17def5e45d1a9ff2cf5eb28b142b3daca0] source-hash-53ca207a700c9501e76c7770f6b1e3af89edd630
git bisect bad e8547c17def5e45d1a9ff2cf5eb28b142b3daca0
# skip: [7055a406c05b6da54733841dd0174c91d35f8652] source-hash-f985e3add3870c1dee7fe88d37388281a333403a
git bisect skip 7055a406c05b6da54733841dd0174c91d35f8652
# good: [90ec074ec2d27d01be33827b8143f231c5d9776a] source-hash-202d721e3cb35eb4402882dbe4b81ceccd9f4e0a
git bisect good 90ec074ec2d27d01be33827b8143f231c5d9776a
# bad: [19163314fd465d533ab673977290f07ac45a3103] source-hash-e45c729da21c6923032b64c543136efe066b756a
git bisect bad 19163314fd465d533ab673977290f07ac45a3103
# only skipped commits left to test
# possible first bad commit: [19163314fd465d533ab673977290f07ac45a3103] source-hash-e45c729da21c6923032b64c543136efe066b756a
# possible first bad commit: [7055a406c05b6da54733841dd0174c91d35f8652] source-hash-f985e3add3870c1dee7fe88d37388281a333403a
Comment 3 Michael Stahl (allotropia) 2016-05-30 18:55:17 UTC
bibisect range from comment #3 202d721e3cb35eb4402882dbe4b81ceccd9f4e0a e45c729da21c6923032b64c543136efe066b756a

regression from:

commit a831930986166a8c5cb231821426f5cf4d976df2
Author:     László Németh <nemeth@numbertext.org>
AuthorDate: Tue Feb 4 19:10:44 2014 +0100

    fdo#70666 fix Graphite ligature replacement at line breaks
Comment 4 Björn Michaelsen 2016-08-24 22:00:32 UTC
Assuming bisected to imply bibisected, thus adding the latter. This is to make queries for "bibisected" not miss out bisected bugs.
Comment 5 Xisco Faulí 2016-09-20 16:32:54 UTC
*** Bug 101591 has been marked as a duplicate of this bug. ***
Comment 6 Xisco Faulí 2016-09-26 15:32:44 UTC
Adding Cc: to László Németh
Comment 7 szotsaki 2018-03-08 18:32:57 UTC
It seems it is fixed in on Linux and in 6.0.2 on Windows.