Dov Feldstern wrote:

Also --- and this would be much easier --- the whitespace should be marked as belonging to the foreign language (with the blue underline) --- just that would already go a long way towards making it clearer to the user that there are differences between the three lines.

Attached is a patch which marks the whitespace (at least normal spaces) in foreign languages as such (using the blue underline, same as for non-space foreign characters). Also attached is a screenshot of the same document displayed in the OP, this time using the patch. At least now the user can see that each of the lines is different, whereas before they all looked the same in the GUI.

I'm not sure that this patch should be incorporated just yet --- I still think we need to think out the correct way to treat this issue. But this is (a very small) first step in the direction towards a solution, and maybe will generate more thoughts on this issue...

Dov
Index: src/rowpainter.C
===================================================================
--- src/rowpainter.C    (revision 17822)
+++ src/rowpainter.C    (working copy)
@@ -818,10 +818,13 @@
                        x_ += 2;
                        ++vpos;
                } else if (par_.isSeparator(pos)) {
+                       LyXFont orig_font = text_.getFont(*bv_.buffer(), par_, 
pos);
+                       double const orig_x = x_;
                        x_ += width_pos;
                        if (pos >= body_pos)
                                x_ += separator_;
                        ++vpos;
+                       paintForeignMark(orig_x, orig_font);
                } else {
                        paintFromPos(vpos);
                }

PNG image

Reply via email to