Bug 154103 - Movement around a link is "LTRified" even in RTL contexts
Summary: Movement around a link is "LTRified" even in RTL contexts
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Impress (show other bugs)
Version:
(earliest affected)
7.6.0.0 alpha0+
Hardware: All Linux (All)
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: Hyperlink RTL-UI
  Show dependency treegraph
 
Reported: 2023-03-09 20:50 UTC by Eyal Rozenberg
Modified: 2023-03-10 15:25 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments
Slide with Hebrew-text bullet points and a hyperlink (310.40 KB, application/vnd.oasis.opendocument.presentation)
2023-03-10 13:54 UTC, Eyal Rozenberg
Details
Slide with Hebrew-text bullet points and a hyperlink (309.66 KB, application/vnd.oasis.opendocument.presentation)
2023-03-10 13:55 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-03-09 20:50:11 UTC
Consider the attached single-slide presentation, with RTL text. If you:

0. Have two keyboard input languages enabled, an LTRish Western layout and an RTLish layout
1. Place the cursor at the end of the second bullet point, which says שורה שניה. Remember the end is at the left edge, since this is RTL content.
2. Make sure your cursor is pointing due left (corresponding to an RTL keyboard layout) and hasn't been switched.
3. Press the left arrow key.
4. Paste the character א (copy it from here if needed).
5. Press the left arrow key.

Expected result:

Moving left - past the end of the paragraph - should bring us to the first cursor position in the next RTL paragraph, which is before the hyperlink, i.e. to the right of the hyperlink and facing left. Pasting the א places that letter to the right of the hyperlink, with the cursor to its left and facing left. Pressing Left should move the cursor past the hyperlink, to its left edge (and before the space), continuing to face due left.

Actual results:

The cursor is placed to the _left_ of the hyperlink, facing _right_. Pasting the א places the letter to the right of the hyperlink - and brings the cursor to the right of the hyperlink as well, now facing left. Pressing left doesn't move your cursor, but changes its orientation to now face right.

We don't see any of these weird cursor placements and re-orientations if we just move between two lines of RTL text, due left from the leftmost of the first of them.
Comment 1 Heiko Tietze 2023-03-10 10:10:57 UTC
You are the expert for RTL. If the cursor typically travels over hyperlinks from right to left, we should do this. The example <a href=foo.com>שורה שניה</a> is striking as it shows the RTL text and not the LTR link text.

(In reply to Eyal Rozenberg from comment #0)
> Consider the attached single-slide presentation...
Not sure we need it.
Comment 2 ady 2023-03-10 12:29:06 UTC
A minor reminder. There is:

Options > Language Settings > Complex Text Layout > Movement: > Logical | Visual
Comment 3 Eyal Rozenberg 2023-03-10 12:55:32 UTC
(In reply to ady from comment #2)
> Options > Language Settings > Complex Text Layout > Movement: > Logical |
> Visual

Yes, that exists... :-)

This bug is about behavior with logical cursor movement selected; it's the default so I didn't mention it. Implicit assumption of default settings is customary on this bugzilla, and specifically, other cursor-movement-related RTL bugs also assume this AFAICT.
Comment 4 Eyal Rozenberg 2023-03-10 13:54:13 UTC
Created attachment 185887 [details]
Slide with Hebrew-text bullet points and a hyperlink
Comment 5 Eyal Rozenberg 2023-03-10 13:55:30 UTC
Created attachment 185888 [details]
Slide with Hebrew-text bullet points and a hyperlink
Comment 6 Yossef(a) 2023-03-10 15:18:59 UTC
It happens to me too
Comment 7 Eyal Rozenberg 2023-03-10 15:25:16 UTC
Confirmed in light of Yoseffa's comment.