Module: wine Branch: master Commit: e276fbc22284135019c15bba055ad943328a4b01 URL: http://source.winehq.org/git/wine.git/?a=commit;h=e276fbc22284135019c15bba05... Author: Aric Stewart <aric(a)codeweavers.com> Date: Fri May 21 10:08:30 2010 -0500 usp10: Correct Left and Right confusions for Arabic joining and shaping. --- dlls/usp10/shape.c | 14 +++++++------- 1 files changed, 7 insertions(+), 7 deletions(-) diff --git a/dlls/usp10/shape.c b/dlls/usp10/shape.c index bccb1fd..71022ef 100644 --- a/dlls/usp10/shape.c +++ b/dlls/usp10/shape.c @@ -51,8 +51,8 @@ enum joining_types { enum joined_forms { Xn=0, - Xl, Xr, + Xl, Xm }; @@ -448,12 +448,12 @@ static CHAR neighbour_joining_type(int i, int delta, const CHAR* context_type, I static inline BOOL right_join_causing(CHAR joining_type) { - return (joining_type == jtR || joining_type == jtD || joining_type == jtC); + return (joining_type == jtL || joining_type == jtD || joining_type == jtC); } static inline BOOL left_join_causing(CHAR joining_type) { - return (joining_type == jtL || joining_type == jtD || joining_type == jtC); + return (joining_type == jtR || joining_type == jtD || joining_type == jtC); } /* SHAPE_ShapeArabicGlyphs @@ -470,13 +470,13 @@ void SHAPE_ShapeArabicGlyphs(HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WC if (!psa->fLogicalOrder && psa->fRTL) { - dirR = -1; - dirL = 1; + dirR = 1; + dirL = -1; } else { - dirR = 1; - dirL = -1; + dirR = -1; + dirL = 1; } if (!psc->GSUB_Table)