]> git.donarmstrong.com Git - lilypond.git/commitdiff
Merge branch 'lilypond/translation' of ssh://jomand@git.sv.gnu.org/srv/git/lilypond
authorJohn Mandereau <john.mandereau@gmail.com>
Sun, 7 Dec 2008 20:52:18 +0000 (21:52 +0100)
committerJohn Mandereau <john.mandereau@gmail.com>
Sun, 7 Dec 2008 20:52:18 +0000 (21:52 +0100)
90 files changed:
Documentation/de/index.html.in
Documentation/de/user/GNUmakefile
Documentation/de/user/ancient.itely
Documentation/de/user/introduction.itely
Documentation/de/user/lilypond-book.itely
Documentation/de/user/macros.itexi
Documentation/es/user/GNUmakefile
Documentation/es/user/ancient.itely
Documentation/es/user/introduction.itely
Documentation/es/user/lilypond-book.itely
Documentation/es/user/macros.itexi
Documentation/fr/index.html.in
Documentation/fr/user/ancient.itely
Documentation/fr/user/introduction.itely
Documentation/fr/user/macros.itexi
Documentation/user/ancient.itely
Documentation/user/introduction.itely
Documentation/user/lilypond-book.itely
Documentation/user/text.itely
Documentation/user/vocal.itely
ROADMAP
THANKS
buildscripts/html-gettext.py
input/lsr/avoiding-collisions-of-chord-fingering-with-beams.ly
input/lsr/center-text-below-hairpin-dynamics.ly
input/lsr/changing-properties-for-individual-grobs.ly
input/lsr/compound-time-signatures.ly
input/lsr/flute-slap-notation.ly
input/lsr/heavily-customized-polymetric-time-signatures.ly
input/lsr/non-traditional-key-signatures.ly
input/lsr/rest-styles.ly
input/lsr/stand-alone-two-column-markup.ly [new file with mode: 0644]
input/lsr/text.snippet-list
input/new/center-text-below-hairpin-dynamics.ly [new file with mode: 0644]
input/new/changing-properties-for-individual-grobs.ly [new file with mode: 0644]
input/new/compound-time-signatures.ly [new file with mode: 0644]
input/new/flute-slap-notation.ly [new file with mode: 0644]
input/new/heavily-customized-polymetric-time-signatures.ly [new file with mode: 0644]
input/regression/apply-output.ly
input/regression/breathing-sign.ly
input/regression/display-lily-tests.ly
input/regression/font-postscript.ly
input/regression/markup-note-dot.ly
input/regression/mensural-ligatures.ly
input/regression/rest-pitched-beam.ly
input/regression/slur-broken-trend.ly
input/regression/slur-scoring.ly
input/regression/tie-arpeggio.ly
lily/accidental-placement.cc
lily/font-select.cc
lily/include/font-metric.hh
lily/include/lily-proto.hh
lily/include/main.hh
lily/include/modified-font-metric.hh
lily/include/text-metrics.hh [deleted file]
lily/lily-parser.cc
lily/main.cc
lily/modified-font-metric.cc
lily/new-dynamic-engraver.cc
lily/text-interface.cc
lily/text-metrics.cc [deleted file]
ly/gregorian.ly
ly/paper-defaults-init.ly
make/doc-i18n-user-targets.make
make/doc-i18n-user-vars.make
mf/feta-autometric.mf
ps/music-drawing-routines.ps
scm/backend-library.scm
scm/define-grob-properties.scm
scm/define-grobs.scm
scm/define-markup-commands.scm
scm/define-music-display-methods.scm
scm/define-stencil-commands.scm
scm/encoding.scm
scm/framework-eps.scm
scm/framework-null.scm
scm/framework-ps.scm
scm/framework-scm.scm
scm/framework-socket.scm
scm/framework-tex.scm [deleted file]
scm/framework-texstr.scm [deleted file]
scm/lily.scm
scm/output-tex.scm [deleted file]
scm/output-texstr.scm [deleted file]
scm/paper.scm
scripts/lilypond-book.py
tex/GNUmakefile
tex/lily-ps-defs.tex [deleted file]
tex/lilyponddefs.tex [deleted file]
tex/quotes.patch [deleted file]

index b848cd33d6251dd99222dc497fced4c898727f4f..ee95ddede8bb1131aec23002de4680b16ed022e1 100644 (file)
@@ -65,7 +65,7 @@ als <a class="title" href="user/lilypond-learning.de.pdf">PDF</a>)
          <ul>
            <li>
 <a class="title" href="user/lilypond/index.de.html">Notationsreferenz (NR)</a>
