=item *
A GNU system: GNU LilyPond is known to run on these GNU systems:
-Linux, AIX, Digital Unix and Solaris.
+Linux, FreeBSD, AIX, Digital Unix and Solaris.
If you have the Cygnus WINDOWS32 port of the GNU utils, it will even
work in Windows NT/95, but we don't promise to support it.
=item *
-A PostScript printer and/or viewer (such as Ghostscript).
+A PostScript printer and/or viewer (such as Ghostscript) is strongly
+recommended. Xdvi will show all embedded PostScript too if you have
+Ghostscript installed.
=back
make install
-should do the trick.
+should do the trick.
+
+If you are doing an upgrade, please remember to remove obsolete .pk
+and .tfm files of the fonts. A script has been provided to do the
+work, see F<bin/clean-fonts.sh>.
=head1 CAVEATS
Previous versions (before 0.1.39) used fonts from the TeX macro
package "MusixTeX". You can still use these, but they are not
supported. Since LilyPond's Feta font is much prettier, you'd be
-stupid to use them, but anyway, here are the installation instructions
-for those deprecated fonts.
+seriously misguided if you used them, but anyway, here are the
+installation instructions for those deprecated fonts.
[obsolete] I use the MusixTeX fonts those found in MusixTeX
import sys;
import os;
+
+version = "0.2"
input_re = compile('^[ \t]*input *\([^;]+\);')
postfixes = ['log', 'dvi', '2602gf', 'tfm']
+def identify ():
+ return "mf-deps.py %s" % version
+
+
def print_one(x):
print x
return reduce(line_concat, dependencies)
-
+print "# Automatically generated by %s\n" % identify ()
for file in sys.argv[1:]: # skip programname
t = Targetdeps(file)
Real staffline_thickness = paper ()->rule_thickness ();
Real beam_thickness = 0.48 * (interline_f - staffline_thickness);
- const int QUANTS = 6;
- Real qy[QUANTS] = {
+ const int QUANTS = 7;
+ Real qy[QUANTS] =
+ {
0,
beam_thickness / 2,
beam_thickness,
interline_f / 2 + beam_thickness / 2 + staffline_thickness / 2,
interline_f,
interline_f + beam_thickness / 2,
+ interline_f + beam_thickness
};
/*
ugh, using i triggers gcc 2.7.2.1 internal compiler error (far down):
for (int i = 0; i < QUANTS; i++)
*/
+
+ // fixme!
for (int ii = 0; ii < QUANTS; ii++)
- qy[ii] -= beam_thickness / 2;
- Pos qpos[QUANTS] = {
+ qy[ii] -= 0.5 *beam_thickness;
+ Pos qpos[QUANTS] =
+ {
HANG,
STRADDLE,
SIT,
INTER,
HANG,
- STRADDLE
+ STRADDLE,
+ SIT
};
// y-values traditionally use internote dimension
if (extend_b)
left_y_ = (dir_ > 0 ? upper_y : lower_y);
else
- left_y_ = (upper_y - left_y_ < y - lower_y ? upper_y : lower_y);
+ left_y_ = (upper_y - y < y - lower_y ? upper_y : lower_y);
}
void
for (int j=0; j < stems_.size (); j++)
{
Stem *s = stems_[j];
+ if (s->transparent_b_)
+ continue;
Real x = s->hpos_f () - x0;
s->set_stemend (left_y_ + slope_f_ * x);
beam and that point in the correct direction */
class Beam: public Directional_spanner {
public:
+ /** The beams (especially at small slopes) should be prevented to
+ conflict with the stafflines. This necessitates some quantisation
+ of start and end posititons of the beam.
+ */
enum Pos { NONE, SIT = 1, STRADDLE = 2, HANG = 4, INTER = 8 };
- // ugh, silly C++
- enum Quantise { NUN, NORMAL, TRADITIONAL };
+ // ugh, silly C++ (Pos::NONE vs Quantise::NONE)
+ enum Quantise { NUNE, NORMAL, TRADITIONAL };
Link_array<Stem> stems_;
/// the slope of the beam in posns / point (dimension)
#
TEXFILES = $(wildcard *.tex)
MFFILES = $(wildcard *.mf)
-EXTRA_DISTFILES = $(MFFILES) $(TEXFILES) TODO README
+MFDEPS = mf.dep
+EXTRA_DISTFILES = $(MFFILES) $(TEXFILES) $(MFDEPS) TODO README
#
FONT_FILES = $(wildcard *[0-9].mf)
all: $(LYTABLES) $(TEXTABLES)
localclean:
- rm -f $(LYTABLES) $(TEXTABLES) $(outdir)/mfdeps
+ rm -f $(LYTABLES) $(TEXTABLES) $(MFDEPS)
$(outdir)/%.dvi: %.mf
mf $<
rm $(basename $< ).*gf
$(lyout)/%.ly $(texout)/%.tex: $(outdir)/%.log
- $(depth)/bin/$(outdir)/mf-to-table --ly $(lyout)/$(<F:.log=.ly) --tex $(texout)/$(<F:.log=.tex) $<
+ $(PYTHON) $(depth)/bin/mf-to-table.py --ly $(lyout)/$(<F:.log=.ly) --tex $(texout)/$(<F:.log=.tex) $<
localinstall:
$(INSTALL) -d $(MFDIR)/public/lilypond
for i in $(MFFILES) ; do rm -f $(MFDIR)/lilypond/$$i; done
-rmdir $(MFDIR)/public/lilypond/
-$(outdir)/mfdeps: $(FONT_FILES)
+$(MFDEPS): $(FONT_FILES)
# do something silly to avoid barfs if python not installed.
echo > $@
- $(depth)/bin/$(outdir)/mf-deps $^ >> $@
+ $(PYTHON) $(depth)/bin/mf-deps.py $^ >> $@
# dependencies:
#
-include $(outdir)/mfdeps
+include $(MFDEPS)
#
-
-
-