From f426238303e94ee42e2e6c0a0c97db41131fb441 Mon Sep 17 00:00:00 2001 From: hanwen Date: Fri, 11 Jun 2004 13:40:22 +0000 Subject: [PATCH] * scm/page-breaking.scm (ly:optimal-page-breaks): don't do negative penalties. * scm/page-breaking.scm (ly:optimal-page-breaks): new file. Rewrite function. --- ChangeLog | 3 +++ scm/page-breaking.scm | 20 +++++++++++++------- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 91cc77b0f2..616031b976 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2004-06-11 Han-Wen Nienhuys + * scm/page-breaking.scm (ly:optimal-page-breaks): don't do + negative penalties. + * Documentation/user/changing-defaults.itely (Creating contexts): index entries diff --git a/scm/page-breaking.scm b/scm/page-breaking.scm index c5b381d495..11d590f0ec 100644 --- a/scm/page-breaking.scm +++ b/scm/page-breaking.scm @@ -61,7 +61,7 @@ #:pageno page-num #:penalty penalty)) - (define INFINITY 1e9) + (define MAXPENALTY 1e9) (define (line-height line) @@ -76,9 +76,15 @@ ;; scale independent (relative-empty (/ left available))) - ;; Convexity: two half-empty pages is better than 1 completely - ;; empty page - (* (1+ relative-empty) relative-empty))) + (if (negative? left) + + ; + ; too full + MAXPENALTY + + ;; Convexity: two half-empty pages is better than 1 completely + ;; empty page + (* (1+ relative-empty) relative-empty)))) ;; TODO: rewrite @@ -151,13 +157,13 @@ CURRENT-BEST is the best result sofar, or #f." "height " page-height " spc used: " space-used "\n" "pen " this-page-penalty " lines: " current-lines "\n")) - (foo (display debug-info)) +; (foo (display debug-info)) ) (if (and (pair? done-lines) ;; if this page is too full, adding another line won't help - (positive? this-page-penalty)) + (< this-page-penalty MAXPENALTY)) (walk-paths (cdr done-lines) (cdr best-paths) (cons (car done-lines) current-lines) last? new-best) new-best))) @@ -197,7 +203,7 @@ DONE." (break-numbers (map line-number break-nodes)) ) - (display break-lines) +; (display break-lines) (if (ly:get-option 'verbose) (begin -- 2.39.5