>>>>> "Stefan" == Stefan Schimanski <[EMAIL PROTECTED]> writes:
Stefan> As promised, here it is. This is the way to do it. It includes
Stefan> our former patch for cursorLeft/Right to avoid boundary magic
Stefan> on RTL- boundaries.
A few comments: first, I am not sure I like
+bool Text::isRTL(Buffer const & buffer, pit_type pit, pos_type pos, bool
boundary) const
+{
+ Paragraph const & par = getPar(pit);
+ return getFont(buffer, par, pos).isVisibleRightToLeft();
+}
I'd prefer a free standing function
bool isRtL(Buffer const & buffer, CursorSlice const & sl, bool boundary)
{
Paragraph const & par = getPar(pit);
return getFont(buffer, sl.paragraph(), sl.pos()).isVisibleRightToLeft();
}
There should be a test for non-text mode somewhere where we return false.
With this in place, I am not even sure we need to pass the rtl flag
around, actually.
JMarc