
--- scribo/ChangeLog | 4 ++++ scribo/scribo/text/merging.hh | 10 ++++++++++ 2 files changed, 14 insertions(+), 0 deletions(-) diff --git a/scribo/ChangeLog b/scribo/ChangeLog index 78c687b..ace76e0 100644 --- a/scribo/ChangeLog +++ b/scribo/ChangeLog @@ -1,5 +1,9 @@ 2011-03-21 Guillaume Lazzara <z@lrde.epita.fr> + * scribo/text/merging: Add a precondition. Fix merging policy. + +2011-03-21 Guillaume Lazzara <z@lrde.epita.fr> + * scribo/primitive/link/internal/link_functor_base.hh: Stop neighbor lookup when a separator is found. diff --git a/scribo/scribo/text/merging.hh b/scribo/scribo/text/merging.hh index f433e51..26e2da7 100644 --- a/scribo/scribo/text/merging.hh +++ b/scribo/scribo/text/merging.hh @@ -226,6 +226,9 @@ namespace scribo bool between_separators(const scribo::line_info<L>& l1, const scribo::line_info<L>& l2) { + // No separators found in image. + mln_precondition(l1.holder().components().has_separators()); + unsigned col1 = l1.bbox().pcenter().col(), col2 = l2.bbox().pcenter().col(); @@ -649,6 +652,13 @@ namespace scribo //if (!non_text_and_text_can_merge(lines(l), lines(mc))) // continue; + // Avoid the case when a large title ebbox overlap + // with a text column. In that case, the title may + // merge with punctuation from the text. + if (lines(l).holder().components().has_separators() + && between_separators(lines(l), lines(mc))) + continue; + // Mark current line as punctuation. lines(l).update_type(line::Punctuation); -- 1.5.6.5
participants (1)
-
Guillaume Lazzara