Workaround for bug 3040

* src/rowpainter.C
	(RowPainter::paintChars): Paint hebrew characters one at a time


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17519 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Georg Baum 2007-03-23 09:18:07 +00:00
parent 7fb8a4a595
commit fd867eafdc

View File

@ -335,14 +335,31 @@ void RowPainter::paintChars(pos_type & vpos, LyXFont const & font,
if (!isPrintableNonspace(c)) if (!isPrintableNonspace(c))
break; break;
if (hebrew)
break;
/* FIXME: these checks are irrelevant, since 'arabic' and
* 'hebrew' alone are already going to trigger a break.
* The encodings used by isComposeChar_arabic and
* isComposeChar_hebrew are incorrect (probably iso8859-8 and
* iso8859-6), they also have to be adapted to Unicode.
* However, this should not be removed completely, because
* if an alternative solution is found which allows grouping
* of arabic and hebrew characters, then these breaks may have
* to be re-applied.
* See also http://thread.gmane.org/gmane.editors.lyx.devel/79740
if (arabic && Encodings::isComposeChar_arabic(c)) if (arabic && Encodings::isComposeChar_arabic(c))
break; break;
if (hebrew && Encodings::isComposeChar_hebrew(c)) if (hebrew && Encodings::isComposeChar_hebrew(c))
break; break;
*/
if (arabic) if (arabic) {
c = par_.transformChar(c, pos); c = par_.transformChar(c, pos);
break;
}
str.push_back(c); str.push_back(c);
} }