From 41db79a8555b2fc2c826ef4dd041c01b6efdd1c3 Mon Sep 17 00:00:00 2001 From: Aric Stewart Date: Thu, 17 Nov 2011 09:40:54 -0700 Subject: [PATCH] usp10: If leading with a strong character use its bidi level for our intial LayoutRTL. --- dlls/usp10/usp10.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dlls/usp10/usp10.c b/dlls/usp10/usp10.c index 844f53ceabf..1f18294ad0d 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];