manpagesynopsis() bf(mudela-book) [options] inputfile
manpagedescription() file(mudela-book) is a script that helps
-integrating mudela and LaTeX(). mudela-book runs LilyPond on
+integrating mudela and LaTeX. mudela-book runs LilyPond on
fragments of mudela in your source file, and includes the results into
-document that can be processed with LaTeX(). The result is a text
+document that can be processed with LaTeX. The result is a text
document with formatted music integrated.
+Lilypond will create a directory to put temporary files, the default
+dir name is file(out). When you run mudela on a file, like this:
+
+verb(mudelab-book myfile.tex)
+
+the a file file(out/myfile.latex) will be created. And to create
+the file(.dvi) file you should type:
+
+verb(latex out/myfile.latex)
+
+This will create file(myfile.dvi) in the current directory. Bad things
+will happen if you cd to file(out) and then runs verb(latex myfile.latex)
+
+bf(About the input)
If the file contains the ``block''
then LilyPond is run on CONTENTS. mudela-book puts the result back,
surrounded by code(\preMudelaExample) and code(\postMudelaExample)
-commands. The code(\begin) takes the following options:
+commands. code(\preMudelaExample) and code(posMudelaExample) is
+defined to nothing by default, and the user can redefine them
+to whatever he wants.
+
+code(\begin) takes the following options:
description(
dit(floating)
set the fontsize to use for the music
)
+
manpageoptions()
startdit()
dit(--outdir)
The directory to output lilypond output and input to.
dit(--help)
- print a short help message
+ Print a short help message
dit(--dependencies)
- write dependencies to outdir/filname.dep
+ Write dependencies to outdir/filename.dep
+dit(--force-verbatim)
+ Make all mudela verbatim.
enddit()
manpagefiles()
.PP
.SH "DESCRIPTION"
\fBmudela-book\fP is a script that helps
-integrating mudela and \&. mudela-book runs LilyPond on
+integrating mudela and LaTeX\&. mudela-book runs LilyPond on
fragments of mudela in your source file, and includes the results into
-document that can be processed with \&. The result is a text
+document that can be processed with LaTeX\&. The result is a text
document with formatted music integrated\&.
.PP
+Lilypond will create a directory to put temporary files, the default
+dir name is \fBout\fP\&. When you run mudela on a file, like this:
+.PP
+
+.DS
+
+mudelab-book myfile\&.tex
+.DE
+
+
+.PP
+the a file \fBout/myfile\&.latex\fP will be created\&. And to create
+the \fB\&.dvi\fP file you should type:
+.PP
+
+.DS
+
+latex out/myfile\&.latex
+.DE
+
+
+.PP
+This will create \fBmyfile\&.dvi\fP in the current directory\&. Bad things
+will happen if you cd to \fBout\fP and then runs
+.DS
+
+latex myfile\&.latex
+.DE
+
+
+.PP
+\fBAbout the input\fP
+.PP
If the file contains the ``block\'\'
.PP
.PP
then LilyPond is run on CONTENTS\&. mudela-book puts the result back,
surrounded by \f(CW\epreMudelaExample\fP and \f(CW\epostMudelaExample\fP
-commands\&. The \f(CW\ebegin\fP takes the following options:
+commands\&. \f(CW\epreMudelaExample\fP and \f(CWposMudelaExample\fP is
+defined to nothing by default, and the user can redefine them
+to whatever he wants\&.
+.PP
+\f(CW\ebegin\fP takes the following options:
.PP
.IP "floating"
the created graphics can be inserted in the middle of a text line,
.IP "--outdir"
The directory to output lilypond output and input to\&.
.IP "--help"
-print a short help message
+Print a short help message
.IP "--dependencies"
-write dependencies to outdir/filname\&.dep
+Write dependencies to outdir/filename\&.dep
+.IP "--force-verbatim"
+Make all mudela verbatim\&.
.PP
.SH "FILES"
You have to install LaTeX\&. \fBmudela-book\fP is not tested on LaTeX 2\&.09
is a matter of taste, I'd say that B\"arenreiter has the finest
typography of all.
-%
-% stupid test to check convert-mudela.py.
-%
-% (so sue me)
-% well, mudela-book:fragment is a bit broken
-\begin{mudela}[fragment,center]
- \notes {\clef bass; c1 \clef alto; c'2 \clef treble; c''4}
-\end{mudela}
-
\section{Bezier curves for slurs}
\usepackage{graphics}
%\usepackage{showframe}
\sloppy
-\def\postMudelaExample{\normalsize}
+\def\postMudelaExample{}
\begin{document}
%\printparam
Mudela-book is a script that process your \LaTeX ~file and
+with great help from GNU LilyPond
translates blocks of mudela code it finds inside \verb|mudela|
environment to tex or eps graphics. It then creates a new
file that can be sent through \LaTeX~ to create a document with
The code above produces this music:
-\begin{mudela}[fragment, floating]
- \relative c' {c4 d e f | g2 g}
+\begin{mudela}[fragment]
+ \relative c' {c4 d e f | g2 g }
\end{mudela}
-
The parameter \verb|fragment| means that mudela-book will insert
some red tape for you. There are one thing to remember. Currently
\verb|fragment|s don't know about margins and line width, so if
music. The parameter will probably not be visible in later versions
of mudela-book.
-If you use \verb|\default_paper| as your paper, mudela-book will
-(I hope) adjust the music to reach from the left to the right margin.
+There are some conventions to follow to make the music respect
+margins. You have to use \verb|\default_paper| as your paper,
+to make mudela-book adjust the music to reach from the
+left to the right margin.
+
The following code
\begin{mudela}[verbatim]
\score{
\notes\relative c'{c d e f | g2 g | a4 a a a | g1 |
f4 f f f | e2 e | d4 d d d | c1}
- \paper{\default_paper}
+ \paper{}
}
\end{mudela}
gives this music:
\score{
\notes\relative c'{c d e f | g2 g | a4 a a a | g1 |
f4 f f f | e2 e | d4 d d d | c1}
- \paper{\default_paper}
+ \paper{}
}
\end{mudela}
the \verb|linewidth| variable to, let's say 8 cm. The paper
definition
\begin{verbatim}
-\paper{\default_paper
+\paper{
linewidth=8.\cm;}
\end{verbatim}
makes this score:
\score{
\notes\relative c'{c d e f | g2 g | a4 a a a | g1 |
f4 f f f | e2 e | d4 d d d | c1}
- \paper{\default_paper
+ \paper{
linewidth=8.\cm;}
}
\end{mudela}
You can also,
\begin{mudela}[fragment, floating]
\relative c'{c c g' g | a a g2}
-\end{mudela}
-~include music in the middle of your text. Just give the option
+\end{mudela}
+, include music in the middle of your text. Just give the option
\verb|floating| to \verb|\begin{mudela}|
Oh, you think the notes are to big to be in the middle of all those
\begin{mudela}[fragment, floating, 11pt]
\relative c'{c c g' g | a a g2}
\end{mudela}
-~is better? If you have a lot of small music examples like this
+, is better? If you have a lot of small music examples like this
in the middle of your text, you might get a nicer look by using
``double'' line spacing. Put the \verb|\linespread{1.6}| command
into the preamble of your document. Then the line spacing will not
\score{
\notes\relative c'{c d e f | g2 g | a4 a a a | g1 |
f4 f f f | e2 e | d4 d d d | c1}
- \paper{\default_paper}
+ \paper{}
}
\end{mudela}
produces
\score{
\notes\relative c'{c d e f | g2 g | a4 a a a | g1 |
f4 f f f | e2 e | d4 d d d | c1}
- \paper{\default_paper}
+ \paper{}
}
\end{mudela}
\end{mudela}
Verbatim environments will also ignore the page margins. That is
a feature of \LaTeX.
-\end{document}
\ No newline at end of file
+\end{document}
verb(
\type Staff e'4
-)
+)COMMENT (
-The same can be done for the other note, i.e.,
+) The same can be done for the other note, i.e.,
verb(
\type Staff g4
-)
+) COMMENT (
-If you want to stack these staffs, you must create a chord of both:
+) If you want to stack these staffs, you must create a chord of both:
verb(
< \type Staff e'4
< \type Staff = trebleStaff e'4
\type Staff = bassStaff g4
>
-)
+)COMMENT (
-The names that you choose do not matter just as long as they are
+) The names that you choose do not matter just as long as they are
different. This is almost right, except for the brace at the left and
the clef of the second staff. The bass clef will be taken care of in
the next section. If you want a brace, then you have to tell LilyPond
In the last section we explained that a notation context can have
properties that influence the conversion from music to notation. A
-simple example of such a property is the clef: the type of clef partially
-determines the vertical position of note heads in a staff. Some of
-these properties can be modified by commands such as code(\clef) and
-code(\time). But there is more: notation contexts also have
-properties are settable in a generic fashion. We will demonstrate
-this feature by printing multiple voices on a staff.
+simple example of such a property is the clef: the type of clef
+partially determines the vertical position of note heads in a staff.
+Some of these properties can be modified by commands such as
+code(\clef) and code(\time). But there is more: notation contexts
+also have properties are settable in a generic fashion. We will
+demonstrate this feature by printing multiple voices on a staff.
In polyphonic (keyboard) music and orchestral scores often more than
one voice is printed on one staff. We'll explain how to achieve this
\type Voice = one ...
\type Voice = two ...
>
-)
+) COMMENT (
-On the ellipsis there should be music going from left to right, in
+) On the ellipsis there should be music going from left to right, in
otherr words, there should be sequential music, notes enclosed in
braces. Let us try the following simple melodies:
We conclude this section with another example of a context property.
Polyphonic music that has three or four voices can't be printed by
simply changing the directions of the stems for each voice, obviously.
-Traditionally, some chords are shifted horizontally to print if this many
-voices have to be printed.
-LilyPond can also do this, and the property that controls the
-horizontal shifting is called code(hshift). The notes in a
-code(Voice) context that has code(hshift) set to a true value (i.e.,
-non-zero or non-empty), will be shifted horizontally in the case of a
-collision. The following example demonstrates the effect.
+Traditionally, some chords are shifted horizontally to print if this
+many voices have to be printed. LilyPond can also do this, and the
+property that controls the horizontal shifting is called code(hshift).
+The notes in a code(Voice) context that has code(hshift) set to a true
+value (i.e., non-zero or non-empty), will be shifted horizontally in
+the case of a collision. The following example demonstrates the
+effect.
mudela(fragment,verbatim)(
\type "Staff" <
)
-
Another interesting feature of this example are the assignments within
the paper block. Some blocks, such as code(\paper), have a scope of
their own. In the case of the code(\paper) block, these variables
sect(Transposing)
label(tutorial:more-grammar)
-COMMENT(In this section, we will complete the grammar for Music that was
-sketched earlier. )
+
One of the things that you can do with music is
em(transposing) it. If you want to transpose a piece of music, then
you should prefix the keyword code(\transpose) along with the pitch
grammar for Music.
-sect(Shortcuts for octaves)
-label(sec:relativeoctaves)
-
-Plain Mudela contains a lot of quotes to get the octaves right. This
-need for quotes can be reduced: most of the pitch intervals in
-conventional music are small. Therefore, it makes sense to leave out
-the quotes when the interval is small. We have built a mode that does
-exactly this. It is called the relative mode for octaves. You can
-switch it on by entering code(\relative). Then LilyPond will
-interpret every note as if they mean the note with the same name
-closest to the previous. You have to specify the first pitch because
-the first note of a list obviously has no predecessor. So, you can
-enter a scale without using octavation quotes, e.g.,
-
-mudela(fragment,verbatim)(
- \relative c' { c d e f g a b c }
-)
-
-For chords, the relative mode works slightly differently. In a
-sequence of chords, the first note of a chord gives the starting point
-for the next chord. We can demonstrate this with our twinkle twinkle example
-verb(
- \relative c' {
- c4 c <c g'> <c e g>
- <c e a> <b d a'> <b2 d g>
- <a4 d f> <bes d f> <bes c e> <g c e>
- <e a d> <a, g' cis'> <d2 f d'>
- }
-)
-
-LilyPond converts any music with code(\relative) prepended to absolute
-music immediately when it is read. Internally it is stored it in
-absolute pitches. Since the tutorial mainly deals with how to specify
-musical information, and not how to enter it conveniently, the
-tutorial doesn't use it.
-
-
-sect(Large pieces)
-label(tutorial:large-pieces)
-
-In our quest for a clean and powerfull music language, we took the effort
-of entering some larger pieces of music as well. From this we learned
-certain things that lead to direct improvements of Mudela, such as the
-relative mode. We also gained some practial experience, that resulted in a
-compilation of tips that may be of use to you.
-
-Entering a large piece of music will often imply the need to produce a
-conductor's score, as well as individual parts for all instruments. This
-can most easily be achieved making use of identifiers and including mudela
-files.
-
-subsect(Identifiers)
-
-Briefly introduced before, identifiers are your biggest help in structurising
-a large piece of music. As an example, we'll consider a string quartet.
-In short, it will look like this: verb(
- global = \notes{ }
- violinoOne = \notes \relative c { .. }
- violinoTwo = \notes \relative c { .. }
- viola = \notes \relative c { .. }
- violoncello = \notes \relative c { .. }
-)
-
-The code(\global) part contains everything that is global, i.e., the
-same, for each instrument. This may include time signature, key, repeat
-signs, different bar types, time signature- and key changes, rehearsal
-marks, etc.
-
-For each instrument, you'll have something vaguely resembling verb(
- violinoOneStaff = \type Staff = violinoOne <
- \property Staff.midi_instrument = "violin"
- \property Staff.instrument = "Violino I"
- \property Staff.instr = "Vl. I"
- \global
- \violinoOne
- >
-)
-
-
-[Versions, relative mode,
- barchecks, splitting of files]
-subsect(Grouping of staffs)
-subsect(Versioning)
sect(Titling)
label(tutorial:titling)
sect(ABSTRACT)
-You do something which looks remotely like
-verb(
- configure # Check out the buildscripts/set-lily.sh script
- make
- make install
-)
-
-The detailed instructions follow here. The
-file(buildscripts/set-lily.sh) script sets some environment variables
-and symlinks, which comes in handly when you have to compile LilyPond
-very often. It is aimed at people who run (or debug) LilyPond without
-installing.
+This document explains what you need to install LilyPond, and what you
+should do. If you are going to compile and install LilyPond very
+often you might want to check out the file(buildscripts/set-lily.sh)
+script. It sets some environment variables and symlinks, which comes
+in handly when you have to compile LilyPond very often.
sect(PREREQUISITES)
to install GNU LilyPond, simply type:
verb(
- configure
+ gunzip -c lilypond-x.y.z | tar xf -
+ cd lilypond-x.y.z
+ configure # fill in your standard prefix with --prefix
make
make install
)
sect(REDHAT LINUX)
RedHat Linux users can compile an RPM. A spec file is in
-file(make/out/lilypond.spec). You should install a gif file called
-file(lelie_icon.gif) along with the sources. You can generate this
-gif file by typing
-
-verb(
- make gifs
-)
-
-in the directory file(Documentation).
+file(make/out/lilypond.spec), it is distributed along with the
+sources.
You can make the rpm by issuing
-
verb(
- make rpm
+ rpm -tb lilypond-x.y.z.tar.gz
+ rpm -i /usr/src/redhat/RPMS/i386/lilypond-x.y.z
)
sect(DEBIAN GNU/LINUX)
A Debian package is also available; contact Anthony Fok
-email(foka@debian.org). The build scripts are in the subdirectory file(debian/)
+email(foka@debian.org). The build scripts are in the subdirectory
+file(debian/).
sect(WINDOWS NT/95)
dit(lurl(http://www.realtime.net/~daboys/lilypond/))Jeff's Windows NT Distribution site.
)
+
nsubsubsect(Mirrors)
description(
dit(lurl(http://sca.uwaterloo.ca/lilypond/))
1: ABSTRACT
-You do something which looks remotely like
-
-
-
-
-
- configure # Check out the buildscripts/set-lily.sh script
- make
- make install
-
-
-
-
-
-The detailed instructions follow here. The build-
-scripts/set-lily.sh script sets some environment variables
-and symlinks, which comes in handly when you have to compile
-LilyPond very often. It is aimed at people who run (or
-debug) LilyPond without installing.
+This document explains what you need to install LilyPond,
+and what you should do. If you are going to compile and
+install LilyPond very often you might want to check out the
+buildscripts/set-lily.sh script. It sets some environment
+variables and symlinks, which comes in handly when you have
+to compile LilyPond very often.
2: PREREQUISITES
o A GNU system: GNU LilyPond is known to run on these GNU
- systems: Linux (PPC, intel), FreeBSD, AIX, NeXTStep,
+ systems: Linux (PPC, intel), FreeBSD, AIX, NeXTStep,
IRIX, Digital Unix and Solaris.
-o Lots of disk space: LilyPond takes between 50 and 100
+o Lots of disk space: LilyPond takes between 50 and 100
mb to compile if you use debugging information. If you
- are short on disk-space run configure with --disable-
+ are short on disk-space run configure with --disable-
debugging.
Although we recommend to use Unix, LilyPond is known to
run on Windows NT/95/98 as well. See Section 11.
-o GNU C++ version 2.7 or newer (2.8 and egcs are also
+o GNU C++ version 2.7 or newer (2.8 and egcs are also
fine).
o Python 1.5 (Strictly speaking, you shouldn't need
3: RUNNING
-GNU LilyPond does use a lot of resources. For operation you
+GNU LilyPond does use a lot of resources. For operation you
need the following:
o TeX
o A PostScript printer and/or viewer (such as
- Ghostscript) is strongly recommended. Xdvi will show
- all embedded PostScript too if you have Ghostscript
+ Ghostscript) is strongly recommended. Xdvi will show
+ all embedded PostScript too if you have Ghostscript
+
+
installed.
-For running LilyPond successfully you have to help TeX and
-MetaFont find various files. The recommended way of doing
-so is adjusting the environment variables in the start-up
-scripts of your shell. An example is given here for the
+For running LilyPond successfully you have to help TeX and
+MetaFont find various files. The recommended way of doing
+so is adjusting the environment variables in the start-up
+scripts of your shell. An example is given here for the
Bourne shell:
-The empty path component represents and MetaFont's default
-search paths. Scripts with the proper paths for the bourne
+The empty path component represents and MetaFont's default
+search paths. Scripts with the proper paths for the bourne
and C-shell respectively are generated in build-
-scripts/out/lilypond-profile and buildscripts/out/lilypond-
+scripts/out/lilypond-profile and buildscripts/out/lilypond-
login during compilation.
4: RECOMMENDED
-Although not strictly necessary, these are recommended to
+Although not strictly necessary, these are recommended to
have.
this site.
-o Flex (version 2.5.4 or newer). Check out
+o Flex (version 2.5.4 or newer). Check out
ftp://ftp.gnu.org or any mirror of this site.
-o Bison (version 1.25 or newer). Check out
+o Bison (version 1.25 or newer). Check out
ftp://ftp.gnu.org or any mirror of this site.
-o GUILE (version 1.2) Check out http://www.gnu.org/pro-
+o GUILE (version 1.2) Check out http://www.gnu.org/pro-
grams/guile.html
-o Python (version 1.5 or newer). Check out
+o Python (version 1.5 or newer). Check out
ftp://ftp.python.org or ftp://ftp.cwi.nl/pub/python.
-o Yodl. All documentation will be in Yodl. (1.30.17)
+o Yodl. All documentation will be in Yodl. (1.30.17)
ftp://pcnov095.win.tue.nl/pub/yodl
http://www.cs.uu.nl/~hanwen/yodl
+
o Texinfo. (version 3.12 or newer)
-o GNU find Check out ftp://ftp.gnu.org or any mirror of
+o GNU find Check out ftp://ftp.gnu.org or any mirror of
this site.
o The geometry package for LaTeX is needed to use ly2dvi.
- Available at ftp://ftp.ctan.org/tex-
+ Available at ftp://ftp.ctan.org/tex-
archive/macros/latex/contrib/supported/geometry or at
mirror site ftp://ftp.dante.de
o A fast computer (a full page of music typically takes 1
- minute on my 486/133, using the --enable-checking com-
+ minute on my 486/133, using the --enable-checking com-
pile. It's lot slower than most MusiXTeX preprocessors)
5: WEBSITE
-If you want to auto-generate Lily's website, you'll need
+If you want to auto-generate Lily's website, you'll need
some additional conversion tools.
o xpmtoppm (from the Portable Bitmap Utilities) (For Red-
- Hat Linux users: it is included within the package
+ Hat Linux users: it is included within the package
libgr-progs).
o Bib2html http://pertsserver.cs.uiuc.edu/~hull/bib2html.
Which, in turn depends on man2html for proper installa-
- tion. man2html can be had from http://askdon-
+ tion. man2html can be had from http://askdon-
ald.ask.uni-karlsruhe.de/hppd/hpux/Network-
ing/WWW/Man2html-1.05.
TeTeX users should not forget to rerun texhash.
Building the website requires pnmtopng. The version of pnm-
-topng that is distributed with RedHat 5.1 contains a bug
-(pnmtopng is dynamically linked to the wrong version of
-libpng). Recompile it from source, and make sure that the
-pnmtopng binary is linked statically to the libpng that is
-
-
+topng that is distributed with RedHat 5.1 contains a bug
+(pnmtopng is dynamically linked to the wrong version of
+libpng). Recompile it from source, and make sure that the
+pnmtopng binary is linked statically to the libpng that is
included in libgr.
-
-
-
tar xzf libgr-2.0.13.tar.gz
make
cd png
- configure
+ gunzip -c lilypond-x.y.z | tar xf -
+ cd lilypond-x.y.z
+ configure # fill in your standard prefix with --prefix
make
make install
/usr/local/share/locale/{it,nl}/LC_MESSAGES/lilypond.mo
-The above assumes that you are root and have the GNU devel-
+
+
+
+The above assumes that you are root and have the GNU devel-
opment tools, and your make is GNU make. If this is not the
-case, you can adjust your environment variables to your
+case, you can adjust your environment variables to your
+
+
taste:
CPPFLAGS are the preprocessor flags.
The configure script is Cygnus configure, and it will accept
---help. If you are not root, you will probably have to make
+--help. If you are not root, you will probably have to make
it with a different --prefix option. Our favourite location
is
-In this case, you will have to set up MFINPUTS, and TEXIN-
+In this case, you will have to set up MFINPUTS, and TEXIN-
PUTS accordingly.
-Since GNU LilyPond currently is beta, you are advised to
+Since GNU LilyPond currently is beta, you are advised to
also use
--enable-checking
+
+
+
Options to configure include:
Enable debugging print routines (lilypond -D option)
--enable-optimise
- Set maximum optimisation: compile with -O2. This can
- be unreliable on some compiler/platform combinations
+ Set maximum optimisation: compile with -O2. This can
+ be unreliable on some compiler/platform combinations
(eg, DEC Alpha and PPC)
--enable-profiling
Compile with support for profiling.
--enable-config
- Output to a different configuration file. Needed for
+ Output to a different configuration file. Needed for
multi-platform builds
-All options are documented in the configure help The option
+All options are documented in the configure help The option
--enable-optimise is recommended for Real Life usage.
If you do
-everything will be compiled, but nothing will be installed.
-The resulting binaries can be found in the subdirectories
+everything will be compiled, but nothing will be installed.
+The resulting binaries can be found in the subdirectories
out/ (which contain all files generated during compilation).
If you want to compile LilyPond with different configuration
-settings, then, you can use the --enable-config option.
-Example: suppose I want to build with and without profil-
+settings, then, you can use the --enable-config option.
+Example: suppose I want to build with and without profil-
ing. Then I'd use the following for the normal build,
should do the trick.
If you are doing an upgrade, please remember to remove obso-
-lete .pk and .tfm files of the fonts. A script has been
+lete .pk and .tfm files of the fonts. A script has been
provided to do the work for you, see bin/clean-fonts.sh.
-o The -O2 option to gcc triggers a gcc bug on DEC Alpha
- in dstream.cc. You should turn off this flag for this
+o The -O2 option to gcc triggers a gcc bug on DEC Alpha
+ in dstream.cc. You should turn off this flag for this
file.
9: REDHAT LINUX
-RedHat Linux users can compile an RPM. A spec file is in
-make/out/lilypond.spec. You should install a gif file
-called lelie_icon.gif along with the sources. You can gen-
-erate this gif file by typing
-
-
-
-
-
-
- make gifs
-
-
-
-
-
-in the directory Documentation.
+RedHat Linux users can compile an RPM. A spec file is in
+make/out/lilypond.spec, it is distributed along with the
+sources.
You can make the rpm by issuing
-
- make rpm
+ rpm -tb lilypond-x.y.z.tar.gz
+ rpm -i /usr/src/redhat/RPMS/i386/lilypond-x.y.z
A Debian package is also available; contact Anthony Fok
foka@debian.org <foka@debian.org>. The build scripts are in
-the subdirectory debian/
+the subdirectory debian/.
11: WINDOWS NT/95
-pl4.jcn1
- - read (cmr12)afm for text char widths
+pl4.jcn4
+ - fixes; preludes, finger
+
+pl4.jcn3
+ - bf: text staff vertical align; see input/test/vertical-text.ly
+ - urg, scaled cmr8 by factor 4/5
+ - apart from end/begin of measure spacing urgs, stars-and-stripes.ly
+ is rather cool
+
+pl4.jcn2
+ - read (cmrxx)afm for text char widths
+ - tfmtoafm.sh (quite urg)
+ - alphabet.ly
+
+pl 4.uu1
+ - read .scm files. No need for GUILE_LOAD_PATH
+ - .ps hack. No need for lily.ps on the printer
+
+ (&$^@M&@^$@^&$@ Damn TeX)
+
+ - bf: mudela-book -> \default_paper is obsolete.
+
+pl 3.ms1
+ - thumb-upgrade
+
+pl4.jcn1
+ - bf: dotted slur
+ - bf: text ssb
+ - bf: empty/unknown in ps
+
+pl 4.tca1
+ - 40% speedup executing mudela-book on mudela-book-doc.doc
+ - change of lilypond's output filenames. Given multiple input
+ files, eg. 'm.ly y.ly', output names will now be 'm.tex y.tex'
+ not 'm.tex y-1.tex', but if m.ly containts two paper definitions
+ output will be 'm.tex m-1.tex y.tex'
+
+*******
1.1.4
pl 3.tca1
BUGS:
+ * gallina barlines.
+
* latex bla.tex broken (titles / \lilyfooter stuff?)
- * --safe: disallow backslashes, disallow \include.
+ * acc placement: \score { \notes \key G; \transpose\notes { a b c } }
- * fix rounding stuff in number->string
+ * --safe: disallow backslashes, disallow \include.
* msgfmt -o check?
* fix weird behaviour when .AFMs not found.
- * Xdvi zooming ?!
+ * Xdvi zooming ?! Try to understand GS garbage collection.
gs: Error: /undefined in draw_beam
gs: Operand stack:
PACKAGE_NAME=LilyPond
MAJOR_VERSION=1
MINOR_VERSION=1
-PATCH_LEVEL=4
-MY_PATCH_LEVEL=jcn1
+PATCH_LEVEL=5
+MY_PATCH_LEVEL=
# use the above to send patches: MY_PATCH_LEVEL is always empty for a
# released version.
--- /dev/null
+#!@SHELL@
+# tfmtoafm.sh --urg
+
+if [ $# -ne 1 ]; then
+ echo "Usage: tfmtoafm FONT"
+ echo
+ echo "example: tfmtoafm cmr10"
+ exit 2
+fi
+
+font=$1
+afm=$1.afm
+fontfile=`locate $1.tfm`
+t1=/tmp/tfmtoafm1-$$
+t2=/tmp/tfmtoafm2-$$
+rm -f $t1 $t2 $font $afm
+
+for i in `seq 1 127`; do printf "%d Character-%d\n" $i $i >> $t1; done
+tfmtodit $fontfile $t1 $font
+rm $t1
+tail -127 $font | cut -f 1-2 > $t1
+cat $t1 | cut -d, -f 1-2 > $t2
+rm $t1
+nl -ba $t2 | sed "s/,/ /g" | sed "s/^ *//" | sed "s/$/ /" | sed "s/^[0-9]*/C &;/" | sed "s/\([0-9]\)\([0-9][0-9][0-9][0-9][0-9]\) /\1.\2 /"g | sed "s/-[0-9]*/&; B 0.00 0.00 /" > $t1
+cat > $afm <<EOF
+FontName cmr
+StartFontMetrics
+StartCharMetrics
+EOF
+# urg 0 is difficult but we need it
+head -1 $t1 | sed "s/1;/0;/g" >> $afm
+cat $t1 >> $afm
+cat >> $afm <<EOF
+EndCharMetrics
+EndFontMetrics
+EOF
+rm $t1 $t2
+
fixed_p_->dict_arr_[l].name_ = s;
return fixed_p_->dict_arr_[l].value_;
}
+ V elem (String s) const
+ {
+ return const_elem (s);
+ }
+ V const_elem (String k) const
+ {
+ V retval;
+ if (elem_b (k))
+ retval = ((Dictionary<V>*)this)->elem (k);
+ return retval;
+ }
V& operator [] (String k)
{
return elem (k);
V operator [] (String k) const
{
- V retval;
- if (!elem_b (k))
- return retval ;
- return ((Dictionary<V> *) this)->elem (k);
+ return const_elem (k);
}
V remove (String s)
\include "property.ly"
-\include "scm.ly"
+\scmfile "lily.scm";
% music = "\melodic\relative c"
-% scm.ly -- implement Scheme output routines for TeX and PostScript
-%
-% source file of the GNU LilyPond music typesetter
-%
-% (c) 1998 Jan Nieuwenhuizen <janneke@gnu.org>
-
-\scm "
-(primitive-load-path 'lily)
-";
\score{
<
- \type Staff \notes{ c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c }
+ \type Staff \notes{
+ \skip 4*27;
+ \skip 4*27;
+ \skip 4*27;
+ \skip 4*27;
+ }
\type Lyrics \lyrics{
aaaaaaaaaaaaaaaaaaa
+xxx\break
bbbbbbbbbbbbbbbbbbb
+xxx\break
ccccccccccccccccccc
+xxx\break
ddddddddddddddddddd
+xxx\break
eeeeeeeeeeeeeeeeeee
+xxx\break
fffffffffffffffffff
+xxx\break
ggggggggggggggggggg
+xxx\break
hhhhhhhhhhhhhhhhhhh
+xxx\break
iiiiiiiiiiiiiiiiiii
+xxx\break
jjjjjjjjjjjjjjjjjjj
+xxx\break
kkkkkkkkkkkkkkkkkkk
+xxx\break
lllllllllllllllllll
+xxx\break
mmmmmmmmmmmmmmmmmmm
+xxx\break
nnnnnnnnnnnnnnnnnnn
+xxx\break
ooooooooooooooooooo
+xxx\break
ppppppppppppppppppp
+xxx\break
qqqqqqqqqqqqqqqqqqq
+xxx\break
rrrrrrrrrrrrrrrrrrr
+xxx\break
sssssssssssssssssss
+xxx\break
ttttttttttttttttttt
+xxx\break
uuuuuuuuuuuuuuuuuuu
+xxx\break
vvvvvvvvvvvvvvvvvvv
+xxx\break
wwwwwwwwwwwwwwwwwww
+xxx\break
xxxxxxxxxxxxxxxxxxx
+xxx\break
yyyyyyyyyyyyyyyyyyy
+xxx\break
zzzzzzzzzzzzzzzzzzz
+xxx\break
...................
+xxx\break
AAAAAAAAAAAAAAAAAAA
+xxx\break
BBBBBBBBBBBBBBBBBBB
+xxx\break
CCCCCCCCCCCCCCCCCCC
+xxx\break
DDDDDDDDDDDDDDDDDDD
+xxx\break
EEEEEEEEEEEEEEEEEEE
+xxx\break
FFFFFFFFFFFFFFFFFFF
+xxx\break
GGGGGGGGGGGGGGGGGGG
+xxx\break
HHHHHHHHHHHHHHHHHHH
+xxx\break
IIIIIIIIIIIIIIIIIII
+xxx\break
JJJJJJJJJJJJJJJJJJJ
+xxx\break
KKKKKKKKKKKKKKKKKKK
+xxx\break
LLLLLLLLLLLLLLLLLLL
+xxx\break
MMMMMMMMMMMMMMMMMMM
+xxx\break
NNNNNNNNNNNNNNNNNNN
+xxx\break
OOOOOOOOOOOOOOOOOOO
+xxx\break
PPPPPPPPPPPPPPPPPPP
+xxx\break
QQQQQQQQQQQQQQQQQQQ
+xxx\break
RRRRRRRRRRRRRRRRRRR
+xxx\break
SSSSSSSSSSSSSSSSSSS
+xxx\break
TTTTTTTTTTTTTTTTTTT
+xxx\break
UUUUUUUUUUUUUUUUUUU
+xxx\break
VVVVVVVVVVVVVVVVVVV
+xxx\break
WWWWWWWWWWWWWWWWWWW
+xxx\break
XXXXXXXXXXXXXXXXXXX
+xxx\break
YYYYYYYYYYYYYYYYYYY
+xxx\break
ZZZZZZZZZZZZZZZZZZZ
-aaaaaaaaaaaaaaaaaaa
+xxx\break
}
>
\paper {
castingalgorithm = \Wordwrap;
+ linewidth = 40.\mm;
}
}
%{
Converted from star.mup with the aid of mup-to-ly.py
-http://www.Arkkra.com/.../star.ps
+http://www.Arkkra.com/doc/star.html
+http://www.Arkkra.com/doc/star.ps
%}
\header{
title="The Star Spangled Banner";
a4. a8 a,4 d2 s4 }
$text1 = \lyrics{
- Oh say. can you see, by the dawn's ear- ly light What_so proud- ly we hailed,
- At the twi- light's last gleam- ing. Whose broad
+ Oh4 say. can you see,2 by8. the16 dawn's4 ear- ly light2 What8 so8 proud-4. ly8 we4 hailed,2
+ At8. the16 twi-4 light's last gleam- ing. Whose8. broad16
}
$text2 = \lyrics{
- _ stripes and bright stars, through the per- il- ous fight, O'er the ram- parts
- we watched, were so gal- lant- ly _ _ _
+ _4 stripes and bright stars,2 through8 the8 per-4 il- ous fight,2 O'er8 the8 ram-4. parts8
+ we4 watched,2 were8. so16 gal-4 lant- ly _ _ _
}
$text3 = \lyrics{
- stream- ing. And the rock- ets' red glare, the bombs burst- ing in air, gave
- proof through the night that our flag was still there, _ Oh say, does that
- star- span- gled ban- ner yet wave, _ O'er the land _ of_the free and_the
- home of the brave.
+ stream-4 ing. And8. the16 rock-4 ets' red glare,2 the8 bombs8 burst-4 ing in air,2 gave4
+ proof4. through8 the4 night2 that8. our16 flag4 was still there,2 Oh4 say, does that
+ star- span- gled ban- ner yet wave,2 O'er8. the16 land2 of8 the8 free2 and8 the8
+ home4. of8 the4 brave.2
}
global = \notes {
\score{
\type GrandStaff <
\type Staff=staffA <
- \global
+ % urg, ugly bug
+ %\global
+ \notes \transpose c'' \global
\notes \transpose c'' {\voiceone \$staff1_voice_1 }
\notes \transpose c'' {\voicetwo \$staff1_voice_2 }
>
--- /dev/null
+\score{
+ <
+ \type Staff = o \notes\relative c,,, { \stemdown [c8 c c c] }
+ \type Lyrics \lyrics{ BLA bla }
+ \type Staff = t \notes\relative c''''' { \stemup [c8 c c c] }
+ >
+ \paper{
+ castingalgorithm = \Wordwrap;
+ }
+}
void load_stdin ();
void load_file (String);
-protected:
+public:
virtual char const*ch_C () const;
virtual int length_i () const;
virtual ~Simple_file_storage ();
-public:
Simple_file_storage (String);
};
SCM lambda_scm (String str, Array<Scalar> args_arr);
-
+void read_lily_scm_file (String);
#endif // LILY_GUILE_HH
void print() const;
void set_tempo (Moment moment, int count_per_minute_i);
virtual int get_next_default_count () const;
+ static void reset_default_count();
};
#endif // MIDI_DEF_HH
-
Real arithmetic_constant (Moment minimal_mom) const;
Real arithmetic_spacing (Moment mom,Real constant) const;
virtual int get_next_default_count () const;
+ static void reset_default_count();
void output_settings (Paper_outputter*) const;
Paper_outputter* paper_outputter_p (Paper_stream*, Scope*, String) const;
};
#endif // Paper_def_HH
-
};
/**
- Please don't shoot the piano player
- */
+ Make a piano brace. (No, this doesn't manufacture ``Please don't
+ shoot the piano player.'' signs)
+ */
class Piano_bar_engraver : public Span_score_bar_engraver
{
public:
};
/**
-
+ Make Choir brackets.
*/
class Staff_group_bar_engraver : public Span_score_bar_engraver
{
/*
- key-reg.cc -- implement Key_engraver
+ key-engraver.cc -- implement Key_engraver
source file of the GNU LilyPond music typesetter
(c) 1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-
*/
+
#include "key-engraver.hh"
#include "key-item.hh"
#include "command-request.hh"
{
kit_p_ = new Key_item;
kit_p_->break_priority_i_ = -1; // ugh
+ kit_p_->multi_octave_b_ = key_.multi_octave_b_;
announce_element (Score_element_info (kit_p_,keyreq_l_));
-
+
for (int i = 0; i < accidental_idx_arr_.size(); i++)
{
Key_item::Key_item ()
{
+ multi_octave_b_ = false;
breakable_b_ =true;
default_b_ = false;
set_c_position (0);
#include "libc-extension.hh"
#include "lily-guile.hh"
#include "main.hh"
+#include "simple-file-storage.hh"
+#include "file-path.hh"
SCM
ly_append (SCM a, SCM b)
SCM
ly_list1 (SCM a)
{
- return gh_call1 (gh_eval_str ("list"), a);
+ return gh_list (a, SCM_UNDEFINED);
}
SCM
args_arr.clear ();
}
SCM args_scm = SCM_EOL;
- for (int i = args_arr.size () - 1; i >= 0; i--)
+ for (int i = args_arr.size (); i--; )
args_scm = gh_cons (gh_double2scm (args_arr[i]), args_scm);
+
SCM scm =
ly_append (ly_lambda_o (),
ly_list1 (ly_append (ly_func_o (str.ch_l ()), args_scm)));
}
+
+void
+read_lily_scm_file (String fn)
+{
+ String s = global_path.find (fn);
+ Simple_file_storage f(s);
+
+ gh_eval_str (f.ch_C());
+}
// (lambda (o) (dashed-slur o thick dash '(stuff))
a.lambda_ =
ly_append (ly_lambda_o (),
- ly_list1 (ly_append (ly_func_o ("dashed-slur"),
+ gh_list (ly_append (ly_func_o ("dashed-slur"),
gh_cons (gh_double2scm (thick),
gh_cons (gh_double2scm (dash),
- ly_list1 (ly_quote_scm (gh_list (sc[0], sc[1], sc[2], sc[3], SCM_UNDEFINED))))))));
+ gh_list (ly_quote_scm (gh_list (sc[1], sc[2], sc[3], sc[0], SCM_UNDEFINED)), SCM_UNDEFINED)))), SCM_UNDEFINED));
a.str_ = "dashed_slur";
return a;
arr.push (text);
Atom a = (*symtables_p_) ("style")->lookup (style);
a.lambda_ = lambda_scm (a.str_, arr);
+ Real font_w = a.dim_.x ().length ();
+ Real font_h = a.dim_.y ().length ();
// urg
// if (!cmr_dict.length_i ())
if (!cmr_dict.elem_b ("roman"))
{
- cmr_dict.elem ("italic") = "cmri12.afm";
- cmr_dict.elem ("roman") = "cmr12.afm";
+ //brrrr
+ cmr_dict.elem ("bold") = "cmbx";
+ cmr_dict.elem ("dynamic") = "feta-din";
+ cmr_dict.elem ("finger") = "feta-nummer";
+ cmr_dict.elem ("italic") = "cmti";
+ cmr_dict.elem ("roman") = "cmr";
}
if (!afm_p_dict.elem_b (style))
{
- String cmr_str = cmr_dict.elem (style);
+ Adobe_font_metric* afm_p = 0;
+ String cmr_str = cmr_dict.elem (style) + to_str ((int) font_h) + ".afm";
String font_path = global_path.find (cmr_str);
if (!font_path.length_i ())
- error (_f("can't open file: `%s'", cmr_str.ch_C ()));
- *mlog << "[" << font_path;
- Adobe_font_metric* afm_p = new Adobe_font_metric (read_afm (font_path));
- DOUT << afm_p->str ();
- *mlog << "]" << flush ;
+ {
+ warning (_f("can't open file: `%s'", cmr_str.ch_C ()));
+ warning (_f("guessing dimensions for font style: `%s'", style.ch_C ()));
+ }
+ else
+ {
+ *mlog << "[" << font_path;
+ afm_p = new Adobe_font_metric (read_afm (font_path));
+ DOUT << afm_p->str ();
+ *mlog << "]" << flush ;
+ }
afm_p_dict.elem (style) = afm_p;
}
Real w = 0;
- Real guess_w = a.dim_.x ().length ();
Adobe_font_metric* afm_p = afm_p_dict.elem (style);
DOUT << "\nChars: ";
for (int i = 0; i < text.length_i (); i++)
DOUT << to_str (m.B_.x ().length ()) << " ";
}
else
- w += guess_w;
+ w += font_w;
}
}
DOUT << "\n" << to_str (w) << "\n";
#include "file-results.hh"
#include "debug.hh"
#include "lily-guile.hh"
+#include "paper-def.hh"
+#include "midi-def.hh"
#if HAVE_GETTEXT
#include <libintl.h>
if (env_sz)
global_path.parse_path (env_sz);
- if (!prefix_directory.empty_b())
- {
- global_path.add (prefix_directory + "/share/lilypond/ly/");
- global_path.add (prefix_directory + "/share/lilypond/afm/");
- }
- else
- {
- global_path.add (String (DIR_DATADIR) + "/ly/");
- global_path.add (String (DIR_DATADIR) + "/afm/");
- }
-}
-
+ char *suffixes[] = {"ly", "afm", "scm", 0};
+ for (char **s = suffixes; *s; s++){
+ if (!prefix_directory.empty_b())
+ global_path.add (prefix_directory + String (*s));
+ else
+ global_path.add (String (DIR_DATADIR) + String(*s));
+ }
+}
void
main_prog (int argc, char **argv)
const char *arg ;
while ((arg= oparser.get_next_arg ()))
{
+ if (outname_str == "")
+ {
+ Midi_def::reset_default_count ();
+ Paper_def::reset_default_count ();
+ }
String f (arg);
String i;
f = distill_inname_str (f, i);
int
main (int argc, char **argv)
{
-#ifdef HAVE_LIBGUILE
gh_enter (argc, argv, (void(*)())main_prog);
- return exit_status_i_;
-#else
- main_prog (argc, argv);
- return exit_status_i_;
-#endif
+ return 0; // unreachable
}
/**
{
return default_count_i_++;
}
+
+void
+Midi_def::reset_default_count ()
+{
+ default_count_i_ = 0;
+}
{"pt", PT_T},
{"relative", RELATIVE},
{"remove", REMOVE},
- {"scm", SCHEME},
+ {"scm", SCM_T},
+ {"scmfile", SCMFILE},
{"score", SCORE},
{"script", SCRIPT},
{"shape", SHAPE},
return default_count_i_ ++;
}
+void
+Paper_def::reset_default_count()
+{
+ default_count_i_ = 0;
+}
+
//urg
extern char const* lily_version_number_sz ();
FILE *file = fdopen (fd, "a");
port = scm_standard_stream_to_port (file, "a", "");
scm_display (gh_str02scm ("(load 'lily.scm)\n"), port);
+ scm_display (gh_str02scm ("(define (of) 'ps)\n"), port);
+ scm_display (gh_str02scm ("(define (of) 'tex)\n"), port);
}
scm_display (gh_str02scm ("(display ((eval "), port);
scm_write (scm, port);
- scm_display (gh_str02scm (") 'tex))\n"), port);
+ scm_display (gh_str02scm (") (of)))\n"), port);
scm_newline (port);
scm_fflush (port);
%token PT_T
%token RELATIVE
%token REMOVE
-%token SCHEME /* token vs typedef; can't be named SCM */
+%token SCM_T
+%token SCMFILE
%token SCORE
%token SCRIPT
%token SHAPE
;
embedded_scm:
- SCHEME STRING ';' {
- #ifdef HAVE_LIBGUILE
+ SCMFILE STRING ';' {
+ read_lily_scm_file (*$2);
+ delete $2;
+ }
+ | SCM_T STRING ';' {
gh_eval_str ($2->ch_l ());
- #endif
delete $2;
};
if (dynamic_cast<Text_def *> (script_p->specs_p_)) // UGH
{
Text_def * td_l = (Text_def*)script_p->specs_p_;
- Scalar style = get_property ("textstyle");
- if (style.to_bool ())
+ if (!td_l->style_str_.length_i ())
{
- td_l->style_str_= style;
+ Scalar style = get_property ("textstyle");
+ if (style.to_bool ())
+ td_l->style_str_= style;
}
+ // urg, what if this is already set? in-band signaling...
Scalar alignment = get_property ("textalignment");
if (alignment.isnum_b())
{
Atom a= p->lookup_l(0)->text (style_str_, text_str_);
a.translate_axis (-(align_dir_ + 1)* guess_width_f (a) / 2, X_AXIS);
+ // urg 1/1 is too much; see input/test/vertical-text.ly
+ a.translate_axis (a.dim_.y ().length () * 9 / 10, Y_AXIS);
return a;
}
Molecule* mol_p = new Molecule (a);
if (dir_<0) // should do something better anyway.
- mol_p->translate_axis (-mol_p->extent ().y ().left , Y_AXIS);
+ mol_p->translate_axis (mol_p->extent ().y ().left , Y_AXIS);
mol_p->translate_axis (coordinate_offset_f_, Y_AXIS);
-
return mol_p;
}
Summary: A program for printing sheet music.
URL: http://www.cs.uu.nl/~hanwen/lilypond
Packager: Han-Wen Nienhuys <hanwen@cs.uu.nl>
-Icon: @package@-icon.gif
+# Icon: @package@-icon.gif
BuildRoot: /tmp/lilypond-install
Prereq: tetex
./configure --disable-checking --disable-debugging --enable-printing --prefix=/usr --disable-optimise --enable-shared
make all
make -C Documentation info || true
-make htmldoc
+make htmldoc || true
%install
rm -rf $RPM_BUILD_ROOT
.SUFFIXES: .doc .dvi .mudtex
-$(outdir)/%.dvi: $(outdir)/%.mudtex
- latex '\nonstopmode \input $<'
- mv $(notdir $@) $(outdir)
-$(outdir)/%.mudtex: %.doc
- $(PYTHON) $(depth)/scripts/mudela-book.py --outdir=$(outdir)/ --outname=$(notdir $@) $<
+
+$(outdir)/%.latex: %.doc
+ $(PYTHON) $(depth)/scripts/mudela-book.py --outdir=$(outdir)/ --outname=$(notdir $(basename $@)) $<
Begin3
Titel: LilyPond
-Versie: 1.1.4
-Inschrijf datum: 10NOV98
+Versie: 1.1.5
+Inschrijf datum: 13NOV98
Beschrijving: @FLAPTEKST@
Trefwoorden: muziek typezetten midi notatie
Auteur: hanwen@stack.nl (Han-Wen Nienhuys)
janneke@gnu.org (Jan Nieuwenhuizen)
Onderhouden door: hanwen@cs.ruu.nl (Han-Wen Nienhuys)
Voornaamste plek: sunsite.unc.edu /pub/Linux/apps
- 770k lilypond-1.1.4.tar.gz
+ 770k lilypond-1.1.5.tar.gz
Oorspronkelijke plek: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
- 770k lilypond-1.1.4.tar.gz
+ 770k lilypond-1.1.5.tar.gz
Copi-eer voorwaarden: GPL
End
Begin3
Title: LilyPond
-Version: 1.1.4
-Entered-date: 10NOV98
+Version: 1.1.5
+Entered-date: 13NOV98
Description:
LilyPond is the GNU Project music typesetter. This program can print
beautiful sheet music from a music definition file. It can also play
janneke@gnu.org (Jan Nieuwenhuizen)
Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert
- 770k lilypond-1.1.4.tar.gz
+ 770k lilypond-1.1.5.tar.gz
Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
- 770k lilypond-1.1.4.tar.gz
+ 770k lilypond-1.1.5.tar.gz
Copying-policy: GPL
End
Name: lilypond
-Version: 1.1.4
+Version: 1.1.5
Release: 1
Copyright: GPL
Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.1.4.tar.gz
+Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.1.5.tar.gz
Summary: A program for printing sheet music.
URL: http://www.cs.uu.nl/~hanwen/lilypond
Packager: Han-Wen Nienhuys <hanwen@cs.uu.nl>
-Icon: lilypond-icon.gif
+# Icon: lilypond-icon.gif
BuildRoot: /tmp/lilypond-install
Prereq: tetex
./configure --disable-checking --disable-debugging --enable-printing --prefix=/usr --disable-optimise --enable-shared
make all
make -C Documentation info || true
-make htmldoc
+make htmldoc || true
%install
rm -rf $RPM_BUILD_ROOT
EXTRA_DIST_FILES += TODO README feta.mp mfplain.ini
-
FET_FILES = $(wildcard feta[0-9]*.mf)
LYTABLES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.ly))
LOG_FILES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.log))
TEXTABLES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.tex))
-AFM_FILES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.afm)) $(outdir)/cmr12.afm
+AFM_IN_FILES = $(wildcard *.afm.in)
+AFM_FILES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.afm)) \
+ $(addprefix $(outdir)/, $(AFM_IN_FILES:.in=))
XPM_FONTS = feta20
ALL_GEN_FILES=$(LYTABLES) $(TEXTABLES) $(LOG_FILES) $(AFM_FILES)
--- /dev/null
+FontName cmr
+StartFontMetrics
+StartCharMetrics
+C 0; Character-0; B 0.00 0.00 8.73816 7.16526
+C 1; Character-1; B 0.00 0.00 8.73816 7.16526
+C 2; Character-2; B 0.00 0.00 8.15562 7.16526
+C 3; Character-3; B 0.00 0.00 7.28179 7.16526
+C 4; Character-4; B 0.00 0.00 6.99053 7.16526
+C 5; Character-5; B 0.00 0.00 7.86434 7.16526
+C 6; Character-6; B 0.00 0.00 7.57307 7.16526
+C 7; Character-7; B 0.00 0.00 8.15562 7.16526
+C 8; Character-8; B 0.00 0.00 7.57307 7.16526
+C 9; Character-9; B 0.00 0.00 8.15562 7.16526
+C 10; Character-10; B 0.00 0.00 7.57307 7.16526
+C 11; Character-11; B 0.00 0.00 6.11672 7.28178
+C 12; Character-12; B 0.00 0.00 5.82544 7.28178
+C 13; Character-13; B 0.00 0.00 5.82544 7.28178
+C 14; Character-14; B 0.00 0.00 8.73816 7.28178
+C 15; Character-15; B 0.00 0.00 8.73816 7.28178
+C 16; Character-16; B 0.00 0.00 2.91272 4.51470
+C 17; Character-17; B 0.00 0.00 3.20400 4.51470
+C 18; Character-18; B 0.00 0.00 5.24290 7.28178
+C 19; Character-19; B 0.00 0.00 5.24290 7.28178
+C 20; Character-20; B 0.00 0.00 5.24290 6.59002
+C 21; Character-21; B 0.00 0.00 5.24290 7.28178
+C 22; Character-22; B 0.00 0.00 5.24290 5.95357
+C 23; Character-23; B 0.00 0.00 7.86434 7.28178
+C 24; Character-24; B 0.00 0.00 4.66035 0
+C 25; Character-25; B 0.00 0.00 5.24291 7.28178
+C 26; Character-26; B 0.00 0.00 7.57307 4.51470
+C 27; Character-27; B 0.00 0.00 8.15562 4.51470
+C 28; Character-28; B 0.00 0.00 5.24290 5.53416
+C 29; Character-29; B 0.00 0.00 9.46634 7.16526
+C 30; Character-30; B 0.00 0.00 10.63142 7.16526
+C 31; Character-31; B 0.00 0.00 8.15562 7.67499
+C 32; Character-32; B 0.00 0.00 2.91272 4.51470
+C 33; Character-33; B 0.00 0.00 2.91272 7.28178
+C 34; Character-34; B 0.00 0.00 5.24290 7.28178
+C 35; Character-35; B 0.00 0.00 8.73816 7.28178
+C 36; Character-36; B 0.00 0.00 5.24290 7.86432
+C 37; Character-37; B 0.00 0.00 8.73816 7.86432
+C 38; Character-38; B 0.00 0.00 8.15562 7.28178
+C 39; Character-39; B 0.00 0.00 2.91272 7.28178
+C 40; Character-40; B 0.00 0.00 4.07781 7.86432
+C 41; Character-41; B 0.00 0.00 4.07781 7.86432
+C 42; Character-42; B 0.00 0.00 5.24290 7.86432
+C 43; Character-43; B 0.00 0.00 8.15562 6.11670
+C 44; Character-44; B 0.00 0.00 2.91272 1.10683
+C 45; Character-45; B 0.00 0.00 3.49526 4.51470
+C 46; Character-46; B 0.00 0.00 2.91272 1.10683
+C 47; Character-47; B 0.00 0.00 5.24290 7.86432
+C 48; Character-48; B 0.00 0.00 5.24290 6.75749
+C 49; Character-49; B 0.00 0.00 5.24290 6.75749
+C 50; Character-50; B 0.00 0.00 5.24290 6.75749
+C 51; Character-51; B 0.00 0.00 5.24290 6.75749
+C 52; Character-52; B 0.00 0.00 5.24290 6.75749
+C 53; Character-53; B 0.00 0.00 5.24290 6.75749
+C 54; Character-54; B 0.00 0.00 5.24290 6.75749
+C 55; Character-55; B 0.00 0.00 5.24290 6.75749
+C 56; Character-56; B 0.00 0.00 5.24290 6.75749
+C 57; Character-57; B 0.00 0.00 5.24290 6.75749
+C 58; Character-58; B 0.00 0.00 2.91272 4.51470
+C 59; Character-59; B 0.00 0.00 2.91272 4.51470
+C 60; Character-60; B 0.00 0.00 2.91272 5.24288
+C 61; Character-61; B 0.00 0.00 8.15562 3.84696
+C 62; Character-62; B 0.00 0.00 4.95163 5.24288
+C 63; Character-63; B 0.00 0.00 4.95163 7.28178
+C 64; Character-64; B 0.00 0.00 8.15562 7.28178
+C 65; Character-65; B 0.00 0.00 7.86434 7.16526
+C 66; Character-66; B 0.00 0.00 7.42744 7.16526
+C 67; Character-67; B 0.00 0.00 7.57307 7.16526
+C 68; Character-68; B 0.00 0.00 8.00998 7.16526
+C 69; Character-69; B 0.00 0.00 7.13616 7.16526
+C 70; Character-70; B 0.00 0.00 6.84490 7.16526
+C 71; Character-71; B 0.00 0.00 8.22843 7.16526
+C 72; Character-72; B 0.00 0.00 7.86434 7.16526
+C 73; Character-73; B 0.00 0.00 3.78653 7.16526
+C 74; Character-74; B 0.00 0.00 5.38853 7.16526
+C 75; Character-75; B 0.00 0.00 8.15562 7.16526
+C 76; Character-76; B 0.00 0.00 6.55362 7.16526
+C 77; Character-77; B 0.00 0.00 9.61197 7.16526
+C 78; Character-78; B 0.00 0.00 7.86434 7.16526
+C 79; Character-79; B 0.00 0.00 8.15562 7.16526
+C 80; Character-80; B 0.00 0.00 7.13616 7.16526
+C 81; Character-81; B 0.00 0.00 8.15562 7.16526
+C 82; Character-82; B 0.00 0.00 7.71870 7.16526
+C 83; Character-83; B 0.00 0.00 5.82544 7.16526
+C 84; Character-84; B 0.00 0.00 7.57307 7.16526
+C 85; Character-85; B 0.00 0.00 7.86434 7.16526
+C 86; Character-86; B 0.00 0.00 7.86434 7.16526
+C 87; Character-87; B 0.00 0.00 10.77706 7.16526
+C 88; Character-88; B 0.00 0.00 7.86434 7.16526
+C 89; Character-89; B 0.00 0.00 7.86434 7.16526
+C 90; Character-90; B 0.00 0.00 6.40798 7.16526
+C 91; Character-91; B 0.00 0.00 2.91272 7.86432
+C 92; Character-92; B 0.00 0.00 5.24290 7.28178
+C 93; Character-93; B 0.00 0.00 2.91272 7.86432
+C 94; Character-94; B 0.00 0.00 5.24290 7.28178
+C 95; Character-95; B 0.00 0.00 2.91272 7.00301
+C 96; Character-96; B 0.00 0.00 2.91272 7.28178
+C 97; Character-97; B 0.00 0.00 5.24290 4.51470
+C 98; Character-98; B 0.00 0.00 5.82544 7.28178
+C 99; Character-99; B 0.00 0.00 4.66035 4.51470
+C 100; Character-100; B 0.00 0.00 5.82544 7.28178
+C 101; Character-101; B 0.00 0.00 4.66035 4.51470
+C 102; Character-102; B 0.00 0.00 3.20400 7.28178
+C 103; Character-103; B 0.00 0.00 5.24290 4.51470
+C 104; Character-104; B 0.00 0.00 5.82544 7.28178
+C 105; Character-105; B 0.00 0.00 2.91272 7.00301
+C 106; Character-106; B 0.00 0.00 3.20400 7.00301
+C 107; Character-107; B 0.00 0.00 5.53418 7.28178
+C 108; Character-108; B 0.00 0.00 2.91272 7.28178
+C 109; Character-109; B 0.00 0.00 8.73816 4.51470
+C 110; Character-110; B 0.00 0.00 5.82544 4.51470
+C 111; Character-111; B 0.00 0.00 5.24290 4.51470
+C 112; Character-112; B 0.00 0.00 5.82544 4.51470
+C 113; Character-113; B 0.00 0.00 5.53416 4.51470
+C 114; Character-114; B 0.00 0.00 4.10694 4.51470
+C 115; Character-115; B 0.00 0.00 4.13606 4.51470
+C 116; Character-116; B 0.00 0.00 4.07781 6.44958
+C 117; Character-117; B 0.00 0.00 5.82544 4.51470
+C 118; Character-118; B 0.00 0.00 5.53418 4.51470
+C 119; Character-119; B 0.00 0.00 7.57307 4.51470
+C 120; Character-120; B 0.00 0.00 5.53418 4.51470
+C 121; Character-121; B 0.00 0.00 5.53418 4.51470
+C 122; Character-122; B 0.00 0.00 4.66035 4.51470
+C 123; Character-123; B 0.00 0.00 5.24290 4.51470
+C 124; Character-124; B 0.00 0.00 10.48579 4.51470
+C 125; Character-125; B 0.00 0.00 5.24290 7.28178
+C 126; Character-126; B 0.00 0.00 5.24290 7.00301
+C 127; Character-127; B 0.00 0.00 5.24290 7.00301
+EndCharMetrics
+EndFontMetrics
+++ /dev/null
-FontName cmr
-StartFontMetrics
-StartCharMetrics
-C 0; Character-0 ; B 0.00 0.00 6.00 7.00 ;
-C 1; Character-1 ; B 0.00 0.00 6.00 7.00 ;
-C 2; Character-2 ; B 0.00 0.00 6.00 7.00 ;
-C 3; Character-3 ; B 0.00 0.00 6.00 7.00 ;
-C 4; Character-4 ; B 0.00 0.00 6.00 7.00 ;
-C 5; Character-5 ; B 0.00 0.00 6.00 7.00 ;
-C 6; Character-6 ; B 0.00 0.00 6.00 7.00 ;
-C 7; Character-7 ; B 0.00 0.00 6.00 7.00 ;
-C 8; Character-8 ; B 0.00 0.00 6.00 7.00 ;
-C 9; Character-9 ; B 0.00 0.00 6.00 7.00 ;
-C 10; Character-10 ; B 0.00 0.00 6.00 7.00 ;
-C 11; Character-11 ; B 0.00 0.00 6.00 7.00 ;
-C 12; Character-12 ; B 0.00 0.00 6.00 7.00 ;
-C 13; Character-13 ; B 0.00 0.00 6.00 7.00 ;
-C 14; Character-14 ; B 0.00 0.00 6.00 7.00 ;
-C 15; Character-15 ; B 0.00 0.00 6.00 7.00 ;
-C 16; Character-16 ; B 0.00 0.00 6.00 7.00 ;
-C 17; Character-17 ; B 0.00 0.00 6.00 7.00 ;
-C 18; Character-18 ; B 0.00 0.00 6.00 7.00 ;
-C 19; Character-19 ; B 0.00 0.00 6.00 7.00 ;
-C 20; Character-20 ; B 0.00 0.00 6.00 7.00 ;
-C 21; Character-21 ; B 0.00 0.00 6.00 7.00 ;
-C 22; Character-22 ; B 0.00 0.00 6.00 7.00 ;
-C 23; Character-23 ; B 0.00 0.00 6.00 7.00 ;
-C 24; Character-24 ; B 0.00 0.00 6.00 7.00 ;
-C 25; Character-25 ; B 0.00 0.00 6.00 7.00 ;
-C 26; Character-26 ; B 0.00 0.00 6.00 7.00 ;
-C 27; Character-27 ; B 0.00 0.00 6.00 7.00 ;
-C 28; Character-28 ; B 0.00 0.00 6.00 7.00 ;
-C 29; Character-29 ; B 0.00 0.00 6.00 7.00 ;
-C 30; Character-30 ; B 0.00 0.00 6.00 7.00 ;
-C 31; Character-31 ; B 0.00 0.00 6.00 7.00 ;
-C 32; Character-32 ; B 0.00 0.00 6.00 7.00 ;
-C 33; Character-33 ; B 0.00 0.00 6.00 7.00 ;
-C 34; Character-34 ; B 0.00 0.00 6.00 7.00 ;
-C 35; Character-35 ; B 0.00 0.00 6.00 7.00 ;
-C 36; Character-36 ; B 0.00 0.00 6.00 7.00 ;
-C 37; Character-37 ; B 0.00 0.00 6.00 7.00 ;
-C 38; Character-38 ; B 0.00 0.00 6.00 7.00 ;
-C 39; Character-39 ; B 0.00 0.00 6.00 7.00 ;
-C 40; Character-40 ; B 0.00 0.00 6.00 7.00 ;
-C 41; Character-41 ; B 0.00 0.00 6.00 7.00 ;
-C 42; Character-42 ; B 0.00 0.00 6.00 7.00 ;
-C 43; Character-43 ; B 0.00 0.00 6.00 7.00 ;
-C 44; Character-44 ; B 0.00 0.00 6.00 7.00 ;
-C 45; Character-45 ; B 0.00 0.00 6.00 7.00 ;
-C 46; Character-46 ; B 0.00 0.00 6.00 7.00 ;
-C 47; Character-47 ; B 0.00 0.00 6.00 7.00 ;
-C 48; Character-48 ; B 0.00 0.00 6.00 7.00 ;
-C 49; Character-49 ; B 0.00 0.00 6.00 7.00 ;
-C 50; Character-50 ; B 0.00 0.00 6.00 7.00 ;
-C 51; Character-51 ; B 0.00 0.00 6.00 7.00 ;
-C 52; Character-52 ; B 0.00 0.00 6.00 7.00 ;
-C 53; Character-53 ; B 0.00 0.00 6.00 7.00 ;
-C 54; Character-54 ; B 0.00 0.00 6.00 7.00 ;
-C 55; Character-55 ; B 0.00 0.00 6.00 7.00 ;
-C 56; Character-56 ; B 0.00 0.00 6.00 7.00 ;
-C 57; Character-57 ; B 0.00 0.00 6.00 7.00 ;
-C 58; Character-58 ; B 0.00 0.00 6.00 7.00 ;
-C 59; Character-59 ; B 0.00 0.00 6.00 7.00 ;
-C 60; Character-60 ; B 0.00 0.00 6.00 7.00 ;
-C 61; Character-61 ; B 0.00 0.00 6.00 7.00 ;
-C 62; Character-62 ; B 0.00 0.00 6.00 7.00 ;
-C 63; Character-63 ; B 0.00 0.00 6.00 7.00 ;
-C 64; Character-64 ; B 0.00 0.00 6.00 7.00 ;
-C 65; Character-A ; B 0.00 0.00 7.50 7.00 ;
-C 66; Character-B ; B 0.00 0.00 7.50 7.00 ;
-C 67; Character-C ; B 0.00 0.00 7.50 7.00 ;
-C 68; Character-D ; B 0.00 0.00 7.50 7.00 ;
-C 69; Character-E ; B 0.00 0.00 7.50 7.00 ;
-C 70; Character-F ; B 0.00 0.00 7.50 7.00 ;
-C 71; Character-G ; B 0.00 0.00 7.50 7.00 ;
-C 72; Character-H ; B 0.00 0.00 7.50 7.00 ;
-C 73; Character-I ; B 0.00 0.00 4.00 7.00 ;
-C 74; Character-J ; B 0.00 0.00 7.50 7.00 ;
-C 75; Character-K ; B 0.00 0.00 7.50 7.00 ;
-C 76; Character-L ; B 0.00 0.00 7.50 7.00 ;
-C 77; Character-M ; B 0.00 0.00 11.00 7.00 ;
-C 78; Character-N ; B 0.00 0.00 7.50 7.00 ;
-C 79; Character-O ; B 0.00 0.00 7.50 7.00 ;
-C 80; Character-P ; B 0.00 0.00 7.50 7.00 ;
-C 81; Character-Q ; B 0.00 0.00 7.50 7.00 ;
-C 82; Character-R ; B 0.00 0.00 7.50 7.00 ;
-C 83; Character-S ; B 0.00 0.00 7.50 7.00 ;
-C 84; Character-T ; B 0.00 0.00 7.50 7.00 ;
-C 85; Character-U ; B 0.00 0.00 7.50 7.00 ;
-C 86; Character-V ; B 0.00 0.00 7.50 7.00 ;
-C 87; Character-W ; B 0.00 0.00 11.00 7.00 ;
-C 88; Character-X ; B 0.00 0.00 7.50 7.00 ;
-C 89; Character-Y ; B 0.00 0.00 7.50 7.00 ;
-C 90; Character-Z ; B 0.00 0.00 7.50 7.00 ;
-C 81; Character-81 ; B 0.00 0.00 7.50 7.00 ;
-C 92; Character-92 ; B 0.00 0.00 6.00 7.00 ;
-C 93; Character-93 ; B 0.00 0.00 6.00 7.00 ;
-C 94; Character-94 ; B 0.00 0.00 6.00 7.00 ;
-C 95; Character-95 ; B 0.00 0.00 6.00 7.00 ;
-C 96; Character-96 ; B 0.00 0.00 6.00 7.00 ;
-C 97; Character-a ; B 0.00 0.00 6.00 7.00 ;
-C 98; Character-98 ; B 0.00 0.00 6.00 7.00 ;
-C 99; Character-99 ; B 0.00 0.00 6.00 7.00 ;
-C 100; Character-100 ; B 0.00 0.00 6.00 7.00 ;
-C 101; Character-101 ; B 0.00 0.00 6.00 7.00 ;
-C 102; Character-102 ; B 0.00 0.00 6.00 7.00 ;
-C 103; Character-103 ; B 0.00 0.00 6.00 7.00 ;
-C 104; Character-104 ; B 0.00 0.00 6.00 7.00 ;
-C 105; Character-i ; B 0.00 0.00 3.00 7.00 ;
-C 106; Character-j ; B 0.00 0.00 3.50 7.00 ;
-C 107; Character-k ; B 0.00 0.00 6.00 7.00 ;
-C 108; Character-l ; B 0.00 0.00 3.00 7.00 ;
-C 109; Character-m ; B 0.00 0.00 7.00 7.00 ;
-C 110; Character-n ; B 0.00 0.00 6.00 7.00 ;
-C 111; Character-o ; B 0.00 0.00 6.00 7.00 ;
-C 112; Character-p ; B 0.00 0.00 6.00 7.00 ;
-C 113; Character-q ; B 0.00 0.00 6.00 7.00 ;
-C 114; Character-r ; B 0.00 0.00 6.00 7.00 ;
-C 115; Character-s ; B 0.00 0.00 6.00 7.00 ;
-C 116; Character-t ; B 0.00 0.00 6.00 7.00 ;
-C 117; Character-u ; B 0.00 0.00 6.00 7.00 ;
-C 118; Character-v ; B 0.00 0.00 6.00 7.00 ;
-C 119; Character-w ; B 0.00 0.00 7.00 7.00 ;
-C 120; Character-x ; B 0.00 0.00 6.00 7.00 ;
-C 121; Character-y ; B 0.00 0.00 6.00 7.00 ;
-C 122; Character-z ; B 0.00 0.00 6.00 7.00 ;
-EndCharMetrics
-EndFontMetrics
--- /dev/null
+FontName cmr
+StartFontMetrics
+StartCharMetrics
+C 0; Character-0; B 0.00 0.00 7.73700 7.16526
+C 1; Character-1; B 0.00 0.00 7.73700 7.16526
+C 2; Character-2; B 0.00 0.00 7.22120 7.16526
+C 3; Character-3; B 0.00 0.00 6.43840 7.16526
+C 4; Character-4; B 0.00 0.00 6.18960 7.16526
+C 5; Character-5; B 0.00 0.00 6.95420 7.16526
+C 6; Character-6; B 0.00 0.00 6.70540 7.16526
+C 7; Character-7; B 0.00 0.00 7.22120 7.16526
+C 8; Character-8; B 0.00 0.00 6.70540 7.16526
+C 9; Character-9; B 0.00 0.00 7.22120 7.16526
+C 10; Character-10; B 0.00 0.00 6.70540 7.16526
+C 11; Character-11; B 0.00 0.00 5.41590 7.28178
+C 12; Character-12; B 0.00 0.00 5.15800 7.28178
+C 13; Character-13; B 0.00 0.00 5.15800 7.28178
+C 14; Character-14; B 0.00 0.00 7.73700 7.28178
+C 15; Character-15; B 0.00 0.00 7.73700 7.28178
+C 16; Character-16; B 0.00 0.00 2.57900 4.51470
+C 17; Character-17; B 0.00 0.00 2.83690 4.51470
+C 18; Character-18; B 0.00 0.00 4.64220 7.28178
+C 19; Character-19; B 0.00 0.00 4.64220 7.28178
+C 20; Character-20; B 0.00 0.00 4.64220 6.59002
+C 21; Character-21; B 0.00 0.00 4.64220 7.28178
+C 22; Character-22; B 0.00 0.00 4.64220 6.01474
+C 23; Character-23; B 0.00 0.00 6.95420 7.28178
+C 24; Character-24; B 0.00 0.00 4.12640 0
+C 25; Character-25; B 0.00 0.00 4.64220 7.28178
+C 26; Character-26; B 0.00 0.00 6.70540 4.51470
+C 27; Character-27; B 0.00 0.00 7.22120 4.51470
+C 28; Character-28; B 0.00 0.00 4.64220 5.53416
+C 29; Character-29; B 0.00 0.00 8.37720 7.16526
+C 30; Character-30; B 0.00 0.00 9.40880 7.16526
+C 31; Character-31; B 0.00 0.00 7.22120 7.67498
+C 32; Character-32; B 0.00 0.00 2.57900 4.51470
+C 33; Character-33; B 0.00 0.00 2.57900 7.28178
+C 34; Character-34; B 0.00 0.00 4.64220 7.28178
+C 35; Character-35; B 0.00 0.00 7.73700 7.28178
+C 36; Character-36; B 0.00 0.00 4.64220 7.86432
+C 37; Character-37; B 0.00 0.00 7.73700 7.86432
+C 38; Character-38; B 0.00 0.00 7.22120 7.28178
+C 39; Character-39; B 0.00 0.00 2.57900 7.28178
+C 40; Character-40; B 0.00 0.00 3.61060 7.86432
+C 41; Character-41; B 0.00 0.00 3.61060 7.86432
+C 42; Character-42; B 0.00 0.00 4.64220 7.86432
+C 43; Character-43; B 0.00 0.00 7.22120 6.33520
+C 44; Character-44; B 0.00 0.00 2.57900 1.16508
+C 45; Character-45; B 0.00 0.00 3.09480 4.51470
+C 46; Character-46; B 0.00 0.00 2.57900 1.16508
+C 47; Character-47; B 0.00 0.00 4.64220 7.86432
+C 48; Character-48; B 0.00 0.00 4.64220 6.75750
+C 49; Character-49; B 0.00 0.00 4.64220 6.75750
+C 50; Character-50; B 0.00 0.00 4.64220 6.75750
+C 51; Character-51; B 0.00 0.00 4.64220 6.75750
+C 52; Character-52; B 0.00 0.00 4.64220 6.75750
+C 53; Character-53; B 0.00 0.00 4.64220 6.75750
+C 54; Character-54; B 0.00 0.00 4.64220 6.75750
+C 55; Character-55; B 0.00 0.00 4.64220 6.75750
+C 56; Character-56; B 0.00 0.00 4.64220 6.75750
+C 57; Character-57; B 0.00 0.00 4.64220 6.75750
+C 58; Character-58; B 0.00 0.00 2.57900 4.51470
+C 59; Character-59; B 0.00 0.00 2.57900 4.51470
+C 60; Character-60; B 0.00 0.00 2.57900 5.24288
+C 61; Character-61; B 0.00 0.00 7.22120 3.96348
+C 62; Character-62; B 0.00 0.00 4.38430 5.24288
+C 63; Character-63; B 0.00 0.00 4.38430 7.28178
+C 64; Character-64; B 0.00 0.00 7.22120 7.28178
+C 65; Character-65; B 0.00 0.00 6.95420 7.16526
+C 66; Character-66; B 0.00 0.00 6.57190 7.16526
+C 67; Character-67; B 0.00 0.00 6.70540 7.16526
+C 68; Character-68; B 0.00 0.00 7.08770 7.16526
+C 69; Character-69; B 0.00 0.00 6.31400 7.16526
+C 70; Character-70; B 0.00 0.00 6.05610 7.16526
+C 71; Character-71; B 0.00 0.00 7.28340 7.16526
+C 72; Character-72; B 0.00 0.00 6.95420 7.16526
+C 73; Character-73; B 0.00 0.00 3.34360 7.16526
+C 74; Character-74; B 0.00 0.00 4.76660 7.16526
+C 75; Character-75; B 0.00 0.00 7.21210 7.16526
+C 76; Character-76; B 0.00 0.00 5.79820 7.16526
+C 77; Character-77; B 0.00 0.00 8.50160 7.16526
+C 78; Character-78; B 0.00 0.00 6.95420 7.16526
+C 79; Character-79; B 0.00 0.00 7.22120 7.16526
+C 80; Character-80; B 0.00 0.00 6.31400 7.16526
+C 81; Character-81; B 0.00 0.00 7.22120 7.16526
+C 82; Character-82; B 0.00 0.00 6.82980 7.16526
+C 83; Character-83; B 0.00 0.00 5.15800 7.16526
+C 84; Character-84; B 0.00 0.00 6.70540 7.16526
+C 85; Character-85; B 0.00 0.00 6.95420 7.16526
+C 86; Character-86; B 0.00 0.00 6.95420 7.16526
+C 87; Character-87; B 0.00 0.00 9.53320 7.16526
+C 88; Character-88; B 0.00 0.00 6.95420 7.16526
+C 89; Character-89; B 0.00 0.00 6.95420 7.16526
+C 90; Character-90; B 0.00 0.00 5.67380 7.16526
+C 91; Character-91; B 0.00 0.00 2.57900 7.86432
+C 92; Character-92; B 0.00 0.00 4.64220 7.28178
+C 93; Character-93; B 0.00 0.00 2.57900 7.86432
+C 94; Character-94; B 0.00 0.00 4.64220 7.28178
+C 95; Character-95; B 0.00 0.00 2.57900 7.03212
+C 96; Character-96; B 0.00 0.00 2.57900 7.28178
+C 97; Character-97; B 0.00 0.00 4.64220 4.51470
+C 98; Character-98; B 0.00 0.00 5.15800 7.28178
+C 99; Character-99; B 0.00 0.00 4.12640 4.51470
+C 100; Character-100; B 0.00 0.0 5.15800 7.28178
+C 101; Character-101; B 0.00 0.0 4.12640 4.51470
+C 102; Character-102; B 0.00 0.0 2.83690 7.28178
+C 103; Character-103; B 0.00 0.0 4.64220 4.51470
+C 104; Character-104; B 0.00 0.0 5.15800 7.28178
+C 105; Character-105; B 0.00 0.0 2.57900 7.03212
+C 106; Character-106; B 0.00 0.0 2.83690 7.03212
+C 107; Character-107; B 0.00 0.0 4.90010 7.28178
+C 108; Character-108; B 0.00 0.0 2.57900 7.28178
+C 109; Character-109; B 0.00 0.0 7.73700 4.51470
+C 110; Character-110; B 0.00 0.0 5.15800 4.51470
+C 111; Character-111; B 0.00 0.0 4.64220 4.51470
+C 112; Character-112; B 0.00 0.0 5.15800 4.51470
+C 113; Character-113; B 0.00 0.0 4.90010 4.51470
+C 114; Character-114; B 0.00 0.0 3.61818 4.51470
+C 115; Character-115; B 0.00 0.0 3.66218 4.51470
+C 116; Character-116; B 0.00 0.0 3.61060 6.44958
+C 117; Character-117; B 0.00 0.0 5.15800 4.51470
+C 118; Character-118; B 0.00 0.0 4.90010 4.51470
+C 119; Character-119; B 0.00 0.0 6.70540 4.51470
+C 120; Character-120; B 0.00 0.0 4.90010 4.51470
+C 121; Character-121; B 0.00 0.0 4.90010 4.51470
+C 122; Character-122; B 0.00 0.0 4.12640 4.51470
+C 123; Character-123; B 0.00 0.0 4.64220 4.51470
+C 124; Character-124; B 0.00 0.0 9.28440 4.51470
+C 125; Character-125; B 0.00 0.0 4.64220 7.28178
+C 126; Character-126; B 0.00 0.0 4.64220 7.03212
+C 127; Character-127; B 0.00 0.0 4.64220 7.03212
+EndCharMetrics
+EndFontMetrics
--- /dev/null
+FontName cmr
+StartFontMetrics
+StartCharMetrics
+C 0; Character-0; B 0.00 0.00 8.57498 7.16526
+C 1; Character-1; B 0.00 0.00 8.57498 7.16526
+C 2; Character-2; B 0.00 0.00 8.03904 7.16526
+C 3; Character-3; B 0.00 0.00 7.25843 7.16526
+C 4; Character-4; B 0.00 0.00 6.96717 7.16526
+C 5; Character-5; B 0.00 0.00 7.79437 7.16526
+C 6; Character-6; B 0.00 0.00 7.50310 7.16526
+C 7; Character-7; B 0.00 0.00 8.03904 7.16526
+C 8; Character-8; B 0.00 0.00 7.50310 7.16526
+C 9; Character-9; B 0.00 0.00 8.03904 7.16526
+C 10; Character-10; B 0.00 0.00 7.50310 7.16526
+C 11; Character-11; B 0.00 0.00 6.43123 7.28178
+C 12; Character-12; B 0.00 0.00 5.89530 7.28178
+C 13; Character-13; B 0.00 0.00 6.16326 7.28178
+C 14; Character-14; B 0.00 0.00 9.24490 7.28178
+C 15; Character-15; B 0.00 0.00 9.37888 7.28178
+C 16; Character-16; B 0.00 0.00 3.21562 4.51470
+C 17; Character-17; B 0.00 0.00 3.48358 4.51470
+C 18; Character-18; B 0.00 0.00 5.35936 7.28178
+C 19; Character-19; B 0.00 0.00 5.35936 7.28178
+C 20; Character-20; B 0.00 0.00 5.35936 6.59002
+C 21; Character-21; B 0.00 0.00 5.35936 7.28178
+C 22; Character-22; B 0.00 0.00 5.35936 5.88949
+C 23; Character-23; B 0.00 0.00 8.71672 7.28178
+C 24; Character-24; B 0.00 0.00 4.82342 0
+C 25; Character-25; B 0.00 0.00 5.62733 7.28178
+C 26; Character-26; B 0.00 0.00 7.50310 4.51470
+C 27; Character-27; B 0.00 0.00 7.50310 4.51470
+C 28; Character-28; B 0.00 0.00 5.35936 5.53416
+C 29; Character-29; B 0.00 0.00 9.25654 7.16526
+C 30; Character-30; B 0.00 0.00 10.32842 7.16526
+C 31; Character-31; B 0.00 0.00 8.03904 7.67499
+C 32; Character-32; B 0.00 0.00 2.67968 4.51470
+C 33; Character-33; B 0.00 0.00 3.21562 7.28178
+C 34; Character-34; B 0.00 0.00 5.39432 7.28178
+C 35; Character-35; B 0.00 0.00 8.57498 7.28178
+C 36; Character-36; B 0.00 0.00 8.06453 7.28178
+C 37; Character-37; B 0.00 0.00 8.57498 7.86432
+C 38; Character-38; B 0.00 0.00 8.03904 7.28178
+C 39; Character-39; B 0.00 0.00 3.21562 7.28178
+C 40; Character-40; B 0.00 0.00 4.28749 7.86432
+C 41; Character-41; B 0.00 0.00 4.28749 7.86432
+C 42; Character-42; B 0.00 0.00 5.35936 7.86432
+C 43; Character-43; B 0.00 0.00 8.03904 5.88949
+C 44; Character-44; B 0.00 0.00 3.21562 1.10683
+C 45; Character-45; B 0.00 0.00 3.75155 4.51470
+C 46; Character-46; B 0.00 0.00 3.21562 1.10683
+C 47; Character-47; B 0.00 0.00 5.35936 7.86432
+C 48; Character-48; B 0.00 0.00 5.35936 6.75749
+C 49; Character-49; B 0.00 0.00 5.35936 6.75749
+C 50; Character-50; B 0.00 0.00 5.35936 6.75749
+C 51; Character-51; B 0.00 0.00 5.35936 6.75749
+C 52; Character-52; B 0.00 0.00 5.35936 6.75749
+C 53; Character-53; B 0.00 0.00 5.35936 6.75749
+C 54; Character-54; B 0.00 0.00 5.35936 6.75749
+C 55; Character-55; B 0.00 0.00 5.35936 6.75749
+C 56; Character-56; B 0.00 0.00 5.35936 6.75749
+C 57; Character-57; B 0.00 0.00 5.35936 6.75749
+C 58; Character-58; B 0.00 0.00 3.21562 4.51470
+C 59; Character-59; B 0.00 0.00 3.21562 4.51470
+C 60; Character-60; B 0.00 0.00 3.21562 5.24288
+C 61; Character-61; B 0.00 0.00 8.03904 3.84696
+C 62; Character-62; B 0.00 0.00 5.35936 5.24288
+C 63; Character-63; B 0.00 0.00 5.35936 7.28178
+C 64; Character-64; B 0.00 0.00 8.03904 7.28178
+C 65; Character-65; B 0.00 0.00 7.79437 7.16526
+C 66; Character-66; B 0.00 0.00 7.38077 7.16526
+C 67; Character-67; B 0.00 0.00 7.50310 7.16526
+C 68; Character-68; B 0.00 0.00 7.91670 7.16526
+C 69; Character-69; B 0.00 0.00 7.11280 7.16526
+C 70; Character-70; B 0.00 0.00 6.84483 7.16526
+C 71; Character-71; B 0.00 0.00 8.11186 7.16526
+C 72; Character-72; B 0.00 0.00 7.79437 7.16526
+C 73; Character-73; B 0.00 0.00 4.04282 7.16526
+C 74; Character-74; B 0.00 0.00 5.50499 7.16526
+C 75; Character-75; B 0.00 0.00 8.06234 7.16526
+C 76; Character-76; B 0.00 0.00 6.57686 7.16526
+C 77; Character-77; B 0.00 0.00 9.40218 7.16526
+C 78; Character-78; B 0.00 0.00 7.79437 7.16526
+C 79; Character-79; B 0.00 0.00 8.03904 7.16526
+C 80; Character-80; B 0.00 0.00 7.11280 7.16526
+C 81; Character-81; B 0.00 0.00 8.03904 7.16526
+C 82; Character-82; B 0.00 0.00 7.64874 7.16526
+C 83; Character-83; B 0.00 0.00 5.89530 7.16526
+C 84; Character-84; B 0.00 0.00 7.50310 7.16526
+C 85; Character-85; B 0.00 0.00 7.79437 7.16526
+C 86; Character-86; B 0.00 0.00 7.79437 7.16526
+C 87; Character-87; B 0.00 0.00 10.47405 7.16526
+C 88; Character-88; B 0.00 0.00 7.79437 7.16526
+C 89; Character-89; B 0.00 0.00 7.79437 7.16526
+C 90; Character-90; B 0.00 0.00 6.43123 7.16526
+C 91; Character-91; B 0.00 0.00 3.21562 7.86432
+C 92; Character-92; B 0.00 0.00 5.39432 7.28178
+C 93; Character-93; B 0.00 0.00 3.21562 7.86432
+C 94; Character-94; B 0.00 0.00 5.35936 7.28178
+C 95; Character-95; B 0.00 0.00 3.21562 7.00301
+C 96; Character-96; B 0.00 0.00 3.21562 7.28178
+C 97; Character-97; B 0.00 0.00 5.35936 4.51470
+C 98; Character-98; B 0.00 0.00 4.82342 7.28178
+C 99; Character-99; B 0.00 0.00 4.82342 4.51470
+C 100; Character-100; B 0.00 0.00 5.35936 7.28178
+C 101; Character-101; B 0.00 0.00 4.82342 4.51470
+C 102; Character-102; B 0.00 0.00 3.21562 7.28178
+C 103; Character-103; B 0.00 0.00 4.82342 4.51470
+C 104; Character-104; B 0.00 0.00 5.35936 7.28178
+C 105; Character-105; B 0.00 0.00 3.21562 6.87194
+C 106; Character-106; B 0.00 0.00 3.21562 6.87194
+C 107; Character-107; B 0.00 0.00 4.82342 7.28178
+C 108; Character-108; B 0.00 0.00 2.67968 7.28178
+C 109; Character-109; B 0.00 0.00 8.57498 4.51470
+C 110; Character-110; B 0.00 0.00 5.89530 4.51470
+C 111; Character-111; B 0.00 0.00 5.35936 4.51470
+C 112; Character-112; B 0.00 0.00 5.35936 4.51470
+C 113; Character-113; B 0.00 0.00 4.82342 4.51470
+C 114; Character-114; B 0.00 0.00 4.42147 4.51470
+C 115; Character-115; B 0.00 0.00 4.28749 4.51470
+C 116; Character-116; B 0.00 0.00 3.48358 6.44958
+C 117; Character-117; B 0.00 0.00 5.62733 4.51470
+C 118; Character-118; B 0.00 0.00 4.82342 4.51470
+C 119; Character-119; B 0.00 0.00 6.96717 4.51470
+C 120; Character-120; B 0.00 0.00 4.86421 4.51470
+C 121; Character-121; B 0.00 0.00 5.09139 4.51470
+C 122; Character-122; B 0.00 0.00 4.28749 4.51470
+C 123; Character-123; B 0.00 0.00 5.35936 4.51470
+C 124; Character-124; B 0.00 0.00 10.71872 4.51470
+C 125; Character-125; B 0.00 0.00 5.35936 7.28178
+C 126; Character-126; B 0.00 0.00 5.35936 7.00301
+C 127; Character-127; B 0.00 0.00 5.35936 7.00301
+EndCharMetrics
+EndFontMetrics
--- /dev/null
+FontName cmr
+StartFontMetrics
+StartCharMetrics
+C 0; Character-0; B 0.00 0.00 7.73700 7.16526
+C 1; Character-1; B 0.00 0.00 7.73700 7.16526
+C 2; Character-2; B 0.00 0.00 7.22120 7.16526
+C 3; Character-3; B 0.00 0.00 6.43840 7.16526
+C 4; Character-4; B 0.00 0.00 6.18960 7.16526
+C 5; Character-5; B 0.00 0.00 6.95420 7.16526
+C 6; Character-6; B 0.00 0.00 6.70540 7.16526
+C 7; Character-7; B 0.00 0.00 7.22120 7.16526
+C 8; Character-8; B 0.00 0.00 6.70540 7.16526
+C 9; Character-9; B 0.00 0.00 7.22120 7.16526
+C 10; Character-10; B 0.00 0.00 6.70540 7.16526
+C 11; Character-11; B 0.00 0.00 5.41590 7.28178
+C 12; Character-12; B 0.00 0.00 5.15800 7.28178
+C 13; Character-13; B 0.00 0.00 5.15800 7.28178
+C 14; Character-14; B 0.00 0.00 7.73700 7.28178
+C 15; Character-15; B 0.00 0.00 7.73700 7.28178
+C 16; Character-16; B 0.00 0.00 2.57900 4.51470
+C 17; Character-17; B 0.00 0.00 2.83690 4.51470
+C 18; Character-18; B 0.00 0.00 4.64220 7.28178
+C 19; Character-19; B 0.00 0.00 4.64220 7.28178
+C 20; Character-20; B 0.00 0.00 4.64220 6.59002
+C 21; Character-21; B 0.00 0.00 4.64220 7.28178
+C 22; Character-22; B 0.00 0.00 4.64220 6.01474
+C 23; Character-23; B 0.00 0.00 6.95420 7.28178
+C 24; Character-24; B 0.00 0.00 4.12640 0
+C 25; Character-25; B 0.00 0.00 4.64220 7.28178
+C 26; Character-26; B 0.00 0.00 6.70540 4.51470
+C 27; Character-27; B 0.00 0.00 7.22120 4.51470
+C 28; Character-28; B 0.00 0.00 4.64220 5.53416
+C 29; Character-29; B 0.00 0.00 8.37720 7.16526
+C 30; Character-30; B 0.00 0.00 9.40880 7.16526
+C 31; Character-31; B 0.00 0.00 7.22120 7.67498
+C 32; Character-32; B 0.00 0.00 2.57900 4.51470
+C 33; Character-33; B 0.00 0.00 2.57900 7.28178
+C 34; Character-34; B 0.00 0.00 4.64220 7.28178
+C 35; Character-35; B 0.00 0.00 7.73700 7.28178
+C 36; Character-36; B 0.00 0.00 4.64220 7.86432
+C 37; Character-37; B 0.00 0.00 7.73700 7.86432
+C 38; Character-38; B 0.00 0.00 7.22120 7.28178
+C 39; Character-39; B 0.00 0.00 2.57900 7.28178
+C 40; Character-40; B 0.00 0.00 3.61060 7.86432
+C 41; Character-41; B 0.00 0.00 3.61060 7.86432
+C 42; Character-42; B 0.00 0.00 4.64220 7.86432
+C 43; Character-43; B 0.00 0.00 7.22120 6.33520
+C 44; Character-44; B 0.00 0.00 2.57900 1.16508
+C 45; Character-45; B 0.00 0.00 3.09480 4.51470
+C 46; Character-46; B 0.00 0.00 2.57900 1.16508
+C 47; Character-47; B 0.00 0.00 4.64220 7.86432
+C 48; Character-48; B 0.00 0.00 4.64220 6.75750
+C 49; Character-49; B 0.00 0.00 4.64220 6.75750
+C 50; Character-50; B 0.00 0.00 4.64220 6.75750
+C 51; Character-51; B 0.00 0.00 4.64220 6.75750
+C 52; Character-52; B 0.00 0.00 4.64220 6.75750
+C 53; Character-53; B 0.00 0.00 4.64220 6.75750
+C 54; Character-54; B 0.00 0.00 4.64220 6.75750
+C 55; Character-55; B 0.00 0.00 4.64220 6.75750
+C 56; Character-56; B 0.00 0.00 4.64220 6.75750
+C 57; Character-57; B 0.00 0.00 4.64220 6.75750
+C 58; Character-58; B 0.00 0.00 2.57900 4.51470
+C 59; Character-59; B 0.00 0.00 2.57900 4.51470
+C 60; Character-60; B 0.00 0.00 2.57900 5.24288
+C 61; Character-61; B 0.00 0.00 7.22120 3.96348
+C 62; Character-62; B 0.00 0.00 4.38430 5.24288
+C 63; Character-63; B 0.00 0.00 4.38430 7.28178
+C 64; Character-64; B 0.00 0.00 7.22120 7.28178
+C 65; Character-65; B 0.00 0.00 6.95420 7.16526
+C 66; Character-66; B 0.00 0.00 6.57190 7.16526
+C 67; Character-67; B 0.00 0.00 6.70540 7.16526
+C 68; Character-68; B 0.00 0.00 7.08770 7.16526
+C 69; Character-69; B 0.00 0.00 6.31400 7.16526
+C 70; Character-70; B 0.00 0.00 6.05610 7.16526
+C 71; Character-71; B 0.00 0.00 7.28340 7.16526
+C 72; Character-72; B 0.00 0.00 6.95420 7.16526
+C 73; Character-73; B 0.00 0.00 3.34360 7.16526
+C 74; Character-74; B 0.00 0.00 4.76660 7.16526
+C 75; Character-75; B 0.00 0.00 7.21210 7.16526
+C 76; Character-76; B 0.00 0.00 5.79820 7.16526
+C 77; Character-77; B 0.00 0.00 8.50160 7.16526
+C 78; Character-78; B 0.00 0.00 6.95420 7.16526
+C 79; Character-79; B 0.00 0.00 7.22120 7.16526
+C 80; Character-80; B 0.00 0.00 6.31400 7.16526
+C 81; Character-81; B 0.00 0.00 7.22120 7.16526
+C 82; Character-82; B 0.00 0.00 6.82980 7.16526
+C 83; Character-83; B 0.00 0.00 5.15800 7.16526
+C 84; Character-84; B 0.00 0.00 6.70540 7.16526
+C 85; Character-85; B 0.00 0.00 6.95420 7.16526
+C 86; Character-86; B 0.00 0.00 6.95420 7.16526
+C 87; Character-87; B 0.00 0.00 9.53320 7.16526
+C 88; Character-88; B 0.00 0.00 6.95420 7.16526
+C 89; Character-89; B 0.00 0.00 6.95420 7.16526
+C 90; Character-90; B 0.00 0.00 5.67380 7.16526
+C 91; Character-91; B 0.00 0.00 2.57900 7.86432
+C 92; Character-92; B 0.00 0.00 4.64220 7.28178
+C 93; Character-93; B 0.00 0.00 2.57900 7.86432
+C 94; Character-94; B 0.00 0.00 4.64220 7.28178
+C 95; Character-95; B 0.00 0.00 2.57900 7.03212
+C 96; Character-96; B 0.00 0.00 2.57900 7.28178
+C 97; Character-97; B 0.00 0.00 4.64220 4.51470
+C 98; Character-98; B 0.00 0.00 5.15800 7.28178
+C 99; Character-99; B 0.00 0.00 4.12640 4.51470
+C 100; Character-100; B 0.00 0.0 5.15800 7.28178
+C 101; Character-101; B 0.00 0.0 4.12640 4.51470
+C 102; Character-102; B 0.00 0.0 2.83690 7.28178
+C 103; Character-103; B 0.00 0.0 4.64220 4.51470
+C 104; Character-104; B 0.00 0.0 5.15800 7.28178
+C 105; Character-105; B 0.00 0.0 2.57900 7.03212
+C 106; Character-106; B 0.00 0.0 2.83690 7.03212
+C 107; Character-107; B 0.00 0.0 4.90010 7.28178
+C 108; Character-108; B 0.00 0.0 2.57900 7.28178
+C 109; Character-109; B 0.00 0.0 7.73700 4.51470
+C 110; Character-110; B 0.00 0.0 5.15800 4.51470
+C 111; Character-111; B 0.00 0.0 4.64220 4.51470
+C 112; Character-112; B 0.00 0.0 5.15800 4.51470
+C 113; Character-113; B 0.00 0.0 4.90010 4.51470
+C 114; Character-114; B 0.00 0.0 3.61818 4.51470
+C 115; Character-115; B 0.00 0.0 3.66218 4.51470
+C 116; Character-116; B 0.00 0.0 3.61060 6.44958
+C 117; Character-117; B 0.00 0.0 5.15800 4.51470
+C 118; Character-118; B 0.00 0.0 4.90010 4.51470
+C 119; Character-119; B 0.00 0.0 6.70540 4.51470
+C 120; Character-120; B 0.00 0.0 4.90010 4.51470
+C 121; Character-121; B 0.00 0.0 4.90010 4.51470
+C 122; Character-122; B 0.00 0.0 4.12640 4.51470
+C 123; Character-123; B 0.00 0.0 4.64220 4.51470
+C 124; Character-124; B 0.00 0.0 9.28440 4.51470
+C 125; Character-125; B 0.00 0.0 4.64220 7.28178
+C 126; Character-126; B 0.00 0.0 4.64220 7.03212
+C 127; Character-127; B 0.00 0.0 4.64220 7.03212
+EndCharMetrics
+EndFontMetrics
% source file of the Feta (defintively not an abbreviation for Font-En-Tja)
% music font
%
-% (c) 1997, 1998 Han-Wen Nienhuys <hanwen@stack.nl>
+% (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
% Jan Nieuwenhuizen <janneke@gnu.org>
%
height# = 5/4 width#;
height# = interline#;
thin = 1.2 stafflinethickness;
- thick = 1.4 thin;
+ thick = 2 thin;
set_char_box(width#/2, width#/2, height#/2, height#/2);
-
- penpos1(thick, 0);
+
+ penpos1(thick, 0);
penpos2(thin, 90);
z1r = (w, 0);
z2r = (0, h);
addto currentpicture also currentpicture xscaled -1;
addto currentpicture also currentpicture yscaled -1;
- pickup pencircle scaled thin;
- save x,y;
- z3r = (0, -h);
- z4 = (0, -2h);
+ z3 = (0, -h);
+ z4 = (0, -1.5h);
penlabels(3,4);
- draw z3r -- z4;
+ draw_brush(z3,1.4*thin, z4,0.9*thick);
fet_endchar;
-
%
% FIXME: rounded endings
%
+++ /dev/null
-FontName feta
-StartFontMetrics
-StartCharMetrics
-C 0; N rests-0; B 0.00 -1718.75 4125.00 0.00 ;
-C 1; N rests-1; B 0.00 0.00 4125.00 1718.75 ;
-C 2; N rests-0o; B -1718.75 -1718.75 5843.75 275.02 ;
-C 3; N rests-1o; B -1718.75 -275.02 5843.75 1718.75 ;
-C 4; N rests--1; B 0.00 0.00 1650.00 2750.00 ;
-C 5; N rests--2; B 0.00 -2750.00 1650.00 2750.00 ;
-C 6; N rests-2; B 0.00 2062.50 2970.00 9900.02 ;
-C 7; N rests-3; B 0.00 2750.00 3666.66 7814.64 ;
-C 8; N rests-4; B 0.00 0.00 4266.33 7814.64 ;
-C 9; N rests-5; B 0.00 0.00 4813.96 10564.64 ;
-C 10; N rests-6; B 0.00 0.00 5161.70 13314.64 ;
-C 11; N rests-7; B 0.00 0.00 5746.25 16064.64 ;
-C 12; N accidentals-1; B 0.00 -4125.00 3025.02 4125.00 ;
-C 13; N accidentals-0; B 0.00 -4125.00 1833.33 4125.00 ;
-C 14; N accidentals--1; B -330.03 -1375.00 2200.01 5500.00 ;
-C 15; N accidentals--2; B -330.03 -1375.00 3987.49 5500.00 ;
-C 16; N accidentals-2; B 0.00 -1375.00 2750.00 1375.00 ;
-C 17; N accidentals-); B 0.00 -2750.00 1650.02 2750.00 ;
-C 18; N accidentals-(; B -1650.02 -2750.00 0.00 2750.00 ;
-C 19; N dots-dot; B 0.00 -618.74 1237.49 618.74 ;
-C 20; N dots-repeatcolon; B 0.00 -1375.00 1237.49 1375.00 ;
-C 21; N balls--1; B 0.00 -1512.51 5500.00 1512.51 ;
-C 22; N balls--1l; B -1375.00 -275.02 6875.00 275.02 ;
-C 23; N balls--2; B 0.00 -1512.51 5500.00 1512.51 ;
-C 24; N balls--2l; B -1375.00 -275.02 6875.00 275.02 ;
-C 25; N balls-0; B 0.00 -1512.51 5445.07 1512.51 ;
-C 26; N balls-0l; B -1361.27 -275.02 6806.34 275.02 ;
-C 27; N balls-1; B 0.00 -1512.51 3788.07 1512.51 ;
-C 28; N balls-1l; B -947.02 -275.02 4735.09 275.02 ;
-C 29; N balls-2; B 0.00 -1512.51 3632.84 1512.51 ;
-C 30; N balls-2l; B -908.22 -275.02 4541.06 275.02 ;
-C 31; N scripts-ufermata; B -3643.77 -206.27 3643.77 3987.55 ;
-C 32; N scripts-dfermata; B -3643.77 -3987.55 3643.77 206.27 ;
-C 33; N scripts-thumb; B -1100.00 -1375.00 1100.00 1375.00 ;
-C 34; N scripts-sforzato; B -2474.99 -1375.00 2474.99 1375.00 ;
-C 35; N scripts-staccato; B -412.54 -412.54 412.54 412.54 ;
-C 36; N scripts-ustaccatissimo; B -550.05 -200.00 550.05 2750.06 ;
-C 37; N scripts-dstaccatissimo; B -550.05 -2750.06 550.05 200.00 ;
-C 38; N scripts-tenuto; B -1650.02 -192.52 1650.02 192.52 ;
-C 39; N scripts-umarcato; B -1375.00 0.00 1375.00 3025.02 ;
-C 40; N scripts-dmarcato; B -1375.00 -3025.02 1375.00 0.00 ;
-C 41; N scripts-open; B -1100.00 -1375.00 1100.00 1375.00 ;
-C 42; N scripts-stopped; B -1512.51 -1512.51 1512.51 1512.51 ;
-C 43; N scripts-upbow; B -1787.50 0.00 1787.50 5720.05 ;
-C 44; N scripts-downbow; B -2062.50 0.00 2062.50 3666.66 ;
-C 45; N scripts-reverseturn; B -3007.81 -1455.89 3007.81 1455.89 ;
-C 46; N scripts-turn; B -3007.81 -1455.89 3007.81 1455.89 ;
-C 47; N scripts-trill; B -2750.00 0.00 2750.00 6187.50 ;
-C 48; N scripts-upedalheel; B -1375.00 -1375.00 1375.00 1833.33 ;
-C 49; N scripts-dpedalheel; B -1375.00 -1833.33 1375.00 1375.00 ;
-C 50; N scripts-upedaltoe; B -1375.00 0.00 1375.00 4125.00 ;
-C 51; N scripts-dpedaltoe; B -1375.00 -4125.00 1375.00 0.00 ;
-C 52; N scripts-flageolet; B -1466.67 -1466.67 1466.67 1466.67 ;
-C 53; N scripts-trilelement; B -1833.33 -1375.00 718.64 1375.00 ;
-C 54; N scripts-prall; B -3109.31 -1375.00 3109.31 1375.00 ;
-C 55; N scripts-mordent; B -3109.31 -1375.00 3109.31 1375.00 ;
-C 56; N scripts-prallprall; B -4385.30 -1375.00 4385.30 1375.00 ;
-C 57; N scripts-prallmordent; B -4385.30 -1375.00 4385.30 1375.00 ;
-C 58; N scripts-upprall; B -4385.30 -1375.00 4385.30 1375.00 ;
-C 59; N scripts-downprall; B -4385.30 -1375.00 4385.30 1375.00 ;
-C 60; N scripts-accDiscant; B -4949.98 0.00 4949.98 9899.96 ;
-C 61; N scripts-accDiscantF; B -4949.98 0.00 4949.98 9899.96 ;
-C 62; N scripts-accDiscantEh; B -4949.98 0.00 4949.98 9899.96 ;
-C 63; N scripts-accDiscantE; B -4949.98 0.00 4949.98 9899.96 ;
-C 64; N scripts-accDiscantFE; B -4949.98 0.00 4949.98 9899.96 ;
-C 65; N scripts-accDiscantFEh; B -4949.98 0.00 4949.98 9899.96 ;
-C 66; N scripts-accDiscantEE; B -4949.98 0.00 4949.98 9899.96 ;
-C 67; N scripts-accDiscantFEE; B -4949.98 0.00 4949.98 9899.96 ;
-C 68; N scripts-accDiscantEEE; B -4949.98 0.00 4949.98 9899.96 ;
-C 69; N scripts-accDiscantFEEE; B -4949.98 0.00 4949.98 9899.96 ;
-C 70; N scripts-accDiscantS; B -4949.98 0.00 4949.98 9899.96 ;
-C 71; N scripts-accDiscantFS; B -4949.98 0.00 4949.98 9899.96 ;
-C 72; N scripts-accDiscantES; B -4949.98 0.00 4949.98 9899.96 ;
-C 73; N scripts-accDiscantEhS; B -4949.98 0.00 4949.98 9899.96 ;
-C 74; N scripts-accDiscantFES; B -4949.98 0.00 4949.98 9899.96 ;
-C 75; N scripts-accDiscantFEhS; B -4949.98 0.00 4949.98 9899.96 ;
-C 76; N scripts-accDiscantEES; B -4949.98 0.00 4949.98 9899.96 ;
-C 77; N scripts-accDiscantFEES; B -4949.98 0.00 4949.98 9899.96 ;
-C 78; N scripts-accDiscantEEES; B -4949.98 0.00 4949.98 9899.96 ;
-C 79; N scripts-accDiscantFEEES; B -4949.98 0.00 4949.98 9899.96 ;
-C 80; N scripts-accDiscantSS; B -4949.98 0.00 4949.98 9899.96 ;
-C 81; N scripts-accDiscantESS; B -4949.98 0.00 4949.98 9899.96 ;
-C 82; N scripts-accDiscantEESS; B -4949.98 0.00 4949.98 9899.96 ;
-C 83; N scripts-accDiscantEEESS; B -4949.98 0.00 4949.98 9899.96 ;
-C 84; N scripts-accFreebass; B -3299.99 0.00 3299.99 6599.98 ;
-C 85; N scripts-accFreebassF; B -3299.99 0.00 3299.99 6599.98 ;
-C 86; N scripts-accFreebassE; B -3299.99 0.00 3299.99 6599.98 ;
-C 87; N scripts-accFreebassFE; B -3299.99 0.00 3299.99 6599.98 ;
-C 88; N scripts-accStdbass; B -6599.98 0.00 6599.98 13199.95 ;
-C 89; N scripts-accStdbassM; B -6599.98 0.00 6599.98 13199.95 ;
-C 90; N scripts-accStdbassBp; B -6599.98 0.00 6599.98 13199.95 ;
-C 91; N scripts-accStdbassT; B -6599.98 0.00 6599.98 13199.95 ;
-C 92; N scripts-accStdbassTp; B -6599.98 0.00 6599.98 13199.95 ;
-C 93; N scripts-accBayanbass; B -3299.99 0.00 3299.99 9899.96 ;
-C 94; N scripts-accBayanbassT; B -3299.99 0.00 3299.99 9899.96 ;
-C 95; N scripts-accBayanbassE; B -3299.99 0.00 3299.99 9899.96 ;
-C 96; N scripts-accBayanbassTE; B -3299.99 0.00 3299.99 9899.96 ;
-C 97; N scripts-accBayanbassEE; B -3299.99 0.00 3299.99 9899.96 ;
-C 98; N scripts-accBayanbassTEE; B -3299.99 0.00 3299.99 9899.96 ;
-C 99; N scripts-accSB; B -4399.93 0.00 4399.93 6599.99 ;
-C 100; N scripts-accBB; B -4399.93 0.00 4399.93 6599.99 ;
-C 101; N scripts-accOldEE; B -2750.00 0.00 2750.00 5500.00 ;
-C 102; N scripts-accOldEES; B -2750.00 0.00 2750.00 5500.00 ;
-C 103; N flags-u3; B -137.51 -8428.77 3393.31 137.51 ;
-C 104; N flags-u4; B -137.51 -9803.77 3393.31 137.51 ;
-C 105; N flags-u5; B -137.51 -11866.27 3393.31 137.51 ;
-C 106; N flags-u6; B -137.51 -14616.27 3393.31 137.51 ;
-C 107; N flags-d3; B -137.51 -137.51 3755.11 8016.30 ;
-C 108; N flags-d4; B -137.51 -137.51 3755.11 8428.77 ;
-C 109; N flags-d5; B -137.51 -137.51 3755.11 10766.30 ;
-C 110; N flags-d6; B -137.51 -137.51 3755.11 12141.30 ;
-C 111; N clefs-alto; B -2750.00 -5500.00 10236.10 5500.00 ;
-C 112; N clefs-alto_change; B -2200.01 -4400.02 8188.93 4400.02 ;
-C 113; N clefs-bass; B -1375.00 -6875.00 9900.02 2750.00 ;
-C 114; N clefs-bass_change; B -1100.02 -5500.03 7920.04 2200.01 ;
-C 115; N clefs-treble; B -2396.44 -8250.00 10277.13 13750.00 ;
-C 116; N clefs-treble_change; B -2082.15 -6600.04 8056.75 11000.06 ;
-C 117; N timesig-C4/4; B -4950.01 -2750.00 4674.99 2750.00 ;
-C 118; N timesig-C2/2; B -4950.01 -3849.99 4674.99 3849.99 ;
-C 119; N timesig-old4/4; B -4812.50 -2062.50 4812.50 2062.50 ;
-C 120; N timesig-old2/2; B -4812.50 -2750.00 4812.50 2750.00 ;
-C 121; N timesig-old3/2; B -4812.50 -2062.50 4812.50 2062.50 ;
-C 122; N timesig-old6/4; B -4812.50 -3437.50 4812.50 3437.50 ;
-C 123; N timesig-old9/4; B -4812.50 -3437.50 4812.50 3437.50 ;
-EndCharMetrics
-EndFontMetrics
+++ /dev/null
-FontName feta
-StartFontMetrics
-StartCharMetrics
-C 0; N rests-0; B 0.00 -2031.25 4875.00 0.00 ;
-C 1; N rests-1; B 0.00 0.00 4875.00 2031.25 ;
-C 2; N rests-0o; B -2031.25 -2031.25 6906.25 325.03 ;
-C 3; N rests-1o; B -2031.25 -325.03 6906.25 2031.25 ;
-C 4; N rests--1; B 0.00 0.00 1950.00 3250.00 ;
-C 5; N rests--2; B 0.00 -3250.00 1950.00 3250.00 ;
-C 6; N rests-2; B 0.00 2437.50 3510.01 11700.03 ;
-C 7; N rests-3; B 0.00 3250.00 4333.31 9235.49 ;
-C 8; N rests-4; B 0.00 0.00 5042.04 9235.49 ;
-C 9; N rests-5; B 0.00 0.00 5689.25 12485.49 ;
-C 10; N rests-6; B 0.00 0.00 6100.20 15735.49 ;
-C 11; N rests-7; B 0.00 0.00 6791.03 18985.49 ;
-C 12; N accidentals-1; B 0.00 -4875.00 3575.03 4875.00 ;
-C 13; N accidentals-0; B 0.00 -4875.00 2166.67 4875.00 ;
-C 14; N accidentals--1; B -390.03 -1625.00 2600.00 6500.00 ;
-C 15; N accidentals--2; B -390.03 -1625.00 4712.50 6500.00 ;
-C 16; N accidentals-2; B 0.00 -1625.00 3250.00 1625.00 ;
-C 17; N accidentals-); B 0.00 -3250.00 1950.03 3250.00 ;
-C 18; N accidentals-(; B -1950.03 -3250.00 0.00 3250.00 ;
-C 19; N dots-dot; B 0.00 -731.25 1462.50 731.25 ;
-C 20; N dots-repeatcolon; B 0.00 -1625.00 1462.50 1625.00 ;
-C 21; N balls--1; B 0.00 -1787.52 6500.00 1787.52 ;
-C 22; N balls--1l; B -1625.00 -325.03 8125.00 325.03 ;
-C 23; N balls--2; B 0.00 -1787.52 6500.00 1787.52 ;
-C 24; N balls--2l; B -1625.00 -325.03 8125.00 325.03 ;
-C 25; N balls-0; B 0.00 -1787.52 6435.09 1787.52 ;
-C 26; N balls-0l; B -1608.78 -325.03 8043.87 325.03 ;
-C 27; N balls-1; B 0.00 -1787.52 4476.79 1787.52 ;
-C 28; N balls-1l; B -1119.20 -325.03 5596.00 325.03 ;
-C 29; N balls-2; B 0.00 -1787.52 4293.33 1787.52 ;
-C 30; N balls-2l; B -1073.33 -325.03 5366.67 325.03 ;
-C 31; N scripts-ufermata; B -4306.27 -243.77 4306.27 4712.55 ;
-C 32; N scripts-dfermata; B -4306.27 -4712.55 4306.27 243.77 ;
-C 33; N scripts-thumb; B -1300.00 -1625.00 1300.00 1625.00 ;
-C 34; N scripts-sforzato; B -2924.99 -1625.00 2924.99 1625.00 ;
-C 35; N scripts-staccato; B -487.55 -487.55 487.55 487.55 ;
-C 36; N scripts-ustaccatissimo; B -650.05 -200.00 650.05 3250.06 ;
-C 37; N scripts-dstaccatissimo; B -650.05 -3250.06 650.05 200.00 ;
-C 38; N scripts-tenuto; B -1950.03 -227.52 1950.03 227.52 ;
-C 39; N scripts-umarcato; B -1625.00 0.00 1625.00 3575.03 ;
-C 40; N scripts-dmarcato; B -1625.00 -3575.03 1625.00 0.00 ;
-C 41; N scripts-open; B -1300.00 -1625.00 1300.00 1625.00 ;
-C 42; N scripts-stopped; B -1787.52 -1787.52 1787.52 1787.52 ;
-C 43; N scripts-upbow; B -2112.50 0.00 2112.50 6760.04 ;
-C 44; N scripts-downbow; B -2437.50 0.00 2437.50 4333.31 ;
-C 45; N scripts-reverseturn; B -3554.69 -1720.60 3554.69 1720.60 ;
-C 46; N scripts-turn; B -3554.69 -1720.60 3554.69 1720.60 ;
-C 47; N scripts-trill; B -3250.00 0.00 3250.00 7312.50 ;
-C 48; N scripts-upedalheel; B -1625.00 -1625.00 1625.00 2166.67 ;
-C 49; N scripts-dpedalheel; B -1625.00 -2166.67 1625.00 1625.00 ;
-C 50; N scripts-upedaltoe; B -1625.00 0.00 1625.00 4875.00 ;
-C 51; N scripts-dpedaltoe; B -1625.00 -4875.00 1625.00 0.00 ;
-C 52; N scripts-flageolet; B -1733.34 -1733.34 1733.34 1733.34 ;
-C 53; N scripts-trilelement; B -2166.67 -1625.00 849.30 1625.00 ;
-C 54; N scripts-prall; B -3674.65 -1625.00 3674.65 1625.00 ;
-C 55; N scripts-mordent; B -3674.65 -1625.00 3674.65 1625.00 ;
-C 56; N scripts-prallprall; B -5182.63 -1625.00 5182.63 1625.00 ;
-C 57; N scripts-prallmordent; B -5182.63 -1625.00 5182.63 1625.00 ;
-C 58; N scripts-upprall; B -5182.63 -1625.00 5182.63 1625.00 ;
-C 59; N scripts-downprall; B -5182.63 -1625.00 5182.63 1625.00 ;
-C 60; N scripts-accDiscant; B -5849.99 0.00 5849.99 11699.98 ;
-C 61; N scripts-accDiscantF; B -5849.99 0.00 5849.99 11699.98 ;
-C 62; N scripts-accDiscantEh; B -5849.99 0.00 5849.99 11699.98 ;
-C 63; N scripts-accDiscantE; B -5849.99 0.00 5849.99 11699.98 ;
-C 64; N scripts-accDiscantFE; B -5849.99 0.00 5849.99 11699.98 ;
-C 65; N scripts-accDiscantFEh; B -5849.99 0.00 5849.99 11699.98 ;
-C 66; N scripts-accDiscantEE; B -5849.99 0.00 5849.99 11699.98 ;
-C 67; N scripts-accDiscantFEE; B -5849.99 0.00 5849.99 11699.98 ;
-C 68; N scripts-accDiscantEEE; B -5849.99 0.00 5849.99 11699.98 ;
-C 69; N scripts-accDiscantFEEE; B -5849.99 0.00 5849.99 11699.98 ;
-C 70; N scripts-accDiscantS; B -5849.99 0.00 5849.99 11699.98 ;
-C 71; N scripts-accDiscantFS; B -5849.99 0.00 5849.99 11699.98 ;
-C 72; N scripts-accDiscantES; B -5849.99 0.00 5849.99 11699.98 ;
-C 73; N scripts-accDiscantEhS; B -5849.99 0.00 5849.99 11699.98 ;
-C 74; N scripts-accDiscantFES; B -5849.99 0.00 5849.99 11699.98 ;
-C 75; N scripts-accDiscantFEhS; B -5849.99 0.00 5849.99 11699.98 ;
-C 76; N scripts-accDiscantEES; B -5849.99 0.00 5849.99 11699.98 ;
-C 77; N scripts-accDiscantFEES; B -5849.99 0.00 5849.99 11699.98 ;
-C 78; N scripts-accDiscantEEES; B -5849.99 0.00 5849.99 11699.98 ;
-C 79; N scripts-accDiscantFEEES; B -5849.99 0.00 5849.99 11699.98 ;
-C 80; N scripts-accDiscantSS; B -5849.99 0.00 5849.99 11699.98 ;
-C 81; N scripts-accDiscantESS; B -5849.99 0.00 5849.99 11699.98 ;
-C 82; N scripts-accDiscantEESS; B -5849.99 0.00 5849.99 11699.98 ;
-C 83; N scripts-accDiscantEEESS; B -5849.99 0.00 5849.99 11699.98 ;
-C 84; N scripts-accFreebass; B -3900.00 0.00 3900.00 7799.99 ;
-C 85; N scripts-accFreebassF; B -3900.00 0.00 3900.00 7799.99 ;
-C 86; N scripts-accFreebassE; B -3900.00 0.00 3900.00 7799.99 ;
-C 87; N scripts-accFreebassFE; B -3900.00 0.00 3900.00 7799.99 ;
-C 88; N scripts-accStdbass; B -7799.99 0.00 7799.99 15599.98 ;
-C 89; N scripts-accStdbassM; B -7799.99 0.00 7799.99 15599.98 ;
-C 90; N scripts-accStdbassBp; B -7799.99 0.00 7799.99 15599.98 ;
-C 91; N scripts-accStdbassT; B -7799.99 0.00 7799.99 15599.98 ;
-C 92; N scripts-accStdbassTp; B -7799.99 0.00 7799.99 15599.98 ;
-C 93; N scripts-accBayanbass; B -3900.00 0.00 3900.00 11699.98 ;
-C 94; N scripts-accBayanbassT; B -3900.00 0.00 3900.00 11699.98 ;
-C 95; N scripts-accBayanbassE; B -3900.00 0.00 3900.00 11699.98 ;
-C 96; N scripts-accBayanbassTE; B -3900.00 0.00 3900.00 11699.98 ;
-C 97; N scripts-accBayanbassEE; B -3900.00 0.00 3900.00 11699.98 ;
-C 98; N scripts-accBayanbassTEE; B -3900.00 0.00 3900.00 11699.98 ;
-C 99; N scripts-accSB; B -5199.92 0.00 5199.92 7799.99 ;
-C 100; N scripts-accBB; B -5199.92 0.00 5199.92 7799.99 ;
-C 101; N scripts-accOldEE; B -3250.00 0.00 3250.00 6500.00 ;
-C 102; N scripts-accOldEES; B -3250.00 0.00 3250.00 6500.00 ;
-C 103; N flags-u3; B -162.52 -9961.27 4010.27 162.52 ;
-C 104; N flags-u4; B -162.52 -11586.27 4010.27 162.52 ;
-C 105; N flags-u5; B -162.52 -14023.77 4010.27 162.52 ;
-C 106; N flags-u6; B -162.52 -17273.77 4010.27 162.52 ;
-C 107; N flags-d3; B -162.52 -162.52 4437.84 9473.80 ;
-C 108; N flags-d4; B -162.52 -162.52 4437.84 9961.27 ;
-C 109; N flags-d5; B -162.52 -162.52 4437.84 12723.80 ;
-C 110; N flags-d6; B -162.52 -162.52 4437.84 14348.80 ;
-C 111; N clefs-alto; B -3250.00 -6500.00 12097.24 6500.00 ;
-C 112; N clefs-alto_change; B -2600.00 -5200.01 9677.81 5200.01 ;
-C 113; N clefs-bass; B -1625.00 -8125.00 11700.03 3250.00 ;
-C 114; N clefs-bass_change; B -1300.02 -6500.02 9360.02 2600.00 ;
-C 115; N clefs-treble; B -2832.14 -9750.00 12145.70 16250.00 ;
-C 116; N clefs-treble_change; B -2460.72 -7800.02 9521.58 13000.03 ;
-C 117; N timesig-C4/4; B -5850.00 -3250.00 5525.00 3250.00 ;
-C 118; N timesig-C2/2; B -5850.00 -4549.99 5525.00 4549.99 ;
-C 119; N timesig-old4/4; B -5687.50 -2437.50 5687.50 2437.50 ;
-C 120; N timesig-old2/2; B -5687.50 -3250.00 5687.50 3250.00 ;
-C 121; N timesig-old3/2; B -5687.50 -2437.50 5687.50 2437.50 ;
-C 122; N timesig-old6/4; B -5687.50 -4062.50 5687.50 4062.50 ;
-C 123; N timesig-old9/4; B -5687.50 -4062.50 5687.50 4062.50 ;
-EndCharMetrics
-EndFontMetrics
+++ /dev/null
-FontName feta
-StartFontMetrics
-StartCharMetrics
-C 0; N rests-0; B 0.00 -2500.00 6000.00 0.00 ;
-C 1; N rests-1; B 0.00 0.00 6000.00 2500.00 ;
-C 2; N rests-0o; B -2500.00 -2500.00 8500.00 400.02 ;
-C 3; N rests-1o; B -2500.00 -400.02 8500.00 2500.00 ;
-C 4; N rests--1; B 0.00 0.00 2400.00 4000.00 ;
-C 5; N rests--2; B 0.00 -4000.00 2400.00 4000.00 ;
-C 6; N rests-2; B 0.00 3000.00 4320.00 14400.02 ;
-C 7; N rests-3; B 0.00 4000.00 5333.31 11366.73 ;
-C 8; N rests-4; B 0.00 0.00 6205.57 11366.73 ;
-C 9; N rests-5; B 0.00 0.00 7002.14 15366.73 ;
-C 10; N rests-6; B 0.00 0.00 7507.93 19366.73 ;
-C 11; N rests-7; B 0.00 0.00 8358.18 23366.73 ;
-C 12; N accidentals-1; B 0.00 -6000.00 4400.02 6000.00 ;
-C 13; N accidentals-0; B 0.00 -6000.00 2666.67 6000.00 ;
-C 14; N accidentals--1; B -480.03 -2000.00 3200.01 8000.00 ;
-C 15; N accidentals--2; B -480.03 -2000.00 5799.99 8000.00 ;
-C 16; N accidentals-2; B 0.00 -2000.00 4000.00 2000.00 ;
-C 17; N accidentals-); B 0.00 -4000.00 2400.02 4000.00 ;
-C 18; N accidentals-(; B -2400.02 -4000.00 0.00 4000.00 ;
-C 19; N dots-dot; B 0.00 -900.00 1799.99 900.00 ;
-C 20; N dots-repeatcolon; B 0.00 -2000.00 1799.99 2000.00 ;
-C 21; N balls--1; B 0.00 -2200.01 8000.00 2200.01 ;
-C 22; N balls--1l; B -2000.00 -400.02 10000.00 400.02 ;
-C 23; N balls--2; B 0.00 -2200.01 8000.00 2200.01 ;
-C 24; N balls--2l; B -2000.00 -400.02 10000.00 400.02 ;
-C 25; N balls-0; B 0.00 -2200.01 7920.04 2200.01 ;
-C 26; N balls-0l; B -1980.01 -400.02 9900.05 400.02 ;
-C 27; N balls-1; B 0.00 -2200.01 5509.86 2200.01 ;
-C 28; N balls-1l; B -1377.47 -400.02 6887.33 400.02 ;
-C 29; N balls-2; B 0.00 -2200.01 5284.09 2200.01 ;
-C 30; N balls-2l; B -1321.03 -400.02 6605.12 400.02 ;
-C 31; N scripts-ufermata; B -5300.02 -300.02 5300.02 5800.05 ;
-C 32; N scripts-dfermata; B -5300.02 -5800.05 5300.02 300.02 ;
-C 33; N scripts-thumb; B -1600.00 -2000.00 1600.00 2000.00 ;
-C 34; N scripts-sforzato; B -3599.98 -2000.00 3599.98 2000.00 ;
-C 35; N scripts-staccato; B -600.04 -600.04 600.04 600.04 ;
-C 36; N scripts-ustaccatissimo; B -800.05 -200.00 800.05 4000.06 ;
-C 37; N scripts-dstaccatissimo; B -800.05 -4000.06 800.05 200.00 ;
-C 38; N scripts-tenuto; B -2400.02 -280.01 2400.02 280.01 ;
-C 39; N scripts-umarcato; B -2000.00 0.00 2000.00 4400.02 ;
-C 40; N scripts-dmarcato; B -2000.00 -4400.02 2000.00 0.00 ;
-C 41; N scripts-open; B -1600.00 -2000.00 1600.00 2000.00 ;
-C 42; N scripts-stopped; B -2200.01 -2200.01 2200.01 2200.01 ;
-C 43; N scripts-upbow; B -2600.00 0.00 2600.00 8320.05 ;
-C 44; N scripts-downbow; B -3000.00 0.00 3000.00 5333.31 ;
-C 45; N scripts-reverseturn; B -4375.00 -2117.65 4375.00 2117.65 ;
-C 46; N scripts-turn; B -4375.00 -2117.65 4375.00 2117.65 ;
-C 47; N scripts-trill; B -4000.00 0.00 4000.00 9000.00 ;
-C 48; N scripts-upedalheel; B -2000.00 -2000.00 2000.00 2666.67 ;
-C 49; N scripts-dpedalheel; B -2000.00 -2666.67 2000.00 2000.00 ;
-C 50; N scripts-upedaltoe; B -2000.00 0.00 2000.00 6000.00 ;
-C 51; N scripts-dpedaltoe; B -2000.00 -6000.00 2000.00 0.00 ;
-C 52; N scripts-flageolet; B -2133.33 -2133.33 2133.33 2133.33 ;
-C 53; N scripts-trilelement; B -2666.67 -2000.00 1045.30 2000.00 ;
-C 54; N scripts-prall; B -4522.66 -2000.00 4522.66 2000.00 ;
-C 55; N scripts-mordent; B -4522.66 -2000.00 4522.66 2000.00 ;
-C 56; N scripts-prallprall; B -6378.65 -2000.00 6378.65 2000.00 ;
-C 57; N scripts-prallmordent; B -6378.65 -2000.00 6378.65 2000.00 ;
-C 58; N scripts-upprall; B -6378.65 -2000.00 6378.65 2000.00 ;
-C 59; N scripts-downprall; B -6378.65 -2000.00 6378.65 2000.00 ;
-C 60; N scripts-accDiscant; B -7199.98 0.00 7199.98 14399.96 ;
-C 61; N scripts-accDiscantF; B -7199.98 0.00 7199.98 14399.96 ;
-C 62; N scripts-accDiscantEh; B -7199.98 0.00 7199.98 14399.96 ;
-C 63; N scripts-accDiscantE; B -7199.98 0.00 7199.98 14399.96 ;
-C 64; N scripts-accDiscantFE; B -7199.98 0.00 7199.98 14399.96 ;
-C 65; N scripts-accDiscantFEh; B -7199.98 0.00 7199.98 14399.96 ;
-C 66; N scripts-accDiscantEE; B -7199.98 0.00 7199.98 14399.96 ;
-C 67; N scripts-accDiscantFEE; B -7199.98 0.00 7199.98 14399.96 ;
-C 68; N scripts-accDiscantEEE; B -7199.98 0.00 7199.98 14399.96 ;
-C 69; N scripts-accDiscantFEEE; B -7199.98 0.00 7199.98 14399.96 ;
-C 70; N scripts-accDiscantS; B -7199.98 0.00 7199.98 14399.96 ;
-C 71; N scripts-accDiscantFS; B -7199.98 0.00 7199.98 14399.96 ;
-C 72; N scripts-accDiscantES; B -7199.98 0.00 7199.98 14399.96 ;
-C 73; N scripts-accDiscantEhS; B -7199.98 0.00 7199.98 14399.96 ;
-C 74; N scripts-accDiscantFES; B -7199.98 0.00 7199.98 14399.96 ;
-C 75; N scripts-accDiscantFEhS; B -7199.98 0.00 7199.98 14399.96 ;
-C 76; N scripts-accDiscantEES; B -7199.98 0.00 7199.98 14399.96 ;
-C 77; N scripts-accDiscantFEES; B -7199.98 0.00 7199.98 14399.96 ;
-C 78; N scripts-accDiscantEEES; B -7199.98 0.00 7199.98 14399.96 ;
-C 79; N scripts-accDiscantFEEES; B -7199.98 0.00 7199.98 14399.96 ;
-C 80; N scripts-accDiscantSS; B -7199.98 0.00 7199.98 14399.96 ;
-C 81; N scripts-accDiscantESS; B -7199.98 0.00 7199.98 14399.96 ;
-C 82; N scripts-accDiscantEESS; B -7199.98 0.00 7199.98 14399.96 ;
-C 83; N scripts-accDiscantEEESS; B -7199.98 0.00 7199.98 14399.96 ;
-C 84; N scripts-accFreebass; B -4799.99 0.00 4799.99 9599.98 ;
-C 85; N scripts-accFreebassF; B -4799.99 0.00 4799.99 9599.98 ;
-C 86; N scripts-accFreebassE; B -4799.99 0.00 4799.99 9599.98 ;
-C 87; N scripts-accFreebassFE; B -4799.99 0.00 4799.99 9599.98 ;
-C 88; N scripts-accStdbass; B -9599.98 0.00 9599.98 19199.95 ;
-C 89; N scripts-accStdbassM; B -9599.98 0.00 9599.98 19199.95 ;
-C 90; N scripts-accStdbassBp; B -9599.98 0.00 9599.98 19199.95 ;
-C 91; N scripts-accStdbassT; B -9599.98 0.00 9599.98 19199.95 ;
-C 92; N scripts-accStdbassTp; B -9599.98 0.00 9599.98 19199.95 ;
-C 93; N scripts-accBayanbass; B -4799.99 0.00 4799.99 14399.96 ;
-C 94; N scripts-accBayanbassT; B -4799.99 0.00 4799.99 14399.96 ;
-C 95; N scripts-accBayanbassE; B -4799.99 0.00 4799.99 14399.96 ;
-C 96; N scripts-accBayanbassTE; B -4799.99 0.00 4799.99 14399.96 ;
-C 97; N scripts-accBayanbassEE; B -4799.99 0.00 4799.99 14399.96 ;
-C 98; N scripts-accBayanbassTEE; B -4799.99 0.00 4799.99 14399.96 ;
-C 99; N scripts-accSB; B -6399.90 0.00 6399.90 9599.98 ;
-C 100; N scripts-accBB; B -6399.90 0.00 6399.90 9599.98 ;
-C 101; N scripts-accOldEE; B -4000.00 0.00 4000.00 8000.00 ;
-C 102; N scripts-accOldEES; B -4000.00 0.00 4000.00 8000.00 ;
-C 103; N flags-u3; B -200.01 -12260.03 4935.68 200.01 ;
-C 104; N flags-u4; B -200.01 -14260.03 4935.68 200.01 ;
-C 105; N flags-u5; B -200.01 -17260.03 4935.68 200.01 ;
-C 106; N flags-u6; B -200.01 -21260.03 4935.68 200.01 ;
-C 107; N flags-d3; B -200.01 -200.01 5461.91 11660.05 ;
-C 108; N flags-d4; B -200.01 -200.01 5461.91 12260.03 ;
-C 109; N flags-d5; B -200.01 -200.01 5461.91 15660.05 ;
-C 110; N flags-d6; B -200.01 -200.01 5461.91 17660.05 ;
-C 111; N clefs-alto; B -4000.00 -8000.00 14888.90 8000.00 ;
-C 112; N clefs-alto_change; B -3200.01 -6400.02 11911.18 6400.02 ;
-C 113; N clefs-bass; B -2000.00 -10000.00 14400.02 4000.00 ;
-C 114; N clefs-bass_change; B -1600.04 -8000.03 11520.03 3200.01 ;
-C 115; N clefs-treble; B -3485.72 -12000.00 14948.55 20000.00 ;
-C 116; N clefs-treble_change; B -3028.58 -9600.04 11718.89 16000.06 ;
-C 117; N timesig-C4/4; B -7200.01 -4000.00 6799.99 4000.00 ;
-C 118; N timesig-C2/2; B -7200.01 -5599.98 6799.99 5599.98 ;
-C 119; N timesig-old4/4; B -7000.00 -3000.00 7000.00 3000.00 ;
-C 120; N timesig-old2/2; B -7000.00 -4000.00 7000.00 4000.00 ;
-C 121; N timesig-old3/2; B -7000.00 -3000.00 7000.00 3000.00 ;
-C 122; N timesig-old6/4; B -7000.00 -5000.00 7000.00 5000.00 ;
-C 123; N timesig-old9/4; B -7000.00 -5000.00 7000.00 5000.00 ;
-EndCharMetrics
-EndFontMetrics
+++ /dev/null
-FontName feta
-StartFontMetrics
-StartCharMetrics
-C 0; N rests-0; B 0.00 -2968.75 7125.00 0.00 ;
-C 1; N rests-1; B 0.00 0.00 7125.00 2968.75 ;
-C 2; N rests-0o; B -2968.75 -2968.75 10093.75 475.04 ;
-C 3; N rests-1o; B -2968.75 -475.04 10093.75 2968.75 ;
-C 4; N rests--1; B 0.00 0.00 2850.00 4750.00 ;
-C 5; N rests--2; B 0.00 -4750.00 2850.00 4750.00 ;
-C 6; N rests-2; B 0.00 3562.50 5130.00 17100.04 ;
-C 7; N rests-3; B 0.00 4750.00 6333.31 13498.00 ;
-C 8; N rests-4; B 0.00 0.00 7369.11 13498.00 ;
-C 9; N rests-5; B 0.00 0.00 8315.05 18248.00 ;
-C 10; N rests-6; B 0.00 0.00 8915.66 22998.00 ;
-C 11; N rests-7; B 0.00 0.00 9925.34 27748.00 ;
-C 12; N accidentals-1; B 0.00 -7125.00 5225.04 7125.00 ;
-C 13; N accidentals-0; B 0.00 -7125.00 3166.67 7125.00 ;
-C 14; N accidentals--1; B -570.04 -2375.00 3800.02 9500.00 ;
-C 15; N accidentals--2; B -570.04 -2375.00 6887.48 9500.00 ;
-C 16; N accidentals-2; B 0.00 -2375.00 4750.00 2375.00 ;
-C 17; N accidentals-); B 0.00 -4750.00 2850.04 4750.00 ;
-C 18; N accidentals-(; B -2850.04 -4750.00 0.00 4750.00 ;
-C 19; N dots-dot; B 0.00 -1068.74 2137.48 1068.74 ;
-C 20; N dots-repeatcolon; B 0.00 -2375.00 2137.48 2375.00 ;
-C 21; N balls--1; B 0.00 -2612.52 9500.00 2612.52 ;
-C 22; N balls--1l; B -2375.00 -475.04 11875.00 475.04 ;
-C 23; N balls--2; B 0.00 -2612.52 9500.00 2612.52 ;
-C 24; N balls--2l; B -2375.00 -475.04 11875.00 475.04 ;
-C 25; N balls-0; B 0.00 -2612.52 9405.09 2612.52 ;
-C 26; N balls-0l; B -2351.27 -475.04 11756.36 475.04 ;
-C 27; N balls-1; B 0.00 -2612.52 6543.00 2612.52 ;
-C 28; N balls-1l; B -1635.76 -475.04 8178.76 475.04 ;
-C 29; N balls-2; B 0.00 -2612.52 6274.89 2612.52 ;
-C 30; N balls-2l; B -1568.73 -475.04 7843.61 475.04 ;
-C 31; N scripts-ufermata; B -6293.78 -356.28 6293.78 6887.57 ;
-C 32; N scripts-dfermata; B -6293.78 -6887.57 6293.78 356.28 ;
-C 33; N scripts-thumb; B -1900.01 -2375.00 1900.01 2375.00 ;
-C 34; N scripts-sforzato; B -4274.98 -2375.00 4274.98 2375.00 ;
-C 35; N scripts-staccato; B -712.55 -712.55 712.55 712.55 ;
-C 36; N scripts-ustaccatissimo; B -950.07 -200.00 950.07 4750.09 ;
-C 37; N scripts-dstaccatissimo; B -950.07 -4750.09 950.07 200.00 ;
-C 38; N scripts-tenuto; B -2850.04 -332.53 2850.04 332.53 ;
-C 39; N scripts-umarcato; B -2375.00 0.00 2375.00 5225.04 ;
-C 40; N scripts-dmarcato; B -2375.00 -5225.04 2375.00 0.00 ;
-C 41; N scripts-open; B -1900.01 -2375.00 1900.01 2375.00 ;
-C 42; N scripts-stopped; B -2612.52 -2612.52 2612.52 2612.52 ;
-C 43; N scripts-upbow; B -3087.51 0.00 3087.51 9880.07 ;
-C 44; N scripts-downbow; B -3562.50 0.00 3562.50 6333.31 ;
-C 45; N scripts-reverseturn; B -5195.31 -2514.71 5195.31 2514.71 ;
-C 46; N scripts-turn; B -5195.31 -2514.71 5195.31 2514.71 ;
-C 47; N scripts-trill; B -4750.00 0.00 4750.00 10687.50 ;
-C 48; N scripts-upedalheel; B -2375.00 -2375.00 2375.00 3166.67 ;
-C 49; N scripts-dpedalheel; B -2375.00 -3166.67 2375.00 2375.00 ;
-C 50; N scripts-upedaltoe; B -2375.00 0.00 2375.00 7125.00 ;
-C 51; N scripts-dpedaltoe; B -2375.00 -7125.00 2375.00 0.00 ;
-C 52; N scripts-flageolet; B -2533.34 -2533.34 2533.34 2533.34 ;
-C 53; N scripts-trilelement; B -3166.67 -2375.00 1241.30 2375.00 ;
-C 54; N scripts-prall; B -5370.65 -2375.00 5370.65 2375.00 ;
-C 55; N scripts-mordent; B -5370.65 -2375.00 5370.65 2375.00 ;
-C 56; N scripts-prallprall; B -7574.63 -2375.00 7574.63 2375.00 ;
-C 57; N scripts-prallmordent; B -7574.63 -2375.00 7574.63 2375.00 ;
-C 58; N scripts-upprall; B -7574.63 -2375.00 7574.63 2375.00 ;
-C 59; N scripts-downprall; B -7574.63 -2375.00 7574.63 2375.00 ;
-C 60; N scripts-accDiscant; B -8549.97 0.00 8549.97 17099.95 ;
-C 61; N scripts-accDiscantF; B -8549.97 0.00 8549.97 17099.95 ;
-C 62; N scripts-accDiscantEh; B -8549.97 0.00 8549.97 17099.95 ;
-C 63; N scripts-accDiscantE; B -8549.97 0.00 8549.97 17099.95 ;
-C 64; N scripts-accDiscantFE; B -8549.97 0.00 8549.97 17099.95 ;
-C 65; N scripts-accDiscantFEh; B -8549.97 0.00 8549.97 17099.95 ;
-C 66; N scripts-accDiscantEE; B -8549.97 0.00 8549.97 17099.95 ;
-C 67; N scripts-accDiscantFEE; B -8549.97 0.00 8549.97 17099.95 ;
-C 68; N scripts-accDiscantEEE; B -8549.97 0.00 8549.97 17099.95 ;
-C 69; N scripts-accDiscantFEEE; B -8549.97 0.00 8549.97 17099.95 ;
-C 70; N scripts-accDiscantS; B -8549.97 0.00 8549.97 17099.95 ;
-C 71; N scripts-accDiscantFS; B -8549.97 0.00 8549.97 17099.95 ;
-C 72; N scripts-accDiscantES; B -8549.97 0.00 8549.97 17099.95 ;
-C 73; N scripts-accDiscantEhS; B -8549.97 0.00 8549.97 17099.95 ;
-C 74; N scripts-accDiscantFES; B -8549.97 0.00 8549.97 17099.95 ;
-C 75; N scripts-accDiscantFEhS; B -8549.97 0.00 8549.97 17099.95 ;
-C 76; N scripts-accDiscantEES; B -8549.97 0.00 8549.97 17099.95 ;
-C 77; N scripts-accDiscantFEES; B -8549.97 0.00 8549.97 17099.95 ;
-C 78; N scripts-accDiscantEEES; B -8549.97 0.00 8549.97 17099.95 ;
-C 79; N scripts-accDiscantFEEES; B -8549.97 0.00 8549.97 17099.95 ;
-C 80; N scripts-accDiscantSS; B -8549.97 0.00 8549.97 17099.95 ;
-C 81; N scripts-accDiscantESS; B -8549.97 0.00 8549.97 17099.95 ;
-C 82; N scripts-accDiscantEESS; B -8549.97 0.00 8549.97 17099.95 ;
-C 83; N scripts-accDiscantEEESS; B -8549.97 0.00 8549.97 17099.95 ;
-C 84; N scripts-accFreebass; B -5699.98 0.00 5699.98 11399.96 ;
-C 85; N scripts-accFreebassF; B -5699.98 0.00 5699.98 11399.96 ;
-C 86; N scripts-accFreebassE; B -5699.98 0.00 5699.98 11399.96 ;
-C 87; N scripts-accFreebassFE; B -5699.98 0.00 5699.98 11399.96 ;
-C 88; N scripts-accStdbass; B -11399.96 0.00 11399.96 22799.93 ;
-C 89; N scripts-accStdbassM; B -11399.96 0.00 11399.96 22799.93 ;
-C 90; N scripts-accStdbassBp; B -11399.96 0.00 11399.96 22799.93 ;
-C 91; N scripts-accStdbassT; B -11399.96 0.00 11399.96 22799.93 ;
-C 92; N scripts-accStdbassTp; B -11399.96 0.00 11399.96 22799.93 ;
-C 93; N scripts-accBayanbass; B -5699.98 0.00 5699.98 17099.95 ;
-C 94; N scripts-accBayanbassT; B -5699.98 0.00 5699.98 17099.95 ;
-C 95; N scripts-accBayanbassE; B -5699.98 0.00 5699.98 17099.95 ;
-C 96; N scripts-accBayanbassTE; B -5699.98 0.00 5699.98 17099.95 ;
-C 97; N scripts-accBayanbassEE; B -5699.98 0.00 5699.98 17099.95 ;
-C 98; N scripts-accBayanbassTEE; B -5699.98 0.00 5699.98 17099.95 ;
-C 99; N scripts-accSB; B -7599.88 0.00 7599.88 11399.98 ;
-C 100; N scripts-accBB; B -7599.88 0.00 7599.88 11399.98 ;
-C 101; N scripts-accOldEE; B -4750.00 0.00 4750.00 9500.00 ;
-C 102; N scripts-accOldEES; B -4750.00 0.00 4750.00 9500.00 ;
-C 103; N flags-u3; B -237.52 -14558.78 5861.15 237.52 ;
-C 104; N flags-u4; B -237.52 -16933.78 5861.15 237.52 ;
-C 105; N flags-u5; B -237.52 -20496.28 5861.15 237.52 ;
-C 106; N flags-u6; B -237.52 -25246.28 5861.15 237.52 ;
-C 107; N flags-d3; B -237.52 -237.52 6486.07 13846.31 ;
-C 108; N flags-d4; B -237.52 -237.52 6486.07 14558.78 ;
-C 109; N flags-d5; B -237.52 -237.52 6486.07 18596.31 ;
-C 110; N flags-d6; B -237.52 -237.52 6486.07 20971.31 ;
-C 111; N clefs-alto; B -4750.00 -9500.00 17680.59 9500.00 ;
-C 112; N clefs-alto_change; B -3800.02 -7600.04 14144.50 7600.04 ;
-C 113; N clefs-bass; B -2375.00 -11875.00 17100.04 4750.00 ;
-C 114; N clefs-bass_change; B -1900.04 -9500.05 13680.05 3800.02 ;
-C 115; N clefs-treble; B -4139.30 -14250.00 17751.40 23750.00 ;
-C 116; N clefs-treble_change; B -3596.45 -11400.05 13916.18 19000.09 ;
-C 117; N timesig-C4/4; B -8550.02 -4750.00 8074.98 4750.00 ;
-C 118; N timesig-C2/2; B -8550.02 -6649.98 8074.98 6649.98 ;
-C 119; N timesig-old4/4; B -8312.50 -3562.50 8312.50 3562.50 ;
-C 120; N timesig-old2/2; B -8312.50 -4750.00 8312.50 4750.00 ;
-C 121; N timesig-old3/2; B -8312.50 -3562.50 8312.50 3562.50 ;
-C 122; N timesig-old6/4; B -8312.50 -5937.50 8312.50 5937.50 ;
-C 123; N timesig-old9/4; B -8312.50 -5937.50 8312.50 5937.50 ;
-EndCharMetrics
-EndFontMetrics
+++ /dev/null
-FontName feta
-StartFontMetrics
-StartCharMetrics
-C 0; N rests-0; B 0.00 -3125.00 7500.00 0.00 ;
-C 1; N rests-1; B 0.00 0.00 7500.00 3125.00 ;
-C 2; N rests-0o; B -3125.00 -3125.00 10625.00 500.03 ;
-C 3; N rests-1o; B -3125.00 -500.03 10625.00 3125.00 ;
-C 4; N rests--1; B 0.00 0.00 3000.00 5000.00 ;
-C 5; N rests--2; B 0.00 -5000.00 3000.00 5000.00 ;
-C 6; N rests-2; B 0.00 3750.00 5400.01 18000.03 ;
-C 7; N rests-3; B 0.00 5000.00 6666.64 14208.42 ;
-C 8; N rests-4; B 0.00 0.00 7756.96 14208.42 ;
-C 9; N rests-5; B 0.00 0.00 8752.69 19208.42 ;
-C 10; N rests-6; B 0.00 0.00 9384.92 24208.42 ;
-C 11; N rests-7; B 0.00 0.00 10447.72 29208.42 ;
-C 12; N accidentals-1; B 0.00 -7500.00 5500.03 7500.00 ;
-C 13; N accidentals-0; B 0.00 -7500.00 3333.33 7500.00 ;
-C 14; N accidentals--1; B -600.04 -2500.00 4000.02 10000.00 ;
-C 15; N accidentals--2; B -600.04 -2500.00 7249.98 10000.00 ;
-C 16; N accidentals-2; B 0.00 -2500.00 5000.00 2500.00 ;
-C 17; N accidentals-); B 0.00 -5000.00 3000.03 5000.00 ;
-C 18; N accidentals-(; B -3000.03 -5000.00 0.00 5000.00 ;
-C 19; N dots-dot; B 0.00 -1125.00 2249.98 1125.00 ;
-C 20; N dots-repeatcolon; B 0.00 -2500.00 2249.98 2500.00 ;
-C 21; N balls--1; B 0.00 -2750.02 10000.00 2750.02 ;
-C 22; N balls--1l; B -2500.00 -500.03 12500.00 500.03 ;
-C 23; N balls--2; B 0.00 -2750.02 10000.00 2750.02 ;
-C 24; N balls--2l; B -2500.00 -500.03 12500.00 500.03 ;
-C 25; N balls-0; B 0.00 -2750.02 9900.09 2750.02 ;
-C 26; N balls-0l; B -2475.02 -500.03 12375.10 500.03 ;
-C 27; N balls-1; B 0.00 -2750.02 6887.33 2750.02 ;
-C 28; N balls-1l; B -1721.83 -500.03 8609.16 500.03 ;
-C 29; N balls-2; B 0.00 -2750.02 6605.15 2750.02 ;
-C 30; N balls-2l; B -1651.29 -500.03 8256.44 500.03 ;
-C 31; N scripts-ufermata; B -6625.03 -375.03 6625.03 7250.06 ;
-C 32; N scripts-dfermata; B -6625.03 -7250.06 6625.03 375.03 ;
-C 33; N scripts-thumb; B -2000.00 -2500.00 2000.00 2500.00 ;
-C 34; N scripts-sforzato; B -4499.97 -2500.00 4499.97 2500.00 ;
-C 35; N scripts-staccato; B -750.05 -750.05 750.05 750.05 ;
-C 36; N scripts-ustaccatissimo; B -1000.06 -200.00 1000.06 5000.08 ;
-C 37; N scripts-dstaccatissimo; B -1000.06 -5000.08 1000.06 200.00 ;
-C 38; N scripts-tenuto; B -3000.03 -350.02 3000.03 350.02 ;
-C 39; N scripts-umarcato; B -2500.00 0.00 2500.00 5500.03 ;
-C 40; N scripts-dmarcato; B -2500.00 -5500.03 2500.00 0.00 ;
-C 41; N scripts-open; B -2000.00 -2500.00 2000.00 2500.00 ;
-C 42; N scripts-stopped; B -2750.02 -2750.02 2750.02 2750.02 ;
-C 43; N scripts-upbow; B -3250.02 0.00 3250.02 10400.07 ;
-C 44; N scripts-downbow; B -3750.00 0.00 3750.00 6666.64 ;
-C 45; N scripts-reverseturn; B -5468.75 -2647.06 5468.75 2647.06 ;
-C 46; N scripts-turn; B -5468.75 -2647.06 5468.75 2647.06 ;
-C 47; N scripts-trill; B -5000.00 0.00 5000.00 11250.00 ;
-C 48; N scripts-upedalheel; B -2500.00 -2500.00 2500.00 3333.33 ;
-C 49; N scripts-dpedalheel; B -2500.00 -3333.33 2500.00 2500.00 ;
-C 50; N scripts-upedaltoe; B -2500.00 0.00 2500.00 7500.00 ;
-C 51; N scripts-dpedaltoe; B -2500.00 -7500.00 2500.00 0.00 ;
-C 52; N scripts-flageolet; B -2666.67 -2666.67 2666.67 2666.67 ;
-C 53; N scripts-trilelement; B -3333.33 -2500.00 1306.64 2500.00 ;
-C 54; N scripts-prall; B -5653.30 -2500.00 5653.30 2500.00 ;
-C 55; N scripts-mordent; B -5653.30 -2500.00 5653.30 2500.00 ;
-C 56; N scripts-prallprall; B -7973.28 -2500.00 7973.28 2500.00 ;
-C 57; N scripts-prallmordent; B -7973.28 -2500.00 7973.28 2500.00 ;
-C 58; N scripts-upprall; B -7973.28 -2500.00 7973.28 2500.00 ;
-C 59; N scripts-downprall; B -7973.28 -2500.00 7973.28 2500.00 ;
-C 60; N scripts-accDiscant; B -8999.98 0.00 8999.98 17999.97 ;
-C 61; N scripts-accDiscantF; B -8999.98 0.00 8999.98 17999.97 ;
-C 62; N scripts-accDiscantEh; B -8999.98 0.00 8999.98 17999.97 ;
-C 63; N scripts-accDiscantE; B -8999.98 0.00 8999.98 17999.97 ;
-C 64; N scripts-accDiscantFE; B -8999.98 0.00 8999.98 17999.97 ;
-C 65; N scripts-accDiscantFEh; B -8999.98 0.00 8999.98 17999.97 ;
-C 66; N scripts-accDiscantEE; B -8999.98 0.00 8999.98 17999.97 ;
-C 67; N scripts-accDiscantFEE; B -8999.98 0.00 8999.98 17999.97 ;
-C 68; N scripts-accDiscantEEE; B -8999.98 0.00 8999.98 17999.97 ;
-C 69; N scripts-accDiscantFEEE; B -8999.98 0.00 8999.98 17999.97 ;
-C 70; N scripts-accDiscantS; B -8999.98 0.00 8999.98 17999.97 ;
-C 71; N scripts-accDiscantFS; B -8999.98 0.00 8999.98 17999.97 ;
-C 72; N scripts-accDiscantES; B -8999.98 0.00 8999.98 17999.97 ;
-C 73; N scripts-accDiscantEhS; B -8999.98 0.00 8999.98 17999.97 ;
-C 74; N scripts-accDiscantFES; B -8999.98 0.00 8999.98 17999.97 ;
-C 75; N scripts-accDiscantFEhS; B -8999.98 0.00 8999.98 17999.97 ;
-C 76; N scripts-accDiscantEES; B -8999.98 0.00 8999.98 17999.97 ;
-C 77; N scripts-accDiscantFEES; B -8999.98 0.00 8999.98 17999.97 ;
-C 78; N scripts-accDiscantEEES; B -8999.98 0.00 8999.98 17999.97 ;
-C 79; N scripts-accDiscantFEEES; B -8999.98 0.00 8999.98 17999.97 ;
-C 80; N scripts-accDiscantSS; B -8999.98 0.00 8999.98 17999.97 ;
-C 81; N scripts-accDiscantESS; B -8999.98 0.00 8999.98 17999.97 ;
-C 82; N scripts-accDiscantEESS; B -8999.98 0.00 8999.98 17999.97 ;
-C 83; N scripts-accDiscantEEESS; B -8999.98 0.00 8999.98 17999.97 ;
-C 84; N scripts-accFreebass; B -5999.98 0.00 5999.98 11999.97 ;
-C 85; N scripts-accFreebassF; B -5999.98 0.00 5999.98 11999.97 ;
-C 86; N scripts-accFreebassE; B -5999.98 0.00 5999.98 11999.97 ;
-C 87; N scripts-accFreebassFE; B -5999.98 0.00 5999.98 11999.97 ;
-C 88; N scripts-accStdbass; B -11999.97 0.00 11999.97 23999.94 ;
-C 89; N scripts-accStdbassM; B -11999.97 0.00 11999.97 23999.94 ;
-C 90; N scripts-accStdbassBp; B -11999.97 0.00 11999.97 23999.94 ;
-C 91; N scripts-accStdbassT; B -11999.97 0.00 11999.97 23999.94 ;
-C 92; N scripts-accStdbassTp; B -11999.97 0.00 11999.97 23999.94 ;
-C 93; N scripts-accBayanbass; B -5999.98 0.00 5999.98 17999.95 ;
-C 94; N scripts-accBayanbassT; B -5999.98 0.00 5999.98 17999.95 ;
-C 95; N scripts-accBayanbassE; B -5999.98 0.00 5999.98 17999.95 ;
-C 96; N scripts-accBayanbassTE; B -5999.98 0.00 5999.98 17999.95 ;
-C 97; N scripts-accBayanbassEE; B -5999.98 0.00 5999.98 17999.95 ;
-C 98; N scripts-accBayanbassTEE; B -5999.98 0.00 5999.98 17999.95 ;
-C 99; N scripts-accSB; B -7999.88 0.00 7999.88 11999.97 ;
-C 100; N scripts-accBB; B -7999.88 0.00 7999.88 11999.97 ;
-C 101; N scripts-accOldEE; B -5000.00 0.00 5000.00 10000.00 ;
-C 102; N scripts-accOldEES; B -5000.00 0.00 5000.00 10000.00 ;
-C 103; N flags-u3; B -250.02 -15325.03 6169.62 250.02 ;
-C 104; N flags-u4; B -250.02 -17825.03 6169.62 250.02 ;
-C 105; N flags-u5; B -250.02 -21575.03 6169.62 250.02 ;
-C 106; N flags-u6; B -250.02 -26575.03 6169.62 250.02 ;
-C 107; N flags-d3; B -250.02 -250.02 6827.44 14575.06 ;
-C 108; N flags-d4; B -250.02 -250.02 6827.44 15325.03 ;
-C 109; N flags-d5; B -250.02 -250.02 6827.44 19575.06 ;
-C 110; N flags-d6; B -250.02 -250.02 6827.44 22075.06 ;
-C 111; N clefs-alto; B -5000.00 -10000.00 18611.10 10000.00 ;
-C 112; N clefs-alto_change; B -4000.02 -8000.03 14888.92 8000.03 ;
-C 113; N clefs-bass; B -2500.00 -12500.00 18000.03 5000.00 ;
-C 114; N clefs-bass_change; B -2000.05 -10000.05 14400.04 4000.02 ;
-C 115; N clefs-treble; B -4357.15 -15000.00 18685.68 25000.00 ;
-C 116; N clefs-treble_change; B -3785.74 -12000.05 14648.60 20000.08 ;
-C 117; N timesig-C4/4; B -9000.02 -5000.00 8499.98 5000.00 ;
-C 118; N timesig-C2/2; B -9000.02 -6999.97 8499.98 6999.97 ;
-C 119; N timesig-old4/4; B -8750.00 -3750.00 8750.00 3750.00 ;
-C 120; N timesig-old2/2; B -8750.00 -5000.00 8750.00 5000.00 ;
-C 121; N timesig-old3/2; B -8750.00 -3750.00 8750.00 3750.00 ;
-C 122; N timesig-old6/4; B -8750.00 -6250.00 8750.00 6250.00 ;
-C 123; N timesig-old9/4; B -8750.00 -6250.00 8750.00 6250.00 ;
-EndCharMetrics
-EndFontMetrics
+++ /dev/null
-FontName feta
-StartFontMetrics
-StartCharMetrics
-C 0; N rests-0; B 0.00 -3515.63 8437.50 0.00 ;
-C 1; N rests-1; B 0.00 0.00 8437.50 3515.63 ;
-C 2; N rests-0o; B -3515.63 -3515.63 11953.13 562.53 ;
-C 3; N rests-1o; B -3515.63 -562.53 11953.13 3515.63 ;
-C 4; N rests--1; B 0.00 0.00 3375.00 5625.00 ;
-C 5; N rests--2; B 0.00 -5625.00 3375.00 5625.00 ;
-C 6; N rests-2; B 0.00 4218.75 6075.01 20250.03 ;
-C 7; N rests-3; B 0.00 5625.00 7499.97 15984.47 ;
-C 8; N rests-4; B 0.00 0.00 8726.58 15984.47 ;
-C 9; N rests-5; B 0.00 0.00 9846.77 21609.47 ;
-C 10; N rests-6; B 0.00 0.00 10558.03 27234.47 ;
-C 11; N rests-7; B 0.00 0.00 11753.70 32859.47 ;
-C 12; N accidentals-1; B 0.00 -8437.50 6187.53 8437.50 ;
-C 13; N accidentals-0; B 0.00 -8437.50 3750.00 8437.50 ;
-C 14; N accidentals--1; B -675.03 -2812.50 4500.02 11250.00 ;
-C 15; N accidentals--2; B -675.03 -2812.50 8156.23 11250.00 ;
-C 16; N accidentals-2; B 0.00 -2812.50 5625.00 2812.50 ;
-C 17; N accidentals-); B 0.00 -5625.00 3375.03 5625.00 ;
-C 18; N accidentals-(; B -3375.03 -5625.00 0.00 5625.00 ;
-C 19; N dots-dot; B 0.00 -1265.63 2531.23 1265.63 ;
-C 20; N dots-repeatcolon; B 0.00 -2812.50 2531.23 2812.50 ;
-C 21; N balls--1; B 0.00 -3093.77 11250.00 3093.77 ;
-C 22; N balls--1l; B -2812.50 -562.53 14062.50 562.53 ;
-C 23; N balls--2; B 0.00 -3093.77 11250.00 3093.77 ;
-C 24; N balls--2l; B -2812.50 -562.53 14062.50 562.53 ;
-C 25; N balls-0; B 0.00 -3093.77 11137.57 3093.77 ;
-C 26; N balls-0l; B -2784.40 -562.53 13921.97 562.53 ;
-C 27; N balls-1; B 0.00 -3093.77 7748.26 3093.77 ;
-C 28; N balls-1l; B -1937.07 -562.53 9685.33 562.53 ;
-C 29; N balls-2; B 0.00 -3093.77 7430.80 3093.77 ;
-C 30; N balls-2l; B -1857.70 -562.53 9288.50 562.53 ;
-C 31; N scripts-ufermata; B -7453.16 -421.90 7453.16 8156.31 ;
-C 32; N scripts-dfermata; B -7453.16 -8156.31 7453.16 421.90 ;
-C 33; N scripts-thumb; B -2250.00 -2812.50 2250.00 2812.50 ;
-C 34; N scripts-sforzato; B -5062.47 -2812.50 5062.47 2812.50 ;
-C 35; N scripts-staccato; B -843.80 -843.80 843.80 843.80 ;
-C 36; N scripts-ustaccatissimo; B -1125.06 -200.00 1125.06 5625.08 ;
-C 37; N scripts-dstaccatissimo; B -1125.06 -5625.08 1125.06 200.00 ;
-C 38; N scripts-tenuto; B -3375.03 -393.77 3375.03 393.77 ;
-C 39; N scripts-umarcato; B -2812.50 0.00 2812.50 6187.53 ;
-C 40; N scripts-dmarcato; B -2812.50 -6187.53 2812.50 0.00 ;
-C 41; N scripts-open; B -2250.00 -2812.50 2250.00 2812.50 ;
-C 42; N scripts-stopped; B -3093.77 -3093.77 3093.77 3093.77 ;
-C 43; N scripts-upbow; B -3656.27 0.00 3656.27 11700.07 ;
-C 44; N scripts-downbow; B -4218.75 0.00 4218.75 7499.97 ;
-C 45; N scripts-reverseturn; B -6152.34 -2977.94 6152.34 2977.94 ;
-C 46; N scripts-turn; B -6152.34 -2977.94 6152.34 2977.94 ;
-C 47; N scripts-trill; B -5625.00 0.00 5625.00 12656.25 ;
-C 48; N scripts-upedalheel; B -2812.50 -2812.50 2812.50 3750.00 ;
-C 49; N scripts-dpedalheel; B -2812.50 -3750.00 2812.50 2812.50 ;
-C 50; N scripts-upedaltoe; B -2812.50 0.00 2812.50 8437.50 ;
-C 51; N scripts-dpedaltoe; B -2812.50 -8437.50 2812.50 0.00 ;
-C 52; N scripts-flageolet; B -3000.00 -3000.00 3000.00 3000.00 ;
-C 53; N scripts-trilelement; B -3750.00 -2812.50 1469.97 2812.50 ;
-C 54; N scripts-prall; B -6359.99 -2812.50 6359.99 2812.50 ;
-C 55; N scripts-mordent; B -6359.99 -2812.50 6359.99 2812.50 ;
-C 56; N scripts-prallprall; B -8969.97 -2812.50 8969.97 2812.50 ;
-C 57; N scripts-prallmordent; B -8969.97 -2812.50 8969.97 2812.50 ;
-C 58; N scripts-upprall; B -8969.97 -2812.50 8969.97 2812.50 ;
-C 59; N scripts-downprall; B -8969.97 -2812.50 8969.97 2812.50 ;
-C 60; N scripts-accDiscant; B -10124.98 0.00 10124.98 20249.97 ;
-C 61; N scripts-accDiscantF; B -10124.98 0.00 10124.98 20249.97 ;
-C 62; N scripts-accDiscantEh; B -10124.98 0.00 10124.98 20249.97 ;
-C 63; N scripts-accDiscantE; B -10124.98 0.00 10124.98 20249.97 ;
-C 64; N scripts-accDiscantFE; B -10124.98 0.00 10124.98 20249.97 ;
-C 65; N scripts-accDiscantFEh; B -10124.98 0.00 10124.98 20249.97 ;
-C 66; N scripts-accDiscantEE; B -10124.98 0.00 10124.98 20249.97 ;
-C 67; N scripts-accDiscantFEE; B -10124.98 0.00 10124.98 20249.97 ;
-C 68; N scripts-accDiscantEEE; B -10124.98 0.00 10124.98 20249.97 ;
-C 69; N scripts-accDiscantFEEE; B -10124.98 0.00 10124.98 20249.97 ;
-C 70; N scripts-accDiscantS; B -10124.98 0.00 10124.98 20249.97 ;
-C 71; N scripts-accDiscantFS; B -10124.98 0.00 10124.98 20249.97 ;
-C 72; N scripts-accDiscantES; B -10124.98 0.00 10124.98 20249.97 ;
-C 73; N scripts-accDiscantEhS; B -10124.98 0.00 10124.98 20249.97 ;
-C 74; N scripts-accDiscantFES; B -10124.98 0.00 10124.98 20249.97 ;
-C 75; N scripts-accDiscantFEhS; B -10124.98 0.00 10124.98 20249.97 ;
-C 76; N scripts-accDiscantEES; B -10124.98 0.00 10124.98 20249.97 ;
-C 77; N scripts-accDiscantFEES; B -10124.98 0.00 10124.98 20249.97 ;
-C 78; N scripts-accDiscantEEES; B -10124.98 0.00 10124.98 20249.97 ;
-C 79; N scripts-accDiscantFEEES; B -10124.98 0.00 10124.98 20249.97 ;
-C 80; N scripts-accDiscantSS; B -10124.98 0.00 10124.98 20249.97 ;
-C 81; N scripts-accDiscantESS; B -10124.98 0.00 10124.98 20249.97 ;
-C 82; N scripts-accDiscantEESS; B -10124.98 0.00 10124.98 20249.97 ;
-C 83; N scripts-accDiscantEEESS; B -10124.98 0.00 10124.98 20249.97 ;
-C 84; N scripts-accFreebass; B -6749.98 0.00 6749.98 13499.97 ;
-C 85; N scripts-accFreebassF; B -6749.98 0.00 6749.98 13499.97 ;
-C 86; N scripts-accFreebassE; B -6749.98 0.00 6749.98 13499.97 ;
-C 87; N scripts-accFreebassFE; B -6749.98 0.00 6749.98 13499.97 ;
-C 88; N scripts-accStdbass; B -13499.97 0.00 13499.97 26999.94 ;
-C 89; N scripts-accStdbassM; B -13499.97 0.00 13499.97 26999.94 ;
-C 90; N scripts-accStdbassBp; B -13499.97 0.00 13499.97 26999.94 ;
-C 91; N scripts-accStdbassT; B -13499.97 0.00 13499.97 26999.94 ;
-C 92; N scripts-accStdbassTp; B -13499.97 0.00 13499.97 26999.94 ;
-C 93; N scripts-accBayanbass; B -6749.98 0.00 6749.98 20249.95 ;
-C 94; N scripts-accBayanbassT; B -6749.98 0.00 6749.98 20249.95 ;
-C 95; N scripts-accBayanbassE; B -6749.98 0.00 6749.98 20249.95 ;
-C 96; N scripts-accBayanbassTE; B -6749.98 0.00 6749.98 20249.95 ;
-C 97; N scripts-accBayanbassEE; B -6749.98 0.00 6749.98 20249.95 ;
-C 98; N scripts-accBayanbassTEE; B -6749.98 0.00 6749.98 20249.95 ;
-C 99; N scripts-accSB; B -8999.86 0.00 8999.86 13499.97 ;
-C 100; N scripts-accBB; B -8999.86 0.00 8999.86 13499.97 ;
-C 101; N scripts-accOldEE; B -5625.00 0.00 5625.00 11250.00 ;
-C 102; N scripts-accOldEES; B -5625.00 0.00 5625.00 11250.00 ;
-C 103; N flags-u3; B -281.27 -17240.65 6940.84 281.27 ;
-C 104; N flags-u4; B -281.27 -20053.15 6940.84 281.27 ;
-C 105; N flags-u5; B -281.27 -24271.90 6940.84 281.27 ;
-C 106; N flags-u6; B -281.27 -29896.90 6940.84 281.27 ;
-C 107; N flags-d3; B -281.27 -281.27 7680.88 16396.93 ;
-C 108; N flags-d4; B -281.27 -281.27 7680.88 17240.65 ;
-C 109; N flags-d5; B -281.27 -281.27 7680.88 22021.93 ;
-C 110; N flags-d6; B -281.27 -281.27 7680.88 24834.43 ;
-C 111; N clefs-alto; B -5625.00 -11250.00 20937.50 11250.00 ;
-C 112; N clefs-alto_change; B -4500.02 -9000.03 16750.08 9000.03 ;
-C 113; N clefs-bass; B -2812.50 -14062.50 20250.03 5625.00 ;
-C 114; N clefs-bass_change; B -2250.05 -11250.05 16200.04 4500.02 ;
-C 115; N clefs-treble; B -4901.80 -16875.00 21021.40 28125.00 ;
-C 116; N clefs-treble_change; B -4258.94 -13500.05 16479.68 22500.08 ;
-C 117; N timesig-C4/4; B -10125.02 -5625.00 9562.48 5625.00 ;
-C 118; N timesig-C2/2; B -10125.02 -7874.97 9562.48 7874.97 ;
-C 119; N timesig-old4/4; B -9843.75 -4218.75 9843.75 4218.75 ;
-C 120; N timesig-old2/2; B -9843.75 -5625.00 9843.75 5625.00 ;
-C 121; N timesig-old3/2; B -9843.75 -4218.75 9843.75 4218.75 ;
-C 122; N timesig-old6/4; B -9843.75 -7031.25 9843.75 7031.25 ;
-C 123; N timesig-old9/4; B -9843.75 -7031.25 9843.75 7031.25 ;
-EndCharMetrics
-EndFontMetrics
+++ /dev/null
-FontName feta
-StartFontMetrics
-StartCharMetrics
-C 0; N rests-0; B 0.00 -4062.50 9750.00 0.00 ;
-C 1; N rests-1; B 0.00 0.00 9750.00 4062.50 ;
-C 2; N rests-0o; B -4062.50 -4062.50 13812.50 650.04 ;
-C 3; N rests-1o; B -4062.50 -650.04 13812.50 4062.50 ;
-C 4; N rests--1; B 0.00 0.00 3900.00 6500.00 ;
-C 5; N rests--2; B 0.00 -6500.00 3900.00 6500.00 ;
-C 6; N rests-2; B 0.00 4875.00 7020.02 23400.04 ;
-C 7; N rests-3; B 0.00 6500.00 8666.64 18470.95 ;
-C 8; N rests-4; B 0.00 0.00 10084.06 18470.95 ;
-C 9; N rests-5; B 0.00 0.00 11378.50 24970.95 ;
-C 10; N rests-6; B 0.00 0.00 12200.41 31470.95 ;
-C 11; N rests-7; B 0.00 0.00 13582.05 37970.95 ;
-C 12; N accidentals-1; B 0.00 -9750.00 7150.04 9750.00 ;
-C 13; N accidentals-0; B 0.00 -9750.00 4333.33 9750.00 ;
-C 14; N accidentals--1; B -780.04 -3250.00 5200.03 13000.00 ;
-C 15; N accidentals--2; B -780.04 -3250.00 9424.99 13000.00 ;
-C 16; N accidentals-2; B 0.00 -3250.00 6500.00 3250.00 ;
-C 17; N accidentals-); B 0.00 -6500.00 3900.04 6500.00 ;
-C 18; N accidentals-(; B -3900.04 -6500.00 0.00 6500.00 ;
-C 19; N dots-dot; B 0.00 -1462.50 2924.99 1462.50 ;
-C 20; N dots-repeatcolon; B 0.00 -3250.00 2924.99 3250.00 ;
-C 21; N balls--1; B 0.00 -3575.03 13000.00 3575.03 ;
-C 22; N balls--1l; B -3250.00 -650.04 16250.00 650.04 ;
-C 23; N balls--2; B 0.00 -3575.03 13000.00 3575.03 ;
-C 24; N balls--2l; B -3250.00 -650.04 16250.00 650.04 ;
-C 25; N balls-0; B 0.00 -3575.03 12870.12 3575.03 ;
-C 26; N balls-0l; B -3217.53 -650.04 16087.65 650.04 ;
-C 27; N balls-1; B 0.00 -3575.03 8953.54 3575.03 ;
-C 28; N balls-1l; B -2238.39 -650.04 11191.93 650.04 ;
-C 29; N balls-2; B 0.00 -3575.03 8586.67 3575.03 ;
-C 30; N balls-2l; B -2146.67 -650.04 10733.34 650.04 ;
-C 31; N scripts-ufermata; B -8612.53 -487.53 8612.53 9425.08 ;
-C 32; N scripts-dfermata; B -8612.53 -9425.08 8612.53 487.53 ;
-C 33; N scripts-thumb; B -2600.00 -3250.00 2600.00 3250.00 ;
-C 34; N scripts-sforzato; B -5849.96 -3250.00 5849.96 3250.00 ;
-C 35; N scripts-staccato; B -975.07 -975.07 975.07 975.07 ;
-C 36; N scripts-ustaccatissimo; B -1300.08 -200.00 1300.08 6500.10 ;
-C 37; N scripts-dstaccatissimo; B -1300.08 -6500.10 1300.08 200.00 ;
-C 38; N scripts-tenuto; B -3900.04 -455.03 3900.04 455.03 ;
-C 39; N scripts-umarcato; B -3250.00 0.00 3250.00 7150.04 ;
-C 40; N scripts-dmarcato; B -3250.00 -7150.04 3250.00 0.00 ;
-C 41; N scripts-open; B -2600.00 -3250.00 2600.00 3250.00 ;
-C 42; N scripts-stopped; B -3575.03 -3575.03 3575.03 3575.03 ;
-C 43; N scripts-upbow; B -4225.02 0.00 4225.02 13520.10 ;
-C 44; N scripts-downbow; B -4875.00 0.00 4875.00 8666.64 ;
-C 45; N scripts-reverseturn; B -7109.38 -3441.18 7109.38 3441.18 ;
-C 46; N scripts-turn; B -7109.38 -3441.18 7109.38 3441.18 ;
-C 47; N scripts-trill; B -6500.00 0.00 6500.00 14625.00 ;
-C 48; N scripts-upedalheel; B -3250.00 -3250.00 3250.00 4333.33 ;
-C 49; N scripts-dpedalheel; B -3250.00 -4333.33 3250.00 3250.00 ;
-C 50; N scripts-upedaltoe; B -3250.00 0.00 3250.00 9750.00 ;
-C 51; N scripts-dpedaltoe; B -3250.00 -9750.00 3250.00 0.00 ;
-C 52; N scripts-flageolet; B -3466.67 -3466.67 3466.67 3466.67 ;
-C 53; N scripts-trilelement; B -4333.33 -3250.00 1698.62 3250.00 ;
-C 54; N scripts-prall; B -7349.30 -3250.00 7349.30 3250.00 ;
-C 55; N scripts-mordent; B -7349.30 -3250.00 7349.30 3250.00 ;
-C 56; N scripts-prallprall; B -10365.28 -3250.00 10365.28 3250.00 ;
-C 57; N scripts-prallmordent; B -10365.28 -3250.00 10365.28 3250.00 ;
-C 58; N scripts-upprall; B -10365.28 -3250.00 10365.28 3250.00 ;
-C 59; N scripts-downprall; B -10365.28 -3250.00 10365.28 3250.00 ;
-C 60; N scripts-accDiscant; B -11699.98 0.00 11699.98 23399.96 ;
-C 61; N scripts-accDiscantF; B -11699.98 0.00 11699.98 23399.96 ;
-C 62; N scripts-accDiscantEh; B -11699.98 0.00 11699.98 23399.96 ;
-C 63; N scripts-accDiscantE; B -11699.98 0.00 11699.98 23399.96 ;
-C 64; N scripts-accDiscantFE; B -11699.98 0.00 11699.98 23399.96 ;
-C 65; N scripts-accDiscantFEh; B -11699.98 0.00 11699.98 23399.96 ;
-C 66; N scripts-accDiscantEE; B -11699.98 0.00 11699.98 23399.96 ;
-C 67; N scripts-accDiscantFEE; B -11699.98 0.00 11699.98 23399.96 ;
-C 68; N scripts-accDiscantEEE; B -11699.98 0.00 11699.98 23399.96 ;
-C 69; N scripts-accDiscantFEEE; B -11699.98 0.00 11699.98 23399.96 ;
-C 70; N scripts-accDiscantS; B -11699.98 0.00 11699.98 23399.96 ;
-C 71; N scripts-accDiscantFS; B -11699.98 0.00 11699.98 23399.96 ;
-C 72; N scripts-accDiscantES; B -11699.98 0.00 11699.98 23399.96 ;
-C 73; N scripts-accDiscantEhS; B -11699.98 0.00 11699.98 23399.96 ;
-C 74; N scripts-accDiscantFES; B -11699.98 0.00 11699.98 23399.96 ;
-C 75; N scripts-accDiscantFEhS; B -11699.98 0.00 11699.98 23399.96 ;
-C 76; N scripts-accDiscantEES; B -11699.98 0.00 11699.98 23399.96 ;
-C 77; N scripts-accDiscantFEES; B -11699.98 0.00 11699.98 23399.96 ;
-C 78; N scripts-accDiscantEEES; B -11699.98 0.00 11699.98 23399.96 ;
-C 79; N scripts-accDiscantFEEES; B -11699.98 0.00 11699.98 23399.96 ;
-C 80; N scripts-accDiscantSS; B -11699.98 0.00 11699.98 23399.96 ;
-C 81; N scripts-accDiscantESS; B -11699.98 0.00 11699.98 23399.96 ;
-C 82; N scripts-accDiscantEESS; B -11699.98 0.00 11699.98 23399.96 ;
-C 83; N scripts-accDiscantEEESS; B -11699.98 0.00 11699.98 23399.96 ;
-C 84; N scripts-accFreebass; B -7799.99 0.00 7799.99 15599.98 ;
-C 85; N scripts-accFreebassF; B -7799.99 0.00 7799.99 15599.98 ;
-C 86; N scripts-accFreebassE; B -7799.99 0.00 7799.99 15599.98 ;
-C 87; N scripts-accFreebassFE; B -7799.99 0.00 7799.99 15599.98 ;
-C 88; N scripts-accStdbass; B -15599.98 0.00 15599.98 31199.95 ;
-C 89; N scripts-accStdbassM; B -15599.98 0.00 15599.98 31199.95 ;
-C 90; N scripts-accStdbassBp; B -15599.98 0.00 15599.98 31199.95 ;
-C 91; N scripts-accStdbassT; B -15599.98 0.00 15599.98 31199.95 ;
-C 92; N scripts-accStdbassTp; B -15599.98 0.00 15599.98 31199.95 ;
-C 93; N scripts-accBayanbass; B -7799.99 0.00 7799.99 23399.96 ;
-C 94; N scripts-accBayanbassT; B -7799.99 0.00 7799.99 23399.96 ;
-C 95; N scripts-accBayanbassE; B -7799.99 0.00 7799.99 23399.96 ;
-C 96; N scripts-accBayanbassTE; B -7799.99 0.00 7799.99 23399.96 ;
-C 97; N scripts-accBayanbassEE; B -7799.99 0.00 7799.99 23399.96 ;
-C 98; N scripts-accBayanbassTEE; B -7799.99 0.00 7799.99 23399.96 ;
-C 99; N scripts-accSB; B -10399.84 0.00 10399.84 15599.96 ;
-C 100; N scripts-accBB; B -10399.84 0.00 10399.84 15599.96 ;
-C 101; N scripts-accOldEE; B -6500.00 0.00 6500.00 13000.00 ;
-C 102; N scripts-accOldEES; B -6500.00 0.00 6500.00 13000.00 ;
-C 103; N flags-u3; B -325.03 -19922.53 8020.51 325.03 ;
-C 104; N flags-u4; B -325.03 -23172.53 8020.51 325.03 ;
-C 105; N flags-u5; B -325.03 -28047.53 8020.51 325.03 ;
-C 106; N flags-u6; B -325.03 -34547.53 8020.51 325.03 ;
-C 107; N flags-d3; B -325.03 -325.03 8875.67 18947.57 ;
-C 108; N flags-d4; B -325.03 -325.03 8875.67 19922.53 ;
-C 109; N flags-d5; B -325.03 -325.03 8875.67 25447.57 ;
-C 110; N flags-d6; B -325.03 -325.03 8875.67 28697.57 ;
-C 111; N clefs-alto; B -6500.00 -13000.00 24194.44 13000.00 ;
-C 112; N clefs-alto_change; B -5200.03 -10400.05 19355.70 10400.05 ;
-C 113; N clefs-bass; B -3250.00 -16250.00 23400.04 6500.00 ;
-C 114; N clefs-bass_change; B -2600.07 -13000.08 18720.08 5200.03 ;
-C 115; N clefs-treble; B -5664.29 -19500.00 24291.40 32500.00 ;
-C 116; N clefs-treble_change; B -4921.46 -15600.08 19043.21 26000.14 ;
-C 117; N timesig-C4/4; B -11700.03 -6500.00 11049.99 6500.00 ;
-C 118; N timesig-C2/2; B -11700.03 -9099.96 11049.99 9099.96 ;
-C 119; N timesig-old4/4; B -11375.00 -4875.00 11375.00 4875.00 ;
-C 120; N timesig-old2/2; B -11375.00 -6500.00 11375.00 6500.00 ;
-C 121; N timesig-old3/2; B -11375.00 -4875.00 11375.00 4875.00 ;
-C 122; N timesig-old6/4; B -11375.00 -8125.00 11375.00 8125.00 ;
-C 123; N timesig-old9/4; B -11375.00 -8125.00 11375.00 8125.00 ;
-EndCharMetrics
-EndFontMetrics
"musical_pitch" "time" "midi" "mm" "header"
"notenames" "octave" "output" "partial" "paper" "plet"
"property" "pt" "shape" "relative" "include" "score"
+ "scm" "scmfile"
"script" "skip" "table" "spandynamic" "symboltables"
"tempo" "texid" "textstyle" "transpose" "version" "grouping"
))
\header{
filename = "preludes-1.ly";
-% mmm
-% title = "DOUZE PETITES PR\\'ELUDES";
-opus = "BWV 924";
-% piece = "\\numfont 1";
-piece = "1";
+% urg?
+%opus = "BWV 924";
+% piece = "1";
% blz 1
% Clavierb"uchlein f"ur W. Fr. Bach
% Clav. W. Fr. Bach: 2-Praeambulum I
\grand_staff
\include "preludes-paper.ly";
\midi{ \tempo 4 = 80; }
+ \header {
+ opus = "BWV 924";
+ piece = "1";
+ }
}
\header{
filename = "preludes-2.ly";
-title = "2";
-opus = "BWV 939";
-% urg?? piece = "\\numfont 2";
-piece = "2";
% blz 10
%
% Six Petits Pr eludes
\grandStaff
\paper{ \a4 }
\midi{ \tempo 4 = 100; }
+ \header {
+ opus = "BWV 939";
+ piece = "2";
+ }
}
\header{
filename = "preludes-3.ly";
-title = "3";
-opus = "BWV 999";
-% piece = "\\numfont 3";
-piece = "3";
% Pr"aludum in C Moll f"ur Laute
% blz 16
% Six Petits Preludes`
\grand_staff
\paper{ \a4 }
\midi{ \tempo 4 = 100; }
+ \header{
+ opus = "BWV 999";
+ piece = "3";
+ }
}
\header{
filename = "preludes-4.ly";
-title = "4";
-opus = "BWV 925";
-% piece = "\\numfont 4";
-piece = "4";
% blz 8
% Clavierb"uchlein f"ur W. Fr. Bach
% Clav. W. Fr. Bach: 27-Praeludium ex d neutral
\grand_staff
\include "preludes-paper.ly";
\midi{ \tempo 4 = 70; }
+ \header{
+ opus = "BWV 925";
+ piece = "4";
+ }
}
\header{
filename = "preludes-5.ly";
-title = "5";
-% piece = "\\numfont 5";
-piece = "5";
-opus = "BWV 926";
% blz 2
% Clavierb"uchlein f"ur W. Fr. Bach
% Clav. W. Fr. Bach: 4-Praeludium 2
\grand_staff
\paper{ \widea4 }
\midi{ \tempo 4 = 90; }
+ \header{
+ piece = "5";
+ opus = "BWV 926";
+ }
}
\header{
filename = "preludes-6.ly";
-title = "6";
-% piece = "\\numfont 6";
-piece = "6";
-opus = "BWV 940";
% blz 11
% Six Petits Preludes
% Collection Johann Peter Kellner
\grand_staff
\paper{ \a4 }
\midi{ \tempo 4 = 40; }
+ \header{
+ piece = "6";
+ opus = "BWV 940";
+ }
}
+++ /dev/null
-%!PS-Adobe-1.0: lily.ps
-%
-staffrulethickness /stafflinethickness exch def
-%
-% round cappings
-1 setlinecap
-%
-/draw_beam % width slope thick
-{
- 2 div /beam_thick exch def
- /beam_slope exch def
- /beam_wd exch def
- beam_slope beam_wd mul /beam_ht exch def
- 0 beam_thick neg moveto
- beam_wd beam_ht rlineto
- 0 beam_thick 2 mul rlineto
- 0 beam_thick lineto
- closepath fill
-} bind def
-%
-/draw_decresc
-{
- stafflinethickness setlinewidth
- /cresc_cont exch def
- /cresc_ht exch def
- /cresc_wd exch def
-%
- cresc_wd cresc_cont moveto
- 0 cresc_ht lineto
- stroke
- cresc_wd cresc_cont neg moveto
- 0 cresc_ht neg lineto
- stroke
-} bind def
-%
-/draw_cresc
-{
- stafflinethickness setlinewidth
- /cresc_cont exch def
- /cresc_ht exch def
- /cresc_wd exch def
-%
- 0 cresc_cont moveto
- cresc_wd cresc_ht lineto
- stroke
- 0 cresc_cont neg moveto
- cresc_wd cresc_ht neg lineto
- stroke
-} bind def
-%
-/lily_distance
-{
- 1 copy mul exch 1 copy mul add sqrt
-} bind def
-%
-stafflinethickness 1.2 mul /plet_t exch def
-/draw_plet
-{
- plet_t setlinewidth
-% urg: the only Level-2 PS, check effect in print
-% true setstrokeadjust
- 1 setlinecap
- 1 setlinejoin
- /dir exch def
- /plet_dy exch def
- /plet_dx exch def
- staffheight 2 div /plet_gapx exch def
- plet_dy plet_dx div plet_gapx mul /plet_gapy exch def
- staffheight 4 div dir mul /plet_h exch def
-%
- 0 0 moveto
- 0 plet_h lineto
- plet_dx plet_gapx sub 2 div
- plet_dy plet_gapy sub 2 div plet_h add lineto
- plet_dx plet_gapx add 2 div
- plet_dy plet_gapy add 2 div plet_h add moveto
- plet_dx plet_dy plet_h add lineto
- plet_dx plet_dy lineto
- stroke
-} bind def
-%
-/draw_slur
-{
- stafflinethickness setlinewidth
- moveto
- curveto
- lineto
- curveto
- gsave
- fill
- grestore
- stroke
-} bind def
-%
-/draw_dashed_slur
-{
- 1 setlinecap
- 1 setlinejoin
- setdash
- setlinewidth
- moveto
- curveto
- stroke
-} bind def
-%
-staffheight 4 div /interline exch def
-%
-/bracket_traject
-{
- /traject_ds exch def
- /traject_alpha exch def
- traject_ds traject_alpha sin mul add
- exch
- traject_ds traject_alpha cos mul add
- exch
-} bind def
-%
-interline 3 div /bracket_b exch def
-interline 2 mul /bracket_w exch def
-stafflinethickness 2 mul /bracket_t exch def
-interline 1.5 mul /bracket_v exch def
-bracket_v /bracket_u exch def
-50 /bracket_alpha exch def
-%
-/half_bracket
-{
-%6
- 0 0
-%5a
- bracket_b bracket_v add bracket_h bracket_t sub bracket_u add
- bracket_alpha bracket_v -0.15 mul bracket_traject
-%5b
- 1 bracket_h
- 0 bracket_v 0.5 mul bracket_traject
-%5c
- 0 bracket_h
-%4a
- bracket_b bracket_h bracket_t sub
- 0 bracket_v 0.4 mul bracket_traject
-%4b
- bracket_b bracket_v add bracket_h bracket_t sub bracket_u add
- bracket_alpha bracket_v -0.25 mul bracket_traject
-%4c
- bracket_b bracket_v add bracket_h bracket_t sub bracket_u add
-%3
- bracket_b bracket_h bracket_t sub
-%2
- bracket_b 0
-%1
- 0 0
-} bind def
-%
-/draw_half_bracket {
- moveto
- lineto
- lineto
- curveto
- curveto
- lineto
- gsave
- fill
- grestore
-} bind def
-%
-/draw_bracket % height
-{
- 2 div bracket_b add /bracket_h exch def
- bracket_t setlinewidth
-% urg: the only Level-2 PS, check effect in print
-% true setstrokeadjust
- 1 setlinecap
- 1 setlinejoin
- half_bracket
- 20 copy
- 1 -1 scale
- draw_half_bracket
- stroke
- 1 -1 scale
-% ugh, ugh:
- 0.05 0 translate
- draw_half_bracket
- stroke
-} bind def
-%
grestore
} bind def
+/setbold % '(' text ')'
+{
+ settext
+} bind def
+
/settext % '(' text ')'
{
gsave
yoffset staffheight 8 mul sub /yoffset exch def
} bind def
-/unknown { (U) show} bind def
-/empty {(E) show} bind def
+/unknown { (U) setbold } bind def
+/empty { (E) setbold } bind def
/turnOnExperimentalFeatures { } bind def
# All non-english comments are NOT in swedish, they are norwegian!
# TODO: center option (??)
-# * One empty, not two line after a mudela{floating} should be enough
-# to get a new paragraph.
-# * clean up handling of filename of inputfile
# * the verbatim option should not be visible in the created latex file
# * what the h.. does castingalgorithm do/mean???
# * the following fails because mudelabook doesn't care that the
# \begin{mudela}[fragment]
# c d e f g
# \end{mudela}}
-# log:
+# * fragments should know about margins
+# log:
# 0.3:
# rewrite in Python.
# 0.4:
# much rewritten by new author. I think the work has been split more
# logical between different classes.
-#
+# 0.4.1:
+# - cleanup
+# - speedup, do all mudela parsing at the same time to avoid multiple
+# guile startup that takes some seconds on my computer
import os
import string
import re
import getopt
import sys
-import regsub
outdir = 'out'
-program_version = '0.4'
-default_paper_size_global = 'a4'
-default_mudela_fontsize = '16pt'
-force_mudela_fontsize_b = 0
+program_version = '0.4.1'
-EXPERIMENTAL = 0
out_files = []
fontsize_i2a = {11:'eleven', 13:'thirteen', 16:'sixteen', 20:'twenty', 26:'twentysix'}
fontsize_pt2i = {'11pt':11, '13pt':13, '16pt':16, '20pt':20, '26pt':26}
begin_mudela_re = re.compile ('^ *\\\\begin{mudela}')
+extract_papersize_re = re.compile('\\\\documentclass[\[, ]*(\w*)paper[\w ,]*\]\{\w*\}')
+extract_fontsize1_re = re.compile('\\\\documentclass\[[^\]]*\]\{[^\}]*\}')
+extract_fontsize2_re = re.compile('[ ,\[]*([0-9]*)pt')
begin_mudela_opts_re = re.compile('\[[^\]]*\]')
end_mudela_re = re.compile ('^ *\\\\end{mudela}')
section_re = re.compile ('\\\\section')
class CompileStatus:
pass
+class SomethingIsSeriouslyBroken:
+ pass
def file_mtime (name):
return os.stat (name)[8] #mod time
except os.error:
return 1
-
#
# executes os.system(command) if infile is newer than
# outfile or outfile don't exist
#
def compile (command, workingdir, infile, outfile):
+ "Test if infile is newer than outfile. If so, cd to workingdir"
+ "and execute command"
indate = file_mtime (workingdir+infile)
try:
outdate = file_mtime (workingdir+outfile)
if status:
raise CompileStatus
-
-class PaperDef:
- __onecolumn_linewidth = {
- 'a4':{'10pt': 345, '11pt': 360, '12pt':390},
- 'a5':{'10pt': 276, '11pt': 276, '12pt':276},
- 'b5':{'10pt': 345, '11pt': 356, '12pt':356},
- 'letter':{'10pt': 345, '11pt': 360, '12pt':390},
- 'legal':{'10pt': 345, '11pt': 360, '12pt':390},
- 'executive':{'10pt': 345, '11pt': 360, '12pt':379}
- }
- __twocolumn_linewidth = {
- 'a4':{'10pt': 167, '11pt': 175, '12pt':190},
- 'a5':{'10pt': 133, '11pt': 133, '12pt':133},
- 'b5':{'10pt': 167, '11pt': 173, '12pt':173},
- 'letter':{'10pt': 167, '11pt': 175, '12pt':190},
- 'legal':{'10pt': 167, '11pt': 175, '12pt':190},
- 'executive':{'10pt': 167, '11pt': 175, '12pt':184}
- }
- __numcolumn = 1
- __fontsize = '11pt'
+class Properties:
#
# init
#
def __init__(self):
- self.__papersize = default_paper_size_global
- def set_papersize (self, p):
- if not self.__onecolumn_linewidth.has_key(p):
- print "warning:unsupported papersize", p, \
- "will use", default_paper_size_global
- self.__papersize = default_paper_size_global
- else:
- self.__papersize = p
- def set_latex_fontsize(self, pt):
- self.__fontsize = pt
- def get_linewidth (self):
- if self.__numcolumn == 1:
- return self.__onecolumn_linewidth[self.__papersize][self.__fontsize]
+ self.__linewidth = {
+ 1: {'a4':{10: 345, 11: 360, 12: 390},
+ 'a5':{10: 276, 11: 276, 12: 276},
+ 'b5':{10: 345, 11: 356, 12: 356},
+ 'letter':{10: 345, 11: 360, 12: 390},
+ 'legal': {10: 345, 11: 360, 12: 390},
+ 'executive':{10: 345, 11: 360, 12: 379}},
+ 2: {'a4':{10: 167, 11: 175, 12: 190},
+ 'a5':{10: 133, 11: 133, 12: 133},
+ 'b5':{10: 167, 11: 173, 12: 173},
+ 'letter':{10: 167, 11: 175, 12: 190},
+ 'legal':{10: 167, 11: 175, 12: 190},
+ 'executive':{10: 167, 11: 175, 12: 184}}}
+ # >0 --> force all mudela to this pt size
+ self.force_mudela_fontsize = 0
+ self.force_verbatim_b = 0
+ self.__data = {
+ 'mudela-fontsize' : {'init': 16},
+ 'papersize' : {'init': 'a4'},
+ 'num-column' : {'init': 1},
+ 'tex-fontsize' : {'init': 11}
+ }
+ def clear_for_new_file(self):
+ for var in self.__data.keys():
+ self.__data[var] = {'init': self.__data[var]['init']}
+ def clear_for_new_block(self):
+ for var in self.__data.keys():
+ if self.__data[var].has_key('block'):
+ del self.__data[var]['block']
+ def __get_variable(self, var):
+ if self.__data[var].has_key('block'):
+ return self.__data[var]['block']
+ elif self.__data[var].has_key('file'):
+ return self.__data[var]['file']
else:
- return self.__twocolumn_linewidth[self.__papersize][self.__fontsize]
- def onecolumn (self):
- self.__numcolumn = 1
- def twocolumn (self):
- self.__numcolumn = 2
+ return self.__data[var]['init']
+ def setPapersize(self, size, requester):
+ self.__data['papersize'][requester] = size
+ def getPapersize(self):
+ return self.__get_variable('papersize')
+ def setMudelaFontsize(self, size, requester):
+ self.__data['mudela-fontsize'][requester] = size
+ def getMudelaFontsize(self):
+ if self.force_mudela_fontsize:
+ return self.force_mudela_fontsize
+ return self.__get_variable('mudela-fontsize')
+ def setTexFontsize(self, size, requester):
+ self.__data['tex-fontsize'][requester] = size
+ def getTexFontsize(self):
+ return self.__get_variable('tex-fontsize')
+ def setNumColumn(self, num, requester):
+ self.__data['num-column'][requester] = num
+ def getNumColumn(self):
+ return self.__get_variable('num-column')
+ def getLineWidth(self):
+ return self.__linewidth[self.getNumColumn()][self.getPapersize()][self.getTexFontsize()]
class Mudela_output:
def __init__ (self, basename):
self.basename = basename
- # it's an integer!
- self.feta_pt_size = fontsize_pt2i[default_mudela_fontsize]
self.temp_filename = "%s/%s" %(outdir, 'mudela-temp.ly')
self.file = open (self.temp_filename, 'w')
# 'tex' or 'eps'
self.graphic_type = 'tex'
self.fragment = 0
def write (self, line):
- # match only if there is nothing but whitespace before \begin
+ # match only if there is nothing but whitespace before \begin HACK
if re.search('^\s*\\\\begin{mudela}', line):
self.scan_begin_statement(line)
self.write_red_tape()
else:
self.file.write (line)
def scan_begin_statement(self, line):
- global force_mudela_fontsize_b;
r = begin_mudela_opts_re.search(line)
if r:
o = r.group()[1:][:-1]
self.fragment = 0
for pt in fontsize_pt2i.keys():
if pt in optlist:
- if force_mudela_fontsize_b:
- self.feta_pt_size = fontsize_pt2i[default_mudela_fontsize]
- else:
- self.feta_pt_size = fontsize_pt2i[pt]
+ Props.setMudelaFontsize(fontsize_pt2i[pt], 'block')
def write_red_tape(self):
- self.file.write ('\\include \"paper%d.ly\"\n' % self.feta_pt_size)
- s = fontsize_i2a[self.feta_pt_size]
+ self.file.write ('\\include \"paper%d.ly\"\n' % Props.getMudelaFontsize())
+ s = fontsize_i2a[Props.getMudelaFontsize()]
if self.fragment:
- self.file.write("default_paper = \\paper {"
+ self.file.write("\\paper {" # mudela 1.0.4
+ "\\paper_%s\n linewidth = -1.\\pt;" % s
+ "castingalgorithm = \Wordwrap; indent = 2.\cm; \n}")
- self.file.write("\\score{\n\\notes{") #HACK
+ self.file.write("\\score{\n\\notes{")
else:
- self.file.write ("default_paper = \\paper {"
+ self.file.write ("\paper {"
+ "\\paper_%s\n linewidth = %i.\\pt;" % \
- (s, Paper.get_linewidth()) \
+ (s, Props.getLineWidth()) \
+ "castingalgorithm = \Wordwrap; indent = 2.\cm;\n}")
def close (self):
if self.fragment:
- self.file.write ('}\\paper { \\default_paper; } }\n')
+ self.file.write ('}\\paper { } }\n')
self.file.close ()
- inf = self.basename + '.ly'
- outf = self.basename + '.tex'
- if not file_exist_b (inf):
+ inf = outdir + self.basename + '.ly'
+ outf = outdir + self.basename + '.tex'
+ if not os.path.isfile(inf):
status = 1
else:
status = os.system ('diff -q %s %s' % (self.temp_filename, inf))
if status:
os.rename (self.temp_filename, inf)
- if EXPERIMENTAL:
- if need_recompile_b(inf, outf):
- print "Need recompile"
- out_files.append((self.graphic_type, inf))
- else:
- compile ('lilypond -o %s %s;'% (self.basename, inf), '', inf, outf)
- if self.graphic_type == 'eps':
- bname = self.basename[string.rfind(self.basename, '/')+1:]
- tex_name = bname+'.tex'
- dvi_name = bname+'.dvi'
- eps_name = bname+'.eps'
- compile ('tex %s' % tex_name, outdir, tex_name, dvi_name)
- compile ('dvips -E -o %s %s' % (eps_name, dvi_name), outdir, dvi_name, eps_name)
+ if need_recompile_b(inf, outf):
+ out_files.append((self.graphic_type, inf))
def insert_me_string(self):
"Returns a string that can be used directly in latex."
if self.graphic_type == 'tex':
- return '\\preMudelaExample\\input %s\n\postMudelaExample\n' % self.basename
+ return ['tex', self.basename]
elif self.graphic_type == 'eps':
- ps_dim = ps_dimention('%s.eps' % self.basename)
- return '\\parbox{%ipt}{\includegraphics{%s.eps}}' % (ps_dim[0], self.basename)
+ return ['eps', self.basename]
else:
- print "Unsupported graphic type '%s'" % self.graphic_type
- sys.exit(1)
+ raise SomethingIsSeriouslyBroken
class Tex_output:
def __init__ (self, name):
self.output_fn = '%s/%s' % (outdir, name)
- self.file = open (self.output_fn , 'w')
- def open_mudela (self, basename):
- self.mudela_basename = basename
+ self.__lines = []
def open_verbatim (self):
- self.file.write ('\\begin{verbatim}\n')
+ self.__lines.append('\\begin{verbatim}\n')
def close_verbatim (self):
- self.file.write ('\\end{verbatim}\n')
+ self.__lines.append('\\end{verbatim}\n')
def write (self, s):
- self.file.write (s)
-
+ self.__lines.append(s)
+ def create_graphics(self):
+ s = ''
+ g_vec = []
+ for line in self.__lines:
+ if type(line)==type([]):
+ g_vec.append(line)
+ for g in g_vec:
+ if need_recompile_b(outdir+g[1]+'.ly', outdir+g[1]+'.tex'):
+ s = s + ' ' + g[1]+'.ly'
+ if s != '':
+ os.system('cd %s; lilypond %s' %(outdir, s))
+ for g in g_vec:
+ if g[0] == 'eps':
+ compile('tex %s' % g[1]+'.tex', outdir, g[1]+'.tex', g[1]+'.dvi')
+ compile('dvips -E -o %s %s' %(g[1]+'.eps', g[1]+'.dvi'), outdir,
+ g[1]+'.dvi', g[1]+'.eps')
+ def write_outfile(self):
+ file = open(self.output_fn+'.latex', 'w')
+ file.write('% Created by mudela-book\n')
+ for line in self.__lines:
+ if type(line)==type([]):
+ if line[0] == 'tex':
+ file.write('\\preMudelaExample\\input %s\n\postMudelaExample '\
+# % (outdir+line[1]+'.tex'))
+
+ # TeX applies the prefix of the main source automatically.
+ % (line[1]+'.tex'))
+ if line[0] == 'eps':
+ ps_dim = ps_dimention(outdir+line[1]+'.eps')
+ file.write('\\parbox{%ipt}{\includegraphics{%s}}\n' \
+# % (ps_dim[0], outdir+line[1]+'.eps'))
+ % (ps_dim[0], line[1]+'.eps'))
+
+ else:
+ file.write(line)
+ file.close()
class Tex_input:
- def __init__ (self,name):
- # HACK
- print "name=", name
- try:
- self.infile = open (name)
- except IOError:
- if (name[-4:] != '.tex') and (name[-4:] != '.doc'):
- try:
- name = name + '.doc'
- self.infile = open (name)
- except IOError:
- name = name + '.tex'
- self.infile = open(name)
- self.filename = name
-
+ def __init__ (self, filename):
+ for fn in [filename, filename+'.tex', filename+'.doc']:
+ try:
+ self.infile = open (fn)
+ except:
+ continue
+ self.filename = fn
+ break
def get_lines (self):
lines = self.infile.readlines ()
(retlines, retdeps) = ([],[self.filename])
for line in lines:
- r = input_re.search (line)
- ri = include_re.search (line)
- if r:
- try:
- t = Tex_input (r.groups()[0])
- ls =t.get_lines ()
- except IOError:
- # HACK should not warn about files like lilyponddefs, only
- # files we think is a part of the document and include
- # mudela that need parsing
- print "warning: can't find file " % r.grops()[0]
- ls = [[line], []]
+ r_inp = input_re.search (line)
+ r_inc = include_re.search (line)
+ # Filename rules for \input :
+ # input: no .tex ext
+ # 1. will search for file with exact that name (tex-input.my will be found)
+ # 2. will search for file with .tex ext, (tex-input.my
+ # will find tex-input.my.tex)
+ # input: with .tex ext
+ # 1. will find exact match
+
+ # Filename rules for \include :
+ # 1. will only find files with name given to \include + .tex ext
+ if r_inp:
+ t = Tex_input (r_inp.groups()[0])
+ ls = t.get_lines ()
retlines = retlines + ls[0]
retdeps = retdeps + ls[1]
- elif ri:
- try:
- t = Tex_input (ri.groups()[0])
- ls =t.get_lines ()
- ls[0].insert(0, '\\newpage')
- ls[0].append('\\newpage')
- except IOError:
- print "warning: can't find include file:", ri.groups()[0]
- ls = [[line], []];
+ elif r_inc:
+ t = Tex_input (r_inc.groups()[0]+'.tex')
+ ls =t.get_lines ()
+ ls[0].insert(0, '\\newpage\n')
+ ls[0].append('\\newpage\n')
retlines = retlines + ls[0]
retdeps = retdeps + ls[1]
else:
class Main_tex_input(Tex_input):
def __init__ (self, name, outname):
-
- Tex_input.__init__ (self, name) # ugh
+ Tex_input.__init__ (self, name) # ugh
self.outname = outname
self.chapter = 0
self.section = 0
self.chapter = self.chapter + 1
def gen_basename (self):
- return '%s/%s-%d.%d.%d' % (outdir, self.outname,self.chapter,self.section,self.fine_count)
+ return '%s-%d.%d.%d' % (self.outname,self.chapter,self.section,self.fine_count)
+ #return '%s/%s-%d.%d.%d' % (outdir, self.outname,self.chapter,self.section,self.fine_count)
def extract_papersize_from_documentclass(self, line):
- pre = re.search('\\\\documentclass[\[, ]*(\w*)paper[\w ,]*\]\{\w*\}', line)
+ pre = extract_papersize_re.search(line)
if not pre:
- return default_paper_size_global
+ return None
return pre.groups()[0]
def extract_fontsize_from_documentclass(self, line):
- if re.search('\\\\documentclass\[[^\]]*\]\{[^\}]*\}', line):
- r = re.search('[ ,\[]*([0-9]*pt)', line)
+ if extract_fontsize1_re.search(line):
+ r = extract_fontsize2_re.search(line)
if r:
- return r.groups()[0]
- return '10pt'
+ return int(r.groups()[0])
def do_it(self):
preMudelaDef = postMudelaDef = 0
(lines, self.deps) = self.get_lines ()
for line in lines:
if documentclass_re.search (line):
- Paper.set_papersize (self.extract_papersize_from_documentclass (line) )
- Paper.set_latex_fontsize (self.extract_fontsize_from_documentclass (line) )
+ p = self.extract_papersize_from_documentclass (line)
+ if p:
+ Props.setPapersize(p, 'file')
+ f = self.extract_fontsize_from_documentclass (line)
+ if f:
+ Props.setTexFontsize (f, 'file')
elif twocolumn_re.search (line):
- Paper.twocolumn ()
+ Props.setNumColumn (2, 'file')
elif onecolumn_re.search (line):
- Paper.onecolumn ()
+ Props.setNumColumn (1, 'file')
elif preMudelaExample_re.search (line):
preMudelaDef = 1
elif postMudelaExample_re.search (line):
if not postMudelaDef:
self.mudtex.write ('\\def\\postMudelaExample{}\n')
elif begin_mudela_re.search (line):
+ Props.clear_for_new_block()
if __debug__:
if self.mode == 'mudela':
raise AssertionError
optlist = re.compile('[ ,]*').split(o)
else:
optlist = []
- if 'verbatim' in optlist:
+ if ('verbatim' in optlist) or (Props.force_verbatim_b):
self.verbatim = 1
self.mudtex.open_verbatim ()
else:
else:
self.mudtex.write (line)
self.set_sections(line)
+ self.mudtex.create_graphics()
+ self.mudtex.write_outfile()
del self.mudtex
def help():
- sys.stdout.write("Usage: mudela-book [options] FILE\n"
- + "Generate hybrid LaTeX input from Latex + mudela"
- + "Options:\n"
- + " -h, --help print this help\n"
- + " -d, --outdir=DIR directory to put generated files\n"
- + " -o, --outname=FILE prefix for filenames\n"
- + " --mudela-fontsize=??pt default fontsize when no parameter for \\begin{mudela}\n"
- + " --force-mudela-fontsize=??pt force fontsize for all inline mudela\n"
+ sys.stdout.write("""Usage: mudela-book [options] FILE\n
+Generate hybrid LaTeX input from Latex + mudela
+Options:\n
+ -h, --help print this help
+ -d, --outdir=DIR directory to put generated files
+ -o, --outname=FILE prefix for filenames
+ --default-mudela-fontsize=??pt default fontsize for music
+ --force-mudela-fontsize=??pt force fontsize for all inline mudela
+ --force-verbatim make all mudela verbatim\n"""
)
sys.exit (0)
def write_deps (fn, out, deps):
out_fn = outdir + '/' + fn
- print '\`writing \`%s\'\n\'' % out_fn
+ print '`writing `%s\'\n\'' % out_fn
f = open (out_fn, 'w')
f.write ('%s: %s\n'% (outdir + '/' + out + '.dvi',
f.close ()
def identify():
- sys.stderr.write('*** Lokal versjon av mudela-book ***\n')
sys.stderr.write ('This is %s version %s\n' % ('mudela-book', program_version))
def main():
- global default_mudela_fontsize, force_mudela_fontsize_b, outdir
+ global outdir
outname = ''
try:
(options, files) = getopt.getopt(
- sys.argv[1:], 'hd:o:', ['outdir=', 'outname=', 'mudela-fontsize=',
- 'force-mudela-fontsize=', 'help', 'dependencies'])
+ sys.argv[1:], 'hd:o:', ['outdir=', 'outname=',
+ 'default-mudela-fontsize=',
+ 'force-mudela-fontsize=',
+ 'help', 'dependencies',
+ 'force-verbatim'])
except getopt.error, msg:
print "error:", msg
sys.exit(1)
o = opt[0]
a = opt[1]
if o == '--outname' or o == '-o':
+ if len(files) > 1:
+ #HACK
+ print "Mudela-book is confused by --outname on multiple files"
+ sys.exit(1)
outname = a
if o == '--outdir' or o == '-d':
outdir = a
help ()
if o == '--dependencies':
do_deps = 1
- if o == '--mudela-fontsize':
- default_mudela_fontsize = a
+ if o == '--default-mudela-fontsize':
+ if not fontsize_pt2i.has_key(a):
+ print "Error: illegal fontsize:", a
+ print " accepted fontsizes are: 11pt, 13pt, 16pt, 20pt, 26pt"
+ sys.exit()
+ Props.setMudelaFontsize(fontsize_pt2i[a], 'init')
if o == '--force-mudela-fontsize':
- default_mudela_fontsize = a
- force_mudela_fontsize_b = 1
+ if not fontsize_pt2i.has_key(a):
+ print "Error: illegal fontsize:", a
+ print " accepted fontsizes are: 11pt, 13pt, 16pt, 20pt, 26pt"
+ sys.exit()
+ Props.force_mudela_fontsize = fontsize_pt2i[a]
+ if o == '--force-verbatim':
+ Props.force_verbatim_b = 1
if outdir[-1:] != '/':
outdir = outdir + '/'
- if not file_exist_b(outdir):
+ if not os.path.isdir(outdir):
os.system('mkdir %s' % outdir)
- if not fontsize_pt2i.has_key(default_mudela_fontsize):
- print "warning: fontsize %s is not supported using 16pt" % default_mudela_fontsize
- default_mudela_fontsize = '16pt'
-
- for f in files:
- my_outname = outname
- if not my_outname:
- my_outname = regsub.sub ('\\(.*\\)\\.doc', '\\1', f)
-
- my_depname = my_outname + '.dep'
-
- inp = Main_tex_input (f, my_outname)
+ for input_filename in files:
+ Props.clear_for_new_file()
+ if outname:
+ my_outname = outname
+ else:
+ my_outname = os.path.basename(os.path.splitext(input_filename)[0])
+ my_depname = my_outname + '.dep'
+ inp = Main_tex_input (input_filename, my_outname)
inp.do_it ()
+ print "LaTeX output to %s%s.latex" %(outdir, my_outname)
- if do_deps:
- write_deps (my_depname, my_outname, inp.deps)
-
-
+ if do_deps:
+ write_deps (my_depname, my_outname, inp.deps)
identify()
-Paper = PaperDef()
+Props = Properties()
main()
-if EXPERIMENTAL:
- print "outfile:", out_files
- for i in out_files:
- print "skal gjøre", i
$(outdir)/%.$(XPM_RESOLUTION)pk: $(outdir)/%.$(XPM_RESOLUTION)gf
gftopk $< $@
+%.afm:
+ $(SHELL) $(depth)/buildscripts/tfmtoafm.sh $(shell basename $@ .afm)
+ mv $@ $@.in
% transplant a TeX dimension into the PS output.
\def\PSsetTeXdimen#1{\expandafter\special{! /#1 (\the\csname #1\endcsname) deftexdimen}}
+{%
+ \def\par{ }% %Ugh. Don't try this at home, kids!
+ % neat file-include trick by Piet van Oostrum <piet@cs.uu.nl>
+ \newread\defin
+ \newtoks\toksfiledefi\newtoks\toksfiledefii
+ \def\ifnot#1{#1\else\expandafter\expandafter\fi\iffalse\iftrue\fi}
+ \def\filedef#1#2{%#1=command name, #2=file name
+ \openin\defin=#2\relax\def#1{}
+ \ifeof\defin
+ \message{***************** CAN NOT OPEN #2 ********************}
+ \end
+ \fi
+ \loop\ifnot{\ifeof\defin}\read\defin to\tempfiledef
+ \toksfiledefi=\expandafter{#1}%
+ \toksfiledefii=\expandafter{\tempfiledef}%
+ % \expandafter\special\expandafter{!\the\toksfiledefi\the\toksfiledefii}\repeat%
+ \global\edef#1{\the\toksfiledefi\the\toksfiledefii}\repeat%
+ }
+ %
+ % This seems a little backwards, but we don't want to include the PS
+ % stuff too early
+ %
+ \filedef\includelilyps{lily.ps}%
+ \expandafter\special{! \includelilyps}
+}
+
-\def\turnOnPostScript{%
\special{!
% PS helper: convert (0.2pt) to the token 0.2
/settexdimen
{
- /thestring exch def
+ /thestring exch def
thestring 0 thestring length 2 sub
getinterval
token
def
} def
}
-\PSsetTeXdimen{staffrulethickness}
-\PSsetTeXdimen{staffheight}
-% urg, no dvips.info over here...
-%\special{! \input lily.ps }
-\special{!
-(lily.ps) findlibfile
-{
- exch pop //systemdict /run get exec
-}
-{
- /undefinedfilename signalerror
-} ifelse
-}
-%
-\def\embeddedps##1{%
+
+\def\turnOnPostScript{%
+ \PSsetTeXdimen{stafflinethickness}
+ \PSsetTeXdimen{staffheight}
+
% This sets CTM so that you get to the currentpoint
% by executing a 0 0 moveto
- \special{ps: @beginspecial @setspecial ##1 @endspecial}
-}
-%
-%
-%\PSsetTeXdimen{staffrulethickness}
-%\PSsetTeXdimen{staffheight}
+ \def\embeddedps##1{%
+ \special{ps: @beginspecial @setspecial ##1 @endspecial}
+ }
+ %
+
+ \special{!
+/interline \mudelapaperinterline0 def % ugh. Only works x.yyyy floats
+stafflinethickness 1.2 mul /plet_t exch def
+interline 3 div /bracket_b exch def
+interline 2 mul /bracket_w exch def
+stafflinethickness 2 mul /bracket_t exch def
+interline 1.5 mul /bracket_v exch def
+bracket_v /bracket_u exch def
+50 /bracket_alpha exch def
+staffheight 4 div /interline exch def
+1 setlinecap}
}
-\def\turnOnExperimentalFeatures{%
-\special{ps:
-}}
+\def\turnOnExperimentalFeatures{}
\newdimen\staffheight
\newdimen\notewidth
\newdimen\noteheight
-\newdimen\staffrulethickness
-\newdimen\interstaffrule
+\newdimen\stafflinethickness
+\newdimen\interstaffline
\newdimen\dist
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\notewidth=\mudelapapernotewidth pt
\smallspace=.3\interlinedist
- \interstaffrule=\staffheight
- \divide\interstaffrule by 4
- \staffrulethickness=\mudelapaperrulethickness pt
- \stemthickness=\staffrulethickness
+ \interstaffline=\staffheight
+ \divide\interstaffline by 4
+ \stafflinethickness=\mudelapaperrulethickness pt
+ \stemthickness=\stafflinethickness
}
\def\doublebar#1{\hbox{\thinbar{#1}\hskip\smallspace\thinbar{#1}}}
\def\thinbar#1{\dimen0=#1%
- \vrule height .5\dimen0 depth .5\dimen0 width 1.6\staffrulethickness} % TODO parametric.
+ \vrule height .5\dimen0 depth .5\dimen0 width 1.6\stafflinethickness} % TODO parametric.
\def\thickbar#1{\dimen0=#1%
\vrule height .5\dimen0 depth .5\dimen0 width 2\smallspace}
\def\maatstreep#1{\thinbar{#1}}