https://bugs.winehq.org/show_bug.cgi?id=44826
Bug ID: 44826 Summary: RTL text issue in MS Word 2013 Product: Wine Version: 3.1 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: a.shahbazi91@gmail.com Distribution: ---
MS Word 2010 needs native usp10.dll to show RTL text correctly(no separated characters), but using native usp10.dll no more fixes the issue in MS Word 2013.
https://bugs.winehq.org/show_bug.cgi?id=44826
--- Comment #1 from Ali a.shahbazi91@gmail.com --- Created attachment 60861 --> https://bugs.winehq.org/attachment.cgi?id=60861 MS Word 2010 Screenshot
https://bugs.winehq.org/show_bug.cgi?id=44826
--- Comment #2 from Ali a.shahbazi91@gmail.com --- Created attachment 60862 --> https://bugs.winehq.org/attachment.cgi?id=60862 MS Word 2013 Screenshot
https://bugs.winehq.org/show_bug.cgi?id=44826
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Component|-unknown |dwrite Ever confirmed|0 |1 Summary|RTL text issue in MS Word |MS Word 2013/2016 document |2013 |area text shaping does not | |work
--- Comment #3 from Nikolay Sivov bunglehead@gmail.com --- That's because Office 2013/2016 is using DirectWrite for document area shaping, not Uniscribe. And our DirectWrite does not do any shaping at the moment.
https://bugs.winehq.org/show_bug.cgi?id=44826
--- Comment #4 from Ali a.shahbazi91@gmail.com --- Is there any workaround for now?(e.g. using native dwrite.dll or forcing the use of uniscribe)
https://bugs.winehq.org/show_bug.cgi?id=44826
--- Comment #5 from Nikolay Sivov bunglehead@gmail.com --- (In reply to Ali from comment #4)
Is there any workaround for now?(e.g. using native dwrite.dll or forcing the use of uniscribe)
No, native dwrite.dll is not redistributable, and I don't think there's a way to make Office use Uniscribe.
https://bugs.winehq.org/show_bug.cgi?id=44826
--- Comment #6 from Ali a.shahbazi91@gmail.com --- I experience crash after using native dwrite.dll(backtrace attached) Is native dwrite.dll supposed to work?
https://bugs.winehq.org/show_bug.cgi?id=44826
--- Comment #7 from Ali a.shahbazi91@gmail.com --- Created attachment 60864 --> https://bugs.winehq.org/attachment.cgi?id=60864 native dwrite.dll crash backtrace
https://bugs.winehq.org/show_bug.cgi?id=44826
--- Comment #8 from Ali a.shahbazi91@gmail.com --- Created attachment 60865 --> https://bugs.winehq.org/attachment.cgi?id=60865 native dwrite.dll terminal output
https://bugs.winehq.org/show_bug.cgi?id=44826
--- Comment #9 from Nikolay Sivov bunglehead@gmail.com --- No, native one doesn't work.
https://bugs.winehq.org/show_bug.cgi?id=44826
lizhenbo litimetal@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |litimetal@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=44826
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|MS Word 2013/2016 document |MS Word 2013/2016 does not |area text shaping does not |support Arabic text shaping |work |in document area
--- Comment #10 from Nikolay Sivov bunglehead@gmail.com --- With current Wine we do apply default/common features + user specified features, so comment 3 is no longer accurate. I'm going to retarget this bug for Arabic shaping support specifically.
https://bugs.winehq.org/show_bug.cgi?id=44826
bilux i.bilux@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |i.bilux@gmail.com
--- Comment #11 from bilux i.bilux@gmail.com --- (In reply to Nikolay Sivov from comment #10)
With current Wine we do apply default/common features + user specified features, so comment 3 is no longer accurate. I'm going to retarget this bug for Arabic shaping support specifically.
Is there any updated regarding the DirectWrite bug ?
https://bugs.winehq.org/show_bug.cgi?id=44826
--- Comment #12 from Nikolay Sivov bunglehead@gmail.com --- If you mean Arabic shaping in particular, then no, it's not working at the moment.
https://bugs.winehq.org/show_bug.cgi?id=44826
--- Comment #13 from bilux i.bilux@gmail.com --- (In reply to Nikolay Sivov from comment #12)
Is this bug affected Arabic language shaping only. Or all languages with connected letters ?
https://bugs.winehq.org/show_bug.cgi?id=44826
--- Comment #14 from Nikolay Sivov bunglehead@gmail.com --- It affects every script that needs processing.
https://bugs.winehq.org/show_bug.cgi?id=44826
--- Comment #15 from Nikolay Sivov bunglehead@gmail.com --- I have some preliminary patches that add support for Arabic shaping, without fallback mode for unsupported features for now. I can share them if anyone is interested in doing some testing.
https://bugs.winehq.org/show_bug.cgi?id=44826
--- Comment #16 from bilux i.bilux@gmail.com --- (In reply to Nikolay Sivov from comment #15)
I have some preliminary patches that add support for Arabic shaping, without fallback mode for unsupported features for now. I can share them if anyone is interested in doing some testing.
Yes, of course. That would be great. Do I have to apply patches and rebuild wine? or is already in binary format ?
https://bugs.winehq.org/show_bug.cgi?id=44826
--- Comment #17 from Nikolay Sivov bunglehead@gmail.com --- It will be patches, yes.
https://bugs.winehq.org/show_bug.cgi?id=44826
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #60864|0 |1 is obsolete| | Attachment #60865|0 |1 is obsolete| |
--- Comment #18 from Nikolay Sivov bunglehead@gmail.com --- Created attachment 68992 --> https://bugs.winehq.org/attachment.cgi?id=68992 patch
This is the first iteration. Like I said it does not have fallback support for fonts with missing or incomplete feature set.
What's worth testing:
- Arabic rendering in general for obviously misplaced shapes; - multiple diacritic marks. AFAIK there are some formalized rules for visual stacking order, it would be interesting to see what happens on Windows too; - interaction with user features. Office allows additional features to be applied by the user, like stylistic sets. If that normally applies to Arabic fonts, it would be good to know if it's broken in some way.
https://bugs.winehq.org/show_bug.cgi?id=44826
--- Comment #19 from bilux i.bilux@gmail.com --- Created attachment 69028 --> https://bugs.winehq.org/attachment.cgi?id=69028 MS Office 2013 مرحبا
https://bugs.winehq.org/show_bug.cgi?id=44826
--- Comment #20 from bilux i.bilux@gmail.com --- (In reply to Nikolay Sivov from comment #18)
I have applied patch to wine and built it. But, the bug still exist.
And I have noticed that when I paste the word "مرحبا" it works fine (like shows in attachment). But when I type/write the same word, the letters get inverted and disconnected.
https://bugs.winehq.org/show_bug.cgi?id=44826
--- Comment #21 from Nikolay Sivov bunglehead@gmail.com --- Typing might be some other issue. I recall that Office used locale/keyboard layout combination to detect input language, or something along these lines. If pasting works, then probably opening existing documents will work too, you can use that to test further.
https://bugs.winehq.org/show_bug.cgi?id=44826
--- Comment #22 from bilux i.bilux@gmail.com --- (In reply to Nikolay Sivov from comment #21)
YES, you are right, when I opened an existing documents it worked perfectly. Thank you very much for the amazing work. When do we expect the patch to be merged with the wine release ? And what is this issue with locale/keyboard layout ?
https://bugs.winehq.org/show_bug.cgi?id=44826
--- Comment #23 from Nikolay Sivov bunglehead@gmail.com --- I'm planning on getting this in right after wine 6.0. So please test some more, for example one missing bit is diacritic marks reordering, that I think happens when you have more than one mark stacked, and order in which these are typed in should not affect visual order, or something along these lines. I realize it'd be easier to test if typing actually worked.
Regarding input handling, as I recall you had to install/enable language support for Arabic in Word explicitly, it has some UI with a list of languages it supports. After that Word detects input language using current keyboard layout, which for Wine means that switching layout while Word is running is not detected by the application. It should probably work if you switch to Arabic layout before running Word. I don't remember now how current locale affects this, it's been awhile since I tried.
https://bugs.winehq.org/show_bug.cgi?id=44826
--- Comment #24 from bilux i.bilux@gmail.com --- (In reply to Nikolay Sivov from comment #23) I used the copy/paste method as mentioned before to test diacritic marks reordering, and its working fine.
I have installed and enabled Arabic language support in Word, but it still writing letters backward and disconnected.
I have noticed that when I pasted a text the language is set to Arabic in the status bar. But when I type the words the language is set to English in the status bar, and I won't change when try to change it. I have switched to Arabic layout before running Word but it doesn't work. It's like it doesn't know that I'm writing in Arabic.
Also, spelling and Grammar works fine for Arabic when I paste a text.
PS: The typing bug only occurs in Word 2013. It doesn't happen for Excel 2013 or Word 2010.
https://bugs.winehq.org/show_bug.cgi?id=44826
--- Comment #25 from Nikolay Sivov bunglehead@gmail.com --- Have you tried running with Arabic locale? You can temporary set it as 'LANG=ar_AE.UTF-8 wine WINWORD.EXE', as an example for Emirates variant, you would use whatever is installed and appropriate for you.
If this is specific to Word, it's better to open another report just for that, as it's clearly not the shaping issue, but is a step before that.
https://bugs.winehq.org/show_bug.cgi?id=44826
--- Comment #26 from bilux i.bilux@gmail.com --- (In reply to Nikolay Sivov from comment #25)
Have you tried running with Arabic locale? You can temporary set it as 'LANG=ar_AE.UTF-8 wine WINWORD.EXE', as an example for Emirates variant, you would use whatever is installed and appropriate for you.
If this is specific to Word, it's better to open another report just for that, as it's clearly not the shaping issue, but is a step before that.
Yes, running with Arabic locale worked perfectly ! Thank you. I hope your patch get merged as soon as possible in next release.
https://bugs.winehq.org/show_bug.cgi?id=44826
--- Comment #27 from bilux i.bilux@gmail.com --- (In reply to Nikolay Sivov from comment #18)
Created attachment 68992 [details] patch
Hello Nikolay Sivov, Does this patch need more testing ? and When will it be merged in to winehq sources ?
https://bugs.winehq.org/show_bug.cgi?id=44826
--- Comment #28 from Nikolay Sivov bunglehead@gmail.com --- That should happen some time after wine 6.0 is released.
https://bugs.winehq.org/show_bug.cgi?id=44826
--- Comment #29 from Nikolay Sivov bunglehead@gmail.com --- Please retest, current wine at 2d4dd4252b0 should work already. Fallback shaping is still missing, I'll open a separate bug for that.
https://bugs.winehq.org/show_bug.cgi?id=44826
--- Comment #30 from bilux i.bilux@gmail.com --- (In reply to Nikolay Sivov from comment #29)
Please retest, current wine at 2d4dd4252b0 should work already. Fallback shaping is still missing, I'll open a separate bug for that.
Ok I will. again, thank you.
https://bugs.winehq.org/show_bug.cgi?id=44826
--- Comment #31 from Nikolay Sivov bunglehead@gmail.com --- Wine 6.1 is first release that has it working. Let me know if you see any issues with Word or otherwise.
https://bugs.winehq.org/show_bug.cgi?id=44826
--- Comment #32 from bilux i.bilux@gmail.com --- Created attachment 69314 --> https://bugs.winehq.org/attachment.cgi?id=69314 MS Office 2013 جلال
https://bugs.winehq.org/show_bug.cgi?id=44826
--- Comment #33 from bilux i.bilux@gmail.com --- (In reply to Nikolay Sivov from comment #31)
Wine 6.1 is first release that has it working. Let me know if you see any issues with Word or otherwise.
Yes, I can confirm that arabic is working in the latest wine update. Thank you very much for the great work.
But, I have noticed a minor issue concerning some connected letters like in attachment 69314. The word "جلال" is written using four letters "ج ل ا ل" like in the first case (Upper word), but its not showing correctly as the the third letter "ا" should be diagonal. In the second case (Lower word), The word "جلال" is written using three letters "ح ﻻ ل", here the letter "ا" is diagonal, but the letter "ج" is not connected the the letter "ﻻ" as you can see.
https://bugs.winehq.org/show_bug.cgi?id=44826
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED
--- Comment #34 from Nikolay Sivov bunglehead@gmail.com --- (In reply to bilux from comment #33)
But, I have noticed a minor issue concerning some connected letters like in attachment 69314 [details]. The word "جلال" is written using four letters "ج ل ا ل" like in the first case (Upper word), but its not showing correctly as the the third letter "ا" should be diagonal.
Which font are you testing with? For me Noto Sans Arabic with notepad++ shows correct ligature.
In the second case (Lower word), The word "جلال" is written using three letters "ح ﻻ ل", here the letter "ا" is diagonal, but the letter "ج" is not connected the the letter "ﻻ" as you can see.
This one is using presentation form, am I right? It's 0xfefb for UTF-16 as a single character representing ligature. My guess is that it's not classified correctly, I'll need to look into it to see how it should work.
Could you open a new report or two for these two issues? Note that it's necessary to know exact font you're using.
Now that it works in general with some remaining bugs, I'm going to close this.
https://bugs.winehq.org/show_bug.cgi?id=44826
--- Comment #35 from Nikolay Sivov bunglehead@gmail.com --- I tested some more, and for Noto Sans Arabic I get same results as on windows for presentation form ligature - it's not handled, everything is left unshaped. For first issue you mentioned I was unable to reproduce both with Noto Sans and Arial, it shows up with correct ligature for me. So in order to reproduce I'll definitely need to know exact font that was used.
https://bugs.winehq.org/show_bug.cgi?id=44826
--- Comment #36 from bilux i.bilux@gmail.com --- (In reply to Nikolay Sivov from comment #34)
(In reply to bilux from comment #33)
Which font are you testing with? For me Noto Sans Arabic with notepad++ shows correct ligature.
I have used "Times New Roman" forn. But, you are correct the bug is not showing in "Noto Sans Arabic".
This one is using presentation form, am I right? It's 0xfefb for UTF-16 as a single character representing ligature. My guess is that it's not classified correctly, I'll need to look into it to see how it should work.
Yes, it is 0xfefb for UTF-16, a ligature of two characters combined as one new letter.
Could you open a new report or two for these two issues? Note that it's necessary to know exact font you're using.
Yes, I have opened a new issue for it in here: https://bugs.winehq.org/show_bug.cgi?id=50627
https://bugs.winehq.org/show_bug.cgi?id=44826
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #37 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 6.2.