Aric Stewart : usp10: If leading with a strong character use its bidi level for our intial LayoutRTL .

Alexandre Julliard julliard at winehq.org
Thu Nov 17 12:52:35 CST 2011


Module: wine
Branch: master
Commit: 41db79a8555b2fc2c826ef4dd041c01b6efdd1c3
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=41db79a8555b2fc2c826ef4dd041c01b6efdd1c3

Author: Aric Stewart <aric at codeweavers.com>
Date:   Thu Nov 17 09:40:54 2011 -0700

usp10: If leading with a strong character use its bidi level for our intial LayoutRTL.

---

 dlls/usp10/usp10.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/dlls/usp10/usp10.c b/dlls/usp10/usp10.c
index 844f53c..1f18294 100644
--- a/dlls/usp10/usp10.c
+++ b/dlls/usp10/usp10.c
@@ -949,7 +949,10 @@ HRESULT WINAPI ScriptItemizeOpenType(const WCHAR *pwcInChars, int cInChars, int
 
     if (levels)
     {
-        layoutRTL = (psState->uBidiLevel || odd(levels[cnt]))?1:0;
+        if (strength[cnt] == BIDI_STRONG)
+            layoutRTL = (odd(levels[cnt]))?1:0;
+        else
+            layoutRTL = (psState->uBidiLevel || odd(levels[cnt]))?1:0;
         pItems[index].a.fRTL = odd(levels[cnt]);
         pItems[index].a.fLayoutRTL = layoutRTL;
         pItems[index].a.s.uBidiLevel = levels[cnt];




More information about the wine-cvs mailing list