From 469b0c1660e8481379eb5a5c032feb3600e1c530 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sun, 22 Apr 2001 15:11:37 +0200 Subject: [PATCH] patch::: 1.3.149.jcn3 1.3.149.jcn3 ============ * Bugfix: markup text: lines with markup. * Fixed line height in postscript output. --- Generated by janneke@gnu.org, From = lilypond-1.3.149.jcn2, To = lilypond-1.3.149.jcn3 usage cd lilypond-source-dir; patch -E -p1 < lilypond-1.3.149.jcn3.diff Patches do not contain automatically generated files or (urg) empty directories, i.e., you should rerun autoconf, configure --- CHANGES | 14 +++++++++++++- VERSION | 2 +- input/test/super-sub.ly | 2 ++ input/test/super-sub.ly.orig | 27 +++++++++++++++++++++++++++ lily/text-item.cc | 11 ++++++++--- ps/lilyponddefs.ps | 33 +++++++++------------------------ scm/ps.scm | 7 +++++-- 7 files changed, 65 insertions(+), 31 deletions(-) create mode 100644 input/test/super-sub.ly.orig diff --git a/CHANGES b/CHANGES index b7adacbb30..d3c1eb6644 100644 --- a/CHANGES +++ b/CHANGES @@ -1,4 +1,16 @@ -1.3.149.jcn2 +--- ../lilypond-1.3.149.jcn2/CHANGES Fri Apr 20 15:44:19 2001 +++ b/CHANGES Sun Apr 22 15:11:37 2001 +@@ -1,3 +1,10 @@ +1.3.149.jcn3 +============ + +* Bugfix: markup text: lines with markup. + +* Fixed line height in postscript output. + + 1.3.149.jcn2 + ============ + 1.3.149.jcn2 ============ * Fixed one more shift/reduce rule in parser: c1/e NOT diff --git a/VERSION b/VERSION index 1139b03c0f..6483ebaf4d 100644 --- a/VERSION +++ b/VERSION @@ -2,7 +2,7 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=3 PATCH_LEVEL=149 -MY_PATCH_LEVEL=jcn2 +MY_PATCH_LEVEL=jcn3 # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/input/test/super-sub.ly b/input/test/super-sub.ly index 5d55806d8d..3e8f8ff3c2 100644 --- a/input/test/super-sub.ly +++ b/input/test/super-sub.ly @@ -23,5 +23,7 @@ texidoc="Test super/sub, raise and overstrike." c^#'(columns "foe" ((bold roman overstrike) "o") "/") c^#'(columns "foe" ((extent . (0 . 0)) "o") "/") c^#'(columns "foo" (super "bar" (super "baz"))) + c + c^#`(columns (lines "" ";" "") (lines "1" ((bold) "2") "3")) } } \ No newline at end of file diff --git a/input/test/super-sub.ly.orig b/input/test/super-sub.ly.orig new file mode 100644 index 0000000000..5d55806d8d --- /dev/null +++ b/input/test/super-sub.ly.orig @@ -0,0 +1,27 @@ +\header { +texidoc="Test super/sub, raise and overstrike." +} + + + +\score { + \notes \relative a'' { + c^#'("bar") + c^#'(("bar")) + c^#'((("bar"))) + c^#'(bold "bar") + c^#'((bold) "bar") + c^#'(((bold)) "bar") + c^#'(bold ("bar")) + c^#'(bold "bar") + c^#'(columns "foe" ((raise . 3) "bar")) + c^#'(columns "foe" (((raise . 3) "bar"))) + c^#'(columns "foe" (((raise . 3)) "bar")) + c^#'(columns "foe" (super "12") (sub "3 4")) + c^#'(columns "foe" (super (overstrike "o") "/") (sub "x")) + c^#'(columns "foe" (overstrike "o") "/") + c^#'(columns "foe" ((bold roman overstrike) "o") "/") + c^#'(columns "foe" ((extent . (0 . 0)) "o") "/") + c^#'(columns "foo" (super "bar" (super "baz"))) + } +} \ No newline at end of file diff --git a/lily/text-item.cc b/lily/text-item.cc index 3e17134db4..5441963c0e 100644 --- a/lily/text-item.cc +++ b/lily/text-item.cc @@ -217,9 +217,14 @@ Text_item::markup_text2molecule (Grob *me, SCM markup_text, if (!m.empty_b ()) { m.translate (o); - if (axis == Y_AXIS && baseline_skip) - next_kern += baseline_skip - m.extent (Y_AXIS)[UP]; - mol.add_at_edge (axis, axis == X_AXIS ? RIGHT : DOWN, m, next_kern); + if (mol.empty_b ()) + mol = m; + else + { + if (axis == Y_AXIS && baseline_skip) + next_kern += baseline_skip - m.extent (Y_AXIS)[UP]; + mol.add_at_edge (axis, axis == X_AXIS ? RIGHT : DOWN, m, next_kern); + } } text = gh_cdr (text); } diff --git a/ps/lilyponddefs.ps b/ps/lilyponddefs.ps index d4994a0e0f..899b0f0061 100644 --- a/ps/lilyponddefs.ps +++ b/ps/lilyponddefs.ps @@ -69,8 +69,11 @@ grestore } bind def -/start-line -{ +/start-line % height +{ + dup base-line-skip gt { + /line-height exch def + } if line-y top-margin sub base-line-skip lt { showpage /line-y vsize top-margin sub def @@ -82,29 +85,10 @@ /stop-line { /the-line exch def - 0 0 moveto the-line clippath pathbbox + the-line stroke grestore - exch 4 -1 roll - sub - 3 1 roll - exch sub - %pstack - % - % ugh: now we should have `width height' on stack, - % but it's probably just the width and height of last element - % (the last staff) - % How do we get all heights of all staffs in a line? - % - % output-scale div neg line-y add /line-y exch def - % - % discarding height... - pop - % - % discard width - pop - % use fixed base-line-skip for now - line-y base-line-skip output-scale mul sub /line-y exch def + line-y line-height output-scale mul sub /line-y exch def } bind def % FIXME: font definitions should come from LilyPond @@ -215,11 +199,12 @@ /turnOnExperimentalFeatures { } bind def - staff-line-thickness setlinewidth +% set postscript paper size paper-size +% initialise paper dimensions staff-height init-paper /line-x left-margin def diff --git a/scm/ps.scm b/scm/ps.scm index 70a115d8c6..008a6e7d67 100644 --- a/scm/ps.scm +++ b/scm/ps.scm @@ -161,9 +161,12 @@ " draw_bezier_sandwich")) (define (start-line height) - "\nstart-line { + (string-append + "\n" + (ly-number->string height) + " start-line { lilypondpaperoutputscale lilypondpaperoutputscale scale -") +")) (define (stem breapth width depth height) (string-append (numbers->string (list breapth width depth height)) -- 2.39.2