* Laura Conrad (lconrad@world.std.com) fixes to abc2ly
- * Jan Arne Fagertun <Jan.A.Fagertun@energy.sintef.no>, TeX
+ * Jan Arne Fagertun <Jan.A.Fagertun@trondheim.online.no>, TeX
titling and lytodvi.sh
* Anthony Fok <foka@debian.org>, Debian package: debian/*
* Bjoern Jacke <bjoern.jacke@gmx.de> German glossary stuff.
+ * Chris Jackson <chris@fluffhouse.org.uk>, Emacs mode
+ indentation, directed arpeggios.
+
* Neil Jerram <nj104@cus.cam.ac.uk>. parts of
Documentation/Vocab*
+2002-02-01 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
+ * VERSION: 1.5.29 released
+
+ * all files: change 2001 to 2002 in headers globally
+
+ * mf/parmesan20.mf: split out ancient notation into parmesan ("old
+ cheese") font. WARNING: fonts changed.
+
+2002-02-01 Juergen Reuter <reuter@ipd.uka.de>
+
+ * mf/*.mf: Fixed some blot_diameter related flaws in some feta symbols
+
+ * mf/*.mf: Added some more vaticana/solesmes style font symbols
+
+ * mf/*.mf: Bugfix: renamed subbipunctum -> inclinatum
+
+ * mf/*.mf: Fixed a few typos in various .mf files
+
+2002-01-17 Rune Zedeler <rune@zedeler.dk>
+
+ * mf/: added macro soft_penstroke
+
+ softened some glyphs
+ redrawn triangular noteheads
+ redrawn tab-clef
+ added classical quarter rest
+
+ * lily/stem.cc: Bugfix: Stem-attachment when staff_space!=1
+
+ * lily/bar.cc: Bugfix: repeat dots when even number of staff
+ lines and staff_space>=2
+
+ * lily/rest.cc: Use default rests when current style glyphs not
+ found - this allows
+ \property Staff.Rest \override #'style = #'classical
+
2002-01-30 Jan Nieuwenhuizen <janneke@gnu.org>
* input/bugs/first-tie.ly: New file.
accidental transposition.
@item Laura Conrad (lconrad@@world.std.com)
fixes to abc2ly
-@item @email{Jan.A.Fagertun@@energy.sintef.no, Jan Arne Fagertun},
+@item @email{Jan.A.Fagertun@@trondheim.online.no, Jan Arne Fagertun},
@TeX{} titling and lytodvi.sh
@item @email{foka@@debian.org, Anthony Fok},
Debian package: debian/*
\time 3/4 c2 e4 | g2.
@end example
+
+
@cindex skipTypesetting
-Bar checks are not affected by @code{skipTypesetting}, so if you are
-debugging a large score, you are advised to run it with skipTypesetting
-first to correct all overfull and underfull measures.
+Failed bar checks are most often caused by entering incorrect
+durations. Incorrect durations often completely garble up the score,
+especially if it is polyphonic, so you should start correcting the score
+by scanning for failed bar checks and incorrect durations. To speed up
+this process, you can use @code{skipTypesetting} (See @ref{Skipping
+corrected music})). Bar
+
@c . {Point and click}
@node Point and click
@end example
Two more notes, with pitch @code{a} and @code{b}. Because their
duration is the same as the @code{g,8}, there is no need to enter the
-duration, but you may enter it anyway, i.e., @code{a4 b4}
+duration, but you may enter it anyway, i.e., @code{a8 b8}
@separate
@example
README_FILES = ChangeLog CHANGES COPYING DEDICATION NEWS README.mandrake ROADMAP
README_TXT_FILES = AUTHORS.txt README.txt INSTALL.txt FAQ.txt
IN_FILES := $(wildcard *.in)
-EXTRA_DIST_FILES = lilypond-font-lock.el lilypond-mode.el lilypond-init.el vimrc VERSION $(README_FILES) $(SCRIPTS) $(IN_FILES) emacsclient.patch lexer-gcc-3.0.patch .cvsignore
+EXTRA_DIST_FILES = $(wildcard *.el) vimrc VERSION $(README_FILES) $(SCRIPTS) $(IN_FILES) emacsclient.patch lexer-gcc-3.0.patch .cvsignore
NON_ESSENTIAL_DIST_FILES = $(README_TXT_FILES)
INSTALLATION_DIR=$(datadir)
INSTALLATION_FILES=$(configuration) VERSION
PACKAGE_NAME=LilyPond
MAJOR_VERSION=1
MINOR_VERSION=5
-PATCH_LEVEL=28
-MY_PATCH_LEVEL=jcn1
+PATCH_LEVEL=29
+MY_PATCH_LEVEL=
# use the above to send patches: MY_PATCH_LEVEL is always empty for a
# released version.
"
}
-\score { \notes \relative c''{
+\score { \notes \relative c'{ \clef C
% \property Voice.Stem \override #'thickness = #5.0
\property Voice.NoteHead \set #'style = #'default
c4 c2 c8 c16 c16 c1 c\breve b4 b2 b8 b16 b16 b1 b\breve \break
c4 c2 c8 c16 c16 c1 c\breve b4 b2 b8 b16 b16 b1 b\breve \break
\property Voice.NoteHead \set #'style = #'xcircle
c4 c2 c8 c16 c16 c1 c\breve b4 b2 b8 b16 b16 b1 b\breve \break
+\property Voice.NoteHead \set #'style = #'triangle
+c4 c2 c8 c16 c16 c1 c\breve b4 b2 b8 b16 b16 b1 b\breve \break
\property Voice.NoteHead \set #'style = #'slash
c4 c2 c8 c16 c16 c1 c\breve b4 b2 b8 b16 b16 b1 b\breve \break
\property Voice.NoteHead \set #'style = #'mensural
% \property Staff.clefOctavation = #0
\clef "vaticana_do2"
- \property Voice.NoteHead \override #'style = #'vaticana_subbipunctum
+ \property Voice.NoteHead \override #'style = #'vaticana_inclinatum
a! b!
\property Staff.BarLine \override #'bar-size = #3.0 \bar "|"
\property Voice.NoteHead \override #'style = #'vaticana_virga
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "engraver.hh"
/*
accidental-engraver.cc -- implement accidental_engraver
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
Modified 2001 by Rune Zedeler <rz@daimi.au.dk>
*/
source file of the Flower Library
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "afm.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "molecule.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "audio-column.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "audio-element-info.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "audio-element.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "debug.hh"
#include "audio-item.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "audio-staff.hh"
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1999--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "spanner.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "hara-kiri-group-spanner.hh"
source file of the GNU LilyPond music typesetter
- (c) 2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2001--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include <math.h>
Real fatline = gh_scm2double (me->get_grob_property ("thick-thickness"));
Real staffline = me->paper_l ()->get_var ("stafflinethickness");
+ Real staff_space = Staff_symbol_referencer::staff_space (me);
Real staffspace = me->paper_l ()->get_var ("staffspace")
- * Staff_symbol_referencer::staff_space (me);
+ * staff_space;
kern *= staffline;
thinkern *= staffline;
Molecule thick = simple_barline (me, fatline, h);
Molecule colon;
Molecule dot = Font_interface::get_default_font (me)->find_by_name ("dots-dot");
- Real dist = (2-(Staff_symbol_referencer::line_count (me) & 1))*staffspace;
+ Real dist = ( Staff_symbol_referencer::line_count (me) & 1 ? 1 :
+ staff_space<2 ? 2 : .5 ) * staffspace;
dot.translate_axis(dist/2,Y_AXIS);
colon.add_molecule(dot);
dot.translate_axis(-dist,Y_AXIS);
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "engraver-group-engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include <math.h>
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include <math.h>
source file of the GNU LilyPond music typesetter
- (c) 1996--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1996--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "box.hh"
source file of the GNU LilyPond music typesetter
- (c) 1996--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1996--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "paper-column.hh"
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "change-iterator.hh"
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1999--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "chord-name.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1999--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "chord.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>,
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>,
Mats Bengtsson <matsb@s3.kth.se>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "note-column.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "debug.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "column-x-positions.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "command-request.hh"
/*
head-grav.cc -- part of GNU LilyPond
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include <ctype.h>
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "context-specced-music.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include <math.h>
#include "warn.hh"
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "dots.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "dots.hh"
source file of the LilyPond music typesetter
- (c) 1997--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2002 Jan Nieuwenhuizen <janneke@gnu.org>
Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "debug.hh"
#include "dimensions.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "flower-proto.hh"
Sourcefile of GNU LilyPond music type setter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "music.hh"
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
Mats Bengtsson <matsb@s3.kth.se> (the ugly TeX parsing in text_dimension)
*/
source file of the GNU LilyPond music typesetter
- (c) 2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2001--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "global-ctor.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "debug.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include <math.h> // rint
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "grob-info.hh"
source file of the GNU LilyPond music typesetter
-(c) 2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+(c) 2001--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "grob-pitch-tuple.hh"
source file of the GNU LilyPond music typesetter
- (c) 2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2001--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "translator-group.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "group-interface.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "molecule.hh"
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2002 Jan Nieuwenhuizen <janneke@gnu.org>
Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include <strstream.h>
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef ARPEGGIO_HH
/*
audio-column.hh -- declare Audio_column
- (c) 1997--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef AUDIO_COLUMN_HH
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
/*
audio-item.hh -- declare Audio_items
- (c) 1996--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1996--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef AUDIO_ITEM_HH
/*
audio-staff.hh -- declare Audio_staff
- (c) 1996--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1996--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef AUDIO_STAFF_HH
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
/*
bar.hh -- part of GNU LilyPond
- (c) 1996--2001 Han-Wen Nienhuys
+ (c) 1996--2002 Han-Wen Nienhuys
*/
#ifndef BAR_HH
/*
beam.hh -- part of GNU LilyPond
- (c) 1996--2001 Han-Wen Nienhuys
+ (c) 1996--2002 Han-Wen Nienhuys
*/
#ifndef BEAM_HH
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
/*
bezier.hh -- declare Bezier and Bezier_bow
- (c) 1998--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef BEZIER_HH
source file of the GNU LilyPond music typesetter
- (c) 1996--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1996--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1999--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef CHORD_NAME_HH
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1999--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef CHORD_HH
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
/*
column-x-positions.hh -- part of GNU LilyPond
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#ifndef COLUMN_X_POSITIONS_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
cxx-function-smob.hh --
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the LilyPond music typesetter
- (c) 1997--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1996--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1996--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
/*
grob.hh -- declare Grob
- (c) 1996-1999--2001 Han-Wen Nienhuys
+ (c) 1996-1999--2002 Han-Wen Nienhuys
*/
#ifndef STAFFELEM_HH
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#ifndef ITEM_HH
#define ITEM_HH
/*
key-item.hh -- part of GNU LilyPond
- (c) 1996--2001 Han-Wen Nienhuys
+ (c) 1996--2002 Han-Wen Nienhuys
*/
#ifndef KEYITEM_HH
/*
keyword.hh -- part of GNU LilyPond
- (c) 1996--2001 Han-Wen Nienhuys
+ (c) 1996--2002 Han-Wen Nienhuys
*/
#ifndef KEYWORD_HH
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
/*
leastsquare.hh -- part of GNU LilyPond
- (c) 1996--2001 Han-Wen Nienhuys
+ (c) 1996--2002 Han-Wen Nienhuys
*/
#ifndef LEASTSQUARE_HH
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef LILY_GUILE_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#ifndef LILY_PROTO_HH
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1999--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
/*
line-of-score.hh -- part of GNU LilyPond
- (c) 1996--2001 Han-Wen Nienhuys
+ (c) 1996--2002 Han-Wen Nienhuys
*/
#ifndef SCORELINE_HH
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
/*
local-key-item.hh -- part of GNU LilyPond
- (c) 1996--2001 Han-Wen Nienhuys
+ (c) 1996--2002 Han-Wen Nienhuys
*/
#ifndef LOCALKEYITEM_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
/*
extender-spanner.hh -- part of GNU LilyPond
- (c) 1998--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef EXTENDER_SPANNER_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#ifndef MAIN_HH
#define MAIN_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
/*
midi-item.hh -- declare Midi items
- (c) 1997--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef MIDI_ITEM_HH
/*
midi-stream.hh -- declare Midi_stream
- (c) 1997--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef MIDI_STREAM_HH
/*
midi-walker.hh -- declare Midi_walker
- (c) 1996--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1996--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#ifndef MOLECULE_HH
#define MOLECULE_HH
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#ifndef LEXER_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
/*
note-head.hh -- part of GNU LilyPond
- (c) 1996--2001 Han-Wen Nienhuys
+ (c) 1996--2002 Han-Wen Nienhuys
*/
#ifndef NOTEHEAD_HH
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef OUTPUT_PROPERTY_MUSIC_ITERATOR_HH
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1996--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1996--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1996--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1996--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
/*
performance.hh -- declare Performance
- (c) 1997--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef PERFORMANCE_HH
/*
performer-group-performer.hh -- declare Performer_group_performer
- (c) 1996--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1996--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
/*
performer.hh -- declare Performer
- (c) 1996--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1996--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#ifndef REQUEST_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
/*
score-performer.hh -- declare Score_performer
- (c) 1996--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1996--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#ifndef SEQUENTIAL_MUSIC_ITERATOR_HH
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#ifndef SIMPLE_MUSIC_ITERATOR_HH
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef SLUR_BEZIER_BOW_HH
/*
slur.hh -- declare Slur
- (c) 1996--2001 Han-Wen Nienhuys
+ (c) 1996--2002 Han-Wen Nienhuys
*/
#ifndef SLUR_HH
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
/*
spanner.hh -- part of GNU LilyPond
- (c) 1996--2001 Han-Wen Nienhuys
+ (c) 1996--2002 Han-Wen Nienhuys
*/
#ifndef SPANNER_HH
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
/*
stem.hh -- declare Stem
- (c) 1996--2001 Han-Wen Nienhuys
+ (c) 1996--2002 Han-Wen Nienhuys
*/
#ifndef STEM_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1999--2002 Jan Nieuwenhuizen <janneke@gnu.org>
revamped code from GNU Fontutils-0.6
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1999--2002 Jan Nieuwenhuizen <janneke@gnu.org>
revamped code from GNU Fontutils-0.6
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
/*
time_signature.hh -- declare Time_signature
- (c) 1996--2001 Han-Wen Nienhuys
+ (c) 1996--2002 Han-Wen Nienhuys
*/
#ifndef METER_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
/*
plet-spanner.hh -- part of GNU LilyPond
- (c) 1997--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef Tuplet_bracket_HH
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
/*
volta-spanner.hh -- part of GNU LilyPond
- (c) 1997--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#ifndef VOLTA_SPANNER_HH
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "key-item.hh"
source file of the GNU LilyPond music typesetter
- (c) 1996--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1996--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
keyplacement by Mats Bengtsson
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "lily-guile.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include <stdio.h>
source file of the GNU LilyPond music typesetter
- (c) 1996--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1996--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2002 Jan Nieuwenhuizen <janneke@gnu.org>
Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1999--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "config.h"
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "command-request.hh"
source file of the GNU LilyPond music typesetter
- (c) 1996--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1996--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "input-smob.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "molecule.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "local-key-item.hh"
#include "molecule.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
lyric-extender.cc -- implement Lyric_extender
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2002 Jan Nieuwenhuizen <janneke@gnu.org>
Han-Wen Nienhuys
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "musical-request.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include <stdlib.h>
"lilypond");
cout << endl;
- cout << _f ("Copyright (c) %s by", "1996--2001");
+ cout << _f ("Copyright (c) %s by", "1996--2002");
cout << '\n';
cout << " Han-Wen Nienhuys <hanwen@cs.uu.nl>\n";
cout << " Jan Nieuwenhuizen <janneke@gnu.org>\n";
cout << '\n';
cout << _ ("GNU LilyPond -- The music typesetter");
cout << '\n';
- cout << _f ("Copyright (c) %s by", "1996--2001");
+ cout << _f ("Copyright (c) %s by", "1996--2002");
cout << '\n';
cout << " Han-Wen Nienhuys <hanwen@cs.uu.nl>\n";
cout << " Jan Nieuwenhuizen <janneke@gnu.org>\n";
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include <ctype.h>
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include <math.h>
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "debug.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include <math.h>
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
/*
multi_measure_rest-engraver.cc -- implement Multi_measure_rest_engraver
- (c) 1998--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2002 Jan Nieuwenhuizen <janneke@gnu.org>
Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2001--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
/*
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "scm-hash.hh"
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "music-list.hh"
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "input-smob.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "musical-request.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include <strstream.h>
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include <math.h> // ceil
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include <math.h>
/*
head-grav.cc -- part of GNU LilyPond
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include <ctype.h>
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1996--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1996--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "performer.hh"
source file of the GNU LilyPond music typesetter
- (c) 2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2001--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "input.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "moment.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include <math.h>
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1996--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1996--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "main.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "part-combine-music.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2001--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include <math.h>
source file of the GNU LilyPond music typesetter
- (c) 2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2001--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include <time.h>
source file of the GNU LilyPond music typesetter
- (c) 1996--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1996--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1996--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1996--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
/*
phrasing-slur-engraver.cc -- implement Phrasing_slur_engraver
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "musical-request.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "staff-symbol-referencer.hh"
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "pitch.hh"
/*
porrectus-engraver.cc -- implement Porrectus_engraver
- Copyright (C) 2001 Juergen Reuter
+ Copyright (c) 2001--2002 Juergen Reuter
written for the GNU LilyPond music typesetter
*/
/*
porrectus.cc -- implement Porrectus
- Copyright (C) 2001 Juergen Reuter
+ Copyright (c) 2001--2002 Juergen Reuter
written for the GNU LilyPond music typesetter
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "property-iterator.hh"
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "protected-scm.hh"
source file of the GNU LilyPond music typesetter
- (c) 2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2001--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "translator-group.hh"
source file of the GNU LilyPond music typesetter
- (c) 1996--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1996--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "request.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "debug.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include <math.h> // ceil.
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "item.hh"
#include "staff-symbol-referencer.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "molecule.hh"
ledger_b = ledger_b || (balltype == 1 &&
(pos <= -rad -2 || pos > rad));
}
-
+
return ("rests-") + to_str (balltype)
+ (ledger_b ? "o" : "") + style;
}
style = ly_scm2string (scm_symbol_to_string (style_sym));
}
- String idx = glyph_name (me, balltype, style);
- return Font_interface::get_default_font (me)->find_by_name (idx).smobbed_copy ();
+ for(;;) {
+ String idx = glyph_name (me, balltype, style);
+ Molecule res = Font_interface::get_default_font (me)->find_by_name (idx);
+ if(res.empty_b() && style!="")
+ style="";
+ else
+ return res.smobbed_copy();
+ }
}
SCM
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "rhythmic-head.hh"
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "rod.hh"
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include <stdio.h>
source file of the GNU LilyPond music typesetter
- (c) 2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2001--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "debug.hh"
source file of the GNU LilyPond music typesetter
- (c) 1996--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1996--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "score-performer.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "ly-smobs.icc"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "config.h"
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "script-column.hh"
/*
script-engraver.cc -- implement Script_engraver
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "script.hh"
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "translator-group.hh"
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include <math.h> // ceil.
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
TODO:
- add support for different stretch/shrink constants?
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "translator-group.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "debug.hh"
/*
slur-engraver.cc -- implement Slur_engraver
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "musical-request.hh"
source file of the GNU LilyPond music typesetter
- (c) 1996--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1996--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "span-bar.hh"
source file of the GNU LilyPond music typesetter
- (c) 1996--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1996--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include <math.h>
#include <libc-extension.hh>
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
-(c) 2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+(c) 2001--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "staff-symbol.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "translator-group.hh"
source file of the GNU LilyPond music typesetter
-(c) 2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+(c) 2001--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include <math.h>
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "lookup.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>, Glen Prideaux <glenprideaux@iname.com>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>, Glen Prideaux <glenprideaux@iname.com>
Similar to (and derived from) Instrument_name_engraver.
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "staff-symbol-referencer.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1996--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1996--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
TODO: This is way too hairy
// dy?
Real dy = Staff_symbol_referencer::staff_space (me) * 0.5;
-
+
if (Grob *hed = support_head (me))
{
/*
Real y_attach = Note_head::stem_attachment_coordinate ( hed, Y_AXIS);
y_attach = head_height.linear_combination (y_attach);
- stem_y[Direction (-d)] += d * 2*y_attach;
+ stem_y[Direction (-d)] += d * y_attach/dy;
}
if (!invisible_b (me))
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "grob.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "performer.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include <math.h>
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include <limits.h>
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "command-request.hh"
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include <math.h>
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "dimensions.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "molecule.hh"
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1999--2002 Jan Nieuwenhuizen <janneke@gnu.org>
some code shamelessly copied from GNU fontutils-0.6/tfm/tfm_input.c
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1999--2002 Jan Nieuwenhuizen <janneke@gnu.org>
some code shamelessly copied from GNU fontutils-0.6/tfm/tfm_input.c
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "line-of-score.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1999--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include <math.h>
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "time-signature.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "audio-item.hh"
source file of the GNU LilyPond music typesetter
- (c) 1996--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1996--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "translator-group.hh"
#include "command-request.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "debug.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "translator.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "music-output-def.hh"
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include <math.h>
source file of the GNU LilyPond music typesetter
- (c) 1998--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "type-swallow-translator.hh"
source file of the GNU LilyPond music typesetter
- (c) 2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2001--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
-(c) 2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+(c) 2001--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "translator-group.hh"
#include "paper-column.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include "engraver.hh"
source file of the GNU LilyPond music typesetter
- (c) 2000--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1997--2002 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include <string.h>
source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "debug.hh"
--- /dev/null
+;;; lilypond-indent.el --- Auto-indentation for lilypond code
+;;;
+;;; Chris Jackson <chris@fluffhouse.org.uk>
+;;; some code is taken from ESS (Emacs Speaks Statistics) S-mode by A.J.Rossini <rossini@biostat.washington.edu>
+
+;;; Variables for customising indentation style
+
+(defcustom LilyPond-indent-level 4
+ "*Indentation of lilypond statements with respect to containing block.")
+
+(defcustom LilyPond-brace-offset 0
+ "*Extra indentation for open braces.
+Compares with other text in same context.")
+
+(defcustom LilyPond-angle-offset 0
+ "*Extra indentation for open angled brackets .
+Compares with other text in same context.")
+
+(defcustom LilyPond-scheme-paren-offset 0
+ "*Extra indentation for open scheme parens .
+Compares with other text in same context.")
+
+(defcustom LilyPond-close-brace-offset 0
+ "*Extra indentation for closing braces.")
+
+(defcustom LilyPond-close-angle-offset 0
+ "*Extra indentation for closing angle brackets.")
+
+(defcustom LilyPond-close-scheme-paren-offset 0
+ "*Extra indentation for closing scheme parens.")
+
+(defcustom LilyPond-fancy-comments t
+ "*Non-nil means distiguish between %, %%, and %%% for indentation.")
+
+
+(defun LilyPond-calculate-indent ()
+ "Return appropriate indentation for current line as lilypond code.
+In usual case returns an integer: the column to indent to.
+Returns nil if line starts inside a string"
+ (save-excursion
+ (beginning-of-line)
+ (let ((indent-point (point))
+ (case-fold-search nil)
+ state)
+ (setq containing-sexp (save-excursion (LilyPond-beginning-of-containing-sexp)))
+ (beginning-of-defun)
+ (while (< (point) indent-point)
+ (setq state (parse-partial-sexp (point) indent-point 0)))
+ ;; (setq containing-sexp (car (cdr state))) is the traditional way for languages
+ ;; with simpler parenthesis delimiters
+ (cond ((nth 3 state)
+ ;; point is in the middle of a string
+ nil)
+ ((nth 4 state)
+ ;; point is in the middle of a block comment
+ (LilyPond-calculate-indent-within-blockcomment))
+ ((null containing-sexp)
+ ;; Line is at top level - no indent
+ (beginning-of-line)
+ 0)
+ (t
+ ;; Find previous non-comment character.
+ (goto-char indent-point)
+ (LilyPond-backward-to-noncomment containing-sexp)
+ ;; Now we get the answer.
+ ;; Position following last unclosed open.
+ (goto-char containing-sexp)
+ (or
+ ;; Is line first statement after an open brace or bracket?
+ ;; If no, find that first statement and indent like it.
+ (save-excursion
+ (forward-char 1)
+ ;; Skip over comments following open brace.
+ (skip-chars-forward " \t\n")
+ (cond ((looking-at "%{")
+ (while (progn
+ (and (not (looking-at "%}"))
+ (< (point) (point-max))))
+ (forward-line 1)
+ (skip-chars-forward " \t\n"))
+ (forward-line 1)
+ (skip-chars-forward " \t\n"))
+ ((looking-at "%")
+ (while (progn (skip-chars-forward " \t\n")
+ (looking-at "%"))
+ (forward-line 1))))
+ ;; The first following code counts
+ ;; if it is before the line we want to indent.
+ (and (< (point) indent-point)
+ (current-column)))
+ ;; If no previous statement,
+ ;; indent it relative to line brace is on.
+ ;; For open brace in column zero, don't let statement
+ ;; start there too. If LilyPond-indent-level is zero, use
+ ;; LilyPond-brace-offset instead
+ (+ (if (and (bolp) (zerop LilyPond-indent-level))
+ (cond ((= (following-char) ?{)
+ LilyPond-brace-offset)
+ ((= (following-char) ?<)
+ LilyPond-angle-offset)
+ ((= (following-char) ?\))
+ LilyPond-scheme-paren-offset)
+ (t
+ 0))
+ LilyPond-indent-level)
+ (progn
+ (skip-chars-backward " \t")
+ (current-indentation)))))))))
+
+
+
+(defun LilyPond-indent-line ()
+ "Indent current line as lilypond code.
+Return the amount the indentation changed by."
+ (let ((indent (LilyPond-calculate-indent))
+ beg shift-amt
+ (case-fold-search nil)
+ (pos (- (point-max) (point))))
+ (beginning-of-line)
+ (setq beg (point))
+ (cond ((eq indent nil)
+ (setq indent (current-indentation)))
+ (t
+ (skip-chars-forward " \t")
+ (if (and LilyPond-fancy-comments (looking-at "%%%\\|%{\\|%}"))
+ (setq indent 0))
+ (if (and LilyPond-fancy-comments
+ (looking-at "%")
+ (not (looking-at "%%\\|%{\\|%}")))
+ (setq indent comment-column)
+ (if (eq indent t) (setq indent 0))
+ (if (listp indent) (setq indent (car indent)))
+ (cond
+ ((= (following-char) ?})
+ (setq indent (+ indent (- LilyPond-close-brace-offset LilyPond-indent-level))))
+ ((= (following-char) ?>)
+ (setq indent (+ indent (- LilyPond-close-angle-offset LilyPond-indent-level))))
+ ((and (= (following-char) ?\)) (LilyPond-inside-scheme-p))
+ (setq indent (+ indent (- LilyPond-close-scheme-paren-offset LilyPond-indent-level))))
+ ((= (following-char) ?{)
+ (setq indent (+ indent LilyPond-brace-offset)))
+ ((= (following-char) ?<)
+ (setq indent (+ indent LilyPond-angle-offset)))
+ ((and (= (following-char) ?\() (LilyPond-inside-scheme-p))
+ (setq indent (+ indent LilyPond-scheme-paren-offset)))
+ ))))
+ (skip-chars-forward " \t")
+ (setq shift-amt (- indent (current-column)))
+ (if (zerop shift-amt)
+ (if (> (- (point-max) pos) (point))
+ (goto-char (- (point-max) pos)))
+ (delete-region beg (point))
+ (indent-to indent)
+ ;; If initial point was within line's indentation,
+ ;; position after the indentation.
+ ;; Else stay at same point in text.
+ (if (> (- (point-max) pos) (point))
+ (goto-char (- (point-max) pos))))
+ shift-amt))
+
+
+(defun LilyPond-inside-comment-p ()
+ "Return non-nil if point is inside a line or block comment"
+ (setq this-point (point))
+ (or (save-excursion (beginning-of-line)
+ (skip-chars-forward " \t")
+ (looking-at "%"))
+ (save-excursion
+ ;; point is in the middle of a block comment
+ (setq lastopen (save-excursion (re-search-backward "%{[ \\t]*" (point-min) t)))
+ (setq lastclose (save-excursion (re-search-backward "%}[ \\t]*" (point-min) t)))
+ (if (or (and (= (char-before) ?%) (= (char-after) ?{))
+ (and (= (char-after) ?%) (= (char-after (1+ (point))) ?{)))
+ (setq lastopen (save-excursion (backward-char) (point))))
+ (and
+ lastopen
+ (or (not lastclose)
+ (<= lastclose lastopen))))
+ ))
+
+
+(defun LilyPond-inside-string-or-comment-p ()
+ "Test if point is inside a string or a comment"
+ (setq this-point (point))
+ (or (save-excursion (beginning-of-line)
+ (skip-chars-forward " \t")
+ (looking-at "%"))
+ (save-excursion
+ (beginning-of-defun)
+ (while (< (point) this-point)
+ (setq state (parse-partial-sexp (point) this-point 0)))
+ (cond ((nth 3 state)
+ ;; point is in the middle of a string
+ t )
+ ((nth 4 state)
+ ;; point is in the middle of a block comment
+ t )
+ (t
+ nil)))))
+
+
+(defun LilyPond-backward-over-blockcomments (lim)
+ "Move point back to closest non-whitespace character not part of a block comment"
+ (setq lastopen (save-excursion (re-search-backward "%{[ \\t]*" lim t)))
+ (setq lastclose (save-excursion (re-search-backward "%}[ \\t]*" lim t)))
+ (if lastopen
+ (if lastclose
+ (if (<= lastclose lastopen)
+ (goto-char lastopen))
+ (goto-char lastopen)))
+ (skip-chars-backward " %\t\n\f"))
+
+
+(defun LilyPond-backward-over-linecomments (lim)
+ "Move point back to the closest non-whitespace character not part of a line comment.
+Argument LIM limit."
+ (let (opoint stop)
+ (while (not stop)
+ (skip-chars-backward " \t\n\f" lim)
+ (setq opoint (point))
+ (beginning-of-line)
+ (search-forward "%" opoint 'move)
+ (skip-chars-backward " \t%")
+ (setq stop (or (/= (preceding-char) ?\n) (<= (point) lim)))
+ (if stop (point)
+ (beginning-of-line)))))
+
+
+(defun LilyPond-backward-to-noncomment (lim)
+ "Move point back to closest non-whitespace character not part of a comment"
+ (LilyPond-backward-over-linecomments lim)
+ (LilyPond-backward-over-blockcomments lim))
+
+
+(defun LilyPond-calculate-indent-within-blockcomment ()
+ "Return the indentation amount for line inside a block comment."
+ (let (end percent-start)
+ (save-excursion
+ (beginning-of-line)
+ (skip-chars-forward " \t")
+ (skip-chars-backward " \t\n")
+ (setq end (point))
+ (beginning-of-line)
+ (skip-chars-forward " \t")
+ (and (re-search-forward "%{[ \t]*" end t)
+ (goto-char (1+ (match-beginning 0))))
+ (if (and (looking-at "[ \t]*$") (= (preceding-char) ?\%))
+ (1+ (current-column))
+ (current-column)))))
+
+
+(defconst LilyPond-parens-regexp-alist
+ `(("[^\\]<" . "[^ \\n\\t_^-]\\s-*>\\|[_^-]\\s-*[-^]\\s-*>")
+ ;; a b c->, a b c^> and a b c_> are not close-angle-brackets, they're accents
+ ;; but a b c^-> and a b c^^> are close brackets with tenuto/marcato before them
+ ;; also \> and \< are hairpins
+ ("{" . "}")))
+
+
+(defconst LilyPond-parens-combined-regexp
+ (concat (mapconcat 'car LilyPond-parens-regexp-alist "\\|")
+ "\\|"
+ (mapconcat 'cdr LilyPond-parens-regexp-alist "\\|")))
+
+
+(defun LilyPond-beginning-of-containing-sexp ()
+ "Move point to the beginning of the deepest parenthesis pair enclosing point."
+ (interactive)
+ (let ((level 1))
+ (if (LilyPond-inside-scheme-p)
+ (setq paren-regexp "(\\|)" inside-scheme t)
+ (setq paren-regexp LilyPond-parens-combined-regexp inside-scheme nil))
+ (while (and (> level 0)
+ (re-search-backward paren-regexp nil t)
+ (setq match (char-before (match-end 0))))
+ (if (not (save-excursion (goto-char (match-end 0))
+ (LilyPond-inside-string-or-comment-p)))
+ (if (memq match '(?} ?> ?\)))
+ (progn (setq level (1+ level))
+ (if (and (= match ?>)
+ (looking-at ".\\s-+>\\|\\({\\|}\\|<\\|>\\|(\\|)\\)>"))
+ (forward-char 1)))
+ (progn (setq level (1- level))
+ (if (and (= match ?<)
+ (looking-at ".\\s-+<\\|\\({\\|}\\|<\\|>\\|(\\|)\\)<"))
+ (forward-char 1))))))
+ (if (looking-at ".<\\|.>") (forward-char 1))
+ (if (/= level 1)
+ (point)
+ nil)))
+
+
+(defun LilyPond-inside-scheme-p ()
+ "Tests if point is inside embedded Scheme code"
+ (interactive)
+ (let ( (test-point (point))
+ (level 0) )
+ (save-excursion
+ (if (or (and (= (char-after (point)) ?\()
+ (or (= (char-after (- (point) 1)) ?#)
+ (and (= (char-after (- (point) 2)) ?#)
+ (= (char-after (- (point) 1)) ?`))))
+ (and (re-search-backward "#(\\|#`(" nil t)
+ (progn
+ (search-forward "(")
+ (setq level 1)
+ (while (and (> level 0)
+ (re-search-forward "(\\|)" test-point t)
+ (setq match (char-after (match-beginning 0)))
+ (<= (point) test-point))
+ (if (= match ?\()
+ (setq level (1+ level))
+ (setq level (1- level))))
+ (> level 0))))
+ t
+ nil))))
emptyText = \property Voice.textNonEmpty = ##f
fatText = \property Voice.textNonEmpty = ##t
-showStaffSwitch = \property PianoStaff.followVoice = ##t
-hideStaffSwitch = \property PianoStaff.followVoice = ##f
+showStaffSwitch = \property Voice.followVoice = ##t
+hideStaffSwitch = \property Voice.followVoice = ##f
% FIXME: Move this docu (to where?)
Begin3
Title: LilyPond
-Version: 1.5.28
-Entered-date: 29DEC01
+Version: 1.5.29
+Entered-date: 01FEB02
Description: @BLURB@
Keywords: music notation typesetting midi fonts engraving
Author: hanwen@cs.uu.nl (Han-Wen Nienhuys)
janneke@gnu.org (Jan Nieuwenhuizen)
Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert
- 1000k lilypond-1.5.28.tar.gz
+ 1000k lilypond-1.5.29.tar.gz
Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
- 1000k lilypond-1.5.28.tar.gz
+ 1000k lilypond-1.5.29.tar.gz
Copying-policy: GPL
End
%define name lilypond
-%define version 1.5.28
+%define version 1.5.29
%define release 1mdk
Name: %{name}
%define info yes
Name: lilypond
-Version: 1.5.28
+Version: 1.5.29
Release: 1
License: GPL
Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.5.28.tar.gz
+Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.5.29.tar.gz
Summary: Create and print music notation
URL: http://www.lilypond.org/
BuildRoot: /tmp/lilypond-install
Distribution: SuSE Linux 7.0 (i386)
Name: lilypond
-Version: 1.5.28
+Version: 1.5.29
Release: 2
Copyright: GPL
Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.5.28.tar.gz
+Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.5.29.tar.gz
# music notation software for.. ?
Summary: A program for printing sheet music.
URL: http://www.lilypond.org/
% source file of the Feta (not an acronym for Font-En-Tja)
% pretty-but-neat music font
%
-% (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+% (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
% Jan Nieuwenhuizen <janneke@gnu.org>
%
% these macros help create ascii logging output
y_mirror_char;
fet_endchar;
-%%%%%%%%
-%
-%
-%
-% Mensural Notation
-%
-%
-%
-
-def draw_mensural_outermost_flag_i =
- define_pixels(stafflinethickness, staff_space)
-
- pickup pencircle
- xscaled 1.00 stafflinethickness
- yscaled 0.22 staff_space
- rotated -35;
-
- save za, zb, zc, zd, ze;
- pair za, zb, zc, zd, ze;
-
- za = (+0.00 staff_space, -0.00 staff_space);
- zb = (+0.15 staff_space, -0.00 staff_space);
- zc = (+0.45 staff_space, -0.35 staff_space);
- zd = (+0.45 staff_space, -0.85 staff_space);
- ze = (+0.00 staff_space, -2.00 staff_space);
-
- draw za .. zb -- zc{zc-zb} .. {ze-zd}zd -- ze;
-enddef;
-
-def draw_mensural_outermost_flag_ii =
- define_pixels(stafflinethickness, staff_space)
-
- pickup pencircle
- xscaled 1.00 stafflinethickness
- yscaled 0.22 staff_space
- rotated -35;
-
- save za, zb, zc, zd, ze;
- pair za, zb, zc, zd, ze;
-
- za = (+0.00 staff_space, -0.00 staff_space);
- zb = (+0.15 staff_space, -0.00 staff_space);
- zc = (+0.20 staff_space, -0.05 staff_space);
- zd = (+0.20 staff_space, -1.15 staff_space);
- ze = (+0.00 staff_space, -1.40 staff_space);
-
- draw za .. zb -- zc{zc-zb} .. {ze-zd}zd -- ze;
-enddef;
-
-def draw_mensural_inner_flag(expr il_shift) =
- define_pixels(stafflinethickness, staff_space)
-
- pickup pencircle
- xscaled 1.00 stafflinethickness
- yscaled 0.22 staff_space
- rotated -35;
-
- save zs, za, zb, zc, zd;
- pair zs, za, zb, zc, zd;
-
- zs = (0, -il_shift * staff_space);
- za = zs + (+0.00 staff_space, -0.10 staff_space);
- zb = zs + (+0.33 staff_space, -0.30 staff_space);
- zc = zs + (+0.33 staff_space, -0.70 staff_space);
- zd = zs + (+0.00 staff_space, -0.90 staff_space);
-
- draw za{2,1} .. zb .. zc .. {-2,-1}zd;
-enddef;
-
-fet_beginchar("8th Mensural Flag (up)", "mensuralu03", "menseighthflag")
- set_char_box(0, 0.60 staff_space#, 2.00 staff_space#, 0)
- draw_mensural_outermost_flag_i
-fet_endchar;
-
-fet_beginchar("8th Mensural Flag (up)", "mensuralu13", "mens1eighthflag")
- set_char_box(0, 0.60 staff_space#, 1.50 staff_space#, 0)
- draw_mensural_outermost_flag_ii
-fet_endchar;
-
-fet_beginchar("8th Mensural Flag (down)", "mensurald03", "mensdeighthflag")
- set_char_box(0.60 staff_space#, 0, 0, 2.00 staff_space#)
- draw_mensural_outermost_flag_i
- currentpicture := currentpicture xscaled -1 yscaled -1;
-fet_endchar;
-
-fet_beginchar("8th Mensural Flag (down)", "mensurald13", "mensd1eighthflag")
- set_char_box(0.60 staff_space#, 0, 0, 1.50 staff_space#)
- draw_mensural_outermost_flag_ii
- currentpicture := currentpicture xscaled -1 yscaled -1;
-fet_endchar;
-
-fet_beginchar("16th Mensural Flag (up)", "mensuralu04", "menssixteenthflag")
- set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
- draw_mensural_outermost_flag_i
- draw_mensural_inner_flag(2.0)
-fet_endchar;
-
-fet_beginchar("16th Mensural Flag (up)", "mensuralu14", "mens1sixteenthflag")
- set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
- draw_mensural_outermost_flag_ii
- draw_mensural_inner_flag(1.5)
-fet_endchar;
-
-fet_beginchar("16th Mensural Flag (down)", "mensurald04", "mensdsixteenthflag")
- set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
- draw_mensural_outermost_flag_i
- draw_mensural_inner_flag(2.0)
- currentpicture := currentpicture xscaled -1 yscaled -1;
-fet_endchar;
-
-fet_beginchar("16th Mensural Flag (down)", "mensurald14", "mensd1sixteenthflag")
- set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
- draw_mensural_outermost_flag_ii
- draw_mensural_inner_flag(1.5)
- currentpicture := currentpicture xscaled -1 yscaled -1;
-fet_endchar;
-
-fet_beginchar("32th Mensural Flag (up)", "mensuralu05", "mensthirtysecondflag")
- set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
- draw_mensural_outermost_flag_i
- draw_mensural_inner_flag(2.0)
- draw_mensural_inner_flag(3.0)
-fet_endchar;
-
-fet_beginchar("32th Mensural Flag (up)", "mensuralu15", "mens1thirtysecondflag")
- set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
- draw_mensural_outermost_flag_ii
- draw_mensural_inner_flag(1.5)
- draw_mensural_inner_flag(2.5)
-fet_endchar;
-
-fet_beginchar("32th Mensural Flag (down)", "mensurald05", "mensdthirtysecondflag")
- set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
- draw_mensural_outermost_flag_i
- draw_mensural_inner_flag(2.0)
- draw_mensural_inner_flag(3.0)
- currentpicture := currentpicture xscaled -1 yscaled -1;
-fet_endchar;
-
-fet_beginchar("32th Mensural Flag (down)", "mensurald15", "mensd1thirtysecondflag")
- set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
- draw_mensural_outermost_flag_ii
- draw_mensural_inner_flag(1.5)
- draw_mensural_inner_flag(2.5)
- currentpicture := currentpicture xscaled -1 yscaled -1;
-fet_endchar;
-
-fet_beginchar("64th Mensural Flag (up)", "mensuralu06", "menssixtyfourthflag")
- set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
- draw_mensural_outermost_flag_i
- draw_mensural_inner_flag(1.5)
- draw_mensural_inner_flag(2.5)
- draw_mensural_inner_flag(3.5)
-fet_endchar;
-
-fet_beginchar("64th Mensural Flag (up)", "mensuralu16", "mens1sixtyfourthflag")
- set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
- draw_mensural_outermost_flag_ii
- draw_mensural_inner_flag(1.17)
- draw_mensural_inner_flag(2.08)
- draw_mensural_inner_flag(3.00)
-fet_endchar;
-
-fet_beginchar("64th Mensural Flag (down)", "mensurald06", "mensdsixtyfourthflag")
- set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
- draw_mensural_outermost_flag_i
- draw_mensural_inner_flag(1.5)
- draw_mensural_inner_flag(2.5)
- draw_mensural_inner_flag(3.5)
- currentpicture := currentpicture xscaled -1 yscaled -1;
-fet_endchar;
-
-fet_beginchar("64th Mensural Flag (down)", "mensurald16", "mensd1sixtyfourthflag")
- set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
- draw_mensural_outermost_flag_ii
- draw_mensural_inner_flag(1.17)
- draw_mensural_inner_flag(2.08)
- draw_mensural_inner_flag(3.00)
- currentpicture := currentpicture xscaled -1 yscaled -1;
-fet_endchar;
-
%%%%%%%%
%
%
y_mirror_char;
fet_endchar;
-%%%%%%%%
-%
-%
-%
-% Mensural Notation
-%
-%
-%
-
-def draw_mensural_outermost_flag_i =
- define_pixels(stafflinethickness, staff_space)
-
- pickup pencircle
- xscaled 1.00 stafflinethickness
- yscaled 0.22 staff_space
- rotated -35;
-
- save za, zb, zc, zd, ze;
- pair za, zb, zc, zd, ze;
-
- za = (+0.00 staff_space, -0.00 staff_space);
- zb = (+0.15 staff_space, -0.00 staff_space);
- zc = (+0.45 staff_space, -0.35 staff_space);
- zd = (+0.45 staff_space, -0.85 staff_space);
- ze = (+0.00 staff_space, -2.00 staff_space);
-
- draw za .. zb -- zc{zc-zb} .. {ze-zd}zd -- ze;
-enddef;
-
-def draw_mensural_outermost_flag_ii =
- define_pixels(stafflinethickness, staff_space)
-
- pickup pencircle
- xscaled 1.00 stafflinethickness
- yscaled 0.22 staff_space
- rotated -35;
-
- save za, zb, zc, zd, ze;
- pair za, zb, zc, zd, ze;
-
- za = (+0.00 staff_space, -0.00 staff_space);
- zb = (+0.15 staff_space, -0.00 staff_space);
- zc = (+0.20 staff_space, -0.05 staff_space);
- zd = (+0.20 staff_space, -1.15 staff_space);
- ze = (+0.00 staff_space, -1.40 staff_space);
-
- draw za .. zb -- zc{zc-zb} .. {ze-zd}zd -- ze;
-enddef;
-
-def draw_mensural_inner_flag(expr il_shift) =
- define_pixels(stafflinethickness, staff_space)
-
- pickup pencircle
- xscaled 1.00 stafflinethickness
- yscaled 0.22 staff_space
- rotated -35;
-
- save zs, za, zb, zc, zd;
- pair zs, za, zb, zc, zd;
-
- zs = (0, -il_shift * staff_space);
- za = zs + (+0.00 staff_space, -0.10 staff_space);
- zb = zs + (+0.33 staff_space, -0.30 staff_space);
- zc = zs + (+0.33 staff_space, -0.70 staff_space);
- zd = zs + (+0.00 staff_space, -0.90 staff_space);
-
- draw za{2,1} .. zb .. zc .. {-2,-1}zd;
-enddef;
-
-fet_beginchar("8th Mensural Flag (up)", "mensuralu03", "menseighthflag")
- set_char_box(0, 0.60 staff_space#, 2.00 staff_space#, 0)
- draw_mensural_outermost_flag_i
-fet_endchar;
-
-fet_beginchar("8th Mensural Flag (up)", "mensuralu13", "mens1eighthflag")
- set_char_box(0, 0.60 staff_space#, 1.50 staff_space#, 0)
- draw_mensural_outermost_flag_ii
-fet_endchar;
-
-fet_beginchar("8th Mensural Flag (down)", "mensurald03", "mensdeighthflag")
- set_char_box(0.60 staff_space#, 0, 0, 2.00 staff_space#)
- draw_mensural_outermost_flag_i
- currentpicture := currentpicture xscaled -1 yscaled -1;
-fet_endchar;
-
-fet_beginchar("8th Mensural Flag (down)", "mensurald13", "mensd1eighthflag")
- set_char_box(0.60 staff_space#, 0, 0, 1.50 staff_space#)
- draw_mensural_outermost_flag_ii
- currentpicture := currentpicture xscaled -1 yscaled -1;
-fet_endchar;
-
-fet_beginchar("16th Mensural Flag (up)", "mensuralu04", "menssixteenthflag")
- set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
- draw_mensural_outermost_flag_i
- draw_mensural_inner_flag(2.0)
-fet_endchar;
-
-fet_beginchar("16th Mensural Flag (up)", "mensuralu14", "mens1sixteenthflag")
- set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
- draw_mensural_outermost_flag_ii
- draw_mensural_inner_flag(1.5)
-fet_endchar;
-
-fet_beginchar("16th Mensural Flag (down)", "mensurald04", "mensdsixteenthflag")
- set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
- draw_mensural_outermost_flag_i
- draw_mensural_inner_flag(2.0)
- currentpicture := currentpicture xscaled -1 yscaled -1;
-fet_endchar;
-
-fet_beginchar("16th Mensural Flag (down)", "mensurald14", "mensd1sixteenthflag")
- set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
- draw_mensural_outermost_flag_ii
- draw_mensural_inner_flag(1.5)
- currentpicture := currentpicture xscaled -1 yscaled -1;
-fet_endchar;
-
-fet_beginchar("32th Mensural Flag (up)", "mensuralu05", "mensthirtysecondflag")
- set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
- draw_mensural_outermost_flag_i
- draw_mensural_inner_flag(2.0)
- draw_mensural_inner_flag(3.0)
-fet_endchar;
-
-fet_beginchar("32th Mensural Flag (up)", "mensuralu15", "mens1thirtysecondflag")
- set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
- draw_mensural_outermost_flag_ii
- draw_mensural_inner_flag(1.5)
- draw_mensural_inner_flag(2.5)
-fet_endchar;
-
-fet_beginchar("32th Mensural Flag (down)", "mensurald05", "mensdthirtysecondflag")
- set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
- draw_mensural_outermost_flag_i
- draw_mensural_inner_flag(2.0)
- draw_mensural_inner_flag(3.0)
- currentpicture := currentpicture xscaled -1 yscaled -1;
-fet_endchar;
-
-fet_beginchar("32th Mensural Flag (down)", "mensurald15", "mensd1thirtysecondflag")
- set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
- draw_mensural_outermost_flag_ii
- draw_mensural_inner_flag(1.5)
- draw_mensural_inner_flag(2.5)
- currentpicture := currentpicture xscaled -1 yscaled -1;
-fet_endchar;
-
-fet_beginchar("64th Mensural Flag (up)", "mensuralu06", "menssixtyfourthflag")
- set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
- draw_mensural_outermost_flag_i
- draw_mensural_inner_flag(1.5)
- draw_mensural_inner_flag(2.5)
- draw_mensural_inner_flag(3.5)
-fet_endchar;
-
-fet_beginchar("64th Mensural Flag (up)", "mensuralu16", "mens1sixtyfourthflag")
- set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
- draw_mensural_outermost_flag_ii
- draw_mensural_inner_flag(1.17)
- draw_mensural_inner_flag(2.08)
- draw_mensural_inner_flag(3.00)
-fet_endchar;
-
-fet_beginchar("64th Mensural Flag (down)", "mensurald06", "mensdsixtyfourthflag")
- set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
- draw_mensural_outermost_flag_i
- draw_mensural_inner_flag(1.5)
- draw_mensural_inner_flag(2.5)
- draw_mensural_inner_flag(3.5)
- currentpicture := currentpicture xscaled -1 yscaled -1;
-fet_endchar;
-
-fet_beginchar("64th Mensural Flag (down)", "mensurald16", "mensd1sixtyfourthflag")
- set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
- draw_mensural_outermost_flag_ii
- draw_mensural_inner_flag(1.17)
- draw_mensural_inner_flag(2.08)
- draw_mensural_inner_flag(3.00)
- currentpicture := currentpicture xscaled -1 yscaled -1;
-fet_endchar;
-
-%%%%%%%%
-%
-%
-%
-% Single Stroke for Short Appogiatura
-%
-%
-%
-
-fet_beginchar("grace dash (up)", "ugrace", "gracedash")
- save flare,
- hip_depth_ratio, hip_width,
- foot_depth;
-
- flare# = 1.0 staff_space#;
- hip_depth_ratio = .72;
- hip_width# = upflag_width# - hip_thickness#/2;
-
- foot_depth# = 3 staff_space#;
-
- define_pixels(flare, hip_width, hip_thickness,
- foot_depth, foot_thickness);
-
- set_char_box(hip_width# * hip_depth_ratio,
- hip_width# + stemthickness#/2 + right_upflag_space#,
- foot_depth# * hip_depth_ratio, -flare#)
-
- pickup pencircle scaled 1.5 stemthickness;
- draw (-b ,-d) ..
- (w, h);
-fet_endchar;
-
-fet_beginchar("grace dash (down)", "dgrace", "dgracedash")
- save flare, hip_depth_ratio, hip_width, foot_depth;
- save flagspace, total_depth, flag_count;
-
- flag_count = 1;
- flare# = .99 staff_space#;
- flagspace# = .9 staff_space#;
- hip_depth_ratio = .72 ;
- hip_width# = downflag_width# - hip_thickness#/2;
- total_depth# = 2.85 staff_space#;
- (flag_count-1) * flagspace# + foot_depth# = total_depth#;
-
- foot_width_ratio = .8;
-
- define_pixels(flare, hip_width, hip_thickness,
- flagspace, foot_depth);
-
- set_char_box(hip_width# * hip_depth_ratio,
- hip_width# + stemthickness#/2 + right_downflag_space#,
- foot_depth# * hip_depth_ratio, -flare#)
-
- pickup pencircle scaled 1.5 stemthickness;
- draw (-b, -d) .. (w,h);
- y_mirror_char;
-fet_endchar;
-
% ustem?
%
%
%
% source file of LilyPond's pretty-but-neat music font
%
-% (c) 1997--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+% (c) 1997--2002 Jan Nieuwenhuizen <janneke@gnu.org>
%
mode_setup;
%
% source file of LilyPond's pretty-but-neat music font
%
-% (c) 1997--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+% (c) 1997--2002 Jan Nieuwenhuizen <janneke@gnu.org>
% & Han-Wen Nienhuys <hanwen@cs.uu.nl>
+% & Juergen Reuter <reuter@ipd.uka.de>
%
noteheight#:=staff_space#+ (1 + overdone_heads) *stafflinethickness#;
define_pixels(noteheight);
-
-%%%%%%%%
-%
-%
-%
-% MENSURAL NOTATION
-%
-%
-%
-brevis_wid# := 2 staff_space#;
-
-def draw_brevis(expr brevwid) =
- save beamheight, head_width;
- save holeheight, stem_width;
- save serif_size, serif_protrude;
-
- head_width# = brevwid;
- holeheight = 3 stafflinethickness;
- stem_width = 1.4 stafflinethickness;
-
-
- define_pixels(head_width);
- set_char_box(0, head_width#, noteheight#/2, noteheight#/2);
-
- 2 beamheight + holeheight = noteheight;
- serif_size = (holeheight - stafflinethickness)/2;
- serif_protrude = 1.5 serif_size;
- penpos1(stem_width, 0);
- penpos2(stem_width, 0);
- penpos3(beamheight, 90);
- penpos4(beamheight, 90);
- penpos5(stem_width, 180);
-
- z1l = (0, 0);
- z2l = (0, -stafflinethickness/2);
- z3r = z2r + serif_size *(1,-1);
- y4r = y3r;
- x4r = head_width/2;
- z5l = z3l + (-serif_size, -serif_protrude);
-
- penlabels(1,2,3,4, 5);
- fill z1r -- z1l -- z5r{down} .. z5l{up} .. z3l{right}
- -- z4l -- z4r -- z3r{left} .. z2r{up} -- cycle;
-
- addto currentpicture also currentpicture yscaled -1;
- show z4r; show z4l;
- addto currentpicture also currentpicture
- shifted (-x4r,0) xscaled -1 shifted (x4l,0);
-
-enddef;
-
-
-%
-% Some sources (eg Musix/OpusTeX think that the appendage should be on
-% the left, some say right. Right wins democratically.
%
-def draw_longa (expr wid) =
- draw_brevis(wid);
- save theta;
-
- x7r = head_width;
- y7 = y5;
-% z7 = z5;
- z6 - z7 = (stem_width/2, -staff_space);
- theta = angle(z6-z7)+ 90;
- penpos7(stem_width, theta);
- penpos6(1.2 stem_width, theta);
-
- fill z7r .. z6r{z6-z7} .. {z7-z6} z6l -- z7l -- cycle;
- penlabels(6,7);
-enddef;
+%%% TODO: Document these!
%
-% En wij presenteren U: de opvolgster van Emily
-%
-% (ze is wel breed)
-%
-fet_beginchar("Maxima notehead", "-3mensural", "mensuralmaximahead");
- draw_longa (1.3 brevis_wid#)
-fet_endchar;
-
-fet_beginchar("Longa notehead", "-2mensural", "mensurallongahead");
- draw_longa (brevis_wid#)
-fet_endchar;
-
-fet_beginchar("Brevis notehead", "-1mensural", "mensuralbrevishead")
- draw_brevis(brevis_wid#);
-fet_endchar;
-
-def draw_neo_mensural_black_head (expr wid) =
- save head_width;
- head_width# = wid;
- set_char_box (0, head_width#, noteheight#/2, noteheight#/2);
-
-
- y3 = y1 =0;
- x2 = x4 = (x1 + x3) /2;
- define_pixels (head_width);
- pickup pencircle scaled blot_diameter;
- top y2 = h;
- bot y4 = -d;
- lft x1 = 0;
- rt x3 = w;
-
- filldraw z1 -- z2 -- z3 -- z4 -- cycle;
-enddef;
-
-def draw_neo_mensural_open_head (expr wid)=
- draw_neo_mensural_black_head (wid);
- save diamNW, diamSW;
- diamNW = length (z2 - z1) + blot_diameter;
- diamSW = length (z4 - z1) + blot_diameter;
-
- save hole_widthNW, hole_widthSW;
- hole_widthNW = 0.34 diamNW ;
- hole_widthSW + 2.6 stafflinethickness = diamSW;
-
- (z7 + z5)/2 = (w/2, 0);
- (z8 + z6)/2 = (w/2, 0);
- (z6 - z5) = hole_widthNW * unitvector (z2 - z1);
- (z7 - z6) = hole_widthSW * unitvector (z4 - z1);
-
- labels (1,2,3,4,5,6,7,8);
-
- unfill z5 -- z6 -- z7 -- z8 --cycle;
-enddef;
-
-fet_beginchar("Neo-mensural open head","0neo_mensural","neomensuralminimhead")
- draw_neo_mensural_open_head (staff_space#);
-fet_endchar;
-
-fet_beginchar("Neo-mensural open head","1neo_mensural","neomensuralsemiminimhead")
- draw_neo_mensural_open_head (staff_space#);
-fet_endchar;
-
-fet_beginchar("Neo-mensural black head","2neo_mensural","neofusahead")
- draw_neo_mensural_black_head (staff_space#);
-fet_endchar;
-
-
-def draw_mensural_head (expr wid, open) =
- save head_width;
- head_width# = wid;
- set_char_box (head_width#/2, head_width#/2,
- noteheight#/2, noteheight#/2);
-
- define_pixels(head_width, noteheight);
-
- x1 = -x3;
- y1 = x2 = y3 = x4 = 0;
- y4 = -y2;
- y2 = 1.4 noteheight/2;
- tand(30) = x3 / y2;
-
- pickup pencircle
- xscaled 0.15 head_width
- yscaled 0.30 head_width
- rotated -30;
-
- % pencircle width correction
- save zc, zd; pair zc, zd;
- zc = (+0.150 head_width * sind(30), +0.150 head_width * cosd(30));
- zd = (+0.075 head_width * sind(30), -0.075 head_width * cosd(30));
-
- if open:
- draw (z1+zc+zd) -- (z2-zc+zd) --
- (z3-zc-zd) -- (z4+zc-zd) -- cycle;
- else:
- filldraw (z1+zc+zd) -- (z2-zc+zd) --
- (z3-zc-zd) -- (z4+zc-zd) -- cycle;
- fi;
-enddef;
-
-
-fet_beginchar("Mensural open head","0mensural","mensuralminimhead")
- draw_mensural_head (staff_space#, true);
-fet_endchar;
-
-fet_beginchar("Mensural open head","1mensural","mensuralsemiminimhead")
- draw_mensural_head (staff_space#, true);
-fet_endchar;
-
-fet_beginchar("Mensural black head","2mensural","fusahead")
- draw_mensural_head (staff_space#, false);
-fet_endchar;
-
-
-%%%%%%%%%%%%
-%
-%
-% ledger (leger) lines
-%
-fet_beginchar("Ledger ending", "ledgerending", "ledgerending")
-set_char_box (5/2 ledgerlinethickness#, 5/2 ledgerlinethickness#,
- ledgerlinethickness#/2,ledgerlinethickness#/2);
- pickup pencircle scaled 1.3 blot_diameter;
-
- rt x2 = w;
- lft x1 = -b;
- x3 = x2;
- bot y1 = -d;
- y2 = y1;
-
- top y3 = h;
- y4 = y3;
- x4 = x1;
-
- filldraw z1 --- z2 --- z3 --- z4 --- cycle ;
-fet_endchar;
-
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-%
-%
-%
-%
-% TODO: Document these!
% setup user vars
def setup_notehead_vars =
fill black;
fet_endchar;
-save triangle; path triangle;
-triangle = (-sqrt3/4,-1/2) -- (0,1) -- (sqrt3/4,-1/2) -- cycle;
+
+
+begingroup;
+def def_triangle =
+ save triangle,kern; path triangle;
+ kern = 1/3(x2-x1);
+ z2 = z1 rotated 120;
+ z3 = z1 rotated 240;
+ z12 = caveness[.5[z1,z2],z3];
+ z23 = z12 rotated 120;
+ z31 = z12 rotated 240;
+ triangle = z1 .. z12 .. z2 ..
+ z2 .. z23 .. z3 ..
+ z3 .. z31 .. z1 ..
+ cycle;
+ triangle := triangle shifted (-x1+pent/2-kern,0) xscaled xs;
+ pickup pencircle scaled pent xscaled xs;
+ hei = max(y1,-y2)+pent/2;
+ %set_char_box(-kern*xs*fac, ((x3-x1)*fac+pent#)*xs,hei*fac,hei*fac);
+ set_char_box(0, ((x3-x1-kern)*fac+pent#)*xs,hei*fac,hei*fac);
+enddef;
+save fac,pent;
+fac = noteheight#/noteheight;
+pent# = 2stafflinethickness#;
+define_pixels(pent);
+
fet_beginchar("Whole trianglehead", "0triangle", "wholetrianglehead")
- set_char_box(0, 2(noteheight#+stafflinethickness#)/sqrt3*7/8,
- (noteheight#+stafflinethickness#)/2,(noteheight#+stafflinethickness#)/2);
- fill triangle scaled (7h/6) shifted (w/2,-h/6);
- unfill triangle scaled 0.72h shifted (w/2,-h/6);
+ save hei,xs;
+ z1 = dir(130)*3/4noteheight;
+ xs = 1.5;
+ caveness:=0.1;
+ def_triangle;
+ draw triangle;
fet_endchar;
+
fet_beginchar("Half trianglehead", "1triangle", "halftrianglehead")
- thick := 1.2stafflinethickness;
- set_char_box(0, 2noteheight#/sqrt3*7/8,noteheight#/2,noteheight#/2);
- fill triangle scaled (7h/6) shifted (w/2,-h/6);
- unfill triangle scaled 0.7h shifted (w/2,-h/6);
+ save hei,xs;
+ z1 = dir(130)*2/3noteheight;
+ xs = 1.2;
+ caveness:=0.1;
+ def_triangle;
+ draw triangle;
fet_endchar;
+
fet_beginchar("Quart trianglehead", "2triangle", "trianglehead")
- thick := 1.2stafflinethickness;
- set_char_box(0, 2noteheight#/sqrt3*7/8,noteheight#/2,noteheight#/2);
- fill triangle scaled (7h/6) shifted (w/2,-h/6);
+ save hei,xs;
+ z1 = dir(130)*2/3noteheight;
+ xs = 1.0;
+ caveness:=0.1;
+ def_triangle;
+ filldraw triangle;
fet_endchar;
+endgroup;
+
%%% Editable values:
slope := 1.7; % slope of slash. From scm/grob-description.scm. How to auto-copy?
-slt := 2/3*0.48staff_space; % thickness of lines. quarter notes get 1.5slt width.
-slh := 2staff_space; % height of char.
+slt# := 2/3*0.48staff_space#; % thickness of lines. quarter notes get 1.5slt width.
+slh# := 2staff_space#; % height of char.
%%% Calculated values:
-sxa := 0; % how much the char exceeds the boundingbox horizontally:
-slxt := sqrt(slt*slt+(slt/slope)*(slt/slope)); % Width of hor. pen - with thanks to Pythagoras
-slw := slh/slope; % width of sloping part of slash:
-
-% is this really nessesary? -rz
-fac# := staff_space#/staff_space;
-slt# := fac#*slt;
-slh# := fac#*slh;
-sxa# := fac#*sxa;
-slxt# := fac#*slxt;
-slw# := fac#*slw;
-
-def draw_slash(expr hwid) =
- wid# := slw#+2slxt#+hwid*fac#;
+sxa# := 0; % how much the char exceeds the boundingbox horizontally:
+slxt# := sqrt(slt#*slt#+(slt#/slope)*(slt#/slope)); % Width of hor. pen - with thanks to Pythagoras
+slw# := slh#/slope; % width of sloping part of slash:
+
+define_pixels(slt,slh,sxa,slxt,slw);
+
+def draw_slash(expr hwid_hash) =
+ wid# := slw#+2slxt#+hwid_hash;
set_char_box(0,wid#-2sxa#,slh#/2,slh#/2);
define_pixels (wid#);
pickup penrazor scaled slxt;
enddef;
fet_beginchar("Whole slashhead","0slash","wholeslashhead")
- draw_slash(staff_space);
+ draw_slash(staff_space#);
fet_endchar;
fet_beginchar("Half slashhead","1slash","halfslashhead")
- draw_slash(0.6staff_space);
+ draw_slash(0.6staff_space#);
fet_endchar;
fet_beginchar("Quart slashhead","2slash","quartslashhead")
- draw_slash(-slxt/2);
+ draw_slash(-slxt#/2);
fet_endchar;
% thick is the distance between the two parallel lines in the cross (distance between centres of lines)
fet_endchar;
fet_beginchar("X-Circled notehead", "2xcircle", "xcircledhead")
- wid# := black_notehead_width#;
- hei# := noteheight#+stafflinethickness#;
+ wid# := black_notehead_width#*sqrt(sqrt2);
+ hei# := noteheight#*sqrt(sqrt2);
set_char_box(0, wid#,hei#/2,hei#/2);
- cthick := 1.2stafflinethickness;
+ cthick := (1.2+1/4)*stafflinethickness;
cxr := w/2-cthick/2;
cyr := h-cthick/2;
pickup pencircle scaled cthick;
draw (-xpos+w/2,ypos) -- (xpos+w/2,-ypos);
fet_endchar;
-%%%%%%%%
-%
-%
-%
-% EDITIO VATICANA
-%
-%
-%
-
-% subbipunctum
-fet_beginchar("Ed. Vat. subbipunctum", "0vaticana_subbipunctum",
- "vatsubbipunctumhead")
- save b_h, a_w;
- a_b := 1.54; % b_h*a_b/a_w = wd/ht
- b_h := 0.85;
- a_w := 1.09;
-
- save a, beta, ht, wd;
- ht# = noteheight#;
- 2beta# = ht# * b_h;
- a# = beta# * a_b;
- wd# = 2a# / a_w;
- set_char_box(0.3wd#, 0.3wd#, 0.5 ht#, 0.5 ht#);
- black_notehead_width# := wd#;
-
- save za, alpha, size;
- pair za;
- define_pixels(ht, wd);
- alpha = 35;
- size = 0.45ht;
- pickup pencircle
- xscaled 0
- yscaled size rotated -alpha;
- za = (0, size) / 2 rotated alpha;
- draw -za .. za;
-
-fet_endchar;
-
-
-% parametrized punctum
-def punctum_char (expr verbose_name, internal_name, mudela_name,
- left_stem, right_stem,
- straight, reverse_convexity, excentric, up_shift, mag) =
-
- fet_beginchar(verbose_name, internal_name, mudela_name)
- save b_h, a_w;
- a_b := 1.54; % b_h*a_b/a_w = wd/ht
- b_h := 0.85;
- a_w := 1.09;
-
- save a, beta, ht, wd;
- ht# = noteheight# * mag;
- 2beta# = ht# * b_h;
- a# = beta# * a_b;
- wd# = 2a# / a_w;
- set_char_box(0.25wd#, 0.25wd#, 0.5ht#, 0.5ht#);
- black_notehead_width# := wd#;
-
- save convexity;
- if straight:
- if reverse_convexity:
- convexity# = -0.02ht#;
- else:
- convexity# = +0.02ht#;
- fi;
- else:
- if reverse_convexity:
- convexity# = -0.05ht#;
- else:
- convexity# = +0.05ht#;
- fi;
- fi;
-
- save yoffs;
- if up_shift:
- yoffs# = 0.08ht#;
- else:
- yoffs# = 0.00ht#;
- fi
-
- define_pixels(ht, wd, convexity, yoffs);
- pickup pencircle scaled stafflinethickness;
-
- if excentric:
- z1 = (0.00wd, yoffs - 1.0convexity);
- z2 = (0.08wd, yoffs + 1.4convexity);
- z3 = (0.40wd, yoffs);
- penpos1(0.50ht, 90);
- penpos2(0.50ht, 90);
- penpos3(0.50ht, 90);
- if reverse_convexity:
- penstroke z1e{up} .. z2e{right} .. z3e;
- else:
- penstroke z1e{down} .. z2e{right} ..z3e;
- fi;
- else:
- z1 = (0.00wd, yoffs);
- z2 = (0.20wd, yoffs + convexity);
- z3 = (0.40wd, yoffs);
- penpos1(0.50ht, 90);
- penpos2(0.50ht, 90);
- penpos3(0.50ht, 90);
- penstroke z1e .. z2e .. z3e;
- fi;
-
- if left_stem:
- z5=(0.00wd + 0.5 stafflinethickness, yoffs);
- z6=(0.00wd + 0.5 stafflinethickness, yoffs - 1.5ht);
- draw z5 -- z6;
- elseif right_stem:
- z5=(0.40wd - 0.25 stafflinethickness, yoffs);
- z6=(0.40wd - 0.25 stafflinethickness, yoffs - 1.5ht);
- draw z5 -- z6;
- fi;
-
- fet_endchar;
-enddef;
-
-
-% punctum
-punctum_char("Ed. Vat. punctum", "0vaticana_punctum", "vatpunctumhead",
- false, false, false, false, false, false, 1.0);
-
-% virga (i.e. right stemmed punctum)
-punctum_char("Ed. Vat. virga", "0vaticana_virga", "vatvirgahead",
- false, true, false, false, false, false, 1.0);
-
-% left stemmed punctum as used in clivis (flexa) ligature
-punctum_char("Ed. Vat. reverse virga", "0vaticana_rvirga", "vatrvirgahead",
- true, false, false, false, false, false, 1.0);
-
-% pes lower punctum
-punctum_char("Ed. Vat. pes lower punctum", "0vaticana_lpes", "vatlpeshead",
- false, false, true, true, false, false, 1.0);
-
-% pes upper punctum
-punctum_char("Ed. Vat. pes upper punctum", "0vaticana_upes", "vatupeshead",
- false, false, true, false, false, false, 1.0);
-
-% pes upper punctum (shifted variation)
-%
-% Note: This note head is used instead of the regular pes upper
-% punctum to avoid collision with the lower punctum note of the pes when
-% the upper punctum sits directly on top of the lower punctum.
-punctum_char("Ed. Vat. var pes upper punctum", "0vaticana_vupes",
- "vatvupeshead",
- false, false, true, false, false, true, 1.0);
-
-% small punctum as used in epiphonus/cephalicus
-punctum_char("Ed. Vat. plica", "0vaticana_plica", "vatplicahead",
- false, false, true, false, false, false, 0.5);
-
-% excentric punctum as used in epiphonus
-punctum_char("Ed. Vat. epiphonus", "0vaticana_epiphonus", "vatepiphonushead",
- false, false, false, true, true, false, 1.0);
-
-% excentric punctum as used in cephalicus
-punctum_char("Ed. Vat. cephalicus", "0vaticana_cephalicus",
- "vatcephalicushead",
- false, false, false, false, true, false, 1.0);
-
-% quilisma
-fet_beginchar("Ed. Vat. quilisma", "0vaticana_quilisma", "vatquilismahead")
- save b_h,a_w;
- a_b:=1.54; % b_h*a_b/a_w = wd/ht
- b_h:=0.85;
- a_w:=1.09;
-
- save a, beta, ht, wd;
- ht# =noteheight#;
- 2beta#=ht#*b_h;
- a# = beta#*a_b;
- wd# = 2a# / a_w;
- set_char_box(0.1wd#, 0.4wd#, 0.5 ht#, 0.5 ht#);
- black_notehead_width# := wd#;
-
- define_pixels(ht, wd);
- pickup pencircle xscaled stafflinethickness yscaled 0.4ht;
- z1=(0.00wd,-0.10ht);
- z2=(0.00wd,+0.05ht);
- z3=(0.15wd,-0.05ht);
- z4=(0.15wd,+0.10ht);
- z5=(0.30wd,+0.00ht);
- z6=(0.30wd,+0.15ht);
- draw z1 -- z2 -- z3 -- z4 -- z5 -- z6;
-fet_endchar;
-
-%%%%%%%%
-%
-%
-%
-% EDITIO MEDICAEA
+%%%%%%%%%%%%
%
%
+% ledger (leger) lines
%
+fet_beginchar("Ledger ending", "ledgerending", "ledgerending")
+set_char_box (5/2 ledgerlinethickness#, 5/2 ledgerlinethickness#,
+ ledgerlinethickness#/2,ledgerlinethickness#/2);
+ pickup pencircle scaled 1.3 blot_diameter;
-% subbipunctum
-fet_beginchar("Ed. Med. subbipunctum", "0medicaea_subbipunctum",
- "medsubbipunctumhead")
- save b_h, a_w;
- a_b := 1.54; % b_h*a_b/a_w = wd/ht
- b_h := 0.85;
- a_w := 1.09;
-
- save a, beta, ht, wd;
- ht# = noteheight#;
- 2beta# = ht# * b_h;
- a# = beta# * a_b;
- wd# = 2a# / a_w;
- set_char_box(wd#/2, wd#/2, 0.5 ht#, 0.5 ht#);
- black_notehead_width# := wd#;
+ rt x2 = w;
+ lft x1 = -b;
+ x3 = x2;
+ bot y1 = -d;
+ y2 = y1;
- save za, alpha, size;
- pair za;
- define_pixels(ht, wd);
- alpha = 35;
- size = 0.7ht;
- pickup pencircle
- xscaled 0
- yscaled size rotated -alpha;
- za = (0, size) / 2 rotated alpha;
- draw -za .. za;
+ top y3 = h;
+ y4 = y3;
+ x4 = x1;
+ filldraw z1 --- z2 --- z3 --- z4 --- cycle ;
fet_endchar;
-% parametrized punctum
-def punctum_char (expr verbose_name, internal_name, mudela_name,
- left_up_stem, left_down_stem) =
-
- fet_beginchar(verbose_name, internal_name, mudela_name)
-
- save a, beta, ht, wd;
- ht# = 2 staff_space#;
- wd# = ht#;
- set_char_box(0.0, 0.4wd#, 0.5ht#, 0.5ht#);
- black_notehead_width# := wd#;
-
- define_pixels(ht, wd);
- pickup pencircle scaled stafflinethickness;
-
- z1 = (0.00wd, 0);
- z2 = (0.20wd, 0);
- z3 = (0.40wd, 0);
- penpos1(0.50ht, 90);
- penpos2(0.50ht, 90);
- penpos3(0.50ht, 90);
- penstroke z1e .. z2e .. z3e;
-
- if left_down_stem:
- z5=(0.00wd + 0.5 stafflinethickness, 0);
- z6=(0.00wd + 0.5 stafflinethickness, - 1.25ht);
- draw z5 -- z6;
- elseif left_up_stem:
- z5=(0.00wd + 0.5 stafflinethickness, 0);
- z6=(0.00wd + 0.5 stafflinethickness, + 1.25ht);
- draw z5 -- z6;
- fi;
-
- fet_endchar;
-enddef;
-
-% punctum
-punctum_char("Ed. Med. punctum", "0medicaea_punctum", "medpunctumhead",
- false, false);
-
-% left up-stemmed punctum
-punctum_char("Ed. Med. reverse virga", "0medicaea_rvirga", "medrvirgahead",
- true, false);
-
-% virga (i.e. left down-stemmed punctum)
-punctum_char("Ed. Med. virga", "0medicaea_virga", "medvirgahead",
- false, true);
-
-%%%%%%%%
-%
-%
-%
-% HUFNAGEL
-%
-%
-%
-
-% punctum
-% parametrized punctum
-def punctum_char (expr verbose_name, internal_name, mudela_name,
- down_stem) =
-
- fet_beginchar(verbose_name, internal_name, mudela_name)
- save b_h, a_w;
- a_b := 1.54; % b_h*a_b/a_w = wd/ht
- b_h := 0.85;
- a_w := 1.09;
-
- save a, beta, ht, wd;
- ht# = noteheight#;
- 2beta# = ht# * b_h;
- a# = beta# * a_b;
- wd# = 2a# / a_w;
- set_char_box(wd#/2, wd#/2, 0.5 ht#, 0.5 ht#);
- black_notehead_width# := wd#;
-
- save za, zb, zc, alpha, size;
- pair za, zb, zc;
- define_pixels(ht, wd);
- alpha = 55;
- size = 0.7ht;
- pickup pencircle
- xscaled 0
- yscaled size rotated -alpha;
- za = (0, size) / 2 rotated alpha;
- draw -za .. za;
-
- if down_stem:
- zb = (0.00wd, 0);
- zc = (0.00wd, - 1.25ht);
- draw zb -- zc;
- fi;
- fet_endchar;
-enddef;
-
-% punctum
-punctum_char("Hufnagel punctum", "0hufnagel_punctum", "hufpunctumhead", false)
-
-% virga
-punctum_char("Hufnagel virga", "0hufnagel_virga", "hufvirgahead", true)
-
-% pes lower punctum
-fet_beginchar("Hufnagel pes lower punctum", "0hufnagel_lpes", "huflpeshead")
- save b_h, a_w;
- a_b := 1.54; % b_h*a_b/a_w = wd/ht
- b_h := 0.85;
- a_w := 1.09;
-
- save a, beta, ht, wd;
- ht# = noteheight#;
- 2beta# = ht# * b_h;
- a# = beta# * a_b;
- wd# = 2a# / a_w;
- set_char_box(wd#, wd#, 0.7 ht#, 0.7 ht#);
- black_notehead_width# := wd#;
-
- save za, alpha, size;
- pair za;
- define_pixels(ht, wd);
- alpha = 35;
- size = 0.7ht;
- pickup pencircle
- xscaled 0
- yscaled size rotated -alpha;
- za = (size, 0);
- draw -za .. za;
-fet_endchar;
fet_endgroup("noteheads");
define_pixels(black_notehead_width);
%
% source file of the Feta (Font-En-Tja) music font
%
-% (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+% (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
%
font_count := 0;
%
% source file of the Feta (Font-En-Tja) music font
%
-% (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+% (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
%
font_count := 1;
%
% source file of the Feta (Font-En-Tja) music font
%
-% (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+% (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
%
font_count := 2;
%
% source file of the Feta (Font-En-Tja) music font
%
-% (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+% (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
%
font_count := 3;
%
% source file of the Feta (Font-En-Tja) music font
%
-% (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+% (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
%
font_count := 4;
%
% source file of the Feta (Font-En-Tja) music font
%
-% (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+% (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
%
font_count := 5;
%
% source file of the Feta (Font-En-Tja) music font
%
-% (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+% (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
%
font_count := 6;
%
% source file of the Feta (Font-En-Tja) music font
%
-% (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+% (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
%
font_count := 7;
%
% source file of the Feta (Font-En-Tja) music font
%
-% (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+% (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
%
font_count := 8;
+++ /dev/null
-% -*-Fundamental-*-
-% feta-custodes.mf -- implement custos symbols
-%
-% source file of LilyPond's pretty-but-neat music font
-%
-% (C) 2000 Juergen Reuter <reuterj@ira.uka.de>
-%
-
-save black_notehead_width;
-numeric black_notehead_width;
-
-fet_begingroup("custodes");
-
-noteheight#:=staff_space#+ (1 + overdone_heads) *stafflinethickness#;
-define_pixels(noteheight);
-
-
-%%%%%%%%
-%
-% Hufnagel style
-%
-
-% stem up
-fet_beginchar("Custos Hufnagel", "hufnagel", "hufnagel")
- save b_h,a_w;
- a_b:=1.54; % b_h*a_b/a_w = wd/ht
- b_h:=0.85;
- a_w:=1.09;
-
- save a, beta, ht, wd;
- ht# =noteheight#;
- 2beta#=ht#*b_h;
- a# = beta#*a_b;
- wd# = 2a# / a_w;
- set_char_box(0, wd#, ht#/2, ht#/2);
- black_notehead_width# := wd#;
-
- save rh_width, rh_height, rh_edge; % rhombus dimensions
- rh_width#=0.7ht#; % ht*tan(35)
- rh_height#=1.0ht#;
- rh_edge#=0.61ht#; % (ht/2)/cos(35)
-
- define_pixels(rh_width, rh_height, rh_edge);
- pickup pencircle
- xscaled stafflinethickness
- yscaled rh_edge rotated -35;
- z1=(0.5rh_width,+0.25rh_height);
- z2=(1.0rh_width,-0.25rh_height);
- z3=(2.0rh_width,+0.50rh_height);
- draw z1 -- z2 -- z3;
-fet_endchar;
-
-% stem down
-fet_beginchar("Reverse Custos Hufnagel", "rhufnagel", "rhufnagel")
- save b_h,a_w;
- a_b:=1.54; % b_h*a_b/a_w = wd/ht
- b_h:=0.85;
- a_w:=1.09;
-
- save a, beta, ht, wd;
- ht# =noteheight#;
- 2beta#=ht#*b_h;
- a# = beta#*a_b;
- wd# = 2a# / a_w;
- set_char_box(0, wd#, ht#/2, ht#/2);
- black_notehead_width# := wd#;
-
- save rh_width, rh_height, rh_edge; % rhombus dimensions
- rh_width#=0.7ht#; % ht*tan(35)
- rh_height#=1.0ht#;
- rh_edge#=0.61ht#; % (ht/2)/cos(35)
-
- define_pixels(rh_width, rh_height, rh_edge);
- pickup pencircle
- xscaled stafflinethickness
- yscaled rh_edge rotated +35;
- z1=(0.5rh_width,-0.25rh_height);
- z2=(1.0rh_width,+0.25rh_height);
- z3=(2.0rh_width,-0.50rh_height);
- draw z1 -- z2 -- z3;
-fet_endchar;
-
-
-%%%%%%%%
-%
-% Medicaea style
-%
-
-% stem up
-fet_beginchar("Custos Med.", "medicaea", "medicaea")
- save b_h, a_w;
- a_b := 1.54; % b_h*a_b/a_w = wd/ht
- b_h := 0.85;
- a_w := 1.09;
-
- save a, beta, ht, wd;
- ht# = noteheight# * mag;
- 2beta# = ht# * b_h;
- a# = beta# * a_b;
- wd# = 0.4a# / a_w;
- set_char_box(0, wd#, ht#/2, ht#/2); % width intentionally too small
- black_notehead_width# := wd#;
-
- define_pixels(ht, wd);
- pickup pencircle scaled stafflinethickness;
-
- z1 = (0.0wd, +0.0ht);
- z2 = (1.0wd + 0.5stafflinethickness, +0.0ht);
- penpos1(1.0ht, 90);
- penpos2(1.0ht, 90);
- penstroke z1e{z2 - z1} .. {right}z2e;
-
- z3=(1.0wd, +0.0ht);
- z4=(1.0wd, +1.0ht);
- draw z3 -- z4;
-fet_endchar;
-
-
-% stem down
-fet_beginchar("Reverse Custos Med.", "rmedicaea", "rmedicaea")
- save b_h, a_w;
- a_b := 1.54; % b_h*a_b/a_w = wd/ht
- b_h := 0.85;
- a_w := 1.09;
-
- save a, beta, ht, wd;
- ht# = noteheight# * mag;
- 2beta# = ht# * b_h;
- a# = beta# * a_b;
- wd# = 0.4a# / a_w;
- set_char_box(0, wd#, ht#/2, ht#/2); % width intentionally too small
- black_notehead_width# := wd#;
-
- define_pixels(ht, wd);
- pickup pencircle scaled stafflinethickness;
-
- z1 = (0.0wd, +0.0ht);
- z2 = (1.0wd + 0.5stafflinethickness, -0.0ht);
- penpos1(1.0ht, 90);
- penpos2(1.0ht, 90);
- penstroke z1e{z2 - z1} .. {right}z2e;
-
- z3=(1.0wd, -0.0ht);
- z4=(1.0wd, -1.0ht);
- draw z3 -- z4;
-fet_endchar;
-
-
-%%%%%%%%
-%
-% Editio Vaticana style
-%
-
-% stem up
-fet_beginchar("Custos Ed. Vat.", "vaticana", "vaticana")
- save b_h, a_w;
- a_b := 1.54; % b_h*a_b/a_w = wd/ht
- b_h := 0.85;
- a_w := 1.09;
-
- save a, beta, ht, wd;
- ht# = noteheight# * mag;
- 2beta# = ht# * b_h;
- a# = beta# * a_b;
- wd# = 0.4a# / a_w;
- set_char_box(0, wd#, ht#/2, ht#/2);
- black_notehead_width# := wd#;
-
- define_pixels(ht, wd);
- pickup pencircle scaled stafflinethickness;
-
- z1 = (0.0wd, +0.05ht);
- z2 = (1.0wd + 0.5stafflinethickness, 0.0ht);
- penpos1(0.5ht, 90);
- penpos2(0.5ht, 90);
- penstroke z1e{z2 - z1} .. {right}z2e;
-
- z3=(1.0wd, +0.0ht);
- z4=(1.0wd, +1.0ht);
- draw z3 -- z4;
-fet_endchar;
-
-
-% stem down
-fet_beginchar("Reverse Custos Ed. Vat.", "rvaticana", "rvaticana")
- save b_h, a_w;
- a_b := 1.54; % b_h*a_b/a_w = wd/ht
- b_h := 0.85;
- a_w := 1.09;
-
- save a, beta, ht, wd;
- ht# = noteheight# * mag;
- 2beta# = ht# * b_h;
- a# = beta# * a_b;
- wd# = 0.4a# / a_w;
- set_char_box(0, wd#, ht#/2, ht#/2);
- black_notehead_width# := wd#;
-
- define_pixels(ht, wd);
- pickup pencircle scaled stafflinethickness;
-
- z1 = (0.0wd, -0.05ht);
- z2 = (1.0wd + 0.5stafflinethickness, -0.0ht);
- penpos1(0.5ht, 90);
- penpos2(0.5ht, 90);
- penstroke z1e{z2 - z1} .. {right}z2e;
-
- z3=(1.0wd, -0.0ht);
- z4=(1.0wd, -1.0ht);
- draw z3 -- z4;
-fet_endchar;
-
-
-%%%%%%%%
-%
-% Mensural style
-%
-
-% stem up
-fet_beginchar("Custos Mensural", "mensural", "mensural")
- save b_h,a_w;
- a_b:=1.54; % b_h*a_b/a_w = wd/ht
- b_h:=0.85;
- a_w:=1.09;
-
- save a, beta, ht, wd;
- ht# =noteheight#;
- 2beta#=ht#*b_h;
- a# = beta#*a_b;
- wd# = 2a# / a_w;
- set_char_box(0, wd#, ht#/2, ht#/2); % width intentionally too small
- black_notehead_width# := wd#;
-
- define_pixels(ht, wd);
- pickup pencircle xscaled stafflinethickness yscaled 0.4ht rotated -35;
- z1=(0.0wd,-0.2ht);
- z2=(0.2wd,+0.2ht);
- z3=(0.4wd,-0.2ht);
- z4=(0.6wd,+0.2ht);
- z5=(0.8wd,-0.2ht);
- z6=(1.6wd,+1.4ht);
- draw z1 -- z2 -- z3 -- z4 -- z5 -- z6;
-fet_endchar;
-
-% stem down
-fet_beginchar("Reverse Custos Mensural", "rmensural", "rmensural")
- save b_h,a_w;
- a_b:=1.54; % b_h*a_b/a_w = wd/ht
- b_h:=0.85;
- a_w:=1.09;
-
- save a, beta, ht, wd;
- ht# =noteheight#;
- 2beta#=ht#*b_h;
- a# = beta#*a_b;
- wd# = 2a# / a_w;
- set_char_box(0, wd#, ht#/2, ht#/2); % width intentionally too small
- black_notehead_width# := wd#;
-
- define_pixels(ht, wd);
- pickup pencircle xscaled stafflinethickness yscaled 0.4ht rotated +35;
- z1=(0.0wd,+0.2ht);
- z2=(0.2wd,-0.2ht);
- z3=(0.4wd,+0.2ht);
- z4=(0.6wd,-0.2ht);
- z5=(0.8wd,+0.2ht);
- z6=(1.6wd,-1.4ht);
- draw z1 -- z2 -- z3 -- z4 -- z5 -- z6;
-fet_endchar;
-
-fet_endgroup("custodes");
-define_pixels(black_notehead_width);
-
%
% source file of the Feta (not the Font-En-Tja) music font
%
-% (c) 1997--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+% (c) 1997--2002 Jan Nieuwenhuizen <janneke@gnu.org>
fet_begingroup("rests");
balled_crook(a, w, ball_crook_balldiam, ball_crook_stem)
enddef;
-fet_beginchar("8th rest","3","eighthrest");
+def draw_eighth_rest =
% draw_staff (-2, 2, 0.0);
save yshift, ballcorrection;
ballcorrection = 0.005 staff_space;
rest_crook (z1,w-stem/6);
z2-z1=whatever*dir70;
y2= yshift + stem/2;
- brush(z1,2/3stem,z2,stem);
+ brush(z1,2/3stem,z2,stem);
+enddef;
+
+fet_beginchar("8th rest","3","eighthrest");
+ draw_eighth_rest;
fet_endchar;
fet_endchar;
+fet_beginchar("Classical quarter rest","2classical","clasquartrest");
+ draw_eighth_rest;
+ currentpicture := currentpicture xscaled -1 shifted (w,0);
+ fet_endchar;
+
endgroup;
+
%%%%%%%%
%
%
neomens_half_block_rest;
fet_endchar;
-neomensrestsize# = .8staff_space#;
-
-fet_beginchar("Neo-mensural 4th rest","2neo_mensural","neomenssemiminimarest")
- set_char_box(0,neomensrestsize#,0,neomensrestsize#);
- pickup pencircle scaled 2 stafflinethickness;
- lft x1 = 0;
- bot y1 = 0;
- lft x2 = 0;
- top y2 = h;
- rt x3 = w;
- bot y3 = h/2;
- draw z1 .. z2;
- draw z2 .. z3;
-fet_endchar
-
-fet_beginchar("Neo-mensural 8th rest","3neo_mensural","neomensfusarest")
- set_char_box(0,neomensrestsize#,0,neomensrestsize#);
- pickup pencircle scaled 2 stafflinethickness;
- rt x1 = w;
- bot y1 = 0;
- rt x2 = w;
- top y2 = h;
- lft x3 = 0;
- bot y3 = h/2;
- draw z1 .. z2;
- draw z2 .. z3;
-fet_endchar
-
-fet_beginchar("Neo-mensural 16th rest","4neo_mensural","neomenssemifusarest")
- set_char_box(0,neomensrestsize#,0,staff_space#);
- pickup pencircle scaled 2 stafflinethickness;
- rt x1 = w;
- bot y1 = 0;
- rt x2 = w;
- top y2 = h;
-
- draw z1 .. z2;
-
- pickup pencircle scaled 2 stafflinethickness;
- rt x3 = w;
- top y3 = h;
- lft x4 = 0;
- bot y4 = h/2;
- rt x5 = w;
- top y5 = 5/8h;
- lft x6 = 0;
- bot y6 = h/8;
-
- draw z3 .. z4;
- draw z5 .. z6;
-fet_endchar
-
-pen_width# = 2/5 staff_space#;
-pen_height# = 0;
-pen_rotation = 30;
-slight_pen_rotation = 15;
-
-mens_block_rest_y# = 1/1 staff_space#;
-mens_half_block_rest_y# = 5/8 staff_space#;
-
-define_pixels(mens_block_rest_y, mens_half_block_rest_y,
- pen_width, pen_height);
-
-fet_beginchar("Mensural longa rest", "-2mensural", "menslongarest");
- set_char_box(pen_width#/2, pen_width#/2,
- mens_block_rest_y#, mens_block_rest_y#);
- pickup pencircle
- xscaled pen_width
- yscaled pen_height
- rotated slight_pen_rotation;
- draw (0, -mens_block_rest_y) -- (0, mens_block_rest_y);
-fet_endchar;
-
-fet_beginchar("Mensural breve rest", "-1mensural", "mensbreverest");
- set_char_box(pen_width#/2, pen_width#/2,
- 0, mens_block_rest_y#);
- pickup pencircle
- xscaled pen_width
- yscaled pen_height
- rotated slight_pen_rotation;
- draw (0, 0) -- (0, mens_block_rest_y);
-fet_endchar;
-
-fet_beginchar("Mensural whole rest", "0mensural", "menssemibrevisrest");
- set_char_box(pen_width#/2, pen_width#/2,
- mens_half_block_rest_y#, 0);
- pickup pencircle
- xscaled pen_width
- yscaled pen_height
- rotated slight_pen_rotation;
- draw (0, 0) -- (0, -mens_half_block_rest_y);
-fet_endchar;
-
-fet_beginchar("Mensural half rest", "1mensural", "mensminimahalfrest");
- set_char_box(pen_width#/2, pen_width#/2,
- 0, mens_half_block_rest_y#);
- pickup pencircle
- xscaled pen_width
- yscaled pen_height
- rotated slight_pen_rotation;
- draw (0, 0) -- (0, mens_half_block_rest_y);
-fet_endchar;
-
-mensrestsize# = .8staff_space#;
-
-fet_beginchar("Mensural 4th rest","2mensural","menssemiminimarest")
- set_char_box(0,mensrestsize#,0,mensrestsize#);
- pickup pencircle
- xscaled pen_width
- yscaled pen_height
- rotated pen_rotation;
- lft x1 = 0; y1 = 0;
- lft x2 = 0; top y2 = 5/8 h;
- rt x3 = 4/8 w; bot y3 = 6/8 h;
- rt x4 = 10/8 w; bot y4 = 4/8 h;
- draw z1 -- z2 -- z3 -- z4;
-fet_endchar
-
-fet_beginchar("Mensural 8th rest","3mensural","mensfusarest")
- set_char_box(0,mensrestsize#,0,mensrestsize#);
- pickup pencircle
- xscaled pen_width
- yscaled pen_height
- rotated pen_rotation;
- rt x1 = 10/8 w; y1 = 0;
- rt x2 = 10/8 w; top y2 = 5/8 h;
- lft x3 = 2/8 w; bot y3 = 6/8 h;
- lft x4 = 0; bot y4 = 4/8 h;
- draw z1 -- z2 -- z3 -- z4;
-fet_endchar
-
-fet_beginchar("Mensural 16th rest","4mensural","menssemifusarest")
- set_char_box(0,mensrestsize#,0,staff_space#);
- pickup pencircle
- xscaled pen_width
- yscaled pen_height
- rotated pen_rotation;
-
- rt x1 = 10/8 w; y1 = 0;
- rt x2 = 10/8 w; top y2 = 5.5/8 h;
- lft x3 = 2/8 w; bot y3 = 6.5/8 h;
- lft x4 = 0; bot y4 = 4.5/8 h;
- rt x5 = 10/8 w; top y5 = 2.5/8 h;
- lft x6 = 2/8 w; bot y6 = 3.5/8 h;
- lft x7 = 0; bot y7 = 1.5/8 h;
- draw z1 -- z2 -- z3 -- z4;
- draw z5 -- z6 -- z7;
-fet_endchar
fet_endgroup("rests")
% source file of the Feta (defintively not an abbreviation for Font-En-Tja)
% music font
%
-% (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+% (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
%
input feta-timesig;
input feta-pendaal;
input feta-accordion;
- input feta-custodes;
+
else:
% input feta-bolletjes;
% input feta-banier;
%
% source file of the Feta (not the Font-En-Tja) music font
%
-% (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>,
+% (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>,
% Jan Nieuwenhuizen <janneke@gnu.org>,
-% Juergen Reuter <reuterj@ira.uka.de>
+% Juergen Reuter <reuter@ipd.uka.de>
fet_begingroup("clefs");
draw_gclef((1.3 staff_space#,0), .8);
fet_endchar;
-%%%%%%%%
+%%%%
+% PERCUSSION
%
%
-%
-% Editio Vaticana
-%
-%
-%
-def draw_vaticana_do_clef(expr exact_center, reduction) =
- save reduced_il;
-
- reduced_il# = staff_space# * reduction;
-
- set_char_box(0.4reduced_il#, 0.4reduced_il#, 0, reduced_il#);
-
- define_pixels(reduced_il);
-
- pickup pencircle xscaled stafflinethickness yscaled 0.6reduced_il;
-
- save za, zb, zc, zd, ze, zf;
- pair za, zb, zc, zd, ze, zf;
-
- za = exact_center + (-0.0reduced_il, -.45reduced_il);
- zb = exact_center + (-0.2reduced_il, -.50reduced_il);
- zc = exact_center + (-0.4reduced_il, -.25reduced_il);
- zd = exact_center + (-0.4reduced_il, +.25reduced_il);
- ze = exact_center + (-0.2reduced_il, +.50reduced_il);
- zf = exact_center + (-0.0reduced_il, +.45reduced_il);
- draw za .. zb .. zc -- % lower punctum
- zd .. ze .. zf; % upper punctum
-enddef;
-
-
-fet_beginchar("Ed. Vat. do clef", "vaticana_do", "vatdoclef")
- if test = 1:
- draw_staff(-1,3, 0.0);
- fi;
- draw_vaticana_do_clef((0,0), 1.0);
-fet_endchar;
-fet_beginchar("Ed. Vat. do clef", "vaticana_do_change", "vatcdoclef")
- draw_vaticana_do_clef((0,0), 1.0); % no reduction
-fet_endchar;
-
-
-def draw_vaticana_fa_clef(expr exact_center, reduction) =
-
- save reduced_il, z;
- reduced_il# = staff_space# * reduction;
- define_pixels(reduced_il);
-
- save za, zb, zc, zd, ze;
- pair za, zb, zc, zd, ze;
-
- %stem
- pickup pencircle scaled stafflinethickness;
- xpart za = xpart zb =
- xpart exact_center + 0.4reduced_il;
- ypart za = ypart exact_center = ypart zb + 1.5reduced_il;
- draw za .. zb;
-
- %left-handed punctum
- pickup pencircle xscaled stafflinethickness yscaled 0.5reduced_il;
- zc = exact_center +
- (+0.4reduced_il, -0.05reduced_il);
- zd = exact_center +
- (+0.2reduced_il, +0.05reduced_il);
- ze = exact_center +
- (+0.0reduced_il, +0.00reduced_il);
- draw zc .. zd .. ze;
-
- %right-handed puncta as in do clef
- draw_vaticana_do_clef(
- exact_center +
- (+0.8reduced_il + 1.25stafflinethickness, 0),
- reduction);
-
- set_char_box(0.5reduced_il#, 1.5reduced_il#, 0, reduced_il#);
-enddef;
-fet_beginchar("Ed. Vat. fa clef", "vaticana_fa", "vatfaclef")
- if test = 1:
- draw_staff(-1,3, 0.0);
- fi;
- draw_vaticana_fa_clef((0,0), 1.0);
-fet_endchar;
-fet_beginchar("Ed. Vat. fa clef", "vaticana_fa_change", "vatcfaclef")
- draw_vaticana_fa_clef((0,0), 1.0); % no reduction
-fet_endchar;
-
-%%%%%%%%
-%
-%
-%
-% Editio Medicaea
-%
-%
-%
-def draw_medicaea_do_clef(expr exact_center, reduction) =
- save reduced_il, reduced_slt;
- reduced_il# = staff_space# * reduction;
- reduced_slt# = stafflinethickness# * reduction;
- define_pixels(reduced_il);
- define_pixels(reduced_slt);
-
- save flag_height;
- flag_height# = 0.5 reduced_il#;
- define_pixels(flag_height);
-
- %lower flag
- save za, zb;
- pair za, zb;
- pickup pencircle xscaled reduced_slt yscaled flag_height;
- xpart exact_center
- = xpart za + 0.5 reduced_il
- = xpart zb - 0.5 reduced_il;
- ypart za = ypart exact_center - 0.5 flag_height
- - 0.5 (staff_space - reduced_il);
- ypart zb = ypart za - reduced_il + flag_height;
- draw za .. zb;
-
- %upper flag
- save za, zb;
- pair za, zb;
- pickup pencircle xscaled reduced_slt yscaled flag_height;
- xpart exact_center
- = xpart za + 0.5 reduced_il
- = xpart zb - 0.5 reduced_il;
- ypart za = ypart exact_center - 0.5 flag_height
- - 0.5 (staff_space - reduced_il)
- + staff_space;
- ypart zb = ypart za - reduced_il + flag_height;
- draw za .. zb;
-
- %stem
- save za, zb;
- pair za, zb;
- pickup pencircle scaled reduced_slt;
- xpart za = xpart zb = xpart exact_center - 0.5 reduced_il;
- ypart exact_center
- = ypart za + 1.5 reduced_il
- = ypart zb - 1.5 reduced_il;
- draw za .. zb;
-
- set_char_box(0.5reduced_il#, 1.5reduced_il#,
- 1.5reduced_il#, 1.5reduced_il#);
-enddef;
-
-
-fet_beginchar("Ed. Med. do clef", "medicaea_do", "meddoclef")
- if test = 1:
- draw_staff(-1,3, 0.0);
- fi;
- draw_medicaea_do_clef((0,0), 1.0);
-fet_endchar;
-fet_beginchar("Ed. Med. do clef", "medicaea_do_change", "cmeddoclef")
- draw_medicaea_do_clef((0,0), .8);
-fet_endchar;
-
-
-def draw_medicaea_fa_clef(expr exact_center, reduction) =
- % inspired by Regensburger Edition of Medicaea (1885/86), in:
- % MGG, volume 2, col. 1327 ("Choralreform"), fig. 2.
-
- save reduced_il, reduced_slt;
- reduced_il# = staff_space# * reduction;
- reduced_slt# = stafflinethickness# * reduction;
- define_pixels(reduced_il);
- define_pixels(reduced_slt);
-
- save za, zb, zc, zd, ze;
- pair za, zb, zc, zd, ze;
-
- %stem
- pickup pencircle scaled stafflinethickness;
- xpart za = xpart zb =
- xpart exact_center + 0.4reduced_il;
- ypart za = ypart exact_center = ypart zb + 1.5reduced_il;
- draw za -- zb;
-
- %left-handed punctum
- pickup pencircle xscaled reduced_slt yscaled reduced_il;
- zc = exact_center +
- (+0.4reduced_il, 0);
- zd = exact_center +
- (+0.0reduced_il, 0);
- draw zc -- zd;
-
- %right-handed puncta as in do clef
- draw_medicaea_do_clef(
- exact_center +
- (+1.1reduced_il + 1.25stafflinethickness, 0),
- reduction);
-
- set_char_box(reduced_il#/2, 2.6reduced_il#, 0, reduced_il#);
-enddef;
-
-
-fet_beginchar("Ed. Med. fa clef", "medicaea_fa", "medfaclef")
- if test = 1:
- draw_staff(-1,3, 0.0);
- fi;
- draw_medicaea_fa_clef((0,0), 1.0);
-fet_endchar;
-fet_beginchar("Ed. Med. fa clef", "medicaea_fa_change", "cmedfaclef")
- draw_medicaea_fa_clef((0,0), .8);
-fet_endchar;
-
-
-%%%%%%%%
-%
-%
-%
-% Mensural Notation
-%
-%
-%
-brevis_wid# := 2 staff_space#;
-
-def draw_brevis(expr exact_center, reduction, small_width, small_height) =
- %
- % inspired by function draw_brevis of
- % feta-bolletjes.mf
- %
- save reduced_slt, reduced_nht;
- save stem_width, head_width;
- save serif_size, serif_protrude;
- save holeheight, beamheight;
-
- reduced_slt# = stafflinethickness# * reduction;
- reduced_nht# = noteheight# * reduction;
- stem_width# = 1.4 reduced_slt#;
- if small_width:
- head_width# = 0.5brevis_wid# * reduction;
- else:
- head_width# = brevis_wid# * reduction;
- fi;
- if small_height:
- serif_size# = 0.64 reduced_slt#;
- serif_protrude# = 0.96 serif_size#;
- holeheight# = 3 reduced_slt#;
- beamheight# = 0.32(reduced_nht# - holeheight#);
- else:
- serif_size# = 1.0 reduced_slt#;
- serif_protrude# = 1.5 serif_size#;
- holeheight# = 3 reduced_slt#;
- beamheight# = 0.5(reduced_nht# - holeheight#);
- fi;
- define_pixels(reduced_slt);
- define_pixels(stem_width);
- define_pixels(head_width);
- define_pixels(serif_size);
- define_pixels(serif_protrude);
- define_pixels(beamheight);
-
- penpos1(stem_width, 0);
- penpos2(stem_width, 0);
- penpos3(beamheight, 90);
- penpos4(beamheight, 90);
- penpos5(stem_width, 180);
-
- z1l = exact_center;
- z2l = z1l + (0, -reduced_slt/2);
- z3r = z2r + serif_size*(1,-1);
- y4r = y3r;
- x4l = x1l + head_width/2;
- z5l = z3l + (-serif_size, -serif_protrude);
-
- penlabels(1,2,3,4,5);
- fill z1r -- z1l -- z5r{down} .. z5l{up} .. z3l{right}
- -- z4l -- z4r -- z3r{left} .. z2r{up} -- cycle;
-enddef;
-
-
-def draw_neo_mensural_c_clef(expr exact_center, reduction) =
- draw_brevis(exact_center, reduction, false, false);
-
- save reduced_il, reduced_slt;
- save stem_width;
-
- reduced_il# = staff_space# * reduction;
- reduced_slt# = stafflinethickness# * reduction;
- stem_width# = 1.4 reduced_slt#;
-
- define_pixels(reduced_il);
- define_pixels(reduced_slt);
- define_pixels(stem_width);
-
- penpos6(stem_width, 0);
- penpos7(stem_width, 0);
- z6l = exact_center;
- z7l = z6l + (0, -2reduced_il);
- fill z6l -- z7l -- z7r -- z6r -- cycle;
- penpos8(stem_width, 0);
- penpos9(stem_width, 0);
- z8l = z6l + (-3reduced_slt, 0);
- z9l = z8l + (0, -2reduced_il);
- fill z8l -- z9l -- z9r -- z8r -- cycle;
-
- addto currentpicture also currentpicture
- yscaled -1 shifted (0, 2*(ypart exact_center));
- addto currentpicture also currentpicture
- xscaled -1 shifted (2x4l,0);
-
- set_char_box(0, 2head_width#,
- 6reduced_slt#*reduction, 6reduced_slt#*reduction);
-enddef;
-
-
-fet_beginchar("neo-mensural c clef", "neo_mensural_c", "neomenscclef")
- if test = 1:
- draw_staff(-1,3, 0.0);
- fi;
- draw_neo_mensural_c_clef((0,0), 1.0);
-fet_endchar;
-fet_beginchar("neo-mensural c clef", "neo_mensural_c_change", "cneomenscclef")
- draw_neo_mensural_c_clef((1.3 staff_space#,0), .8);
-fet_endchar;
-
-
-def draw_petrucci_c_clef(expr exact_center, reduction) =
- % inspired by Josquin Desprez, "Stabat Mater", Libro tertio,
- % 1519, printed by Petrucci, in: MGG, volume 7, Table 11.
- draw_brevis(exact_center, reduction, true, true);
-
- save reduced_il, reduced_slt;
- save stem_width, interline;
-
- reduced_il# = staff_space# * reduction;
- reduced_slt# = stafflinethickness# * reduction;
- stem_width# = 1.4 reduced_slt#;
- interline# = staff_space#;
-
- define_pixels(reduced_il);
- define_pixels(reduced_slt);
- define_pixels(stem_width);
- define_pixels(interline);
-
- addto currentpicture also currentpicture
- yscaled -1 shifted (0, 2*(ypart exact_center) - interline);
-
- penpos6(stem_width, 0);
- penpos7(stem_width, 0);
- z6l = exact_center + (0, 0);
- z7l = z6l + (0, -2.2reduced_il);
- fill z6l -- z7l -- z7r -- z6r -- cycle;
-
- addto currentpicture also currentpicture
- xscaled -1 shifted (2x4l,0);
-
- penpos8(stem_width, 0);
- penpos9(stem_width, 0);
- z8l = exact_center + (0, 0);
- z9l = z8l + (0, -3.2reduced_il);
- fill z8l -- z9l -- z9r -- z8r -- cycle;
-
- addto currentpicture also currentpicture
- yscaled -1 shifted (0, 4*(ypart exact_center));
-
- set_char_box(0, 2head_width#,
- noteheight#*4*reduction, noteheight#*4*reduction);
-enddef;
-
-
-fet_beginchar("petrucci c clef", "petrucci_c", "petruccicclef")
- if test = 1:
- draw_staff(-1,3, 0.0);
- fi;
- draw_petrucci_c_clef((0,0), 1.0);
-fet_endchar;
-fet_beginchar("petrucci c clef", "petrucci_c_change", "cpetruccicclef")
- draw_petrucci_c_clef((1.3 staff_space#,0), .8);
-fet_endchar;
-
-
-def draw_mensural_c_clef(expr exact_center, reduction) =
- % inspired by Ockeghem, "Missa Prolationum", in: MGG, volume
- % 9, table 94.
- draw_petrucci_c_clef(exact_center, reduction);
-
- addto currentpicture also currentpicture
- shifted (0, -interline);
-
- set_char_box(0, 2head_width#,
- noteheight#*6*reduction, noteheight#*6*reduction);
-enddef;
-
-
-fet_beginchar("mensural c clef", "mensural_c", "menscclef")
- if test = 1:
- draw_staff(-1,3, 0.0);
- fi;
- draw_mensural_c_clef((0,0), 1.0);
-fet_endchar;
-fet_beginchar("mensural c clef", "mensural_c_change", "cmenscclef")
- draw_mensural_c_clef((0,0), .8);
-fet_endchar;
-
-def draw_diamond(expr exact_center, reduction) =
- save stem_width, reduced_il, reduced_nht, holeheight, beamheight;
- save rh_height, rh_width;
-
- stem_width# = 1.4 reduced_slt#;
- reduced_il# = staff_space# * reduction;
- reduced_nht# = noteheight# * reduction;
- holeheight# = 3 reduced_slt#;
- beamheight# = 0.4(reduced_nht# - holeheight#);
-
- rh_height# = 1.2reduced_il#;
- rh_width# / rh_height# = 0.58; % tan(30)
-
- define_pixels(beamheight);
- define_pixels(stem_width);
- define_pixels(rh_height);
- define_pixels(rh_width);
-
- pickup pencircle
- xscaled beamheight
- yscaled stem_width
- rotated 45;
-
- draw
- exact_center + (-rh_width/2, 0) --
- exact_center + (0, rh_height/2) --
- exact_center + (+rh_width/2, 0) --
- exact_center + (0, -rh_height/2) --
- cycle;
-enddef;
-
-def draw_petrucci_f_clef(expr exact_center, reduction) =
- % inspired by L'homme arme super voces musicales in Misse
- % Josquin, 1502, Petrucci, in: MGG, volume 7, col. 200; also
- % inspired by Gaspar van Weerbeke, "Virgo Maria" (1502), in:
- % MGG, volume 9, col. 653 ("Motette"), fig. 3.; also by Andr'e
- % Campra, "Entr'ee des s'er'enades" (1710), in: MGG, volume 2,
- % col. 1649 ("Contredanse"), fig. 2.
- %
- draw_brevis(exact_center, reduction, true, false);
-
- save reduced_il, reduced_slt;
- save stem_width, interline;
-
- reduced_il# = staff_space# * reduction;
- reduced_slt# = stafflinethickness# * reduction;
- stem_width# = 1.4 reduced_slt#;
- interline# = staff_space#;
-
- define_pixels(reduced_il);
- define_pixels(reduced_slt);
- define_pixels(stem_width);
- define_pixels(interline);
-
- addto currentpicture also currentpicture
- yscaled -1 shifted (0, 2*(ypart exact_center));
- addto currentpicture also currentpicture
- xscaled -1 shifted (2x4l,0);
-
- penpos6(stem_width, 0);
- penpos7(stem_width, 0);
- z6r = exact_center + (2x4l, 0);
- z7r = z6r + (0, -4reduced_il);
- fill z6l -- z7l -- z7r -- z6r -- cycle;
-
- draw_diamond(exact_center +
- (1.6interline*reduction, interline/2), reduction);
-
- % upper stem
- penpos8(stem_width, 0);
- penpos9(stem_width, 0);
- z8l = exact_center + (1.6interline*reduction, interline*reduction);
- z9l = z8l + (0, 1.5interline*reduction);
- fill z8l -- z9l -- z9r -- z8r -- cycle;
-
- draw_diamond(exact_center +
- (1.6interline*reduction, -interline/2), reduction);
- penpos10(stem_width, 0);
- penpos11(stem_width, 0);
- z10r = exact_center + (1.6interline*reduction, -interline*reduction);
- z11r = z10r + (0, -3.5interline*reduction);
- fill z10l -- z11l -- z11r -- z10r -- cycle;
-
- set_char_box(0, 3head_width#,
- 3.5noteheight#*reduction, 1.5noteheight#*reduction);
-enddef;
-
-
-fet_beginchar("petrucci f clef", "petrucci_f", "petruccifclef")
- if test = 1:
- draw_staff(-1,3, 0.0);
- fi;
- draw_petrucci_f_clef((0,0), 1.0);
-fet_endchar;
-fet_beginchar("petrucci f clef", "petrucci_f_change", "cpetruccifclef")
- draw_petrucci_f_clef((0,0), .8);
-fet_endchar;
-
-
-def draw_mensural_f_clef(expr exact_center, reduction) =
- %
- % inspired by Philippe le Duc, "Dite Signori" (1590), in: MGG,
- % volume 3, col. 848 ("Duc"); also by John Dowland, "The First
- % Booke of Songes" (1597), in: MGG, volume 3, col. 721
- % ("Dowland"), fig. 3.
-
- save reduced_slt, stem_width, reduced_nht, holeheight, beamheight;
-
- reduced_slt# = stafflinethickness# * reduction;
- stem_width# = 1.4 reduced_slt#;
- reduced_nht# = noteheight# * reduction;
- holeheight# = 3 reduced_slt#;
- beamheight# = 0.4(reduced_nht# - holeheight#);
-
- define_pixels(beamheight, stem_width, staff_space);
-
- pickup pencircle
- xscaled beamheight
- yscaled stem_width
- rotated 45;
-
- draw
- exact_center + (1.0 staff_space, 0.6 staff_space) --
- exact_center + (1.25 staff_space, 0.4 staff_space);
-
- draw
- exact_center + (1.0 staff_space, -0.4 staff_space) --
- exact_center + (1.25 staff_space, -0.6 staff_space);
-
- draw halfcircle scaled 1.2 staff_space rotated -90
- shifted (-exact_center + (+0.1 staff_space, 0));
-
- set_char_box(0, 3staff_space#, 3staff_space#, 0);
-enddef;
-
-fet_beginchar("mensural f clef", "mensural_f", "mensfclef")
- if test = 1:
- draw_staff(-1,3, 0.0);
- fi;
- draw_mensural_f_clef((0,0), 1.0);
-fet_endchar;
-fet_beginchar("mensural f clef", "mensural_f_change", "cmensfclef")
- draw_mensural_f_clef((0,0), .8);
-fet_endchar;
-
-
-def draw_mensural_g_clef(expr exact_center, reduction) =
- %
- % inspired by Francisco Guerrero, "Lib. 1. Missarum" (1566),
- % in: MGG, volume 3, col. 858 ("Ducis"); also by Stefano
- % Fabri, "Quam speciosa veteranis" (1611), in: MGG, volume 3,
- % col. 1698 ("Fabri"); also by Philippus Dulichius,
- % "Fasciculus novus ..." (1598), in: MGG, volume 3, col. 919
- % ("Dulichius"), fig. 1; also by Noe Faignient, "Ic sal de
- % Heer myn God gebenedye" (1568), in: MGG, volume 3, col. 1735
- % ("Faignient").
- %
- % Metafont code partially inspired by Schwabacher 'G' of yswab
- % font.
-
- save reduced_il, stem_width, height, width, apex_o, hair;
-
- reduced_il#=staff_space#*reduction;
-
- set_char_box(0.5reduced_il#, 1.5reduced_il#,
- 1.5reduced_il#, 1.5reduced_il#);
-
- stem_width# = 0.17 reduced_il#;
- height# = 1.5 reduced_il#;
- width# = 1.13 reduced_il#;
- apex_o# = 0.02 reduced_il#;
- hair# = 3 stafflinethickness#;
- define_pixels(reduced_il, stem_width, height, width, apex_o, hair);
-
- penpos1(2 stem_width, -142);
- z1l = (0.715 width, 0.742 height);
- penpos1'(hair, -90);
- z1'l = z1r;
- penpos2(1.179 stem_width, -142);
- z2l = (width, 0.466 height);
- penpos3(hair, 77);
- z3 = (0.764 width, 0.067 height);
- z4 = (0.59 width, -apex_o);
- penpos5(1.179 stem_width, 32);
- z5l=(0, 0.457 height);
- penpos6(hair, -56.5);
- z7 = (x4 - 0.843 stem_width, height + apex_o);
- z7 - z6l = whatever * dir33.5;
- penpos8(1.286 stem_width, -130);
- z8r = (0.715 width, 0.742 height) + (-apex_o, apex_o);
- z6r - z8r = whatever * (z7 - z8l);
- filldraw
- z1'r{dir45} .. z2r{down} .. z3r{dir207} .. z5r{up} ..
- z6r{z7-z6l} & z6r -- z8r -- z8l -- z7 --- z6l ...
- z5l{down} .. z4{right} .. z3l{dir27} .. z2l{up} ..
- z1l{1/3[z6l,z7]-z1l} & z1l -- z1r -- z1'r & cycle
- shifted (-exact_center + (0, -0.75reduced_il));
-
- penpos9(stem_width, 0);
- x9r = x4; y9 = 0.3 height;
-
- pickup pencircle
- scaled stem_width
- rotated 45;
- draw z9 -- (z9 + (0, -0.4reduced_il))
- shifted (-exact_center + (0, -0.75reduced_il));
-
- pickup pencircle
- xscaled stem_width
- yscaled hair
- rotated 30;
-
- draw halfcircle
- scaled 0.5 reduced_il
- rotated -90
- shifted z8
- shifted (0, 0.25reduced_il)
- shifted (-exact_center + (0, -0.75reduced_il));
-
- draw halfcircle
- scaled 0.4 reduced_il
- rotated 90
- shifted (z8 + (0, 0.45 reduced_il))
- shifted (0, 0.25reduced_il)
- shifted (-exact_center + (0, -0.75reduced_il));
-enddef;
-
-
-fet_beginchar("mensural g clef", "mensural_g", "mensgclef")
- if test = 1:
- draw_staff(-1,3, 0.0);
- fi;
- draw_mensural_g_clef((0,0), 1.0);
-fet_endchar;
-fet_beginchar("mensural g clef", "mensural_g_change", "cmensgclef")
- draw_mensural_g_clef((0,0), .8);
-fet_endchar;
-
-
-
-def draw_petrucci_g_clef(expr exact_center, reduction) =
- % inspired by Josquin Desprez, "Stabat Mater", Libro tertio,
- % 1519, printed by Petrucci, in: MGG, volume 7, Table 11.
-
- set_char_box(0.6 staff_space#, 0.8 staff_space#, 0.6 staff_space#,
- 4.0 staff_space#);
-
- save reduced_il, reduced_slt;
-
- reduced_il# = staff_space# * reduction;
- reduced_slt# = stafflinethickness# * reduction;
- define_pixels(reduced_il, reduced_slt);
-
- save za, zb, zc, zd, ze, zf, zg, zh, zi, zj;
- pair za, zb, zc, zd, ze, zf, zg, zh, zi, zj;
-
- pickup pencircle
- xscaled 0.50 reduced_slt
- yscaled 0.22 reduced_il
- rotated -35;
-
- za = exact_center + (+0.00 reduced_il, +0.00 reduced_il);
- zb = exact_center + (+0.20 reduced_il, +1.20 reduced_il);
- zc = exact_center + (-0.10 reduced_il, +2.00 reduced_il);
- zd = exact_center + (-0.50 reduced_il, +3.00 reduced_il);
- ze = exact_center + (+0.00 reduced_il, +3.70 reduced_il);
- zf = exact_center + (+0.20 reduced_il, +3.00 reduced_il);
- zg = exact_center + (-0.20 reduced_il, +2.00 reduced_il);
- zh = exact_center + (-0.50 reduced_il, +1.70 reduced_il);
- zi = exact_center + (-0.80 reduced_il, +0.75 reduced_il);
- zj = exact_center + (-0.60 reduced_il, +0.60 reduced_il);
-
- draw za{-1,2} .. zb .. zc .. zd .. ze .. zf .. zg .. zh .. zi .. zj;
-
- save za, zb, zc, zd, ze, zf;
- pair za, zb, zc, zd, ze, zf;
-
- pickup pencircle
- xscaled 0.75 reduced_slt
- yscaled 0.33 reduced_il
- rotated -35;
-
- za = exact_center + (+0.25 reduced_il, +0.45 reduced_il);
- zb = exact_center + (-0.25 reduced_il, +0.45 reduced_il);
- zc = exact_center + (-0.25 reduced_il, -0.45 reduced_il);
- zd = exact_center + (+0.25 reduced_il, -0.45 reduced_il);
- ze = exact_center + (+0.30 reduced_il, +0.00 reduced_il);
- zf = exact_center + (+0.00 reduced_il, +0.00 reduced_il);
-
- draw za .. zb .. zc .. zd .. {up}ze -- zf;
-enddef;
-
-
-fet_beginchar("petrucci g clef", "petrucci_g", "petruccigclef")
- if test = 1:
- draw_staff(-1,3, 0.0);
- fi;
- draw_petrucci_g_clef((0,0), 1.0);
-fet_endchar;
-fet_beginchar("petrucci g clef", "petrucci_g_change", "cpetruccigclef")
- draw_petrucci_g_clef((0,0), .8);
-fet_endchar;
-
-
-
-%%%%%%%%
-%
-%
-%
-% Hufnagel
-%
-%
-%
-def draw_hufnagel_do_clef(expr exact_center, reduction) =
- %
- % inspired by Graduale of Friedrich Zollner (1442), in: MGG,
- % volume 9, col. 1413 ("Neustift"), fig. 1.
- %
- save reduced_il;
-
- reduced_il# = staff_space# * reduction;
-
- define_pixels(reduced_il);
-
- pickup pencircle
- xscaled (0.60reduced_il)
- yscaled (0.10reduced_il)
- rotated 40;
- save za, zb, zc, zd, ze, zf;
- pair za, zb, zc, zd, ze, zf;
-
- za = exact_center + (+0.30reduced_il, +.45reduced_il);
- zb = exact_center + (+0.20reduced_il, +.45reduced_il);
- zc = exact_center + (-0.10reduced_il, +.60reduced_il);
- zd = exact_center + (-0.40reduced_il, +.45reduced_il);
- ze = exact_center + (-0.40reduced_il, -.45reduced_il);
- zf = exact_center + (-0.20reduced_il, -.55reduced_il);
- draw za .. zb .. zc -- zd -- ze -- zf;
-
- set_char_box(0.5reduced_il#, 0.5reduced_il#, 0, reduced_il#);
-enddef;
-
-
-fet_beginchar("Hufnagel do clef", "hufnagel_do", "hufnageldoclef")
- if test = 1:
- draw_staff(-1,3, 0.0);
- fi;
- draw_hufnagel_do_clef((0,0), 1.0);
-fet_endchar;
-fet_beginchar("Hufnagel do clef", "hufnagel_do_change", "chufnageldoclef")
- draw_hufnagel_do_clef((1.3 staff_space#,0), .8);
-fet_endchar;
-
-
-def draw_hufnagel_fa_clef(expr exact_center, reduction) =
- %
- % inspired by Bamberger Manuscript (15th century), in:
- % MGG, volume 2, table 59.
- %
- save reduced_il;
-
- reduced_il# = staff_space# * reduction;
-
- define_pixels(reduced_il);
-
- pickup pencircle
- xscaled (0.60reduced_il)
- yscaled (0.10reduced_il)
- rotated 40;
- save za, zb, zc, zd, ze, zf;
- pair za, zb, zc, zd, ze, zf;
-
- za = exact_center + (+0.30reduced_il, +0.70reduced_il);
- zb = exact_center + (+0.20reduced_il, +0.70reduced_il);
- zc = exact_center + (-0.10reduced_il, +0.85reduced_il);
- zd = exact_center + (-0.40reduced_il, +0.70reduced_il);
- ze = exact_center + (-0.40reduced_il, -1.10reduced_il);
- draw za .. zb .. zc -- zd -- ze;
-
- save zg, zh, zi, zj;
- pair zg, zh, zi, zj;
-
- zg = exact_center + (+0.30reduced_il, -0.05reduced_il);
- zh = exact_center + (+0.20reduced_il, -0.05reduced_il);
- zi = exact_center + (-0.10reduced_il, +0.10reduced_il);
- zj = exact_center + (-0.40reduced_il, -0.05reduced_il);
- draw zg .. zh .. zi -- zj;
-
- set_char_box(0.5reduced_il#, 0.5reduced_il#, 0, reduced_il#);
-enddef;
-
-
-fet_beginchar("Hufnagel fa clef", "hufnagel_fa", "hufnagelfaclef")
- if test = 1:
- draw_staff(-1,3, 0.0);
- fi;
- draw_hufnagel_fa_clef((0,0), 1.0);
-fet_endchar;
-fet_beginchar("Hufnagel fa clef", "hufnagel_fa_change", "chufnagelfaclef")
- draw_hufnagel_fa_clef((0,0), .8);
-fet_endchar;
-
-
-def draw_hufnagel_do_fa_clef(expr exact_center, reduction) =
- draw_hufnagel_do_clef(exact_center, reduction);
- draw_hufnagel_fa_clef(exact_center + (0, -2staff_space), reduction);
-enddef;
-
-
-fet_beginchar("Hufnagel do/fa clef", "hufnagel_do_fa", "hufnageldofaclef")
- if test = 1:
- draw_staff(-1,3, 0.0);
- fi;
- draw_hufnagel_do_fa_clef((0,0), 1.0);
-fet_endchar;
-fet_beginchar("Hufnagel do/fa clef", "hufnagel_do_fa_change",
- "chufnageldofaclef")
- draw_hufnagel_do_fa_clef((0,0), .8);
-fet_endchar;
-
def draw_percussion_clef(expr reduction) =
save reduced_il;
reduced_il# = staff_space# * reduction;
define_pixels(reduced_il);
set_char_box(-.67reduced_il#,2.0reduced_il#,reduced_il#,reduced_il#);
razt := 0.45reduced_il;
- pickup penrazor scaled razt;
- draw (-b+razt/2,h) -- (-b+razt/2,-d);
- draw (w-razt/2,h) -- (w-razt/2,-d);
+ draw_block((-b,-d),(-b+razt,h));
+ draw_block((w-razt,-d),(w,h));
enddef;
fet_beginchar("percussion clef", "percussion", "percussionclef")
draw_percussion_clef(1.0);
fet_endchar;
-fet_beginchar("percussion clef", "percussion_change", "cpercussionclef")
+fet_beginchar("percussion clef (reduced)", "percussion_change", "cpercussionclef")
draw_percussion_clef(.8);
fet_endchar;
+def draw_tab_T(expr pos, siz, slant) =
+ begingroup;
+ clearxy;
+ pair vx,vy;
+ vx=(xpart siz) * dir 0;
+ vy=(ypart siz) * dir 90;
+
+ penpos1(.75penh, 100);
+ z1=z2+(1/6*vx-.15*vy);
+ penpos2(.9penw, 0);
+ z2l = pos+.75vy;
+ penpos3(penh,-100);
+ z3l = pos+.4vx+vy;
+ penpos4(penh,-90);
+ z4=-.1vy+.5[z3,z5];
+ penpos5(.8penh,-30);
+ x5r=xpart (pos+siz);
+ y5l=ypart (pos+siz);
+
+ penpos10(penw,170);
+ z10=pos+.55vx+.85vy;
+ penpos11(.75[penh,penw],170);
+ z11=z10-.5vy+.025vx;
+ penpos12(penh,100);
+ z12l=(xpart .5[z13,z11],ypart (pos-.025*siz));
+ penpos13(.75penh,60);
+ z13=pos +.2vx+.15vy;
+
+ % penlabels (1,2,3,4,5,10,11,12,13);
+
+ soft_penstroke (z1e..tension 1.1
+ ..z2e
+ ..z3e{right}..tension 1.5
+ ..z4e
+ ..z5e
+ ) slanted slant shifted (slant*-ypart pos,0);
+
+ soft_penstroke (z10e..tension 1.5
+ ..z11e
+ ..z12e..tension 1.1
+ ..z13e{(z13r-z13l) rotated 90}
+ ) slanted slant shifted (slant*-ypart pos,0);
+ endgroup;
+enddef;
+
+def draw_tab_A(expr pos, siz, slant) =
+ begingroup;
+ clearxy;
+ pair vx,vy;
+ vx=(xpart siz) * dir 0;
+ vy=(ypart siz) * dir 90;
+
+ penpos1(.75penh,-110);
+ z1r=pos+.07vy;
+ penpos2(penh,-75);
+ z2r=(.5[x1,x3],ypart pos);
+ penpos3(.25[penh,penw],-30);
+ z3=(.45[x2,x4],.15[y2,y4]);
+ penpos4(1[penh,penw],0);
+ z4=pos+.5vx+.975vy;
+
+ penpos5(1[penh,penw],-180);
+ z5=z4;
+ penpos6(.2[penh,penw],-150);
+ z6l=(.8[x5l,x7l],.9[y5l,y7l]);
+ penpos7(penh,-90);
+ z7r=(.5[x6,x8],ypart pos);
+ penpos8(.75penh,-70);
+ z8r=(xpart(pos+siz),y7r+.075ypart(siz));
+
+ penpos10(penh,-105);
+ z10=.2[z3,z4];
+ penpos11(.9penh,-90);
+ z11=.4[z10,z6]-0.05vy;
+ penpos12(.75penh,-75);
+ z12=.3[z11,z6]+0.02vy;
+
+ % penlabels(1,2,3,4,5,6,7,8,10,11,12);
+
+ soft_penstroke (z1e {(z1r-z1l) rotated 90}
+ ..z2e
+ ..z3e
+ ..z4e
+ ) slanted slant shifted (slant*-ypart pos,0);
+
+ soft_penstroke (z5e
+ ..z6e
+ ..z7e
+ ..z8e {(z8r-z8l) rotated 90}
+ ) slanted slant shifted (slant*-ypart pos,0);
+
+ soft_penstroke (z10e
+ ..z11e
+ ..z12e
+ ) slanted slant shifted (slant*-ypart pos,0);
+
+ endgroup;
+enddef;
+
+def draw_tab_B(expr pos, siz, slant) =
+ begingroup;
+ clearxy;
+ pair vx,vy;
+ vx=(xpart siz) * dir 0;
+ vy=(ypart siz) * dir 90;
+
+ penpos1(.75penh, 100);
+ z1=z2+(.15*vx-.1*vy);
+ penpos2(.9penw, 0);
+ z2l = pos+.75vy;
+ penpos3(penh,-100);
+ z3l = pos+.4vx+1.05vy;
+ penpos4(.8[penh,penw],-180);
+ z4=(xpart(pos+.75siz),.5[y3,y5]);
+ penpos5(.8penh,90);
+ z5=(.5[x10,x4],ypart (pos+.55siz));
+
+ penpos6(.8penh,270);
+ z6=z5;
+ penpos7(penw,180);
+ z7l=(xpart(pos+siz),.5[y6,y8]);
+ penpos8(.8penh,45);
+ z8=.5[z12l,z11l]+.15vx-.05vy;
+
+ penpos10(.75[penh,penw],170);
+ z10=pos+.375vx+.95vy;
+ penpos11(.8[penh,penw],150);
+ z11=z10-.5vy+.04vx;
+ penpos12(penh,100);
+ z12l=(xpart .5[z13,z11],ypart pos);
+ penpos13(.75penh,60);
+ z13=pos+.1vx+.15vy;
+
+ % penlabels (1,2,3,4,5,6,7,8,10,11,12,13);
+
+ soft_penstroke (z1e..tension 1.1
+ ..z2e
+ ..z3e
+ ..z4e
+ ..z5e{left}
+ ) slanted slant shifted (slant*-ypart pos,0);
+
+ soft_penstroke (z6e{right}
+ ..z7e
+ ..z8e{(z8r-z8l) rotated 90}
+ ) slanted slant shifted (slant*-ypart pos,0);
+
+ soft_penstroke (z10e.. tension 1.5
+ ..z11e
+ ..z12e..tension 1.1
+ ..z13e{(z13r-z13l) rotated 90}
+ ) slanted slant shifted (slant*-ypart pos,0);
+ endgroup;
+enddef;
+
def draw_tab_clef(expr reduction) =
- save reduced_il;
+ save reduced_il,vx,vy,letterheight,penw,penh;
reduced_il# = staff_space# * reduction;
- define_pixels(reduced_il);
- set_char_box(-.5reduced_il#,1.8reduced_il#,2.25reduced_il#,2.25reduced_il#);
- bs := -d+0.65reduced_il;
- cx := 0.5(-b+w);
- xp := 0.32 reduced_il;
- yp := 0.25reduced_il;
- pickup pensquare xscaled xp yscaled yp;
-
- draw (-b,h) -- (w,h);
- draw (cx,h) -- (cx,h-1.2reduced_il);
-
- pickup penrazor scaled yp rotated 90;
- draw (-0.85b+0.15w,-0.25reduced_il) -- (-0.15b+0.85w,-0.25reduced_il);
- pickup penrazor scaled xp;
- draw (-b,-0.6reduced_il-yp/2) -- (cx,0.6reduced_il+yp/2) -- (w,-0.6reduced_il-yp/2);
-
-
- pickup pensquare xscaled xp yscaled yp;
- draw (-b,-d+1.2reduced_il) -- (-b,-d);
- pickup pencircle xscaled xp yscaled yp;
- draw (-b,-d) --- (cx,-d) .. (w,0.5(bs-d)) .. (cx,bs) --- (-b,bs) --- (cx,bs)
- .. (0.3cx+0.7w,0.5(bs-d+1.2reduced_il)) .. (cx,-d+1.2reduced_il) --- (-b,-d+1.2reduced_il)
+ letterheight# = 1.8*reduced_il#;
+ define_pixels(reduced_il,letterheight);
+ set_char_box(-.2*reduced_il#,2.8*reduced_il#,1.6*letterheight#,1.6*letterheight#);
+
+ %draw_staff (-3,2, 0.5);
+
+ penw = .45reduced_il;
+ penh = .2reduced_il;
+
+ draw_tab_T((-b+.15reduced_il,h-letterheight),
+ (2.1*reduced_il,letterheight),0.2);
+ draw_tab_A((-b-.05reduced_il,-.5letterheight +.15reduced_il),
+ (2.2*reduced_il,letterheight),0.4);
+ draw_tab_B((-b+.025reduced_il,-d),
+ (2.1*reduced_il,letterheight),0.25);
enddef;
fet_beginchar("tab clef", "tab", "tabclef")
draw_tab_clef(1.0);
fet_endchar;
-fet_beginchar("tab clef", "tab_change", "ctabclef")
+fet_beginchar("tab clef (reduced)", "tab_change", "ctabclef")
draw_tab_clef(.8);
fet_endchar;
% drawing
%
+def soft_penstroke text t =
+ forsuffixes e = l,r: path_.e:=t; endfor
+ if cycle path_.l:
+ cyclestroke_
+ else:
+ fill path_.l .. tension1.5 .. reverse path_.r .. tension1.5 .. cycle
+ fi
+enddef;
+
def simple_serif(expr p,q, a)=
p{dir(angle(q-p) -a)} .. q{ - dir(angle(p -q) + a)}
enddef;
endgroup;
enddef;
+
def y_mirror_char =
currentpicture := currentpicture yscaled -1;
set_char_box(charbp, charwd, charht, chardp);
%
% source file of the Feta (not the Font-En-Tja) music font
%
-% (c) 1997--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+% (c) 1997--2002 Jan Nieuwenhuizen <janneke@gnu.org>
fet_begingroup("number")
stafflines = 5;
+% [reuter] URG! This is not always true. One of the effects of
+% keeping this a constant is that, for notation with less stafflines,
+% stafflinethickness gets too small.
staff_space#:=staffsize#/(stafflines-1);
y11 = 1/5h;
penlabels (1,2,3,4,5,6,7,8,9,10,11);
- penstroke z1e..tension 2.5 .. z2e.. tension 1.5 .. z3e ..tension 2.5
+ soft_penstroke z1e..tension 2.5 .. z2e.. tension 1.5 .. z3e ..tension 2.5
..z4e..tension 1.5
..z5e..z6e..tension 1.5
..z7e..tension 1.5
y16r = y2r;
penlabels (12,13,14,15,16);
- penstroke z12e{down}..tension 1.1
+ soft_penstroke z12e{down}..tension 1.1
..z13e{dir (180-pedbeta)}..tension 1.1
..z14e{right}..tension 1.1
..z15e{dir (180+pedbeta)}..tension 1.1
penlabels (1,2,3,4,5);
- penstroke z1e{dir (-70-90)}..tension 1.1
+ soft_penstroke z1e{dir (-70-90)}..tension 1.1
..z2e{down}..tension 1.1
..z3e{right}..tension 1.1
..z4e{dir (90+10)}..tension 1.1
y8 = 1/5pedalh;
penlabels (1,2,3,4,5,6,7,8);
- penstroke z1e{dir pedalpha}
+ soft_penstroke z1e{dir pedalpha}
..z2e{dir pedalpha}.. tension 1.1
%urg
..z3e..tension 1.05
fet_beginchar("duration dot","dot", "dot")
pickup pencircle scaled dot_diam;
- draw (dot_diam/2,0);
+ drawdot (dot_diam/2,0);
set_char_box(0, dot_diam#, dot_diam#/2, dot_diam#/2);
fet_endchar;
% source file of the Feta (defintively not an abbreviation for Font-En-Tja)
% music font
%
-% (c) 1998--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+% (c) 1998--2002 Jan Nieuwenhuizen <janneke@gnu.org>
%
% this file is included by feta-scripts.mf
%
% source file of LilyPond's pretty-but-neat music font
%
-% (c) 1997--2001 Jan Nieuwenhuizen <janneke@gnu.org>
+% (c) 1997--2002 Jan Nieuwenhuizen <janneke@gnu.org>
% & Han-Wen Nienhuys <hanwen@cs.uu.nl>
%
% see Documentation/fonts.tex
-% feta-test16
+% feta-test11
% part of LilyPond's pretty-but-neat music font
input feta-autometric;
-fet_beginfont("feta-test", 23);
-staffsize#:=23pt#;
+fet_beginfont("feta-test", 11);
+staffsize#:=11pt#;
test:=1;
% smoked cheese
-% feta-test16
+% feta-test13
% part of LilyPond's pretty-but-neat music font
input feta-autometric;
-% feta-test16
+% feta-test26
% part of LilyPond's pretty-but-neat music font
input feta-autometric;
%
% source file of the Feta (not an abbreviation of Font-En-Tja) music font
%
-% (c) 1998--2001 Mats Bengtsson <matsb@s3.kth.se>,
+% (c) 1998--2002 Mats Bengtsson <matsb@s3.kth.se>,
% Christian Mondrup <scancm@biobase.dk>
fet_begingroup("timesig");
draw_block((- .75 stafflinethickness, -d) + excentricity, (.75 stafflinethickness , h) + excentricity);
fet_endchar;
-path threequartercircle;
-threequartercircle = halfcircle & quartercircle rotated 180;
-
-save Cdiameter,Cthickness;
-Cdiameter# := 3/2 staff_space#;
-Cthickness# := 2 stafflinethickness#;
-define_pixels(Cdiameter,Cthickness);
-
-%% tempus imperfectum cum prolatione imperfecta
-fet_beginchar ("Mensural 4/4 meter", "old4/4", "oldfourfourmeter")
- set_char_box(.5 Cdiameter# + staff_space#, .5 Cdiameter# + staff_space#,
- .5 Cdiameter#, .5 Cdiameter#);
-
- pickup pencircle scaled Cthickness;
- draw threequartercircle rotated 45 scaled Cdiameter;
-fet_endchar;
-
-%% tempus imperfectum cum prolatione imperfecta proportio dupla
-fet_beginchar ("Mensural 2/2 meter", "old2/2", "oldallabreve")
- set_char_box(.5 Cdiameter# + staff_space#, .5 Cdiameter# + staff_space#,
- staff_space#, staff_space#);
-
- pickup pencircle scaled Cthickness;
- draw threequartercircle rotated 45 scaled Cdiameter;
- draw_block((-Cthickness, -d), (0, h));
-fet_endchar;
-
-%% tempus perfectum cum prolatione imperfecta
-fet_beginchar ("Mensural 3/2 meter", "old3/2", "oldthreetwometer")
- set_char_box(.5 Cdiameter# + staff_space#, .5 Cdiameter# + staff_space#,
- .5 Cdiameter#, .5 Cdiameter#);
-
- pickup pencircle scaled Cthickness;
- draw fullcircle scaled Cdiameter;
-fet_endchar;
-
-%% tempus imperfectum cum prolatione perfecta
-fet_beginchar ("Mensural 6/4 meter", "old6/4", "oldsixfourmeter")
- set_char_box(.5 Cdiameter# + staff_space#, .5 Cdiameter# + staff_space#,
- .5 Cdiameter#, .5 Cdiameter#);
-
- pickup pencircle scaled Cthickness;
- draw threequartercircle rotated 45 scaled Cdiameter;
- pickup pencircle scaled 4 stafflinethickness;
- draw (0,0);
-fet_endchar;
-
-%% tempus perfectum cum prolatione perfecta
-fet_beginchar ("Mensural 9/4 meter", "old9/4", "oldninefourmeter")
- set_char_box(.5 Cdiameter# + staff_space#, .5 Cdiameter# + staff_space#,
- .5 Cdiameter#, .5 Cdiameter#);
-
- pickup pencircle scaled Cthickness;
- draw fullcircle scaled Cdiameter;
- pickup pencircle scaled 4 stafflinethickness;
- draw (0,0);
-fet_endchar;
-
-%% tempus perfectum cum prolatione imperfecta proportio dupla
-fet_beginchar ("Mensural 3/4 meter", "old3/4", "oldthreefourmeter")
- set_char_box(.5 Cdiameter# + staff_space#, .5 Cdiameter# + staff_space#,
- staff_space#, staff_space#);
-
- pickup pencircle scaled Cthickness;
- draw fullcircle scaled Cdiameter;
- draw_block((-Cthickness/2, -d), (Cthickness/2, h));
-fet_endchar;
-
-%% tempus imperfectum cum prolatione perfecta proportio dupla
-fet_beginchar ("Mensural 6/8 meter", "old6/8", "oldsixeightmeter")
- set_char_box(.5 Cdiameter# + staff_space#, .5 Cdiameter# + staff_space#,
- staff_space#, staff_space#);
-
- pickup pencircle scaled Cthickness;
- draw threequartercircle rotated 45 scaled Cdiameter;
- pickup pencircle scaled 4 stafflinethickness;
- draw (0,0);
- draw_block((-Cthickness/2, -d), (Cthickness/2, h));
-fet_endchar;
-
-%% tempus perfectum cum prolatione perfecta proportio dupla
-fet_beginchar ("Mensural 9/8 meter", "old9/8", "oldnineeight")
- set_char_box(.5 Cdiameter# + staff_space#, .5 Cdiameter# + staff_space#,
- staff_space#, staff_space#);
-
- pickup pencircle scaled Cthickness;
- draw fullcircle scaled Cdiameter;
- pickup pencircle scaled 4 stafflinethickness;
- draw (0,0);
- draw_block((-Cthickness/2, -d), (Cthickness/2, h));
-fet_endchar;
-
-%% tempus imperfectum cum prolatione imperfecta diminutio simplex
-fet_beginchar ("Mensural 4/8 meter", "old4/8", "oldfoureightmeter")
- set_char_box(.5 Cdiameter# + staff_space#, .5 Cdiameter# + staff_space#,
- .5 Cdiameter#, .5 Cdiameter#);
-
- pickup pencircle scaled Cthickness;
- draw threequartercircle rotated 225 scaled Cdiameter;
-fet_endchar;
-
-%% tempus imperfectum cum prolatione perfecta diminutio simplex
-fet_beginchar ("Mensural 6/8 meter", "old6/8alt", "oldsixeightmeteralt")
- set_char_box(.5 Cdiameter# + staff_space#, .5 Cdiameter# + staff_space#,
- .5 Cdiameter#, .5 Cdiameter#);
-
- pickup pencircle scaled Cthickness;
- draw threequartercircle rotated 225 scaled Cdiameter;
- pickup pencircle scaled 4 stafflinethickness;
- draw (0,0);
-fet_endchar;
-
-%% tempus imperfectum cum prolatione imperfecta diminutio duplex
-fet_beginchar ("Mensural 2/4 meter", "old2/4", "oldtwofourmeter")
- set_char_box(.5 Cdiameter# + staff_space#, .5 Cdiameter# + staff_space#,
- staff_space#, staff_space#);
-
- pickup pencircle scaled Cthickness;
- draw threequartercircle rotated 225 scaled Cdiameter;
- draw_block((-Cthickness, -d), (0, h));
-fet_endchar;
-
fet_endgroup("timesig");
%
% source file of the Feta (Font-En-Tja) music font
%
-% (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+% (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
%
set_char_box(charwd, charbp, chardp, charht);
fet_endchar;
-%%%%%%%%
-%
-%
-%
-% EDITIO MEDICAEA
-%
-%
-%
-fet_beginchar("Ed. Med. Flat" , "medicaea-1", "medicaeaflat");
- set_char_box(0, 0.8 staff_space#, 0.6 staff_space#,
- 2.0 staff_space#);
-
- pickup pencircle
- xscaled 0.50 stafflinethickness
- yscaled 0.22 staff_space;
-
- save za, zb;
- pair za, zb;
-
- za = (0.00 staff_space, +0.90 staff_space);
- zb = (0.00 staff_space, -0.50 staff_space);
- draw za -- zb;
-
- pickup pencircle
- xscaled 0.50 stafflinethickness
- yscaled 0.22 staff_space
- rotated -63;
-
- save zc, zd, ze;
- pair zc, zd, ze;
-
- zc = (0.10 staff_space, -0.50 staff_space);
- zd = (0.40 staff_space, +0.40 staff_space);
- ze = (0.10 staff_space, +0.40 staff_space);
-
- draw zc{(1,2)} .. zd .. ze{(-1,-1)};
-
- fet_endchar;
-
-%%%%%%%%
-%
-%
-%
-% EDITIO VATICANA
-%
-%
-%
-fet_beginchar("Ed. Vat. Flat" , "vaticana-1", "vaticanaflat");
- set_char_box(0, 0.7 staff_space#, 0.6 staff_space#,
- 2.0 staff_space#);
- define_pixels (stafflinethickness, staff_space);
-
- save za, zb, zc, zd, ze, zf, zg;
- pair za, zb, zc, zd, ze, zf, zg;
- za = (0.00 staff_space, +0.80 staff_space);
- zb = (0.00 staff_space, -0.03 staff_space);
- zc = (0.25 staff_space, -0.23 staff_space);
- zd = (0.50 staff_space, -0.23 staff_space);
- ze = (0.50 staff_space, +0.00 staff_space);
- zf = (0.25 staff_space, +0.20 staff_space);
- zg = (0.15 staff_space, +0.26 staff_space);
-
- pickup pencircle
- xscaled 0.50 stafflinethickness
- yscaled 0.22 staff_space;
- draw za{down} .. {down}zb .. zc .. zd{up} .. {up}ze .. zf .. zg;
- fet_endchar;
-
-fet_beginchar("Ed. Vat. Natural" , "vaticana0", "vaticananatural");
- set_char_box(0, 0.6 staff_space#, 0.6 staff_space#,
- 2.0 staff_space#);
- define_pixels (stafflinethickness, staff_space);
-
- save za, zb, zc, zd;
- pair za, zb, zc, zd;
- pickup pencircle
- xscaled 0.80 stafflinethickness
- yscaled 0.22 staff_space;
- za = (0.00 staff_space, +0.65 staff_space);
- zb = (0.00 staff_space, -0.35 staff_space);
- zc = (0.00 staff_space, -0.30 staff_space);
- zd = (0.40 staff_space, -0.08 staff_space);
- draw za -- zb;
- draw zc -- zd;
-
- addto currentpicture also currentpicture
- xscaled -1
- yscaled -1
- shifted (0.40 staff_space, 0.0 staff_space);
-
- fet_endchar;
-
-%%%%%%%%
-%
-%
-%
-% MENSURAL NOTATION
-%
-%
-%
-fet_beginchar("Mensural Sharp" , "mensural1", "mensuralsharp");
- set_char_box(0.4 staff_space#, 0.6 staff_space#, 0.5 staff_space#,
- 0.5 staff_space#);
- save stemthick;
- define_pixels (stemthick, staff_space);
- stemthick# = stafflinethickness#;
-
- save za, zb;
- pair za, zb;
- pickup pencircle scaled 0.8 stemthick;
- za = 0.4 * staff_space * (0.8, 1);
- za = -zb;
- draw za .. zb;
-
- addto currentpicture also currentpicture xscaled -1;
- addto currentpicture also currentpicture shifted (0.20 staff_space, 0);
-
- fet_endchar;
-
-fet_beginchar("Mensural Flat" , "mensural-1", "mensuralflat");
- set_char_box(0.1 staff_space#, 0.7 staff_space#, 0.4 staff_space#,
- 1.8 staff_space#);
- save stemthick;
- define_pixels (stemthick, staff_space);
- stemthick# = stafflinethickness#;
-
- save za, zb, zc, zd, ze;
- pair za, zb, zc, zd, ze;
- pickup pencircle
- xscaled 1.4 stemthick
- yscaled 0.6 stemthick
- rotated 45;
-
- za = (0.00 staff_space, +1.80 staff_space);
- zb = (0.00 staff_space, -0.25 staff_space);
- zc = (0.35 staff_space, -0.25 staff_space);
- zd = (0.35 staff_space, +0.25 staff_space);
- ze = (0.00 staff_space, +0.25 staff_space);
- draw za -- zb .. zc .. zd .. ze;
- fet_endchar;
-
-fet_beginchar("Hufnagel Flat" , "hufnagel-1", "hufnagelflat");
- set_char_box(0.5 staff_space#, 0.7 staff_space#, 0.4 staff_space#,
- 1.8 staff_space#);
- save stemthick;
- define_pixels (stemthick, staff_space);
- stemthick# = stafflinethickness#;
-
- save za, zb, zc, zd, ze, zf;
- pair za, zb, zc, zd, ze, zf;
- pickup pencircle
- xscaled 2.4 stemthick
- yscaled 0.4 stemthick
- rotated 45;
-
- za = (0.00 staff_space, +1.80 staff_space);
- zb = (0.00 staff_space, -0.15 staff_space);
- zc = (0.25 staff_space, -0.30 staff_space);
- zd = (0.50 staff_space, +0.00 staff_space);
- ze = (0.30 staff_space, +0.30 staff_space);
- zf = (0.00 staff_space, +0.15 staff_space);
- draw za -- zb -- zc .. zd .. ze -- zf;
- fet_endchar;
-
fet_endgroup("accidentals");
--- /dev/null
+% feta-klef.mf -- implement Clefs -*-Fundamental-*-
+%
+% part of LilyPond's pretty-but-neat music font
+%
+% source file of the Feta (not the Font-En-Tja) music font
+%
+% (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>,
+% Jan Nieuwenhuizen <janneke@gnu.org>,
+% Juergen Reuter <reuter@ipd.uka.de>
+
+
+fet_begingroup("clefs");
+
+%%%%%%%%
+%
+%
+%
+% Editio Vaticana
+%
+%
+%
+def draw_vaticana_do_clef(expr exact_center, reduction) =
+ save reduced_il;
+
+ reduced_il# = staff_space# * reduction;
+
+ set_char_box(0.4reduced_il#, 0.4reduced_il#, 0, reduced_il#);
+
+ define_pixels(reduced_il);
+
+ pickup pencircle xscaled stafflinethickness yscaled 0.6reduced_il;
+
+ save za, zb, zc, zd, ze, zf;
+ pair za, zb, zc, zd, ze, zf;
+
+ za = exact_center + (-0.0reduced_il, -.45reduced_il);
+ zb = exact_center + (-0.2reduced_il, -.50reduced_il);
+ zc = exact_center + (-0.4reduced_il, -.25reduced_il);
+ zd = exact_center + (-0.4reduced_il, +.25reduced_il);
+ ze = exact_center + (-0.2reduced_il, +.50reduced_il);
+ zf = exact_center + (-0.0reduced_il, +.45reduced_il);
+ draw za .. zb .. zc -- % lower punctum
+ zd .. ze .. zf; % upper punctum
+enddef;
+
+
+fet_beginchar("Ed. Vat. do clef", "vaticana_do", "vatdoclef")
+ if test = 1:
+ draw_staff(-1,3, 0.0);
+ fi;
+ draw_vaticana_do_clef((0,0), 1.0);
+fet_endchar;
+fet_beginchar("Ed. Vat. do clef", "vaticana_do_change", "vatcdoclef")
+ draw_vaticana_do_clef((0,0), 1.0); % no reduction
+fet_endchar;
+
+
+def draw_vaticana_fa_clef(expr exact_center, reduction) =
+
+ save reduced_il, z;
+ reduced_il# = staff_space# * reduction;
+ define_pixels(reduced_il);
+
+ save za, zb, zc, zd, ze;
+ pair za, zb, zc, zd, ze;
+
+ %stem
+ pickup pencircle scaled stafflinethickness;
+ xpart za = xpart zb =
+ xpart exact_center + 0.4reduced_il;
+ ypart za = ypart exact_center = ypart zb + 1.5reduced_il;
+ draw za .. zb;
+
+ %left-handed punctum
+ pickup pencircle xscaled stafflinethickness yscaled 0.5reduced_il;
+ zc = exact_center +
+ (+0.4reduced_il, -0.05reduced_il);
+ zd = exact_center +
+ (+0.2reduced_il, +0.05reduced_il);
+ ze = exact_center +
+ (+0.0reduced_il, +0.00reduced_il);
+ draw zc .. zd .. ze;
+
+ %right-handed puncta as in do clef
+ draw_vaticana_do_clef(
+ exact_center +
+ (+0.8reduced_il + 1.25stafflinethickness, 0),
+ reduction);
+
+ set_char_box(0.5reduced_il#, 1.5reduced_il#, 0, reduced_il#);
+enddef;
+
+
+fet_beginchar("Ed. Vat. fa clef", "vaticana_fa", "vatfaclef")
+ if test = 1:
+ draw_staff(-1,3, 0.0);
+ fi;
+ draw_vaticana_fa_clef((0,0), 1.0);
+fet_endchar;
+fet_beginchar("Ed. Vat. fa clef", "vaticana_fa_change", "vatcfaclef")
+ draw_vaticana_fa_clef((0,0), 1.0); % no reduction
+fet_endchar;
+
+%%%%%%%%
+%
+%
+%
+% Editio Medicaea
+%
+%
+%
+def draw_medicaea_do_clef(expr exact_center, reduction) =
+ save reduced_il, reduced_slt;
+ reduced_il# = staff_space# * reduction;
+ reduced_slt# = stafflinethickness# * reduction;
+ define_pixels(reduced_il);
+ define_pixels(reduced_slt);
+
+ save flag_height;
+ flag_height# = 0.5 reduced_il#;
+ define_pixels(flag_height);
+
+ %lower flag
+ save za, zb;
+ pair za, zb;
+ pickup pencircle xscaled reduced_slt yscaled flag_height;
+ xpart exact_center
+ = xpart za + 0.5 reduced_il
+ = xpart zb - 0.5 reduced_il;
+ ypart za = ypart exact_center - 0.5 flag_height
+ - 0.5 (staff_space - reduced_il);
+ ypart zb = ypart za - reduced_il + flag_height;
+ draw za .. zb;
+
+ %upper flag
+ save za, zb;
+ pair za, zb;
+ pickup pencircle xscaled reduced_slt yscaled flag_height;
+ xpart exact_center
+ = xpart za + 0.5 reduced_il
+ = xpart zb - 0.5 reduced_il;
+ ypart za = ypart exact_center - 0.5 flag_height
+ - 0.5 (staff_space - reduced_il)
+ + staff_space;
+ ypart zb = ypart za - reduced_il + flag_height;
+ draw za .. zb;
+
+ %stem
+ save za, zb;
+ pair za, zb;
+ pickup pencircle scaled reduced_slt;
+ xpart za = xpart zb = xpart exact_center - 0.5 reduced_il;
+ ypart exact_center
+ = ypart za + 1.5 reduced_il
+ = ypart zb - 1.5 reduced_il;
+ draw za .. zb;
+
+ set_char_box(0.5reduced_il#, 1.5reduced_il#,
+ 1.5reduced_il#, 1.5reduced_il#);
+enddef;
+
+
+fet_beginchar("Ed. Med. do clef", "medicaea_do", "meddoclef")
+ if test = 1:
+ draw_staff(-1,3, 0.0);
+ fi;
+ draw_medicaea_do_clef((0,0), 1.0);
+fet_endchar;
+fet_beginchar("Ed. Med. do clef", "medicaea_do_change", "cmeddoclef")
+ draw_medicaea_do_clef((0,0), .8);
+fet_endchar;
+
+
+def draw_medicaea_fa_clef(expr exact_center, reduction) =
+ % inspired by Regensburger Edition of Medicaea (1885/86), in:
+ % MGG, volume 2, col. 1327 ("Choralreform"), fig. 2.
+
+ save reduced_il, reduced_slt;
+ reduced_il# = staff_space# * reduction;
+ reduced_slt# = stafflinethickness# * reduction;
+ define_pixels(reduced_il);
+ define_pixels(reduced_slt);
+
+ save za, zb, zc, zd, ze;
+ pair za, zb, zc, zd, ze;
+
+ %stem
+ pickup pencircle scaled stafflinethickness;
+ xpart za = xpart zb =
+ xpart exact_center + 0.4reduced_il;
+ ypart za = ypart exact_center = ypart zb + 1.5reduced_il;
+ draw za -- zb;
+
+ %left-handed punctum
+ pickup pencircle xscaled reduced_slt yscaled reduced_il;
+ zc = exact_center +
+ (+0.4reduced_il, 0);
+ zd = exact_center +
+ (+0.0reduced_il, 0);
+ draw zc -- zd;
+
+ %right-handed puncta as in do clef
+ draw_medicaea_do_clef(
+ exact_center +
+ (+1.1reduced_il + 1.25stafflinethickness, 0),
+ reduction);
+
+ set_char_box(reduced_il#/2, 2.6reduced_il#, 0, reduced_il#);
+enddef;
+
+
+fet_beginchar("Ed. Med. fa clef", "medicaea_fa", "medfaclef")
+ if test = 1:
+ draw_staff(-1,3, 0.0);
+ fi;
+ draw_medicaea_fa_clef((0,0), 1.0);
+fet_endchar;
+fet_beginchar("Ed. Med. fa clef", "medicaea_fa_change", "cmedfaclef")
+ draw_medicaea_fa_clef((0,0), .8);
+fet_endchar;
+
+
+%%%%%%%%
+%
+%
+%
+% Mensural Notation
+%
+%
+%
+brevis_wid# := 2 staff_space#;
+
+def draw_brevis(expr exact_center, reduction, small_width, small_height) =
+ %
+ % inspired by function draw_brevis of
+ % feta-bolletjes.mf
+ %
+ save reduced_slt, reduced_nht;
+ save stem_width, head_width;
+ save serif_size, serif_protrude;
+ save holeheight, beamheight;
+
+ reduced_slt# = stafflinethickness# * reduction;
+ reduced_nht# = noteheight# * reduction;
+ stem_width# = 1.4 reduced_slt#;
+ if small_width:
+ head_width# = 0.5brevis_wid# * reduction;
+ else:
+ head_width# = brevis_wid# * reduction;
+ fi;
+ if small_height:
+ serif_size# = 0.64 reduced_slt#;
+ serif_protrude# = 0.96 serif_size#;
+ holeheight# = 3 reduced_slt#;
+ beamheight# = 0.32(reduced_nht# - holeheight#);
+ else:
+ serif_size# = 1.0 reduced_slt#;
+ serif_protrude# = 1.5 serif_size#;
+ holeheight# = 3 reduced_slt#;
+ beamheight# = 0.5(reduced_nht# - holeheight#);
+ fi;
+ define_pixels(reduced_slt);
+ define_pixels(stem_width);
+ define_pixels(head_width);
+ define_pixels(serif_size);
+ define_pixels(serif_protrude);
+ define_pixels(beamheight);
+
+ penpos1(stem_width, 0);
+ penpos2(stem_width, 0);
+ penpos3(beamheight, 90);
+ penpos4(beamheight, 90);
+ penpos5(stem_width, 180);
+
+ z1l = exact_center;
+ z2l = z1l + (0, -reduced_slt/2);
+ z3r = z2r + serif_size*(1,-1);
+ y4r = y3r;
+ x4l = x1l + head_width/2;
+ z5l = z3l + (-serif_size, -serif_protrude);
+
+ penlabels(1,2,3,4,5);
+ fill z1r -- z1l -- z5r{down} .. z5l{up} .. z3l{right}
+ -- z4l -- z4r -- z3r{left} .. z2r{up} -- cycle;
+enddef;
+
+
+def draw_neo_mensural_c_clef(expr exact_center, reduction) =
+ draw_brevis(exact_center, reduction, false, false);
+
+ save reduced_il, reduced_slt;
+ save stem_width;
+
+ reduced_il# = staff_space# * reduction;
+ reduced_slt# = stafflinethickness# * reduction;
+ stem_width# = 1.4 reduced_slt#;
+
+ define_pixels(reduced_il);
+ define_pixels(reduced_slt);
+ define_pixels(stem_width);
+
+ pickup pencircle xscaled stem_width yscaled blot_diameter;
+ z6 = exact_center + (stem_width/2, 0);
+ z7 = z6 + (0, -2reduced_il);
+ z8 = z6 + (-3reduced_slt, 0);
+ z9 - z8 = z7 - z6;
+ draw z6 .. z7;
+ draw z8 .. z9;
+
+ addto currentpicture also currentpicture
+ yscaled -1 shifted (0, 2*(ypart exact_center));
+ addto currentpicture also currentpicture
+ xscaled -1 shifted (2x4l,0);
+
+ set_char_box(0, 2head_width#,
+ 6reduced_slt#*reduction, 6reduced_slt#*reduction);
+enddef;
+
+
+fet_beginchar("neo-mensural c clef", "neo_mensural_c", "neomenscclef")
+ if test = 1:
+ draw_staff(-1,3, 0.0);
+ fi;
+ draw_neo_mensural_c_clef((0,0), 1.0);
+fet_endchar;
+fet_beginchar("neo-mensural c clef", "neo_mensural_c_change", "cneomenscclef")
+ draw_neo_mensural_c_clef((1.3 staff_space#,0), .8);
+fet_endchar;
+
+
+def draw_petrucci_c_clef(expr exact_center, reduction) =
+ % inspired by Josquin Desprez, "Stabat Mater", Libro tertio,
+ % 1519, printed by Petrucci, in: MGG, volume 7, Table 11.
+ draw_brevis(exact_center, reduction, true, true);
+
+ save reduced_il, reduced_slt;
+ save stem_width, interline;
+
+ reduced_il# = staff_space# * reduction;
+ reduced_slt# = stafflinethickness# * reduction;
+ stem_width# = 1.4 reduced_slt#;
+ interline# = staff_space#;
+
+ define_pixels(reduced_il);
+ define_pixels(reduced_slt);
+ define_pixels(stem_width);
+ define_pixels(interline);
+
+ addto currentpicture also currentpicture
+ yscaled -1 shifted (0, 2*(ypart exact_center) - interline);
+
+ pickup pencircle xscaled stem_width yscaled blot_diameter;
+ z6 = exact_center + (stem_width/2, 0);
+ z7 = z6 + (0, -2.2reduced_il);
+ draw z6 .. z7;
+
+ addto currentpicture also currentpicture
+ xscaled -1 shifted (2x4l,0);
+
+ z8 = exact_center + (stem_width/2, 0);
+ z9 = z8 + (0, -3.2reduced_il);
+ draw z8 .. z9;
+
+ addto currentpicture also currentpicture
+ yscaled -1 shifted (0, 4*(ypart exact_center));
+
+ set_char_box(0, 2head_width#,
+ noteheight#*4*reduction, noteheight#*4*reduction);
+enddef;
+
+
+fet_beginchar("petrucci c clef", "petrucci_c", "petruccicclef")
+ if test = 1:
+ draw_staff(-1,3, 0.0);
+ fi;
+ draw_petrucci_c_clef((0,0), 1.0);
+fet_endchar;
+fet_beginchar("petrucci c clef", "petrucci_c_change", "cpetruccicclef")
+ draw_petrucci_c_clef((1.3 staff_space#,0), .8);
+fet_endchar;
+
+
+def draw_mensural_c_clef(expr exact_center, reduction) =
+ % inspired by Ockeghem, "Missa Prolationum", in: MGG, volume
+ % 9, table 94.
+ draw_petrucci_c_clef(exact_center, reduction);
+
+ addto currentpicture also currentpicture
+ shifted (0, -interline);
+
+ set_char_box(0, 2head_width#,
+ noteheight#*6*reduction, noteheight#*6*reduction);
+enddef;
+
+
+fet_beginchar("mensural c clef", "mensural_c", "menscclef")
+ if test = 1:
+ draw_staff(-1,3, 0.0);
+ fi;
+ draw_mensural_c_clef((0,0), 1.0);
+fet_endchar;
+fet_beginchar("mensural c clef", "mensural_c_change", "cmenscclef")
+ draw_mensural_c_clef((0,0), .8);
+fet_endchar;
+
+def draw_diamond(expr exact_center, reduction) =
+ save stem_width, reduced_il, reduced_nht, holeheight, beamheight;
+ save rh_height, rh_width;
+
+ stem_width# = 1.4 reduced_slt#;
+ reduced_il# = staff_space# * reduction;
+ reduced_nht# = noteheight# * reduction;
+ holeheight# = 3 reduced_slt#;
+ beamheight# = 0.4(reduced_nht# - holeheight#);
+
+ rh_height# = 1.2reduced_il#;
+ rh_width# / rh_height# = 0.58; % tan(30)
+
+ define_pixels(beamheight);
+ define_pixels(stem_width);
+ define_pixels(rh_height);
+ define_pixels(rh_width);
+
+ pickup pencircle
+ xscaled beamheight
+ yscaled stem_width
+ rotated 45;
+
+ draw
+ exact_center + (-rh_width/2, 0) --
+ exact_center + (0, rh_height/2) --
+ exact_center + (+rh_width/2, 0) --
+ exact_center + (0, -rh_height/2) --
+ cycle;
+enddef;
+
+def draw_petrucci_f_clef(expr exact_center, reduction) =
+ % inspired by L'homme arme super voces musicales in Misse
+ % Josquin, 1502, Petrucci, in: MGG, volume 7, col. 200; also
+ % inspired by Gaspar van Weerbeke, "Virgo Maria" (1502), in:
+ % MGG, volume 9, col. 653 ("Motette"), fig. 3.; also by Andr'e
+ % Campra, "Entr'ee des s'er'enades" (1710), in: MGG, volume 2,
+ % col. 1649 ("Contredanse"), fig. 2.
+ %
+ draw_brevis(exact_center, reduction, true, false);
+
+ save reduced_il, reduced_slt;
+ save stem_width, interline;
+
+ reduced_il# = staff_space# * reduction;
+ reduced_slt# = stafflinethickness# * reduction;
+ stem_width# = 1.4 reduced_slt#;
+ interline# = staff_space#;
+
+ define_pixels(reduced_il);
+ define_pixels(reduced_slt);
+ define_pixels(stem_width);
+ define_pixels(interline);
+
+ addto currentpicture also currentpicture
+ yscaled -1 shifted (0, 2*(ypart exact_center));
+ addto currentpicture also currentpicture
+ xscaled -1 shifted (2x4l,0);
+
+
+ % brevis stem
+ pickup pencircle xscaled stem_width yscaled blot_diameter;
+ z6 = exact_center + (2x4l - stem_width/2, 0);
+ z7 = z6 + (0, -4reduced_il);
+ draw z6 .. z7;
+
+ % upper diamond
+ draw_diamond(exact_center + (1.6interline*reduction, interline/2),
+ reduction);
+ pickup pencircle xscaled stem_width yscaled blot_diameter;
+ z8 = exact_center +
+ (1.6interline*reduction + stem_width/2, interline*reduction);
+ z9 = z8 + (0, 1.5interline*reduction);
+ draw z8 .. z9; % diamond stem
+
+ % lower diamond
+ draw_diamond(exact_center + (1.6interline*reduction, -interline/2),
+ reduction);
+ pickup pencircle xscaled stem_width yscaled blot_diameter;
+ z10 = exact_center +
+ (1.6interline*reduction - stem_width/2, -interline*reduction);
+ z11 = z10 + (0, -3.5interline*reduction);
+ draw z10 .. z11; % diamond stem
+
+ set_char_box(0, 3head_width#,
+ 3.5noteheight#*reduction, 1.5noteheight#*reduction);
+enddef;
+
+
+fet_beginchar("petrucci f clef", "petrucci_f", "petruccifclef")
+ if test = 1:
+ draw_staff(-1,3, 0.0);
+ fi;
+ draw_petrucci_f_clef((0,0), 1.0);
+fet_endchar;
+fet_beginchar("petrucci f clef", "petrucci_f_change", "cpetruccifclef")
+ draw_petrucci_f_clef((0,0), .8);
+fet_endchar;
+
+
+def draw_mensural_f_clef(expr exact_center, reduction) =
+ %
+ % inspired by Philippe le Duc, "Dite Signori" (1590), in: MGG,
+ % volume 3, col. 848 ("Duc"); also by John Dowland, "The First
+ % Booke of Songes" (1597), in: MGG, volume 3, col. 721
+ % ("Dowland"), fig. 3.
+
+ save reduced_slt, stem_width, reduced_nht, holeheight, beamheight;
+
+ reduced_slt# = stafflinethickness# * reduction;
+ stem_width# = 1.4 reduced_slt#;
+ reduced_nht# = noteheight# * reduction;
+ holeheight# = 3 reduced_slt#;
+ beamheight# = 0.4(reduced_nht# - holeheight#);
+
+ define_pixels(beamheight, stem_width, staff_space);
+
+ pickup pencircle
+ xscaled beamheight
+ yscaled stem_width
+ rotated 45;
+
+ draw
+ exact_center + (1.0 staff_space, 0.6 staff_space) --
+ exact_center + (1.25 staff_space, 0.4 staff_space);
+
+ draw
+ exact_center + (1.0 staff_space, -0.4 staff_space) --
+ exact_center + (1.25 staff_space, -0.6 staff_space);
+
+ draw halfcircle scaled 1.2 staff_space rotated -90
+ shifted (-exact_center + (+0.1 staff_space, 0));
+
+ set_char_box(0, 3staff_space#, 3staff_space#, 0);
+enddef;
+
+fet_beginchar("mensural f clef", "mensural_f", "mensfclef")
+ if test = 1:
+ draw_staff(-1,3, 0.0);
+ fi;
+ draw_mensural_f_clef((0,0), 1.0);
+fet_endchar;
+fet_beginchar("mensural f clef", "mensural_f_change", "cmensfclef")
+ draw_mensural_f_clef((0,0), .8);
+fet_endchar;
+
+
+def draw_mensural_g_clef(expr exact_center, reduction) =
+ %
+ % inspired by Francisco Guerrero, "Lib. 1. Missarum" (1566),
+ % in: MGG, volume 3, col. 858 ("Ducis"); also by Stefano
+ % Fabri, "Quam speciosa veteranis" (1611), in: MGG, volume 3,
+ % col. 1698 ("Fabri"); also by Philippus Dulichius,
+ % "Fasciculus novus ..." (1598), in: MGG, volume 3, col. 919
+ % ("Dulichius"), fig. 1; also by Noe Faignient, "Ic sal de
+ % Heer myn God gebenedye" (1568), in: MGG, volume 3, col. 1735
+ % ("Faignient").
+ %
+ % Metafont code partially inspired by Schwabacher 'G' of yswab
+ % font.
+
+ save reduced_il, stem_width, height, width, apex_o, hair;
+
+ reduced_il#=staff_space#*reduction;
+
+ set_char_box(0.5reduced_il#, 1.5reduced_il#,
+ 1.5reduced_il#, 1.5reduced_il#);
+
+ stem_width# = 0.17 reduced_il#;
+ height# = 1.5 reduced_il#;
+ width# = 1.13 reduced_il#;
+ apex_o# = 0.02 reduced_il#;
+ hair# = 3 stafflinethickness#;
+ define_pixels(reduced_il, stem_width, height, width, apex_o, hair);
+
+ penpos1(2 stem_width, -142);
+ z1l = (0.715 width, 0.742 height);
+ penpos1'(hair, -90);
+ z1'l = z1r;
+ penpos2(1.179 stem_width, -142);
+ z2l = (width, 0.466 height);
+ penpos3(hair, 77);
+ z3 = (0.764 width, 0.067 height);
+ z4 = (0.59 width, -apex_o);
+ penpos5(1.179 stem_width, 32);
+ z5l=(0, 0.457 height);
+ penpos6(hair, -56.5);
+ z7 = (x4 - 0.843 stem_width, height + apex_o);
+ z7 - z6l = whatever * dir33.5;
+ penpos8(1.286 stem_width, -130);
+ z8r = (0.715 width, 0.742 height) + (-apex_o, apex_o);
+ z6r - z8r = whatever * (z7 - z8l);
+ filldraw
+ z1'r{dir45} .. z2r{down} .. z3r{dir207} .. z5r{up} ..
+ z6r{z7-z6l} & z6r -- z8r -- z8l -- z7 --- z6l ...
+ z5l{down} .. z4{right} .. z3l{dir27} .. z2l{up} ..
+ z1l{1/3[z6l,z7]-z1l} & z1l -- z1r -- z1'r & cycle
+ shifted (-exact_center + (0, -0.75reduced_il));
+
+ penpos9(stem_width, 0);
+ x9r = x4; y9 = 0.3 height;
+
+ pickup pencircle
+ scaled stem_width
+ rotated 45;
+ draw z9 -- (z9 + (0, -0.4reduced_il))
+ shifted (-exact_center + (0, -0.75reduced_il));
+
+ pickup pencircle
+ xscaled stem_width
+ yscaled hair
+ rotated 30;
+
+ draw halfcircle
+ scaled 0.5 reduced_il
+ rotated -90
+ shifted z8
+ shifted (0, 0.25reduced_il)
+ shifted (-exact_center + (0, -0.75reduced_il));
+
+ draw halfcircle
+ scaled 0.4 reduced_il
+ rotated 90
+ shifted (z8 + (0, 0.45 reduced_il))
+ shifted (0, 0.25reduced_il)
+ shifted (-exact_center + (0, -0.75reduced_il));
+enddef;
+
+
+fet_beginchar("mensural g clef", "mensural_g", "mensgclef")
+ if test = 1:
+ draw_staff(-1,3, 0.0);
+ fi;
+ draw_mensural_g_clef((0,0), 1.0);
+fet_endchar;
+fet_beginchar("mensural g clef", "mensural_g_change", "cmensgclef")
+ draw_mensural_g_clef((0,0), .8);
+fet_endchar;
+
+
+
+def draw_petrucci_g_clef(expr exact_center, reduction) =
+ % inspired by Josquin Desprez, "Stabat Mater", Libro tertio,
+ % 1519, printed by Petrucci, in: MGG, volume 7, Table 11.
+
+ set_char_box(0.6 staff_space#, 0.8 staff_space#, 0.6 staff_space#,
+ 4.0 staff_space#);
+
+ save reduced_il, reduced_slt;
+
+ reduced_il# = staff_space# * reduction;
+ reduced_slt# = stafflinethickness# * reduction;
+ define_pixels(reduced_il, reduced_slt);
+
+ save za, zb, zc, zd, ze, zf, zg, zh, zi, zj;
+ pair za, zb, zc, zd, ze, zf, zg, zh, zi, zj;
+
+ pickup pencircle
+ xscaled 0.50 reduced_slt
+ yscaled 0.22 reduced_il
+ rotated -35;
+
+ za = exact_center + (+0.00 reduced_il, +0.00 reduced_il);
+ zb = exact_center + (+0.20 reduced_il, +1.20 reduced_il);
+ zc = exact_center + (-0.10 reduced_il, +2.00 reduced_il);
+ zd = exact_center + (-0.50 reduced_il, +3.00 reduced_il);
+ ze = exact_center + (+0.00 reduced_il, +3.70 reduced_il);
+ zf = exact_center + (+0.20 reduced_il, +3.00 reduced_il);
+ zg = exact_center + (-0.20 reduced_il, +2.00 reduced_il);
+ zh = exact_center + (-0.50 reduced_il, +1.70 reduced_il);
+ zi = exact_center + (-0.80 reduced_il, +0.75 reduced_il);
+ zj = exact_center + (-0.60 reduced_il, +0.60 reduced_il);
+
+ draw za{-1,2} .. zb .. zc .. zd .. ze .. zf .. zg .. zh .. zi .. zj;
+
+ save za, zb, zc, zd, ze, zf;
+ pair za, zb, zc, zd, ze, zf;
+
+ pickup pencircle
+ xscaled 0.75 reduced_slt
+ yscaled 0.33 reduced_il
+ rotated -35;
+
+ za = exact_center + (+0.25 reduced_il, +0.45 reduced_il);
+ zb = exact_center + (-0.25 reduced_il, +0.45 reduced_il);
+ zc = exact_center + (-0.25 reduced_il, -0.45 reduced_il);
+ zd = exact_center + (+0.25 reduced_il, -0.45 reduced_il);
+ ze = exact_center + (+0.30 reduced_il, +0.00 reduced_il);
+ zf = exact_center + (+0.00 reduced_il, +0.00 reduced_il);
+
+ draw za .. zb .. zc .. zd .. {up}ze -- zf;
+enddef;
+
+
+fet_beginchar("petrucci g clef", "petrucci_g", "petruccigclef")
+ if test = 1:
+ draw_staff(-1,3, 0.0);
+ fi;
+ draw_petrucci_g_clef((0,0), 1.0);
+fet_endchar;
+fet_beginchar("petrucci g clef", "petrucci_g_change", "cpetruccigclef")
+ draw_petrucci_g_clef((0,0), .8);
+fet_endchar;
+
+
+
+%%%%%%%%
+%
+%
+%
+% Hufnagel
+%
+%
+%
+def draw_hufnagel_do_clef(expr exact_center, reduction) =
+ %
+ % inspired by Graduale of Friedrich Zollner (1442), in: MGG,
+ % volume 9, col. 1413 ("Neustift"), fig. 1.
+ %
+ save reduced_il;
+
+ reduced_il# = staff_space# * reduction;
+
+ define_pixels(reduced_il);
+
+ pickup pencircle
+ xscaled (0.60reduced_il)
+ yscaled (0.10reduced_il)
+ rotated 40;
+ save za, zb, zc, zd, ze, zf;
+ pair za, zb, zc, zd, ze, zf;
+
+ za = exact_center + (+0.30reduced_il, +.45reduced_il);
+ zb = exact_center + (+0.20reduced_il, +.45reduced_il);
+ zc = exact_center + (-0.10reduced_il, +.60reduced_il);
+ zd = exact_center + (-0.40reduced_il, +.45reduced_il);
+ ze = exact_center + (-0.40reduced_il, -.45reduced_il);
+ zf = exact_center + (-0.20reduced_il, -.55reduced_il);
+ draw za .. zb .. zc -- zd -- ze -- zf;
+
+ set_char_box(0.5reduced_il#, 0.5reduced_il#, 0, reduced_il#);
+enddef;
+
+
+fet_beginchar("Hufnagel do clef", "hufnagel_do", "hufnageldoclef")
+ if test = 1:
+ draw_staff(-1,3, 0.0);
+ fi;
+ draw_hufnagel_do_clef((0,0), 1.0);
+fet_endchar;
+fet_beginchar("Hufnagel do clef", "hufnagel_do_change", "chufnageldoclef")
+ draw_hufnagel_do_clef((1.3 staff_space#,0), .8);
+fet_endchar;
+
+
+def draw_hufnagel_fa_clef(expr exact_center, reduction) =
+ %
+ % inspired by Bamberger Manuscript (15th century), in:
+ % MGG, volume 2, table 59.
+ %
+ save reduced_il;
+
+ reduced_il# = staff_space# * reduction;
+
+ define_pixels(reduced_il);
+
+ pickup pencircle
+ xscaled (0.60reduced_il)
+ yscaled (0.10reduced_il)
+ rotated 40;
+ save za, zb, zc, zd, ze, zf;
+ pair za, zb, zc, zd, ze, zf;
+
+ za = exact_center + (+0.30reduced_il, +0.70reduced_il);
+ zb = exact_center + (+0.20reduced_il, +0.70reduced_il);
+ zc = exact_center + (-0.10reduced_il, +0.85reduced_il);
+ zd = exact_center + (-0.40reduced_il, +0.70reduced_il);
+ ze = exact_center + (-0.40reduced_il, -1.10reduced_il);
+ draw za .. zb .. zc -- zd -- ze;
+
+ save zg, zh, zi, zj;
+ pair zg, zh, zi, zj;
+
+ zg = exact_center + (+0.30reduced_il, -0.05reduced_il);
+ zh = exact_center + (+0.20reduced_il, -0.05reduced_il);
+ zi = exact_center + (-0.10reduced_il, +0.10reduced_il);
+ zj = exact_center + (-0.40reduced_il, -0.05reduced_il);
+ draw zg .. zh .. zi -- zj;
+
+ set_char_box(0.5reduced_il#, 0.5reduced_il#, 0, reduced_il#);
+enddef;
+
+
+fet_beginchar("Hufnagel fa clef", "hufnagel_fa", "hufnagelfaclef")
+ if test = 1:
+ draw_staff(-1,3, 0.0);
+ fi;
+ draw_hufnagel_fa_clef((0,0), 1.0);
+fet_endchar;
+fet_beginchar("Hufnagel fa clef", "hufnagel_fa_change", "chufnagelfaclef")
+ draw_hufnagel_fa_clef((0,0), .8);
+fet_endchar;
+
+
+def draw_hufnagel_do_fa_clef(expr exact_center, reduction) =
+ draw_hufnagel_do_clef(exact_center, reduction);
+ draw_hufnagel_fa_clef(exact_center + (0, -2staff_space), reduction);
+enddef;
+
+
+fet_beginchar("Hufnagel do/fa clef", "hufnagel_do_fa", "hufnageldofaclef")
+ if test = 1:
+ draw_staff(-1,3, 0.0);
+ fi;
+ draw_hufnagel_do_fa_clef((0,0), 1.0);
+fet_endchar;
+fet_beginchar("Hufnagel do/fa clef", "hufnagel_do_fa_change",
+ "chufnageldofaclef")
+ draw_hufnagel_do_fa_clef((0,0), .8);
+fet_endchar;
+
+
+fet_endgroup("clefs");
--- /dev/null
+% -*-Fundamental-*-
+% feta-custodes.mf -- implement custos symbols
+%
+% source file of LilyPond's pretty-but-neat music font
+%
+% (C) 2000, 2002 Juergen Reuter <reuter@ipd.uka.de>
+%
+
+save black_notehead_width;
+numeric black_notehead_width;
+
+fet_begingroup("custodes");
+
+noteheight#:=staff_space#+ (1 + overdone_heads) *stafflinethickness#;
+define_pixels(noteheight);
+
+
+%%%%%%%%
+%
+% Hufnagel style
+%
+
+% stem up
+fet_beginchar("Custos Hufnagel", "hufnagel", "hufnagel")
+ save b_h,a_w;
+ a_b:=1.54; % b_h*a_b/a_w = wd/ht
+ b_h:=0.85;
+ a_w:=1.09;
+
+ save a, beta, ht, wd;
+ ht# =noteheight#;
+ 2beta#=ht#*b_h;
+ a# = beta#*a_b;
+ wd# = 2a# / a_w;
+ set_char_box(0, wd#, ht#/2, ht#/2);
+ black_notehead_width# := wd#;
+
+ save rh_width, rh_height, rh_edge; % rhombus dimensions
+ rh_width#=0.7ht#; % ht*tan(35)
+ rh_height#=1.0ht#;
+ rh_edge#=0.61ht#; % (ht/2)/cos(35)
+
+ define_pixels(rh_width, rh_height, rh_edge);
+ pickup pencircle
+ xscaled stafflinethickness
+ yscaled rh_edge rotated -35;
+ z1=(0.5rh_width,+0.25rh_height);
+ z2=(1.0rh_width,-0.25rh_height);
+ z3=(2.0rh_width,+0.50rh_height);
+ draw z1 -- z2 -- z3;
+fet_endchar;
+
+% stem down
+fet_beginchar("Reverse Custos Hufnagel", "rhufnagel", "rhufnagel")
+ save b_h,a_w;
+ a_b:=1.54; % b_h*a_b/a_w = wd/ht
+ b_h:=0.85;
+ a_w:=1.09;
+
+ save a, beta, ht, wd;
+ ht# =noteheight#;
+ 2beta#=ht#*b_h;
+ a# = beta#*a_b;
+ wd# = 2a# / a_w;
+ set_char_box(0, wd#, ht#/2, ht#/2);
+ black_notehead_width# := wd#;
+
+ save rh_width, rh_height, rh_edge; % rhombus dimensions
+ rh_width#=0.7ht#; % ht*tan(35)
+ rh_height#=1.0ht#;
+ rh_edge#=0.61ht#; % (ht/2)/cos(35)
+
+ define_pixels(rh_width, rh_height, rh_edge);
+ pickup pencircle
+ xscaled stafflinethickness
+ yscaled rh_edge rotated +35;
+ z1=(0.5rh_width,-0.25rh_height);
+ z2=(1.0rh_width,+0.25rh_height);
+ z3=(2.0rh_width,-0.50rh_height);
+ draw z1 -- z2 -- z3;
+fet_endchar;
+
+
+%%%%%%%%
+%
+% Medicaea style
+%
+
+% stem up
+fet_beginchar("Custos Med.", "medicaea", "medicaea")
+ save b_h, a_w;
+ a_b := 1.54; % b_h*a_b/a_w = wd/ht
+ b_h := 0.85;
+ a_w := 1.09;
+
+ save a, beta, ht, wd;
+ ht# = noteheight# * mag;
+ 2beta# = ht# * b_h;
+ a# = beta# * a_b;
+ wd# = 0.4a# / a_w;
+ set_char_box(0, wd#, ht#/2, ht#/2); % width intentionally too small
+ black_notehead_width# := wd#;
+
+ define_pixels(ht, wd);
+
+ % head
+ pickup pencircle xscaled blot_diameter yscaled 1.0ht;
+ z1 = (0.0wd, 0.0ht);
+ z2 = z1 + (1.0wd - blot_diameter/2, 0);
+ draw z1 .. z2;
+
+ % stem
+ pickup pencircle scaled stafflinethickness;
+ z3 = (1.0wd - stafflinethickness/2, 0.0ht);
+ z4 = z3 + (0, +1.0ht);
+ draw z3 .. z4;
+fet_endchar;
+
+
+% stem down
+fet_beginchar("Reverse Custos Med.", "rmedicaea", "rmedicaea")
+ save b_h, a_w;
+ a_b := 1.54; % b_h*a_b/a_w = wd/ht
+ b_h := 0.85;
+ a_w := 1.09;
+
+ save a, beta, ht, wd;
+ ht# = noteheight# * mag;
+ 2beta# = ht# * b_h;
+ a# = beta# * a_b;
+ wd# = 0.4a# / a_w;
+ set_char_box(0, wd#, ht#/2, ht#/2); % width intentionally too small
+ black_notehead_width# := wd#;
+
+ define_pixels(ht, wd);
+
+ % head
+ pickup pencircle xscaled blot_diameter yscaled 1.0ht;
+ z1 = (0.0wd, 0.0ht);
+ z2 = z1 + (1.0wd - blot_diameter/2, 0);
+ draw z1 .. z2;
+
+ % stem
+ pickup pencircle scaled stafflinethickness;
+ z3 = (1.0wd - stafflinethickness/2, 0.0ht);
+ z4 = z3 + (0, -1.0ht);
+ draw z3 .. z4;
+fet_endchar;
+
+
+%%%%%%%%
+%
+% Editio Vaticana style
+%
+
+% stem up
+fet_beginchar("Custos Ed. Vat.", "vaticana", "vaticana")
+ save b_h, a_w;
+ a_b := 1.54; % b_h*a_b/a_w = wd/ht
+ b_h := 0.85;
+ a_w := 1.09;
+
+ save a, beta, ht, wd;
+ ht# = noteheight# * mag;
+ 2beta# = ht# * b_h;
+ a# = beta# * a_b;
+ wd# = 0.4a# / a_w;
+ set_char_box(0, wd#, ht#/2, ht#/2);
+ black_notehead_width# := wd#;
+
+ define_pixels(ht, wd);
+ pickup pencircle scaled stafflinethickness;
+
+ z1 = (0.0wd, +0.05ht);
+ z2 = (1.0wd + 0.5stafflinethickness, 0.0ht);
+ penpos1(0.5ht, 90);
+ penpos2(0.5ht, 90);
+ penstroke z1e{z2 - z1} .. {right}z2e;
+
+ z3=(1.0wd, +0.0ht);
+ z4=(1.0wd, +1.0ht);
+ draw z3 -- z4;
+fet_endchar;
+
+
+% stem down
+fet_beginchar("Reverse Custos Ed. Vat.", "rvaticana", "rvaticana")
+ save b_h, a_w;
+ a_b := 1.54; % b_h*a_b/a_w = wd/ht
+ b_h := 0.85;
+ a_w := 1.09;
+
+ save a, beta, ht, wd;
+ ht# = noteheight# * mag;
+ 2beta# = ht# * b_h;
+ a# = beta# * a_b;
+ wd# = 0.4a# / a_w;
+ set_char_box(0, wd#, ht#/2, ht#/2);
+ black_notehead_width# := wd#;
+
+ define_pixels(ht, wd);
+ pickup pencircle scaled stafflinethickness;
+
+ z1 = (0.0wd, -0.05ht);
+ z2 = (1.0wd + 0.5stafflinethickness, -0.0ht);
+ penpos1(0.5ht, 90);
+ penpos2(0.5ht, 90);
+ penstroke z1e{z2 - z1} .. {right}z2e;
+
+ z3=(1.0wd, -0.0ht);
+ z4=(1.0wd, -1.0ht);
+ draw z3 -- z4;
+fet_endchar;
+
+
+%%%%%%%%
+%
+% Mensural style
+%
+
+% stem up
+fet_beginchar("Custos Mensural", "mensural", "mensural")
+ save b_h,a_w;
+ a_b:=1.54; % b_h*a_b/a_w = wd/ht
+ b_h:=0.85;
+ a_w:=1.09;
+
+ save a, beta, ht, wd;
+ ht# =noteheight#;
+ 2beta#=ht#*b_h;
+ a# = beta#*a_b;
+ wd# = 2a# / a_w;
+ set_char_box(0, wd#, ht#/2, ht#/2); % width intentionally too small
+ black_notehead_width# := wd#;
+
+ define_pixels(ht, wd);
+ pickup pencircle xscaled stafflinethickness yscaled 0.4ht rotated -35;
+ z1=(0.0wd,-0.2ht);
+ z2=(0.2wd,+0.2ht);
+ z3=(0.4wd,-0.2ht);
+ z4=(0.6wd,+0.2ht);
+ z5=(0.8wd,-0.2ht);
+ z6=(1.6wd,+1.4ht);
+ draw z1 -- z2 -- z3 -- z4 -- z5 -- z6;
+fet_endchar;
+
+% stem down
+fet_beginchar("Reverse Custos Mensural", "rmensural", "rmensural")
+ save b_h,a_w;
+ a_b:=1.54; % b_h*a_b/a_w = wd/ht
+ b_h:=0.85;
+ a_w:=1.09;
+
+ save a, beta, ht, wd;
+ ht# =noteheight#;
+ 2beta#=ht#*b_h;
+ a# = beta#*a_b;
+ wd# = 2a# / a_w;
+ set_char_box(0, wd#, ht#/2, ht#/2); % width intentionally too small
+ black_notehead_width# := wd#;
+
+ define_pixels(ht, wd);
+ pickup pencircle xscaled stafflinethickness yscaled 0.4ht rotated +35;
+ z1=(0.0wd,+0.2ht);
+ z2=(0.2wd,-0.2ht);
+ z3=(0.4wd,+0.2ht);
+ z4=(0.6wd,-0.2ht);
+ z5=(0.8wd,+0.2ht);
+ z6=(1.6wd,-1.4ht);
+ draw z1 -- z2 -- z3 -- z4 -- z5 -- z6;
+fet_endchar;
+
+fet_endgroup("custodes");
+define_pixels(black_notehead_width);
+
--- /dev/null
+% flags
+%
+
+
+fet_begingroup("flags")
+save outer_path;
+path outer_path;
+% Flags pointing down overlap with the notehead (in x-direction), so
+% the down-flag can be bigger
+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.
+
+% Because of optical illusion, the utmost flag (bottom for
+% down-pointing, top for up-pointing) should be smaller than the other
+% flags. Adobe Sonata doesn't do this correctly. (Instead they have
+% an extension flag, which looks less elegant)
+%
+
+save hip_thickness, foot_thickness;
+hip_thickness# = 1.3 stemthickness#;
+foot_thickness# = hip_thickness#;
+
+%%%%%%%%
+%
+%
+%
+% Mensural Notation
+%
+%
+%
+
+def draw_mensural_outermost_flag_i =
+ define_pixels(stafflinethickness, staff_space)
+
+ pickup pencircle
+ xscaled 1.00 stafflinethickness
+ yscaled 0.22 staff_space
+ rotated -35;
+
+ save za, zb, zc, zd, ze;
+ pair za, zb, zc, zd, ze;
+
+ za = (+0.00 staff_space, -0.00 staff_space);
+ zb = (+0.15 staff_space, -0.00 staff_space);
+ zc = (+0.45 staff_space, -0.35 staff_space);
+ zd = (+0.45 staff_space, -0.85 staff_space);
+ ze = (+0.00 staff_space, -2.00 staff_space);
+
+ draw za .. zb -- zc{zc-zb} .. {ze-zd}zd -- ze;
+enddef;
+
+def draw_mensural_outermost_flag_ii =
+ define_pixels(stafflinethickness, staff_space)
+
+ pickup pencircle
+ xscaled 1.00 stafflinethickness
+ yscaled 0.22 staff_space
+ rotated -35;
+
+ save za, zb, zc, zd, ze;
+ pair za, zb, zc, zd, ze;
+
+ za = (+0.00 staff_space, -0.00 staff_space);
+ zb = (+0.15 staff_space, -0.00 staff_space);
+ zc = (+0.20 staff_space, -0.05 staff_space);
+ zd = (+0.20 staff_space, -1.15 staff_space);
+ ze = (+0.00 staff_space, -1.40 staff_space);
+
+ draw za .. zb -- zc{zc-zb} .. {ze-zd}zd -- ze;
+enddef;
+
+def draw_mensural_inner_flag(expr il_shift) =
+ define_pixels(stafflinethickness, staff_space)
+
+ pickup pencircle
+ xscaled 1.00 stafflinethickness
+ yscaled 0.22 staff_space
+ rotated -35;
+
+ save zs, za, zb, zc, zd;
+ pair zs, za, zb, zc, zd;
+
+ zs = (0, -il_shift * staff_space);
+ za = zs + (+0.00 staff_space, -0.10 staff_space);
+ zb = zs + (+0.33 staff_space, -0.30 staff_space);
+ zc = zs + (+0.33 staff_space, -0.70 staff_space);
+ zd = zs + (+0.00 staff_space, -0.90 staff_space);
+
+ draw za{2,1} .. zb .. zc .. {-2,-1}zd;
+enddef;
+
+fet_beginchar("8th Mensural Flag (up)", "mensuralu03", "menseighthflag")
+ set_char_box(0, 0.60 staff_space#, 2.00 staff_space#, 0)
+ draw_mensural_outermost_flag_i
+fet_endchar;
+
+fet_beginchar("8th Mensural Flag (up)", "mensuralu13", "mens1eighthflag")
+ set_char_box(0, 0.60 staff_space#, 1.50 staff_space#, 0)
+ draw_mensural_outermost_flag_ii
+fet_endchar;
+
+fet_beginchar("8th Mensural Flag (down)", "mensurald03", "mensdeighthflag")
+ set_char_box(0.60 staff_space#, 0, 0, 2.00 staff_space#)
+ draw_mensural_outermost_flag_i
+ currentpicture := currentpicture xscaled -1 yscaled -1;
+fet_endchar;
+
+fet_beginchar("8th Mensural Flag (down)", "mensurald13", "mensd1eighthflag")
+ set_char_box(0.60 staff_space#, 0, 0, 1.50 staff_space#)
+ draw_mensural_outermost_flag_ii
+ currentpicture := currentpicture xscaled -1 yscaled -1;
+fet_endchar;
+
+fet_beginchar("16th Mensural Flag (up)", "mensuralu04", "menssixteenthflag")
+ set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+ draw_mensural_outermost_flag_i
+ draw_mensural_inner_flag(2.0)
+fet_endchar;
+
+fet_beginchar("16th Mensural Flag (up)", "mensuralu14", "mens1sixteenthflag")
+ set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+ draw_mensural_outermost_flag_ii
+ draw_mensural_inner_flag(1.5)
+fet_endchar;
+
+fet_beginchar("16th Mensural Flag (down)", "mensurald04", "mensdsixteenthflag")
+ set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+ draw_mensural_outermost_flag_i
+ draw_mensural_inner_flag(2.0)
+ currentpicture := currentpicture xscaled -1 yscaled -1;
+fet_endchar;
+
+fet_beginchar("16th Mensural Flag (down)", "mensurald14", "mensd1sixteenthflag")
+ set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+ draw_mensural_outermost_flag_ii
+ draw_mensural_inner_flag(1.5)
+ currentpicture := currentpicture xscaled -1 yscaled -1;
+fet_endchar;
+
+fet_beginchar("32th Mensural Flag (up)", "mensuralu05", "mensthirtysecondflag")
+ set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+ draw_mensural_outermost_flag_i
+ draw_mensural_inner_flag(2.0)
+ draw_mensural_inner_flag(3.0)
+fet_endchar;
+
+fet_beginchar("32th Mensural Flag (up)", "mensuralu15", "mens1thirtysecondflag")
+ set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+ draw_mensural_outermost_flag_ii
+ draw_mensural_inner_flag(1.5)
+ draw_mensural_inner_flag(2.5)
+fet_endchar;
+
+fet_beginchar("32th Mensural Flag (down)", "mensurald05", "mensdthirtysecondflag")
+ set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+ draw_mensural_outermost_flag_i
+ draw_mensural_inner_flag(2.0)
+ draw_mensural_inner_flag(3.0)
+ currentpicture := currentpicture xscaled -1 yscaled -1;
+fet_endchar;
+
+fet_beginchar("32th Mensural Flag (down)", "mensurald15", "mensd1thirtysecondflag")
+ set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+ draw_mensural_outermost_flag_ii
+ draw_mensural_inner_flag(1.5)
+ draw_mensural_inner_flag(2.5)
+ currentpicture := currentpicture xscaled -1 yscaled -1;
+fet_endchar;
+
+fet_beginchar("64th Mensural Flag (up)", "mensuralu06", "menssixtyfourthflag")
+ set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+ draw_mensural_outermost_flag_i
+ draw_mensural_inner_flag(1.5)
+ draw_mensural_inner_flag(2.5)
+ draw_mensural_inner_flag(3.5)
+fet_endchar;
+
+fet_beginchar("64th Mensural Flag (up)", "mensuralu16", "mens1sixtyfourthflag")
+ set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+ draw_mensural_outermost_flag_ii
+ draw_mensural_inner_flag(1.17)
+ draw_mensural_inner_flag(2.08)
+ draw_mensural_inner_flag(3.00)
+fet_endchar;
+
+fet_beginchar("64th Mensural Flag (down)", "mensurald06", "mensdsixtyfourthflag")
+ set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+ draw_mensural_outermost_flag_i
+ draw_mensural_inner_flag(1.5)
+ draw_mensural_inner_flag(2.5)
+ draw_mensural_inner_flag(3.5)
+ currentpicture := currentpicture xscaled -1 yscaled -1;
+fet_endchar;
+
+fet_beginchar("64th Mensural Flag (down)", "mensurald16", "mensd1sixtyfourthflag")
+ set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+ draw_mensural_outermost_flag_ii
+ draw_mensural_inner_flag(1.17)
+ draw_mensural_inner_flag(2.08)
+ draw_mensural_inner_flag(3.00)
+ currentpicture := currentpicture xscaled -1 yscaled -1;
+fet_endchar;
+
+%%%%%%%%
+%
+%
+%
+% Mensural Notation
+%
+%
+%
+
+def draw_mensural_outermost_flag_i =
+ define_pixels(stafflinethickness, staff_space)
+
+ pickup pencircle
+ xscaled 1.00 stafflinethickness
+ yscaled 0.22 staff_space
+ rotated -35;
+
+ save za, zb, zc, zd, ze;
+ pair za, zb, zc, zd, ze;
+
+ za = (+0.00 staff_space, -0.00 staff_space);
+ zb = (+0.15 staff_space, -0.00 staff_space);
+ zc = (+0.45 staff_space, -0.35 staff_space);
+ zd = (+0.45 staff_space, -0.85 staff_space);
+ ze = (+0.00 staff_space, -2.00 staff_space);
+
+ draw za .. zb -- zc{zc-zb} .. {ze-zd}zd -- ze;
+enddef;
+
+def draw_mensural_outermost_flag_ii =
+ define_pixels(stafflinethickness, staff_space)
+
+ pickup pencircle
+ xscaled 1.00 stafflinethickness
+ yscaled 0.22 staff_space
+ rotated -35;
+
+ save za, zb, zc, zd, ze;
+ pair za, zb, zc, zd, ze;
+
+ za = (+0.00 staff_space, -0.00 staff_space);
+ zb = (+0.15 staff_space, -0.00 staff_space);
+ zc = (+0.20 staff_space, -0.05 staff_space);
+ zd = (+0.20 staff_space, -1.15 staff_space);
+ ze = (+0.00 staff_space, -1.40 staff_space);
+
+ draw za .. zb -- zc{zc-zb} .. {ze-zd}zd -- ze;
+enddef;
+
+def draw_mensural_inner_flag(expr il_shift) =
+ define_pixels(stafflinethickness, staff_space)
+
+ pickup pencircle
+ xscaled 1.00 stafflinethickness
+ yscaled 0.22 staff_space
+ rotated -35;
+
+ save zs, za, zb, zc, zd;
+ pair zs, za, zb, zc, zd;
+
+ zs = (0, -il_shift * staff_space);
+ za = zs + (+0.00 staff_space, -0.10 staff_space);
+ zb = zs + (+0.33 staff_space, -0.30 staff_space);
+ zc = zs + (+0.33 staff_space, -0.70 staff_space);
+ zd = zs + (+0.00 staff_space, -0.90 staff_space);
+
+ draw za{2,1} .. zb .. zc .. {-2,-1}zd;
+enddef;
+
+fet_beginchar("8th Mensural Flag (up)", "mensuralu03", "menseighthflag")
+ set_char_box(0, 0.60 staff_space#, 2.00 staff_space#, 0)
+ draw_mensural_outermost_flag_i
+fet_endchar;
+
+fet_beginchar("8th Mensural Flag (up)", "mensuralu13", "mens1eighthflag")
+ set_char_box(0, 0.60 staff_space#, 1.50 staff_space#, 0)
+ draw_mensural_outermost_flag_ii
+fet_endchar;
+
+fet_beginchar("8th Mensural Flag (down)", "mensurald03", "mensdeighthflag")
+ set_char_box(0.60 staff_space#, 0, 0, 2.00 staff_space#)
+ draw_mensural_outermost_flag_i
+ currentpicture := currentpicture xscaled -1 yscaled -1;
+fet_endchar;
+
+fet_beginchar("8th Mensural Flag (down)", "mensurald13", "mensd1eighthflag")
+ set_char_box(0.60 staff_space#, 0, 0, 1.50 staff_space#)
+ draw_mensural_outermost_flag_ii
+ currentpicture := currentpicture xscaled -1 yscaled -1;
+fet_endchar;
+
+fet_beginchar("16th Mensural Flag (up)", "mensuralu04", "menssixteenthflag")
+ set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+ draw_mensural_outermost_flag_i
+ draw_mensural_inner_flag(2.0)
+fet_endchar;
+
+fet_beginchar("16th Mensural Flag (up)", "mensuralu14", "mens1sixteenthflag")
+ set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+ draw_mensural_outermost_flag_ii
+ draw_mensural_inner_flag(1.5)
+fet_endchar;
+
+fet_beginchar("16th Mensural Flag (down)", "mensurald04", "mensdsixteenthflag")
+ set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+ draw_mensural_outermost_flag_i
+ draw_mensural_inner_flag(2.0)
+ currentpicture := currentpicture xscaled -1 yscaled -1;
+fet_endchar;
+
+fet_beginchar("16th Mensural Flag (down)", "mensurald14", "mensd1sixteenthflag")
+ set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+ draw_mensural_outermost_flag_ii
+ draw_mensural_inner_flag(1.5)
+ currentpicture := currentpicture xscaled -1 yscaled -1;
+fet_endchar;
+
+fet_beginchar("32th Mensural Flag (up)", "mensuralu05", "mensthirtysecondflag")
+ set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+ draw_mensural_outermost_flag_i
+ draw_mensural_inner_flag(2.0)
+ draw_mensural_inner_flag(3.0)
+fet_endchar;
+
+fet_beginchar("32th Mensural Flag (up)", "mensuralu15", "mens1thirtysecondflag")
+ set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+ draw_mensural_outermost_flag_ii
+ draw_mensural_inner_flag(1.5)
+ draw_mensural_inner_flag(2.5)
+fet_endchar;
+
+fet_beginchar("32th Mensural Flag (down)", "mensurald05", "mensdthirtysecondflag")
+ set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+ draw_mensural_outermost_flag_i
+ draw_mensural_inner_flag(2.0)
+ draw_mensural_inner_flag(3.0)
+ currentpicture := currentpicture xscaled -1 yscaled -1;
+fet_endchar;
+
+fet_beginchar("32th Mensural Flag (down)", "mensurald15", "mensd1thirtysecondflag")
+ set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+ draw_mensural_outermost_flag_ii
+ draw_mensural_inner_flag(1.5)
+ draw_mensural_inner_flag(2.5)
+ currentpicture := currentpicture xscaled -1 yscaled -1;
+fet_endchar;
+
+fet_beginchar("64th Mensural Flag (up)", "mensuralu06", "menssixtyfourthflag")
+ set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+ draw_mensural_outermost_flag_i
+ draw_mensural_inner_flag(1.5)
+ draw_mensural_inner_flag(2.5)
+ draw_mensural_inner_flag(3.5)
+fet_endchar;
+
+fet_beginchar("64th Mensural Flag (up)", "mensuralu16", "mens1sixtyfourthflag")
+ set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+ draw_mensural_outermost_flag_ii
+ draw_mensural_inner_flag(1.17)
+ draw_mensural_inner_flag(2.08)
+ draw_mensural_inner_flag(3.00)
+fet_endchar;
+
+fet_beginchar("64th Mensural Flag (down)", "mensurald06", "mensdsixtyfourthflag")
+ set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+ draw_mensural_outermost_flag_i
+ draw_mensural_inner_flag(1.5)
+ draw_mensural_inner_flag(2.5)
+ draw_mensural_inner_flag(3.5)
+ currentpicture := currentpicture xscaled -1 yscaled -1;
+fet_endchar;
+
+fet_beginchar("64th Mensural Flag (down)", "mensurald16", "mensd1sixtyfourthflag")
+ set_char_box(0, 0.60 staff_space#, 3.00 staff_space#, 0)
+ draw_mensural_outermost_flag_ii
+ draw_mensural_inner_flag(1.17)
+ draw_mensural_inner_flag(2.08)
+ draw_mensural_inner_flag(3.00)
+ currentpicture := currentpicture xscaled -1 yscaled -1;
+fet_endchar;
+
+%%%%%%%%
+%
+%
+%
+% Single Stroke for Short Appogiatura
+%
+%
+%
+
+fet_beginchar("grace dash (up)", "ugrace", "gracedash")
+ save flare,
+ hip_depth_ratio, hip_width,
+ foot_depth;
+
+ flare# = 1.0 staff_space#;
+ hip_depth_ratio = .72;
+ hip_width# = upflag_width# - hip_thickness#/2;
+
+ foot_depth# = 3 staff_space#;
+
+ define_pixels(flare, hip_width, hip_thickness,
+ foot_depth, foot_thickness);
+
+ set_char_box(hip_width# * hip_depth_ratio,
+ hip_width# + stemthickness#/2 + right_upflag_space#,
+ foot_depth# * hip_depth_ratio, -flare#)
+
+ pickup pencircle scaled 1.5 stemthickness;
+ draw (-b ,-d) ..
+ (w, h);
+fet_endchar;
+
+fet_beginchar("grace dash (down)", "dgrace", "dgracedash")
+ save flare, hip_depth_ratio, hip_width, foot_depth;
+ save flagspace, total_depth, flag_count;
+
+ flag_count = 1;
+ flare# = .99 staff_space#;
+ flagspace# = .9 staff_space#;
+ hip_depth_ratio = .72 ;
+ hip_width# = downflag_width# - hip_thickness#/2;
+ total_depth# = 2.85 staff_space#;
+ (flag_count-1) * flagspace# + foot_depth# = total_depth#;
+
+ foot_width_ratio = .8;
+
+ define_pixels(flare, hip_width, hip_thickness,
+ flagspace, foot_depth);
+
+ set_char_box(hip_width# * hip_depth_ratio,
+ hip_width# + stemthickness#/2 + right_downflag_space#,
+ foot_depth# * hip_depth_ratio, -flare#)
+
+ pickup pencircle scaled 1.5 stemthickness;
+ draw (-b, -d) .. (w,h);
+ y_mirror_char;
+fet_endchar;
+
+% ustem?
+%
+%
+% Stem characters so we can compose metronome markings with Feta
+% entirely.
+%
+
+fet_beginchar("stem (up)", "stem", "stem")
+ set_char_box(stemthickness#/2, stemthickness#/2, 0, 3.5staff_space#);
+ pickup pencircle scaled stemthickness;
+ draw (0, 0.2staff_space) .. (0, 3.5staff_space);
+fet_endchar;
+
+% do we want this?
+fet_beginchar("stem (down)", "dstem", "dstem")
+ set_char_box(stemthickness#/2, stemthickness#/2, 3.5staff_space#, 0);
+ pickup pencircle scaled stemthickness;
+ draw (0, -0.2staff_space) .. (0, -3.5staff_space);
+fet_endchar;
+
+
+fet_endgroup("flags");
--- /dev/null
+%
+% feta-generic.mf -- implement generic stuff: include lots of files, but don't
+% set dims.
+%
+% source file of the Feta (defintively not an abbreviation for Font-En-Tja)
+% music font
+%
+% (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+%
+
+
+if test = -1:
+ mode := smoke;
+fi
+
+mode_setup;
+%
+
+input feta-macros;
+
+make_pen_stack;
+make_picture_stack;
+input feta-params;
+
+font_x_height staff_space#;
+
+if test = 0:
+ input parmesan-rests;
+ input parmesan-heads;
+ input parmesan-clefs;
+ input parmesan-custodes
+ input parmesan-accidentals;
+ input parmesan-flags;
+ input parmesan-timesig;
+
+else:
+
+fi
--- /dev/null
+%
+% feta-toevallig.mf -- implement Accidentals
+%
+% source file of the Feta (Font-En-Tja) music font
+%
+% (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+%
+
+fet_begingroup("accidentals");
+
+
+
+%%%%%%%%
+%
+%
+%
+% EDITIO MEDICAEA
+%
+%
+%
+fet_beginchar("Ed. Med. Flat" , "medicaea-1", "medicaeaflat");
+ set_char_box(0, 0.8 staff_space#, 0.6 staff_space#,
+ 2.0 staff_space#);
+
+ pickup pencircle
+ xscaled 0.50 stafflinethickness
+ yscaled 0.22 staff_space;
+
+ save za, zb;
+ pair za, zb;
+
+ za = (0.00 staff_space, +0.90 staff_space);
+ zb = (0.00 staff_space, -0.50 staff_space);
+ draw za -- zb;
+
+ pickup pencircle
+ xscaled 0.50 stafflinethickness
+ yscaled 0.22 staff_space
+ rotated -63;
+
+ save zc, zd, ze;
+ pair zc, zd, ze;
+
+ zc = (0.10 staff_space, -0.50 staff_space);
+ zd = (0.40 staff_space, +0.40 staff_space);
+ ze = (0.10 staff_space, +0.40 staff_space);
+
+ draw zc{(1,2)} .. zd .. ze{(-1,-1)};
+
+ fet_endchar;
+
+%%%%%%%%
+%
+%
+%
+% EDITIO VATICANA
+%
+%
+%
+fet_beginchar("Ed. Vat. Flat" , "vaticana-1", "vaticanaflat");
+ set_char_box(0, 0.7 staff_space#, 0.6 staff_space#,
+ 2.0 staff_space#);
+ define_pixels (stafflinethickness, staff_space);
+
+ save za, zb, zc, zd, ze, zf, zg;
+ pair za, zb, zc, zd, ze, zf, zg;
+ za = (0.00 staff_space, +0.80 staff_space);
+ zb = (0.00 staff_space, -0.03 staff_space);
+ zc = (0.25 staff_space, -0.23 staff_space);
+ zd = (0.50 staff_space, -0.23 staff_space);
+ ze = (0.50 staff_space, +0.00 staff_space);
+ zf = (0.25 staff_space, +0.20 staff_space);
+ zg = (0.15 staff_space, +0.26 staff_space);
+
+ pickup pencircle
+ xscaled 0.50 stafflinethickness
+ yscaled 0.22 staff_space;
+ draw za{down} .. {down}zb .. zc .. zd{up} .. {up}ze .. zf .. zg;
+ fet_endchar;
+
+fet_beginchar("Ed. Vat. Natural" , "vaticana0", "vaticananatural");
+ set_char_box(0, 0.6 staff_space#, 0.6 staff_space#,
+ 2.0 staff_space#);
+ define_pixels (stafflinethickness, staff_space);
+
+ save za, zb, zc, zd;
+ pair za, zb, zc, zd;
+ pickup pencircle
+ xscaled 0.80 stafflinethickness
+ yscaled 0.22 staff_space;
+ za = (0.00 staff_space, +0.65 staff_space);
+ zb = (0.00 staff_space, -0.35 staff_space);
+ zc = (0.00 staff_space, -0.30 staff_space);
+ zd = (0.40 staff_space, -0.08 staff_space);
+ draw za -- zb;
+ draw zc -- zd;
+
+ addto currentpicture also currentpicture
+ xscaled -1
+ yscaled -1
+ shifted (0.40 staff_space, 0.0 staff_space);
+
+ fet_endchar;
+
+%%%%%%%%
+%
+%
+%
+% MENSURAL NOTATION
+%
+%
+%
+fet_beginchar("Mensural Sharp" , "mensural1", "mensuralsharp");
+ set_char_box(0.4 staff_space#, 0.6 staff_space#, 0.5 staff_space#,
+ 0.5 staff_space#);
+ save stemthick;
+ define_pixels (stemthick, staff_space);
+ stemthick# = stafflinethickness#;
+
+ save za, zb;
+ pair za, zb;
+ pickup pencircle scaled 0.8 stemthick;
+ za = 0.4 * staff_space * (0.8, 1);
+ za = -zb;
+ draw za .. zb;
+
+ addto currentpicture also currentpicture xscaled -1;
+ addto currentpicture also currentpicture shifted (0.20 staff_space, 0);
+
+ fet_endchar;
+
+fet_beginchar("Mensural Flat" , "mensural-1", "mensuralflat");
+ set_char_box(0.1 staff_space#, 0.7 staff_space#, 0.4 staff_space#,
+ 1.8 staff_space#);
+ save stemthick;
+ define_pixels (stemthick, staff_space);
+ stemthick# = stafflinethickness#;
+
+ save za, zb, zc, zd, ze;
+ pair za, zb, zc, zd, ze;
+ pickup pencircle
+ xscaled 1.4 stemthick
+ yscaled 0.6 stemthick
+ rotated 45;
+
+ za = (0.00 staff_space, +1.80 staff_space);
+ zb = (0.00 staff_space, -0.25 staff_space);
+ zc = (0.35 staff_space, -0.25 staff_space);
+ zd = (0.35 staff_space, +0.25 staff_space);
+ ze = (0.00 staff_space, +0.25 staff_space);
+ draw za -- zb .. zc .. zd .. ze;
+ fet_endchar;
+
+fet_beginchar("Hufnagel Flat" , "hufnagel-1", "hufnagelflat");
+ set_char_box(0.5 staff_space#, 0.7 staff_space#, 0.4 staff_space#,
+ 1.8 staff_space#);
+ save stemthick;
+ define_pixels (stemthick, staff_space);
+ stemthick# = stafflinethickness#;
+
+ save za, zb, zc, zd, ze, zf;
+ pair za, zb, zc, zd, ze, zf;
+ pickup pencircle
+ xscaled 2.4 stemthick
+ yscaled 0.4 stemthick
+ rotated 45;
+
+ za = (0.00 staff_space, +1.80 staff_space);
+ zb = (0.00 staff_space, -0.15 staff_space);
+ zc = (0.25 staff_space, -0.30 staff_space);
+ zd = (0.50 staff_space, +0.00 staff_space);
+ ze = (0.30 staff_space, +0.30 staff_space);
+ zf = (0.00 staff_space, +0.15 staff_space);
+ draw za -- zb -- zc .. zd .. ze -- zf;
+ fet_endchar;
+
+fet_endgroup ("accidentals")
--- /dev/null
+%
+% feta-timesig.mf -- implement Time Signatures
+%
+% source file of the Feta (not an abbreviation of Font-En-Tja) music font
+%
+% (c) 1998--2002 Mats Bengtsson <matsb@s3.kth.se>,
+% Christian Mondrup <scancm@biobase.dk>
+
+fet_begingroup("timesig");
+
+path threequartercircle;
+threequartercircle = halfcircle & quartercircle rotated 180;
+
+save Cdiameter,Cthickness;
+Cdiameter# := 3/2 staff_space#;
+Cthickness# := 2 stafflinethickness#;
+define_pixels(Cdiameter,Cthickness);
+
+%% tempus imperfectum cum prolatione imperfecta
+fet_beginchar ("Mensural 4/4 meter", "old4/4", "oldfourfourmeter")
+ set_char_box(.5 Cdiameter# + staff_space#, .5 Cdiameter# + staff_space#,
+ .5 Cdiameter#, .5 Cdiameter#);
+
+ pickup pencircle scaled Cthickness;
+ draw threequartercircle rotated 45 scaled Cdiameter;
+fet_endchar;
+
+%% tempus imperfectum cum prolatione imperfecta proportio dupla
+fet_beginchar ("Mensural 2/2 meter", "old2/2", "oldallabreve")
+ set_char_box(.5 Cdiameter# + staff_space#, .5 Cdiameter# + staff_space#,
+ staff_space#, staff_space#);
+
+ pickup pencircle scaled Cthickness;
+ draw threequartercircle rotated 45 scaled Cdiameter;
+ draw_block((-Cthickness, -d), (0, h));
+fet_endchar;
+
+%% tempus perfectum cum prolatione imperfecta
+fet_beginchar ("Mensural 3/2 meter", "old3/2", "oldthreetwometer")
+ set_char_box(.5 Cdiameter# + staff_space#, .5 Cdiameter# + staff_space#,
+ .5 Cdiameter#, .5 Cdiameter#);
+
+ pickup pencircle scaled Cthickness;
+ draw fullcircle scaled Cdiameter;
+fet_endchar;
+
+%% tempus imperfectum cum prolatione perfecta
+fet_beginchar ("Mensural 6/4 meter", "old6/4", "oldsixfourmeter")
+ set_char_box(.5 Cdiameter# + staff_space#, .5 Cdiameter# + staff_space#,
+ .5 Cdiameter#, .5 Cdiameter#);
+
+ pickup pencircle scaled Cthickness;
+ draw threequartercircle rotated 45 scaled Cdiameter;
+ pickup pencircle scaled 4 stafflinethickness;
+ draw (0,0);
+fet_endchar;
+
+%% tempus perfectum cum prolatione perfecta
+fet_beginchar ("Mensural 9/4 meter", "old9/4", "oldninefourmeter")
+ set_char_box(.5 Cdiameter# + staff_space#, .5 Cdiameter# + staff_space#,
+ .5 Cdiameter#, .5 Cdiameter#);
+
+ pickup pencircle scaled Cthickness;
+ draw fullcircle scaled Cdiameter;
+ pickup pencircle scaled 4 stafflinethickness;
+ draw (0,0);
+fet_endchar;
+
+%% tempus perfectum cum prolatione imperfecta proportio dupla
+fet_beginchar ("Mensural 3/4 meter", "old3/4", "oldthreefourmeter")
+ set_char_box(.5 Cdiameter# + staff_space#, .5 Cdiameter# + staff_space#,
+ staff_space#, staff_space#);
+
+ pickup pencircle scaled Cthickness;
+ draw fullcircle scaled Cdiameter;
+ draw_block((-Cthickness/2, -d), (Cthickness/2, h));
+fet_endchar;
+
+%% tempus imperfectum cum prolatione perfecta proportio dupla
+fet_beginchar ("Mensural 6/8 meter", "old6/8", "oldsixeightmeter")
+ set_char_box(.5 Cdiameter# + staff_space#, .5 Cdiameter# + staff_space#,
+ staff_space#, staff_space#);
+
+ pickup pencircle scaled Cthickness;
+ draw threequartercircle rotated 45 scaled Cdiameter;
+ pickup pencircle scaled 4 stafflinethickness;
+ draw (0,0);
+ draw_block((-Cthickness/2, -d), (Cthickness/2, h));
+fet_endchar;
+
+%% tempus perfectum cum prolatione perfecta proportio dupla
+fet_beginchar ("Mensural 9/8 meter", "old9/8", "oldnineeight")
+ set_char_box(.5 Cdiameter# + staff_space#, .5 Cdiameter# + staff_space#,
+ staff_space#, staff_space#);
+
+ pickup pencircle scaled Cthickness;
+ draw fullcircle scaled Cdiameter;
+ pickup pencircle scaled 4 stafflinethickness;
+ draw (0,0);
+ draw_block((-Cthickness/2, -d), (Cthickness/2, h));
+fet_endchar;
+
+%% tempus imperfectum cum prolatione imperfecta diminutio simplex
+fet_beginchar ("Mensural 4/8 meter", "old4/8", "oldfoureightmeter")
+ set_char_box(.5 Cdiameter# + staff_space#, .5 Cdiameter# + staff_space#,
+ .5 Cdiameter#, .5 Cdiameter#);
+
+ pickup pencircle scaled Cthickness;
+ draw threequartercircle rotated 225 scaled Cdiameter;
+fet_endchar;
+
+%% tempus imperfectum cum prolatione perfecta diminutio simplex
+fet_beginchar ("Mensural 6/8 meter", "old6/8alt", "oldsixeightmeteralt")
+ set_char_box(.5 Cdiameter# + staff_space#, .5 Cdiameter# + staff_space#,
+ .5 Cdiameter#, .5 Cdiameter#);
+
+ pickup pencircle scaled Cthickness;
+ draw threequartercircle rotated 225 scaled Cdiameter;
+ pickup pencircle scaled 4 stafflinethickness;
+ draw (0,0);
+fet_endchar;
+
+%% tempus imperfectum cum prolatione imperfecta diminutio duplex
+fet_beginchar ("Mensural 2/4 meter", "old2/4", "oldtwofourmeter")
+ set_char_box(.5 Cdiameter# + staff_space#, .5 Cdiameter# + staff_space#,
+ staff_space#, staff_space#);
+
+ pickup pencircle scaled Cthickness;
+ draw threequartercircle rotated 225 scaled Cdiameter;
+ draw_block((-Cthickness, -d), (0, h));
+fet_endchar;
+
+fet_endgroup("timesig");
--- /dev/null
+% feta20.mf
+% part of LilyPond's pretty-but-neat music font
+
+staffsize#:=20pt#;
+
+input feta-autometric;
+fet_beginfont("feta", 20);
+
+% AFBLIJVEN! Gebruik feta-test16/20, anders verneuk je de distributie.
+test := 0;
+
+input parmesan-generic;
+
+fet_endfont("feta");
+
+end.
+
("clefs-C" . 0)
("clefs-F" . 4)
("clefs-percussion" . 0)
+ ("clefs-tab" . 0 )
("clefs-vaticana_do" . 0)
("clefs-vaticana_fa" . 4)
("clefs-medicaea_do" . 0)
((transparent) '(1.0 . 1.0))
((slash) '(1.0 . 1.0))
((harmonic) '(1.0 0.0))
+ ((triangle) '(0.75 . 0.15))
(else
'(1.0 . 0.0)
)))
http://www.gre.ac.uk/~c.walshaw/abc2mtex/abc.txt) To LilyPond input.
-Report bugs to bug-gnu-music@gnu.org
+Report bugs to bug-lilypond@gnu.org
Written by Han-Wen Nienhuys <hanwen@cs.uu.nl>, Laura Conrad
<lconrad@laymusic.org>, Roy Rankin <Roy.Rankin@@alcatel.com.au>
Finale product. This program will convert a subset of ETF to a
ready-to-use lilypond file.
-Report bugs to bug-gnu-music@gnu.org
+Report bugs to bug-lilypond@gnu.org
Written by Han-Wen Nienhuys <hanwen@cs.uu.nl>
""")
-Report bugs to bug-gnu-music@gnu.org.
+Report bugs to bug-lilypond@gnu.org.
Written by Tom Cato Amundsen <tca@gnu.org> and
Han-Wen Nienhuys <hanwen@cs.uu.nl>
def warranty ():
identify ()
sys.stdout.write ('\n')
- sys.stdout.write (_ ('Copyright (c) %s by' % ' 2001'))
+ sys.stdout.write (_ ('Copyright (c) %s by' % ' 2001--2002'))
sys.stdout.write ('\n')
sys.stdout.write (' Han-Wen Nienhuys')
sys.stdout.write (' Jan Nieuwenhuizen')
def warranty ():
identify ()
sys.stdout.write ('\n')
- sys.stdout.write (_ ('Copyright (c) %s by' % ' 2001'))
+ sys.stdout.write (_ ('Copyright (c) %s by' % ' 2001--2002'))
sys.stdout.write ('\n')
sys.stdout.write (' Han-Wen Nienhuys')
sys.stdout.write (' Jan Nieuwenhuizen')
musedata2ly converts a set of musedata files to one .ly file, and will
include a \header field if a .ref file is supplied
-Report bugs to bug-gnu-music@gnu.org.
+Report bugs to bug-lilypond@gnu.org.
Written by Han-Wen Nienhuys <hanwen@cs.uu.nl>
""")
and you are welcome to change it and/or distribute copies of it under
certain conditions. Invoke as `midi2ly --warranty' for more information.
-Copyright (c) 2000 by Han-Wen Nienhuys <hanwen@cs.uu.nl>
+Copyright (c) 2000--2002 by Han-Wen Nienhuys <hanwen@cs.uu.nl>
""" % version)
def identify():
sys.stderr.write ("%s from LilyPond %s\n" % (program_name, version))
PMX is a Musixtex preprocessor written by Don Simons, see
http://www.gmd.de/Misc/Music/musixtex/software/pmx/
-Report bugs to bug-gnu-music@gnu.org.
+Report bugs to bug-lilypond@gnu.org.
Written by Han-Wen Nienhuys <hanwen@cs.uu.nl>
""")
and you are welcome to change it and/or distribute copies of it under
certain conditions. Invoke as `midi2ly --warranty' for more information.
-Copyright (c) 2000 by Han-Wen Nienhuys <hanwen@cs.uu.nl>
+Copyright (c) 2000--2002 by Han-Wen Nienhuys <hanwen@cs.uu.nl>
""" % version)
def identify():
sys.stderr.write ("%s from LilyPond %s\n" % (program_name, version))
def warranty ():
identify ()
sys.stdout.write ('\n')
- sys.stdout.write (_ ('Copyright (c) %s by' % ' 2001'))
+ sys.stdout.write (_ ('Copyright (c) %s by' % ' 2001--2002'))
sys.stdout.write ('\n')
sys.stdout.write (' Han-Wen Nienhuys')
sys.stdout.write (' Jan Nieuwenhuizen')