Created attachment 69087 [details] Mixed text test document When mixing text from English (Latin) and Hebrew/Arabic (RTL languages) brackets aren't handled correctly, and the leading bracket isn't handled as part of the word. So during a word wrap the leading bracket stays in the line and the word itself and the closing bracket is wrapped to the next line. This is true for both an Hebrew word in an English text and an English word in an Hebrew text. The problem is solved if the paragraph directionality is changed to the opposite one. See the attached document.
Still happens in 3.7/master
Confirmed: REPRODUCIBLE with Lior’s sample document and LibreOffice 3.6.3.1 or current master build (2012-10-27) on Mac OS X; so really a cross-platform issue.
Still happens in 4.0.1.2...
This is caused by brackets taking the paragraph direction and staying with the text of same direction when linebreaking.
I can confirm this bug. It is still in 4.1.4.2 Build ID: 4.1.4.2 Arch Linux build-3
** Please read this message in its entirety before responding ** To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year. There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present. If you have time, please do the following: Test to see if the bug is still present on a currently supported version of LibreOffice (5.0.0.5 or later) https://www.libreoffice.org/download/ If the bug is present, please leave a comment that includes the version of LibreOffice and your operating system, and any changes you see in the bug behavior If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a short comment that includes your version of LibreOffice and Operating System Please DO NOT Update the version field Reply via email (please reply directly on the bug tracker) Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not appropriate in this case) If you want to do more to help you can test to see if your issue is a REGRESSION. To do so: 1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3) http://downloadarchive.documentfoundation.org/libreoffice/old/ 2. Test your bug 3. Leave a comment with your results. 4a. If the bug was present with 3.3 - set version to "inherited from OOo"; 4b. If the bug was not present in 3.3 - add "regression" to keyword Feel free to come ask questions or to say hello in our QA chat: http://webchat.freenode.net/?channels=libreoffice-qa Thank you for your help! -- The LibreOffice QA Team This NEW Message was generated on: 2015-09-03
Bug still present on Build ID: 5.0.1.2 Arch Linux build-1.
Migrating Whiteboard tags to Keywords: (text:rtl)
*** Bug 65840 has been marked as a duplicate of this bug. ***
Created attachment 122889 [details] doc before the modfication
Created attachment 122890 [details] doc after the modfication
Hi all I add some changes in the code to solve this issue and now line breaking cut the word(character by character) in the different script depending on the available space in the line instead of separating the bracket from the word. I submit a patch in gerrit and attached two images of what I did so please review and give me your comments and ideas to solve the issue. patch link: https://gerrit.libreoffice.org/#/c/22620/ Thanks Nusaiba
Still happens in: Version: 5.4.2.2.0+ Build ID: 1:5.4.2-3~bpo9+1 CPU threads: 8; OS: Linux 4.9; UI render: default; VCL: gtk2; Locale: en-US (en_US.utf8); Calc: group OS: Debian 64bit Stretch (Debian 9.2, with some backported packages)
Created attachment 137441 [details] Bug 56408 still happens in version 5.4.2 See: paragraph 2 (Deleted the last English word before the brackets) paragraph 5 (Hebrew text with an English word) paragraph 6 (Deleted the last Hebrew word before the brackets)
I am not 100% sure this is actually a bug, beca
(Sorry for the messed-up comment before) I am not 100% sure this is actually a bug, because parentheses are not strong-direction-indicating glyphs (I forget the exact Unicode term). So it may be the case that the paragraph is broken up into directional runs differently when it's LTR and when it's RTL, and that may account for the difference in behavior. Lior, can you argue that the Unicode standard dictates behavior different than what LO does right now?
This is a bug, change in direction does not create line breaking opportunity. There is even an easy way to check this with https://unicode.org/cldr/utility/breaks.jsp; copy the text there and choose Line in the drop down and it should show all possible line breaking opportunities.
Still happens in LibO Version: 6.1.1.2
*** Bug 120669 has been marked as a duplicate of this bug. ***
Still exists in Version: 6.3.0.0.alpha0+ (x64).
Dear Lior Kaplan, To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year. There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present. If you have time, please do the following: Test to see if the bug is still present with the latest version of LibreOffice from https://www.libreoffice.org/download/ If the bug is present, please leave a comment that includes the information from Help - About LibreOffice. If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a comment that includes the information from Help - About LibreOffice. Please DO NOT Update the version field Reply via email (please reply directly on the bug tracker) Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not appropriate in this case) If you want to do more to help you can test to see if your issue is a REGRESSION. To do so: 1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3) from http://downloadarchive.documentfoundation.org/libreoffice/old/ 2. Test your bug 3. Leave a comment with your results. 4a. If the bug was present with 3.3 - set version to 'inherited from OOo'; 4b. If the bug was not present in 3.3 - add 'regression' to keyword Feel free to come ask questions or to say hello in our QA chat: https://kiwiirc.com/nextclient/irc.freenode.net/#libreoffice-qa Thank you for helping us make LibreOffice even better for everyone! Warm Regards, QA Team MassPing-UntouchedBug
Bug still manifests using the attached document from 2012-10-25. Version: 6.4.0.3 Build ID: b0a288ab3d2d4774cb44b62f04d5d28733ac6df8 CPU threads: 4; OS: Linux 5.2; UI render: default; VCL: gtk3; Locale: he-IL (en_IL); UI-Language: en-US
Dear Lior Kaplan, To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year. There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present. If you have time, please do the following: Test to see if the bug is still present with the latest version of LibreOffice from https://www.libreoffice.org/download/ If the bug is present, please leave a comment that includes the information from Help - About LibreOffice. If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a comment that includes the information from Help - About LibreOffice. Please DO NOT Update the version field Reply via email (please reply directly on the bug tracker) Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not appropriate in this case) If you want to do more to help you can test to see if your issue is a REGRESSION. To do so: 1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3) from https://downloadarchive.documentfoundation.org/libreoffice/old/ 2. Test your bug 3. Leave a comment with your results. 4a. If the bug was present with 3.3 - set version to 'inherited from OOo'; 4b. If the bug was not present in 3.3 - add 'regression' to keyword Feel free to come ask questions or to say hello in our QA chat: https://web.libera.chat/?settings=#libreoffice-qa Thank you for helping us make LibreOffice even better for everyone! Warm Regards, QA Team MassPing-UntouchedBug
*** Bug 146710 has been marked as a duplicate of this bug. ***
(In reply to خالد حسني from comment #17) > This is a bug, change in direction does not create line breaking opportunity. The first part of this statement does not follow from the second. That is, the second part is true, but there already is a breaking opportunity before and after the parentheses regardless of the change in direction. > There is even an easy way to check this ... and checking shows the line breaking opportunity. To me it seems this is a bug because the parenthesized word would still fit on the first line of the two in the sample document. So, it's about why LO thinks it _must_ break as opposed to it mistakenly thinking it _can_ break.
Created attachment 187838 [details] Screenshot from Unicode utility showing line break ooprtunities (In reply to Eyal Rozenberg from comment #25) > (In reply to خالد حسني from comment #17) > > This is a bug, change in direction does not create line breaking opportunity. > > The first part of this statement does not follow from the second. That is, > the second part is true, but there already is a breaking opportunity before > and after the parentheses regardless of the change in direction. There is no line break opportunity after the opening parentheses (or before closing parentheses).
*** Bug 160854 has been marked as a duplicate of this bug. ***
(In reply to خالد حسني from comment #26) > There is no line break opportunity after the opening parentheses (or before > closing parentheses). I'm sorry, Khaled, but yes, there is, at least according to the online Unicode utility at: https://util.unicode.org/UnicodeJsps/breaks.jsp it shows opportunities before and after each of the parentheses - the opening and the closing one.
(In reply to Eyal Rozenberg from comment #28) > (In reply to خالد حسني from comment #26) > > There is no line break opportunity after the opening parentheses (or before > > closing parentheses). > > I'm sorry, Khaled, but yes, there is, at least according to the online > Unicode utility at: https://util.unicode.org/UnicodeJsps/breaks.jsp > > it shows opportunities before and after each of the parentheses - the > opening and the closing one. You are checking the word break opportunities not the line break opportunities.
(In reply to خالد حسني from comment #29) > You are checking the word break opportunities not the line break > opportunities. You're right! Sorry.
dear خالد It is 12 years. is any solution?
*** Bug 145918 has been marked as a duplicate of this bug. ***
The root cause for this bug is Writer failing to backtrack before bidi portions while doing line breaking. In order to lay out and render text, Writer must segment the text into portions. This can happen for a variety of reasons. For example, if only a part of a word in English text changes, the track changes feature will split that word across two or more portions. Having to segment text in this way creates a situation where, potentially, a portion containing a break opportunity fits on a line, followed by an arbitrary number of portions which overflow the line, none of which contain break opportunities. In order to lay out such text correctly, Writer keeps track of the portion and position of the last break opportunity. Then, if unbreakable portions cause the line to overflow, Writer can backtrack (rewind) to the previous break opportunity, insert the break, and then continue layout from that point. This mechanism works correctly for both LTR and RTL text. However, it's currently broken for bidirectional text. Inserting text which implies a direction change produces a bidi portion (a type of multi portion). The relevant backtracking code was written deliberately so that Writer always treats the start of a multi portion as a break opportunity. I'm still unsure why; it's possible this was only intended for the other types of multi portions, and bidi portions were affected inadvertently.
(In reply to Jonathan Clark from comment #33) > This mechanism works correctly for both LTR and RTL text. However, it's > currently broken for bidirectional text. I take it you mean a paragraph containing both strong-LTR and strong-RTL characters? > The > relevant backtracking code was written deliberately so that Writer always > treats the start of a multi portion as a break opportunity. I'm still unsure > why At the risk of stating the obvious... I take it you've tried git-blame'ing that code and asking the people who have worked on it?
(In reply to Eyal Rozenberg from comment #34) > At the risk of stating the obvious... I take it you've tried git-blame'ing > that code and asking the people who have worked on it? Yes, I did. It looks like the bug was inherited from StarOffice. The most recent relevant work in this area was from 2001, by an author who hasn't contributed since 2002. This far out, I think it's best to rely on what the code says. I'm not sure if the current behavior for other multi portions is correct, but it's definitely wrong for bidi portions. It's easy enough to limit the impact of a fix to bidi portions, and then extend it later if needed.
Jonathan Clark committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/6a54d08e6e52623f9769d17d7ea7390052cb275b tdf#56408 Writer always breaks lines at text direction change It will be available in 25.2.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.
Jonathan Clark committed a patch related to this issue. It has been pushed to "libreoffice-24-8": https://git.libreoffice.org/core/commit/e110c64b8d260435b69fe71e40fc6c6e2b9b4e07 tdf#56408 Writer always breaks lines at text direction change It will be available in 24.8.0.2. 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.
Jonathan Clark committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/e9a37656b75b4ce82b3e48af727f03f386e64a08 (related tdf#56408) crashtesting: assert on exporting ooo30385-2.doc to odt It will be available in 25.2.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.
Jonathan Clark committed a patch related to this issue. It has been pushed to "libreoffice-24-8": https://git.libreoffice.org/core/commit/ebe618f7b34eaede61cfe8141b2adc2a269d3e7e (related tdf#56408) crashtesting: assert on exporting ooo30385-2.doc to odt It will be available in 24.8.0.2. 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.
Jonathan, what about other modules? Are we certain the problematic behavior doesn't manifest elsewhere?