https://bugs.kde.org/show_bug.cgi?id=385694

Waqar Ahmed <waqar....@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |waqar....@gmail.com

--- Comment #5 from Waqar Ahmed <waqar....@gmail.com> ---
This bug happens because of how text is wrapped dynamically and it is easier to
understand it if you turn on "Show spaces".

Consider the following sentence:

This is a sentence.

Assume this sentence reached the view width, and now I enter a space character.
The line will not wrap, and the space will be added to the end of the sentence,
outside the border. 
                   |
This is a sentence.| [space][space]
                   |

This is all good, now lets see what happens when the text is RTL:

X .Some RTL Text

Assume "X" is the position of the cursor, and now I enter a space. The space is
added to the sentence correctly, and the sentence is not wrapped as expected.
However, Instead of increasing the cursor position on the left border, it is
done on the right border like LTR text. The result is something like this
(assume two spaces added):

                            |
X [space][space].Some RTL Te| xt
                            |

The above is what "actually" happens. If "Show spaces" is turned on, it can be
seen directly. The text is painted according to the expectation, however the
cursor is pointing to the wrong position.

In the above case, if I try to delete a character, the character that will get
deleted will be the one that is two positions forward(because of two spaces).

I have tried to figure out where exactly this is handled but i have been
unsuccessful so far. This can be a bug in Qt even, but I am not sure about it
completely. Can any Kate Dev drop some hints?

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to