Created attachment 73673 [details] Graphite Font Mirrored when the context direction is RTL 1. Enable CTL 2. Open a new document (Writer, Impress,... etc.) 3. Type some text 4. Change the font to any graphite font (e.g. Linux Biolinum G) 5. Change context direction to Right-to-left (not the alignment) The text will be mirrored.
This does not appear in writer , but it is in draw,calc and impress.
Also note, that text is reversed only during the editing. Inactive textbox and demonstration look fine.
navin patidar committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=73de30ca9ca0d3d4edd00e0e8f22451238699989 fix fdo#59892 completely and fdo#33302 partially. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
There will be another patch with a small code modification, the bug is completely fixed.
I think the values here returned from GetRightToLeft may be enums from UBiDiDirection, i.e. UBIDI_LTR, UBIDI_RTL, UBIDI_MIXED, UBIDI_NEUTRAL. a quick dig around in editeng/source/editeng/impedit2.cxx has this sort of foo for turning that into a boolean fact that its a RTL hunk if that helps. if ( nCurrDirType % 2 == UBIDI_RTL || // text in RTL run ( nCurrDirType > UBIDI_LTR && !lcl_HasStrongLTR( aText, nStart, nEnd ) ) ) // non-strong text in embedded LTR run
hmm, actually a UBiDiLevel apparently, which suggests that we want to check just the last bit for L/R, suggesting that lcl_HasStrongLTR is a bit dubious
hi Caolán McNamara, thanks for the pointers. https://gerrit.libreoffice.org/1972, fix logic to get L/R direction, As you suggested.
*** Bug 60534 has been marked as a duplicate of this bug. ***
Verified on master
navin patidar committed a patch related to this issue. It has been pushed to "libreoffice-4-0": http://cgit.freedesktop.org/libreoffice/core/commit/?id=065c8507bc6393468c0186370b1b991e22008b27&h=libreoffice-4-0 fix fdo#59892 completely and fdo#33302 partially. It will be available in LibreOffice 4.0.3. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.