>+ >+ // if the metrics have not been calculated, then we are not >+ // on screen and can safely ignore issues about boundaries. >+ if (!contains(pit)) >+ return false; >+ I don't like this. The function is called: isRTLBoundary(), so I expect it to return whether the cursor is at an RTL boundary or not. I do not expect it to return false by definition if it is out of view.
The only reason that we need the Metrics is that there is already a special case introduced when e.g. the cursor is at the beginning of a line. This is not the most beautiful solution, but now the spaghetti gets tangled more and more. Vincent