- (auf <a class="title" href="user/lilypond-big-page.html">einer gro&szlig;en Seite</a> ~ 4 MB,
+ (auf <a class="title" href="user/lilypond-big-page.de.html">einer gro&szlig;en Seite</a> ~ 4 MB,
  als <a class="title" href="user/lilypond.de.pdf">PDF</a>)
        <br>(Notation mit LilyPond setzen.)
        <br>(<strong>Achtung:</strong> dieses Dokument ist erst teilweise auf deutsch &uuml;bersetzt,<br>
@@ -85,7 +85,7 @@ als <a class="title" href="user/lilypond-learning.de.pdf">PDF</a>)
          <ul>
          <li>
             <a class="title" href="user/lilypond-program/index.de.html">Anwendungsbenutzung (AU)</a>
- (auf <a class="title" href="user/lilypond-program-big-page.html">einer gro&szlig;en Seite</a>,
+ (auf <a class="title" href="user/lilypond-program-big-page.de.html">einer gro&szlig;en Seite</a>,
  als <a class="title" href="user/lilypond-program.de.pdf">PDF</a>)
        <br>(Wie das Programm installiert und gestartet wird.)</li>
           
index e983bd2fedd6508c73941e8a88a985740d1311ec..50042f40cbe0c94b2b39495b192c1710d006dc86 100644 (file)
@@ -1,5 +1,4 @@
 ISOLANG = de
 depth = ../../..
 LOCALSTEPMAKE_TEMPLATES = lilypond ly doc-i18n-user
-BIG_PAGE_MANUALS = lilypond-learning
 include $(depth)/make/stepmake.make
index 22e0de394594eb9597aec422d656e412bab95d30..bd0eca8b92ccf4c9549c963652d627a488cd6361 100644 (file)
@@ -1926,7 +1926,7 @@ Kontexte initialisieren alle relevanten Eigenschaften für das Notensystem
 und die graphischen Objekte, so dass unmittelbar mit der Notation
 begonnen werden kann. Siehe das folgende Beispiel:
 
-@lilypond[quote,ragged-right,packed,verbatim]
+@lilypond[quote,ragged-right,verbatim]
 \include "gregorian.ly"
 \score {
   <<
index 6a58c293050cc2720ff2e0cc36468b90d2dd087f..19b385d9f00087bed58db4ab893c185eb29bba8c 100644 (file)
@@ -371,34 +371,33 @@ die Notenköpfe gezeichnet werden, während des Ausschnitts verändert.
          (pos (ly:grob-property grob 'staff-position)))
     (if (memq 'note-head-interface interfaces)
         (begin
-          (ly:grob-set-property! grob 'stencil ly:text-interface::print)
-          (ly:grob-set-property! grob 'font-family 'roman)
-          (ly:grob-set-property! grob 'text
-            (make-raise-markup -0.5
-              (case pos
-                ((-5) (make-simple-markup "m"))
-                ((-3) (make-simple-markup "c "))
-                ((-2) (make-smaller-markup (make-bold-markup "2")))
-                (else (make-simple-markup "bla")))))))))
+          (ly:grob-set-property! grob 'stencil
+            (grob-interpret-markup grob
+              (make-lower-markup 0.5
+                (case pos
+                  ((-5) "m")
+                  ((-3) "c ")
+                  ((-2) (make-smaller-markup (make-bold-markup "2")))
+                  (else "bla")))))))))
 
 \new Voice \relative c' {
-   \stemUp
-   \set autoBeaming = ##f
-   \time 2/4
-   <d f g>4
-   \once \override NoteHead #'stencil = #ly:note-head::brew-ez-stencil
-   \once \override NoteHead #'font-size = #-7
-   \once \override NoteHead #'font-family = #'sans
-   \once \override NoteHead #'font-series = #'bold
-   <d f g>
-   \once \override NoteHead #'style = #'cross
-   <d f g>
-   \applyOutput #'Voice #mc-squared
-   <d f g>
-   <<
-      { d8[ es-( fis^^ g] fis2-) }
-      \repeat unfold 5 { \applyOutput #'Voice #mc-squared s8 }
-   >>
+  \stemUp
+  \set autoBeaming = ##f
+  \time 2/4
+  <d f g>4
+  \once \override NoteHead #'stencil = #ly:note-head::brew-ez-stencil
+  \once \override NoteHead #'font-size = #-7
+  \once \override NoteHead #'font-family = #'sans
+  \once \override NoteHead #'font-series = #'bold
+  <d f g>4
+  \once \override NoteHead #'style = #'cross
+  <d f g>4
+  \applyOutput #'Voice #mc-squared
+  <d f g>4
+  <<
+    { d8[ es-( fis^^ g] fis2-) }
+    \repeat unfold 5 { \applyOutput #'Voice #mc-squared s8 }
+  >>
 }
 @end lilypond
 
index 098454aad0f80a320f6e10d83c73b855785d7651..60338da0b8cc7587552fe19b8e160a3d6f5c557d 100644 (file)
@@ -595,11 +595,6 @@ explizit angegeben ist.
 Streckt Musikfragmente mit nur einer Notenzeile auf die volle Breite,
 es wird also @code{ragged-right = ##f} in das Musikfragment eingefügt.
 
-@c does this option still exist in lilypond? -jm
-@item packed
-Erzeugt Notenzeilen mit möglichst engem Notenabstand, es wird also 
-@code{packed = ##t} in das Musikfragment eingefügt.
-
 @item line-width
 @itemx line-width=@var{Breite}\@var{Einheit}
 Setzt die Breite der Notenzeilen auf @var{Breite}, gemessen in Vielfachen
index f0987d453474bde793c5e0b5542b3011b56e714e..261ae0561ba3f794b4816173ef46e345884d4c48 100644 (file)
@@ -453,15 +453,20 @@ Abschnitt im englischen Benutzerhandbuch.
 
 @ifhtml
 
+@ifset bigpage
+@macro untranslated
+@end macro
+@end ifset
+
+@ifclear bigpage
 @macro untranslated
 UNTRANSLATED NODE: IGNORE ME
 @end macro
+@end ifclear
 
 @end ifhtml
 
 @ifnothtml
-
 @macro untranslated
 @end macro
-
 @end ifnothtml
index 548217e511d1034c022d90d54a51e88190749184..4a3d585310f203d490feb738352b4d5fe0551b26 100644 (file)
@@ -1,5 +1,4 @@
 ISOLANG = es
 depth = ../../..
 LOCALSTEPMAKE_TEMPLATES = lilypond ly doc-i18n-user
-BIG_PAGE_MANUALS = lilypond-learning lilypond lilypond-program
 include $(depth)/make/stepmake.make
index 108d398e47623b9d78b736639046929b86d37cef..035adcfc2f72eb01a4329a160c922a127140d20f 100644 (file)
@@ -966,7 +966,7 @@ propiedades relevantes de los contextos y de los objetos gráficos, de
 forma que pueda inmediatamente comenzar a escribir el canto en sí,
 como lo demuestra el siguiente fragmento:
 
-@lilypond[quote,ragged-right,packed,verbatim]
+@lilypond[quote,ragged-right,verbatim]
 \include "gregorian.ly"
 \score {
   <<
index 601c5b22caa57de9877d9da3bfca527e030189a0..a58ae107862744d4a74dcb6ba8a579a110f95eb9 100644 (file)
@@ -378,34 +378,33 @@ altera durante el transcurso del fragmento musical.
          (pos (ly:grob-property grob 'staff-position)))
     (if (memq 'note-head-interface interfaces)
         (begin
-          (ly:grob-set-property! grob 'stencil ly:text-interface::print)
-          (ly:grob-set-property! grob 'font-family 'roman)
-          (ly:grob-set-property! grob 'text
-            (make-raise-markup -0.5
-              (case pos
-                ((-5) (make-simple-markup "m"))
-                ((-3) (make-simple-markup "c "))
-                ((-2) (make-smaller-markup (make-bold-markup "2")))
-                (else (make-simple-markup "bla")))))))))
+          (ly:grob-set-property! grob 'stencil
+            (grob-interpret-markup grob
+              (make-lower-markup 0.5
+                (case pos
+                  ((-5) "m")
+                  ((-3) "c ")
+                  ((-2) (make-smaller-markup (make-bold-markup "2")))
+                  (else "bla")))))))))
 
 \new Voice \relative c' {
-   \stemUp
-   \set autoBeaming = ##f
-   \time 2/4
-   <d f g>4
-   \once \override NoteHead #'stencil = #ly:note-head::brew-ez-stencil
-   \once \override NoteHead #'font-size = #-7
-   \once \override NoteHead #'font-family = #'sans
-   \once \override NoteHead #'font-series = #'bold
-   <d f g>
-   \once \override NoteHead #'style = #'cross
-   <d f g>
-   \applyOutput #'Voice #mc-squared
-   <d f g>
-   <<
-      { d8[ es-( fis^^ g] fis2-) }
-      \repeat unfold 5 { \applyOutput #'Voice #mc-squared s8 }
-   >>
+  \stemUp
+  \set autoBeaming = ##f
+  \time 2/4
+  <d f g>4
+  \once \override NoteHead #'stencil = #ly:note-head::brew-ez-stencil
+  \once \override NoteHead #'font-size = #-7
+  \once \override NoteHead #'font-family = #'sans
+  \once \override NoteHead #'font-series = #'bold
+  <d f g>4
+  \once \override NoteHead #'style = #'cross
+  <d f g>4
+  \applyOutput #'Voice #mc-squared
+  <d f g>4
+  <<
+    { d8[ es-( fis^^ g] fis2-) }
+    \repeat unfold 5 { \applyOutput #'Voice #mc-squared s8 }
+  >>
 }
 @end lilypond
 
index 6b95fd7586a2ccc08687edcbc61305368bfbbef1..6a5a008ef350d1fc0cfe81c90bbb552b3e015f33 100644 (file)
@@ -595,11 +595,6 @@ Para fragmentos de una sola línea, permitir que la longitud del
 pentagrama se amplíe hasta igualar la anchura de la línea, es decir,
 se añade @code{ragged-right = ##f} al fragmento de LilyPond.
 
-@c does this option still exist in lilypond? -jm
-@item packed
-Producir líneas con el espaciado empaquetado, es decir, se añade
-@code{packed = ##t} al fragmento de código de LilyPond.
-
 @item line-width
 @itemx line-width=@var{tamaño}\@var{unidades}
 Establecer el ancho de línea como @var{tamaño}, utilizando
index 2cc5eb36a0e6e57fa0efba32d27f3250b10e66c9..e61b9014635709c3ce94a9186345c0cda01cf6ed 100644 (file)
@@ -429,9 +429,16 @@ Esta sección aún no está traducida; consulte el manual en inglés.
 
 @ifhtml
 
+@ifset bigpage
+@macro untranslated
+@end macro
+@end ifset
+
+@ifclear bigpage
 @macro untranslated
 UNTRANSLATED NODE: IGNORE ME
 @end macro
+@end ifclear
 
 @end ifhtml
 
index f118e106a3600fc2b89fea4f06b05192c63a149b..f01889be69699dffd5c701204df83a71afed8892 100644 (file)
@@ -36,8 +36,8 @@
            <li>
              <a class="title"
                 href="user/lilypond-learning/index.fr.html">Manuel d'initiation</a>
-             (partiellement traduit,<br>aussi en <a class="title" href="user/lilypond-learning-big-page.html">page
-             unique en anglais</a> ~ 1,5 Mo, ou
+             (partiellement traduit,<br>aussi en <a class="title" href="user/lilypond-learning-big-page.fr.html">page
+             unique</a> ~ 1,5 Mo, ou
              <a class="title" href="user/lilypond-learning.fr.pdf">au format PDF</a>)
               <br>&mdash; commencer ici</li>
            <li><a class="title" href="user/music-glossary/index.html">Glossaire</a>
            <li>
              <a class="title" href="user/lilypond/index.fr.html">Manuel de notation</a>
              (partiellement traduit,<br>aussi en <a class="title"
-                               href="user/lilypond-big-page.html">page unique
-               en anglais</a> ~ 4 Mo, ou
+                               href="user/lilypond-big-page.fr.html">page unique</a> ~ 4 Mo, ou
                <a class="title" href="user/lilypond.fr.pdf">au format PDF</a>)
                 <br>&mdash; gravure de musique avec LilyPond</li>
            <li>
              <a  class="title" href="user/lilypond-internals/index.html">Référence des propriétés internes</a>
-             <br>(en anglais, en <a class="title" href="user/lilypond-internals-big-page.html">page
+             <br>(en anglais, aussi en <a class="title" href="user/lilypond-internals-big-page.html">page
                unique</a> ~ 1 Mo, <a class="title"
                href="user/lilypond-internals.pdf">au format PDF</a>)
               <br>&mdash; définitions pour les retouches</li>
             <li>
            <a class="title" href="user/lilypond-program/index.fr.html">Utilisation des programmes</a>
 (partiellement traduit,<br>aussi en <a class="title"
-               href="user/lilypond-program-big-page.html">page unique en anglais</a>, ou
+               href="user/lilypond-program-big-page.fr.html">page unique</a>, ou
            <a class="title" href="user/lilypond-program.fr.pdf">au format PDF</a>)
             <br>&mdash; installation et exécution des programmes</li>
            <li><a class="title" href="../input/lsr/lilypond-snippets/index.html">Exemples de code</a>
-(en <a class="title" href="../input/lsr/lilypond-snippets-big-page.html">page unique en anglais</a> ~ 2 Mo,
+(en anglais, aussi en <a class="title" href="../input/lsr/lilypond-snippets-big-page.html">page unique</a> ~ 2 Mo,
 au format <a class="title" href="user/lilypond-snippets.pdf">PDF</a>)
             <br>&mdash; petits trucs, astuces et exemples</li>
          </ul>
index d461565dfdbcb4801ba6d382ecff51e92a847222..b7c2fb747941d3740c8dbee316ee365c17a2e38d 100644 (file)
@@ -1992,7 +1992,7 @@ les propriétés de tous les autres contextes et objets graphiques Ã  des
 valeurs adéquates, de telle sorte que vous pouvez tout de suite vous
 lancer dans la saisie de votre chant, comme ci-dessous :
 
-@lilypond[quote,ragged-right,packed,verbatim]
+@lilypond[quote,ragged-right,verbatim]
 \include "gregorian.ly"
 \score {
   <<
index 00eb1f1bfd5f97d35cc14fc88676523590d21678..a884a833dff4d7e865100b6b41a09154486b4527 100644 (file)
@@ -382,34 +382,33 @@ musique.
          (pos (ly:grob-property grob 'staff-position)))
     (if (memq 'note-head-interface interfaces)
         (begin
-          (ly:grob-set-property! grob 'stencil ly:text-interface::print)
-          (ly:grob-set-property! grob 'font-family 'roman)
-          (ly:grob-set-property! grob 'text
-            (make-raise-markup -0.5
-              (case pos
-                ((-5) (make-simple-markup "m"))
-                ((-3) (make-simple-markup "c "))
-                ((-2) (make-smaller-markup (make-bold-markup "2")))
-                (else (make-simple-markup "bla")))))))))
+          (ly:grob-set-property! grob 'stencil
+            (grob-interpret-markup grob
+              (make-lower-markup 0.5
+                (case pos
+                  ((-5) "m")
+                  ((-3) "c ")
+                  ((-2) (make-smaller-markup (make-bold-markup "2")))
+                  (else "bla")))))))))
 
 \new Voice \relative c' {
-   \stemUp
-   \set autoBeaming = ##f
-   \time 2/4
-   <d f g>4
-   \once \override NoteHead #'stencil = #ly:note-head::brew-ez-stencil
-   \once \override NoteHead #'font-size = #-7
-   \once \override NoteHead #'font-family = #'sans
-   \once \override NoteHead #'font-series = #'bold
-   <d f g>
-   \once \override NoteHead #'style = #'cross
-   <d f g>
-   \applyOutput #'Voice #mc-squared
-   <d f g>
-   <<
-      { d8[ es-( fis^^ g] fis2-) }
-      \repeat unfold 5 { \applyOutput #'Voice #mc-squared s8 }
-   >>
+  \stemUp
+  \set autoBeaming = ##f
+  \time 2/4
+  <d f g>4
+  \once \override NoteHead #'stencil = #ly:note-head::brew-ez-stencil
+  \once \override NoteHead #'font-size = #-7
+  \once \override NoteHead #'font-family = #'sans
+  \once \override NoteHead #'font-series = #'bold
+  <d f g>4
+  \once \override NoteHead #'style = #'cross
+  <d f g>4
+  \applyOutput #'Voice #mc-squared
+  <d f g>4
+  <<
+    { d8[ es-( fis^^ g] fis2-) }
+    \repeat unfold 5 { \applyOutput #'Voice #mc-squared s8 }
+  >>
 }
 @end lilypond
 
index 11aa1fbe42efda83c696167690db87f3f15e144c..ce01f63c3b3bf013186fdcaf552e0d74756ddde1 100644 (file)
@@ -447,9 +447,16 @@ vous reporter Ã  la documentation correspondante en anglais.
 
 @ifhtml
 
+@ifset bigpage
+@macro untranslated
+@end macro
+@end ifset
+
+@ifclear bigpage
 @macro untranslated
 UNTRANSLATED NODE: IGNORE ME
 @end macro
+@end ifclear
 
 @end ifhtml
 
index 6ade2a71ee599674fda2d170663180cfff7b47b2..56960581c915d42062e857ee48c5dd1f819d2c27 100644 (file)
@@ -969,7 +969,7 @@ initialize all relevant context properties and grob properties to
 proper values, so you can immediately go ahead entering the chant, as
 the following excerpt demonstrates:
 
-@lilypond[quote,ragged-right,packed,verbatim]
+@lilypond[quote,ragged-right,verbatim]
 \include "gregorian.ly"
 \score {
   <<
index 3840c2f65795cca11722d7a6d44841587cda5d9c..97b3f09b1d78029b94a0b62bbab589c872f39fa6 100644 (file)
@@ -361,34 +361,33 @@ changed during the music fragment.
          (pos (ly:grob-property grob 'staff-position)))
     (if (memq 'note-head-interface interfaces)
         (begin
-          (ly:grob-set-property! grob 'stencil ly:text-interface::print)
-          (ly:grob-set-property! grob 'font-family 'roman)
-          (ly:grob-set-property! grob 'text
-            (make-raise-markup -0.5
-              (case pos
-                ((-5) (make-simple-markup "m"))
-                ((-3) (make-simple-markup "c "))
-                ((-2) (make-smaller-markup (make-bold-markup "2")))
-                (else (make-simple-markup "bla")))))))))
+          (ly:grob-set-property! grob 'stencil
+            (grob-interpret-markup grob
+              (make-lower-markup 0.5
+                (case pos
+                  ((-5) "m")
+                  ((-3) "c ")
+                  ((-2) (make-smaller-markup (make-bold-markup "2")))
+                  (else "bla")))))))))
 
 \new Voice \relative c' {
-   \stemUp
-   \set autoBeaming = ##f
-   \time 2/4
-   <d f g>4
-   \once \override NoteHead #'stencil = #ly:note-head::brew-ez-stencil
-   \once \override NoteHead #'font-size = #-7
-   \once \override NoteHead #'font-family = #'sans
-   \once \override NoteHead #'font-series = #'bold
-   <d f g>
-   \once \override NoteHead #'style = #'cross
-   <d f g>
-   \applyOutput #'Voice #mc-squared
-   <d f g>
-   <<
-      { d8[ es-( fis^^ g] fis2-) }
-      \repeat unfold 5 { \applyOutput #'Voice #mc-squared s8 }
-   >>
+  \stemUp
+  \set autoBeaming = ##f
+  \time 2/4
+  <d f g>4
+  \once \override NoteHead #'stencil = #ly:note-head::brew-ez-stencil
+  \once \override NoteHead #'font-size = #-7
+  \once \override NoteHead #'font-family = #'sans
+  \once \override NoteHead #'font-series = #'bold
+  <d f g>4
+  \once \override NoteHead #'style = #'cross
+  <d f g>4
+  \applyOutput #'Voice #mc-squared
+  <d f g>4
+  <<
+    { d8[ es-( fis^^ g] fis2-) }
+    \repeat unfold 5 { \applyOutput #'Voice #mc-squared s8 }
+  >>
 }
 @end lilypond
 
index 8d2c16009d0a14831ad3df4bce0f8ec3526bd98f..a9a2282b4b5f50dd52f72a10bbcab211e4e92dd3 100644 (file)
@@ -574,11 +574,6 @@ For single-line snippets, allow the staff length to be stretched to
 equal that of the line width, i.e., @code{ragged-right = ##f} is
 added to the LilyPond snippet.
 
-@c does this option still exist in lilypond? -jm
-@item packed
-Produce lines with packed spacing, i.e., @code{packed = ##t} is added
-to the LilyPond snippet.
-
 @item line-width
 @itemx line-width=@var{size}\@var{unit}
 Set line width to @var{size}, using @var{unit} as units.  @var{unit} is
index 04b1720913aabccb4d070d7cda74cbffb3ec43fa..70d4bcaf8e801f3b0444c968d517e418691095ff 100644 (file)
@@ -316,42 +316,8 @@ requires, are described in @ref{Multi-page markup}.
 
 @snippets
 
-@ignore
-@c TODO Replace following example with this snippet when available
-@c Submitted to LSR 30 Nov 08
 @lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
-{stand--alone-two--column-markup.ly}
-@end ignore
-
-Stand-alone text may be arranged in several columns using @code{\markup}
-commands:
-
-@lilypond[verbatim,quote]
-\markup {
- \fill-line {
-  \hspace #1.0
-  \column {
-   \line {"O sacrum convivium" }
-   \line {"in quo Christus sumitur," }
-   \line {"recolitur memoria passionis ejus," }
-   \line {"mens impletur gratia," }
-   \line {"futurae gloriae nobis pignus datur." }
-   \line {"Amen."}
-  }
-  \hspace #2
-  \column {
-   \line { \italic {"O sacred feast"} }
-   \line { \italic {"in which Christ is received,"} }
-   \line { \italic {"the memory of His Passion is renewed,"} }
-   \line { \italic {"the mind is filled with grace," } }
-   \line { \italic {"and a pledge of future glory is given to us." }}
-   \line { \italic {"Amen."}}
-  }
-  \hspace #1.0
- }
-}
-@end lilypond
-@seealso
+{stand-alone-two-column-markup.ly}
 
 @seealso
 Notation Reference: @ref{Formatting text},
index a58503b2f2a72e0d2a026de4927a728b3de94054..7f68e263fe211d016cd88f0b3c5569b780a9a3ae 100644 (file)
@@ -1096,9 +1096,6 @@ multiple syllables in another one.  One solution is to make the faster
 voice ignore the melisma.  This is done by setting
 @code{ignoreMelismata} in the Lyrics context.
 
-
-@c  TODO: breaks compile
-@c seems to be fixed, does not break compile anymore --FV
 @lilypond[verbatim,ragged-right,quote]
 <<
   \relative c' \new Voice = "lahlah" {
@@ -1121,6 +1118,11 @@ voice ignore the melisma.  This is done by setting
 >>
 @end lilypond
 
+@knownissues
+Unlike most @code{\set} commands, @code{\set ignoreMelismata} does
+not work if prefixed with @code{\once}.  It is necessary to use
+@code{\set} and @code{\unset} to bracket the lyrics where melismata
+are to be ignored.
 
 @subsubheading Switching to an alternative melody
 
diff --git a/ROADMAP b/ROADMAP
index 59a4fbecbd2c0b2d612a2665a4c133b7b3da226d..4ec2eec4bd5e19185fc4bef1c29e94e059a59637 100644 (file)
--- a/ROADMAP
+++ b/ROADMAP
@@ -9,42 +9,40 @@ LilyPond development is hosted at:
 Here is a simple explanation of the directory layout for LilyPond's
 source files.
 
-   .                   Toplevel READMEs, ChangeLog, build bootstrapping,
-                       patches for third party programs
+   .                    Toplevel READMEs, ChangeLog, build bootstrapping,
+                          patches for third party programs
    Documentation/
-       bibliography/   .bib files with references to books and articles
-       misc/           Old announcements, ChangeLogs and NEWS
-       pictures/       The logo
-       topdocs/                Sources for the toplevel READMEs
-                       (README.txt, INSTALL.txt, NEWS.txt etc.)
-       user/           User manuals
-       po/              translated manual node names
-       fr/ es/ de/      docs translated to French, Spanish, German resp.
-   buildscripts/       Scripts for the build process
-   elisp/              Emacs LilyPond mode and syntax coloring
-   flower/             A simple c++ library
-       include/
-   input/              Music input examples
-       lsr/         Snippets from the LilyPond Snippet Repository
-                    (auto-generated, do not modify!)
-       manual/      Examples from the manual
-       mutopia/                Real music, more at www.mutopiaproject.org
-       new/         Snippets which are too new for LSR
-       regression/     Testing of features, one test per file
-       texidocs/    Translations of texidoc and doctitle fields
-                    (for input/lsr)
-       tutorial/       Examples from the tutorial 
-   lily/               C++ sources for LilyPond (lilypond-bin)
-     include/
-   ly/                 System music include files
-   make/               Specific make subroutines and packaging for
-                       Red Hat-like distributions (.spec files)
-   mf/                 MetaFont sources for the feta font
-   po/                 Translations
-   ps/                 PostScript library files
-   python/             Python modules, MIDI module
-   scm/                        Scheme sources for LilyPond and subroutine files
-   scripts/            End-user scripts
-   stepmake/           Generic make subroutine files
-   tex/                        TeX library files
-   vim/                        Vi(M) LilyPond mode and syntax coloring
+       bibliography/    .bib files with references to books and articles
+       misc/            Old announcements, ChangeLogs and NEWS
+       pictures/        The logo
+       topdocs/         Sources for the toplevel READMEs
+                          (README.txt, INSTALL.txt, NEWS.txt etc.)
+       user/            User manuals
+       po/              Translated manual node names
+       fr/ es/ de/      Docs translated to French, Spanish, German, resp.
+   buildscripts/        Scripts for the build process
+   elisp/               Emacs LilyPond mode and syntax coloring
+   flower/              A simple C++ library
+   input/               Music input examples
+       lsr/             Snippets from the LilyPond Snippet Repository
+                          (auto-generated, do not modify!)
+       manual/          Examples from the manual
+       mutopia/         Real music, more at www.mutopiaproject.org
+       new/             Snippets which are too new for LSR
+       regression/      Testing of features, one test per file
+       texidocs/        Translations of texidoc and doctitle fields
+                          (for input/lsr)
+       tutorial/        Examples from the tutorial 
+   lily/                C++ sources for the LilyPond binary
+   ly/                  System music include files
+   make/                Specific make subroutines and packaging for
+                          Red Hat-like distributions (.spec files)
+   mf/                  MetaFont sources for the Emmentaler and Aybabtu fonts
+   po/                  Translations for binaries and end-user scripts
+   ps/                  PostScript library files
+   python/              Python modules, MIDI module
+   scm/                 Scheme sources for LilyPond and subroutine files
+   scripts/             End-user scripts
+   stepmake/            Generic make subroutine files
+   tex/                 TeX and texinfo library files
+   vim/                 Vi(M) LilyPond mode and syntax coloring
diff --git a/THANKS b/THANKS
index 571d525001247beac5556351ae5aac8ea5ed5bf3..e77c4780d472951f54f183fab4419cc24e313854 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -28,7 +28,7 @@ GRAND DOCUMENTATION PROJECT
 
 Trevor Daniels     - Assistant Documentation Editor
 Andrew Hawryluk    - NR work
-Carl Sorenseon     - NR work
+Carl Sorense     - NR work
 Eyolf Ã˜strem       - NR work
 Francisco Vila     - NR work
 Jay Hamilton       - NR work
@@ -36,7 +36,7 @@ Jonathan Kulp      - NR work
 Joseph Harfouch    - NR work
 Patrick McCarty    - NR work
 Ralph Palmer       - NR work
-Till Retting       - NR work
+Till Retti       - NR work
 Kurt Kroon         - Glossary Updates, NR work
 Alard de Boer      - Formatting
 Michael Rasmussen  - Formatting
@@ -79,6 +79,7 @@ Christian Herzberg
 David Bobroff
 David Griffel
 Damien Heurtebise
+Daniel Hulme
 Daniel Johnson
 Dominic Neumann
 Eduardo Vieira
@@ -86,7 +87,7 @@ Frédéric Chiasson
 Georg Dummer
 Georg Romstorfer
 Gilles Thibault
-Hernán J. González 
+Hernán J. González
 Hu Haipeng
 Jay Anderson
 James Kilfinger
@@ -95,9 +96,10 @@ Jean-Yves Baudais
 Jesús Guillermo Andrade
 Jonathan Henkelman
 Kazuhiro Suzuki
+Kevin Dalley
 Laura Conrad
 Luc Wehli
-Maarten Hijzelendoorn 
+Maarten Hijzelendoorn
 Marc Lanoiselée
 Mark Polesky
 Matthijs Frankeno
index 6920e50d2232ae679234b40ddbefb66f266ad89d..ccfe6937c0316ec354e2116239475338951a719d 100644 (file)
@@ -83,9 +83,10 @@ def texi2html_title_gettext (m):
     return '<title>' + _ (m.group (1)) + double_punct_char_separator + ': ' \
         + m.group (2) + _ (m.group (3)) + '</title>'
 
-a_href_re = re.compile ('(?s)<a (?P<attributes>[^>]*?href="[\\w.#-_]+"[^>]*>)(?P<code><code>)?\
-(?P<appendix>Appendix )?(?P<leading>[A-Z0-9.]+ | (?:&lt;){1,2} |&nbsp;[^:]+?:&nbsp;|&nbsp;|)\
-(?P<name>.+?)(?P<end_code>(?(code)</code>|))(?P<trailing>| (?:&gt;){1,2} |&nbsp;|)</a>:?')
+a_href_re = re.compile ('(?s)<a (?P<attributes>[^>]*?href="[\\w.#-_]+"[^>]*?>)(?P<code><code>)?\
+(?P<appendix>Appendix )?(?P<leading>[A-Z0-9.]+ | (?:&lt;){1,2} |&nbsp;[^>:]+?:&nbsp;|&nbsp;|)\
+(?P<name>(?:<samp><span class="command">|</?code>|</span>|[^>])+?)(?P<end_code>(?(code)</code>|))\
+(?P<trailing> (?:&gt;){1,2} |&nbsp;|)</a>:?')
 
 def a_href_gettext (m):
     s = ''
index 3431ef50c565e2a5928139a95858d2c826468bdb..1afbc794f7ebb73466348e20f70fa008c6d2c160 100644 (file)
@@ -5,6 +5,17 @@
 \header {
   lsrtags = "rhythms, editorial-annotations, chords, tweaks-and-overrides"
 
+  texidoces = "
+Las digitaciones y los números de cuerda aplicados a notas
+individuales evitan a las barras automáticamente, pero de forma
+predeterminada esto no es cierto para las digitaciones y números
+de cuerda que se aplican a notas concretas de acordes.  El ejemplo
+siguiente muestra cómo se puede sobreescribir este comportamiento
+predeterminado:
+
+"
+  doctitlees = "Evitar colisiones entre digitaciones de acordes y barras de corchea"
+
   texidoc = "
 Fingerings and string numbers applied to individual notes will
 automatically avoid beams, but this is not true by default for
index 03ec213e2b66d788b48025e78a5f3eb41d7771c2..682304df15c88852c01c648374c7b56517f73cc8 100644 (file)
@@ -1,10 +1,8 @@
-%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% Do not edit this file; it is auto-generated from input/new
 %% This file is in the public domain.
 \version "2.11.64"
 
 \header {
-  lsrtags = "expressive-marks, text"
-
   texidoces = "
 Este ejemplo proporciona una función para tipografiar un regulador
 con texto por debajo, como \"molto\" o \"poco\". El ejemplo
@@ -14,26 +12,28 @@ normalmente un objeto, utilizando código de Scheme.
 "
   doctitlees = "Centrar texto debajo de un regulador"
 
+  lsrtags = "expressive-marks, text"
+
   texidoc = "
 This example provides a function to typeset a hairpin (de)crescendo
 with some additional text below it, such as \"molto\" or \"poco\". The
 example also illustrates how to modify the way an object is normally
-printed, using some Scheme code.  
-
+printed, using some Scheme code.
 "
   doctitle = "Center text below hairpin dynamics"
 } % begin verbatim
 
-hairpinWithCenteredText = #(define-music-function (parser location text) (markup?)
+
+hairpinWithCenteredText =
+#(define-music-function (parser location text) (markup?)
 #{
   \override Voice.Hairpin #'stencil = #(lambda (grob)
-  (ly:stencil-aligned-to
-   (ly:stencil-combine-at-edge
-    (ly:stencil-aligned-to (ly:hairpin::print grob) X CENTER)
-    Y DOWN
-    (ly:stencil-aligned-to (ly:text-interface::print grob) X CENTER))
-   X LEFT))
-  \override Voice.Hairpin #'text = $text
+    (ly:stencil-aligned-to
+     (ly:stencil-combine-at-edge
+      (ly:stencil-aligned-to (ly:hairpin::print grob) X CENTER)
+      Y DOWN
+      (ly:stencil-aligned-to (grob-interpret-markup grob $text) X CENTER))
+     X LEFT))
 #})
 
 hairpinMolto = \hairpinWithCenteredText \markup { \italic molto }
index f1d52a3bfcedbaaccb212858f58385b68b8110c2..202c906c931bc141c67bf26a5f2174221772efd8 100644 (file)
@@ -1,4 +1,4 @@
-%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% Do not edit this file; it is auto-generated from input/new
 %% This file is in the public domain.
 \version "2.11.64"
 
@@ -7,36 +7,31 @@
 
   texidoc = "
 The @code{\\applyOutput} command allows the tuning of any layout
-object, in any context. It requires a Scheme function with three
-arguments.
+object, in any context.  It requires a Scheme function with three
+arguments."
 
-"
   doctitle = "Changing properties for individual grobs"
 } % begin verbatim
 
-\layout {
-  ragged-right = ##t
-}
 
 #(define (mc-squared grob grob-origin context)
   (let*
-   (
-     (ifs (ly:grob-interfaces grob))
-     (sp (ly:grob-property grob 'staff-position))
-   )
-   (if (memq 'note-head-interface ifs)
-    (begin
-     (ly:grob-set-property! grob 'stencil ly:text-interface::print)
-     (ly:grob-set-property! grob 'font-family 'roman)
-     (ly:grob-set-property! grob 'text
-      (make-raise-markup -0.5
-       (case sp
-       ((-5) (make-simple-markup "m"))
-       ((-3) (make-simple-markup "c "))
-       ((-2) (make-smaller-markup (make-bold-markup "2")))
-       (else (make-simple-markup "bla"))
-      ))))
-  )))
+    (
+      (ifs (ly:grob-interfaces grob))
+      (sp (ly:grob-property grob 'staff-position))
+    )
+    (if (memq 'note-head-interface ifs)
+      (begin
+        (ly:grob-set-property! grob 'stencil
+          (grob-interpret-markup grob
+            (make-lower-markup 0.5
+              (case sp
+                ((-5) "m")
+                ((-3) "c ")
+                ((-2) (make-smaller-markup (make-bold-markup "2")))
+                (else "bla")
+                ))))
+        ))))
 
 \relative c' {
   <d f g b>2
index 81247d32db0a0812c4af34b3d03e524a120a8e22..4adb6c9dab5f0bfce5ac8ba602f1cdb3004350fc 100644 (file)
@@ -1,10 +1,8 @@
-%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% Do not edit this file; it is auto-generated from input/new
 %% This file is in the public domain.
 \version "2.11.64"
 
 \header {
-  lsrtags = "rhythms"
-
  doctitlees = "Indicaciones de compases compuestos"
  texidoces = "
 Las indicaciones de compás poco frecuentes como \"5/8\" se pueden
@@ -29,6 +27,7 @@ Bebalkung angepasst wird.
 "
   doctitlede = "Zusammengesetzte Taktarten"
 
+  lsrtags = "rhythms"
   texidoc = "
 Odd 20th century time signatures (such as \"5/8\") can often be played
 as compound time signatures (e.g. \"3/8 + 2/8\"), which combine two or
@@ -42,14 +41,18 @@ database.)
   doctitle = "Compound time signatures"
 } % begin verbatim
 
-#(define (compound-time one two num)
-  (markup #:override '(baseline-skip . 0) #:number
-   (#:line ((#:column (one num)) #:vcenter "+" (#:column (two num))))
-  ))
 
-\relative {  
-  \override Staff.TimeSignature #'stencil = #ly:text-interface::print
-  \override Staff.TimeSignature #'text = #(compound-time "2" "3" "8")
+#(define ((compound-time one two num) grob)
+  (grob-interpret-markup grob
+    (markup #:override '(baseline-skip . 0) #:number
+      (#:line (
+          (#:column (one num))
+          #:vcenter "+"
+          (#:column (two num))))
+      )))
+
+\relative c' {
+  \override Staff.TimeSignature #'stencil = #(compound-time "2" "3" "8")
   \time 5/8
   #(override-auto-beam-setting '(end 1 8 5 8) 1 4)
   c8 d e fis gis
index 55372b31d70790f45ae4814bca980e70848c080c..c3d9f7cb39ef7a1087c1738916260afc5ddbe4ad 100644 (file)
@@ -1,4 +1,4 @@
-%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% Do not edit this file; it is auto-generated from input/new
 %% This file is in the public domain.
 \version "2.11.64"
 
@@ -14,16 +14,19 @@ appropriate glyph.
   doctitle = "Flute slap notation"
 } % begin verbatim
 
+
 slap =
 #(define-music-function (parser location music) (ly:music?)
-#{\override NoteHead #'stencil = #ly:text-interface::print
-  \override NoteHead #'text = \markup \musicglyph #"scripts.sforzato"
-  \override NoteHead #'extra-offset = #'(0.1 . 0.0 )
+#{
+  \override NoteHead #'stencil = #(lambda (grob)
+    (grob-interpret-markup grob
+      (markup #:musicglyph "scripts.sforzato")))
+  \override NoteHead #'extra-offset = #'(0.1 . 0.0)
   $music
   \revert NoteHead #'stencil
-  \revert NoteHead #'text
-  \revert NoteHead #'extra-offset #})
+  \revert NoteHead #'extra-offset
+#})
 
 \relative c' {
-  c \slap c d r \slap { g a } b r
+  c4 \slap c d r \slap { g a } b r
 }
index 177fcc01c8c9ee8c2d66bcb5e6c271c4714b6009..172e71a07b4f45c7ea6aafc2048b016fa0847fdf 100644 (file)
@@ -1,4 +1,4 @@
-%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% Do not edit this file; it is auto-generated from input/new
 %% This file is in the public domain.
 \version "2.11.64"
 
@@ -14,37 +14,33 @@ is the template of a real Balkan song!).
   doctitle = "Heavily customized polymetric time signatures"
 } % begin verbatim
 
-#(define (set-time-signature one two three four five six seven eight nine ten
-          eleven num)
-          (markup #:override '(baseline-skip . 0) #:number
-          (#:line ((#:column (one num)) #:vcenter "+" (#:column (two num))
-          #:vcenter "+" (#:column (three num)) #:vcenter "+" (#:column (four num))
-          #:vcenter "+" (#:column (five num)) #:vcenter "+" (#:column (six num))
-          #:vcenter "+" (#:column (seven num)) #:vcenter "+" (#:column (eight num))
-          #:vcenter "+" (#:column (nine num)) #:vcenter "+" (#:column (ten num))
-          #:vcenter "+" (#:column (eleven num))))
-          ))
 
+#(define plus (markup #:vcenter "+"))
+#(define ((custom-time-signature one two three four five six
+           seven eight nine ten eleven num) grob)
+            (grob-interpret-markup grob
+              (markup #:override '(baseline-skip . 0) #:number
+                (#:line (
+                    (#:column (one num)) plus
+                    (#:column (two num)) plus
+                    (#:column (three num)) plus
+                    (#:column (four num)) plus
+                    (#:column (five num)) plus
+                    (#:column (six num)) plus
+                    (#:column (seven num)) plus
+                    (#:column (eight num)) plus
+                    (#:column (nine num)) plus
+                    (#:column (ten num)) plus
+                    (#:column (eleven num))))
+                )))
 
 melody = \relative c'' {
   \set Staff.instrumentName = #"Bb Sop."
   \key g \major
-  \time 25/8
-  \override Staff.TimeSignature #'stencil = #ly:text-interface::print
-  \override Staff.TimeSignature #'text = #(set-time-signature "3" "2" "2" "3"
-    "2" "2" "2" "2" "3" "2" "2" "8" )
-  \set Staff.beatGrouping = #'(3 2 2 3 2 2 2 2 3 2 2)
-  #(override-auto-beam-setting '(end * * 25 8) 3 8)
-  #(override-auto-beam-setting '(end * * 25 8) 5 8)
-  #(override-auto-beam-setting '(end * * 25 8) 7 8)
-  #(override-auto-beam-setting '(end * * 25 8) 10 8)
-  #(override-auto-beam-setting '(end * * 25 8) 12 8)
-  #(override-auto-beam-setting '(end * * 25 8) 14 8)
-  #(override-auto-beam-setting '(end * * 25 8) 16 8)
-  #(override-auto-beam-setting '(end * * 25 8) 18 8)
-  #(override-auto-beam-setting '(end * * 25 8) 21 8)
-  #(override-auto-beam-setting '(end * * 25 8) 23 8)
-
+  #(set-time-signature 25 8 '(3 2 2 3 2 2 2 2 3 2 2))
+  \override Staff.TimeSignature #'stencil =
+    #(custom-time-signature "3" "2" "2" "3" "2" "2"
+      "2" "2" "3" "2" "2" "8")
   c8 c c d4 c8 c b c b a4 g fis8 e d c b' c d e4-^ fis8 g \break
   c,4. d4 c4 d4. c4 d c2 d4. e4-^ d4
   c4. d4 c4 d4. c4 d c2 d4. e4-^ d4 \break
index d47dc63f570c3567f8ad1bea4329e0966062b443..2a5f9792f69b99439409458f04a769d667d25632 100644 (file)
@@ -63,7 +63,8 @@ format of this command is a list:
 @code{octave} specifies the octave (0 being the octave from middle C to
 the B above), @code{step} specifies the note within the octave (0 means
 C and 6 means B), and @code{alter} is @code{,SHARP ,FLAT ,DOUBLE-SHARP}
-etc. (Note the leading comma.)
+etc. (Note the leading comma.) The accidentals in the key signature
+will appear in the reverse order to that in which they are specified.
 
 
 Alternatively, for each item in the list, using the more concise format
index 0164ffbcc9b89d00b437f0b19745f319ca776f8c..5d37957d7cd2db79c297e887ddacb74b97bf836c 100644 (file)
@@ -33,16 +33,16 @@ Rests may be used in various styles.
   }
 }
 
-\relative c {
-  \set Score.timing = ##f
+\new Staff \relative c {
+  \cadenzaOn
   \override Staff.Rest #'style = #'mensural
   r\maxima^\markup \typewriter { mensural }
-  r\longa r\breve r1 r2 r4 r8 r16 r32 r64 s128 s128
+  r\longa r\breve r1 r2 r4 r8 r16 s32 s64 s128 s128
   \bar ""
   
   \override Staff.Rest #'style = #'neomensural
   r\maxima^\markup \typewriter { neomensural }
-  r\longa r\breve r1 r2 r4 r8 r16 r32 r64 s128 s128
+  r\longa r\breve r1 r2 r4 r8 r16 s32 s64 s128 s128
   \bar ""
   
   \override Staff.Rest #'style = #'classical
diff --git a/input/lsr/stand-alone-two-column-markup.ly b/input/lsr/stand-alone-two-column-markup.ly
new file mode 100644 (file)
index 0000000..c53c28a
--- /dev/null
@@ -0,0 +1,39 @@
+%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
+%% This file is in the public domain.
+\version "2.11.64"
+
+\header {
+  lsrtags = "text"
+
+  texidoc = "
+Stand-alone text may be arranged in several columns using
+@code{\\markup} commands:
+
+"
+  doctitle = "Stand-alone two-column markup"
+} % begin verbatim
+
+\markup {
+ \fill-line {
+  \hspace #1.0
+  \column {
+   \line {"O sacrum convivium" }
+   \line {"in quo Christus sumitur," }
+   \line {"recolitur memoria passionis ejus," }
+   \line {"mens impletur gratia," }
+   \line {"futurae gloriae nobis pignus datur." }
+   \line {"Amen."}
+  }
+  \hspace #2
+  \column {
+   \line { \italic {"O sacred feast"} }
+   \line { \italic {"in which Christ is received,"} }
+   \line { \italic {"the memory of His Passion is renewed,"} }
+   \line { \italic {"the mind is filled with grace," } }
+   \line { \italic {"and a pledge of future glory is given to us." }}
+   \line { \italic {"Amen."}}
+  }
+  \hspace #1.0
+ }
+}
+
index 274bdb9e89d991ce07ab5295569192f1a531f324..748af521de6401ec7161a61663f7adc03d50b451 100644 (file)
@@ -21,6 +21,7 @@ outputting-the-version-number.ly
 piano-template-with-centered-lyrics.ly
 printing-marks-at-the-end-of-a-line-or-a-score.ly
 printing-marks-on-every-staff.ly
+stand-alone-two-column-markup.ly
 three-sided-box.ly
 utf-8.ly
 vocal-ensemble-template-with-lyrics-aligned-below-and-above-the-staves.ly
diff --git a/input/new/center-text-below-hairpin-dynamics.ly b/input/new/center-text-below-hairpin-dynamics.ly
new file mode 100644 (file)
index 0000000..eae6943
--- /dev/null
@@ -0,0 +1,35 @@
+\version "2.11.64"
+
+\header {
+  lsrtags = "expressive-marks, text"
+
+  texidoc = "
+This example provides a function to typeset a hairpin (de)crescendo
+with some additional text below it, such as \"molto\" or \"poco\". The
+example also illustrates how to modify the way an object is normally
+printed, using some Scheme code.
+"
+  doctitle = "Center text below hairpin dynamics"
+}
+
+hairpinWithCenteredText =
+#(define-music-function (parser location text) (markup?)
+#{
+  \override Voice.Hairpin #'stencil = #(lambda (grob)
+    (ly:stencil-aligned-to
+     (ly:stencil-combine-at-edge
+      (ly:stencil-aligned-to (ly:hairpin::print grob) X CENTER)
+      Y DOWN
+      (ly:stencil-aligned-to (grob-interpret-markup grob $text) X CENTER))
+     X LEFT))
+#})
+
+hairpinMolto = \hairpinWithCenteredText \markup { \italic molto }
+hairpinMore = \hairpinWithCenteredText \markup { \larger moltissimo }
+
+\layout { ragged-right = ##f }
+
+{
+  \hairpinMolto c'2\< c'\f
+  \hairpinMore  c'2\< c'\f
+}
diff --git a/input/new/changing-properties-for-individual-grobs.ly b/input/new/changing-properties-for-individual-grobs.ly
new file mode 100644 (file)
index 0000000..416e552
--- /dev/null
@@ -0,0 +1,37 @@
+\version "2.11.64"
+
+\header {
+  lsrtags = "tweaks-and-overrides"
+
+  texidoc = "
+The @code{\\applyOutput} command allows the tuning of any layout
+object, in any context.  It requires a Scheme function with three
+arguments."
+
+  doctitle = "Changing properties for individual grobs"
+}
+
+#(define (mc-squared grob grob-origin context)
+  (let*
+    (
+      (ifs (ly:grob-interfaces grob))
+      (sp (ly:grob-property grob 'staff-position))
+    )
+    (if (memq 'note-head-interface ifs)
+      (begin
+        (ly:grob-set-property! grob 'stencil
+          (grob-interpret-markup grob
+            (make-lower-markup 0.5
+              (case sp
+                ((-5) "m")
+                ((-3) "c ")
+                ((-2) (make-smaller-markup (make-bold-markup "2")))
+                (else "bla")
+                ))))
+        ))))
+
+\relative c' {
+  <d f g b>2
+  \applyOutput #'Voice #mc-squared
+  <d f g b>2
+}
diff --git a/input/new/compound-time-signatures.ly b/input/new/compound-time-signatures.ly
new file mode 100644 (file)
index 0000000..1e5442d
--- /dev/null
@@ -0,0 +1,34 @@
+\version "2.11.64"
+
+\header {
+  lsrtags = "rhythms"
+  texidoc = "
+Odd 20th century time signatures (such as \"5/8\") can often be played
+as compound time signatures (e.g. \"3/8 + 2/8\"), which combine two or
+more inequal metrics. LilyPond can make such music quite easy to read
+and play, by explicitly printing the compound time signatures and
+adapting the automatic beaming behavior. (Graphic measure grouping
+indications can also be added; see the appropriate snippet in this
+database.) 
+
+"
+  doctitle = "Compound time signatures"
+}
+
+#(define ((compound-time one two num) grob)
+  (grob-interpret-markup grob
+    (markup #:override '(baseline-skip . 0) #:number
+      (#:line (
+          (#:column (one num))
+          #:vcenter "+"
+          (#:column (two num))))
+      )))
+
+\relative c' {
+  \override Staff.TimeSignature #'stencil = #(compound-time "2" "3" "8")
+  \time 5/8
+  #(override-auto-beam-setting '(end 1 8 5 8) 1 4)
+  c8 d e fis gis
+  c8 fis, gis e d
+  c8 d e4 gis8
+}
diff --git a/input/new/flute-slap-notation.ly b/input/new/flute-slap-notation.ly
new file mode 100644 (file)
index 0000000..c006238
--- /dev/null
@@ -0,0 +1,29 @@
+\version "2.11.64"
+
+\header {
+  lsrtags = "winds"
+
+  texidoc = "
+It is possible to indicate special articulation techniques such as
+flute's \"tongue slap\", by replacing the note head with the
+appropriate glyph.
+
+"
+  doctitle = "Flute slap notation"
+}
+
+slap =
+#(define-music-function (parser location music) (ly:music?)
+#{
+  \override NoteHead #'stencil = #(lambda (grob)
+    (grob-interpret-markup grob
+      (markup #:musicglyph "scripts.sforzato")))
+  \override NoteHead #'extra-offset = #'(0.1 . 0.0)
+  $music
+  \revert NoteHead #'stencil
+  \revert NoteHead #'extra-offset
+#})
+
+\relative c' {
+  c4 \slap c d r \slap { g a } b r
+}
diff --git a/input/new/heavily-customized-polymetric-time-signatures.ly b/input/new/heavily-customized-polymetric-time-signatures.ly
new file mode 100644 (file)
index 0000000..acca7f2
--- /dev/null
@@ -0,0 +1,56 @@
+\version "2.11.64"
+
+\header {
+  lsrtags = "rhythms, percussion"
+
+  texidoc = "
+Though the polymetric time signature shown was not the most essential
+item here, it has been included to show the beat of this piece (which
+is the template of a real Balkan song!).
+
+"
+  doctitle = "Heavily customized polymetric time signatures"
+}
+
+#(define plus (markup #:vcenter "+"))
+#(define ((custom-time-signature one two three four five six
+           seven eight nine ten eleven num) grob)
+            (grob-interpret-markup grob
+              (markup #:override '(baseline-skip . 0) #:number
+                (#:line (
+                    (#:column (one num)) plus
+                    (#:column (two num)) plus
+                    (#:column (three num)) plus
+                    (#:column (four num)) plus
+                    (#:column (five num)) plus
+                    (#:column (six num)) plus
+                    (#:column (seven num)) plus
+                    (#:column (eight num)) plus
+                    (#:column (nine num)) plus
+                    (#:column (ten num)) plus
+                    (#:column (eleven num))))
+                )))
+
+melody = \relative c'' {
+  \set Staff.instrumentName = #"Bb Sop."
+  \key g \major
+  #(set-time-signature 25 8 '(3 2 2 3 2 2 2 2 3 2 2))
+  \override Staff.TimeSignature #'stencil =
+    #(custom-time-signature "3" "2" "2" "3" "2" "2"
+      "2" "2" "3" "2" "2" "8")
+  c8 c c d4 c8 c b c b a4 g fis8 e d c b' c d e4-^ fis8 g \break
+  c,4. d4 c4 d4. c4 d c2 d4. e4-^ d4
+  c4. d4 c4 d4. c4 d c2 d4. e4-^ d4 \break
+  c4. d4 c4 d4. c4 d c2 d4. e4-^ d4
+  c4. d4 c4 d4. c4 d c2 d4. e4-^ d4 \break
+}
+
+drum = \new DrumStaff \drummode {
+  \bar "|:" bd4.^\markup { "Drums" } sn4 bd \bar ":" sn4.
+  bd4 sn \bar ":" bd sn bd4. sn4 bd \bar ":|"
+}
+
+{
+  \melody
+  \drum
+}
index 1ace6dc24f0f167b16808778213fcb586f387ca9..28f020e51939f638690959ef3e8acc8f97417fba 100644 (file)
@@ -9,39 +9,30 @@ position.
 "
 }
 
-\layout {
-  ragged-right = ##t
-}
-
 #(define (mc-squared gr org cur)
   (let*
-   (
-     (ifs (ly:grob-interfaces gr))
-     (sp (ly:grob-property gr 'staff-position))
-   )
-   (if (memq 'note-head-interface ifs)
-    (begin
-     (ly:grob-set-property! gr 'stencil ly:text-interface::print)
-     (ly:grob-set-property! gr 'font-family 'roman)
-     (ly:grob-set-property! gr 'text
-      (make-raise-markup -0.5
-       (case sp
-       ((-5) (make-simple-markup "m"))
-       ((-3) (make-simple-markup "c "))
-       ((-2) (make-smaller-markup (make-bold-markup "2")))
-       (else (make-simple-markup "bla"))
-      ))))
-  )))
-
-\context Voice \relative c' {
-  \stemUp
+    (
+      (ifs (ly:grob-interfaces gr))
+      (sp (ly:grob-property gr 'staff-position))
+      )
+    (if (memq 'note-head-interface ifs)
+      (begin
+        (ly:grob-set-property! gr 'stencil
+          (grob-interpret-markup gr
+            (make-raise-markup -0.5
+              (case sp
+                ((-5) (make-simple-markup "m"))
+                ((-3) (make-simple-markup "c "))
+                ((-2) (make-smaller-markup (make-bold-markup "2")))
+                (else (make-simple-markup "bla"))
+                ))))
+        ))))
+
+\new Voice \relative c' {
   \set autoBeaming = ##f
 
-  <d f g b>8
+  <d f g b>8
 
-    \applyOutput #'Voice #mc-squared
-    <d f g b>
-  }
+  \applyOutput #'Voice #mc-squared
+  <d f g b>8
 }
-
-% EOF
index 181a67656d341bf7b553efaf474f8b7c609ad93e..a5f4f39ad5da6f259921b773248a98a0e2164ae1 100644 (file)
@@ -10,46 +10,34 @@ ticks, vees and `railroad tracks' (caesura)."
   %% Modern notation:
   \new Staff {
     \relative c'' {
-      \key es \major \time 3/4
-
-      %% this bar contains no \breathe
-      <<
-       { g4 as g } \\
-       { es4 bes es }
-      >> |
-
       %% by default, \breathe uses the rcomma, just as if saying:
-      %% \override BreathingSign  #'text =
-                               %       #(make-musicglyph-markup "scripts.rcomma")
-      <<
-       { g4 as g } \\
-       { es4 \breathe bes es }
-      >> |
+      %% \override BreathingSign #'text =
+      %%   #(make-musicglyph-markup "scripts.rcomma")
+      %%
+      c4 c \breathe c c |
 
       %% rvarcomma and lvarcomma are variations of the default rcomma
       %% and lcomma
-
-      %% N.B.: must use Staff context here, since we start a Voice below
-      \override Staff.BreathingSign  #'text =
-      #(make-musicglyph-markup "scripts.rvarcomma")
-      <<
-       { g4 as g } \\
-       { es4 \breathe bes es }
-      >> |
+      %%
+      \override Staff.BreathingSign #'text =
+        #(make-musicglyph-markup "scripts.rvarcomma")
+      c4 c \breathe c c |
 
       %% wedge
-      \override BreathingSign  #'text =
-      #(make-musicglyph-markup "scripts.upbow")
-      es8 d es f g8 \breathe f |
+      %%
+      \override BreathingSign #'text =
+        #(make-musicglyph-markup "scripts.upbow")
+      c4 c \breathe c c |
 
       %% caesurae
-      \override BreathingSign  #'text =
-      #(make-musicglyph-markup "scripts.caesura.curved.curved")
-      es8[ d] \breathe
-      \override BreathingSign  #'text =
-      #(make-musicglyph-markup "scripts.caesura.curved.straight")
-                       es[ f] \breathe g[ f] |
-      es2 r4 \bar "||" \break
+      %%
+      \override BreathingSign #'text =
+        #(make-musicglyph-markup "scripts.caesura.curved")
+      c4 c \breathe c c |
+
+      \override BreathingSign #'text =
+        #(make-musicglyph-markup "scripts.caesura.straight")
+      c4 c \breathe c c |
     }
   }
 }
index 178ea14be4ee01f42c742542b627ce7fcc1eacb9..41554fa25be6bd2ca336c98a61b99c0a848f55a1 100644 (file)
@@ -154,7 +154,7 @@ stderr of this run."
 \test "" ##[ \noPageTurn #]
 
 %% Checks
-\test "" ##[ \octave a' #]                             % RelativeOctaveCheck
+\test "" ##[ \octaveCheck a' #]                                % RelativeOctaveCheck
 \test "" ##[ | #]                                      % BarCheck
 
 %% Marks
index 4144763962c30bb1d1d16d68db6c9afd2a547260..d061343bfa88c564273d1a83b3f8c09029c33ff6 100644 (file)
@@ -1,47 +1,29 @@
 \header {
-
-    texidoc = "This file demonstrates how to load different
-    (postscript) fonts. The file @file{font.scm} shows how to define
-    the scheme-function @code{make-century-schoolbook-tree}.
-
-    This file should be run with the TeX and extra options should be
-    passed to LaTeX and dvips to help it find the uncb font."
-
+  texidoc = "This file demonstrates how to load different (postscript)
+fonts.  The file @file{font.scm} shows how to define the scheme-function
+@code{make-century-schoolbook-tree}."
 }
+
 \version "2.11.51"
 
-\paper
-{
-    #(define text-font-defaults
-      '((font-encoding . latin1)
-       (baseline-skip . 2)
-       (word-space . 0.6)))
+\paper {
+  #(define text-font-defaults
+    '((font-encoding . latin1)
+      (baseline-skip . 2)
+      (word-space . 0.6)))
 
-    #(set! fonts (make-century-schoolbook-tree 1.0))
+  #(set! fonts (make-century-schoolbook-tree 1.0))
 }
 
-%ugh.
-% do this here so we don't forget the connection with
-% this file.
-#(system "afm2tfm `kpsewhich uncb8a.afm` uncb8a.tfm") 
-
 \layout {
-    line-width = 160 \mm - 2.0 * 9.0 \mm
+  line-width = 160 \mm - 2.0 * 9.0 \mm
 
-    
-    indent = 0.0\mm
-    ragged-right = ##t
+  indent = 0.0\mm
+  ragged-right = ##t
 }
 
 {
-    \key a \major
-    \time 6/8
-    cis''8.
-
-%% uncomment to test postscript fonts. 
-% ^"test!"
-
-    
-    
-    d''16 cis''8 e''4 e''8
+  \key a \major
+  \time 6/8
+  cis''8.^"test!" d''16 cis''8 e''4 e''8
 }
index 188b4dfbc93fb4a16d92c4179909d230ec1f1037..b0539ead9901529de9c87743236c8e57a75fb180 100644 (file)
@@ -1,20 +1,13 @@
-
+\version "2.11.65"
 \header {
 
   texidoc = " A dotted whole note displayed via the @code{\\note}
   command must separate the note head and the dot. The dot avoids the upflag."
 
        }
-\paper {
-  packed = ##T
-}
-
-\version "2.11.51"
 
-
-\relative {
-  c^\markup { \note #"1." #1 }
-  c^\markup { \note #"2." #1 }
-  c^\markup { \note #"8." #1 }
+\relative c' {
+  c4^\markup { \note #"1." #1 }
+  c4^\markup { \note #"2." #1 }
+  c4^\markup { \note #"8." #1 }
 }
-
index 981c9080c63d49aa066bc73fa9d2deea003d7615..a9998f037bbeec2e86575f1002ec7ba7a91a8d22 100644 (file)
@@ -1,4 +1,4 @@
-\version "2.11.51"
+\version "2.11.65"
 
 \header {
   texidoc = "Mensural ligatures show different shapes, depending on the
@@ -8,20 +8,24 @@
 
 \layout {
   ragged-right = ##t
-  packed = ##t
   indent = 0.0
   \context {
     \Voice
-    \remove Ligature_bracket_engraver
-    \consists Mensural_ligature_engraver
+    \remove "Ligature_bracket_engraver"
+    \consists "Mensural_ligature_engraver"
+  }
+  \context {
+    \Score
+    \override SpacingSpanner #'packed-spacing = ##t
   }
 }
 
-\context Voice{
+\context Voice {
   \clef "petrucci-c4"
   \set Staff.printKeyCancellation = ##f
   \cadenzaOn % turn off bar lines
   #(set-accidental-style 'forget)
+  \textLengthOn
 
                                % ligaturae binaria
 
index 8493aa4f25e963c7010d6699a2c7be26d93b2b5c..fa8a250fa9331c2ccfeb6fc9f6ba2cf4d4c7287b 100644 (file)
@@ -7,5 +7,5 @@
 \version "2.11.51"
 
 \relative c'{
-  a\rest a8[ a\rest b] |
+  a\rest a8[ a\rest b]
 }
index 4bf9ee04f833bfc4b9a7d5d0cb69cb75a42425c2..45e55c7de00b7ff16b3f91eb7f8da628d238245b 100644 (file)
@@ -28,7 +28,7 @@ in unbroken state.
        } }
      >>
     \break 
-    c4) f='2.(\break
+    c4) f,='2.(\break
     a2.)
     \stemUp
     <d='' d'>8( <c c'> \break
index 649c37c0f7c9845eb4d49ca2f5ea1a4c5432f6ef..8627cbf69dfff6c7ec78a4212c8d1c16bd7e0344 100644 (file)
@@ -20,7 +20,7 @@
 
 \relative {
   
-    \grace e=''16( d8.[) c16]
+    \grace e'=''16( d8.[) c16]
     d=''8.[ \grace f16( e16)]
     s2
     << {c=''8.([ es16] bes4~bes )}
        {r8  <as es> r <f des> r }
     >>
     \new Voice { \voiceOne b='8[ c16( d])  }
-    g='8[( a b b! ]  c4  bes) 
+    g,='8[( a b b! ]  c4  bes) 
     bes='8( f' des bes) as4( bes)
     r8 d( f e d c b a)
-    cis=''4( d)  f'=''16( e)    d( c)
+    cis=''4( d)  f=''16( e)    d( c)
     s4
     
-    c'=''2(~c8 d16 c b8 a)
+    c=''2(~c8 d16 c b8 a)
     
-    <c=' g>4 ( f <g b>) f
+    <c,=' g>4 ( f <g b>) f
     <c g>^( f <g b>) f
     <c g>_( f <g b>)
     <g b>_( g  <b d>)
     s2.|
     e4( dis4)
     e4( dis4) 
-    g='16( b d fis)
-    \clef bass a=8[ e16(f] g[ a b d,)]  s4 | \break
+    g,='16( b d fis)
+    \clef bass a,,=8[ e16(f] g[ a b d,)]  s4 | \break
     e=8[( f] g[ a b d,)]  s4 |
     
     \clef treble
     \new Voice {
        \slurDown
-       c=''4(^"slurs forced down"  d, c') s4
+       c''=''4(^"slurs forced down"  d, c') s4
        f=''2( d4 f | g c a f | d c f2 | f1) |
     }
 
index 306d33bb256b5ec2bcc690cb4674f868df5b5974..37615498a27de9cf8662ebf41782b4658e5b3958 100644 (file)
@@ -22,6 +22,5 @@
   \set tieWaitForNote = ##f
   <c e> ~
   <c e c'>
-  |
 
 }
index 1c7d356cc93f1b17ce289277f99520745de6cc87..3d4b9ef3ac840652ecd5b32e8c73d9e35e6689c8 100644 (file)
@@ -426,6 +426,7 @@ ADD_INTERFACE (Accidental_placement,
 
               /* properties */
               "accidental-grobs "
+              "direction "
               "left-padding "
               "padding "
               "positioning-done "
index 81ba1115ce453314ed5807d535afed55d8fac2c9..5db047fc266fafee77643f04d13649a0ca03b80b 100644 (file)
@@ -109,8 +109,7 @@ select_encoded_font (Output_def *layout, SCM chain)
     }
 
 #if HAVE_PANGO_FT2
-  if (scm_is_string (name)
-      && is_pango_format_global)
+  if (scm_is_string (name))
     return select_pango_font (layout, chain);
   else
 #endif
index 2efea228e2fa9597f93d95c3ef119003b3d0928e..f194dee35ebb1607ce4f88ce4a26c533e5b3a1c8 100644 (file)
@@ -77,8 +77,6 @@ public:
 
 DECLARE_UNSMOB (Font_metric, metrics);
 
-Box lookup_tex_text_dimension (Font_metric *font, SCM text);
-
 char *pfb2pfa (Byte const *pfb, int length);
 
 #endif /* FONT_METRIC_HH */
index cabb84843fc6de4d4fca43019808d7487c7f3613..bc4f4c4c03cb112e220ef31bea163c04c39a96ff 100644 (file)
@@ -170,7 +170,6 @@ class Swallow_engraver;
 class Swallow_performer;
 class System;
 class Tempo_performer;
-class Tex_font_metric;
 class Tie;
 class Tie_details;
 class Tie_configuration;
index 1ddf2f41c88187ceaca9b24dcf5afe4cb82de16a..fbd2aa3da946db7aa01540988ad396772c776c91 100644 (file)
@@ -33,8 +33,6 @@ extern string output_name_global;
 extern bool be_safe_global;
 extern bool be_verbose_global;
 extern bool do_internal_type_checking_global;
-extern bool is_pango_format_global;
-extern bool is_TeX_format_global;
 extern bool point_and_click_global;
 extern string lilypond_datadir;
 extern bool use_object_keys;
index ada0060970ec4bb88aa34b870a034ecb9c839704..85882e86e8c9ce2a03263d6b67c6998f5cca8fea 100644 (file)
@@ -39,7 +39,6 @@ protected:
   Box get_indexed_char (size_t) const;
   size_t index_to_ascii (size_t) const;
   Box get_ascii_char (size_t) const;
-  Box tex_kludge (string) const;
 };
 
 #endif /* MODIFIED_FONT_METRIC_HH */
diff --git a/lily/include/text-metrics.hh b/lily/include/text-metrics.hh
deleted file mode 100644 (file)
index 710cf5d..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-  text-metrics.hh -- declare text metric lookup functions
-
-  source file of the GNU LilyPond music typesetter
-
-  (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
-*/
-
-#ifndef TEXT_METRICS_HH
-#define TEXT_METRICS_HH
-
-#include "lily-guile.hh"
-#include "box.hh"
-
-void try_load_text_metrics (string);
-SCM ly_load_text_dimensions (SCM);
-Box lookup_tex_text_dimension (Font_metric *font,
-                              SCM text);
-
-#endif /* TEXT_METRICS_HH */
-
index 16af0c3cdf818135dc8686c97b362eed0a0e0fde..21e2946d193cc7a9533717397bfbf0a1e5cd41ec 100644 (file)
@@ -22,7 +22,6 @@
 #include "parser.hh"
 #include "score.hh"
 #include "sources.hh"
-#include "text-metrics.hh"
 #include "warn.hh"
 #include "program-option.hh"
 
@@ -87,9 +86,6 @@ Lily_parser::print_smob (SCM s, SCM port, scm_print_state*)
 void
 Lily_parser::parse_file (string init, string name, string out_name)
 {
-  if (get_output_backend_name () == "tex")
-    try_load_text_metrics (out_name);
-
   // TODO: use $parser 
   lexer_->set_identifier (ly_symbol2scm ("parser"), self_scm ());
   output_basename_ = out_name;
index ba8c3acbbc7d21c7003493ac3f335c578b440c06..29f3e685b363f42ce6729055492f7ca930e64557 100644 (file)
@@ -57,9 +57,6 @@ string init_name_global;
 /* Output formats to generate.  */
 string output_format_global = "";
 
-bool is_pango_format_global;
-bool is_TeX_format_global;
-
 /* Current output name. */
 string output_name_global;
 
@@ -142,11 +139,9 @@ static Long_option_init options_static[]
   /* Bug in option parser: --output =foe is taken as an abbreviation
      for --output-format.  */
   {_i ("FORMATs"), "formats", 'f', _i ("dump FORMAT,...  Also as separate options:")},
-  {0, "dvi", 0, _i ("generate DVI (tex backend only)")},
   {0, "pdf", 0, _i ("generate PDF (default)")},
   {0, "png", 0, _i ("generate PNG")},
   {0, "ps", 0, _i ("generate PostScript")},
-  {0, "tex", 0, _i ("generate TeX (tex backend only)")},
   {0, "help", 'h',  _i ("show this help and exit")},
   {_i ("FIELD"), "header", 'H',  _i ("dump header field FIELD to file\n"
                                     "named BASENAME.FIELD")},
@@ -388,7 +383,6 @@ main_with_guile (void *, int, char **)
   if (be_verbose_global)
     dir_info (stderr);
 
-  is_pango_format_global = !is_TeX_format_global;
   init_scheme_variables_global = "(list " + init_scheme_variables_global + ")";
   init_scheme_code_global = "(begin " + init_scheme_code_global + ")";
 
@@ -399,10 +393,6 @@ main_with_guile (void *, int, char **)
   init_freetype ();
   ly_reset_all_fonts ();
 
-  is_TeX_format_global = (get_output_backend_name () == "tex"
-                         || get_output_backend_name () == "texstr");
-  
-
   /* We accept multiple independent music files on the command line to
      reduce compile time when processing lots of small files.
      Starting the GUILE engine is very time consuming.  */
@@ -438,7 +428,7 @@ setup_localisation ()
   setlocale (LC_ALL, "");
 
   /* FIXME: check if this is still true.
-     Disable localisation of float values.  This breaks TeX output.  */
+     Disable localisation of float values. */
   setlocale (LC_NUMERIC, "C");
 
   string localedir = LOCALEDIR;
@@ -468,11 +458,9 @@ parse_argv (int argc, char **argv)
       switch (opt->shortname_char_)
        {
        case 0:
-         if (string (opt->longname_str0_) == "dvi"
-             || string (opt->longname_str0_) == "pdf"
+         if (string (opt->longname_str0_) == "pdf"
              || string (opt->longname_str0_) == "png"
-             || string (opt->longname_str0_) == "ps"
-             || string (opt->longname_str0_) == "tex")
+             || string (opt->longname_str0_) == "ps")
            add_output_format (opt->longname_str0_);
          else if (string (opt->longname_str0_) == "relocate")
            relocate_binary = true;
index 114b8e38248e4236f69a8b461285aa016c52f62c..ac2c88c68cd3f3151635b1e50a8bb6827a02edbf 100644 (file)
@@ -10,7 +10,6 @@ using namespace std;
 
 #include "modified-font-metric.hh"
 #include "pango-font.hh"
-#include "text-metrics.hh"
 #include "warn.hh"
 #include "stencil.hh"
 #include "main.hh"
@@ -102,62 +101,6 @@ Modified_font_metric::derived_mark () const
 {
 }
 
-/* TODO: put this klutchness behind ly:option switch.  */
-Box
-Modified_font_metric::tex_kludge (string text) const
-{
-  Interval ydims;
-  Real w = 0;
-  for (ssize i = 0; i < text.length (); i++)
-    {
-      switch (text[i])
-       {
-       case '\\':
-         /* Accent marks use width of base letter */
-         if (i < text.length () - 1)
-           {
-             if (text[i + 1]=='\'' || text[i + 1]=='`' || text[i + 1]=='"'
-                 || text[i + 1]=='^')
-               {
-                 i++;
-                 break;
-               }
-             /* For string width \\ is a \ and \_ is a _. */
-             if (text[i + 1]=='\\' || text[i + 1]=='_')
-               break;
-           }
-
-         for (i++; (i < text.length ()) && !isspace (text[i])
-                && text[i]!='{' && text[i]!='}'; i++)
-           ;
-
-         /* Compensate for the auto-increment in the outer loop. */
-         i--;
-         break;
-
-       case '{': // Skip '{' and '}'
-       case '}':
-         break;
-
-       default:
-         Box b = get_ascii_char ((unsigned char)text[i]);
-
-         /* Use the width of 'x' for unknown characters */
-         if (b[X_AXIS].length () == 0)
-           b = get_ascii_char ((unsigned char)'x');
-
-         w += b[X_AXIS].length ();
-         ydims.unite (b[Y_AXIS]);
-         break;
-       }
-    }
-
-  if (ydims.is_empty ())
-    ydims = Interval (0, 0);
-
-  return Box (Interval (0, w), ydims);
-}
-
 Stencil
 Modified_font_metric::text_stencil (string text) const
 {
@@ -179,25 +122,8 @@ Modified_font_metric::text_stencil (string text) const
 Box
 Modified_font_metric::text_dimension (string text) const
 {
-  SCM stext = ly_string2scm (text);
-  
   Box b;
-  if (get_output_backend_name () == "tex")
-    {
-      b = lookup_tex_text_dimension (orig_, stext);
-
-      if (!b[Y_AXIS].is_empty ())
-       {
-         b.scale (magnification_);
-         return b;
-       }
-
-      b = tex_kludge (text);
-      return b;
-    }
-
   Interval ydims;
-
   Real w = 0.0;
 
   for (ssize i = 0; i < text.length (); i++)
index ad28ca205e4aa17dd66de7255c84ba94d0c4d2b7..99d015067d7c039c3794bc9069246ca23b1388e4 100644 (file)
@@ -10,6 +10,7 @@
 
 #include "engraver.hh"
 
+#include "hairpin.hh"
 #include "international.hh"
 #include "item.hh"
 #include "note-column.hh"
@@ -153,12 +154,14 @@ New_dynamic_engraver::process_music ()
       if (current_spanner_)
        {
          current_spanner_->set_bound (LEFT, script_);
-         set_nested_property (current_spanner_,
-                              scm_list_3 (ly_symbol2scm ("bound-details"),
-                                          ly_symbol2scm ("left"),
-                                          ly_symbol2scm ("attach-dir")
-                                          ),
-                              scm_from_int (RIGHT));
+
+         if (!Hairpin::has_interface (current_spanner_))
+           set_nested_property (current_spanner_,
+                                scm_list_3 (ly_symbol2scm ("bound-details"),
+                                            ly_symbol2scm ("left"),
+                                            ly_symbol2scm ("attach-dir")
+                                            ),
+                                scm_from_int (RIGHT));
 
        }
     }
index 0feb99adb6c57991ee6491fc912ec0386f381f89..480d2726a2f0282b0ffffe9caf33fd1ecd7720b6 100644 (file)
@@ -72,8 +72,8 @@ MAKE_SCHEME_CALLBACK_WITH_OPTARGS (Text_interface, interpret_markup, 3, 0,
 "  Takes three arguments, @var{layout}, @var{props}, and @var{markup}.\n"
 "\n"
 "@var{layout} is a @code{\\layout} block; it may be obtained from a grob with"
-" @code{ly:grob-layout}.  @var{props} is a alist chain, ie. a list of alists."
-"  This is typically obtained with"
+" @code{ly:grob-layout}.  @var{props} is an alist chain, i.e. a list of"
+"  alists.  This is typically obtained with"
 " @code{(ly:grob-alist-chain (ly:layout-lookup layout 'text-font-defaults))}."
 "  @var{markup} is the markup text to be processed.");
 SCM
diff --git a/lily/text-metrics.cc b/lily/text-metrics.cc
deleted file mode 100644 (file)
index b4ebd82..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
-  text-metrics.cc -- implement text metric lookup functions
-
-  source file of the GNU LilyPond music typesetter
-
-  (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
-*/
-
-#include "dimensions.hh"
-#include "font-metric.hh"
-#include "main.hh"
-#include "file-path.hh"
-
-static SCM text_dimension_hash_tab;
-
-Box
-lookup_tex_text_dimension (Font_metric *font, SCM text)
-{
-  Box b;
-
-  /*
-    Actually, it's defined in framework-texstr, but let's see how long
-    it takes before we get a bugreport. HWN 13/2/2006.
-   */
-  SCM limit = ly_lily_module_constant ("TEX_STRING_HASHLIMIT");
-  string key_str = ly_scm2string (font->font_file_name ());
-  int hash_code = scm_to_int (scm_hash (text, limit));
-  key_str = to_string (hash_code) + key_str;
-
-  SCM val = SCM_BOOL_F;
-  if (text_dimension_hash_tab)
-    {
-      scm_hash_ref (text_dimension_hash_tab,
-                   ly_string2scm (key_str),
-                   SCM_BOOL_F);
-    }
-  if (scm_is_pair (val))
-    {
-      b[X_AXIS][LEFT] = 0.0;
-      b[X_AXIS][RIGHT] = scm_to_double (scm_car (val)) * point_constant;
-      val = scm_cdr (val);
-      b[Y_AXIS][UP] = scm_to_double (scm_car (val)) * point_constant;
-      val = scm_cdr (val);
-      b[Y_AXIS][DOWN] = scm_to_double (scm_car (val)) * point_constant;
-    }
-
-  return b;
-}
-
-LY_DEFINE (ly_load_text_dimensions, "ly:load-text-dimensions",
-          1, 0, 0,
-          (SCM dimension_alist),
-          "Load dimensions from @TeX{} in a @code{(KEY . (W H D))} format"
-          " alist.")
-{
-  if (!text_dimension_hash_tab)
-    {
-      text_dimension_hash_tab
-       = scm_gc_protect_object (scm_c_make_hash_table (113));
-    }
-
-  for (SCM s = dimension_alist;
-       scm_is_pair (s);
-       s = scm_cdr (s))
-    {
-      SCM key = scm_caar (s);
-      SCM val = scm_cdar (s);
-
-      if (scm_hash_ref (text_dimension_hash_tab, key, SCM_BOOL_F)
-         == SCM_BOOL_F)
-       scm_hash_set_x (text_dimension_hash_tab, key, val);
-    }
-
-  return SCM_UNSPECIFIED;
-}
-
-void
-try_load_text_metrics (string basename)
-{
-  string path = global_path.find (basename + ".textmetrics");
-  if (path != "")
-    {
-      string contents (gulp_file_to_string (path, true, -1));
-      contents = "(quote (" + contents + "))";
-
-      SCM lst = scm_c_eval_string (contents.c_str ());
-      ly_load_text_dimensions (lst);
-    }
-}
index 30a556ae0b5b1be23625a476a8ba89eeb0888743..f2b6e55bfccac9add9c20af937e3ae60445933cf 100644 (file)
@@ -223,7 +223,6 @@ ligature = #(define-music-function
 %
 \layout {
     indent = 0.0
-    packed = ##t
 
     %%% TODO: should raggedright be the default?
     %ragged-right = ##t
index 67839f9c6c5695869bc39438f08184b901e03416..cac75ecb73330db4b7195c6342816c9899bd5fcf 100644 (file)
@@ -2,21 +2,17 @@
 #(use-modules (scm layout-page-layout))
 \paper {
 
-    %%%% WARNING
-
-    %%% if you  add any new dimensions, don't forget to update
-    %%% the dimension-variables variable. see paper.scm
+    %%% WARNING
+    %%%
+    %%% If you add any new dimensions, don't forget to update
+    %%% the dimension-variables variable.  See paper.scm.
     
     unit = #(ly:unit)
     mm = 1.0
     in = 25.4
-    pt = #(/  in 72.27)
+    pt = #(/ in 72.27)
     cm = #(* 10 mm)
 
-    %% This is weird; `everyone' uses LATIN1?  How does I select TeX
-    %% input encoding in EMACS? -- jcn
-    %%%%input-encoding = #"TeX"
-    input-encoding = #"latin1"
     print-page-number = ##t
 
     %%
     #(define font-defaults
       '((font-encoding . fetaMusic)))
 
-    %% use lmodern in latin1 (cork) flavour if EC is not available.
+    %%
+    %% the font encoding `latin1' is a dummy value for Pango fonts
+    %%
     #(define text-font-defaults
-      `((font-encoding .
-        ,(cond
-          (tex-backend? 'Extended-TeX-Font-Encoding---Latin)
-          (else 'latin1)))
-       ;; add to taste here.
-       
+      `((font-encoding . latin1)
        (baseline-skip . 3)
        (word-space . 0.6)))
 
index 3dd7ea8fa85597829efa34d4831cef727579023c..44c9a1a3d677a4d0afb6bc29ec0a7f8869376865 100644 (file)
@@ -2,7 +2,6 @@ default:
 
 local-WWW-1: $(MASTER_TEXI_FILES) $(PDF_FILES) $(XREF_MAPS_FILES)
 
-# BIG_PAGE_HTML_FILES is defined differently in each language makefile
 local-WWW-2: $(DEEP_HTML_FILES) $(BIG_PAGE_HTML_FILES) $(DOCUMENTATION_LOCALE_TARGET)
        find $(outdir) -name '*.html' | xargs grep -L 'UNTRANSLATED NODE: IGNORE ME' | xargs $(PYTHON) $(buildscript-dir)/html-gettext.py $(ISOLANG)
        find $(outdir) -name '*.html' | xargs grep -L --label="" 'UNTRANSLATED NODE: IGNORE ME' | sed 's!$(outdir)/!!g' | xargs $(PYTHON) $(buildscript-dir)/mass-link.py --prepend-suffix .$(ISOLANG) hard $(outdir) $(top-build-dir)/Documentation/user/$(outdir) $(TELY_FILES:%.tely=%.pdf)
index 87ca4cd4fad451a464484d353bf3031bdceb4b7d..2170d43f40ed1b7c4b3e53a07896bfef914b60c2 100644 (file)
@@ -7,7 +7,7 @@ OUT_PNG_IMAGES=$(SOURCE_PNG_IMAGES:$(top-src-dir)/Documentation/user/%.png=$(out
 
 TELY_FILES := $(call src-wildcard,*.tely)
 MASTER_TEXI_FILES := $(TELY_FILES:%.tely=$(outdir)/%.texi)
-BIG_PAGE_HTML_FILES := $(BIG_PAGE_MANUALS:%=$(outdir)/%-big-page.html)
+BIG_PAGE_HTML_FILES := $(TELY_FILES:%.tely=$(outdir)/%-big-page.html)
 DEEP_HTML_FILES := $(TELY_FILES:%.tely=$(outdir)/%/index.html)
 PDF_FILES := $(TELY_FILES:%.tely=$(outdir)/%.pdf)
 
index 9679d3050a6bdea3dcaca18b5ec0e50a5429c99e..fe7467aca255712b0739804dc64f860577e7519f 100644 (file)
@@ -7,9 +7,9 @@
 % (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
 %          Jan Nieuwenhuizen <janneke@gnu.org>
 %
-% these macros help create ascii logging output
-% to automate generation of lily tables and tex backend
-% The output should be parsed by the mf-to-table script
+% These macros help create ascii logging output
+% to automate generation of the lily tables.
+% The output should be parsed by the mf-to-table script.
 
 
 message "******************************************************";
index c6f4423615f8f4ea1715b3400e9f1695c3594f28..762657508449c1ef4cff795575fc9be9dc26f26b 100644 (file)
@@ -59,11 +59,6 @@ bind def
   b4_Inc_state restore
 } bind def 
 
-/set_tex_dimen
-{
-       cvr def
-} bind def
-
 /stroke_and_fill {
        gsave
                stroke
index 0785386f45c9daa47b7baa71e4c36bc70d847f17..67f66598300e19dc84c537bae6a680a9dca4d44b 100644 (file)
       (set! formats (cons "ps" formats)))
   (for-each (lambda (x)
              (if (member x formats) (set! new-fmts (cons x new-fmts))))
-           '("tex" "dvi" "ps" "pdf" "png"))
+           '("ps" "pdf" "png"))
   (uniq-list (reverse new-fmts)))
 
 (define (header-to-file file-name key value)
index 36f598e22bfb41ec7ef2fba23ee0ce119db28e59..b697af3b300136ab1487802c96fdb4e976a86dbd 100644 (file)
@@ -169,7 +169,7 @@ be used: @code{#UP}=@code{1}, @code{#DOWN}=@code{-1},
 @code{#LEFT}=@code{-1}, @code{#RIGHT}=@code{1}, @code{#CENTER}=@code{0}.")
      (dot-count ,integer? "The number of dots.")
      (dot-negative-kern ,number? "The space to remove between a dot
-a and slash in percent repeat glyphs.  Larger values bring the two
+and a slash in percent repeat glyphs.  Larger values bring the two
 elements closer together.")
      (dot-placement-list ,list? "List 
 consisting of @code{(@var{description} @var{string-number} 
@@ -525,7 +525,7 @@ dot.")
 number, the quicker the slur attains its @code{height-limit}.")
      (remove-empty ,boolean? "If set, remove group if it contains no
 interesting items.")
-     (remove-first ,boolean? "Remove the first staff of a orchestral
+     (remove-first ,boolean? "Remove the first staff of an orchestral
 score?")
      (restore-first ,boolean? "Print a natural before the
 accidental.")
index 3af72b06477e8d7dbea91025548145d7678fcdfb..4009f6ebdf10c208d280d8f6b923a1597e28997a 100644 (file)
                 (object-callbacks . ((normal-stems . ,ly:beam::calc-normal-stems))) 
                 (interfaces . (staff-symbol-referencer-interface
                                unbreakable-spanner-interface
-                               beam-interface))))))
+                               beam-interface
+                               font-interface))))))
 
     (BendAfter
      . (
                 (interfaces . (paper-column-interface
                                axis-group-interface
                                separation-item-interface
-                               spaceable-grob-interface))))))
+                               spaceable-grob-interface
+                               font-interface))))))
 
     (NoteCollision
      . (
                                font-interface
                                note-head-interface
                                ledgered-interface
-                               staff-symbol-referencer-interface))))))
+                               staff-symbol-referencer-interface
+                               gregorian-ligature-interface
+                               mensural-ligature-interface
+                               vaticana-ligature-interface))))))
 
     (NoteSpacing
      . (
                 (interfaces . (paper-column-interface
                                separation-item-interface
                                axis-group-interface
-                               spaceable-grob-interface))))))
+                               spaceable-grob-interface
+                               font-interface))))))
 
     (ParenthesesItem
      . ((stencil . ,parentheses-item::print)
                                text-interface
                                instrument-specific-markup-interface
                                side-position-interface
+                               self-alignment-interface
                                font-interface))))))
 
     (TextSpanner
index 3961e166709e02cd65b38aada548ae222361f704..311faf463ed8613cc77127a49434b78cd85f8f74 100644 (file)
@@ -466,30 +466,8 @@ Inline an EPS image.  The image is scaled along @var{axis} to
   ()
   "
 @cindex inserting PostScript directly into text
-
 This inserts @var{str} directly into the output as a PostScript
-command string.  Due to technicalities of the output backends,
-different scales should be used for the @TeX{} and PostScript backend,
-selected with @code{-f}. 
-
-For the @TeX{} backend, the following string prints a rotated text
-
-@example
-0 0 moveto /ecrm10 findfont 
-1.75 scalefont setfont 90 rotate (hello) show
-@end example
-
-@noindent
-The magical constant 1.75 scales from LilyPond units (staff spaces) to
-@TeX{} dimensions.
-
-For the postscript backend, use the following
-
-@example
-gsave /ecrm10 findfont 
- 10.0 output-scale div 
- scalefont setfont 90 rotate (hello) show grestore 
-@end example
+command string.
 
 @lilypond[verbatim,quote]
 eyeglassesps = #\"
index 4e846a5a64cd4b9c38bcb75a69936fcba7d673a1..4133fa6443b7ba95277d591be7ffa88ff65efd47 100644 (file)
 (define-span-event-display-method CrescendoEvent (event parser) #f "\\<" "\\!")
 (define-span-event-display-method DecrescendoEvent (event parser) #f "\\>" "\\!")
 (define-span-event-display-method PhrasingSlurEvent (event parser) #f "\\(" "\\)")
-(define-span-event-display-method SustainEvent (event parser) #f "\\sustainDown" "\\sustainUp")
-(define-span-event-display-method SostenutoEvent (event parser) #f "\\sostenutoDown" "\\sostenutoUp")
+(define-span-event-display-method SustainEvent (event parser) #f "\\sustainOn" "\\sustainOff")
+(define-span-event-display-method SostenutoEvent (event parser) #f "\\sostenutoOn" "\\sostenutoOff")
 (define-span-event-display-method TextSpanEvent (event parser) #f "\\startTextSpan" "\\stopTextSpan")
 (define-span-event-display-method TrillSpanEvent (event parser) #f "\\startTrillSpan" "\\stopTrillSpan")
 (define-span-event-display-method StaffSpanEvent (event parser) #f "\\startStaff" "\\stopStaff")
@@ -576,7 +576,7 @@ Otherwise, return #f."
 
 (define-display-method RelativeOctaveCheck (octave parser)
   (let ((pitch (ly:music-property octave 'pitch)))
-    (format #f "\\octave ~a~a"
+    (format #f "\\octaveCheck ~a~a"
            (note-name->lily-string pitch parser)
            (octave->lily-string pitch))))
 
index 39733c37ce0a3630e1482eaa1f3169c208b4052c..66659a902d71ecf72f9739de644edccd6a605f68 100644 (file)
@@ -46,7 +46,7 @@
 ;; TODO:
 ;;  - generate this list by registering the output-backend-commands
 ;;    output-backend-commands should have docstrings.
-;;  - remove hard copies in output-ps output-tex
+;;  - remove hard copies in output-ps
 
 (define-public (ly:all-output-backend-commands)
   "Return list of output backend commands."
index 0974c39d03e36d0b21353f45128fd1711bc33783..d500c0c270b20c9f6302bd9ee8e9579961f5d298 100644 (file)
@@ -1,12 +1,49 @@
 ;;;; encoding.scm -- font encoding
 ;;;;
 ;;;;  source file of the GNU LilyPond music typesetter
-;;;; 
+;;;;
 ;;;; (c) 2004--2008 Jan Nieuwenhuizen <janneke@gnu.org>
 
-
-
-(define-public latin1-coding-vector #(.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef space exclam quotedbl numbersign dollar percent ampersand quoteright parenleft parenright asterisk plus comma hyphen period slash zero one two three four five six seven eight nine colon semicolon less equal greater question at A B C D E F G H I J K L M N O P Q R S T U V W X Y Z bracketleft backslash bracketright asciicircum underscore quoteleft a b c d e f g h i j k l m n o p q r s t u v w x y z braceleft bar braceright asciitilde .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef dotlessi grave acute circumflex tilde macron breve dotaccent dieresis .notdef ring cedilla .notdef hungarumlaut ogonek caron space exclamdown cent sterling currency yen brokenbar section dieresis copyright ordfeminine guillemotleft logicalnot hyphen registered macron degree plusminus twosuperior threesuperior acute mu paragraph periodcentered cedilla onesuperior ordmasculine guillemotright onequarter onehalf threequarters questiondown Agrave Aacute Acircumflex Atilde Adieresis Aring AE Ccedilla Egrave Eacute Ecircumflex Edieresis Igrave Iacute Icircumflex Idieresis Eth Ntilde Ograve Oacute Ocircumflex Otilde Odieresis multiply Oslash Ugrave Uacute Ucircumflex Udieresis Yacute Thorn germandbls agrave aacute acircumflex atilde adieresis aring ae ccedilla egrave eacute ecircumflex edieresis igrave iacute icircumflex idieresis eth ntilde ograve oacute ocircumflex otilde odieresis divide oslash ugrave uacute ucircumflex udieresis yacute thorn ydieresis))
+(define-public latin1-coding-vector
+  #(.notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef
+    .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef
+    .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef
+    .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef
+    %% 0x20
+    space exclam quotedbl numbersign dollar percent ampersand quoteright
+    parenleft parenright asterisk plus comma hyphen period slash
+    zero one two three four five six seven
+    eight nine colon semicolon less equal greater question
+    %% 0x40
+    at A B C D E F G
+    H I J K L M N O
+    P Q R S T U V W
+    X Y Z bracketleft backslash bracketright asciicircum underscore
+    %% 0x60
+    `quoteleft a b c d e f g
+    h i j k l m n o
+    p q r s t u v w
+    x y z braceleft bar braceright asciitilde .notdef
+    %% 0x80
+    .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef
+    .notdef .notdef .notdef .notdef .notdef .notdef .notdef .notdef
+    dotlessi grave acute circumflex tilde macron breve dotaccent
+    dieresis .notdef ring cedilla .notdef hungarumlaut ogonek caron
+    %% 0xA0
+    space exclamdown cent sterling currency yen brokenbar section
+    dieresis copyright ordfeminine guillemotleft logicalnot hyphen registered macron
+    degree plusminus twosuperior threesuperior acute mu paragraph periodcentered
+    cedilla onesuperior ordmasculine guillemotright onequarter onehalf threequarters questiondown
+    %% 0xC0
+    Agrave Aacute Acircumflex Atilde Adieresis Aring AE Ccedilla
+    Egrave Eacute Ecircumflex Edieresis Igrave Iacute Icircumflex Idieresis
+    Eth Ntilde Ograve Oacute Ocircumflex Otilde Odieresis multiply
+    Oslash Ugrave Uacute Ucircumflex Udieresis Yacute Thorn germandbls
+    %% 0xE0
+    agrave aacute acircumflex atilde adieresis aring ae ccedilla
+    egrave eacute ecircumflex edieresis igrave iacute icircumflex idieresis
+    eth ntilde ograve oacute ocircumflex otilde odieresis divide
+    oslash ugrave uacute ucircumflex udieresis yacute thorn ydieresis))
 
 
 (define-public (decode-byte-string str)
@@ -15,10 +52,9 @@ assuming that STR is byte-coded using ENCODING-NAME."
 
   (let* ((len (string-length str))
         (output-vector (make-vector len '.notdef)))
-
     (do
        ((idx 0 (1+ idx)))
        ((>= idx len) output-vector)
       (vector-set! output-vector idx
-                    (vector-ref latin1-coding-vector
-                                (char->integer (string-ref str idx)))))))
+                  (vector-ref latin1-coding-vector
+                              (char->integer (string-ref str idx)))))))
index cff610e8d3b623481295b91e606a9d5598d904d2..4983874048c50485fdfc199859dff280f49be967 100644 (file)
@@ -163,7 +163,3 @@ stencil, so LaTeX includegraphics doesn't fuck up the alignment."
 (define convert-to-pdf convert-to-pdf)
 (define convert-to-ps convert-to-ps)
 (define convert-to-png convert-to-png)
-(define convert-to-tex convert-to-tex)
-(define convert-to-dvi convert-to-dvi)
-
-
index a035dc9b927049226604c7d545402455011cde90..a552b5e7076bd0a7f4d49ce5ffeca48621bd8f1c 100644 (file)
@@ -23,5 +23,3 @@
 (define-public (convert-to-ps . args) #t)
 (define-public (convert-to-pdf . args) #t)
 (define-public (convert-to-png . args) #t)
-(define-public (convert-to-dvi . args) #t)
-(define-public (convert-to-tex . args) #t)
index d6bf44eff2bde58008ce6ad70a2a64501e3f576e..58026ff726c0c7472b6374c538e708dca32b0f38 100644 (file)
        "%" "_" name)))
      "m" (string-encode-integer (inexact->exact (round (* 1000 magnify)))))))
 
-(define (tex-font? fontname)
-  (or
-   (equal? (substring fontname 0 2) "cm")
-   (equal? (substring fontname 0 2) "ec")))
-
 (define (define-fonts paper)
   (define font-list (ly:paper-fonts paper))
   (define (define-font command fontname scaling)
                     (* paper-height output-scale (/ (ly:bp 1)))
                     name)))
 
-(define-public (convert-to-dvi book name)
-  (ly:warning (_ "cannot generate ~S using the postscript back-end") "DVI"))
-
-(define-public (convert-to-tex book name)
-  (ly:warning (_ "cannot generate ~S using the postscript back-end") "TeX"))
-
 (define-public (convert-to-ps book name)
   #t)
 
index 53905e087dcf56f6f93b1b94680c8b51d8feb8a0..5cb3a67490f43e9013375ea6964e34acf87f4ad0 100644 (file)
@@ -34,5 +34,3 @@
 (define-public (convert-to-ps . args) #t)
 (define-public (convert-to-pdf . args) #t)
 (define-public (convert-to-png . args) #t)
-(define-public (convert-to-dvi . args) #t)
-(define-public (convert-to-tex . args) #t)
index 45cbfb96397f40ac2636d5ddbf087b8855ff7b4f..69b48db8a15788d651a0da6cdb05359be2c48734 100644 (file)
@@ -33,5 +33,3 @@
 (define-public (convert-to-ps . args) #t)
 (define-public (convert-to-pdf . args) #t)
 (define-public (convert-to-png . args) #t)
-(define-public (convert-to-dvi . args) #t)
-(define-public (convert-to-tex . args) #t)
diff --git a/scm/framework-tex.scm b/scm/framework-tex.scm
deleted file mode 100644 (file)
index 5a602e4..0000000
+++ /dev/null
@@ -1,380 +0,0 @@
-;;;; framework-tex.scm -- structure for TeX output
-;;;;
-;;;; source file of the GNU LilyPond music typesetter
-;;;;
-;;;; (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
-
-(define-module (scm framework-tex)
-  #:export (output-framework-tex       
-           output-classic-framework-tex))
-
-(use-modules (ice-9 regex)
-            (ice-9 string-fun)
-            (scm page)
-            (scm paper-system)
-            (guile)
-            (srfi srfi-1)
-            (srfi srfi-13)
-            (srfi srfi-14)
-            (scm kpathsea)
-            (lily))
-
-(define format ergonomic-simple-format)
-
-(define (output-formats)
-  (define formats (ly:output-formats))
-  (set! formats (completize-formats formats))
-  (if (member "ps" formats)
-      (set! formats (cons "dvi" formats)))
-  (if (member "dvi" formats)
-      (set! formats (cons "tex" formats)))
-
-  (uniq-list formats))
-
-(define framework-tex-module (current-module))
-(define-public (sanitize-tex-string s)
-  (if (ly:get-option 'safe)
-      (regexp-substitute/global
-       #f "\\\\"
-       (regexp-substitute/global #f "([{}])" s 'pre  "\\" 1 'post)
-       'pre "$\\backslash$" 'post)
-      s))
-
-(define (symbol->tex-key sym)
-  (regexp-substitute/global
-   #f "_" (sanitize-tex-string (symbol->string sym)) 'pre "X" 'post))
-
-(define (tex-number-def prefix key number)
-  (string-append
-   "\\def\\" prefix (symbol->tex-key key) "{" number "}%\n"))
-
-(define-public (digits->letters str)
-  (regexp-substitute/global
-   #f "[-\\._]"
-   (regexp-substitute/global
-    #f "([0-9])" str
-    'pre
-    (lambda (match)
-      (make-string
-       1
-       (integer->char
-       (+ (char->integer #\A)
-          (- (char->integer #\0))
-          (char->integer (string-ref (match:substring match 1) 0)))
-       )))
-    'post)
-   'pre ""
-   'post))
-
-(define-public (tex-font-command-raw name magnification)
-  (string-append
-   "magfont"
-   (digits->letters (format "~a" name))
-   "m"
-   (string-encode-integer
-    (inexact->exact (round (* 1000 magnification))))))
-
-(define-public (tex-font-command font)
-  (tex-font-command-raw
-   (ly:font-file-name font) (ly:font-magnification font)))
-
-(define (otf-font-load-command paper font)
-  (let* ((sub-fonts (ly:font-sub-fonts font)))
-    (string-append
-     (apply string-append
-           (map
-            (lambda (sub-name)
-              (format "\\font\\~a=~a scaled ~a%\n"
-                      (tex-font-command-raw
-                       sub-name (ly:font-magnification font))
-                      sub-name
-                      (ly:number->string
-                       (inexact->exact
-                        (round (* 1000
-                                  (ly:font-magnification font)
-                                  (ly:paper-output-scale paper)))))))
-            sub-fonts)))))
-
-(define (simple-font-load-command paper font)
-   (format
-    "\\font\\~a=~a scaled ~a%\n"
-    (tex-font-command font)
-    (ly:font-file-name font)
-    (inexact->exact
-     (round (* 1000
-              (ly:font-magnification font)
-              (ly:paper-output-scale paper))))))
-
-(define (font-load-command paper font)
-  (if (pair? (ly:font-sub-fonts font))
-      (otf-font-load-command paper font)
-      (simple-font-load-command paper font)))
-
-(define (define-fonts paper)
-  (string-append
-   ;; UGH. FIXME.
-   "\\def\\lilypondpaperunit{mm}%\n"
-   (tex-number-def "lilypondpaper" 'output-scale
-                  (number->string (exact->inexact
-                                   (ly:paper-output-scale paper))))
-   (tex-string-def "lilypondpaper" 'papersize
-                  (eval 'papersizename (ly:output-def-scope paper)))
-   ;; paper/layout?
-   (tex-string-def "lilypondpaper" 'input-encoding
-                  (eval 'input-encoding (ly:output-def-scope paper)))
-
-   (apply string-append
-         (map (lambda (x) (font-load-command paper x))
-              (ly:paper-fonts paper)))))
-
-(define (tex-string-def prefix key str)
-  (if (equal? "" (sans-surrounding-whitespace (sanitize-tex-string str)))
-      (string-append "\\let\\" prefix (symbol->tex-key key) "\\undefined%\n")
-      (string-append "\\def\\" prefix (symbol->tex-key key)
-                    "{" (sanitize-tex-string str) "}%\n")))
-
-(define (header paper page-count classic?)
-  (let ((scale (ly:output-def-lookup paper 'output-scale))
-       (texpaper (string-append
-                  (ly:output-def-lookup paper 'papersizename)
-                  "paper"))
-       (landscape? (eq? #t (ly:output-def-lookup paper 'landscape))))
-    (string-append
-     "% Generated by LilyPond "
-     (lilypond-version) "\n"
-     "% at " "time-stamp,FIXME" "\n"
-     (if classic?
-        (tex-string-def "lilypond" 'classic "1")
-        "")
-
-     (if (ly:get-option 'safe)
-        "\\nofiles\n"
-        "")
-
-     (tex-string-def
-      "lilypondpaper" 'line-width
-      (ly:number->string (* scale (ly:output-def-lookup paper 'line-width))))
-     "\\def\\lilyponddocumentclassoptions{"
-     (sanitize-tex-string texpaper)
-     (if landscape? ",landscape" "")
-     "}%\n"
-     )))
-
-(define (header-end)
-  (string-append
-   "\\def\\scaletounit{ "
-   (number->string lily-unit->bigpoint-factor)
-   " mul }%\n"
-   "\\ifx\\lilypondstart\\undefined\n"
-   "  \\input lilyponddefs\n"
-   "\\fi\n"
-   "\\lilypondstart\n"
-   "\\lilypondspecial\n"
-   "\\lilypondpostscript\n"))
-
-(define (dump-page putter page last? with-extents?)
-  (ly:outputter-dump-string
-   putter
-   (format "\\lybox{~a}{~a}{%\n"
-          (if with-extents?
-              (interval-start (ly:stencil-extent page X))
-              0.0)
-          (if with-extents?
-              (- (interval-start (ly:stencil-extent page Y)))
-              0.0)))
-  (ly:outputter-dump-stencil putter page)
-  (ly:outputter-dump-string
-   putter
-   (if last?
-       "}%\n\\vfill\n"
-       "}%\n\\vfill\n\\lilypondpagebreak\n")))
-
-(define-public (output-framework basename book scopes fields)
-  (let* ((filename (format "~a.tex" basename))
-        (outputter  (ly:make-paper-outputter (open-file filename "wb") 'tex))
-        (paper (ly:paper-book-paper book))
-        (page-stencils (map page-stencil (ly:paper-book-pages book)))
-        (last-page (car (last-pair pages)))
-        (with-extents
-         (eq? #t (ly:output-def-lookup paper 'dump-extents))))
-    (for-each
-     (lambda (x)
-       (ly:outputter-dump-string outputter x))
-     (list
-      (header paper (length page-stencils) #f)
-      (define-fonts paper)
-      (header-end)))
-    (ly:outputter-dump-string outputter "\\lilypondnopagebreak\n")
-    (for-each
-     (lambda (page)
-       (dump-page outputter page (eq? last-page page) with-extents))
-     page-stencils)
-    (ly:outputter-dump-string outputter "\\lilypondend\n")
-    (ly:outputter-close outputter)
-    (postprocess-output book framework-tex-module filename
-                       (output-formats))))
-
-(define (dump-line putter line last?)
-  (ly:outputter-dump-string
-   putter
-   (format "\\lybox{~a}{~a}{%\n"
-          (ly:number->string
-           (max 0 (interval-end (paper-system-extent line X))))
-          (ly:number->string
-           (interval-length (paper-system-extent line Y)))))
-
-  (ly:outputter-dump-stencil putter (paper-system-stencil line))
-  (ly:outputter-dump-string
-   putter
-   (if last?
-       "}%\n"
-       "}\\interscoreline\n")))
-
-(define-public (output-classic-framework
-               basename book scopes fields)
-  (let* ((filename (format "~a.tex" basename))
-        (outputter  (ly:make-paper-outputter
-                     (open-file filename "w") 'tex))
-        (paper (ly:paper-book-paper book))
-        (lines (ly:paper-book-systems book))
-        (last-line (car (last-pair lines))))
-    (for-each
-     (lambda (x)
-       (ly:outputter-dump-string outputter x))
-     (list
-      ;;FIXME
-      (header paper (length lines) #f)
-      "\\def\\lilypondclassic{1}%\n"
-      (output-scopes scopes fields basename)
-      (define-fonts paper)
-      (header-end)))
-
-    (for-each
-     (lambda (line) (dump-line outputter line (eq? line last-line))) lines)
-    (ly:outputter-dump-string outputter "\\lilypondend\n")
-    (ly:outputter-close outputter)
-    (postprocess-output book framework-tex-module filename
-                       (output-formats))
-    ))
-
-(define-public (output-preview-framework
-               basename book scopes fields)
-  (let* ((filename (format "~a.tex" basename))
-        (outputter  (ly:make-paper-outputter (open-file filename "wb")
-                                             'tex))
-        (paper (ly:paper-book-paper book))
-        (lines (ly:paper-book-systems book))
-        (first-notes-index (list-index
-                            (lambda (s) (not (ly:paper-system-title? s)))
-                            lines)))
-
-    (for-each
-     (lambda (x)
-       (ly:outputter-dump-string outputter x))
-     (list
-      
-      ;;FIXME
-      (header paper (length lines) #f)
-      "\\def\\lilypondclassic{1}%\n"
-      (output-scopes scopes fields basename)
-      (define-fonts paper)
-      (header-end)))
-
-    (for-each
-     (lambda (lst)
-       (dump-line outputter lst (not (ly:paper-system-title? lst))))
-     (take lines (1+ first-notes-index)))
-    (ly:outputter-dump-string outputter "\\lilypondend\n")
-    (ly:outputter-close outputter)
-    (postprocess-output book framework-tex-module filename
-                       (output-formats))))
-
-(define-public (convert-to-pdf book name)
-  (let* ((defs (ly:paper-book-paper book))
-        (paper-width (ly:output-def-lookup defs 'paper-width))
-        (paper-height (ly:output-def-lookup defs 'paper-height))
-        (output-scale (ly:output-def-lookup defs 'output-scale)))
-    (postscript->pdf (* paper-width output-scale (/ (ly:bp 1)))
-                    (* paper-height output-scale (/ (ly:bp 1)))
-                    (string-append (dir-basename name ".tex") ".ps"))))
-
-(define-public (convert-to-png book name)
-  (let* ((defs (ly:paper-book-paper book))
-        (resolution (ly:output-def-lookup defs 'pngresolution))
-        (paper-width (ly:output-def-lookup defs 'paper-width))
-        (paper-height (ly:output-def-lookup defs 'paper-height))
-        (output-scale (ly:output-def-lookup defs 'output-scale)))
-    (postscript->png
-     (if (number? resolution)
-        resolution
-        (ly:get-option 'resolution))
-
-     (* paper-width output-scale (/ (ly:bp 1)))
-     (* paper-height output-scale (/ (ly:bp 1)))
-
-     (string-append (dir-basename name ".tex") ".ps"))))
-
-(define-public (convert-to-ps book name)
-  (let* ((paper (ly:paper-book-paper book))
-        (preview? (string-contains name ".preview"))
-        (papersizename (ly:output-def-lookup paper 'papersizename))
-        (landscape? (eq? #t (ly:output-def-lookup paper 'landscape)))
-        (base (dir-basename name ".tex"))
-        (ps-name (format "~a.ps"  base ".ps"))
-        (cmd (string-append "dvips"
-                            (if preview?
-                                " -E"
-                                (string-append
-                                 " -t"
-                                 ;; careful: papersizename is user-set.
-                                 (sanitize-command-option papersizename)
-                                 ""))
-                            (if landscape? " -tlandscape" "")
-                            (if (ly:kpathsea-find-file "lm.map")
-                                " -u+lm.map" "")
-                            (if (ly:kpathsea-find-file "ecrm10.pfa")
-                                " -u+ec-mftrace.map" "")
-                            " -u+lilypond.map -Ppdf" ""
-                            " -o" ps-name
-                            " " base)))
-    (if (access? ps-name W_OK)
-       (delete-file ps-name))
-    (if (not (ly:get-option 'verbose))
-       (begin
-         (ly:message (_ "Converting to `~a'...") (string-append base ".ps"))
-         (ly:progress "\n")))
-    (ly:system cmd)))
-
-(define-public (convert-to-dvi book name)
-  (let* ((curr-extra-mem
-         (string->number
-          (regexp-substitute/global
-           #f " *%.*\n?"
-           (ly:kpathsea-expand-variable "extra_mem_top")
-           'pre "" 'post)))
-        (base (dir-basename name ".tex"))
-        (cmd (format
-              #f "latex \\\\nonstopmode \\\\input '~a'" name)))
-
-    ;; FIXME: latex 'foo bar' works, but \input 'foe bar' does not?
-    (if (string-index name (char-set #\space #\ht #\newline #\cr))
-       (ly:error (_"TeX file name must not contain whitespace: `~a'") name))
-
-    (setenv "extra_mem_top" (number->string (max curr-extra-mem 1024000)))
-    (let ((dvi-name (string-append base ".dvi")))
-      (if (access? dvi-name W_OK)
-         (delete-file dvi-name)))
-    (if (not (ly:get-option 'verbose))
-       (begin
-         (ly:message (_ "Converting to `~a'...") (string-append base ".dvi"))
-         (ly:progress "\n")))
-
-    ;; FIXME: set in environment?
-    (if (ly:get-option 'safe)
-       (set! cmd (string-append "openout_any=p " cmd)))
-
-    (ly:system cmd)))
-
-(define-public (convert-to-tex book name)
-  #t)
-
diff --git a/scm/framework-texstr.scm b/scm/framework-texstr.scm
deleted file mode 100644 (file)
index 0fec9f9..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-;;;; framework-tex.scm --
-;;;;
-;;;;  source file of the GNU LilyPond music typesetter
-;;;;
-;;;; (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
-
-(define-module (scm framework-texstr)
-  #:export (output-framework-tex       
-           output-classic-framework-tex))
-
-(use-modules (ice-9 regex)
-            (scm paper-system)
-            (ice-9 string-fun)
-            (guile)
-            (srfi srfi-1)
-            (srfi srfi-13)
-            (lily))
-
-(define format ergonomic-simple-format)
-
-(define (header filename)
-  (format  "% header
-\\input{lilypond-tex-metrics}
-\\documentclass{article}
-\\lilyglobalscale{1.0}
-\\lilymetricsfile{~a.textmetrics}
-\\begin{document}
-" filename))
-
-(define (footer)
-  "
-\\end{document}
-")
-
-(define-public (output-classic-framework basename book scopes fields)
-  (let* ((filename (format #f "~a.texstr" basename))
-        (outputter (ly:make-paper-outputter
-                    (open-file filename "wb")
-                    (ly:get-option 'backend)))
-        (paper (ly:paper-book-paper book))
-        (lines (ly:paper-book-systems book)))
-    (ly:outputter-dump-string outputter (header basename))
-    (for-each
-     (lambda (system)
-       (ly:outputter-dump-stencil outputter (paper-system-stencil system)))
-     lines)
-    (ly:outputter-dump-string outputter (footer))))
-
-(define-public (output-framework basename book scopes fields )
-  (let* ((filename (format #f "~a.texstr" basename))
-        (outputter
-         (ly:make-paper-outputter
-          (open-file filename "wb")
-          (ly:get-option 'backend)))
-        (paper (ly:paper-book-paper book))
-        (pages (ly:paper-book-pages book)))
-    (ly:outputter-dump-string outputter (header basename))
-    (for-each
-     (lambda (page)
-       (ly:outputter-dump-stencil outputter page))
-     pages)
-    (ly:outputter-dump-string outputter (footer))))
-
-(define-public (convert-to-ps . args) #t)
-(define-public (convert-to-pdf . args) #t)
-(define-public (convert-to-png . args) #t)
-(define-public (convert-to-dvi . args) #t)
-(define-public (convert-to-tex . args) #t)
index c9914981a821f467254c3379e48b4e2cd7db85c0..7122ac3694be6d2fbd11daa1bf83310a2d329ebd 100644 (file)
@@ -31,7 +31,7 @@
     ;; - [subject-]-verb-object-object
 
     (anti-alias-factor 1 "render at higher resolution and scale down result\nto prevent jaggies in PNG")
-    (backend ps "which backend to use by default; Options: eps, ps [default], scm, svg, tex, texstr)")
+    (backend ps "which backend to use by default; Options: eps, ps [default], scm, svg)")
     (check-internal-types #f "check every property assignment for types")
     (clip-systems #f "Generate cut-out snippets of a score")
     (datadir #f "LilyPond prefix for data files (Readonly).")
@@ -163,17 +163,9 @@ on errors, and print a stack trace.")
 (if (ly:get-option 'trace-scheme-coverage)
     (coverage:enable))
 
-(define-public tex-backend?
-  (member (ly:get-option 'backend) '(texstr tex)))
-
 (define-public parser #f)
 
 
-;; TeX C++ code actually hooks into TEX_STRING_HASHLIMIT 
-(define-public TEX_STRING_HASHLIMIT 10000000)
-
-
-
 ;; gettext wrapper for guile < 1.7.2
 (if (defined? 'gettext)
     (define-public _ gettext)
@@ -251,8 +243,6 @@ predicates. Print a message at LOCATION if any predicate failed."
 
 ;;(define-public (output-framework) (write "hello\n"))
 
-(define output-tex-module
-  (make-module 1021 (list (resolve-interface '(scm output-tex)))))
 (define output-ps-module
   (make-module 1021 (list (resolve-interface '(scm output-ps)))))
 
diff --git a/scm/output-tex.scm b/scm/output-tex.scm
deleted file mode 100644 (file)
index dc53b5a..0000000
+++ /dev/null
@@ -1,178 +0,0 @@
-;;;; tex.scm -- implement Scheme output routines for TeX
-;;;;
-;;;;  source file of the GNU LilyPond music typesetter
-;;;; 
-;;;; (c) 1998--2008 Jan Nieuwenhuizen <janneke@gnu.org>
-;;;;                 Han-Wen Nienhuys <hanwen@xs4all.nl>
-
-
-;; The public interface is tight.
-;; It has to be, because user-code is evalled with this module.
-
-;; ***It should also be clean, well defined, documented and reviewed***
-
-;; To be reasonably safe, you probably do not want to use the TeX
-;; backend anyway, but rather the PostScript backend.  You may want
-;; to run gs in a uml sandbox too.
-
-
-(define-module (scm output-tex)
-  #:re-export (quote)
-
-  ;; JUNK this -- see lily.scm: ly:all-output-backend-commands
-  #:export (unknown
-           blank
-           circle
-           dot
-           dashed-slur
-           named-glyph
-           dashed-line
-           comment
-           repeat-slash
-           placebox
-           bezier-sandwich
-           round-filled-box
-           text
-           setcolor
-           resetcolor
-           polygon
-           draw-line
-           no-origin
-           grob-cause))
-
-(use-modules (ice-9 regex)
-            (ice-9 string-fun)
-            (guile)
-            (srfi srfi-13)
-            (scm framework-tex)
-            (lily))
-
-
-
-;;;;;;;;
-;;;;;;;; DOCUMENT ME!
-;;;;;;;;
-
-
-(define (char font i)
-  (string-append "\\" (tex-font-command font)
-                "\\char" (ly:inexact->string i 10) " "))
-
-(define (unknown) 
-  "%\n\\unknown\n")
-
-(define (url-link url x y)
-  "")
-
-(define (blank)
-  "")
-
-(define (circle radius thick)
-  (embedded-ps (list 'circle radius thick)))
-
-(define (dot x y radius)
-  (embedded-ps (list 'dot x y radius)))
-
-(define (embedded-ps string)
-  (embedded-ps (list 'embedded-ps string)))
-
-(define (dashed-slur thick on off lst)
-  (embedded-ps (list 'dashed-slur thick on off `(quote ,lst))))
-
-(define (named-glyph font name)
-  (let* ((info (ly:otf-font-glyph-info font name))
-        (subfont (assoc-get 'subfont info))
-        (subidx  (assoc-get 'subfont-index info)))
-    
-    ;;(stderr "INFO: ~S\n" info)
-    ;;(stderr "FONT: ~S\n" font)
-    (if (and subfont subidx)
-       (string-append "\\" (tex-font-command-raw
-                            subfont
-                            (ly:font-magnification font))
-                      "\\char" (number->string subidx))
-
-       (begin
-         (ly:warning (_ "cannot find ~a in ~a" name font))
-         ""))))
-
-(define (dashed-line thick on off dx dy phase)
-  (embedded-ps (list 'dashed-line  thick on off dx dy phase)))
-
-(define (embedded-ps expr)
-  (let ((ps-string
-        (with-output-to-string
-          (lambda () (ps-output-expression expr (current-output-port))))))
-    (string-append "\\embeddedps{" ps-string "}")))
-
-(define (repeat-slash w a t)
-  (embedded-ps (list 'repeat-slash  w a t)))
-
-(define (number->dim x)
-  (string-append
-   ;;ugh ly:* in backend needs compatibility func for standalone output
-   (ly:number->string x) " \\output-scale "))
-
-(define (placebox x y s) 
-  (string-append
-   "\\lyitem{" (ly:number->string x) "}{" (ly:number->string y) "}{" s "}%\n"))
-
-(define (bezier-sandwich lst thick)
-  (embedded-ps (list 'bezier-sandwich `(quote ,lst) thick)))
-
-
-(define (round-filled-box x y width height blotdiam)
-  (embedded-ps (list 'round-filled-box  x y width height blotdiam)))
-
-(define (text font s)
-  (format #f
-   "\\hbox{\\~a{}~a}" (tex-font-command font)
-   (sanitize-tex-string s)))
-
-(define (setcolor r g b)
-  (string-append "\\color[rgb]{"
-  (number->string r) ", "
-  (number->string g) ", "
-  (number->string b) "}"))
-
-;; FIXME
-;; The PostScript backend saves the current color
-;; during setcolor and restores it during resetcolor.
-;; We don't do that here.
-(define (resetcolor)
-  (string-append "\\color[rgb]{0,0,0}\n"))
-
-(define (polygon points blot-diameter fill)
-  (embedded-ps (list 'polygon `(quote ,points) blot-diameter fill)))
-
-(define (draw-line thick fx fy tx ty)
-  (embedded-ps (list 'draw-line thick fx fy tx ty)))
-
-;; no-origin not yet supported by Xdvi
-(define (no-origin) "")
-
-
-(define-public (line-location  file line col)
-  "Print an input location, without column number ."
-  (string-append (number->string line) " " file))
-
-(define-public point-and-click #f)
-
-(define (grob-cause offset grob)
-  (define (line-column-location file line col)
-    "Print an input location, including column number ."
-    (string-append (number->string line) ":"
-                  (number->string col) " " file))
-
-  (if (procedure? point-and-click)
-      (let* ((cause (ly:grob-property grob 'cause))
-            (music-origin (if (ly:stream-event? cause)
-                              (ly:event-property cause 'origin)))
-            (location (if (ly:input-location? music-origin)
-                          (ly:input-file-line-column music-origin))))
-       (if (pair? location)
-            ;;; \\string ? 
-           (string-append "\\special{src:"
-                          (line-column-location location) "}")
-           ""))
-      ""))
diff --git a/scm/output-texstr.scm b/scm/output-texstr.scm
deleted file mode 100644 (file)
index 324b5b1..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-;;;; texstr.scm -- implement Scheme output routines for TeX strings
-;;;;
-;;;;  source file of the GNU LilyPond music typesetter
-;;;; 
-;;;; (c) 2004--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
-
-(define-module (scm output-texstr))
-(define this-module (current-module))
-
-(use-modules
- (guile)
- (ice-9 regex)
- (srfi srfi-13)
- (scm framework-tex)
- (lily))
-
-(define (dummy . foo) #f)
-
-(map (lambda (x) (module-define! this-module x dummy))
-     (ly:all-stencil-expressions))
-
-(define-public (grob-cause . x) "")
-(define-public (no-origin . x) "")
-(define-public (placebox
-               x y what)
-  (if (string? what)
-      what
-      ""))
-
-
-(define-public (text font str)
-  (call-with-output-string
-   (lambda (port)
-     (display (format "\\lilygetmetrics{~a~a}{~a}{1.0}{~a}\n"
-                     
-                     (hash str TEX_STRING_HASHLIMIT)
-                   (ly:font-file-name font)
-                   (ly:font-file-name font)
-                   (sanitize-tex-string str))
-             port)
-     )))
index 1879732834490180c566ae9bf4e89439c1cd2609..81f1fa78ce85095a8707f051bbfdcfc683647a63 100644 (file)
     (setm! 'text-font-size (* 12 factor))
     
     (setm! 'output-scale ss)
-    (setm! 'fonts
-                   (if tex-backend?
-                       (make-cmr-tree factor)
-                       (make-century-schoolbook-tree factor)))
+    (setm! 'fonts (make-century-schoolbook-tree factor))
     (setm! 'staff-height staff-height)
     (setm! 'staff-space ss)
 
index 5a6565bc58c6d9a4390e872b72d747e4110e8358..d6f1cac90087c6b76a2762c6143d027f8ec755ba 100644 (file)
@@ -259,7 +259,6 @@ NOTES = 'body'
 NOTIME = 'notime'
 OUTPUT = 'output'
 OUTPUTIMAGE = 'outputimage'
-PACKED = 'packed'
 PAPER = 'paper'
 PREAMBLE = 'preamble'
 PRINTFILENAME = 'printfilename'
@@ -603,8 +602,6 @@ ly_options = {
         RAGGED_RIGHT: r'''ragged-right = ##t''',
 
         NORAGGED_RIGHT: r'''ragged-right = ##f''',
-
-        PACKED: r'''packed = ##t''',
     },
 
     ##
index 51302a630905979712051da8bb09bc3092259b0f..bc9dcc9201355f15d5eb99b3a87b78ebfba0d633 100644 (file)
@@ -1,11 +1,11 @@
 depth = ..
 
 TEX_FILES = $(filter-out texinfo.tex, $(call src-wildcard,*.tex))
-EXTRA_DIST_FILES = $(TEX_FILES) texinfo.tex quotes.patch
-STEPMAKE_TEMPLATES=install install-out
+EXTRA_DIST_FILES = $(TEX_FILES) texinfo.tex
+STEPMAKE_TEMPLATES = install install-out
 
-INSTALLATION_DIR=$(local_lilypond_datadir)/tex/
-INSTALLATION_FILES=$(TEX_FILES)
+INSTALLATION_DIR = $(local_lilypond_datadir)/tex/
+INSTALLATION_FILES = $(TEX_FILES)
 
 include $(depth)/make/stepmake.make
 
@@ -13,4 +13,3 @@ local-uninstall:
        -rmdir $(DESTDIR)$(local_lilypond_datadir)/tex
 
 all: $(INSTALLATION_FILES)
-
diff --git a/tex/lily-ps-defs.tex b/tex/lily-ps-defs.tex
deleted file mode 100644 (file)
index 4a05f9d..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-%% lily-ps-defs.tex
-%%
-\edef\lilypsdefsELC{\the\endlinechar}%
-\endlinechar -1\relax
-
-%% Header info (macros/defs, etc) should go into a \special{! ... };
-%% note the ! sign.  See dvips.info for details.
-%%
-%% We protect punctuation characters with \string to avoid problems with
-%% language specific shorthands (e.g. `:' for French, `"' for German, etc.).
-
-\gdef\lilypondsetdimen#1{
-  \expandafter\gdef\csname #1ps\endcsname{}
-  \special{
-    \string!
-    /#1 (\csname #1\endcsname) set_tex_dimen}}
-
-\gdef\lilypondspace{ }
-
-\gdef\lilypondpostscript{
-  %% A document processed with lilypond-book can contain music fragments in
-  %% different sizes.  To reduce overhead, we define `lyscaleXXX' PS macros
-  %% only once.
-  \lilypondifundefined{lyscale\lilypondpaperoutputscale}
-    {\expandafter\gdef\csname lyscale\lilypondpaperoutputscale\endcsname{}
-     %% This sets CTM so that you get to the currentpoint
-     %% by executing a 0 0 moveto
-     \special{
-       \string!
-       /lyscale\lilypondpaperoutputscale
-         {\lilypondpaperoutputscale\lilypondspace\scaletounit %
-          dup scale} def}}
-    {}
-                      
-  \def\embeddedps##1{
-    \special{
-      \string"
-      lyscale\lilypondpaperoutputscale\lilypondspace ##1}}}
-
-\endlinechar \lilypsdefsELC
-\endinput
-
-%% end lily-ps-defs.tex
diff --git a/tex/lilyponddefs.tex b/tex/lilyponddefs.tex
deleted file mode 100644 (file)
index a7b5a2b..0000000
+++ /dev/null
@@ -1,370 +0,0 @@
-%%% lilyponddefs.tex -- TeX macros for LilyPond output.
-%%%
-%%%  source file of the GNU LilyPond music typesetter
-%%% 
-%%% (c) 1998--2008 Jan Nieuwenhuizen <janneke@gnu.org>
-%%%                 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-%%%                 Mats Bengtsson <mats.bengtsson@s3.kth.se>
-%%%
-%%
-%% Avoid \par while reading this file.
-%%
-\edef\lilyponddefsELC{\the\endlinechar}%
-\endlinechar -1\relax
-
-%% This runs with plain TeX, LaTeX, pdftex, and texinfo.
-%%
-%% To avoid interferences, lilyponddefs.tex must be loaded within a group.
-%% It is loaded only once, so the definitions must be global.
-%%
-%% The overall structure of a file created by LilyPond is as follows:
-%%
-%%   <lilypond parameter definitions>
-%%   <font setup>
-%%   \ifx\lilypondstart \undefined
-%%     \input lilyponddefs
-%%   \fi
-%%   \lilypondstart
-%%   <note output>
-%%   \lilypondend
-
-%% A temporary variable.
-%%
-\newdimen\lytempdim
-
-%% The scaling factor for all dimensions.
-%%
-\newdimen\outputscale
-
-\long\gdef\lilypondfirst#1#2{#1}
-\long\gdef\lilypondsecond#1#2{#2}
-
-%% \lilypondundefined{xxx}{foo}{bar}
-%%
-%%   If `xxx' (without the leading backslash) is an undefined macro,
-%%   execute block `foo'.  Otherwise, execute block `bar'.  Based on
-%%   a similar macro from the LaTeX kernel.
-%%
-\gdef\lilypondifundefined#1{
-  \expandafter\ifx\csname#1\endcsname\relax
-    \expandafter\lilypondfirst
-  \else
-    \expandafter\lilypondsecond
-  \fi
-}
-
-%% Urgh.  LilyPond uses EC fonts, but texinfo is based on CM.  We thus
-%% have to handle T1 font encoding by ourselves; all manipulations are
-%% collected in the macro \lilypondECencoding.  Note that the following
-%% code only provides the texinfo interface, not complete access to all
-%% EC glyphs.
-%%
-%% All definitions are taken from texinfo or LaTeX (with modifications
-%% if necessary).
-%%
-\begingroup
-\catcode `\@=11\relax
-\gdef\lilypondECencoding{
-  \def\"##1{
-    {\accent4 ##1}}
-  \def\'##1{
-    {\accent1 ##1}}
-  \def\,##1{
-    {\leavevmode
-     \setbox\z@\hbox{##1}
-     \ifdim\ht\z@=1ex
-       \accent11 ##1
-     \else
-       {\ooalign{
-          \unhbox\z@
-          \crcr
-          \hidewidth
-          \char11
-          \hidewidth}}
-     \fi}}
-  \def\=##1{
-    {\accent9 ##1}}
-  \def\^##1{
-    {\accent2 ##1}}
-  \def\`##1{
-    {\accent0 ##1}}
-  \def\~##1{
-    {\accent3 ##1}}
-  \def\dotaccent##1{
-    {\accent10 ##1}}
-  \def\H##1{
-    {\accent5 ##1}}
-  \def\ringaccent##1{
-    {\accent6 ##1}}
-% \def\tieaccent##1{}        % unsupported: this is TS1
-  \def\u##1{
-    {\accent8 ##1}}
-  \def\ubaraccent##1{
-    {\o@lign{
-       \relax
-       ##1
-       \crcr
-       \hidewidth
-       \sh@ft{29}\vbox to.2ex{
-         \hbox{\char9}
-         \vss}
-       \hidewidth}}}
-  \def\udotaccent##1{
-    {\o@lign{
-       \relax
-       ##1
-       \crcr
-       \hidewidth
-       \sh@ft{10}.
-       \hidewidth}}}
-  \def\v##1{
-    {\accent7 ##1}}
-
-  \chardef\exclamdown=189
-  \chardef\questiondown=190
-
-  \def\aa{
-    \ringaccent{a}}
-  \def\AA{
-    \ringaccent{A}}
-  \chardef\AE=198
-  \chardef\ae=230
-  \chardef\ptexi=25
-  \chardef\j=26
-  \chardef\L=138
-  \chardef\l=170
-  \chardef\O=216
-  \chardef\o=248
-  \chardef\OE=215
-  \chardef\oe=247
-  \chardef\ss=255
-}
-\endgroup
-
-%% This macro provides the necessary setup to make the lilypond data
-%% work with plain TeX, LaTeX, and texinfo.
-%%
-%% The reason of using \begingroup and \endgroup is to make the macro \x
-%% immediately disappear after it has been executed.  Since we have \def
-%% within \def within \gdef, four hash signs (`#') are needed for
-%% parameters.
-%%
-%% \lilypondfontencoding is emitted by LilyPond to set the encoding of
-%% text strings.
-%%
-\gdef\lilypondstart{
-  \frenchspacing
-  \outputscale \lilypondpaperoutputscale\lilypondpaperunit
-
-  \begingroup
-  \catcode `\@=11\relax
-
-  %% \@nodocument is defined as \relax after `\begin{document}'
-  \lilypondifundefined{@nodocument}
-    {%% Either plain TeX or texinfo or not at the beginning of LaTeX input.
-     \def\x{
-       \endgroup
-
-       \def\lilypondfontencoding####1{
-         \lilypondECencoding}
-       \def\lilypondpagebreak{
-         \eject}
-       \def\lilypondnopagebreak{
-         \ifvmode
-           \penalty 10000\relax
-         \fi}}}
-
-    {%% LaTeX mode: Provide a complete preamble.
-     \def\x{
-       \endgroup
-
-       %% Indicate that we shall emit `\end{document}' while executing
-       %% \lilypondend.
-       \def\lilyponddocument{}
-
-       \def\lilypondfontencoding####1{
-         \fontencoding{####1}
-         \selectfont}
-       \def\lilypondpagebreak{
-         \newpage}
-       \def\lilypondnopagebreak{
-         \nopagebreak}
-
-       \documentclass[\lilyponddocumentclassoptions]{article}
-
-       %% As a safety guard, don't produce auxiliary files.
-       \nofiles
-
-       %% FIXME: workaround non-existent TeX.def.
-       \def\TeXdef{TeX}\ifx\TeXdef\lilypondpaperinputencoding
-         \usepackage[latin1]{inputenc}
-       \else
-         \usepackage[\lilypondpaperinputencoding]{inputenc}
-       \fi
-       \pagestyle{empty}
-
-       \usepackage{color}
-
-       \lilypondifundefined{lilypondclassic}
-         {%% If not in `classic' mode, undo LaTeX's page layout settings
-          %% since LilyPond does the layout by itself.
-          \topmargin-1in
-          \headheight0pt\headsep0pt
-          \oddsidemargin-1in
-          \evensidemargin\oddsidemargin}
-
-         {%% Otherwise center output horizontally, without changing the
-          %% vertical positioning.
-          \hsize\lilypondpaperlinewidth\lilypondpaperunit
-          \lytempdim \paperwidth
-          \advance\lytempdim -\the\hsize
-          \lytempdim 0.5\lytempdim
-          \advance\lytempdim -1in
-          \oddsidemargin \lytempdim
-          \evensidemargin \lytempdim}
-
-       \parindent 0pt
-
-       %% We can't directly say `\begin{document}' in this macro since
-       %% older versions of texinfo.tex define \begin as \outer; this
-       %% means that it causes an error if \begin is found within another
-       %% macro (even if the corresponding code will never be executed).
-       %% As a workaround we use \csname to call \begin.
-       \csname begin\endcsname{document}}}
-  \x}
-
-%% The opposite of \lilypondstart.
-%%
-\gdef\lilypondend{
-  %% Handle the `lastpagefill' parameter from the \layout block.
-  %% Ignore it if \lilypondbook is defined.
-  \lilypondifundefined{lilypondbook}
-    {\lilypondifundefined{lilypondpaperlastpagefill}
-       {\vskip 0pt plus\lilypondpaperinterscorelinefill00 fill}
-       {}}
-    {}
-
-  \begingroup
-  \lilypondifundefined{lilyponddocument}
-    {\def\x{
-       \endgroup}}
-    {\def\x{
-       \endgroup
-       \csname end\endcsname{document}}}
-  \x}
-
-%% Load the PostScript drawing routines.  This is done using \special.
-%% To avoid multiple inclusions, redefine \lilypondspecial to a no-op
-%% afterwards.
-%%
-\gdef\lilypondspecial{
-  \special{header=music-drawing-routines.ps}
-  \gdef\lilypondspecial{}}
-
-%% The most used macro in LilyPond output.  Put #3 into a zero-width box
-%% which is moved to the right by #1 (scaled by \outputscale) and moved
-%% up by #2 (also scaled by \outputscale).
-%%
-\gdef\lyitem#1#2#3{
-  \raise #2\outputscale \hbox to 0pt {
-    \kern #1\outputscale
-    #3
-    \hss}}
-
-%% All LilyPond music data is enclosed in this macro (as third argument).
-%% The data (which consists of boxes with zero width) gets an artificial
-%% width of #1 and a height of #2.  The resulting box is then centered
-%% vertically along the x-height of the current font.
-%%
-%% Parameters #1 and #2 are scaled by \outputscale.
-%%
-\gdef\lybox#1#2#3{
-  \lytempdim #2\outputscale
-  \lytempdim -0.5\lytempdim
-  \advance\lytempdim 1ex
-  \leavevmode
-  \raise \lytempdim \hbox to #1\outputscale {
-    %% Convert depth of #3 into height only.
-    \vbox to #2\outputscale {\hbox{#3}\vss}
-    \hss}}
-
-%% Produce a black bar (width #2, depth #3, height #4) with a vertical
-%% offset #1.  Everything is scaled by \outputscale.
-%%
-\gdef\lyvrule#1#2#3#4{
-  \kern#1\outputscale
-  \vrule width #2\outputscale depth #3\outputscale height #4\outputscale}
-
-%% FIXME: 'interscoreline' and 'lilypondPAPERinterscoreline
-%%
-\lilypondifundefined{lilypondpaperinterscorelinefill}
-  {\gdef\lilypondpaperinterscorelinefill{0}}
-  {\gdef\lilypondpaperinterscorelinefill{1}}
-
-%% Allow overriding of interscoreline, e.g., for LilyPond's --preview
-%%
-\lilypondifundefined{interscoreline}
-  {\lilypondifundefined{lilypondclassic}
-     {\gdef\interscoreline{}}
-     {\gdef\interscoreline{
-        \vskip\lilypondpaperinterscoreline\lilypondpaperunit
-        plus \lilypondpaperinterscorelinefill fill}}}
-  {}
-
-%% Include PostScript definitions (which are differently defined for
-%% TeX and pdfTeX).  This is loaded once only because the inputted files
-%% define \lilypondpostscript.
-%%
-%% (Don't remove the spaces after the arguments to \input!)
-%%
-%
-%% In teTeX-3.0, latex is actually pdfetex, and we need
-%% ifpdf.sty to determinine if we are really *tex or pdf*tex.
-%
-%% \input ifpdf.sty
-%
-%% However, ifpfd.sty is too smart for LilyPond, so we copy the
-%% logic here.  Using \input ifpdf.sty is a no-op when using latex,
-%% and the \ifpdf switch is needed before \documentclass, using
-%% \usepackage{ifpdf} is not an option.
-%
-\input lily-ps-defs 
-
-% barfs with texi 
-% Runaway argument?
-%{
-%! Forbidden control sequence found while scanning use of \lilypondfirst.
-%<inserted text>
-%                \par
-%<to be read again>
-%                   \newif
-%l.330   {\newif
-%               \ifpdf
-%?
-%
-%%
-%\lilypondifundefined{lilypondpostscript}
-%  {\newif\ifpdf
-%   \ifx\pdfoutput\undefined
-%   \else
-%     \ifx\pdfoutput\relax
-%     \else
-%       \ifcase\pdfoutput
-%       \else
-%         \pdftrue
-%       \fi
-%     \fi
-%   \fi
-%   \ifpdf
-%     {\input lily-pdf-defs }
-%   \else
-%     {\input lily-ps-defs }
-%   \fi}
-%  {}
-%
-%% Restore newline functionality (disabled to avoid \par).
-%%
-\endlinechar \lilyponddefsELC
-\endinput
-
-%% end lilyponddefs.tex
diff --git a/tex/quotes.patch b/tex/quotes.patch
deleted file mode 100644 (file)
index b7bba2e..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
---- texinfo/doc/texinfo.tex    2006-06-02 03:19:04.000000000 +0200
-+++ texinfo.tex        2006-06-02 03:19:10.000000000 +0200
-@@ -1878,9 +1878,12 @@
- {
-   \catcode`\-=\active
-   \catcode`\_=\active
-+  \catcode`\'=\active
-   %
-   \global\def\code{\begingroup
-     \catcode`\-=\active  \catcode`\_=\active
-+    \catcode`\'=\active
-+    \let'\singlequotechar
-     \ifallowcodebreaks
-      \let-\codedash
-      \let_\codeunder
-@@ -5059,11 +5062,10 @@
- %
- \maketwodispenvs {lisp}{example}{%
-   \nonfillstart
--  \tt
-+  \tt\quoteexpand
-   \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special.
-   \gobble       % eat return
- }
--
- % @display/@smalldisplay: same as @lisp except keep current font.
- %
- \makedispenv {display}{%
-@@ -5191,6 +5193,12 @@
- \newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount
- %
- \def\starttabbox{\setbox0=\hbox\bgroup}
-+%
-+%
-+% Don't replace quotes with curly quotes. This makes cut & pasting
-+% from a PDF file problematic.
-+% 
-+\def\singlequotechar{\char'15\relax}
- \begingroup
-   \catcode`\^^I=\active
-   \gdef\tabexpand{%
-@@ -5203,6 +5211,11 @@
-       \wd0=\dimen0 \box0 \starttabbox
-     }%
-   }
-+  \catcode`\'=\active
-+  \gdef\quoteexpand{%
-+    \catcode`\'=\active
-+    \def'{\singlequotechar}
-+  }%
- \endgroup
- \def\setupverbatim{%
-   \let\nonarrowing = t%
-@@ -5212,6 +5225,7 @@
-   \def\par{\leavevmode\egroup\box0\endgraf}%
-   \catcode`\`=\active
-   \tabexpand
-+  \quoteexpand
-   % Respect line breaks,
-   % print special symbols as themselves, and
-   % make each space count