commit 4bd5a7e883b76f36d1ebc3ae1c9a6765da5165f6
Author: Jean-Marc Lasgouttes <lasgout...@lyx.org>
Date:   Mon Jun 30 15:55:30 2014 +0200

    Move some text from the readme file to relevant source files

diff --git a/00README_STR_METRICS_BRANCH b/00README_STR_METRICS_BRANCH
index 6668623..1292390 100644
--- a/00README_STR_METRICS_BRANCH
+++ b/00README_STR_METRICS_BRANCH
@@ -11,8 +11,6 @@ what we have with force_paint_single_char. Moreover there has 
been
 some code factorization in TextMetrics, where the same row-breaking
 algorithm was basically implemented 3 times.
 
-Currently everything is supposed to work for both LTR and RTL text.
-
 The bugs fixed and caused by this branch are tracked at ticket #9003:
 http://www.lyx.org/trac/ticket/9003
 
@@ -59,26 +57,3 @@ Next steps:
   in the source.
 
 * Maybe get rid of LyXRC::rtl_support, which does not have a real use case.
-
-* Fix bugs uncovered by testing.
-
-* Profile and see how performance can be improved.
-
-
-Steps for later (aka out of the scope of this branch):
-
-* Re-implement row painting using row elements. This is not difficult
-  in principle, but the code is intricate and needs some careful
-  analysis. The first thing that needs to be done is to break row
-  elements with the same criteria. Currently breakRow does not
-  consider on-the-fly spell-checking, but it is not clear to me that
-  it is required. Moreover, this thing would only work if we are sure
-  that the Row object is up-to-date when drawing happens. This depends
-  on the update machinery.
-
-  This would allow to get rid of the Bidi.cpp code.
-
-* Change Row object to operate only on integers and not doubles. Then,
-  rewrite the computation of spacing in justified paragraphs so that
-  strings can be drawn without cutting at separators. This will improve
-  performance.
diff --git a/src/Row.h b/src/Row.h
index a1e707e..04890f7 100644
--- a/src/Row.h
+++ b/src/Row.h
@@ -30,6 +30,18 @@ class DocIterator;
 class Inset;
 
 /**
+ * FIXME: Change Row object to operate only on integers and not doubles.
+ *
+ * This use of double is only useful to distribute the extra
+ * horizontal space between separators in justified text. If we do
+ * integer arithmetic, then it is possible to have two groups of
+ * separators, with size s or s+1. Then strings can be drawn without
+ * cutting at separators in justfied text, as it is done in
+ * non-justified text. This will improve performance.
+ */
+
+
+/**
  * An on-screen row of text. A paragraph is broken into a RowList for
  * display. Each Row contains a tokenized description of the contents
  * of the line.
diff --git a/src/rowpainter.h b/src/rowpainter.h
index ae1a590..7e29c0e 100644
--- a/src/rowpainter.h
+++ b/src/rowpainter.h
@@ -37,6 +37,21 @@ class TextMetrics;
 namespace frontend { class Painter; }
 
 /**
+ * FIXME: Re-implement row painting using row elements.
+ *
+ * This is not difficult in principle, but the code is intricate and
+ * needs some careful analysis. The first thing that needs to be done
+ * is to break row elements with the same criteria. Currently breakRow
+ * does not consider on-the-fly spell-checking, but it is not clear to
+ * me that it is required. Moreover, this thing would only work if we
+ * are sure that the Row object is up-to-date when drawing happens.
+ * This depends on the update machinery.
+ *
+ * This would allow to get rid of the Bidi class.
+ */
+
+
+/**
  * A class used for painting an individual row of text.
  * FIXME: get rid of that class.
  */

Reply via email to