--- fntcache1.89.cxx 2007-12-18 19:23:19.970000000 +0000 +++ fntcache.cxx 2007-12-18 19:14:12.206000000 +0000 @@ -1568,7 +1568,13 @@ void SwFntObj::DrawText( SwDrawTextInfo // vor bzw. hinter den kompletten Zwischenraum gesetzt werden, // sonst wuerde das Durch-/Unterstreichen Luecken aufweisen. long nSpaceSum = 0; - long nHalfSpace = pPrtFont->IsWordLineMode() ? 0 : nSpaceAdd / 2; + + // patch to correct faulty justification of Hebrew text + // nHalfSpace should not be used, see also winlayout.cxx + // I am not sure whether to check for SW_CTL is the best thing to do, + // please correct if necessary + long nHalfSpace = pPrtFont->IsWordLineMode() || + rInf.GetFont()->GetActual() == SW_CTL ? 0 : nSpaceAdd / 2; long nOtherHalf = nSpaceAdd - nHalfSpace; if ( nSpaceAdd && ( cChPrev == CH_BLANK ) ) nSpaceSum = nHalfSpace;