Commit f13dea56 authored by Henri Verbeet's avatar Henri Verbeet Committed by Alexandre Julliard

usp10: Properly determine the glyph run direction when shaping Script_Arabic.

In particular, if fLogicalOrder and fRTL are both set, the glyph order is swapped compared to the character order. In all other cases it's the same. Signed-off-by: 's avatarHenri Verbeet <hverbeet@codeweavers.com> Signed-off-by: 's avatarAric Stewart <aric@codeweavers.com> Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
parent c94a5fd2
......@@ -1055,15 +1055,15 @@ static void ContextualShape_Arabic(HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *p
return;
}
if (!psa->fLogicalOrder && psa->fRTL)
if (psa->fLogicalOrder && psa->fRTL)
{
dirR = 1;
dirL = -1;
dirR = -1;
dirL = 1;
}
else
{
dirR = -1;
dirL = 1;
dirR = 1;
dirL = -1;
}
load_ot_tables(hdc, psc);
......@@ -2946,20 +2946,20 @@ static void ShapeCharGlyphProp_Arabic( HDC hdc, ScriptCache *psc, SCRIPT_ANALYSI
spaces = HeapAlloc(GetProcessHeap(),0,cGlyphs);
memset(spaces,0,cGlyphs);
if (!psa->fLogicalOrder && psa->fRTL)
{
initGlyph = cGlyphs-1;
finaGlyph = 0;
dirR = 1;
dirL = -1;
}
else
if (psa->fLogicalOrder && psa->fRTL)
{
initGlyph = 0;
finaGlyph = cGlyphs-1;
dirR = -1;
dirL = 1;
}
else
{
initGlyph = cGlyphs-1;
finaGlyph = 0;
dirR = 1;
dirL = -1;
}
for (i = 0; i < cGlyphs; i++)
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment