Am 03.06.2007 um 15:29 schrieb Michael Gerz:
Stefan Schimanski schrieb:Slight correction of the EPM patch: there are these exceptions of the logic to avoid double spaces:abc [WERBEH|] def" abc [ WERBEH]|def" abc|[WERBEH ]def" abc[|WERBEH] def"All 4 should be possible, i.e. a space should be inserted. The last two don't fulfill the condition that the previous character is a space, so they are accepted anyway. The first two have the property that we are on a bidi boundary and the cursor boundary flag is false. So the following patch is implementing that.Stefan, could you please check this code also with change tracking activated?
Did it. Cannot see anything special. Only one thing which is not related to RTL:
abc |def =backspace=> abc|-def =space=> abc |-def =right=> abc-defSo spaces in front of a deleted space are deleted by the EPM function. Is that the way it should be?
Please note that all of these spaces can in principle be (logically) deleted spaces. Inevitably, this increases the number of possible combinations :-( (I don't think that we can achieve a perfect solution in CT mode with a reasonable amount of code. However, your algorithm should not prohibit the insertion of a space.
My patch only allows more spaces than before (i.e. the conditions in the EPM part and the insert function got stronger than before, so every space which could be entered before, can still be entered).
Stefan
PGP.sig
Description: Signierter Teil der Nachricht