+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.
+
+ * input/bugs/spacing-clash.ly: New file.
+
+2002-01-29 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * po: regenerate.
+
+2002-1-24 Chris Jackson <chris@fluffhouse.org.uk>
+
+ * lilypond-indent.el: New file providing indentation for
+ parenthesised blocks of lilypond code in Emacs
+
+ * lilypond-font-lock.el: Changes to the syntax table to facilitate
+ indentation and handle block comments properly. Distinguish
+ accents from close-brackets in fontification.
+
+ * lilypond-mode.el: LilyPond-indent-command set appropriately.
+
+2002-01-22 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * Documentation/windows/installing.texi:
+ * Documentation/windows/compiling.texi: Include from 1.4.10.
+
+ * Documentation/windows/gs-profile.sh: previously lily-gs.sh
+
+ * input/bugs/first-midi-tie.ly: New file.
+
2001-12-29 Han-Wen <hanwen@cs.uu.nl>
* VERSION: 1.5.28 released
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"
% 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;
%
% 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
+% -*-Fundamental-*-
+% feta-bolletjes.mf -- implement noteheads
+%
+% source file of LilyPond's pretty-but-neat music font
+%
+% (c) 1997--2002 Jan Nieuwenhuizen <janneke@gnu.org>
+% & Han-Wen Nienhuys <hanwen@cs.uu.nl>
+% & Juergen Reuter <reuter@ipd.uka.de>
+%
+
+
+% most beautiful noteheads are pronounced, not circular,
+% and not even symmetric.
+% These examples are inspired by [Wanske], see literature list
+
+
+save black_notehead_width;
+numeric black_notehead_width;
+
+fet_begingroup("noteheads");
+
+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;
+
+%
+% 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;
+
+
+%%%%%%%%
+%
+%
+%
+% EDITIO VATICANA (including solesmes extensions)
+%
+%
+%
+
+% parameterized punctum
+def punctum_char (expr verbose_name, internal_name, mudela_name,
+ left_stem, right_stem, linea, cavum,
+ straight, auctum, direction_up, 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.50wd#, 0.10wd#, 0.5ht#, 0);
+ black_notehead_width# := wd#;
+
+ % direction
+ save direction, direction_sign;
+ pair direction;
+ if direction_up:
+ direction = up;
+ direction_sign# = 1;
+ else:
+ direction = down;
+ direction_sign# = -1;
+ fi;
+
+ % convexity and excentricity
+ save u_convexity, u_excentricity;
+ if straight:
+ u_convexity# = -0.01ht#;
+ u_excentricity# = 0.0ht#; % dummy
+ elseif auctum:
+ u_convexity# = -0.03ht#;
+ u_excentricity# = +0.25ht#;
+ else:
+ u_convexity# = -0.05ht#;
+ u_excentricity# = 0.0ht#; % dummy
+ fi;
+ save convexity, excentricity;
+ convexity# = direction_sign# * u_convexity#;
+ excentricity# = direction_sign# * u_excentricity#;
+
+ % y shift offset
+ save yoffs;
+ if up_shift:
+ yoffs# = 0.08ht#;
+ else:
+ yoffs# = 0.00ht#;
+ fi
+
+ define_pixels(convexity, excentricity, yoffs, ht, wd);
+ pickup pencircle scaled stafflinethickness;
+
+ path p;
+ save height, yoffs_bt;
+ define_pixels (height, yoffs_bt);
+ height# = max (0.5ht# - stafflinethickness#, 0);
+ yoffs_bt# = yoffs# - (height# - stafflinethickness#)/2 -
+ convexity#;
+ xpart z1a = xpart z1b;
+ xpart z2a = xpart z2b;
+ xpart z3a = xpart z3b;
+ ypart z1a + height = ypart z1b;
+ ypart z2a + height = ypart z2b;
+ ypart z3a + height = ypart z3b;
+
+ if auctum:
+ z1a = (0.00wd + stafflinethickness/2, yoffs_bt);
+ z2a = (0.20wd, yoffs_bt + 1.0*convexity);
+ z3a = (0.40wd - stafflinethickness/2,
+ yoffs_bt + 1.0*excentricity);
+ p = z1a .. {right}z2a .. {direction}z3a --
+ z3b{-direction} .. z2b{left} .. z1b -- cycle;
+ elseif excentric:
+ z1a = (0.00wd + stafflinethickness/2,
+ yoffs_bt - 1.0*convexity);
+ z2a = (0.08wd, yoffs_bt + 1.4*convexity);
+ z3a = (0.40wd - stafflinethickness/2, yoffs_bt);
+ p = z1a{direction} .. z2a{right} .. z3a --
+ z3b .. {left}z2b .. {-direction}z1b -- cycle;
+ else:
+ z1a = (0.00wd + stafflinethickness/2, yoffs_bt);
+ z2a = (0.20wd, yoffs_bt + 1.0*convexity);
+ z3a = (0.40wd - stafflinethickness/2, yoffs_bt);
+ p = z1a .. z2a .. z3a --
+ z3b .. z2b .. z1b -- cycle;
+ fi;
+
+ if cavum:
+ draw p;
+ else:
+ filldraw p;
+ fi;
+
+
+ pickup pencircle scaled stafflinethickness;
+
+ if left_stem:
+ z5=(0.00wd + stafflinethickness/2, yoffs);
+ z6=(0.00wd + stafflinethickness/2, yoffs - 1.5ht);
+ draw z5 -- z6;
+ fi;
+
+ if right_stem:
+ z5=(0.40wd - stafflinethickness/2, yoffs);
+ z6=(0.40wd - stafflinethickness/2, yoffs - 1.5ht);
+ draw z5 -- z6;
+ fi;
+
+ if linea:
+ save linea_width, linea_height;
+ linea_width# = stafflinethickness#;
+ linea_height# = 0.85 ht#;
+ define_pixels (linea_width, linea_height);
+ draw_block ((-0.10wd - linea_width/2,
+ yoffs - linea_height/2),
+ (-0.10wd + linea_width/2,
+ yoffs + linea_height/2));
+ draw_block ((+0.50wd - linea_width/2,
+ yoffs - linea_height/2),
+ (+0.50wd + linea_width/2,
+ yoffs + linea_height/2));
+ fi;
+ fet_endchar;
+enddef;
+
+% parameterized punctum inclinatum
+def inclinatum_char(expr verbose_name, internal_name, mudela_name,
+ small, stropha, auctum) =
+
+ 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(0.3wd#, 0.3wd#, 0.5 ht#, 0.5 ht#);
+ black_notehead_width# := wd#;
+
+ save za, alpha, size;
+ pair za;
+ alpha = 35;
+ define_pixels(ht, wd);
+
+ if small:
+ size# = 0.23ht#;
+ else:
+ size# = 0.45ht#;
+ fi;
+
+ define_pixels(size);
+
+ pickup pencircle
+ xscaled blot_diameter
+ yscaled size rotated -alpha;
+ za = (0, size - blot_diameter/2) / 2 rotated alpha;
+ draw -za .. za;
+
+ if stropha:
+ pickup pencircle
+ xscaled (size/3)
+ yscaled size rotated alpha;
+ save za, off_angle; pair za;
+ off_angle := 15;
+ za = (0, -size) / 2 rotated -(alpha + off_angle);
+ undraw za;
+ fi;
+
+ if auctum:
+ pickup pencircle scaled stafflinethickness;
+ save za, zb;
+ pair za, zb;
+ za = ((0, -size) rotated -alpha) +
+ (0, stafflinethickness/2);
+ xpart zb = 0;
+ ypart zb = ypart za;
+ draw za{(0,-1) rotated alpha} ..
+ {(0,1) rotated -alpha}zb;
+ fi;
+ fet_endchar;
+enddef;
+
+% punctum
+punctum_char("Ed. Vat. punctum", "0vaticana_punctum", "vatpunctumhead",
+ false, false, false, false, false,
+ false, false, false, false, 1.0);
+
+% punctum cavum (for OpusTeX compatibility)
+%punctum_char("Ed. Vat. punctum cavum", "0vaticana_punctum_cavum",
+% "vatpunctumcavumhead",
+% false, false, false, true, false,
+% false, false, false, false, 1.0);
+
+% linea punctum (for OpusTeX compatibility)
+%punctum_char("Ed. Vat. linea punctum", "0vaticana_linea_punctum",
+% "vatlineapunctumhead",
+% false, false, true, false, false,
+% false, false, false, false, 1.0);
+
+% linea punctum cavum (for OpusTeX compatibility)
+%punctum_char("Ed. Vat. linea punctum cavum", "0vaticana_linea_punctum_cavum",
+% "vatlineapunctumcavumhead",
+% false, false, true, true, false,
+% false, false, false, false, 1.0);
+
+% punctum inclinatum
+inclinatum_char("Ed. Vat. inclinatum", "0vaticana_inclinatum",
+ "vatinclinatumhead",
+ false, false, false);
+
+% virga (i.e. right stemmed punctum)
+punctum_char("Ed. Vat. virga", "0vaticana_virga", "vatvirgahead",
+ false, true, false, false, false,
+ 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, false, false, false, 1.0);
+
+% pes lower punctum
+punctum_char("Ed. Vat. pes lower punctum", "0vaticana_lpes", "vatlpeshead",
+ false, false, false, false, true,
+ false, true, false, false, 1.0);
+
+% pes upper punctum
+punctum_char("Ed. Vat. pes upper punctum", "0vaticana_upes", "vatupeshead",
+ false, false, false, false, true,
+ false, 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, false, false, true,
+ false, false, false, true, 1.0);
+
+% small punctum as used in epiphonus/cephalicus
+punctum_char("Ed. Vat. plica", "0vaticana_plica", "vatplicahead",
+ false, false, false, false, true,
+ false, false, false, false, 0.5);
+
+% excentric punctum as used in epiphonus
+punctum_char("Ed. Vat. epiphonus", "0vaticana_epiphonus", "vatepiphonushead",
+ false, false, false, 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, 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.4wd#, 0.00wd#, 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.11ht);
+ z2 = (0.00wd, +0.06ht);
+ z3 = (0.10wd, -0.05ht);
+ z4 = (0.16wd, +0.11ht);
+ z5 = (0.24wd, -0.01ht);
+ z6 = (0.30wd, +0.15ht);
+ z7 = (0.40wd, +0.04ht);
+ z8 = (0.40wd, +0.21ht);
+ draw z1 -- z2 -- z3 -- z4 -- z5 -- z6 -- z7 -- z8;
+fet_endchar;
+
+% solesmes punctum inclinatum parvum
+%inclinatum_char("Solesmes punctum inclinatum parvum", "0solesmes_incl_parvum",
+% "solinclparvumhead",
+% true, false, false);
+
+% solesmes punctum auctum ascendens
+%punctum_char("Solesmes punctum auctum ascendens", "0solesmes_auct_asc",
+% "solauctaschead",
+% false, false, false, false, false,
+% true, true, false, false, 1.0);
+
+% solesmes punctum auctum descendens
+%punctum_char("Solesmes punctum auctum descendens", "0solesmes_auct_desc",
+% "solauctdeschead",
+% false, false, false, false, false,
+% true, false, false, false, 1.0);
+
+% solesmes punctum inclinatum auctum
+%inclinatum_char("Solesmes punctum incl. auctum", "0solesmes_incl_auctum",
+% "solpunctuminclinatumauctumhead",
+% false, false, true);
+
+% solesmes stropha
+%inclinatum_char("Solesmes stropha", "0solesmes_stropha",
+% "solstrophahead",
+% false, true, false);
+
+% solesmes stropha aucta
+%inclinatum_char("Solesmes stropha aucta", "0solesmes_stropha_aucta",
+% "solstrophaauctahead",
+% false, true, true);
+
+% solesmes oriscus
+fet_beginchar("Solesmes oriscus", "0solesmes_oriscus",
+ "soloriscushead")
+ 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.5wd#, 0.0wd#, 0.5ht#, 0.5ht#);
+ black_notehead_width# := wd#;
+
+ save convexity;
+ convexity# = +0.05ht#;
+
+ define_pixels(ht, wd, convexity);
+ pickup pencircle xscaled blot_diameter yscaled 0.50ht;
+ z1 = (0.00wd, -convexity);
+ z2 = (0.16wd, +convexity);
+ z3 = (0.33wd, -convexity);
+ z4 = (0.50wd, +convexity);
+ draw z1 .. z2 .. z3 .. z4;
+fet_endchar;
+
+%%%%%%%%
+%
+%
+%
+% EDITIO MEDICAEA
+%
+%
+%
+
+% inclinatum
+fet_beginchar("Ed. Med. inclinatum", "0medicaea_inclinatum",
+ "medinclinatumhead")
+ 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, alpha, size;
+ pair za;
+ define_pixels(ht, wd);
+ alpha = 35;
+ size = 0.7ht;
+ pickup pencircle
+ xscaled blot_diameter
+ 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_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
+ xscaled blot_diameter
+ yscaled 0.50ht;
+ z1 = (0.00wd + blot_diameter/2, 0);
+ z2 = (0.40wd - blot_diameter/2, 0);
+ draw z1 .. z2;
+
+ pickup pencircle
+ xscaled stafflinethickness
+ yscaled blot_diameter;
+
+ if left_down_stem:
+ z4=(0.00wd + stafflinethickness/2, blot_diameter/2);
+ z5=(0.00wd + stafflinethickness/2, - 1.25ht);
+ draw z4 .. z5;
+ elseif left_up_stem:
+ z4=(0.00wd + stafflinethickness/2, blot_diameter/2);
+ z5=(0.00wd + stafflinethickness/2, + 1.25ht);
+ draw z4 .. z5;
+ 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 blot_diameter
+ 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 blot_diameter
+ yscaled size rotated -alpha;
+ za = (size, 0);
+ draw -za .. za;
+fet_endchar;
+
+fet_endgroup("noteheads");
+define_pixels(black_notehead_width);
--- /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.
+
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')