Hi Nicolas,
I've collected some raw data about estimated extents and real ones one
various scores. I still have to study them, maybe a more suitable amount
of reserved space will emerge.
that would be nice... Maybe it's also possible to cook a patch that
makes lilypond collect that information on his own after rendering each
score, storing in it a file. So many users could take part in finding a
more suitable amount.
But nevertheless: Would it be - theoretically, not considering the
amount of time to implement this - possible to get completely rid of
this "estimate algorithm" to base page spacing only on real Y-extents?
However, I'm not sure at this moment that the issue I'm experiencing is
really about this "security spacing amount".
I wonder since my patch (Maybe any other can have a look at it) doesn't
change the problem, though there is enough space.
Cheers,
Michael
[CC to lilypond-devel]
\version "2.11.58"
#(set-global-staff-size 16)
\paper {
annotate-spacing = ##t
ragged-last-bottom = ##f
ragged-bottom = ##f
paper-height = 279\mm
paper-width = 209\mm
top-margin = 10\mm
bottom-margin = 10\mm
left-margin = 10\mm
foot-separation = 7\mm
between-system-padding = #0.1
between-system-space = #0.1
#(define line-width (- paper-width (* 20 mm)))
oddHeaderMarkup = ##f
evenHeaderMarkup = ##f
oddFooterMarkup = \markup \fontsize #1 \fill-line { " " \on-the-fly
#print-page-number-check-first \fromproperty #'page:page-number-string }
evenFooterMarkup = \markup \fontsize #1 \fill-line { \on-the-fly
#print-page-number-check-first \fromproperty #'page:page-number-string " " }
}
\header {
tagline = ##f
}
csI = \relative c'' {
\time 4/2
\key c \major
b1. d2
d1 d,2. d4
e1 r
R1*4/2*1
g1. g2
g g a b
a g a b
a g fis g
a b a4 \melisma g a b
c2. a2 gis4 \melismaEnd a2
}
cantusI = {
\clef treble
<<
\csI
>>
}
cantusIlyrics = \lyricmode {
Hes -- pe -- re Hes -- pe -- re
Hes -- pe -- re qui cae -- lo lu -- cet qui cae -- lo lu -- cet qui cae -- lo
lu -- cet
}
csII = \relative c'' {
\key c \major
R1*4/2*5
r1 %
r2 d1 b2
r d2. d8 d d4 d
d d d1 b2
r d c f
e a,8 [b c] \melisma a
}
cantusII = {
\clef treble
<<
\csII
>>
}
cantusIIlyrics = \lyricmode {
Hy -- men, o Hy -- me -- nae -- e hy -- men ad -- es
o Hy -- me -- nae -- e
}
asI = \relative c' {
\key c \major
d1. b2
a1 b2. b4
c\breve
R1*4/2*1
g1 g
g2. g'4 fis2 g
d \melisma g, d' \melismaEnd b
R1*4/2*1
r2 g' e f
g f r1
}
altusI = {
\clef treble
<<
\asI
>>
}
altusIlyrics = \lyricmode {
Hes -- pe -- re Hes -- pe -- re
Hes -- pe -- re qui cae -- lo lu -- cet qui cae -- lo lu -- cet
}
asII = \relative c'' {
\key c \major
g1. g2
fis1 g2. g4
g1 r2 c,1
d2 d1
e1. e2
d\breve
r2 g fis g
d g, a b
a g r1
R1*4/2*1
}
altusII = {
\clef treble
<<
\asII
>>
}
altusIIlyrics = \lyricmode {
Hes -- pe -- re Hes -- pe -- re
Hes -- pe -- re Hes -- pe -- re
qui cae-- lo lu -- cet cae -- lo lu -- cet
}
trI = \relative c' {
\key c \major
g1. g2
d\breve % könnte auch c sein
r2 g2. g4 a2
g b a2. \melisma b
c2 \melismaEnd c1 c2
b r2 g
a b a g
a b a g
d'1 r
r r2 e
}
tenorI = {
\clef "treble_8"
<<
\trI
>>
}
tenorIlyrics = \lyricmode {
Hes -- pe -- re Hes -- pe -- re Hes -- pe -- re Hes -- pe -- re
qui cae -- lo lu -- cet qui cae -- lo lu -- cet
}
tenorII = {
\clef "treble_8"
<<
\transpose c' c \csII
>>
}
bsI = \relative c {
\key c \major
R1*4/2*1
r1 g2. g4
c2 c2. c4 f,2
c' g d'1
c2. \melisma d4 \melismaEnd e2. \melisma c4 \melismaEnd
d1 r
r r2 g
fis g d g,
R1*4/2*2
}
bassusI = {
\clef bass
<<
\bsI
>>
}
bassusIlyrics = \lyricmode {
Hes -- pe -- re Hes -- pe -- re Hes -- pe -- re Hes -- pe -- re
qui cae -- lo lu -- cet qui cae -- lo lu -- cet
}
bsII = \relative c' {
\key c \major
R1*4/2*1
r1 g2. g4
g2 e2. e4 f2
e8 \melisma d \melismaEnd e \melisma c \melismaEnd g'2. \melisma f8 [e] f4 g
\melismaEnd
e1 c
g r2 g'
fis g d g,
r1 r2 g'
fis g a d,
R1*4/2*1
}
bassusII = {
\clef bass
<<
\bsII
>>
}
bassusIIlyrics = \lyricmode {
Hes -- pe -- re Hes -- pe -- re Hes -- pe -- re Hes -- pe -- re
qui cae -- lo lu -- cet qui cae -- lo lu -- cet
}
\score {
<<
\new Voice = "cantusII" \cantusII
\new Lyrics \lyricsto cantusII \cantusIIlyrics
\new Voice = "cantusI" \cantusI
\new Lyrics \lyricsto cantusI \cantusIlyrics
\new Voice = "altusII" \altusII
\new Lyrics \lyricsto altusII \altusIIlyrics
\new Voice = "altusI" \altusI
\new Lyrics \lyricsto altusI \altusIlyrics
\new Voice = "tenorII" \tenorII
\new Lyrics \lyricsto tenorII \cantusIIlyrics
\new Voice = "tenorI" \tenorI
\new Lyrics \lyricsto tenorI \tenorIlyrics
\new Voice = "bassusII" \bassusII
\new Lyrics \lyricsto bassusII \bassusIIlyrics
\new Voice = "bassusI" \bassusI
\new Lyrics \lyricsto bassusI \bassusIlyrics
>>
\layout {
\context {
\Score
autoBeaming = ##f
}
\context {
\Lyrics
\override LyricText #'font-size = #0
\override VerticalAxisGroup #'minimum-Y-extent = #'(-0.75 . 1.0)
}
\context {
\Staff
\override VerticalAxisGroup #'minimum-Y-extent = #'(-3 . 3)
}
}
}
--- layout-page-layout.scm 2008-09-15 11:39:32.000000000 +0200
+++ layout-page-layout-new.scm 2008-09-15 11:40:36.000000000 +0200
@@ -85,10 +85,9 @@
; the system heights are estimated, we aren't using skyline distances
; yet, etc. If we overstretch because of underestimation, the result
; is very bad. So we stick in some extra space, just to be sure.
- (buffer (/ height 10.0))
(total-system-height (+ (apply + (map height-estimate systems))
(total-padding systems)))
- (height-left (- height total-system-height buffer)))
+ (height-left (- height total-system-height)))
(if (and
(not ragged)
_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel