]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 0.1.36 release/0.1.36
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Tue, 9 Dec 1997 12:32:23 +0000 (13:32 +0100)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Tue, 9 Dec 1997 12:32:23 +0000 (13:32 +0100)
70 files changed:
AUTHORS.text
Documentation/faq.pod
Documentation/lilypond.pod
Documentation/links.pod
Documentation/literature.pod
INSTALL.text
NEWS
VERSION
bin/clean-diaper.sh
bin/ly2dvi.sh
bin/mf-to-table.py
debian/Makefile
debian/TODO
debian/changelog
debian/copyright
debian/postinst
debian/rules
flower/NEWS
flower/VERSION
flower/include/assoc.hh
init/engraver.ly
init/feta16.ly
init/feta20.ly
init/lily-init.ly
input/cadenza.ly
input/font.ly
input/gallina.ly
input/header.ly [deleted file]
input/kortjakje.ly
input/standchen-16.ly
input/standchen-20.ly
input/standchen.ly
input/toccata-fuga-E.ly
input/twinkle-pop.ly
input/twinkle.ly
lily/VERSION
lily/axis-group-administration.cc
lily/bar-column-grav.cc
lily/bar-grav.cc
lily/clef-grav.cc
lily/include/bar-grav.hh
lily/include/item.hh
lily/include/normal-bar.hh [deleted file]
lily/include/normal-span-bar.hh [deleted file]
lily/include/priority-halign-grav.hh [new file with mode: 0644]
lily/include/score-align-grav.hh [deleted file]
lily/include/score-halign-grav.hh [deleted file]
lily/include/score-priority-grav.hh [new file with mode: 0644]
lily/item.cc
lily/key-grav.cc
lily/meter-grav.cc
lily/normal-bar.cc [deleted file]
lily/normal-span-bar.cc [deleted file]
lily/priority-halign-grav.cc [new file with mode: 0644]
lily/rest.cc
lily/score-align-grav.cc [deleted file]
lily/score-align-gravs.cc [deleted file]
lily/score-halign-grav.cc [deleted file]
lily/score-priority-grav.cc [new file with mode: 0644]
lily/span-bar-grav.cc
lily/span-score-bar-grav.cc
lily/stem.cc
make/lelievijver.lsm
make/lilypond.lsm
make/lilypond.spec
mf/feta-banier.mf
mf/feta-generic.mf
mf/feta-klef.mf
tex/feta16.tex
tex/feta20.tex

index d5bbbea66e1ff2b069c779c011d4379621d60ba7..36f05e91fec0b4cf7c2d55ef2773e21f32e4ac1b 100644 (file)
@@ -61,6 +61,6 @@ C\bC\bC\bCO\bO\bO\bON\bN\bN\bNT\bT\bT\bTR\bR\bR\bRI\bI\bI\bIB\bB\bB\bBU\bU\bU\bUT\bT\bT\bTO\bO\bO\bOR\bR\bR\bRS\bS
 
 
 
-25/Nov/97                LilyPond 0.1.35                        1
+25/Nov/97                LilyPond 0.1.36                        1
 
 
index e9eb1d4a73afbedfbafc7463bd6aa137d2cbb40b..15487142b09c9c37166d4ccc2528ba9594d09c9e 100644 (file)
@@ -182,6 +182,45 @@ Q: How do I change the TeX layout?
 
 A: See F<lilyponddefs.tex>, it has some comments.
 
+
+
+=head2 Development
+
+Q: Could you implement feature XXXX? It is really easy, just extend
+the syntax to allow YYYY!
+
+A: If it is reasonable, I'll add XXXX to the TODO list. In general
+finding a cute syntax (such as YYYY) isn't very hard. The complicated
+issue how to adapt the internals to do XXXX. The parser is really a
+simple front end to the complicated internals. 
+
+Q: Can I join in on LilyPond development?  How do I do this?
+
+A: LilyPond development is open for anyone who wants to join.  We try
+to use a Bazaar style development model for LilyPond, see
+http://locke.ccil.org/~esr/writing/cathedral.html.  This means:
+frequent releases, everyone can send in a patch or do suggestions and
+all development discussions are public.
+
+To be precise, discussions take place on the gnu-music-discuss mailing
+list, which is open for subscription to everyone.
+
+
+Q: I want to implement XXXX!  Should I do this?
+
+A: There might be better ways of doing XXXX, so it's a good thing to
+ask about this before you start hacking.  If you want to keep in touch
+with current developments, you should subscribe to the mailing list
+(see the "links" section of the documentation).
+
+
+Q: I want to implement XXXX!  How should I do this?
+
+A: Your best bet of getting me to include code, is to present it as a
+"fait accompli", ie., to send me a patch.
+
+
+
 Q: How do I learn the C++ code?
 
 A: The entry point is in C<main()>. Good luck. :-)
@@ -210,28 +249,6 @@ Q: Why GPL?
 
 A: Yes.
 
-Q: Could you implement feature XXXX? It is really easy, just extend
-the syntax to allow YYYY!
-
-A: If it is reasonable, I'll add XXXX to the TODO list. In general
-finding a cute syntax (such as YYYY) isn't very hard. The complicated
-issue how to adapt the internals to do XXXX. The parser is really a
-simple front end to the complicated internals. 
-
-
-Q: I want to implement XXXX!  Should I do this?
-
-A: There might be better ways of doing XXXX, so it's a good thing to
-ask about this before you start hacking.  If you want to keep in touch
-with current developments, you should subscribe to the mailing list
-(see the "links" section of the documentation).
-
-
-Q: I want to implement XXXX!  How should I do this?
-
-A: Your best bet of getting me to include code, is to present it as a
-"fait accompli", ie., to send me a patch.
-
 
 Q: Why do I need g++ >= 2.7?
 
index 970bef1dee00d0a948e21435d6d70851a79986e8..0dc1ea97ca27b3ab111960d2174d2c4d305f2278 100644 (file)
@@ -109,7 +109,7 @@ Clef changes, meter changes, cadenza-mode, key changes, repeat bars.
 
 =back
 
-=head1 DISCLAIMER & COPYING POLICY
+=head1 DISCLAIMER AND COPYING POLICY
 
 GNU LilyPond is copyright 1996, 1997 by its authors.  GNU LilyPond is
 distributed under the terms of the GNU General Public License.  GNU LilyPond 
@@ -210,6 +210,8 @@ B<LILYINCLUDE> an (one) additional directory for finding lilypond data.
 
 =head1 BUGS
 
+Lots of them.  See F<TODO> and F<BUGS>
+
 =head1 SEE ALSO
 
 =over 4
index 7a77721c8f3342d7c573ec787a10ee0a4322f199..dc1d9d80041a2059aedbd3bf7005510099db321b 100644 (file)
@@ -25,10 +25,6 @@ LilyPond sources.
 
 An enormous collection of music related URLs
 
-=item http://art.ucsc.edu/faculty/cope/home
-
-See New Scientist, aug 9 1997.
-
 =back
 
 =head2 Ftp 
index 6564ebbea8667c029d583d75f51148930a4785cd..9e8f12f4b2882e5cf222d7e66e1381e3d85c43b2 100644 (file)
@@ -29,9 +29,10 @@ Association of the United States Inc., 1993.
 Ted Ross. ``Teach yourself the art of music engraving and processing''
 (3rd edition). Hansen House, Miami Beach, FLorida.
 
-[This is about engraving, i.e. the real thing with metal plates, but
-it also contains directions on good typesetting. It includes some good
-spacing tables HWN]
+[This is about engraving, i.e. the real thing with metal plates.  It
+contains directions on good typesetting, but the sections reproduction
+technicalities and history are interesting.  Especially the section on
+Music Typewriters is amusing HWN]
 
 Gardner Read. ``Modern Rhythmic Notation.'' Indiana University Press,
 1978.
@@ -61,8 +62,8 @@ D. Roush. ``Music Formatting Guidelines,'' Technical Report
 OSU-CISRC-3/88-TR10, Department of Computer and Information Science,
 The Ohio State University, 1988.
 
-[Rules on formatting music formulated for use in computers. Mainly distilled
-from  [Ross] HWN]
+[Rules on formatting music formulated for use in computers. Mainly
+distilled from [Ross] HWN]
 
 
 =head2 Notation with computers
index 4e80e3a5725348197fe8e7614d6a0707e48be3c2..d5dfe08175fc6b9c7ab68c309d3a44fc4813ed21 100644 (file)
@@ -61,7 +61,7 @@ R\bR\bR\bRU\bU\bU\bUN\bN\bN\bNN\bN\bN\bNI\bI\bI\bIN\bN\bN\bNG\bG\bG\bG
 
 
 
-2/Dec/97                 LilyPond 0.1.35                        1
+2/Dec/97                 LilyPond 0.1.36                        1
 
 
 
@@ -127,7 +127,7 @@ C\bC\bC\bCO\bO\bO\bON\bN\bN\bNF\bF\bF\bFI\bI\bI\bIG\bG\bG\bGU\bU\bU\bUR\bR\bR\bRI\bI\bI\bIN\bN\bN\bNG\bG\bG\bG a\b
 
 
 
-2/Dec/97                 LilyPond 0.1.35                        2
+2/Dec/97                 LilyPond 0.1.36                        2
 
 
 
@@ -193,7 +193,7 @@ INSTALL(1)            LilyPond documentation           INSTALL(1)
 
 
 
