+2002-02-21 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
+ * scm/font.scm: remove font-name symbol.
+
+ * mf/GNUmakefile: use pktrace for making PFAs
+
+ * make/lilypond.redhat.spec.in: use pktrace when making specs
+
+ * lily/rest-collision.cc (do_shift): read direction field from
+ rest-column in case of note-rest collision. This should fix some
+ problems with rest collisions.
+
+2002-02-19 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
+ * lily/note-heads-engraver.cc (process_music): Removed easyPlay
+ property.
+
+ * lily/note-head.cc (brew_ez_molecule): Remove note-character
+ property. Read pitch directly from #'cause.
+
+ * mf/feta-puntje.mf: bugfix
+
+2002-02-19 Juergen Reuter <reuter@ipd.uka.de>
+
+ * mf/*.mf: tried to fix ancient-font.ly. WARNING: Font changed.
+
2002-02-18 Jan Nieuwenhuizen <janneke@gnu.org>
* Documentation/windows/compiling.texi: Update.
@section Windows binary setup
-All the software you need is installed by downloading and running
+If you run Windows NT, 2000 or XP, please become administrator first
+(currently, installing as an ordinary user will not work). All the
+software you need is installed by downloading and running
@uref{http://www.lilypond.org/gnu-windows/setup.exe, setup.exe}. You
will be asked some questions. If you are unsure just click "Next". Do
not change the default install directory @file{c:/cygwin}.
2.95.2 or newer. Check out the gcc site
(ftp://ftp.gnu.org/gnu/gcc/).
- * Python (version 1.5 or newer; not 2.1.x) Check out the python
- website (http://www.python.org).
+ * Python (version 1.5 or newer). Check out the python website
+ (http://www.python.org).
- * GUILE 1.4 or newer, check out the GUILE webpage
+ * GUILE (version 1.4 or newer). Check out the GUILE webpage
(http://www.gnu.org/software/guile/guile.html). Version 1.4 is
recommended for better performance.
PACKAGE_NAME=LilyPond
MAJOR_VERSION=1
MINOR_VERSION=5
-PATCH_LEVEL=31
-MY_PATCH_LEVEL=jcn1
+PATCH_LEVEL=32
+MY_PATCH_LEVEL=
# use the above to send patches: MY_PATCH_LEVEL is always empty for a
# released version.
global = \notes {
\property Score.timing = ##f
% \property Score.forceAccidental = ##t
-% \property Staff.TimeSignature \override #'style = #'old
+ \property Staff.TimeSignature \set #'font-family = #'ancient
+% \property Staff.TimeSignature \override #'style = #'mensural
}
upperVoice = \context Staff = upperVoice <
#'line-count = #4
\notes \transpose c' {
+ \property Staff.Clef \set #'font-family = #'ancient
\property Staff.KeySignature \override #'style = #'vaticana
\property Staff.Accidentals \override #'style = #'vaticana
+ \property Staff.Custos \set #'font-family = #'ancient
\property Staff.Custos \override #'style = #'vaticana
+ \property Voice.NoteHead \set #'font-family = #'ancient
\property Voice.NoteHead \override #'style = #'vaticana_punctum
\property Voice.Porrectus \override #'style = #'vaticana
\property Voice.Porrectus \override #'solid = ##t
\notes \transpose c' {
\property Voice.noAutoBeaming = ##t
+ \property Staff.Clef \set #'font-family = #'ancient
\property Staff.KeySignature \override #'style = #'mensural
\property Staff.Accidentals \override #'style = #'mensural
+ \property Staff.Custos \set #'font-family = #'ancient
\property Staff.Custos \override #'style = #'mensural
+ \property Voice.NoteHead \set #'font-family = #'ancient
\property Voice.NoteHead \override #'style = #'neo_mensural
+ \property Voice.Stem \set #'font-family = #'ancient % ancient flags
+ \property Voice.Rest \set #'font-family = #'music
\property Voice.Rest \override #'style = #'neo_mensural
\property Voice.Porrectus \override #'style = #'mensural
\property Voice.Porrectus \override #'solid = ##f
\clef "mensural_c2"
r\breve r1 r2
\clef "mensural_g"
- r4 r8 r16 r32 r32 \bar "|"
+ r4 r8 r16 r16 \bar "|"
\property Voice.NoteHead \override #'style = #'mensural
\property Voice.Stem \override #'style = #'mensural
\property Voice.Stem \override #'thickness = #1.0
+ \property Voice.Rest \set #'font-family = #'ancient
\property Voice.Rest \override #'style = #'mensural
\clef "petrucci_f"
c8 b, c16 b, c32 b, c64 b, c b,
pos += gh_scm2int (c0);
note_p->set_grob_property ("staff-position", gh_int2scm (pos));
- if (to_boolean (get_property ("easyPlay")))
- {
- char s[2] = "a";
- s[0] = (pit->notename_i_ + 2)%7 + 'a';
-
- s[0] = toupper (s[0]);
- note_p->set_grob_property ("note-character", ly_str02scm (s));
- }
-
announce_grob (note_p,req->self_scm ());
note_p_arr_.push (note_p);
}
break long notes and automatically tie them into the next measure.",
/* creats*/ "NoteHead Dots",
/* acks */ "",
-/* reads */ "easyPlay centralCPosition measurePosition measureLength",
+/* reads */ "centralCPosition measurePosition measureLength",
/* write */ "");
(c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include <math.h>
+#include <ctype.h>
#include "misc.hh"
#include "dots.hh"
/*
Note_head contains the code for printing note heads.
-
-
Ledger lines:
It also contains the ledger lines, for historical reasons. Ledger
- when ledgered notes are juxtaposed: there should be some white
space between the ledger lines.
- - when accidentals are near: the accidentals should not be on the ledger lines
+ - when accidentals are near: the accidentals should not be on the
+ ledger lines
[both tips by Heinz Stolba from Universal Edition].
- for basically everything else, e.g. swapping ledgered notes on
clustered chords, spacing between ledgered and unledgered notes.
-
TODO: fix this. It is not feasible to have a special grob for
ledgers, since you basically don't know if there will be ledgers,
(Besides a separate ledger seems overkill. For what else would
it be useful?)
-
-
*/
MAKE_SCHEME_CALLBACK (Note_head,brew_ez_molecule,1);
-/*
- TODO: ledger lines are causing a mess again, now with accidentals and
- ez-note heads.
- */
SCM
Note_head::brew_ez_molecule (SCM smob)
{
int l = Rhythmic_head::balltype_i (me);
int b = (l >= 2);
+
+ SCM cause = me->get_grob_property ("cause");
+ SCM spitch = unsmob_music (cause)->get_mus_property ("pitch");
+ Pitch* pit = unsmob_pitch (spitch);
+
+ char s[2] = "a";
+ s[0] = (pit->notename_i_ + 2)%7 + 'a';
+ s[0] = toupper (s[0]);
+
+ SCM charstr = ly_str02scm (s);
+
SCM at = scm_list_n (ly_symbol2scm ("ez-ball"),
- me->get_grob_property ("note-character"),
- gh_int2scm (b),
- gh_int2scm (1-b),
- SCM_UNDEFINED);
+ charstr,
+ gh_int2scm (b),
+ gh_int2scm (1-b),
+ SCM_UNDEFINED);
Box bx (Interval (0, 1.0), Interval (-0.5, 0.5));
Molecule m (bx, at);
int p = (int) rint (Staff_symbol_referencer::position_f (me));
pos += gh_scm2int (c0);
note_p->set_grob_property ("staff-position", gh_int2scm (pos));
- if (to_boolean (get_property ("easyPlay")))
- {
- char s[2] = "a";
- s[0] = (pit->notename_i_ + 2)%7 + 'a';
-
- s[0] = toupper (s[0]);
- note_p->set_grob_property ("note-character", ly_str02scm (s));
- }
-
announce_grob (note_p,req->self_scm());
note_p_arr_.push (note_p);
}
/* descr */ "Generate one or more noteheads from Music of type Note_req.",
/* creats*/ "NoteHead Dots",
/* acks */ "",
-/* reads */ "easyPlay centralCPosition",
+/* reads */ "centralCPosition",
/* write */ "");
{
warning (_ ("too many colliding rests"));
}
- if (notes.size () > 1)
- {
- warning (_ ("too many notes for rest collision"));
- }
Grob * rcol = rests[0];
-
- // try to be opposite of noteheads.
- Direction dir = - Note_column::dir (notes[0]);
-
+ Direction dir = Note_column::dir (rests[0]);
+
Grob * r = unsmob_grob (rcol->get_grob_property ("rest"));
Interval restdim = r->extent (r, Y_AXIS); // ??
if (restdim.empty_b ())
return SCM_UNSPECIFIED;
- // FIXME: staff ref'd?
- Real staff_space = 1.0;
+
+ Real staff_space = Staff_symbol_referencer::staff_space (rcol);
Real minimum_dist = gh_scm2double (me->get_grob_property ("minimum-distance")) * staff_space;
-
- /*
- assumption: ref points are the same.
- */
+
+
+ Grob *common = rcol;
+ for (int i = 0; i < notes.size (); i++)
+ common = common->common_refpoint (notes[i], Y_AXIS);
+
Interval notedim;
for (int i = 0; i < notes.size (); i++)
{
- Grob * stem = Note_column::stem_l (notes[i]);
- Grob * head = Stem::first_head (stem);
- notedim.unite (head->extent (commony, Y_AXIS));
+ notedim.unite (notes[i]->extent (common, Y_AXIS));
}
Interval inter (notedim);
Real dist =
minimum_dist + dir * (notedim[dir] - restdim[-dir]) >? 0;
-
- // FIXME
- //int stafflines = 5; // rcol->rests[0]->line_count;
int stafflines = Staff_symbol_referencer::line_count (me);
- // hurg?
- stafflines = stafflines != 0 ? stafflines : 5;
+ if (!stafflines)
+ {
+ programming_error ("No staff line count ? ");
+ stafflines =5;
+ }
// move discretely by half spaces.
int discrete_dist = int (ceil (dist / (0.5 *staff_space)));
me->set_extent_callback (SCM_EOL, Y_AXIS);
}
+
+
EasyNotation = \translator {
\ScoreContext
NoteHead \override #'molecule-callback = #Note_head::brew_ez_molecule
- easyPlay = ##t
}
% retain for compatibility reasons (FIXME: convert-ly)
+# -*- rpm-spec-mode -*-
+
%define info yes
Name: lilypond
Summary: Create and print music notation
URL: http://www.lilypond.org/
BuildRoot: /tmp/lilypond-install
+
# add lots of Buildreq: flex, bison, tetex, tetex-devel, tetex-latex, texinfo
# better prereqs: tetex-latex, python, (mpost?) etc.
-Prereq: tetex
-
+Prereq: tetex t1utils bison flex pktrace texinfo tetex-latex gcc-c++ python
%description
LilyPond lets you create music notation. It produces
./configure --disable-checking --prefix=%{_prefix} --enable-optimise
-make all
+make MAKE_PFA_FILES=1 all
# make info
make -C Documentation
mkdir -p $RPM_BUILD_ROOT/tmp/lilypond-rpm-doc
strip lily/out/lilypond
-make prefix="$RPM_BUILD_ROOT%{_prefix}" install
+make prefix="$RPM_BUILD_ROOT%{_prefix}" MAKE_PFA_FILES=1 install
%if info=="yes"
gzip -9fn $RPM_BUILD_ROOT%{_prefix}/info/*
Begin3
Title: LilyPond
-Version: 1.5.31
-Entered-date: 18FEB02
+Version: 1.5.32
+Entered-date: 21FEB02
Description: @BLURB@
Keywords: music notation typesetting midi fonts engraving
Author: hanwen@cs.uu.nl (Han-Wen Nienhuys)
janneke@gnu.org (Jan Nieuwenhuizen)
Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert
- 1000k lilypond-1.5.31.tar.gz
+ 1000k lilypond-1.5.32.tar.gz
Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
- 1000k lilypond-1.5.31.tar.gz
+ 1000k lilypond-1.5.32.tar.gz
Copying-policy: GPL
End
%define name lilypond
-%define version 1.5.31
+%define version 1.5.32
%define release 1mdk
Name: %{name}
+# -*- rpm-spec-mode -*-
+
%define info yes
Name: lilypond
-Version: 1.5.31
+Version: 1.5.32
Release: 1
License: GPL
Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.5.31.tar.gz
+Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.5.32.tar.gz
Summary: Create and print music notation
URL: http://www.lilypond.org/
BuildRoot: /tmp/lilypond-install
+
# add lots of Buildreq: flex, bison, tetex, tetex-devel, tetex-latex, texinfo
# better prereqs: tetex-latex, python, (mpost?) etc.
-Prereq: tetex
-
+Prereq: tetex t1utils bison flex pktrace texinfo tetex-latex gcc-c++ python
%description
LilyPond lets you create music notation. It produces
./configure --disable-checking --prefix=%{_prefix} --enable-optimise
-make all
+make MAKE_PFA_FILES=1 all
# make info
make -C Documentation
mkdir -p $RPM_BUILD_ROOT/tmp/lilypond-rpm-doc
strip lily/out/lilypond
-make prefix="$RPM_BUILD_ROOT%{_prefix}" install
+make prefix="$RPM_BUILD_ROOT%{_prefix}" MAKE_PFA_FILES=1 install
%if info=="yes"
gzip -9fn $RPM_BUILD_ROOT%{_prefix}/info/*
Distribution: SuSE Linux 7.0 (i386)
Name: lilypond
-Version: 1.5.31
+Version: 1.5.32
Release: 2
Copyright: GPL
Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.5.31.tar.gz
+Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.5.32.tar.gz
# music notation software for.. ?
Summary: A program for printing sheet music.
URL: http://www.lilypond.org/
-$(GUILE) $(buildscript-dir)/tfm2oafm.scm `kpsewhich cmr10.tfm`
-mv $(@F) $@
-LOG_FILES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.log))
-TEXTABLES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.tex))
-AFM_FILES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.afm) $(AF_FILES:.af=.afm) $(addsuffix .afm, $(CM_AFM_FILES)))
+LOG_FILES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.log) $(PARMESAN_FILES:.mf=.log))
+TEXTABLES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.tex) $(PARMESAN_FILES:.mf=.tex))
+AFM_FILES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.afm) $(PARMESAN_FILES:.mf=.afm) $(AF_FILES:.af=.afm) $(addsuffix .afm, $(CM_AFM_FILES)))
TFM_FILES = $(addprefix $(outdir)/, $(FONT_FILES:.mf=.tfm))
-PFA_FILES = $(addprefix $(outdir)/, $(FONT_FILES:.mf=.pfa))
-PFB_FILES = $(addprefix $(outdir)/, $(FONT_FILES:.mf=.pfb))
# Make tfm files first, log files last,
INSTALLATION_OUT_DIR3=$(datadir)/tfm
INSTALLATION_OUT_FILES3=$(TFM_FILES)
-# comment these out if you don't want pfa's to be generated
-# or you don't have metapost.
+# comment this out if you don't want pfa's to be generated
+# making pfas takes a lot of CPU time. Let's skip it for now.
+#MAKE_PFA_FILES=1
+
+ifdef MAKE_PFA_FILES
+PFA_FILES = $(addprefix $(outdir)/, $(FONT_FILES:.mf=.pfa))
+ALL_GEN_FILES += $(PFA_FILES)
INSTALLATION_OUT_DIR4=$(datadir)/pfa
INSTALLATION_OUT_FILES4=$(PFA_FILES)
+pfa: $(PFA_FILES)
+endif
+
export MFINPUTS:=.:$(MFINPUTS)
default: $(ALL_GEN_FILES)
rm -f *.tfm *.log
-pfb: $(PFB_FILES)
(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;
+
fet_beginchar("16th (down)", "d4", "dsixteenthflag")
save flare,
hip_depth_ratio, hip_width,
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
+
fet_endgroup("rests")
define_whole_blacker_pixels(dot_radius);
fet_beginchar("duration dot","dot", "dot")
- pickup pencircle scaled dot_radius;
+ pickup pencircle scaled 2 dot_radius;
drawdot (dot_radius,0);
set_char_box(0, 2*dot_radius#, dot_radius#, dot_radius#);
fet_endchar;
+% -*-Fundamental-*-
+% parmesan-accidentals.mf -- implement ancient accidentals
+%
+% source file of LilyPond's pretty-but-neat music font
+%
+% (c) 2001--2002 Juergen Reuter <reuter@ipd.uka.de>
+%
+
+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")
-% feta-klef.mf -- implement Clefs -*-Fundamental-*-
+% -*-Fundamental-*-
+% parmesan-clefs.mf -- implement ancient clefs
%
-% part of LilyPond's pretty-but-neat music font
+% source file of LilyPond's pretty-but-neat music font
+%
+% (c) 2001--2002 Juergen Reuter <reuter@ipd.uka.de>
%
-% 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")
-fet_begingroup("clefs");
%%%%%%%%
%
fet_endchar;
-fet_endgroup("clefs");
+fet_endgroup ("clefs")
% -*-Fundamental-*-
-% feta-custodes.mf -- implement custos symbols
+% parmesan-custodes.mf -- implement ancient custodes
%
% source file of LilyPond's pretty-but-neat music font
%
-% (C) 2000, 2002 Juergen Reuter <reuter@ipd.uka.de>
+% (c) 2000--2002 Juergen Reuter <reuter@ipd.uka.de>
%
save black_notehead_width;
numeric black_notehead_width;
-fet_begingroup("custodes");
+fet_begingroup ("custodes")
noteheight#:=staff_space#+ (1 + overdone_heads) *stafflinethickness#;
define_pixels(noteheight);
%%%%%%%%
%
+%
% Hufnagel style
%
+%
% stem up
fet_beginchar("Custos Hufnagel", "hufnagel", "hufnagel")
draw z1 -- z2 -- z3 -- z4 -- z5 -- z6;
fet_endchar;
-fet_endgroup("custodes");
-define_pixels(black_notehead_width);
-
+fet_endgroup ("custodes")
-% 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.
+% -*-Fundamental-*-
+% parmesan-flags.mf -- implement ancient flags
+%
+% source file of LilyPond's pretty-but-neat music font
+%
+% (c) 2001--2002 Juergen Reuter <reuter@ipd.uka.de>
+%
-% 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)
-%
+fet_begingroup ("flags")
-save hip_thickness, foot_thickness;
-hip_thickness# = 1.3 stemthickness#;
-foot_thickness# = hip_thickness#;
%%%%%%%%
%
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");
+fet_endgroup ("flags")
-% -*-Fundamental-*-
-% feta-bolletjes.mf -- implement noteheads
+% -*-Fundamental-*-
+% parmesan-heads.mf -- implement ancient note heads
%
% 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>
+% (c) 2001--2002 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");
+fet_begingroup ("noteheads")
noteheight#:=staff_space#+ (1 + overdone_heads) *stafflinethickness#;
define_pixels(noteheight);
draw -za .. za;
fet_endchar;
-fet_endgroup("noteheads");
-define_pixels(black_notehead_width);
+fet_endgroup ("noteheads")
+% -*-Fundamental-*-
+% parmesan-rests.mf -- implement ancient rests
%
-% feta-toevallig.mf -- implement Accidentals
+% source file of LilyPond's pretty-but-neat music font
%
-% source file of the Feta (Font-En-Tja) music font
+% (c) 2001--2002 Juergen Reuter <reuter@ipd.uka.de>
%
-% (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-%
-
-fet_begingroup("accidentals");
+fet_begingroup("rests")
%%%%%%%%
%
%
%
-% EDITIO MEDICAEA
+% MENSURAL NOTATION
%
%
%
-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;
+pen_width# = 2/5 staff_space#;
+pen_height# = 0;
+pen_rotation = 30;
+slight_pen_rotation = 15;
- save za, zb;
- pair za, zb;
+mens_block_rest_y# = 1/1 staff_space#;
+mens_half_block_rest_y# = 5/8 staff_space#;
- za = (0.00 staff_space, +0.90 staff_space);
- zb = (0.00 staff_space, -0.50 staff_space);
- draw za -- zb;
+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 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)};
+ 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;
- fet_endchar;
+mensrestsize# = .8staff_space#;
-%%%%%%%%
-%
-%
-%
-% 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;
+fet_beginchar("Mensural 4th rest","2mensural","menssemiminimarest")
+ set_char_box(0,mensrestsize#,0,mensrestsize#);
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;
+ 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 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;
+ 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 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")
+ 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")
+% -*-Fundamental-*-
+% parmesan-timesig.mf -- implement ancient time signatures
%
-% feta-timesig.mf -- implement Time Signatures
-%
-% source file of the Feta (not an abbreviation of Font-En-Tja) music font
+% source file of LilyPond's pretty-but-neat music font
%
% (c) 1998--2002 Mats Bengtsson <matsb@s3.kth.se>,
% Christian Mondrup <scancm@biobase.dk>
-fet_begingroup("timesig");
+fet_begingroup ("timesig")
path threequartercircle;
threequartercircle = halfcircle & quartercircle rotated 180;
Cthickness# := 2 stafflinethickness#;
define_pixels(Cdiameter,Cthickness);
+
+%%%%%%%%
+%
+%
+%
+% MENSURAL NOTATION
+%
+%
+%
+
%% 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#,
draw_block((-Cthickness, -d), (0, h));
fet_endchar;
-fet_endgroup("timesig");
+fet_endgroup ("timesig")
--- /dev/null
+% parmesan11.mf
+% part of LilyPond's pretty-but-neat music font
+
+staffsize#:=11pt#;
+
+input feta-autometric;
+fet_beginfont("parmesan", 11);
+
+test := 0;
+
+input parmesan-generic;
+
+fet_endfont("parmesan");
+
+end.
+
--- /dev/null
+% parmesan13.mf
+% part of LilyPond's pretty-but-neat music font
+
+staffsize#:=13pt#;
+
+input feta-autometric;
+fet_beginfont("parmesan", 13);
+
+test := 0;
+
+input parmesan-generic;
+
+fet_endfont("parmesan");
+
+end.
+
--- /dev/null
+% parmesan16.mf
+% part of LilyPond's pretty-but-neat music font
+
+staffsize#:=16pt#;
+
+input feta-autometric;
+fet_beginfont("parmesan", 16);
+
+test := 0;
+
+input parmesan-generic;
+
+fet_endfont("parmesan");
+
+end.
+
--- /dev/null
+% parmesan19.mf
+% part of LilyPond's pretty-but-neat music font
+
+staffsize#:=19pt#;
+
+input feta-autometric;
+fet_beginfont("parmesan", 19);
+
+test := 0;
+
+input parmesan-generic;
+
+fet_endfont("parmesan");
+
+end.
+
-% feta20.mf
+% parmesan20.mf
% part of LilyPond's pretty-but-neat music font
staffsize#:=20pt#;
input feta-autometric;
-fet_beginfont("feta", 20);
+fet_beginfont("parmesan", 20);
-% AFBLIJVEN! Gebruik feta-test16/20, anders verneuk je de distributie.
test := 0;
input parmesan-generic;
-fet_endfont("feta");
+fet_endfont("parmesan");
end.
--- /dev/null
+% parmesan23.mf
+% part of LilyPond's pretty-but-neat music font
+
+staffsize#:=23pt#;
+
+input feta-autometric;
+fet_beginfont("parmesan", 23);
+
+test := 0;
+
+input parmesan-generic;
+
+fet_endfont("parmesan");
+
+end.
+
--- /dev/null
+% parmesan26.mf
+% part of LilyPond's pretty-but-neat music font
+
+staffsize#:=26pt#;
+
+input feta-autometric;
+fet_beginfont("parmesan", 26);
+
+test := 0;
+
+input parmesan-generic;
+
+fet_endfont("parmesan");
+
+end.
+
((eq? name 'font-series) 1)
((eq? name 'font-shape) 2)
((eq? name 'font-family) 3)
- ((eq? name 'font-name) 4)
- ((eq? name 'font-design-size) 5)
+ ((eq? name 'font-design-size) 4)
(else (ly-warning "unknown font field name"))
)
))
(define paper-style-sheet-alist
'(
- ((8 * * braces feta-braces 8) . "feta-braces8")
- ((7 * * braces feta-braces 7) . "feta-braces7")
- ((6 * * braces feta-braces 6) . "feta-braces6")
- ((5 * * braces feta-braces 5) . "feta-braces5")
- ((4 * * braces feta-braces 4) . "feta-braces4")
- ((3 * * braces feta-braces 3) . "feta-braces3")
- ((2 * * braces feta-braces 2) . "feta-braces2")
- ((1 * * braces feta-braces 1) . "feta-braces1")
- ((0 * * braces feta-braces 0) . "feta-braces0")
+ ((8 * * braces 8) . "feta-braces8")
+ ((7 * * braces 7) . "feta-braces7")
+ ((6 * * braces 6) . "feta-braces6")
+ ((5 * * braces 5) . "feta-braces5")
+ ((4 * * braces 4) . "feta-braces4")
+ ((3 * * braces 3) . "feta-braces3")
+ ((2 * * braces 2) . "feta-braces2")
+ ((1 * * braces 1) . "feta-braces1")
+ ((0 * * braces 0) . "feta-braces0")
))
;; FIXME: what about this comment?:
;; should really have name/pt size at the front of the list.
;; (also tried to vary the order of this list, with little effect)
;;
-;; (font-relative-size font-series font-shape font-family font-name
+;; (font-relative-size font-series font-shape font-family
;; font-design-size)
(define paper20-style-sheet-alist
'(
;; why are font file names strings, not symbols?
- ((3 medium upright number feta-nummer 13) . "feta-nummer13")
- ((2 medium upright number feta-nummer 13) . "feta-nummer13")
- ((1 medium upright number feta-nummer 11) . "feta-nummer11")
- ((0 medium upright number feta-nummer 10) . "feta-nummer10")
- ((-1 medium upright number feta-nummer 8) . "feta-nummer8")
- ((-2 medium upright number feta-nummer 7) . "feta-nummer7")
- ((-3 medium upright number feta-nummer 6) . "feta-nummer6")
- ((-4 medium upright number feta-nummer 5) . "feta-nummer5")
- ((-5 medium upright number feta-nummer 4) . "feta-nummer4")
-
- ((4 medium upright roman cmr 17) . "cmr17")
- ((3 medium upright roman cmr 17) . "cmr17")
- ((2 medium upright roman cmr 12) . "cmr12")
- ((1 medium upright roman cmr 12) . "cmr12")
- ((0 medium upright roman cmr 10) . "cmr10")
- ((-1 medium upright roman cmr 8) . "cmr8" )
- ((-2 medium upright roman cmr 7) . "cmr7" )
- ((-3 medium upright roman cmr 6) . "cmr6" )
- ((-4 medium upright roman cmr 5) . "cmr5" )
- ((-5 medium upright roman cmr 5) . "cmr5" )
-
- ((3 medium italic roman cmti 12) . "cmti12")
- ((2 medium italic roman cmti 12) . "cmti12")
- ((1 medium italic roman cmti 12) . "cmti12")
- ((0 medium italic roman cmti 10) . "cmti10")
- ((-1 medium italic roman cmti 8) . "cmti8")
- ((-2 medium italic roman cmti 7) . "cmti7")
- ((-3 medium italic roman cmti 7) . "cmti7")
-
- ((2 bold upright roman cmbx 12) . "cmbx12")
- ((1 bold upright roman cmbx 12) . "cmbx12")
- ((0 bold upright roman cmbx 10) . "cmbx10")
- ((-1 bold upright roman cmbx 8) . "cmbx8")
- ((-2 bold upright roman cmbx 7) . "cmbx7")
+ ((3 medium upright number 13) . "feta-nummer13")
+ ((2 medium upright number 13) . "feta-nummer13")
+ ((1 medium upright number 11) . "feta-nummer11")
+ ((0 medium upright number 10) . "feta-nummer10")
+ ((-1 medium upright number 8) . "feta-nummer8")
+ ((-2 medium upright number 7) . "feta-nummer7")
+ ((-3 medium upright number 6) . "feta-nummer6")
+ ((-4 medium upright number 5) . "feta-nummer5")
+ ((-5 medium upright number 4) . "feta-nummer4")
+
+ ((4 medium upright roman 17) . "cmr17")
+ ((3 medium upright roman 17) . "cmr17")
+ ((2 medium upright roman 12) . "cmr12")
+ ((1 medium upright roman 12) . "cmr12")
+ ((0 medium upright roman 10) . "cmr10")
+ ((-1 medium upright roman 8) . "cmr8" )
+ ((-2 medium upright roman 7) . "cmr7" )
+ ((-3 medium upright roman 6) . "cmr6" )
+ ((-4 medium upright roman 5) . "cmr5" )
+ ((-5 medium upright roman 5) . "cmr5" )
+
+ ((3 medium italic roman 12) . "cmti12")
+ ((2 medium italic roman 12) . "cmti12")
+ ((1 medium italic roman 12) . "cmti12")
+ ((0 medium italic roman 10) . "cmti10")
+ ((-1 medium italic roman 8) . "cmti8")
+ ((-2 medium italic roman 7) . "cmti7")
+ ((-3 medium italic roman 7) . "cmti7")
+
+ ((2 bold upright roman 12) . "cmbx12")
+ ((1 bold upright roman 12) . "cmbx12")
+ ((0 bold upright roman 10) . "cmbx10")
+ ((-1 bold upright roman 8) . "cmbx8")
+ ((-2 bold upright roman 7) . "cmbx7")
- ((2 bold italic roman cmbxti 12) . "cmbxti12")
- ((1 bold italic roman cmbxti 12) . "cmbxti12")
- ((0 bold italic roman cmbxti 10) . "cmbxti10")
- ((-1 bold italic roman cmbxti 8) . "cmbxti8")
- ((-2 bold italic roman cmbxti 7) . "cmbxti7")
+ ((2 bold italic roman 12) . "cmbxti12")
+ ((1 bold italic roman 12) . "cmbxti12")
+ ((0 bold italic roman 10) . "cmbxti10")
+ ((-1 bold italic roman 8) . "cmbxti8")
+ ((-2 bold italic roman 7) . "cmbxti7")
- ((4 medium upright typewriter cmtt 17) . "cmtt17")
- ((3 medium upright typewriter cmtt 17) . "cmtt17")
- ((2 medium upright typewriter cmtt 12) . "cmtt12")
- ((1 medium upright typewriter cmtt 12) . "cmtt12")
- ((0 medium upright typewriter cmtt 10) . "cmtt10")
- ((-1 medium upright typewriter cmtt 8) . "cmtt8" )
- ((-2 medium upright typewriter cmtt 7) . "cmtt7" )
- ((-3 medium upright typewriter cmtt 6) . "cmtt6" )
- ((-4 medium upright typewriter cmtt 5) . "cmtt5" )
- ((-5 medium upright typewriter cmtt 5) . "cmtt5" )
+ ((4 medium upright typewriter 17) . "cmtt17")
+ ((3 medium upright typewriter 17) . "cmtt17")
+ ((2 medium upright typewriter 12) . "cmtt12")
+ ((1 medium upright typewriter 12) . "cmtt12")
+ ((0 medium upright typewriter 10) . "cmtt10")
+ ((-1 medium upright typewriter 8) . "cmtt8" )
+ ((-2 medium upright typewriter 7) . "cmtt7" )
+ ((-3 medium upright typewriter 6) . "cmtt6" )
+ ((-4 medium upright typewriter 5) . "cmtt5" )
+ ((-5 medium upright typewriter 5) . "cmtt5" )
- ((3 medium caps roman cmcsc 12) . "cmcsc12")
- ((2 medium caps roman cmcsc 12) . "cmcsc12")
- ((1 medium caps roman cmcsc 12) . "cmcsc12")
- ((0 medium caps roman cmcsc 10) . "cmcsc10")
- ((-1 medium caps roman cmcsc 8) . "cmcsc8")
- ((-2 medium caps roman cmcsc 7) . "cmcsc7")
- ((-3 medium caps roman cmcsc 7) . "cmcsc7")
-
- ((3 * * dynamic feta-din 19) . "feta-din19")
- ((2 * * dynamic feta-din 19) . "feta-din19")
- ((1 * * dynamic feta-din 17) . "feta-din17")
- ((0 * * dynamic feta-din 14) . "feta-din14")
- ((-1 * * dynamic feta-din 12) . "feta-din12")
- ((-2 * * dynamic feta-din 9) . "feta-din9")
- ((-3 * * dynamic feta-din 8) . "feta-din8")
- ((-4 * * dynamic feta-din 7) . "feta-din7")
- ((-5 * * dynamic feta-din 6) . "feta-din6")
-
- ((2 * * music feta 26) . "feta26")
- ((1 * * music feta 23) . "feta23")
- ((0 * * music feta 20) . "feta20")
- ((-0.5 * * music feta 20) . "feta19")
- ((-1 * * music feta 16) . "feta16")
- ((-2 * * music feta 13) . "feta13")
- ((-3 * * music feta 11) . "feta11")
- ((-4 * * music feta 11) . "feta11")
-
- ((0 * * math msam 10) . "msam10")
- ((-1 * * math msam 10) . "msam10")
- ((-2 * * math msam 10) . "msam10")
- ((-3 * * math msam 10) . "msam10")
+ ((3 medium caps roman 12) . "cmcsc12")
+ ((2 medium caps roman 12) . "cmcsc12")
+ ((1 medium caps roman 12) . "cmcsc12")
+ ((0 medium caps roman 10) . "cmcsc10")
+ ((-1 medium caps roman 8) . "cmcsc8")
+ ((-2 medium caps roman 7) . "cmcsc7")
+ ((-3 medium caps roman 7) . "cmcsc7")
+
+ ((3 * * dynamic 19) . "feta-din19")
+ ((2 * * dynamic 19) . "feta-din19")
+ ((1 * * dynamic 17) . "feta-din17")
+ ((0 * * dynamic 14) . "feta-din14")
+ ((-1 * * dynamic 12) . "feta-din12")
+ ((-2 * * dynamic 9) . "feta-din9")
+ ((-3 * * dynamic 8) . "feta-din8")
+ ((-4 * * dynamic 7) . "feta-din7")
+ ((-5 * * dynamic 6) . "feta-din6")
+
+ ((2 * * music 26) . "feta26")
+ ((1 * * music 23) . "feta23")
+ ((0 * * music 20) . "feta20")
+ ((-0.5 * * music 20) . "feta19")
+ ((-1 * * music 16) . "feta16")
+ ((-2 * * music 13) . "feta13")
+ ((-3 * * music 11) . "feta11")
+ ((-4 * * music 11) . "feta11")
+
+ ((2 * * ancient 26) . "parmesan26")
+ ((1 * * ancient 23) . "parmesan23")
+ ((0 * * ancient 20) . "parmesan20")
+ ((-0.5 * * ancient 20) . "parmesan19")
+ ((-1 * * ancient 16) . "parmesan16")
+ ((-2 * * ancient 13) . "parmesan13")
+ ((-3 * * ancient 11) . "parmesan11")
+ ((-4 * * ancient 11) . "parmesan11")
+
+ ((0 * * math 10) . "msam10")
+ ((-1 * * math 10) . "msam10")
+ ((-2 * * math 10) . "msam10")
+ ((-3 * * math 10) . "msam10")
))
;;
(define (properties-to-font-name fonts properties-alist-list)
(let* (
;; change order to change priorities of qualifiers.
- (q-order '(font-name font-family font-series font-shape
+ (q-order '(font-family font-series font-shape
font-design-size font-relative-size))
(rawqualifiers (map (lambda (x)
(chain-assoc x properties-alist-list))
(visibility-lambda . ,end-of-line-visible)
(style . vaticana)
(Y-offset-callbacks . (,Staff_symbol_referencer::callback))
+ (font-family . music)
(meta . ,(grob-description custos-interface staff-symbol-referencer-interface break-aligned-interface) )
))
(X-offset-callbacks . (,Stem::off_callback))
(X-extent-callback . ,Stem::dim_callback)
(Y-extent-callback . ,Stem::height)
+ (font-family . music)
(meta . ,(grob-description stem-interface font-interface))
))
(grob-property-description 'no-spacing-rods boolean? "read from grobs: boolean that makes Separation_item ignore this item (MOVE ME TO ITEM).")
(grob-property-description 'no-stem-extend boolean? "should stem not be extended to middle staff line?.")
(grob-property-description 'non-default boolean? "not set because of existence of a bar?.")
-(grob-property-description 'note-character string? "character to print in a note head.")
(grob-property-description 'note-width number? "unit for horizontal translation, measured in staff-space.")
(grob-property-description 'note-heads list? "List of note head grobs")
(grob-property-description 'number-gap number? "size of the gap for tohe number in a tuplet.")
(lily-interface
'note-head-interface
"Note head"
- '( style stem-attachment-function note-character ))
+ '( style stem-attachment-function ))
(lily-interface
@end table
")
(translator-property-description 'decrescendoSpanner symbol? "Type of spanner to be used for decrescendi. One of: @samp{hairpin}, @samp{line}, @samp{dashed-line}, @samp{dotted-line}. If unset, hairpin type is used.")
-
-(translator-property-description 'easyPlay boolean? "Copy note names into note head grob property")
-
(translator-property-description 'explicitClefVisibility procedure? "visibility-lambda function for clef changes.")
(translator-property-description 'explicitKeySignatureVisibility
gftopk $< $@
-$(outdir)/%.pfb:
- pktrace $(basename $(@F))
- mv $(basename $(@F)).pfb $(outdir)
-
-
-
-
+$(outdir)/%.pfa: %.mf
+ pktrace --simplify --keep-trying $(basename $(@F))
+ mv $(basename $(@F)).pfa $(outdir)
-$(outdir)/%.pfb:
- pktrace $(basename $(@F))
+$(outdir)/%.pfb: %.mf
+ pktrace --simplify --keep-trying $(basename $(@F))
mv $(basename $(@F)).pfb $(outdir)
#%.afm: