** Also affects: df-libreoffice via https://bugs.documentfoundation.org/show_bug.cgi?id=119961 Importance: Unknown Status: Unknown
-- You received this bug notification because you are a member of Desktop Packages, which is subscribed to libreoffice in Ubuntu. https://bugs.launchpad.net/bugs/1793126 Title: Automatic cell alignment in Calc breaks with bidi-neutral characters Status in LibreOffice: Unknown Status in libreoffice package in Ubuntu: Confirmed Bug description: Calc seems to assign the alignment of any particular text cell based on the contents of the cell: if the first character is a LTR character, the cell is aligned to the left, and if the first character is RTL, the cell is aligned to the right. This is desirable behavior but it breaks when the first character is neutral, i.e. a character that behaves as RTL in an RTL context and as LTR in a LTR context. See the attached screenshot where cell A1 "abc" is automatically aligned to the left and cell A2 "ابت" to the right. When I surround these strings with parentheses, which are bidi-neutral characters, in A3 and A4, both are aligned to the left. For some reason, even font metrics break with this assignment, as the last character of the Arabic string overlaps visually with the closing parenthesis (I think this is a separate issue and I’ll file it as such). In column C, I have copied the contents of column A but changed the directionality setting of cell C4 manually to RTL through Format Cells > Text direction. Here the cell is properly aligned to the right and the closing parenthesis does not overlap with the last character of the string. According to the Unicode standard, neutral characters should not affect directionality, and that’s what I would expect as a user, too. I think the best solution would be for Calc to skip all neutral characters in the beginning of the string and just consider the first strong character for cell alignment. Even better, Calc could use this heuristics to assign full text directionality for the cell, not just change alignment. Right now, if you start the cell with an RTL character followed by a LTR inset and then continue with RTL again, the substrings are ordered as in a LTR context ("FIRST second THIRD"), not as in true RTL ("THIRD second FIRST"). Description: Ubuntu 18.04.1 LTS Release: 18.04 Installed: 1:6.0.3-0ubuntu1 Candidate: 1:6.0.3-0ubuntu1 Version table: *** 1:6.0.3-0ubuntu1 500 500 http://mr.archive.ubuntu.com/ubuntu bionic/main amd64 Packages 100 /var/lib/dpkg/status ProblemType: Bug DistroRelease: Ubuntu 18.04 Package: libreoffice-calc 1:6.0.3-0ubuntu1 ProcVersionSignature: Ubuntu 4.15.0-33.36-generic 4.15.18 Uname: Linux 4.15.0-33-generic x86_64 ApportVersion: 2.20.9-0ubuntu7.3 Architecture: amd64 CurrentDesktop: ubuntu:GNOME Date: Tue Sep 18 11:26:18 2018 InstallationDate: Installed on 2017-02-13 (582 days ago) InstallationMedia: Ubuntu 16.10 "Yakkety Yak" - Release amd64 (20161012.2) ProcEnviron: TERM=xterm-256color PATH=(custom, no user) XDG_RUNTIME_DIR=<set> LANG=C SHELL=/bin/bash SourcePackage: libreoffice UpgradeStatus: Upgraded to bionic on 2018-05-31 (109 days ago) To manage notifications about this bug go to: https://bugs.launchpad.net/df-libreoffice/+bug/1793126/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp