TextMetrics::getColumnNearX (x -> pos translation) has special code to
ignore spaces at the beginning of a row, but neither the display code
nor TextMetrics::cursorX (pos->x translation) follow this logic. One
might argue that spaces should actually be ignored (like LaTeX does),
but this leads to UI issues and is probably too difficult to
implement.
// the value of rtl.
bool const rtl_on_lastrow = lastrow ? text_->isRTL(par) : false;
- // if the first character is a separator, and we are in RTL
- // text, this character will not be painted on screen
- // and thus we should not count it and skip to the next. Only
- // in freespacing paragraphs, this first character is painted.
- if (!par.isFreeSpacing() && par.isSeparator(bidi.vis2log(vc)))
- ++vc;
-
while (vc < end && tmpx <= x) {
c = bidi.vis2log(vc);
last_tmpx = tmpx;