-2/Dec/97                 LilyPond 0.1.35                        3
+2/Dec/97                 LilyPond 0.1.36                        3
 
 
 
@@ -259,7 +259,7 @@ I\bI\bI\bIN\bN\bN\bNS\bS\bS\bST\bT\bT\bTA\bA\bA\bAL\bL\bL\bLL\bL\bL\bLI\bI\bI\bIN\bN\bN\bNG\bG\bG\bG
 
 
 
-2/Dec/97                 LilyPond 0.1.35                        4
+2/Dec/97                 LilyPond 0.1.36                        4
 
 
 
@@ -325,7 +325,7 @@ R\bR\bR\bRE\bE\bE\bED\bD\bD\bDH\bH\bH\bHA\bA\bA\bAT\bT\bT\bT L\bL\bL\bLI\bI\bI\bIN\bN\bN\bNU\bU\bU\bUX\bX\bX\bX
 
 
 
-2/Dec/97                 LilyPond 0.1.35                        5
+2/Dec/97                 LilyPond 0.1.36                        5
 
 
 
@@ -391,6 +391,6 @@ A\bA\bA\bAU\bU\bU\bUT\bT\bT\bTH\bH\bH\bHO\bO\bO\bOR\bR\bR\bRS\bS\bS\bS
 
 
 
-2/Dec/97                 LilyPond 0.1.35                        6
+2/Dec/97                 LilyPond 0.1.36                        6
 
 
diff --git a/NEWS b/NEWS
index 1c5b06fafbf64679ebb992b83e11560163286958..8bd448b3c4b0bd6e9b1e02755acb6774a5a5833f 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,16 @@
+pl 36
+       - bf: notehead collisions
+       - bf: dot y-position
+       - use Item::break_priority_i_ for horizontal alignment of breakables.
+       (it still sucks)
+       - junk some derivation checks, junk Normal_*_bar
+       - FlowerLib fixes.
+       - twinkle fixes.
+       - feta: flag/clefspacing
 
+
+*******
+dec 5
 pl 35
        - naming: lily-init iso symbol.ly
        - mf braces
diff --git a/VERSION b/VERSION
index 6244dccf3d85a5d399534436487355600b73ca8f..8cfffe87ef5140b9f5d788ab7982e7c1234d3547 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,6 +1,6 @@
 TOPLEVEL_MAJOR_VERSION = 0
 TOPLEVEL_MINOR_VERSION = 1
-TOPLEVEL_PATCH_LEVEL = 35
+TOPLEVEL_PATCH_LEVEL = 36
 TOPLEVEL_MY_PATCH_LEVEL = 
 
 # use the above to send patches, always empty for released version:
index 284346da82367a8946dacb219076676780258284..dc25ffeaca7419f54b40bcb9ca80c74302cb7fcd 100644 (file)
@@ -4,6 +4,7 @@
 rm -vf *.aux *.log `grep -li "^% Creator: GNU LilyPond" *.out` *.orig *~
 rm -vf `grep -li "Creator: mi2mu" *.midi.ly`
 rm -vf `grep -li "Creator: GNU LilyPond" *.midi`
+rm -vf `grep -li "Creator: ly2dvi" *.tex`
 rm -vf `find -name 'core'`
 rm -vf `find -name *.orig`
 rm -vf `find -name *.rej`
index 89556cd6a7991e1a07142c12774d44eba59bb4e7..9468401c62549d881d416d08f2b7b11df9e6a742 100644 (file)
@@ -8,11 +8,15 @@
 #  Original LaTeX file made by Mats Bengtsson, 17/8 1997
 #
 
-VERSION="0.3"
+VERSION="0.3.hwn1"
+IDENTIFICATION="lytodvi.sh $VERSION" 
+NOW=`date`
+echo "$IDENTIFICATION" 1>&2
 
-echo "lytodvi.sh $VERSION" 1>&2
-    
 # NEWS
+# 0.3.hwn1
+#      - add "Creator: " line to output
+#
 # 0.3
 #      - multiple input files to make score from several files
 #        (extra files assumed to be Lilypond output)
@@ -287,7 +291,7 @@ EOF
   fi
 fi
 #
-# Find textwidth
+# Find textwidth 
 #
 if [ "$IF" != "" ]
 then
@@ -400,6 +404,9 @@ fi
 # Write LaTeX file
 #
 cat << EOF > $LF
+% Creator: $IDENTIFICATION
+% Automatically generated from  $IF, $NOW
+
 \documentclass$PAPER{article}
 \nonstopmode
 $LLNG
index 1cd84f5ee6f9b308e13186c1a466add699f8ebc8..08ded81adf8c3bffff10c4a9bf7c2cc78570ecf2 100644 (file)
@@ -181,7 +181,7 @@ class Log_reader:
        self.texfile = Indentable_file(texfile_nm, 'w')
 
 
-       headerstr = '%% generated automatically by %s\n%% on %s\n%% Do not edit' % \
+       headerstr = '%% Creator: %s\n%% Automatically generated on %s\n%% Do not edit' % \
                   (program_id(), today_str())
 
        self.lyfile.write(headerstr)
index 9c9e7d683f9ae20a403dfa9f0abea98c20cd9e05..6bb008a5cd0a8be97d0cb7b94da2ad31e3b424ca 100644 (file)
@@ -15,5 +15,5 @@ include ./$(depth)/make/Rules.make
 #
 
 
-EXTRA_DISTFILES = README.debian TODO changelog control copyright\
+EXTRA_DISTFILES = README.debian TODO changelog control copyright \
        info.ex menu.ex postinst postinst.old.sh postrm preinst rules watch
index db936a667d0270ac68d5578df544827a3e44cfad..a4fc50fdbcf1143989dadfe2c243cb0eaec48529 100644 (file)
@@ -1,2 +1,2 @@
-* Move lytodvi.sh to a proper place.  It is currently placed in
+* Move ly2dvi.sh to a proper place.  It is currently placed in
   /usr/doc/lilypond.  (1997-11-25)
index 7db27bbaae52a917be13cff9b8cc0f4d53426182..0158a62afed18282d8758fa647fb61a044aba651 100644 (file)
@@ -1,3 +1,15 @@
+lilypond (0.1.35-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- Anthony Fok <foka@debian.org>  Fri,  5 Dec 1997 21:06:31 -0700
+
+lilypond (0.1.34-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- Anthony Fok <foka@debian.org>  Thu,  4 Dec 1997 19:42:22 -0700
+
 lilypond (0.1.33-1) unstable; urgency=low
 
   * New upstream release
index 22c954c0d184c8aee732d54515a787f559adf661..b5489572beb1fee73446315b1387678132bde127 100644 (file)
@@ -2,7 +2,7 @@ This package was debianized by Anthony Fok foka@debian.org on
 Wed,  6 Aug 1997 04:30:28 -0600
 
 It was downloaded from
-    ftp://pcnov095.win.tue.nl/pub/lilypond/development/lilypond-0.1.33.tar.gz
+    ftp://pcnov095.win.tue.nl/pub/lilypond/development/lilypond-0.1.35.tar.gz
 
 It is also available from:
     ftp://alpha.gnu.org/gnu/
index e2bcee306c196c2f3dfcdb41e7873140b9e97343..2e1f5e0d0c28c438a5cefb0b28aa1c83301a8418 100644 (file)
@@ -237,4 +237,4 @@ run_texhash();
 check_specialmap();
 
 print " $pkg_name configuration completed.\n";
-print " Please read /usr/doc/$package/README.debian to get started.\n";
+print " Please read /usr/doc/$package/README.Debian to get started.\n";
index 843600e3889665433d25b83e000c5afbd5308e39..722ba550ac29787f40d55d778651178d6573f800 100644 (file)
@@ -46,7 +46,7 @@ binary-arch: build
        ln -fs ../../../doc/lilypond debian/tmp/usr/lib/texmf/doc/lilypond
        dh_installdocs BUGS TODO NEWS DEDICATION ANNOUNCE README \
                Documentation/out/*.text Documentation/*.doc \
-               Documentation/lelie_logo.xpm bin/lytodvi.sh
+               Documentation/lelie_logo.xpm bin/ly2dvi.sh
        dh_installexamples input/*.ly input/*.tex
 #      dh_installmenu
 #      dh_installcron
index f9e06e05526400da14938e7ef67944593f8e0fac..5610f02a099e3a45e0740a031a5dc7cce32edcae 100644 (file)
@@ -1,3 +1,8 @@
+pl 32
+       - Assoc::clear
+       - bf: Assoc[PreviouslyUsedAndDeletedKey] = foo
+
+       
 pl 31
        - removed String::bool () [Sigh], String::operator char const * 
 pl 30
index e139075ebb9e0b830f461b41a4bb4c9bd9f826f9..942ef5290575573c8621ace1fe3244b493608969 100644 (file)
@@ -1,6 +1,6 @@
 MAJOR_VERSION = 1
 MINOR_VERSION = 1
-PATCH_LEVEL = 31
+PATCH_LEVEL = 32
 # use to send patches, always empty for released version:
 MY_PATCH_LEVEL = # include separator: "-1" or ".a"
 #
index 86d28b0fd3081cc8cec96b71e1e7b65d1c9962cb..f4558545a1e972d0a0bbab3bd4c176aa8834360c 100644 (file)
@@ -36,7 +36,7 @@ struct Assoc {
   int find_creat (K key) {
     int free = -1;
     for (int i = 0; i < arr.size(); i++) {
-      if (key == arr[i].key) {         
+      if (!arr[i].free && key == arr[i].key) {         
        return i;
       } else if (arr[i].free) {
        free = i;
@@ -80,6 +80,11 @@ public:
     assert (elt_b (key));
     return arr[find (key)].val;
   }
+  void clear () 
+  {
+    for (int i=0 ;  i < arr.size (); i++)
+      arr[i].free = true;
+  }
 };
 
 #endif
index fd9b51eb442abcb197f35f5ade0b680b49d2e3c5..eebafed3fdbc7e91bef3924e6400742dc3810fc4 100644 (file)
@@ -58,6 +58,7 @@ Staff_group = \translator {
        \consists "Line_group_engraver";
        \accepts "Staff";
        \accepts "Grandstaff";
+       \accepts "Lyrics";
 }
 
 Lyric_voice = 
@@ -84,11 +85,8 @@ Score = \translator {
        \consists "Bar_number_engraver";
 
        \consists "Span_score_bar_engraver";
-       \consists "Normal_bar_align_engraver";
-       \consists "Clef_align_engraver";
-       \consists "Key_align_engraver";
-       \consists "Meter_align_engraver";
-       \consists "Score_horizontal_align_engraver";
+       \consists "Score_priority_engraver";
+       \consists "Priority_horizontal_align_engraver";
        \consists "Vertical_align_engraver";
 
 
index 826e96a29bf70d15b97db3c8f9a18209efabdd14..202a9520f923d8986cddf7cb0cdc501390fd0152 100644 (file)
@@ -1,5 +1,5 @@
-% generated automatically by mf-to-table.py version 0.4
-% on Fri Dec  5 11:52:40 1997
+% Creator: mf-to-table.py version 0.4
+% Automatically generated on Mon Dec  8 17:19:17 1997
 % Do not edit
 % input from out/feta16.log
 % name=\symboltables {
         "pedaltoe"     "\\pedaltoe"    -2.00\pt        2.00\pt -0.00\pt        6.00\pt 
         }
     "flags"     = \table {
-        "u3"   "\\eighthflag"  -0.20\pt        4.10\pt -12.26\pt       0.20\pt 
-        "u4"   "\\sixteenthflag"       -0.20\pt        4.10\pt -14.26\pt       0.20\pt 
-        "u5"   "\\thirtysecondflag"    -0.20\pt        4.10\pt -17.26\pt       0.20\pt 
-        "u6"   "\\sixtyfourthflag"     -0.20\pt        4.10\pt -21.26\pt       0.20\pt 
-        "d3"   "\\deighthflag" -0.20\pt        4.54\pt -0.20\pt        11.66\pt        
-        "d4"   "\\dsixteenthflag"      -0.20\pt        4.54\pt -0.20\pt        12.26\pt        
-        "d5"   "\\dthirtysecondflag"   -0.20\pt        4.54\pt -0.20\pt        15.66\pt        
-        "d6"   "\\dsixtyfourthflag"    -0.20\pt        4.54\pt -0.20\pt        17.66\pt        
+        "u3"   "\\eighthflag"  -0.20\pt        4.94\pt -12.26\pt       0.20\pt 
+        "u4"   "\\sixteenthflag"       -0.20\pt        4.94\pt -14.26\pt       0.20\pt 
+        "u5"   "\\thirtysecondflag"    -0.20\pt        4.94\pt -17.26\pt       0.20\pt 
+        "u6"   "\\sixtyfourthflag"     -0.20\pt        4.94\pt -21.26\pt       0.20\pt 
+        "d3"   "\\deighthflag" -0.20\pt        5.46\pt -0.20\pt        11.66\pt        
+        "d4"   "\\dsixteenthflag"      -0.20\pt        5.46\pt -0.20\pt        12.26\pt        
+        "d5"   "\\dthirtysecondflag"   -0.20\pt        5.46\pt -0.20\pt        15.66\pt        
+        "d6"   "\\dsixtyfourthflag"    -0.20\pt        5.46\pt -0.20\pt        17.66\pt        
         }
     "clefs"     = \table {
-        "alto" "\\altoclef"    -0.00\pt        10.89\pt        -8.00\pt        8.00\pt 
-        "alto_change"  "\\caltoclef"   -0.00\pt        8.71\pt -6.40\pt        6.40\pt 
-        "bass" "\\bassclef"    1.20\pt 12.80\pt        -10.00\pt       4.00\pt 
-        "bass_change"  "\\cbassclef"   0.96\pt 10.24\pt        -8.00\pt        3.20\pt 
-        "violin"       "\\violinclef"  -0.11\pt        10.95\pt        -12.00\pt       20.00\pt        
-        "violin_change"        "\\cviolinclef" -0.33\pt        8.52\pt -9.60\pt        16.00\pt        
+        "alto" "\\altoclef"    -4.00\pt        14.89\pt        -8.00\pt        8.00\pt 
+        "alto_change"  "\\caltoclef"   -3.20\pt        11.91\pt        -6.40\pt        6.40\pt 
+        "bass" "\\bassclef"    -2.00\pt        14.40\pt        -10.00\pt       4.00\pt 
+        "bass_change"  "\\cbassclef"   -1.60\pt        11.52\pt        -8.00\pt        3.20\pt 
+        "violin"       "\\violinclef"  -4.11\pt        14.95\pt        -12.00\pt       20.00\pt        
+        "violin_change"        "\\cviolinclef" -3.53\pt        11.72\pt        -9.60\pt        16.00\pt        
         }
     %  } % $name
index 01297a8189192e43ac32d7bf77c727537240b8be..f877973d90c3c68fa07ebff7b02bb9722a35cfff 100644 (file)
@@ -1,5 +1,5 @@
-% generated automatically by mf-to-table.py version 0.4
-% on Fri Dec  5 11:52:42 1997
+% Creator: mf-to-table.py version 0.4
+% Automatically generated on Mon Dec  8 17:19:20 1997
 % Do not edit
 % input from out/feta20.log
 % name=\symboltables {
         "pedaltoe"     "\\pedaltoe"    -2.50\pt        2.50\pt -0.00\pt        7.50\pt 
         }
     "flags"     = \table {
-        "u3"   "\\eighthflag"  -0.25\pt        5.13\pt -15.33\pt       0.25\pt 
-        "u4"   "\\sixteenthflag"       -0.25\pt        5.13\pt -17.83\pt       0.25\pt 
-        "u5"   "\\thirtysecondflag"    -0.25\pt        5.13\pt -21.58\pt       0.25\pt 
-        "u6"   "\\sixtyfourthflag"     -0.25\pt        5.13\pt -26.58\pt       0.25\pt 
-        "d3"   "\\deighthflag" -0.25\pt        5.68\pt -0.25\pt        14.58\pt        
-        "d4"   "\\dsixteenthflag"      -0.25\pt        5.68\pt -0.25\pt        15.33\pt        
-        "d5"   "\\dthirtysecondflag"   -0.25\pt        5.68\pt -0.25\pt        19.58\pt        
-        "d6"   "\\dsixtyfourthflag"    -0.25\pt        5.68\pt -0.25\pt        22.08\pt        
+        "u3"   "\\eighthflag"  -0.25\pt        6.17\pt -15.33\pt       0.25\pt 
+        "u4"   "\\sixteenthflag"       -0.25\pt        6.17\pt -17.83\pt       0.25\pt 
+        "u5"   "\\thirtysecondflag"    -0.25\pt        6.17\pt -21.58\pt       0.25\pt 
+        "u6"   "\\sixtyfourthflag"     -0.25\pt        6.17\pt -26.58\pt       0.25\pt 
+        "d3"   "\\deighthflag" -0.25\pt        6.83\pt -0.25\pt        14.58\pt        
+        "d4"   "\\dsixteenthflag"      -0.25\pt        6.83\pt -0.25\pt        15.33\pt        
+        "d5"   "\\dthirtysecondflag"   -0.25\pt        6.83\pt -0.25\pt        19.58\pt        
+        "d6"   "\\dsixtyfourthflag"    -0.25\pt        6.83\pt -0.25\pt        22.08\pt        
         }
     "clefs"     = \table {
-        "alto" "\\altoclef"    -0.00\pt        13.61\pt        -10.00\pt       10.00\pt        
-        "alto_change"  "\\caltoclef"   -0.00\pt        10.89\pt        -8.00\pt        8.00\pt 
-        "bass" "\\bassclef"    1.50\pt 16.00\pt        -12.50\pt       5.00\pt 
-        "bass_change"  "\\cbassclef"   1.20\pt 12.80\pt        -10.00\pt       4.00\pt 
-        "violin"       "\\violinclef"  -0.14\pt        13.69\pt        -15.00\pt       25.00\pt        
-        "violin_change"        "\\cviolinclef" -0.41\pt        10.65\pt        -12.00\pt       20.00\pt        
+        "alto" "\\altoclef"    -5.00\pt        18.61\pt        -10.00\pt       10.00\pt        
+        "alto_change"  "\\caltoclef"   -4.00\pt        14.89\pt        -8.00\pt        8.00\pt 
+        "bass" "\\bassclef"    -2.50\pt        18.00\pt        -12.50\pt       5.00\pt 
+        "bass_change"  "\\cbassclef"   -2.00\pt        14.40\pt        -10.00\pt       4.00\pt 
+        "violin"       "\\violinclef"  -5.14\pt        18.69\pt        -15.00\pt       25.00\pt        
+        "violin_change"        "\\cviolinclef" -4.41\pt        14.65\pt        -12.00\pt       20.00\pt        
         }
     %  } % $name
index 564fca56cf114280e6540a2a34cf6cc4a4247b9c..c1753b3263510b23723f67fdd1f68603630d0b37 100644 (file)
@@ -1,7 +1,5 @@
-% symbol.ly
-%
-% FIXME other name
-  
+% Toplevel initialisation file. 
+       
 \version "0.1.7";
   
 breve = \duration { -1 0 }
index 2a52afd4bfe8498cf679a506133053925dd0dcd7..1b46d347408ad6ef1f657dde46b980d8d26955a5 100644 (file)
@@ -9,7 +9,9 @@ copyright =      "public domain";
 
 %{
 Tested Features: cadenza mode
-%}
+
+Ugh.. Wish we had grace notes....  It adds another dimension to this
+piece of music.  %}
 
 \version "0.1.7";
 
index ac54e3e36aa9c5c28e65aa02f1568c442991c575..c2f1d25ef43a5ba7618631e5d42a4dc2e7443292 100644 (file)
@@ -75,6 +75,8 @@ TestedFeatures =       "This file tests the Feta music-font"
                \meter 7/8; a2.. |
                \meter 9/8; a1... |
                \meter 12/8; a1. |
+               \meter 12/4;
+               r1. r2. r4. r8. r16. r32. r64. r64. |
                }
        \paper{ 
            % don't change this.
index fed49445bb4bd3f57dd0fe1b448dd1105043b820..4f47a5cf1c69f4091d86b93a9519c06b0d8f8ca9 100644 (file)
@@ -199,11 +199,11 @@ bc=\melodic{
   \meter 3/2;
   g1. | c |
        % 30
-  f | d^"\textsharp" |
+  f | d^"\\textsharp" |
   g | c |
-  A | d^"\textsharp" |
+  A | d^"\\textsharp" |
   G | c |
-  d^"\textsharp" | e |
+  d^"\\textsharp" | e |
   f | g1 B2 |
   d1.^"3 4 3" |
   \meter 4/4;
@@ -212,7 +212,7 @@ bc=\melodic{
   g1^"3 4 3" | c |
   G^"3 4 3" | c2 G |
   d1^"3 4 3" | G^"3 4 3" |
-  c2 G | d1^"\textsharp" ( |
+  c2 G | d1^"\\textsharp" ( |
   ) d^"3 4 3" | 
   \cadenza 1;
   G\breve 
diff --git a/input/header.ly b/input/header.ly
deleted file mode 100644 (file)
index 49d2236..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-\header {
-filename       
-title  
-date   
-description     
-opus   
-source 
-composers      
-enteredby      
-copyright      
-remarks        
-}
-
-%{
-Tested Features:
-%}
index 8b49f135753ce9705024050fc7336ff5a8048d2e..b3707432802e59ed96b5341847ef0a626ce0c96a 100644 (file)
@@ -3,7 +3,7 @@
 filename =      "kortjakje.ly";
 title =         "Ah,  vous dirais-je, maman (variations)";
 description =   "bare bones version. (written down from memory :-)";
-composers =     "Mozart, KV 265";
+composer =      "Mozart, KV 265";
 enteredby =     "HWN";
 copyright =     "public domain";
 }
index bb250a98fdf3e6147222f062fd7df14d8f70c6c6..412c202ca24286e1f2e891fd49fb5e958e7e04a4 100644 (file)
@@ -2,7 +2,7 @@
 filename =      "standchen.ly";
 title =         "St\"andchen (Serenade) \"Leise flehen meine Lieder\"";
 opus =  "D. 957 No. 4";
-composers =     "Franz Schubert (1797-1828)"
+composer =      "Franz Schubert (1797-1828)"
         "Text by Ludwig Rellstab (1799-1860)";
 enteredby =     "JCN";
 copyright =     "public domain";
index 1a13f3fc11e5d72219b7c8e005ce9b760d1bf1ab..cb13ab64d66dc0ad5f741fa95f9e959a19495101 100644 (file)
@@ -2,7 +2,7 @@
 filename =      "standchen.ly";
 title =         "St\"andchen (Serenade) Leise flehen meine Lieder\"";
 opus =  "D. 957 No. 4";
-composers =     "Franz Schubert (1797-1828)"
+composer =      "Franz Schubert (1797-1828)"
         "Text by Ludwig Rellstab (1799-1860)";
 enteredby =     "JCN";
 copyright =     "public domain";
index 9faee5ed92e3a997004131c8e9da4b779df8efd6..b2a00d2996c8a510bef14d87b319a49359ed0daa 100644 (file)
@@ -2,7 +2,7 @@
 filename =      "standchen.ly";
 title =         "St\"andchen (Serenade) \"Leise flehen meine Lieder\"";
 opus =  "D. 957 No. 4";
-composers =     "Franz Schubert (1797-1828)"
+composer =      "Franz Schubert (1797-1828)"
         "Text by Ludwig Rellstab (1799-1860)";
 enteredby =     "JCN";
 copyright =     "public domain";
@@ -495,13 +495,15 @@ themusic =
                % 20pt music uses whole pagewidth
                % ja Vette Pech.  Koop maar aan A4 printer
                linewidth= 185.\mm;
-
+               arithmetic_multiplier = 7.\pt;
+               
                gourlay_maxmeasures = 9.;
                \output "standchen-20.out";
        }
        \paper{
                % 16pt mustn't use whole page width
                linewidth= 160.\mm;
+               arithmetic_multiplier = 6.\pt;
                gourlay_maxmeasures = 9.;
                \output "standchen-16.out";
        }
index 7a14e64255d93cebfd169682412f3d56bea17d20..0d5cb37007cb783921c233b2074bc8eb281185b1 100644 (file)
@@ -5,7 +5,7 @@ opus =   "BWV 566"
         "toccata               3 bar excerpt"
         "2nd fuga      transposed subject --- 4 bar excerpt";
 
-composers =     "Johann Sebastian Bach (1685-1750)";
+composer =      "Johann Sebastian Bach (1685-1750)";
 enteredby =     "JCN";
 copyright =     "public domain";
 
index 2132cf3cb8f6d97d2c08ee7f857f72fb48a2b0ed..fae537bf46d8ab7cc69c13a48468fb9396f4ce99 100644 (file)
@@ -2,7 +2,7 @@
 filename =      "twinkle.ly";
 title =         "Ah, vous dirais-je, maman ";
 description =   "twinkle twinkle in pop-song-settings";
-composers =     "traditional";
+composer =      "traditional";
 
 enteredby =     "HWN, chords by Johan Vromans";
 copyright =     "public domain";
index 51d8114f05e0b67d8ba4dd286c1af01296eeea4a..e6814ce34810b25f494e7cdd513c99d850705e70 100644 (file)
@@ -1,12 +1,12 @@
 \header{
 filename =      "twinkle.ly";
-title =         "twinkle twinkle little star";
+title =         "Twinkle Twinkle Little Star";
 description =   "traditional song in various languages."
   "Ah, vous dirais-je, maman" 
   "Altijd is Kortjakje ziek"
   "Twinkle twinkle little star";
 
-composers =     "Traditional";
+composer =      "Traditional";
 enteredby =     "HWN & JCN";
 copyright =     "public domain";
 }
@@ -55,11 +55,15 @@ global = \melodic {
 
 tekst = \lyric{ 
        Al-4 tijd is Kort- jak- je ziek,2
-       midden4 in_de week maar 's_zon- dags niet.2
+%      midden4 in_de week maar 's_zon- dags niet.2
+% ugly hack: insertion of  empty syllables creates columns on extra 
+% moments.  The net result is more spacing.
+%
+       midden8 _8 in_de8 _8 week4 maar 's_zon- dags niet.2
        's_Zon-4 dags gaat ze naar de kerk,2
        met4 een boek vol zil- ver werk.2
        Al-4 tijd is Kort- jak- je ziek,2
-       midden4 in_de week maar 's_zon- dags niet.2
+       midden8 _8  in_de8 _8 week4 maar 's_zon- dags niet.2
 }
 
 %{
@@ -125,19 +129,23 @@ textiii = \lyric{
        < 
                \lyric \type Lyrics = top < 
                        \global \tekst >
-
-               \type Staff=treb < \global 
+               \type Staff_group < 
+               \type Staff=treb < \global  
                          \melody >
                \lyric \type Lyrics  = "Middle" <  \global
                        \texte >
                \type Staff=bass        < \global 
                        \accompany >
                % ugh
+               >
                \lyric \type Lyrics  = bottomlyrics < \global
                        \texti \textii \textiii >
                
        >
        \paper{
+               % use a lot of space, to avoid clashing syllables
+               arithmetic_multiplier = 8.\pt;
+               gourlay_maxmeasures = 14.0;
        }
        \midi{ 
                \tempo 4 = 120 ;
index 4a2e61f93918ab89ce08c86f0e7e0d068954b434..405b4d4906039febe69e993c5cbac3f2d5bd150f 100644 (file)
@@ -1,4 +1,4 @@
 MAJOR_VERSION = 0
 MINOR_VERSION = 1
-PATCH_LEVEL = 35
+PATCH_LEVEL = 36
 MY_PATCH_LEVEL =
index 5537d742a86fce1b47926b8190d878e411d71b8a..11eb1263b7675ff289e52983da141f9f4586c747 100644 (file)
@@ -7,6 +7,7 @@
 */
 #include "interval.hh"
 #include "axis-group-administration.hh"
+#include "axis-group-element.hh"
 #include "graphical-element.hh"
 #include "debug.hh"
 
@@ -35,6 +36,8 @@ void
 Axis_group_administration::add_element (Graphical_element*e,
                                        Axis_group_element*g, Axis a1, Axis a2)
 {
+  // don't add self to self.
+  assert (e != g);
   Axis_group_element *& g1 = e->axis_group_l_a_[a1];
   Axis_group_element *& g2 = e->axis_group_l_a_[a2];
   
index 8ab52f41d5a73ada4b8a4b2d41f8ec2b648ecdd7..e4219fdb38f6b3768d9789839bc926767fef434c 100644 (file)
@@ -29,18 +29,17 @@ Bar_column_engraver::acknowledge_element (Score_elem_info info)
     {
       script_l_arr_.push ((Script*)info.elem_l_->item());
     }
-  else 
-    {
-      if  (info.origin_grav_l_arr_.size() == 1 
-          && info.elem_l_->is_type_b (Bar::static_name()))
-       bar_l_ = (Bar*)info.elem_l_->item();
-    }
+  else if  (info.origin_grav_l_arr_.size() == 1 
+           && info.elem_l_->is_type_b (Bar::static_name()))
+    bar_l_ = (Bar*)info.elem_l_->item();
        
   if (bar_l_ && !barcol_p_) 
     {
       barcol_p_ = new Bar_column;
       barcol_p_->breakable_b_ =true;
+      barcol_p_->break_priority_i_ = bar_l_ -> break_priority_i_;
       barcol_p_->set_bar (bar_l_);
+      
       announce_element (Score_elem_info (barcol_p_, 0));
     }
 
@@ -49,6 +48,7 @@ Bar_column_engraver::acknowledge_element (Score_elem_info info)
       for (int i=0; i < script_l_arr_.size(); i++) 
        {
          script_l_arr_[i]->breakable_b_ = true;
+         script_l_arr_[i]->break_priority_i_ = barcol_p_-> break_priority_i_;
          barcol_p_->add (script_l_arr_[i]);
        }
       script_l_arr_.clear();
index 16631e5221ac43cc57e8b396a05a9c119c3a1273..2d43282523a00f739d4b214d96a46ae1875e5815 100644 (file)
@@ -7,7 +7,7 @@
 */
 
 #include "bar-grav.hh"
-#include "normal-bar.hh"
+#include "bar.hh"
 #include "command-request.hh"
 #include "time-description.hh"
 #include "engraver-group.hh"
@@ -32,6 +32,17 @@ Bar_engraver::do_try_request (Request*r_l)
   return true;
 }
 
+void
+Bar_engraver::create_bar ()
+{
+  if (!bar_p_)
+    {
+      bar_p_ = new Bar;
+      bar_p_->break_priority_i_  = 0;
+      announce_element (Score_elem_info (bar_p_, bar_req_l_));
+    }
+}
+
 void
 Bar_engraver::do_process_requests()
 {
@@ -40,21 +51,17 @@ Bar_engraver::do_process_requests()
   
   if (bar_req_l_) 
     {
-      bar_p_ = new Normal_bar;
+      create_bar ();
       bar_p_->type_str_=bar_req_l_->type_str_;
     }
   else 
     {
       Time_description const *time = get_staff_info().time_C_;
       if (time && !time->whole_in_measure_) 
-       bar_p_ = new Normal_bar;
+       create_bar ();
     }
   
-  if (bar_p_)
-    {
-      announce_element (Score_elem_info (bar_p_, bar_req_l_));
-    }
-  else 
+  if (!bar_p_)
     {
       Disallow_break_req r;
       daddy_grav_l()->try_request (&r);
index 78f6aab7bd2dd24bf65c9deaf0d40bd219a272b7..6bb055c2faeea36a0459d67bdbf0e7714389a4d4 100644 (file)
@@ -107,6 +107,7 @@ Clef_engraver::create_clef()
   if (!clef_p_)
     {
       clef_p_ = new Clef_item;
+      clef_p_->break_priority_i_ = -2; // ugh
       announce_element (Score_elem_info (clef_p_,clef_req_l_));
     }
   clef_p_->read (*this);
index 4bb7c9d33a0ef369c8a8f54e01c4eee6611355c0..8bf8d1301a11c7074cdff8a957019678e7d3c453 100644 (file)
@@ -17,6 +17,8 @@
 class Bar_engraver : public Engraver {
   Bar_req * bar_req_l_;
   Bar * bar_p_;
+
+  void create_bar ();
 public:
   TRANSLATOR_CLONE(Bar_engraver);
   Bar_engraver();
index 524c6772e1bf248d1ffb9f9f25b723289c477430..df5b6757ec1383895b5d957f5dc140105262e3de 100644 (file)
@@ -32,6 +32,8 @@ public:
   /// should be put in a breakable col.
   bool breakable_b_;
   int break_status_i_;
+  int break_priority_i_;
+  
   /// nobreak = 0, pre = -1, post = 1
   int break_status_i() const;
   Item * find_prebroken_piece (int) const;
diff --git a/lily/include/normal-bar.hh b/lily/include/normal-bar.hh
deleted file mode 100644 (file)
index a4f7bd2..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-/*   
-  normal-bar.hh -- declare 
-  
-  source file of the GNU LilyPond music typesetter
-  
-  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
-  
- */
-
-#ifndef NORMAL_BAR_HH
-#define NORMAL_BAR_HH
-
-#include "bar.hh"
-
-class Normal_bar : public virtual Bar
-{
-public:
-  SCORE_ELEM_CLONE(Normal_bar);
-  DECLARE_MY_RUNTIME_TYPEINFO;
-};
-
-#endif /* NORMAL_BAR_HH */
-
diff --git a/lily/include/normal-span-bar.hh b/lily/include/normal-span-bar.hh
deleted file mode 100644 (file)
index 68ccabb..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-/*   
-  normal-span-bar.hh -- declare Normal_span_bar
-  
-  source file of the GNU LilyPond music typesetter
-  
-  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
-  
- */
-
-#ifndef NORMAL_SPAN_BAR_HH
-#define NORMAL_SPAN_BAR_HH
-
-#include "normal-bar.hh"
-#include "span-bar.hh"
-
-class Normal_span_bar : public Span_bar, public Normal_bar
-{
-public:
-  SCORE_ELEM_CLONE(Normal_span_bar);
-  DECLARE_MY_RUNTIME_TYPEINFO;
-};
-
-#endif /* NORMAL_SPAN_BAR_HH */
-
diff --git a/lily/include/priority-halign-grav.hh b/lily/include/priority-halign-grav.hh
new file mode 100644 (file)
index 0000000..4d6fdb6
--- /dev/null
@@ -0,0 +1,25 @@
+/*
+  score-halign-grav.hh -- declare Score_horizontal_align_engraver
+
+  source file of the GNU LilyPond music typesetter
+
+  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
+
+#ifndef FSCORE_HALIGN_GRAV_HH
+#define FSCORE_HALIGN_GRAV_HH
+
+#include "engraver.hh"
+
+class Priority_horizontal_align_engraver : public Engraver {
+  Break_align_item * halign_p_;
+public:
+  TRANSLATOR_CLONE(Priority_horizontal_align_engraver);
+  DECLARE_MY_RUNTIME_TYPEINFO;
+  Priority_horizontal_align_engraver();
+protected:
+  virtual void acknowledge_element (Score_elem_info);
+  virtual void do_pre_move_processing();
+};
+#endif // Priority_HALIGN_GRAV_HH
diff --git a/lily/include/score-align-grav.hh b/lily/include/score-align-grav.hh
deleted file mode 100644 (file)
index 6a25ac0..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
-  score-align-grav.hh -- declare Type_align_engraver
-
-  source file of the GNU LilyPond music typesetter
-
-  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
-*/
-
-
-#ifndef SCORE_ALIGN_GRAV_HH
-#define SCORE_ALIGN_GRAV_HH
-
-#include "engraver.hh"
-
-/**
-  Group  a number of items across staffs
- */
-class Type_align_engraver: public Engraver
-{
-  Horizontal_group_item  * align_p_;
-public:
-  TRANSLATOR_CLONE(Type_align_engraver);
-    
-  const char* type_ch_C_;
-  int priority_i_;
-  Type_align_engraver();
-  DECLARE_MY_RUNTIME_TYPEINFO;
-protected:
-  virtual void acknowledge_element (Score_elem_info);
-  virtual void do_pre_move_processing();
-};
-#endif // SCORE_ALIGN_GRAV_HH
diff --git a/lily/include/score-halign-grav.hh b/lily/include/score-halign-grav.hh
deleted file mode 100644 (file)
index 353ad8a..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-  score-halign-grav.hh -- declare Score_horizontal_align_engraver
-
-  source file of the GNU LilyPond music typesetter
-
-  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
-*/
-
-
-#ifndef SCORE_HALIGN_GRAV_HH
-#define SCORE_HALIGN_GRAV_HH
-#include "engraver.hh"
-class Score_horizontal_align_engraver : public Engraver {
-  Break_align_item * halign_p_;
-public:
-  TRANSLATOR_CLONE(Score_horizontal_align_engraver);
-  DECLARE_MY_RUNTIME_TYPEINFO;
-  Score_horizontal_align_engraver();
-protected:
-  virtual void acknowledge_element (Score_elem_info);
-  virtual void do_pre_move_processing();
-};
-#endif // SCORE_HALIGN_GRAV_HH
diff --git a/lily/include/score-priority-grav.hh b/lily/include/score-priority-grav.hh
new file mode 100644 (file)
index 0000000..48ed10e
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+  score-align-grav.hh -- declare Type_align_engraver
+
+  source file of the GNU LilyPond music typesetter
+
+  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
+
+#ifndef SCOREF_ALIGN_GRAV_HH
+#define SCOREF_ALIGN_GRAV_HH
+
+#include "engraver.hh"
+#include "assoc.hh"
+
+/**
+  Group  a number of items across staffs
+ */
+class Score_priority_engraver : public Engraver
+{
+  Assoc<int, Horizontal_group_item  *> align_p_assoc_;
+public:
+  TRANSLATOR_CLONE(Score_priority_engraver);
+  Score_priority_engraver ();
+  DECLARE_MY_RUNTIME_TYPEINFO;
+protected:
+  virtual void acknowledge_element (Score_elem_info);
+  virtual void do_pre_move_processing();
+};
+
+#endif // SCORE_ALIGN_GRAV_HH
index 21c96bc27397d7c3d823b631628c0ed7e83c8291..daaf880a96abd8b5df2add34fdef3f979637af09 100644 (file)
@@ -15,6 +15,7 @@
 
 Item::Item()
 {
+  break_priority_i_ = 0;
   breakable_b_ = false;
   break_status_i_ = 0;
   broken_to_drul_[LEFT] = broken_to_drul_[RIGHT]=0;
index 3abc16b6730e942f3ddda593c573de89800e7743..42359ae77a617c52808899de7ca47344fe0b816b 100644 (file)
@@ -36,6 +36,7 @@ Key_engraver::create_key()
            c0_i = *get_staff_info().c0_position_i_l_;  
        
        kit_p_ = new Key_item (c0_i);
+       kit_p_->break_priority_i_ = -1; // ugh
        announce_element (Score_elem_info (kit_p_,keyreq_l_));
        kit_p_->read (*this);
     }
index 70ca2af2bc27ce0b7d2eb61400da67a321b9b4f2..4fecb68d9cbf2aac7f41e9bdb163821a834c50b0 100644 (file)
@@ -32,6 +32,7 @@ Meter_engraver::do_process_requests()
       args.push (req->one_beat_i_);
        
       meter_p_ = new Meter (args);
+      meter_p_->break_priority_i_ = 1; // ugh
     }
 
   if (meter_p_)
diff --git a/lily/normal-bar.cc b/lily/normal-bar.cc
deleted file mode 100644 (file)
index a435703..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-/*   
-  normal-bar.cc --  implement Normal_bar
-  
-  source file of the GNU LilyPond music typesetter
-  
-  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
-  
- */
-
-#include "normal-bar.hh"
-
-IMPLEMENT_IS_TYPE_B1(Normal_bar, Bar);
diff --git a/lily/normal-span-bar.cc b/lily/normal-span-bar.cc
deleted file mode 100644 (file)
index 6afbd76..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-/*   
-  normal-span-bar.cc --  implement 
-  
-  source file of the GNU LilyPond music typesetter
-  
-  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
-  
- */
-
-#include "normal-span-bar.hh"
-
-IMPLEMENT_IS_TYPE_B2(Normal_span_bar, Span_bar, Normal_bar);
diff --git a/lily/priority-halign-grav.cc b/lily/priority-halign-grav.cc
new file mode 100644 (file)
index 0000000..a42c4a5
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+  score-halign-reg.cc -- implement Priority_horizontal_align_engraver
+
+  source file of the GNU LilyPond music typesetter
+
+  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
+#include "bar.hh"
+#include "break-align-item.hh"
+#include "priority-halign-grav.hh"
+#include "score-priority-grav.hh"
+
+Priority_horizontal_align_engraver::Priority_horizontal_align_engraver()
+{
+  halign_p_ =0;
+}
+
+void
+Priority_horizontal_align_engraver::do_pre_move_processing()
+{
+  if (halign_p_) 
+    {
+      typeset_element (halign_p_);
+      halign_p_ =0;
+    }
+}
+
+void
+Priority_horizontal_align_engraver::acknowledge_element (Score_elem_info i)
+{
+  Engraver* reg = i.origin_grav_l_arr_[0];
+  if (reg->is_type_b (Score_priority_engraver::static_name()))
+    {
+      if (!halign_p_) 
+       {
+         halign_p_ = new Break_align_item;
+         halign_p_->breakable_b_ = true;
+         announce_element (Score_elem_info (halign_p_,0));
+       }
+      Item * it = i.elem_l_->item();
+      if (it->break_priority_i_ == 0)
+       halign_p_->center_l_ = it;
+
+      halign_p_->add (it, it->break_priority_i_);
+    }
+}
+
+IMPLEMENT_IS_TYPE_B1(Priority_horizontal_align_engraver,Engraver);
+ADD_THIS_TRANSLATOR(Priority_horizontal_align_engraver);
index 4cf872f613f0b470edc86ef929f6b5520b77df8f..0028373cf5dfdd9ce5331ccc0d439ae9e78adff6 100644 (file)
@@ -23,8 +23,10 @@ Rest::do_add_processing ()
     position_i_ += 2;
 
   Rhythmic_head::do_add_processing ();
-  if (dots_l_)
-      dots_l_->position_i_ = position_i_;
+  if (dots_l_ && balltype_i_ > 1)
+    {
+      dots_l_->position_i_ = position_i_ + 4;
+    }
 }
 
 Rest::Rest ()
diff --git a/lily/score-align-grav.cc b/lily/score-align-grav.cc
deleted file mode 100644 (file)
index 3af6084..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
-  score-align-reg.cc -- implement Type_align_engraver
-
-  source file of the GNU LilyPond music typesetter
-
-  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
-*/
-
-
-#include "horizontal-group-item.hh"
-#include "score-align-grav.hh"
-#include "item.hh"
-
-Type_align_engraver::Type_align_engraver()
-{
-  type_ch_C_ = 0;
-  priority_i_ =0;
-  align_p_=0;
-}
-
-void
-Type_align_engraver::do_pre_move_processing()
-{
-  if (align_p_) 
-    {
-      typeset_element (align_p_);
-      align_p_ =0;
-    }
-}
-
-void
-Type_align_engraver::acknowledge_element (Score_elem_info inf)
-{
-  if (inf.elem_l_->is_type_b (type_ch_C_)) 
-    {
-  
-      if (!align_p_) 
-       {
-         align_p_ = new Horizontal_group_item;
-         align_p_->breakable_b_ = true;
-         announce_element (Score_elem_info (align_p_,0));
-       }
-      Score_elem * unbound_elem = inf.elem_l_;
-      while (unbound_elem->axis_group_l_a_[X_AXIS])
-       unbound_elem = unbound_elem->axis_group_l_a_[X_AXIS];
-      align_p_->add_element (unbound_elem);
-    }
-  
-}
-
-IMPLEMENT_IS_TYPE_B1(Type_align_engraver,Engraver);
diff --git a/lily/score-align-gravs.cc b/lily/score-align-gravs.cc
deleted file mode 100644 (file)
index 28bb70b..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
-  score-align-gravs.cc -- implement different alignment engravers.
-
-  source file of the GNU LilyPond music typesetter
-
-  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
-*/
-
-#include "key-item.hh"
-#include "clef-item.hh"
-#include "meter.hh"
-#include "bar.hh"
-#include "score-align-grav.hh"
-#include "score-bar.hh"
-#include "normal-bar.hh"
-
-#define IMPLEMENT_ALIGN_GRAV(C,T,p)\
-class C ## _align_engraver : public Type_align_engraver                \
-{                                                                      \
-public:                                                                        \
-  DECLARE_MY_RUNTIME_TYPEINFO;                                 \
-  TRANSLATOR_CLONE(C ## _align_engraver);\
-  C ## _align_engraver() : Type_align_engraver () \
-  { type_ch_C_ = T::static_name();\
-  priority_i_ = p;}    \
-};                                                                     \
-ADD_THIS_TRANSLATOR(C ## _align_engraver);                             \
-IMPLEMENT_IS_TYPE_B1(C ## _align_engraver, Type_align_engraver)        ;
-
-
-IMPLEMENT_ALIGN_GRAV(Key,Key_item,3);
-IMPLEMENT_ALIGN_GRAV(Clef,Clef_item,2);
-IMPLEMENT_ALIGN_GRAV(Normal_bar, Normal_bar,4);
-IMPLEMENT_ALIGN_GRAV(Meter,Meter,5);
-IMPLEMENT_ALIGN_GRAV(Score_bar, Score_bar,0);
diff --git a/lily/score-halign-grav.cc b/lily/score-halign-grav.cc
deleted file mode 100644 (file)
index b5c3c5c..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
-  score-halign-reg.cc -- implement Score_horizontal_align_engraver
-
-  source file of the GNU LilyPond music typesetter
-
-  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
-*/
-
-#include "bar.hh"
-#include "break-align-item.hh"
-#include "score-halign-grav.hh"
-#include "score-align-grav.hh"
-
-Score_horizontal_align_engraver::Score_horizontal_align_engraver()
-{
-  halign_p_ =0;
-}
-
-void
-Score_horizontal_align_engraver::do_pre_move_processing()
-{
-  if (halign_p_) 
-    {
-      typeset_element (halign_p_);
-      halign_p_ =0;
-    }
-}
-
-void
-Score_horizontal_align_engraver::acknowledge_element (Score_elem_info i)
-{
-  Engraver* reg = i.origin_grav_l_arr_[0];
-  if (reg->is_type_b (Type_align_engraver::static_name()))
-    {
-      Type_align_engraver * align_grav_l = (Type_align_engraver*) reg;
-      if (!halign_p_) 
-       {
-         halign_p_ = new Break_align_item;
-         halign_p_->breakable_b_ = true;
-         announce_element (Score_elem_info (halign_p_,0));
-       }
-      Item * it = i.elem_l_->item();
-      if (align_grav_l->type_ch_C_ == Bar::static_name())
-       halign_p_->center_l_ = it;
-       
-      halign_p_->add (it, align_grav_l->priority_i_);
-    }
-}
-
-IMPLEMENT_IS_TYPE_B1(Score_horizontal_align_engraver,Engraver);
-ADD_THIS_TRANSLATOR(Score_horizontal_align_engraver);
diff --git a/lily/score-priority-grav.cc b/lily/score-priority-grav.cc
new file mode 100644 (file)
index 0000000..1358ec4
--- /dev/null
@@ -0,0 +1,81 @@
+/*
+  score-align-reg.cc -- implement Score_priority_engraver
+
+  source file of the GNU LilyPond music typesetter
+
+  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+*/
+
+
+#include "horizontal-group-item.hh"
+#include "score-priority-grav.hh"
+#include "item.hh"
+#include "assoc-iter.hh"
+#include "break-align-item.hh"
+
+
+Score_priority_engraver::Score_priority_engraver()
+{
+}
+
+void
+Score_priority_engraver::do_pre_move_processing()
+{
+  for (Assoc_iter<int, Horizontal_group_item*> i(align_p_assoc_); i.ok() ; i++)
+    {
+      if (i.val ())
+       {
+         typeset_element (i.val ());
+         i.val () = 0;
+       }
+    }
+  align_p_assoc_.clear ();
+}
+
+void
+Score_priority_engraver::acknowledge_element (Score_elem_info inf)
+{
+  Item * item_l = inf.elem_l_->item ();
+  if (item_l && item_l->breakable_b_)
+    {
+      /*
+       Don't try to eat up our (probable) parent.
+       */
+      if (inf.origin_grav_l_arr_.size () <= 1 &&
+         item_l->is_type_b (Break_align_item::static_name ()))
+       return; 
+
+      
+      int p =item_l-> break_priority_i_;
+      Horizontal_group_item * hg =0;
+      if (!align_p_assoc_.elt_b(p))
+         {
+           hg = new Horizontal_group_item;
+           announce_element (Score_elem_info (hg,0));
+           align_p_assoc_[p] = hg;
+           hg->break_priority_i_ = p;
+           hg->breakable_b_ = true;
+         }
+      else
+       hg = align_p_assoc_[p];
+      
+      Score_elem * unbound_elem = inf.elem_l_;
+
+      
+      while (unbound_elem->axis_group_l_a_[X_AXIS])
+       {
+         /* We might have added inf.elem_l_ earlier because we added one
+            of its children.  We don't want to add ourselves to ourself
+            */
+         if (unbound_elem->axis_group_l_a_[X_AXIS] == hg)
+           return;
+         unbound_elem = unbound_elem->axis_group_l_a_[X_AXIS];
+       }
+       
+
+      hg->add_element (unbound_elem);
+    }
+}
+
+IMPLEMENT_IS_TYPE_B1(Score_priority_engraver, Engraver);
+ADD_THIS_TRANSLATOR(Score_priority_engraver);
index ea05d68fcd968645c6350cdb6f57647ab7bb3f60..8d9cffdff3318e17d9ceff57436882230704a118 100644 (file)
@@ -6,7 +6,7 @@
   (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
 */
 
-#include "normal-span-bar.hh"
+#include "span-bar.hh"
 #include "span-bar-grav.hh"
 #include "vertical-align-spanner.hh"
 
@@ -19,7 +19,7 @@ Span_bar_engraver::Span_bar_engraver()
 Span_bar*
 Span_bar_engraver::get_span_bar_p() const
 {
-  return new Normal_span_bar;
+  return new Span_bar;
 }
 
 void
index 9159266123163f93e718a66a957efeb5efff76b2..dabe4ee7460207f2b7dd526747cee6ec23cc4dd5 100644 (file)
 Span_bar*
 Span_score_bar_engraver::get_span_bar_p() const
 {
-  return new Span_score_bar;
+  Span_bar*s =  new Span_score_bar;
+  s->break_priority_i_ = -4;
+    
+  return s;
+    
 }
 
 
@@ -23,7 +27,9 @@ IMPLEMENT_IS_TYPE_B1(Piano_bar_engraver, Span_score_bar_engraver);
 Span_bar*
 Piano_bar_engraver::get_span_bar_p() const
 {
-  return new Piano_brace;
+  Span_bar *s= new Piano_brace;
+  s->break_priority_i_ = -4;
+  return s;
 }
 
 ADD_THIS_TRANSLATOR(Piano_bar_engraver);
index 32a7b1ede378492e63232c32bb828d7dfd750533..0e37c7d849a2b59a2db4c7e8823e20a92d2cb44a 100644 (file)
@@ -227,7 +227,7 @@ Stem::set_noteheads ()
          parity = !parity;
        }
       else
-       parity = 0;
+       parity = 1;
       lastpos = head_l_arr_[i]->position_i_;
     }
 }
index 895a6072076f10a5804122aefbdd9a39573d1bc0..84b6782611dcf25ed425d59e90b4b0aa9153a91e 100644 (file)
@@ -1,7 +1,7 @@
 Begin3
 Titel: LilyPond
-Versie: 0.1.35
-Inschrijf datum: 05DEC97
+Versie: 0.1.36
+Inschrijf datum: 06DEC97
 Beschrijving: LilyPond is de muziek typesetter van het GNU Project.  
                Het programma genereert muziek in zichtbare of 
                hoorbare vorm uit uit een muzikale definitie file: 
@@ -16,8 +16,8 @@ Auteur: hanwen@stack.nl (Han-Wen Nienhuys)
        jan@digicash.com (Jan Nieuwenhuizen)
 Onderhouden door: hanwen@stack.nl (Han-Wen Nienhuys)
 Voornaamste plek: sunsite.unc.edu /pub/Linux/apps
-       395k lilypond-0.1.35.tar.gz 
+       395k lilypond-0.1.36.tar.gz 
 Oorspronkelijke plek: pcnov095.win.tue.nl /pub/lilypond/
-       395k lilypond-0.1.35.tar.gz 
+       395k lilypond-0.1.36.tar.gz 
 Copi"eer politie: GPL
 End
index 5c18142039857a425779e4614c591a70e4ee9fe9..b84e8ddacbaf9ebe00f5c07078609393a016ef69 100644 (file)
@@ -1,7 +1,7 @@
 Begin3
 Title: LilyPond
-Version: 0.1.35
-Entered-date: 05DEC97
+Version: 0.1.36
+Entered-date: 06DEC97
 Description: LilyPond is the GNU Project music typesetter.  The program
                generates visual or auditive output from a music 
                definition file: it can typeset formatted sheet music 
@@ -14,8 +14,8 @@ Author: hanwen@stack.nl (Han-Wen Nienhuys)
        jan@digicash.com (Jan Nieuwenhuizen)
 Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
 Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert
-       460k lilypond-0.1.35.tar.gz 
+       460k lilypond-0.1.36.tar.gz 
 Original-site: pcnov095.win.tue.nl /pub/lilypond/development/
-       460k lilypond-0.1.35.tar.gz 
+       460k lilypond-0.1.36.tar.gz 
 Copying-policy: GPL
 End
index a3b3567d0a3bf2755118b842c8f838749286fd5f..d118d7867cd894a1ad43d4b4935bcac2cad87309 100644 (file)
@@ -1,9 +1,9 @@
 Name: lilypond
-Version: 0.1.35
+Version: 0.1.36
 Release: 1
 Copyright: GPL
 Group: Applications/Publishing
-Source0: alpha.gnu.org:/gnu/lilypond/development/lilypond-0.1.35.tar.gz
+Source0: alpha.gnu.org:/gnu/lilypond/development/lilypond-0.1.36.tar.gz
 Summary: A program for typesetting music.
 URL: http://www.stack.nl/~hanwen/lilypond
 Packager: Han-Wen Nienhuys <hanwen@stack.nl>
index b4b41e9e40e975b1d536c9679325d092dc7c9c5a..8a3c2823f26decdd5bcc73556d4c64603bb4c68b 100644 (file)
@@ -10,6 +10,9 @@ path outer_path;
 upflag_width# = .750 black_notehead_width# + stemthickness#/2;
 downflag_width# = .833 black_notehead_width# + stemthickness#/2;
 
+right_upflag_space# = .2 upflag_width#;
+right_downflag_space# = .2 downflag_width#;
+
 %
 % Flags pointing down cannot overlap with the notehead in y-direction,
 % so they have less slant.
@@ -104,7 +107,7 @@ fet_beginchar("8th Flag (up)", "u3", "eighthflag")
        foot_depth# =  3 interline#;
 
        set_char_box(stemthickness# /2, hip_width# 
-               + stemthickness#/2, 
+               + stemthickness#/2 + right_upflag_space#
                 foot_depth# + foot_thickness#/2, stemthickness#/2)
 
        define_pixels(flare, hip_width, hip_thickness,
@@ -133,7 +136,7 @@ fet_beginchar("16th Flag (up)", "u4", "sixteenthflag")
        foot_width_ratio = .8;
 
        set_char_box(stemthickness# /2, hip_width#
-               + stemthickness#/2, 
+               + stemthickness#/2 + right_upflag_space#
                total_depth# + foot_thickness#/2, stemthickness#/2)
 
        define_pixels(flare, hip_width, hip_thickness,
@@ -168,7 +171,7 @@ fet_beginchar("32nd Flag (up)", "u5", "thirtysecondflag")
        foot_width_ratio = .8;
 
        set_char_box(stemthickness# /2, hip_width#
-               + stemthickness#/2, 
+               + stemthickness#/2 + right_upflag_space#
                total_depth# + foot_thickness#/2, stemthickness#/2)
 
        define_pixels(flare, hip_width, hip_thickness,
@@ -206,7 +209,7 @@ fet_beginchar("64th Flag (up)", "u6", "sixtyfourthflag")
        foot_width_ratio = .8;
 
        set_char_box(stemthickness# /2, hip_width#
-               + stemthickness#/2, 
+               + stemthickness#/2 + right_upflag_space#
                total_depth# + foot_thickness#/2, stemthickness#/2)
 
        define_pixels(flare, hip_width, hip_thickness,
@@ -245,7 +248,7 @@ fet_beginchar("8th (down)", "d3", "deighthflag")
        foot_width_ratio = .8;
 
        set_char_box(stemthickness# /2, hip_width#
-               + stemthickness#/2
+               + stemthickness#/2 + right_downflag_space#,
                total_depth# + foot_thickness#/2, stemthickness#/2)
 
        define_pixels(flare, hip_width, hip_thickness,
@@ -279,7 +282,7 @@ fet_beginchar("16th (down)", "d4", "dsixteenthflag")
        foot_width_ratio = .95;
 
        set_char_box(stemthickness# /2, hip_width#
-               + stemthickness#/2, 
+               + stemthickness#/2 + right_downflag_space#
                total_depth# + foot_thickness#/2, stemthickness#/2)
 
        define_pixels(flare, hip_width, hip_thickness,
@@ -316,7 +319,7 @@ fet_beginchar("32nd (down)", "d5", "dthirtysecondflag")
        foot_width_ratio = .95;
 
        set_char_box(stemthickness# /2, hip_width#
-               + stemthickness#/2, 
+               + stemthickness#/2 + right_downflag_space#
                total_depth# + foot_thickness#/2, stemthickness#/2)
 
        define_pixels(flare, hip_width, hip_thickness,
@@ -355,7 +358,7 @@ fet_beginchar("64th (down)", "d6", "dsixtyfourthflag")
        foot_width_ratio = .98;
 
        set_char_box(stemthickness# /2, hip_width#
-               + stemthickness#/2, 
+               + stemthickness#/2 + right_downflag_space#
                total_depth# + foot_thickness#/2, stemthickness#/2)
 
        define_pixels(flare, hip_width, hip_thickness,
index 35a22c059efc034b1435b38c51be59a87c644cfd..0ccbec6bf294dcf4b14f0d5e6c5a9d684d46a039 100644 (file)
@@ -25,9 +25,9 @@ if test = 0:
        input feta-banier;
        input feta-klef;
 else:
-%      input feta-bolletjes;   
-%      input feta-banier;
+       input feta-bolletjes;   
+       input feta-banier;
 %      input feta-eindelijk;
-       input feta-klef;
+%      input feta-klef;
 %      input feta-toevallig;
 fi
index bd9eb4f542cdee772e01a2098f6e97859b28546d..11ef0c228de420f5276ec93101cfcf3ea1c75e1e 100644 (file)
@@ -6,8 +6,20 @@
 % (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>,
 % Jan Nieuwenhuizen <jan@digicash.com>
 
+
+
+
 fet_begingroup("clefs");
 
+%
+% [Ross] says that clefs take 1 interline space on the left and right
+%
+def set_horizontal_spacing =
+       save left_space ,right_space;
+       left_space# = reduced_il#;
+       right_space# = reduced_il#;
+enddef;
+
 def draw_staff(expr first, last)=
        pickup pencircle scaled stafflinethickness;
        for i:= first step 1 until last:
@@ -18,13 +30,18 @@ def draw_staff(expr first, last)=
 % [Wanske] says the bulbs should be positioned about 1/4 right of the
 % "arrow"
 def draw_c_clef (expr reduction) = 
-       save hair, norm, reduced_il;
+       save hair, norm, reduced_il, right_edge;
        reduced_il#=interline#*reduction;
        norm#:=2/3reduced_il#;
        hair#:=1/6norm#;
-       define_pixels (hair,norm,reduced_il);
-       set_char_box (0, 15/4norm#+2hair#, 
+
+       set_horizontal_spacing;
+       right_edge# = 15/4norm#+2hair#;
+
+       set_char_box (left_space#, right_edge# + right_space#, 
                2 reduced_il#, 2 reduced_il#);
+       define_pixels (hair,norm,reduced_il, right_edge);
+
        draw_block ((0,-d), (3/4norm+1/2hair,h));
        draw_block ((3/4norm+2hair,-d), 
                (3/4norm+7/2hair,h));
@@ -34,9 +51,9 @@ def draw_c_clef (expr reduction) =
        penpos1(hair,-90);
        z1l=(xoff+norm+hair,h);
        penpos2(norm-3/2hair,180);
-       z2l=(w,h/2);
+       z2l=(right_edge,h/2);
        penpos3(hair,90);
-       z3=(((w-xoff)/2)+xoff,2hair);
+       z3=(((right_edge -xoff)/2)+xoff,2hair);
 
        penpos4(hair,0);
        z4=(xoff+1/2norm+1/2hair,reduced_il-hair);
@@ -90,24 +107,29 @@ fet_endchar;
 % the dots, but her picture shows that the extreme is ~ 0.2 ss lower
 
 def draw_bass_klef(expr exact_center, reduction) = 
-       save reduced_il, left_tilt, left_thick;
+       save reduced_il, left_tilt, left_thick, ball_to_right;
        reduced_il# = interline# * reduction;
-       left_tilt = 5;
-       define_pixels(reduced_il);
-       left_thick = .25  reduced_il;
        
-       set_char_box(
-               - xpart exact_center+ .2 reduced_il#, 
-               xpart exact_center + 2.7 reduced_il#, 
+       set_horizontal_spacing;
+       ball_to_right# = 2.1 reduced_il#;
+       set_char_box(left_space# +
+               - xpart exact_center,
+               right_space# +
+               xpart exact_center + ball_to_right#, 
                - ypart exact_center + 2.5 reduced_il#, 
                ypart exact_center +reduced_il#);
+
+       define_pixels(reduced_il, ball_to_right);
+       left_tilt = 5;
+       left_thick = .25  reduced_il;
+
        x1r - x1l = left_thick;
        z1l = (hround_pixels(xpart exact_center), 
                vround_pixels(ypart exact_center));
 
        y2 = reduced_il;
 
-       x3l - x1l =  2.1 reduced_il;
+       x3l - x1l =  ball_to_right;
        x2 = .5 [x1,x3];
        x3l - x3r = .48 reduced_il;
        y3l = -0.05 interline;
@@ -189,7 +211,12 @@ def draw_gclef (expr exact_center, reduction)=
 
        thinnib = thinness - hair;
        thinpen = thinness;
-       set_char_box(-xpart exact_center + 1.1 * breapth_factor* reduced_il#, 
+       set_horizontal_spacing;
+       
+       set_char_box(
+               left_space# +
+               -xpart exact_center + 1.1 * breapth_factor* reduced_il#, 
+               right_space# +
                xpart exact_center + .66 breapth_factor* reduced_il#,
                -ypart exact_center + 3 * reduced_il#,
                ypart exact_center + 5 * reduced_il#);
index f80938b853149cf391bd64397ce78a69733e86c8..ac17e13534ca9d38d9c9cc104f0eb06976b8ce46 100644 (file)
@@ -1,5 +1,5 @@
-% generated automatically by mf-to-table.py version 0.4
-% on Fri Dec  5 11:52:40 1997
+% Creator: mf-to-table.py version 0.4
+% Automatically generated on Mon Dec  8 17:19:17 1997
 % Do not edit
 % input from out/feta16.log
 % name
index 3b2ee96e3e2700116199dededb701844d0ebef7b..6f7f3489495c3cda6a1742c4b5705c715b193280 100644 (file)
@@ -1,5 +1,5 @@
-% generated automatically by mf-to-table.py version 0.4
-% on Fri Dec  5 11:52:42 1997
+% Creator: mf-to-table.py version 0.4
+% Automatically generated on Mon Dec  8 17:19:20 1997
 % Do not edit
 % input from out/feta20.log
 % name