On 29.12.2014 09:15, Werner LEMBERG wrote:

If you find it straightforward to encapsulate the code, then we can
probably incorporate it.
Knut, are you willing to work on that, this is, adding a command line
argument and properly documenting it?

So here is Version 2
================

I fixed a few issues with version 1, added a command line option
--bigpdf / -b, and documented that option in the german and english
versions of usage.pdf .

The patch is based on the current git master of lilypond now.

cu,
 Knut
>From adee85ae247db3017b1a50edfd5d92915d479c83 Mon Sep 17 00:00:00 2001
From: Knut Petersen <knut_peter...@t-online.de>
Date: Thu, 8 Jan 2015 12:37:39 +0100
Subject: [PATCH] Implement a new command line option --bigpdf

If given on the command line, --bigpdf or -b tell lilypond
to produce pdfs optimized for TeX documents that include
multiple lilypond pdfs

Pdf documents generated by lilypond are pretty small. But if
multiple pdfs generated by lilypond are included in pdftex,
xetex or luatex documents, the resulting pdfs contain a lot
of duplicated font data.

Because of the way lilypond generates pdfs using ghostscript,
neither pdfsizeopt nor ghostscript are able to eliminate most
of these duplicated font data as the original fonts that could
be merged are no longer present.

With this patch pdfs generated by lilypond are much bigger,
but if you include more than two of them in a TeX document and
feed the pdfs to ghostscripts pdfwrite device, the resulting
pdf is much smaller. The files produced by ghostscript can
then be processed by pdfsizeopt.py for even better results.
One example: notation.pdf of lilypond 2.19.16

  28.0 MB original size
 300.0 MB built with --bigpdf enabled
   5.9 MB as above + postprocessing with gs
   4.3 MB as above + postprocessing with gs and pdfsizeopt

Because of bugs in ghostscript do not use ghostscript 9.15
if your TeX document contains hyperlinks to other pdfs.

Ghostscript versions prior to 9.15 will break internal and
external links, current git master of ghostscript preserves
internal links and links to external locations, but it
exposes a bug in evince that makes external links unusable.

pdfs generated by all versions of ghostscript including
current git master are unsuitable as targets of external
links.

Documented in english and german usage.pdf.

Signed-off-by: Knut Petersen <knut_peter...@t-online.de>
---
 Documentation/de/usage/running.itely |  26 ++
 Documentation/usage/running.itely    |  26 ++
 lily/general-scheme.cc               |   8 +
 lily/global-vars.cc                  |   3 +
 lily/include/main.hh                 |   1 +
 lily/main.cc                         |   5 +
 ps/encodingdefs.ps                   | 871 +++++++++++++++++++++++++++++++++++
 scm/backend-library.scm              |   1 +
 scm/framework-ps.scm                 |  53 ++-
 scm/output-ps.scm                    |  58 ++-
 10 files changed, 1023 insertions(+), 29 deletions(-)
 create mode 100644 ps/encodingdefs.ps

diff --git a/Documentation/de/usage/running.itely b/Documentation/de/usage/running.itely
index a4a4640..6aa6f2a 100644
--- a/Documentation/de/usage/running.itely
+++ b/Documentation/de/usage/running.itely
@@ -154,6 +154,32 @@ Die folgenden Kommandozeilenoptionen werden von @command{lilypond} unterstützt:
 
 @table @code
 
+@item -b, --bigpdfs
+Erzeugt sehr große PDF-Dateien ohne jegliche Fontoptimierung.
+Dies ist hilfreich, wenn mehrere von Lilypond erzeugte PDFs in
+pdftex-, xetex-, oder luatex-Dokumente eingebettet werden,
+es ermöglicht ghostscript im Anschluß, duplizierte Font-Daten
+zusammenzufassen. Mit pdfsizeopt.py sind dann noch weitere
+Optimierungen möglich.
+
+Der mögliche Speicherplatzgewinn ist beträchtlich: Die Datei
+notation.pdf (Lilypond 2.18.2) ist ca. 26MB groß, erzeugt
+unter Verwendung dieser Option und wie vorbeschrieben
+weiterverarbeitet schrumpft sie auf lediglich 4.2MB.
+
+Verwendung analog zu folgendem Beispiel:
+
+@example
+lilypond -b snippet_1
+...
+lilypond -b snippet_n
+pdflatex texdoc.tex
+gs -q -sDEVICE=pdfwrite -o gsout.pdf texdoc.pdf
+pdfsizeopt.py --use-multivalent=no gsout.pdf final.pdf
+@end example
+
+@cindex bigpdfs
+
 @item -d, --define-default=@var{Variable}=@var{Wert}
 Siehe @ref{Fortgeschrittene Optionen auf der Kommandozeile für LilyPond}.
 
diff --git a/Documentation/usage/running.itely b/Documentation/usage/running.itely
index 1aa301c..f8322d3 100644
--- a/Documentation/usage/running.itely
+++ b/Documentation/usage/running.itely
@@ -179,6 +179,32 @@ The following options are supported:
 
 @table @code
 
+@item -b, --bigpdfs
+Generate really big pdf files with as less as possible
+optimization of font data. This option is usefull if you
+want to include lilypond pdfs in a pdftex, xetex or luatex
+document, it enables ghostscript to merge otherwise
+duplicated font data. After running ghostscript, pdfsizeopt.py
+can be used to further optimize the document.
+
+@option{--bigpdf} can save a lot of space and network
+bandwidth: notation.pdf of lilypond 2.18.2 needs about 26MB
+of disk space, built with this option enabled and postprocessed
+as described above it shrinks to 4.2MB.
+
+Use according to the following example:
+
+@example
+lilypond -b snippet_1
+...
+lilypond -b snippet_n
+pdflatex texdoc.tex
+gs -q -sDEVICE=pdfwrite -o gsout.pdf texdoc.pdf
+pdfsizeopt.py --use-multivalent=no gsout.pdf final.pdf
+@end example
+
+@cindex bigpdfs
+
 @item -d, --define-default=@var{var}=@var{val}
 See @ref{Advanced command line options for LilyPond}.
 
diff --git a/lily/general-scheme.cc b/lily/general-scheme.cc
index 2ab34a0..9978dce 100644
--- a/lily/general-scheme.cc
+++ b/lily/general-scheme.cc
@@ -302,6 +302,14 @@ LY_DEFINE (ly_output_formats, "ly:output-formats",
   return lst;
 }
 
+LY_DEFINE (ly_bigpdfs, "ly:bigpdfs",
+           0, 0, 0, (),
+           "Return true if the command line includes the --bigpdf parameter."
+)
+{
+  return bigpdfs ? SCM_BOOL_T : SCM_BOOL_F;
+}
+
 LY_DEFINE (ly_wide_char_2_utf_8, "ly:wide-char->utf-8",
            1, 0, 0, (SCM wc),
            "Encode the Unicode codepoint @var{wc}, an integer, as UTF-8.")
diff --git a/lily/global-vars.cc b/lily/global-vars.cc
index 45975cd..dce8136 100644
--- a/lily/global-vars.cc
+++ b/lily/global-vars.cc
@@ -33,6 +33,9 @@ string init_name_global;
 /* Output formats to generate.  */
 string output_format_global = "";
 
+/* Generate big pdfs */
+bool bigpdfs = false;
+
 /* Current output name. */
 string output_name_global;
 
diff --git a/lily/include/main.hh b/lily/include/main.hh
index 472006a..1e6e2ca 100644
--- a/lily/include/main.hh
+++ b/lily/include/main.hh
@@ -39,6 +39,7 @@ extern vector<string> dump_header_fieldnames_global;
 extern vector<string> start_environment_global;
 extern string output_backend_global;
 extern string output_name_global;
+extern bool bigpdfs;
 extern bool be_safe_global;
 extern bool do_internal_type_checking_global;
 extern string lilypond_datadir;
diff --git a/lily/main.cc b/lily/main.cc
index 93b784f..0384e48 100644
--- a/lily/main.cc
+++ b/lily/main.cc
@@ -158,6 +158,7 @@ static Long_option_init options_static[]
   {0, "pdf", 0, _i ("generate PDF (default)")},
   {0, "png", 0, _i ("generate PNG")},
   {0, "ps", 0, _i ("generate PostScript")},
+  {0, "bigpdfs", 'b', _i("generate big pdf files")},
   {0, "help", 'h', _i ("show this help and exit")},
   {
     _i ("FIELD"), "header", 'H', _i ("dump header field FIELD to file\n"
@@ -613,6 +614,10 @@ parse_argv (int argc, char **argv)
             relocate_binary = true;
           break;
 
+        case 'b':
+          bigpdfs = true;
+          break;
+
         case 'd':
           {
             string arg (option_parser->optional_argument_str0_);
diff --git a/ps/encodingdefs.ps b/ps/encodingdefs.ps
new file mode 100644
index 0000000..9d4217c
--- /dev/null
+++ b/ps/encodingdefs.ps
@@ -0,0 +1,871 @@
+%!PS-Adobe-2.0: encodingdefs.ps
+
+%
+% Custom encodings and definitions for emmentaler-[[:digit:]]*
+% ad the emmentaler-brace fonts, used with --bigpdf
+%
+
+/LilyNoteHeadEncoding [ /.notdef /noteheads.d0doFunk /noteheads.d0fa
+/noteheads.d0faFunk /noteheads.d0faThin /noteheads.d0miFunk
+/noteheads.d0reFunk /noteheads.d0tiFunk /noteheads.d1do /noteheads.d1doFunk
+/noteheads.d1doThin /noteheads.d1doWalker /noteheads.d1fa /noteheads.d1faFunk
+/noteheads.d1faThin /noteheads.d1faWalker /noteheads.d1miFunk /noteheads.d1re
+/noteheads.d1reFunk /noteheads.d1reThin /noteheads.d1reWalker /noteheads.d1ti
+/noteheads.d1tiFunk /noteheads.d1tiThin /noteheads.d1tiWalker
+/noteheads.d1triangle /noteheads.d2do /noteheads.d2doFunk /noteheads.d2doThin
+/noteheads.d2doWalker /noteheads.d2fa /noteheads.d2faFunk /noteheads.d2faThin
+/noteheads.d2faWalker /noteheads.d2kievan /noteheads.d2re /noteheads.d2reFunk
+/noteheads.d2reThin /noteheads.d2reWalker /noteheads.d2ti /noteheads.d2tiFunk
+/noteheads.d2tiThin /noteheads.d2tiWalker /noteheads.d2triangle
+/noteheads.d3kievan /noteheads.dM2 /noteheads.dM2blackmensural
+/noteheads.dM2mensural /noteheads.dM2neomensural /noteheads.dM2semimensural
+/noteheads.dM3blackmensural /noteheads.dM3mensural /noteheads.dM3neomensural
+/noteheads.dM3semimensural /noteheads.drM2mensural /noteheads.drM2neomensural
+/noteheads.drM2semimensural /noteheads.drM3mensural /noteheads.drM3neomensural
+/noteheads.drM3semimensural /noteheads.s0 /noteheads.s0blackmensural
+/noteheads.s0blackpetrucci /noteheads.s0cross /noteheads.s0diamond
+/noteheads.s0do /noteheads.s0doThin /noteheads.s0doWalker
+/noteheads.s0faWalker /noteheads.s0harmonic /noteheads.s0kievan
+/noteheads.s0la /noteheads.s0laFunk /noteheads.s0laThin /noteheads.s0laWalker
+/noteheads.s0mensural /noteheads.s0mi /noteheads.s0miMirror
+/noteheads.s0miThin /noteheads.s0miWalker /noteheads.s0neomensural
+/noteheads.s0petrucci /noteheads.s0re /noteheads.s0reThin
+/noteheads.s0reWalker /noteheads.s0slash /noteheads.s0sol /noteheads.s0solFunk
+/noteheads.s0ti /noteheads.s0tiThin /noteheads.s0tiWalker
+/noteheads.s0triangle /noteheads.s1 /noteheads.s1blackpetrucci
+/noteheads.s1cross /noteheads.s1diamond /noteheads.s1kievan /noteheads.s1la
+/noteheads.s1laFunk /noteheads.s1laThin /noteheads.s1laWalker
+/noteheads.s1mensural /noteheads.s1mi /noteheads.s1miMirror
+/noteheads.s1miThin /noteheads.s1miWalker /noteheads.s1neomensural
+/noteheads.s1petrucci /noteheads.s1slash /noteheads.s1sol /noteheads.s1solFunk
+/noteheads.s2 /noteheads.s2blackpetrucci /noteheads.s2cross
+/noteheads.s2diamond /noteheads.s2harmonic /noteheads.s2la /noteheads.s2laFunk
+/noteheads.s2laThin /noteheads.s2laWalker /noteheads.s2mensural
+/noteheads.s2mi /noteheads.s2miFunk /noteheads.s2miMirror /noteheads.s2miThin
+/noteheads.s2miWalker /noteheads.s2neomensural /noteheads.s2petrucci
+/noteheads.s2slash /noteheads.s2sol /noteheads.s2solFunk /noteheads.s2xcircle
+/noteheads.shufnagel.lpes /noteheads.shufnagel.punctum
+/noteheads.shufnagel.virga /noteheads.sM1 /noteheads.sM1blackmensural
+/noteheads.sM1double /noteheads.sM1kievan /noteheads.sM1mensural
+/noteheads.sM1neomensural /noteheads.sM1semimensural
+/noteheads.sM2blackligmensural /noteheads.sM2kievan /noteheads.sM2ligmensural
+/noteheads.sM2semiligmensural /noteheads.sM3blackligmensural
+/noteheads.sM3ligmensural /noteheads.sM3semiligmensural
+/noteheads.smedicaea.inclinatum /noteheads.smedicaea.punctum
+/noteheads.smedicaea.rvirga /noteheads.smedicaea.virga /noteheads.sr1kievan
+/noteheads.srM1mensural /noteheads.srM1neomensural /noteheads.srM1semimensural
+/noteheads.srM2ligmensural /noteheads.srM2semiligmensural
+/noteheads.srM3ligmensural /noteheads.srM3semiligmensural
+/noteheads.ssolesmes.auct.asc /noteheads.ssolesmes.auct.desc
+/noteheads.ssolesmes.incl.auctum /noteheads.ssolesmes.incl.parvum
+/noteheads.ssolesmes.oriscus /noteheads.ssolesmes.stropha
+/noteheads.ssolesmes.stropha.aucta /noteheads.svaticana.cephalicus
+/noteheads.svaticana.epiphonus /noteheads.svaticana.inclinatum
+/noteheads.svaticana.inner.cephalicus /noteheads.svaticana.linea.punctum
+/noteheads.svaticana.linea.punctum.cavum /noteheads.svaticana.lpes
+/noteheads.svaticana.plica /noteheads.svaticana.punctum
+/noteheads.svaticana.punctum.cavum /noteheads.svaticana.quilisma
+/noteheads.svaticana.reverse.plica /noteheads.svaticana.reverse.vplica
+/noteheads.svaticana.upes /noteheads.svaticana.vepiphonus
+/noteheads.svaticana.vlpes /noteheads.svaticana.vplica
+/noteheads.svaticana.vupes /noteheads.u0doFunk /noteheads.u0fa
+/noteheads.u0faFunk /noteheads.u0faThin /noteheads.u0miFunk
+/noteheads.u0reFunk /noteheads.u0tiFunk /noteheads.u1do /noteheads.u1doFunk
+/noteheads.u1doThin /noteheads.u1doWalker /noteheads.u1fa /noteheads.u1faFunk
+/noteheads.u1faThin /noteheads.u1faWalker /noteheads.u1miFunk /noteheads.u1re
+/noteheads.u1reFunk /noteheads.u1reThin /noteheads.u1reWalker /noteheads.u1ti
+/noteheads.u1tiFunk /noteheads.u1tiThin /noteheads.u1tiWalker
+/noteheads.u1triangle /noteheads.u2do /noteheads.u2doFunk /noteheads.u2doThin
+/noteheads.u2doWalker /noteheads.u2fa /noteheads.u2faFunk /noteheads.u2faThin
+/noteheads.u2faWalker /noteheads.u2kievan /noteheads.u2re /noteheads.u2reFunk
+/noteheads.u2reThin /noteheads.u2reWalker /noteheads.u2ti /noteheads.u2tiFunk
+/noteheads.u2tiThin /noteheads.u2tiWalker /noteheads.u2triangle
+/noteheads.u3kievan /noteheads.uM2 /noteheads.uM2blackmensural
+/noteheads.uM2mensural /noteheads.uM2neomensural /noteheads.uM2semimensural
+/noteheads.uM3blackmensural /noteheads.uM3mensural /noteheads.uM3neomensural
+/noteheads.uM3semimensural /noteheads.urM2mensural /noteheads.urM2neomensural
+/noteheads.urM2semimensural /noteheads.urM3mensural /noteheads.urM3neomensural
+/noteheads.urM3semimensural /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef ] def
+
+/noteheads.d0doFunk {<01> show} def /noteheads.d0fa {<02> show} def
+/noteheads.d0faFunk {<03> show} def /noteheads.d0faThin {<04> show} def
+/noteheads.d0miFunk {<05> show} def /noteheads.d0reFunk {<06> show} def
+/noteheads.d0tiFunk {<07> show} def /noteheads.d1do {<08> show} def
+/noteheads.d1doFunk {<09> show} def /noteheads.d1doThin {<0a> show} def
+/noteheads.d1doWalker {<0b> show} def /noteheads.d1fa {<0c> show} def
+/noteheads.d1faFunk {<0d> show} def /noteheads.d1faThin {<0e> show} def
+/noteheads.d1faWalker {<0f> show} def /noteheads.d1miFunk {<10> show} def
+/noteheads.d1re {<11> show} def /noteheads.d1reFunk {<12> show} def
+/noteheads.d1reThin {<13> show} def /noteheads.d1reWalker {<14> show} def
+/noteheads.d1ti {<15> show} def /noteheads.d1tiFunk {<16> show} def
+/noteheads.d1tiThin {<17> show} def /noteheads.d1tiWalker {<18> show} def
+/noteheads.d1triangle {<19> show} def /noteheads.d2do {<1a> show} def
+/noteheads.d2doFunk {<1b> show} def /noteheads.d2doThin {<1c> show} def
+/noteheads.d2doWalker {<1d> show} def /noteheads.d2fa {<1e> show} def
+/noteheads.d2faFunk {<1f> show} def /noteheads.d2faThin {<20> show} def
+/noteheads.d2faWalker {<21> show} def /noteheads.d2kievan {<22> show} def
+/noteheads.d2re {<23> show} def /noteheads.d2reFunk {<24> show} def
+/noteheads.d2reThin {<25> show} def /noteheads.d2reWalker {<26> show} def
+/noteheads.d2ti {<27> show} def /noteheads.d2tiFunk {<28> show} def
+/noteheads.d2tiThin {<29> show} def /noteheads.d2tiWalker {<2a> show} def
+/noteheads.d2triangle {<2b> show} def /noteheads.d3kievan {<2c> show} def
+/noteheads.dM2 {<2d> show} def /noteheads.dM2blackmensural {<2e> show} def
+/noteheads.dM2mensural {<2f> show} def /noteheads.dM2neomensural {<30> show} def
+/noteheads.dM2semimensural {<31> show} def /noteheads.dM3blackmensural {<32> show} def
+/noteheads.dM3mensural {<33> show} def /noteheads.dM3neomensural {<34> show} def
+/noteheads.dM3semimensural {<35> show} def /noteheads.drM2mensural {<36> show} def
+/noteheads.drM2neomensural {<37> show} def /noteheads.drM2semimensural {<38> show} def
+/noteheads.drM3mensural {<39> show} def /noteheads.drM3neomensural {<3a> show} def
+/noteheads.drM3semimensural {<3b> show} def /noteheads.s0 {<3c> show} def
+/noteheads.s0blackmensural {<3d> show} def /noteheads.s0blackpetrucci {<3e> show} def
+/noteheads.s0cross {<3f> show} def /noteheads.s0diamond {<40> show} def
+/noteheads.s0do {<41> show} def /noteheads.s0doThin {<42> show} def
+/noteheads.s0doWalker {<43> show} def /noteheads.s0faWalker {<44> show} def
+/noteheads.s0harmonic {<45> show} def /noteheads.s0kievan {<46> show} def
+/noteheads.s0la {<47> show} def /noteheads.s0laFunk {<48> show} def
+/noteheads.s0laThin {<49> show} def /noteheads.s0laWalker {<4a> show} def
+/noteheads.s0mensural {<4b> show} def /noteheads.s0mi {<4c> show} def
+/noteheads.s0miMirror {<4d> show} def /noteheads.s0miThin {<4e> show} def
+/noteheads.s0miWalker {<4f> show} def /noteheads.s0neomensural {<50> show} def
+/noteheads.s0petrucci {<51> show} def /noteheads.s0re {<52> show} def
+/noteheads.s0reThin {<53> show} def /noteheads.s0reWalker {<54> show} def
+/noteheads.s0slash {<55> show} def /noteheads.s0sol {<56> show} def
+/noteheads.s0solFunk {<57> show} def /noteheads.s0ti {<58> show} def
+/noteheads.s0tiThin {<59> show} def /noteheads.s0tiWalker {<5a> show} def
+/noteheads.s0triangle {<5b> show} def /noteheads.s1 {<5c> show} def
+/noteheads.s1blackpetrucci {<5d> show} def /noteheads.s1cross {<5e> show} def
+/noteheads.s1diamond {<5f> show} def /noteheads.s1kievan {<60> show} def
+/noteheads.s1la {<61> show} def /noteheads.s1laFunk {<62> show} def
+/noteheads.s1laThin {<63> show} def /noteheads.s1laWalker {<64> show} def
+/noteheads.s1mensural {<65> show} def /noteheads.s1mi {<66> show} def
+/noteheads.s1miMirror {<67> show} def /noteheads.s1miThin {<68> show} def
+/noteheads.s1miWalker {<69> show} def /noteheads.s1neomensural {<6a> show} def
+/noteheads.s1petrucci {<6b> show} def /noteheads.s1slash {<6c> show} def
+/noteheads.s1sol {<6d> show} def /noteheads.s1solFunk {<6e> show} def
+/noteheads.s2 {<6f> show} def /noteheads.s2blackpetrucci {<70> show} def
+/noteheads.s2cross {<71> show} def /noteheads.s2diamond {<72> show} def
+/noteheads.s2harmonic {<73> show} def /noteheads.s2la {<74> show} def
+/noteheads.s2laFunk {<75> show} def /noteheads.s2laThin {<76> show} def
+/noteheads.s2laWalker {<77> show} def /noteheads.s2mensural {<78> show} def
+/noteheads.s2mi {<79> show} def /noteheads.s2miFunk {<7a> show} def
+/noteheads.s2miMirror {<7b> show} def /noteheads.s2miThin {<7c> show} def
+/noteheads.s2miWalker {<7d> show} def /noteheads.s2neomensural {<7e> show} def
+/noteheads.s2petrucci {<7f> show} def /noteheads.s2slash {<80> show} def
+/noteheads.s2sol {<81> show} def /noteheads.s2solFunk {<82> show} def
+/noteheads.s2xcircle {<83> show} def /noteheads.shufnagel.lpes {<84> show} def
+/noteheads.shufnagel.punctum {<85> show} def /noteheads.shufnagel.virga {<86> show} def
+/noteheads.sM1 {<87> show} def /noteheads.sM1blackmensural {<88> show} def
+/noteheads.sM1double {<89> show} def /noteheads.sM1kievan {<8a> show} def
+/noteheads.sM1mensural {<8b> show} def /noteheads.sM1neomensural {<8c> show} def
+/noteheads.sM1semimensural {<8d> show} def /noteheads.sM2blackligmensural {<8e> show} def
+/noteheads.sM2kievan {<8f> show} def /noteheads.sM2ligmensural {<90> show} def
+/noteheads.sM2semiligmensural {<91> show} def /noteheads.sM3blackligmensural {<92> show} def
+/noteheads.sM3ligmensural {<93> show} def /noteheads.sM3semiligmensural {<94> show} def
+/noteheads.smedicaea.inclinatum {<95> show} def /noteheads.smedicaea.punctum {<96> show} def
+/noteheads.smedicaea.rvirga {<97> show} def /noteheads.smedicaea.virga {<98> show} def
+/noteheads.sr1kievan {<99> show} def /noteheads.srM1mensural {<9a> show} def
+/noteheads.srM1neomensural {<9b> show} def /noteheads.srM1semimensural {<9c> show} def
+/noteheads.srM2ligmensural {<9d> show} def /noteheads.srM2semiligmensural {<9e> show} def
+/noteheads.srM3ligmensural {<9f> show} def /noteheads.srM3semiligmensural {<a0> show} def
+/noteheads.ssolesmes.auct.asc {<a1> show} def /noteheads.ssolesmes.auct.desc {<a2> show} def
+/noteheads.ssolesmes.incl.auctum {<a3> show} def /noteheads.ssolesmes.incl.parvum {<a4> show} def
+/noteheads.ssolesmes.oriscus {<a5> show} def /noteheads.ssolesmes.stropha {<a6> show} def
+/noteheads.ssolesmes.stropha.aucta {<a7> show} def /noteheads.svaticana.cephalicus {<a8> show} def
+/noteheads.svaticana.epiphonus {<a9> show} def /noteheads.svaticana.inclinatum {<aa> show} def
+/noteheads.svaticana.inner.cephalicus {<ab> show} def /noteheads.svaticana.linea.punctum {<ac> show} def
+/noteheads.svaticana.linea.punctum.cavum {<ad> show} def /noteheads.svaticana.lpes {<ae> show} def
+/noteheads.svaticana.plica {<af> show} def /noteheads.svaticana.punctum {<b0> show} def
+/noteheads.svaticana.punctum.cavum {<b1> show} def /noteheads.svaticana.quilisma {<b2> show} def
+/noteheads.svaticana.reverse.plica {<b3> show} def /noteheads.svaticana.reverse.vplica {<b4> show} def
+/noteheads.svaticana.upes {<b5> show} def /noteheads.svaticana.vepiphonus {<b6> show} def
+/noteheads.svaticana.vlpes {<b7> show} def /noteheads.svaticana.vplica {<b8> show} def
+/noteheads.svaticana.vupes {<b9> show} def /noteheads.u0doFunk {<ba> show} def
+/noteheads.u0fa {<bb> show} def /noteheads.u0faFunk {<bc> show} def
+/noteheads.u0faThin {<bd> show} def /noteheads.u0miFunk {<be> show} def
+/noteheads.u0reFunk {<bf> show} def /noteheads.u0tiFunk {<c0> show} def
+/noteheads.u1do {<c1> show} def /noteheads.u1doFunk {<c2> show} def
+/noteheads.u1doThin {<c3> show} def /noteheads.u1doWalker {<c4> show} def
+/noteheads.u1fa {<c5> show} def /noteheads.u1faFunk {<c6> show} def
+/noteheads.u1faThin {<c7> show} def /noteheads.u1faWalker {<c8> show} def
+/noteheads.u1miFunk {<c9> show} def /noteheads.u1re {<ca> show} def
+/noteheads.u1reFunk {<cb> show} def /noteheads.u1reThin {<cc> show} def
+/noteheads.u1reWalker {<cd> show} def /noteheads.u1ti {<ce> show} def
+/noteheads.u1tiFunk {<cf> show} def /noteheads.u1tiThin {<d0> show} def
+/noteheads.u1tiWalker {<d1> show} def /noteheads.u1triangle {<d2> show} def
+/noteheads.u2do {<d3> show} def /noteheads.u2doFunk {<d4> show} def
+/noteheads.u2doThin {<d5> show} def /noteheads.u2doWalker {<d6> show} def
+/noteheads.u2fa {<d7> show} def /noteheads.u2faFunk {<d8> show} def
+/noteheads.u2faThin {<d9> show} def /noteheads.u2faWalker {<da> show} def
+/noteheads.u2kievan {<db> show} def /noteheads.u2re {<dc> show} def
+/noteheads.u2reFunk {<dd> show} def /noteheads.u2reThin {<de> show} def
+/noteheads.u2reWalker {<df> show} def /noteheads.u2ti {<e0> show} def
+/noteheads.u2tiFunk {<e1> show} def /noteheads.u2tiThin {<e2> show} def
+/noteheads.u2tiWalker {<e3> show} def /noteheads.u2triangle {<e4> show} def
+/noteheads.u3kievan {<e5> show} def /noteheads.uM2 {<e6> show} def
+/noteheads.uM2blackmensural {<e7> show} def /noteheads.uM2mensural {<e8> show} def
+/noteheads.uM2neomensural {<e9> show} def /noteheads.uM2semimensural {<ea> show} def
+/noteheads.uM3blackmensural {<eb> show} def /noteheads.uM3mensural {<ec> show} def
+/noteheads.uM3neomensural {<ed> show} def /noteheads.uM3semimensural {<ee> show} def
+/noteheads.urM2mensural {<ef> show} def /noteheads.urM2neomensural {<f0> show} def
+/noteheads.urM2semimensural {<f1> show} def /noteheads.urM3mensural {<f2> show} def
+/noteheads.urM3neomensural {<f3> show} def /noteheads.urM3semimensural {<f4> show} def
+
+/LilyScriptEncoding [ /.notdef /clefs.blackmensural.c
+/clefs.blackmensural.c_change /clefs.C /clefs.C_change /clefs.F
+/clefs.F_change /clefs.G /clefs.G_change /clefs.GG /clefs.GG_change
+/clefs.hufnagel.do /clefs.hufnagel.do_change /clefs.hufnagel.do.fa
+/clefs.hufnagel.do.fa_change /clefs.hufnagel.fa /clefs.hufnagel.fa_change
+/clefs.kievan.do /clefs.kievan.do_change /clefs.medicaea.do
+/clefs.medicaea.do_change /clefs.medicaea.fa /clefs.medicaea.fa_change
+/clefs.mensural.c /clefs.mensural.c_change /clefs.mensural.f
+/clefs.mensural.f_change /clefs.mensural.g /clefs.mensural.g_change
+/clefs.neomensural.c /clefs.neomensural.c_change /clefs.percussion
+/clefs.percussion_change /clefs.petrucci.c1 /clefs.petrucci.c1_change
+/clefs.petrucci.c2 /clefs.petrucci.c2_change /clefs.petrucci.c3
+/clefs.petrucci.c3_change /clefs.petrucci.c4 /clefs.petrucci.c4_change
+/clefs.petrucci.c5 /clefs.petrucci.c5_change /clefs.petrucci.f
+/clefs.petrucci.f_change /clefs.petrucci.g /clefs.petrucci.g_change /clefs.tab
+/clefs.tab_change /clefs.tenorG /clefs.tenorG_change /clefs.varC
+/clefs.varC_change /clefs.varpercussion /clefs.varpercussion_change
+/clefs.vaticana.do /clefs.vaticana.do_change /clefs.vaticana.fa
+/clefs.vaticana.fa_change /scripts.arpeggio /scripts.arpeggio.arrow.1
+/scripts.arpeggio.arrow.M1 /scripts.augmentum /scripts.barline.kievan
+/scripts.caesura.curved /scripts.caesura.straight /scripts.circulus
+/scripts.coda /scripts.daccentus /scripts.dfermata /scripts.dlongfermata
+/scripts.dmarcato /scripts.downbow /scripts.downmordent /scripts.downprall
+/scripts.dpedalheel /scripts.dpedaltoe /scripts.dportato
+/scripts.dsemicirculus /scripts.dshortfermata /scripts.dsignumcongruentiae
+/scripts.dstaccatissimo /scripts.dverylongfermata /scripts.espr
+/scripts.flageolet /scripts.halfopen /scripts.halfopenvertical /scripts.ictus
+/scripts.lcomma /scripts.lineprall /scripts.lvarcomma /scripts.mordent
+/scripts.open /scripts.prall /scripts.pralldown /scripts.prallmordent
+/scripts.prallprall /scripts.prallup /scripts.rcomma /scripts.reverseturn
+/scripts.rvarcomma /scripts.segno /scripts.sforzato /scripts.snappizzicato
+/scripts.staccato /scripts.stopped /scripts.tenuto /scripts.thumb
+/scripts.tickmark /scripts.trilelement /scripts.trill /scripts.trill_element
+/scripts.turn /scripts.uaccentus /scripts.ufermata /scripts.ulongfermata
+/scripts.umarcato /scripts.upbow /scripts.upedalheel /scripts.upedaltoe
+/scripts.upmordent /scripts.uportato /scripts.upprall /scripts.usemicirculus
+/scripts.ushortfermata /scripts.usignumcongruentiae /scripts.ustaccatissimo
+/scripts.uverylongfermata /scripts.varcoda /scripts.varsegno /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef ] def
+
+/clefs.blackmensural.c {<01> show} def /clefs.blackmensural.c_change {<02> show} def
+/clefs.C {<03> show} def /clefs.C_change {<04> show} def
+/clefs.F {<05> show} def /clefs.F_change {<06> show} def
+/clefs.G {<07> show} def /clefs.G_change {<08> show} def
+/clefs.GG {<09> show} def /clefs.GG_change {<0a> show} def
+/clefs.hufnagel.do {<0b> show} def /clefs.hufnagel.do_change {<0c> show} def
+/clefs.hufnagel.do.fa {<0d> show} def /clefs.hufnagel.do.fa_change {<0e> show} def
+/clefs.hufnagel.fa {<0f> show} def /clefs.hufnagel.fa_change {<10> show} def
+/clefs.kievan.do {<11> show} def /clefs.kievan.do_change {<12> show} def
+/clefs.medicaea.do {<13> show} def /clefs.medicaea.do_change {<14> show} def
+/clefs.medicaea.fa {<15> show} def /clefs.medicaea.fa_change {<16> show} def
+/clefs.mensural.c {<17> show} def /clefs.mensural.c_change {<18> show} def
+/clefs.mensural.f {<19> show} def /clefs.mensural.f_change {<1a> show} def
+/clefs.mensural.g {<1b> show} def /clefs.mensural.g_change {<1c> show} def
+/clefs.neomensural.c {<1d> show} def /clefs.neomensural.c_change {<1e> show} def
+/clefs.percussion {<1f> show} def /clefs.percussion_change {<20> show} def
+/clefs.petrucci.c1 {<21> show} def /clefs.petrucci.c1_change {<22> show} def
+/clefs.petrucci.c2 {<23> show} def /clefs.petrucci.c2_change {<24> show} def
+/clefs.petrucci.c3 {<25> show} def /clefs.petrucci.c3_change {<26> show} def
+/clefs.petrucci.c4 {<27> show} def /clefs.petrucci.c4_change {<28> show} def
+/clefs.petrucci.c5 {<29> show} def /clefs.petrucci.c5_change {<2a> show} def
+/clefs.petrucci.f {<2b> show} def /clefs.petrucci.f_change {<2c> show} def
+/clefs.petrucci.g {<2d> show} def /clefs.petrucci.g_change {<2e> show} def
+/clefs.tab {<2f> show} def /clefs.tab_change {<30> show} def
+/clefs.tenorG {<31> show} def /clefs.tenorG_change {<32> show} def
+/clefs.varC {<33> show} def /clefs.varC_change {<34> show} def
+/clefs.varpercussion {<35> show} def /clefs.varpercussion_change {<36> show} def
+/clefs.vaticana.do {<37> show} def /clefs.vaticana.do_change {<38> show} def
+/clefs.vaticana.fa {<39> show} def /clefs.vaticana.fa_change {<3a> show} def
+/scripts.arpeggio {<3b> show} def /scripts.arpeggio.arrow.1 {<3c> show} def
+/scripts.arpeggio.arrow.M1 {<3d> show} def /scripts.augmentum {<3e> show} def
+/scripts.barline.kievan {<3f> show} def /scripts.caesura.curved {<40> show} def
+/scripts.caesura.straight {<41> show} def /scripts.circulus {<42> show} def
+/scripts.coda {<43> show} def /scripts.daccentus {<44> show} def
+/scripts.dfermata {<45> show} def /scripts.dlongfermata {<46> show} def
+/scripts.dmarcato {<47> show} def /scripts.downbow {<48> show} def
+/scripts.downmordent {<49> show} def /scripts.downprall {<4a> show} def
+/scripts.dpedalheel {<4b> show} def /scripts.dpedaltoe {<4c> show} def
+/scripts.dportato {<4d> show} def /scripts.dsemicirculus {<4e> show} def
+/scripts.dshortfermata {<4f> show} def /scripts.dsignumcongruentiae {<50> show} def
+/scripts.dstaccatissimo {<51> show} def /scripts.dverylongfermata {<52> show} def
+/scripts.espr {<53> show} def /scripts.flageolet {<54> show} def
+/scripts.halfopen {<55> show} def /scripts.halfopenvertical {<56> show} def
+/scripts.ictus {<57> show} def /scripts.lcomma {<58> show} def
+/scripts.lineprall {<59> show} def /scripts.lvarcomma {<5a> show} def
+/scripts.mordent {<5b> show} def /scripts.open {<5c> show} def
+/scripts.prall {<5d> show} def /scripts.pralldown {<5e> show} def
+/scripts.prallmordent {<5f> show} def /scripts.prallprall {<60> show} def
+/scripts.prallup {<61> show} def /scripts.rcomma {<62> show} def
+/scripts.reverseturn {<63> show} def /scripts.rvarcomma {<64> show} def
+/scripts.segno {<65> show} def /scripts.sforzato {<66> show} def
+/scripts.snappizzicato {<67> show} def /scripts.staccato {<68> show} def
+/scripts.stopped {<69> show} def /scripts.tenuto {<6a> show} def
+/scripts.thumb {<6b> show} def /scripts.tickmark {<6c> show} def
+/scripts.trilelement {<6d> show} def /scripts.trill {<6e> show} def
+/scripts.trill_element {<6f> show} def /scripts.turn {<70> show} def
+/scripts.uaccentus {<71> show} def /scripts.ufermata {<72> show} def
+/scripts.ulongfermata {<73> show} def /scripts.umarcato {<74> show} def
+/scripts.upbow {<75> show} def /scripts.upedalheel {<76> show} def
+/scripts.upedaltoe {<77> show} def /scripts.upmordent {<78> show} def
+/scripts.uportato {<79> show} def /scripts.upprall {<7a> show} def
+/scripts.usemicirculus {<7b> show} def /scripts.ushortfermata {<7c> show} def
+/scripts.usignumcongruentiae {<7d> show} def /scripts.ustaccatissimo {<7e> show} def
+/scripts.uverylongfermata {<7f> show} def /scripts.varcoda {<80> show} def
+/scripts.varsegno {<81> show} def
+
+/LilyOtherEncoding [ /.notdef /accidentals.doublesharp /accidentals.flat
+/accidentals.flat.arrowboth /accidentals.flat.arrowdown
+/accidentals.flat.arrowup /accidentals.flatflat /accidentals.flatflat.slash
+/accidentals.flat.slash /accidentals.flat.slashslash /accidentals.hufnagelM1
+/accidentals.kievan1 /accidentals.kievanM1 /accidentals.leftparen
+/accidentals.medicaeaM1 /accidentals.mensural1 /accidentals.mensuralM1
+/accidentals.mirroredflat /accidentals.mirroredflat.backslash
+/accidentals.mirroredflat.flat /accidentals.natural
+/accidentals.natural.arrowboth /accidentals.natural.arrowdown
+/accidentals.natural.arrowup /accidentals.rightparen /accidentals.sharp
+/accidentals.sharp.arrowboth /accidentals.sharp.arrowdown
+/accidentals.sharp.arrowup /accidentals.sharp.slashslashslash.stem
+/accidentals.sharp.slashslashslash.stemstem /accidentals.sharp.slashslash.stem
+/accidentals.sharp.slashslash.stemstemstem /accidentals.vaticana0
+/accidentals.vaticanaM1 /accordion.bayanbass /accordion.discant /accordion.dot
+/accordion.freebass /accordion.oldEE /accordion.pull /accordion.push
+/accordion.stdbass /arrowheads.close.01 /arrowheads.close.0M1
+/arrowheads.close.11 /arrowheads.close.1M1 /arrowheads.open.01
+/arrowheads.open.0M1 /arrowheads.open.11 /arrowheads.open.1M1
+/brackettips.down /brackettips.up /comma /custodes.hufnagel.d0
+/custodes.hufnagel.d1 /custodes.hufnagel.d2 /custodes.hufnagel.u0
+/custodes.hufnagel.u1 /custodes.hufnagel.u2 /custodes.medicaea.d0
+/custodes.medicaea.d1 /custodes.medicaea.d2 /custodes.medicaea.u0
+/custodes.medicaea.u1 /custodes.medicaea.u2 /custodes.mensural.d0
+/custodes.mensural.d1 /custodes.mensural.d2 /custodes.mensural.u0
+/custodes.mensural.u1 /custodes.mensural.u2 /custodes.vaticana.d0
+/custodes.vaticana.d1 /custodes.vaticana.d2 /custodes.vaticana.u0
+/custodes.vaticana.u1 /custodes.vaticana.u2 /dots.dot /dots.dotkievan
+/dots.dotvaticana /eight /f /five /flags.d3 /flags.d4 /flags.d5 /flags.d6
+/flags.d7 /flags.dgrace /flags.mensurald03 /flags.mensurald04
+/flags.mensurald05 /flags.mensurald06 /flags.mensurald13 /flags.mensurald14
+/flags.mensurald15 /flags.mensurald16 /flags.mensurald23 /flags.mensurald24
+/flags.mensurald25 /flags.mensurald26 /flags.mensuralu03 /flags.mensuralu04
+/flags.mensuralu05 /flags.mensuralu06 /flags.mensuralu13 /flags.mensuralu14
+/flags.mensuralu15 /flags.mensuralu16 /flags.mensuralu23 /flags.mensuralu24
+/flags.mensuralu25 /flags.mensuralu26 /flags.u3 /flags.u4 /flags.u5 /flags.u6
+/flags.u7 /flags.ugrace /four /hyphen /m /nine /one /p /pedal.. /pedal.*
+/pedal.d /pedal.e /pedal.M /pedal.P /pedal.Ped /period /plus /r /rests.0
+/rests.0mensural /rests.0neomensural /rests.0o /rests.1 /rests.1mensural
+/rests.1neomensural /rests.1o /rests.2 /rests.2classical /rests.2mensural
+/rests.2neomensural /rests.2z /rests.3 /rests.3mensural /rests.3neomensural
+/rests.4 /rests.4mensural /rests.4neomensural /rests.5 /rests.6 /rests.7
+/rests.M1 /rests.M1mensural /rests.M1neomensural /rests.M1o /rests.M2
+/rests.M2mensural /rests.M2neomensural /rests.M3 /rests.M3mensural
+/rests.M3neomensural /s /seven /six /space /three /ties.lyric.default
+/ties.lyric.short /timesig.C22 /timesig.C44 /timesig.mensural22
+/timesig.mensural24 /timesig.mensural32 /timesig.mensural34
+/timesig.mensural44 /timesig.mensural48 /timesig.mensural64
+/timesig.mensural68 /timesig.mensural68alt /timesig.mensural94
+/timesig.mensural98 /timesig.neomensural22 /timesig.neomensural24
+/timesig.neomensural32 /timesig.neomensural34 /timesig.neomensural44
+/timesig.neomensural48 /timesig.neomensural64 /timesig.neomensural68
+/timesig.neomensural68alt /timesig.neomensural94 /timesig.neomensural98 /two
+/z /zero /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef ] def
+
+/accidentals.doublesharp {<01> show} def /accidentals.flat {<02> show} def
+/accidentals.flat.arrowboth {<03> show} def /accidentals.flat.arrowdown {<04> show} def
+/accidentals.flat.arrowup {<05> show} def /accidentals.flatflat {<06> show} def
+/accidentals.flatflat.slash {<07> show} def /accidentals.flat.slash {<08> show} def
+/accidentals.flat.slashslash {<09> show} def /accidentals.hufnagelM1 {<0a> show} def
+/accidentals.kievan1 {<0b> show} def /accidentals.kievanM1 {<0c> show} def
+/accidentals.leftparen {<0d> show} def /accidentals.medicaeaM1 {<0e> show} def
+/accidentals.mensural1 {<0f> show} def /accidentals.mensuralM1 {<10> show} def
+/accidentals.mirroredflat {<11> show} def /accidentals.mirroredflat.backslash {<12> show} def
+/accidentals.mirroredflat.flat {<13> show} def /accidentals.natural {<14> show} def
+/accidentals.natural.arrowboth {<15> show} def /accidentals.natural.arrowdown {<16> show} def
+/accidentals.natural.arrowup {<17> show} def /accidentals.rightparen {<18> show} def
+/accidentals.sharp {<19> show} def /accidentals.sharp.arrowboth {<1a> show} def
+/accidentals.sharp.arrowdown {<1b> show} def /accidentals.sharp.arrowup {<1c> show} def
+/accidentals.sharp.slashslashslash.stem {<1d> show} def /accidentals.sharp.slashslashslash.stemstem {<1e> show} def
+/accidentals.sharp.slashslash.stem {<1f> show} def /accidentals.sharp.slashslash.stemstemstem {<20> show} def
+/accidentals.vaticana0 {<21> show} def /accidentals.vaticanaM1 {<22> show} def
+/accordion.bayanbass {<23> show} def /accordion.discant {<24> show} def
+/accordion.dot {<25> show} def /accordion.freebass {<26> show} def
+/accordion.oldEE {<27> show} def /accordion.pull {<28> show} def
+/accordion.push {<29> show} def /accordion.stdbass {<2a> show} def
+/arrowheads.close.01 {<2b> show} def /arrowheads.close.0M1 {<2c> show} def
+/arrowheads.close.11 {<2d> show} def /arrowheads.close.1M1 {<2e> show} def
+/arrowheads.open.01 {<2f> show} def /arrowheads.open.0M1 {<30> show} def
+/arrowheads.open.11 {<31> show} def /arrowheads.open.1M1 {<32> show} def
+/brackettips.down {<33> show} def /brackettips.up {<34> show} def
+/comma {<35> show} def /custodes.hufnagel.d0 {<36> show} def
+/custodes.hufnagel.d1 {<37> show} def /custodes.hufnagel.d2 {<38> show} def
+/custodes.hufnagel.u0 {<39> show} def /custodes.hufnagel.u1 {<3a> show} def
+/custodes.hufnagel.u2 {<3b> show} def /custodes.medicaea.d0 {<3c> show} def
+/custodes.medicaea.d1 {<3d> show} def /custodes.medicaea.d2 {<3e> show} def
+/custodes.medicaea.u0 {<3f> show} def /custodes.medicaea.u1 {<40> show} def
+/custodes.medicaea.u2 {<41> show} def /custodes.mensural.d0 {<42> show} def
+/custodes.mensural.d1 {<43> show} def /custodes.mensural.d2 {<44> show} def
+/custodes.mensural.u0 {<45> show} def /custodes.mensural.u1 {<46> show} def
+/custodes.mensural.u2 {<47> show} def /custodes.vaticana.d0 {<48> show} def
+/custodes.vaticana.d1 {<49> show} def /custodes.vaticana.d2 {<4a> show} def
+/custodes.vaticana.u0 {<4b> show} def /custodes.vaticana.u1 {<4c> show} def
+/custodes.vaticana.u2 {<4d> show} def /dots.dot {<4e> show} def
+/dots.dotkievan {<4f> show} def /dots.dotvaticana {<50> show} def
+/eight {<51> show} def /f {<52> show} def
+/five {<53> show} def /flags.d3 {<54> show} def
+/flags.d4 {<55> show} def /flags.d5 {<56> show} def
+/flags.d6 {<57> show} def /flags.d7 {<58> show} def
+/flags.dgrace {<59> show} def /flags.mensurald03 {<5a> show} def
+/flags.mensurald04 {<5b> show} def /flags.mensurald05 {<5c> show} def
+/flags.mensurald06 {<5d> show} def /flags.mensurald13 {<5e> show} def
+/flags.mensurald14 {<5f> show} def /flags.mensurald15 {<60> show} def
+/flags.mensurald16 {<61> show} def /flags.mensurald23 {<62> show} def
+/flags.mensurald24 {<63> show} def /flags.mensurald25 {<64> show} def
+/flags.mensurald26 {<65> show} def /flags.mensuralu03 {<66> show} def
+/flags.mensuralu04 {<67> show} def /flags.mensuralu05 {<68> show} def
+/flags.mensuralu06 {<69> show} def /flags.mensuralu13 {<6a> show} def
+/flags.mensuralu14 {<6b> show} def /flags.mensuralu15 {<6c> show} def
+/flags.mensuralu16 {<6d> show} def /flags.mensuralu23 {<6e> show} def
+/flags.mensuralu24 {<6f> show} def /flags.mensuralu25 {<70> show} def
+/flags.mensuralu26 {<71> show} def /flags.u3 {<72> show} def
+/flags.u4 {<73> show} def /flags.u5 {<74> show} def
+/flags.u6 {<75> show} def /flags.u7 {<76> show} def
+/flags.ugrace {<77> show} def /four {<78> show} def
+/hyphen {<79> show} def /m {<7a> show} def
+/nine {<7b> show} def /one {<7c> show} def
+/p {<7d> show} def /pedal.. {<7e> show} def
+/pedal.* {<7f> show} def /pedal.d {<80> show} def
+/pedal.e {<81> show} def /pedal.M {<82> show} def
+/pedal.P {<83> show} def /pedal.Ped {<84> show} def
+/period {<85> show} def /plus {<86> show} def
+/r {<87> show} def /rests.0 {<88> show} def
+/rests.0mensural {<89> show} def /rests.0neomensural {<8a> show} def
+/rests.0o {<8b> show} def /rests.1 {<8c> show} def
+/rests.1mensural {<8d> show} def /rests.1neomensural {<8e> show} def
+/rests.1o {<8f> show} def /rests.2 {<90> show} def
+/rests.2classical {<91> show} def /rests.2mensural {<92> show} def
+/rests.2neomensural {<93> show} def /rests.2z {<94> show} def
+/rests.3 {<95> show} def /rests.3mensural {<96> show} def
+/rests.3neomensural {<97> show} def /rests.4 {<98> show} def
+/rests.4mensural {<99> show} def /rests.4neomensural {<9a> show} def
+/rests.5 {<9b> show} def /rests.6 {<9c> show} def
+/rests.7 {<9d> show} def /rests.M1 {<9e> show} def
+/rests.M1mensural {<9f> show} def /rests.M1neomensural {<a0> show} def
+/rests.M1o {<a1> show} def /rests.M2 {<a2> show} def
+/rests.M2mensural {<a3> show} def /rests.M2neomensural {<a4> show} def
+/rests.M3 {<a5> show} def /rests.M3mensural {<a6> show} def
+/rests.M3neomensural {<a7> show} def /s {<a8> show} def
+/seven {<a9> show} def /six {<aa> show} def
+/space {<ab> show} def /three {<ac> show} def
+/ties.lyric.default {<ad> show} def /ties.lyric.short {<ae> show} def
+/timesig.C22 {<af> show} def /timesig.C44 {<b0> show} def
+/timesig.mensural22 {<b1> show} def /timesig.mensural24 {<b2> show} def
+/timesig.mensural32 {<b3> show} def /timesig.mensural34 {<b4> show} def
+/timesig.mensural44 {<b5> show} def /timesig.mensural48 {<b6> show} def
+/timesig.mensural64 {<b7> show} def /timesig.mensural68 {<b8> show} def
+/timesig.mensural68alt {<b9> show} def /timesig.mensural94 {<ba> show} def
+/timesig.mensural98 {<bb> show} def /timesig.neomensural22 {<bc> show} def
+/timesig.neomensural24 {<bd> show} def /timesig.neomensural32 {<be> show} def
+/timesig.neomensural34 {<bf> show} def /timesig.neomensural44 {<c0> show} def
+/timesig.neomensural48 {<c1> show} def /timesig.neomensural64 {<c2> show} def
+/timesig.neomensural68 {<c3> show} def /timesig.neomensural68alt {<c4> show} def
+/timesig.neomensural94 {<c5> show} def /timesig.neomensural98 {<c6> show} def
+/two {<c7> show} def /z {<c8> show} def /zero {<c9> show} def
+
+%
+% Custom encodings and definitions for the emmentaler-brace font
+%
+/BracesNEncoding [ /.notdef
+/brace1 /brace2 /brace10 /brace11 /brace12 /brace13 /brace14 /brace15 /brace16 /brace17
+/brace18 /brace19 /brace20 /brace21 /brace22 /brace23 /brace24 /brace25 /brace26 /brace27
+/brace28 /brace29 /brace100 /brace101 /brace102 /brace103 /brace104 /brace105 /brace106
+/brace107 /brace108 /brace109 /brace110 /brace111 /brace112 /brace113 /brace114 /brace115
+/brace116 /brace117 /brace118 /brace119 /brace120 /brace121 /brace122 /brace123 /brace124
+/brace125 /brace126 /brace127 /brace128 /brace129 /brace130 /brace131 /brace132 /brace133
+/brace134 /brace135 /brace136 /brace137 /brace138 /brace139 /brace140 /brace141 /brace142
+/brace143 /brace144 /brace145 /brace146 /brace147 /brace148 /brace149 /brace150 /brace151
+/brace152 /brace153 /brace154 /brace155 /brace156 /brace157 /brace158 /brace159 /brace160
+/brace161 /brace162 /brace163 /brace164 /brace165 /brace166 /brace167 /brace168 /brace169
+/brace170 /brace171 /brace172 /brace173 /brace174 /brace175 /brace176 /brace177 /brace178
+/brace179 /brace180 /brace181 /brace182 /brace183 /brace184 /brace185 /brace186 /brace187
+/brace188 /brace189 /brace190 /brace191 /brace192 /brace193 /brace194 /brace195 /brace196
+/brace197 /brace198 /brace199 /brace200 /brace201 /brace202 /brace203 /brace204 /brace205
+/brace206 /brace207 /brace208 /brace209 /brace210 /brace211 /brace212 /brace213 /brace214
+/brace215 /brace216 /brace217 /brace218 /brace219 /brace220 /brace221 /brace222 /brace223
+/brace224 /brace225 /brace226 /brace227 /brace228 /brace229 /brace230 /brace231 /brace232
+/brace233 /brace234 /brace235 /brace236 /brace237 /brace238 /brace239 /brace240 /brace241
+/brace242 /brace243 /brace244 /brace245 /brace246 /brace247 /brace248 /brace249 /brace250
+/brace251 /brace252 /brace253 /brace254 /brace255 /brace256 /brace257 /brace258 /brace259
+/brace260 /brace261 /brace262 /brace263 /brace264 /brace265 /brace266 /brace267 /brace268
+/brace269 /brace270 /brace271 /brace272 /brace273 /brace274 /brace275 /brace276 /brace277
+/brace278 /brace279 /brace280 /brace281 /brace282 /brace283 /brace284 /brace285 /brace286
+/brace287 /brace288 /brace289 /brace290 /brace291 /brace292 /brace293 /brace294 /brace295
+/brace296 /brace297 /brace298 /brace299 /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+
+/brace1 {<01> show} def /brace2 {<02> show} def /brace10 {<03> show} def
+/brace11 {<04> show} def /brace12 {<05> show} def /brace13 {<06> show} def
+/brace14 {<07> show} def /brace15 {<08> show} def /brace16 {<09> show} def
+/brace17 {<0a> show} def /brace18 {<0b> show} def /brace19 {<0c> show} def
+/brace20 {<0d> show} def /brace21 {<0e> show} def /brace22 {<0f> show} def
+/brace23 {<10> show} def /brace24 {<11> show} def /brace25 {<12> show} def
+/brace26 {<13> show} def /brace27 {<14> show} def /brace28 {<15> show} def
+/brace29 {<16> show} def /brace100 {<17> show} def /brace101 {<18> show} def
+/brace102 {<19> show} def /brace103 {<1a> show} def /brace104 {<1b> show} def
+/brace105 {<1c> show} def /brace106 {<1d> show} def /brace107 {<1e> show} def
+/brace108 {<1f> show} def /brace109 {<20> show} def /brace110 {<21> show} def
+/brace111 {<22> show} def /brace112 {<23> show} def /brace113 {<24> show} def
+/brace114 {<25> show} def /brace115 {<26> show} def /brace116 {<27> show} def
+/brace117 {<28> show} def /brace118 {<29> show} def /brace119 {<2a> show} def
+/brace120 {<2b> show} def /brace121 {<2c> show} def /brace122 {<2d> show} def
+/brace123 {<2e> show} def /brace124 {<2f> show} def /brace125 {<30> show} def
+/brace126 {<31> show} def /brace127 {<32> show} def /brace128 {<33> show} def
+/brace129 {<34> show} def /brace130 {<35> show} def /brace131 {<36> show} def
+/brace132 {<37> show} def /brace133 {<38> show} def /brace134 {<39> show} def
+/brace135 {<3a> show} def /brace136 {<3b> show} def /brace137 {<3c> show} def
+/brace138 {<3d> show} def /brace139 {<3e> show} def /brace140 {<3f> show} def
+/brace141 {<40> show} def /brace142 {<41> show} def /brace143 {<42> show} def
+/brace144 {<43> show} def /brace145 {<44> show} def /brace146 {<45> show} def
+/brace147 {<46> show} def /brace148 {<47> show} def /brace149 {<48> show} def
+/brace150 {<49> show} def /brace151 {<4a> show} def /brace152 {<4b> show} def
+/brace153 {<4c> show} def /brace154 {<4d> show} def /brace155 {<4e> show} def
+/brace156 {<4f> show} def /brace157 {<50> show} def /brace158 {<51> show} def
+/brace159 {<52> show} def /brace160 {<53> show} def /brace161 {<54> show} def
+/brace162 {<55> show} def /brace163 {<56> show} def /brace164 {<57> show} def
+/brace165 {<58> show} def /brace166 {<59> show} def /brace167 {<5a> show} def
+/brace168 {<5b> show} def /brace169 {<5c> show} def /brace170 {<5d> show} def
+/brace171 {<5e> show} def /brace172 {<5f> show} def /brace173 {<60> show} def
+/brace174 {<61> show} def /brace175 {<62> show} def /brace176 {<63> show} def
+/brace177 {<64> show} def /brace178 {<65> show} def /brace179 {<66> show} def
+/brace180 {<67> show} def /brace181 {<68> show} def /brace182 {<69> show} def
+/brace183 {<6a> show} def /brace184 {<6b> show} def /brace185 {<6c> show} def
+/brace186 {<6d> show} def /brace187 {<6e> show} def /brace188 {<6f> show} def
+/brace189 {<70> show} def /brace190 {<71> show} def /brace191 {<72> show} def
+/brace192 {<73> show} def /brace193 {<74> show} def /brace194 {<75> show} def
+/brace195 {<76> show} def /brace196 {<77> show} def /brace197 {<78> show} def
+/brace198 {<79> show} def /brace199 {<7a> show} def /brace200 {<7b> show} def
+/brace201 {<7c> show} def /brace202 {<7d> show} def /brace203 {<7e> show} def
+/brace204 {<7f> show} def /brace205 {<80> show} def /brace206 {<81> show} def
+/brace207 {<82> show} def /brace208 {<83> show} def /brace209 {<84> show} def
+/brace210 {<85> show} def /brace211 {<86> show} def /brace212 {<87> show} def
+/brace213 {<88> show} def /brace214 {<89> show} def /brace215 {<8a> show} def
+/brace216 {<8b> show} def /brace217 {<8c> show} def /brace218 {<8d> show} def
+/brace219 {<8e> show} def /brace220 {<8f> show} def /brace221 {<90> show} def
+/brace222 {<91> show} def /brace223 {<92> show} def /brace224 {<93> show} def
+/brace225 {<94> show} def /brace226 {<95> show} def /brace227 {<96> show} def
+/brace228 {<97> show} def /brace229 {<98> show} def /brace230 {<99> show} def
+/brace231 {<9a> show} def /brace232 {<9b> show} def /brace233 {<9c> show} def
+/brace234 {<9d> show} def /brace235 {<9e> show} def /brace236 {<9f> show} def
+/brace237 {<a0> show} def /brace238 {<a1> show} def /brace239 {<a2> show} def
+/brace240 {<a3> show} def /brace241 {<a4> show} def /brace242 {<a5> show} def
+/brace243 {<a6> show} def /brace244 {<a7> show} def /brace245 {<a8> show} def
+/brace246 {<a9> show} def /brace247 {<aa> show} def /brace248 {<ab> show} def
+/brace249 {<ac> show} def /brace250 {<ad> show} def /brace251 {<ae> show} def
+/brace252 {<af> show} def /brace253 {<b0> show} def /brace254 {<b1> show} def
+/brace255 {<b2> show} def /brace256 {<b3> show} def /brace257 {<b4> show} def
+/brace258 {<b5> show} def /brace259 {<b6> show} def /brace260 {<b7> show} def
+/brace261 {<b8> show} def /brace262 {<b9> show} def /brace263 {<ba> show} def
+/brace264 {<bb> show} def /brace265 {<bc> show} def /brace266 {<bd> show} def
+/brace267 {<be> show} def /brace268 {<bf> show} def /brace269 {<c0> show} def
+/brace270 {<c1> show} def /brace271 {<c2> show} def /brace272 {<c3> show} def
+/brace273 {<c4> show} def /brace274 {<c5> show} def /brace275 {<c6> show} def
+/brace276 {<c7> show} def /brace277 {<c8> show} def /brace278 {<c9> show} def
+/brace279 {<ca> show} def /brace280 {<cb> show} def /brace281 {<cc> show} def
+/brace282 {<cd> show} def /brace283 {<ce> show} def /brace284 {<cf> show} def
+/brace285 {<d0> show} def /brace286 {<d1> show} def /brace287 {<d2> show} def
+/brace288 {<d3> show} def /brace289 {<d4> show} def /brace290 {<d5> show} def
+/brace291 {<d6> show} def /brace292 {<d7> show} def /brace293 {<d8> show} def
+/brace294 {<d9> show} def /brace295 {<da> show} def /brace296 {<db> show} def
+/brace297 {<dc> show} def /brace298 {<dd> show} def /brace299 {<de> show} def
+
+/BracesSEncoding [ /.notdef
+/brace3 /brace4 /brace30 /brace31 /brace32 /brace33 /brace34 /brace35 /brace36
+/brace37 /brace38 /brace39 /brace40 /brace41 /brace42 /brace43 /brace44 /brace45
+/brace46 /brace47 /brace48 /brace49 /brace300 /brace301 /brace302 /brace303 /brace304
+/brace305 /brace306 /brace307 /brace308 /brace309 /brace310 /brace311 /brace312 /brace313
+/brace314 /brace315 /brace316 /brace317 /brace318 /brace319 /brace320 /brace321 /brace322
+/brace323 /brace324 /brace325 /brace326 /brace327 /brace328 /brace329 /brace330 /brace331
+/brace332 /brace333 /brace334 /brace335 /brace336 /brace337 /brace338 /brace339 /brace340
+/brace341 /brace342 /brace343 /brace344 /brace345 /brace346 /brace347 /brace348 /brace349
+/brace350 /brace351 /brace352 /brace353 /brace354 /brace355 /brace356 /brace357 /brace358
+/brace359 /brace360 /brace361 /brace362 /brace363 /brace364 /brace365 /brace366 /brace367
+/brace368 /brace369 /brace370 /brace371 /brace372 /brace373 /brace374 /brace375 /brace376
+/brace377 /brace378 /brace379 /brace380 /brace381 /brace382 /brace383 /brace384 /brace385
+/brace386 /brace387 /brace388 /brace389 /brace390 /brace391 /brace392 /brace393 /brace394
+/brace395 /brace396 /brace397 /brace398 /brace399 /brace400 /brace401 /brace402 /brace403
+/brace404 /brace405 /brace406 /brace407 /brace408 /brace409 /brace410 /brace411 /brace412
+/brace413 /brace414 /brace415 /brace416 /brace417 /brace418 /brace419 /brace420 /brace421
+/brace422 /brace423 /brace424 /brace425 /brace426 /brace427 /brace428 /brace429 /brace430
+/brace431 /brace432 /brace433 /brace434 /brace435 /brace436 /brace437 /brace438 /brace439
+/brace440 /brace441 /brace442 /brace443 /brace444 /brace445 /brace446 /brace447 /brace448
+/brace449 /brace450 /brace451 /brace452 /brace453 /brace454 /brace455 /brace456 /brace457
+/brace458 /brace459 /brace460 /brace461 /brace462 /brace463 /brace464 /brace465 /brace466
+/brace467 /brace468 /brace469 /brace470 /brace471 /brace472 /brace473 /brace474 /brace475
+/brace476 /brace477 /brace478 /brace479 /brace480 /brace481 /brace482 /brace483 /brace484
+/brace485 /brace486 /brace487 /brace488 /brace489 /brace490 /brace491 /brace492 /brace493
+/brace494 /brace495 /brace496 /brace497 /brace498 /brace499 /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef
+] def
+
+/brace3 {<01> show} def /brace4 {<02> show} def /brace30 {<03> show} def
+/brace31 {<04> show} def /brace32 {<05> show} def /brace33 {<06> show} def
+/brace34 {<07> show} def /brace35 {<08> show} def /brace36 {<09> show} def
+/brace37 {<0a> show} def /brace38 {<0b> show} def /brace39 {<0c> show} def
+/brace40 {<0d> show} def /brace41 {<0e> show} def /brace42 {<0f> show} def
+/brace43 {<10> show} def /brace44 {<11> show} def /brace45 {<12> show} def
+/brace46 {<13> show} def /brace47 {<14> show} def /brace48 {<15> show} def
+/brace49 {<16> show} def /brace300 {<17> show} def /brace301 {<18> show} def
+/brace302 {<19> show} def /brace303 {<1a> show} def /brace304 {<1b> show} def
+/brace305 {<1c> show} def /brace306 {<1d> show} def /brace307 {<1e> show} def
+/brace308 {<1f> show} def /brace309 {<20> show} def /brace310 {<21> show} def
+/brace311 {<22> show} def /brace312 {<23> show} def /brace313 {<24> show} def
+/brace314 {<25> show} def /brace315 {<26> show} def /brace316 {<27> show} def
+/brace317 {<28> show} def /brace318 {<29> show} def /brace319 {<2a> show} def
+/brace320 {<2b> show} def /brace321 {<2c> show} def /brace322 {<2d> show} def
+/brace323 {<2e> show} def /brace324 {<2f> show} def /brace325 {<30> show} def
+/brace326 {<31> show} def /brace327 {<32> show} def /brace328 {<33> show} def
+/brace329 {<34> show} def /brace330 {<35> show} def /brace331 {<36> show} def
+/brace332 {<37> show} def /brace333 {<38> show} def /brace334 {<39> show} def
+/brace335 {<3a> show} def /brace336 {<3b> show} def /brace337 {<3c> show} def
+/brace338 {<3d> show} def /brace339 {<3e> show} def /brace340 {<3f> show} def
+/brace341 {<40> show} def /brace342 {<41> show} def /brace343 {<42> show} def
+/brace344 {<43> show} def /brace345 {<44> show} def /brace346 {<45> show} def
+/brace347 {<46> show} def /brace348 {<47> show} def /brace349 {<48> show} def
+/brace350 {<49> show} def /brace351 {<4a> show} def /brace352 {<4b> show} def
+/brace353 {<4c> show} def /brace354 {<4d> show} def /brace355 {<4e> show} def
+/brace356 {<4f> show} def /brace357 {<50> show} def /brace358 {<51> show} def
+/brace359 {<52> show} def /brace360 {<53> show} def /brace361 {<54> show} def
+/brace362 {<55> show} def /brace363 {<56> show} def /brace364 {<57> show} def
+/brace365 {<58> show} def /brace366 {<59> show} def /brace367 {<5a> show} def
+/brace368 {<5b> show} def /brace369 {<5c> show} def /brace370 {<5d> show} def
+/brace371 {<5e> show} def /brace372 {<5f> show} def /brace373 {<60> show} def
+/brace374 {<61> show} def /brace375 {<62> show} def /brace376 {<63> show} def
+/brace377 {<64> show} def /brace378 {<65> show} def /brace379 {<66> show} def
+/brace380 {<67> show} def /brace381 {<68> show} def /brace382 {<69> show} def
+/brace383 {<6a> show} def /brace384 {<6b> show} def /brace385 {<6c> show} def
+/brace386 {<6d> show} def /brace387 {<6e> show} def /brace388 {<6f> show} def
+/brace389 {<70> show} def /brace390 {<71> show} def /brace391 {<72> show} def
+/brace392 {<73> show} def /brace393 {<74> show} def /brace394 {<75> show} def
+/brace395 {<76> show} def /brace396 {<77> show} def /brace397 {<78> show} def
+/brace398 {<79> show} def /brace399 {<7a> show} def /brace400 {<7b> show} def
+/brace401 {<7c> show} def /brace402 {<7d> show} def /brace403 {<7e> show} def
+/brace404 {<7f> show} def /brace405 {<80> show} def /brace406 {<81> show} def
+/brace407 {<82> show} def /brace408 {<83> show} def /brace409 {<84> show} def
+/brace410 {<85> show} def /brace411 {<86> show} def /brace412 {<87> show} def
+/brace413 {<88> show} def /brace414 {<89> show} def /brace415 {<8a> show} def
+/brace416 {<8b> show} def /brace417 {<8c> show} def /brace418 {<8d> show} def
+/brace419 {<8e> show} def /brace420 {<8f> show} def /brace421 {<90> show} def
+/brace422 {<91> show} def /brace423 {<92> show} def /brace424 {<93> show} def
+/brace425 {<94> show} def /brace426 {<95> show} def /brace427 {<96> show} def
+/brace428 {<97> show} def /brace429 {<98> show} def /brace430 {<99> show} def
+/brace431 {<9a> show} def /brace432 {<9b> show} def /brace433 {<9c> show} def
+/brace434 {<9d> show} def /brace435 {<9e> show} def /brace436 {<9f> show} def
+/brace437 {<a0> show} def /brace438 {<a1> show} def /brace439 {<a2> show} def
+/brace440 {<a3> show} def /brace441 {<a4> show} def /brace442 {<a5> show} def
+/brace443 {<a6> show} def /brace444 {<a7> show} def /brace445 {<a8> show} def
+/brace446 {<a9> show} def /brace447 {<aa> show} def /brace448 {<ab> show} def
+/brace449 {<ac> show} def /brace450 {<ad> show} def /brace451 {<ae> show} def
+/brace452 {<af> show} def /brace453 {<b0> show} def /brace454 {<b1> show} def
+/brace455 {<b2> show} def /brace456 {<b3> show} def /brace457 {<b4> show} def
+/brace458 {<b5> show} def /brace459 {<b6> show} def /brace460 {<b7> show} def
+/brace461 {<b8> show} def /brace462 {<b9> show} def /brace463 {<ba> show} def
+/brace464 {<bb> show} def /brace465 {<bc> show} def /brace466 {<bd> show} def
+/brace467 {<be> show} def /brace468 {<bf> show} def /brace469 {<c0> show} def
+/brace470 {<c1> show} def /brace471 {<c2> show} def /brace472 {<c3> show} def
+/brace473 {<c4> show} def /brace474 {<c5> show} def /brace475 {<c6> show} def
+/brace476 {<c7> show} def /brace477 {<c8> show} def /brace478 {<c9> show} def
+/brace479 {<ca> show} def /brace480 {<cb> show} def /brace481 {<cc> show} def
+/brace482 {<cd> show} def /brace483 {<ce> show} def /brace484 {<cf> show} def
+/brace485 {<d0> show} def /brace486 {<d1> show} def /brace487 {<d2> show} def
+/brace488 {<d3> show} def /brace489 {<d4> show} def /brace490 {<d5> show} def
+/brace491 {<d6> show} def /brace492 {<d7> show} def /brace493 {<d8> show} def
+/brace494 {<d9> show} def /brace495 {<da> show} def /brace496 {<db> show} def
+/brace497 {<dc> show} def /brace498 {<dd> show} def /brace499 {<de> show} def
+
+/BracesOEncoding [ /.notdef
+/brace0 /brace5 /brace6 /brace7 /brace8 /brace9 /brace50 /brace51 /brace52
+/brace53 /brace54 /brace55 /brace56 /brace57 /brace58 /brace59 /brace60 /brace61
+/brace62 /brace63 /brace64 /brace65 /brace66 /brace67 /brace68 /brace69 /brace70
+/brace71 /brace72 /brace73 /brace74 /brace75 /brace76 /brace77 /brace78 /brace79
+/brace80 /brace81 /brace82 /brace83 /brace84 /brace85 /brace86 /brace87 /brace88
+/brace89 /brace90 /brace91 /brace92 /brace93 /brace94 /brace95 /brace96 /brace97
+/brace98 /brace99 /brace500 /brace501 /brace502 /brace503 /brace504 /brace505 /brace506
+/brace507 /brace508 /brace509 /brace510 /brace511 /brace512 /brace513 /brace514 /brace515
+/brace516 /brace517 /brace518 /brace519 /brace520 /brace521 /brace522 /brace523 /brace524
+/brace525 /brace526 /brace527 /brace528 /brace529 /brace530 /brace531 /brace532 /brace533
+/brace534 /brace535 /brace536 /brace537 /brace538 /brace539 /brace540 /brace541 /brace542
+/brace543 /brace544 /brace545 /brace546 /brace547 /brace548 /brace549 /brace550 /brace551
+/brace552 /brace553 /brace554 /brace555 /brace556 /brace557 /brace558 /brace559 /brace560
+/brace561 /brace562 /brace563 /brace564 /brace565 /brace566 /brace567 /brace568 /brace569
+/brace570 /brace571 /brace572 /brace573 /brace574 /brace575 /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef
+] def
+
+/brace0 {<01> show} def /brace5 {<02> show} def /brace6 {<03> show} def
+/brace7 {<04> show} def /brace8 {<05> show} def /brace9 {<06> show} def
+/brace50 {<07> show} def /brace51 {<08> show} def /brace52 {<09> show} def
+/brace53 {<0a> show} def /brace54 {<0b> show} def /brace55 {<0c> show} def
+/brace56 {<0d> show} def /brace57 {<0e> show} def /brace58 {<0f> show} def
+/brace59 {<10> show} def /brace60 {<11> show} def /brace61 {<12> show} def
+/brace62 {<13> show} def /brace63 {<14> show} def /brace64 {<15> show} def
+/brace65 {<16> show} def /brace66 {<17> show} def /brace67 {<18> show} def
+/brace68 {<19> show} def /brace69 {<1a> show} def /brace70 {<1b> show} def
+/brace71 {<1c> show} def /brace72 {<1d> show} def /brace73 {<1e> show} def
+/brace74 {<1f> show} def /brace75 {<20> show} def /brace76 {<21> show} def
+/brace77 {<22> show} def /brace78 {<23> show} def /brace79 {<24> show} def
+/brace80 {<25> show} def /brace81 {<26> show} def /brace82 {<27> show} def
+/brace83 {<28> show} def /brace84 {<29> show} def /brace85 {<2a> show} def
+/brace86 {<2b> show} def /brace87 {<2c> show} def /brace88 {<2d> show} def
+/brace89 {<2e> show} def /brace90 {<2f> show} def /brace91 {<30> show} def
+/brace92 {<31> show} def /brace93 {<32> show} def /brace94 {<33> show} def
+/brace95 {<34> show} def /brace96 {<35> show} def /brace97 {<36> show} def
+/brace98 {<37> show} def /brace99 {<38> show} def /brace500 {<39> show} def
+/brace501 {<3a> show} def /brace502 {<3b> show} def /brace503 {<3c> show} def
+/brace504 {<3d> show} def /brace505 {<3e> show} def /brace506 {<3f> show} def
+/brace507 {<40> show} def /brace508 {<41> show} def /brace509 {<42> show} def
+/brace510 {<43> show} def /brace511 {<44> show} def /brace512 {<45> show} def
+/brace513 {<46> show} def /brace514 {<47> show} def /brace515 {<48> show} def
+/brace516 {<49> show} def /brace517 {<4a> show} def /brace518 {<4b> show} def
+/brace519 {<4c> show} def /brace520 {<4d> show} def /brace521 {<4e> show} def
+/brace522 {<4f> show} def /brace523 {<50> show} def /brace524 {<51> show} def
+/brace525 {<52> show} def /brace526 {<53> show} def /brace527 {<54> show} def
+/brace528 {<55> show} def /brace529 {<56> show} def /brace530 {<57> show} def
+/brace531 {<58> show} def /brace532 {<59> show} def /brace533 {<5a> show} def
+/brace534 {<5b> show} def /brace535 {<5c> show} def /brace536 {<5d> show} def
+/brace537 {<5e> show} def /brace538 {<5f> show} def /brace539 {<60> show} def
+/brace540 {<61> show} def /brace541 {<62> show} def /brace542 {<63> show} def
+/brace543 {<64> show} def /brace544 {<65> show} def /brace545 {<66> show} def
+/brace546 {<67> show} def /brace547 {<68> show} def /brace548 {<69> show} def
+/brace549 {<6a> show} def /brace550 {<6b> show} def /brace551 {<6c> show} def
+/brace552 {<6d> show} def /brace553 {<6e> show} def /brace554 {<6f> show} def
+/brace555 {<70> show} def /brace556 {<71> show} def /brace557 {<72> show} def
+/brace558 {<73> show} def /brace559 {<74> show} def /brace560 {<75> show} def
+/brace561 {<76> show} def /brace562 {<77> show} def /brace563 {<78> show} def
+/brace564 {<79> show} def /brace565 {<7a> show} def /brace566 {<7b> show} def
+/brace567 {<7c> show} def /brace568 {<7d> show} def /brace569 {<7e> show} def
+/brace570 {<7f> show} def /brace571 {<80> show} def /brace572 {<81> show} def
+/brace573 {<82> show} def /brace574 {<83> show} def /brace575 {<84> show} def
+
+FontDirectory /Emmentaler-Brace known {
+  /Emmentaler-Brace findfont dup length dict copy begin /Encoding BracesNEncoding def
+  /Emmentaler-Brace-N currentdict definefont pop end
+  /Emmentaler-Brace findfont dup length dict copy begin /Encoding BracesSEncoding def
+  /Emmentaler-Brace-S currentdict definefont pop end
+  /Emmentaler-Brace findfont dup length dict copy begin /Encoding BracesOEncoding def
+  /Emmentaler-Brace-O currentdict definefont pop end
+} if
+
+FontDirectory /Emmentaler-11 known {
+  /Emmentaler-11 findfont dup length dict copy begin /Encoding LilyNoteHeadEncoding def
+  /Emmentaler-11-N currentdict definefont pop end
+  /Emmentaler-11 findfont dup length dict copy begin /Encoding LilyScriptEncoding def
+  /Emmentaler-11-S currentdict definefont pop end
+  /Emmentaler-11 findfont dup length dict copy begin /Encoding LilyOtherEncoding def
+  /Emmentaler-11-O currentdict definefont pop end
+} if
+
+FontDirectory /Emmentaler-13 known {
+  /Emmentaler-13 findfont dup length dict copy begin /Encoding LilyNoteHeadEncoding def
+  /Emmentaler-13-N currentdict definefont pop end
+  /Emmentaler-13 findfont dup length dict copy begin /Encoding LilyScriptEncoding def
+  /Emmentaler-13-S currentdict definefont pop end
+  /Emmentaler-13 findfont dup length dict copy begin /Encoding LilyOtherEncoding def
+  /Emmentaler-13-O currentdict definefont pop end
+} if
+
+FontDirectory /Emmentaler-14 known {
+  /Emmentaler-14 findfont dup length dict copy begin /Encoding LilyNoteHeadEncoding def
+  /Emmentaler-14-N currentdict definefont pop end
+  /Emmentaler-14 findfont dup length dict copy begin /Encoding LilyScriptEncoding def
+  /Emmentaler-14-S currentdict definefont pop end
+  /Emmentaler-14 findfont dup length dict copy begin /Encoding LilyOtherEncoding def
+  /Emmentaler-14-O currentdict definefont pop end
+} if
+
+FontDirectory /Emmentaler-16 known {
+  /Emmentaler-16 findfont dup length dict copy begin /Encoding LilyNoteHeadEncoding def
+  /Emmentaler-16-N currentdict definefont pop end
+  /Emmentaler-16 findfont dup length dict copy begin /Encoding LilyScriptEncoding def
+  /Emmentaler-16-S currentdict definefont pop end
+  /Emmentaler-16 findfont dup length dict copy begin /Encoding LilyOtherEncoding def
+  /Emmentaler-16-O currentdict definefont pop end
+} if
+
+FontDirectory /Emmentaler-18 known {
+  /Emmentaler-18 findfont dup length dict copy begin /Encoding LilyNoteHeadEncoding def
+  /Emmentaler-18-N currentdict definefont pop end
+  /Emmentaler-18 findfont dup length dict copy begin /Encoding LilyScriptEncoding def
+  /Emmentaler-18-S currentdict definefont pop end
+  /Emmentaler-18 findfont dup length dict copy begin /Encoding LilyOtherEncoding def
+  /Emmentaler-18-O currentdict definefont pop end
+} if
+
+FontDirectory /Emmentaler-20 known {
+  /Emmentaler-20 findfont dup length dict copy begin /Encoding LilyNoteHeadEncoding def
+  /Emmentaler-20-N currentdict definefont pop end
+  /Emmentaler-20 findfont dup length dict copy begin /Encoding LilyScriptEncoding def
+  /Emmentaler-20-S currentdict definefont pop end
+  /Emmentaler-20 findfont dup length dict copy begin /Encoding LilyOtherEncoding def
+  /Emmentaler-20-O currentdict definefont pop end
+} if
+
+FontDirectory /Emmentaler-23 known {
+  /Emmentaler-23 findfont dup length dict copy begin /Encoding LilyNoteHeadEncoding def
+  /Emmentaler-23-N currentdict definefont pop end
+  /Emmentaler-23 findfont dup length dict copy begin /Encoding LilyScriptEncoding def
+  /Emmentaler-23-S currentdict definefont pop end
+  /Emmentaler-23 findfont dup length dict copy begin /Encoding LilyOtherEncoding def
+  /Emmentaler-23-O currentdict definefont pop end
+} if
+
+FontDirectory /Emmentaler-26 known {
+  /Emmentaler-26 findfont dup length dict copy begin /Encoding LilyNoteHeadEncoding def
+  /Emmentaler-26-N currentdict definefont pop end
+  /Emmentaler-26 findfont dup length dict copy begin /Encoding LilyScriptEncoding def
+  /Emmentaler-26-S currentdict definefont pop end
+  /Emmentaler-26 findfont dup length dict copy begin /Encoding LilyOtherEncoding def
+  /Emmentaler-26-O currentdict definefont pop end
+} if
+
+% end encodingdefs.ps
diff --git a/scm/backend-library.scm b/scm/backend-library.scm
index b0007e6..3a70c5c 100644
--- a/scm/backend-library.scm
+++ b/scm/backend-library.scm
@@ -82,6 +82,7 @@
                    "-dNOPAUSE"
                    "-dBATCH"
                    "-r1200"
+                   (if (ly:bigpdfs) "-dSubsetFonts=false")
                    "-sDEVICE=pdfwrite"
                    (string-append "-sOutputFile="
                                   (string-join
diff --git a/scm/framework-ps.scm b/scm/framework-ps.scm
index c6e8eb7..9e2b752 100644
--- a/scm/framework-ps.scm
+++ b/scm/framework-ps.scm
@@ -52,11 +52,32 @@
   "")
 
 (define (ps-define-font font font-name scaling)
-  (string-append
-   "/" (ps-font-command font)
-   " { /" font-name
-   " " (ly:number->string scaling) " output-scale div selectfont }"
-   " bind def\n"))
+  (if (ly:bigpdfs)
+      (string-append
+       "/" (ps-font-command font) "-N"
+       " { /" font-name "-N"
+       " " (ly:number->string scaling) " output-scale div selectfont }"
+       " bind def\n"
+       "/" (ps-font-command font) "-S"
+       " { /" font-name "-S"
+       " " (ly:number->string scaling) " output-scale div selectfont }"
+       " bind def\n"
+       "/" (ps-font-command font) "-O"
+       " { /" font-name "-O"
+       " " (ly:number->string scaling) " output-scale div selectfont }"
+       " bind def\n"
+       "/help" font-name " {\n  gsave\n  1 setgray\n  /"
+       font-name "-N"
+       " 0.001 selectfont 0 0 moveto <01> show\n  /"
+       font-name "-S"
+       " 0.001 selectfont 0 0 moveto <01> show\n  /"
+       font-name "-O"
+       " 0.001 selectfont 0 0 moveto <01> show\n  grestore\n} def\n")
+      (string-append
+       "/" (ps-font-command font)
+       " { /" font-name
+       " " (ly:number->string scaling) " output-scale div selectfont }"
+       " bind def\n")))
 
 ;; FIXME: duplicated in other output backends
 ;; FIXME: silly interface name
@@ -99,7 +120,16 @@
         "")
     "%%EndPageSetup\n"
     "\n"
-    "gsave 0 paper-height translate set-ps-scale-to-lily-scale\n"))
+    "gsave 0 paper-height translate set-ps-scale-to-lily-scale\n"
+    "/helpEmmentaler-Brace where {pop helpEmmentaler-Brace} if\n"
+    "/helpEmmentaler-11 where {pop helpEmmentaler-11} if\n"
+    "/helpEmmentaler-13 where {pop helpEmmentaler-13} if\n"
+    "/helpEmmentaler-14 where {pop helpEmmentaler-14} if\n"
+    "/helpEmmentaler-16 where {pop helpEmmentaler-16} if\n"
+    "/helpEmmentaler-18 where {pop helpEmmentaler-18} if\n"
+    "/helpEmmentaler-20 where {pop helpEmmentaler-20} if\n"
+    "/helpEmmentaler-23 where {pop helpEmmentaler-23} if\n"
+    "/helpEmmentaler-26 where {pop helpEmmentaler-26} if\n"))
   (ly:outputter-dump-stencil outputter page)
   (ly:outputter-dump-string outputter "stroke grestore\nshowpage\n"))
 
@@ -392,6 +422,8 @@
                   (display (cdr f) port)
                   (display "%%EndFont\n" port))
                 (load-fonts paper)))
+  (if (ly:bigpdfs)
+      (display (procset "encodingdefs.ps") port))
   (display (setup-variables paper) port)
 
   ;; adobe note 5002: should initialize variables before loading routines.
@@ -542,6 +574,15 @@
     (write-preamble paper load-fonts port)
     (display "/mark_page_link { pop pop pop pop pop } bind def\n" port)
     (display "gsave set-ps-scale-to-lily-scale\n" port)
+    (display "/helpEmmentaler-Brace where {pop helpEmmentaler-Brace} if\n" port)
+    (display "/helpEmmentaler-11 where {pop helpEmmentaler-11} if\n" port)
+    (display "/helpEmmentaler-13 where {pop helpEmmentaler-13} if\n" port)
+    (display "/helpEmmentaler-14 where {pop helpEmmentaler-14} if\n" port)
+    (display "/helpEmmentaler-16 where {pop helpEmmentaler-16} if\n" port)
+    (display "/helpEmmentaler-18 where {pop helpEmmentaler-18} if\n" port)
+    (display "/helpEmmentaler-20 where {pop helpEmmentaler-20} if\n" port)
+    (display "/helpEmmentaler-23 where {pop helpEmmentaler-23} if\n" port)
+    (display "/helpEmmentaler-26 where {pop helpEmmentaler-26} if\n" port)
     (ly:outputter-dump-stencil outputter dump-me)
     (display "stroke grestore\n%%Trailer\n%%EOF\n" port)
     (ly:outputter-close outputter)))
diff --git a/scm/output-ps.scm b/scm/output-ps.scm
index 45ef4e9..fa9c525 100644
--- a/scm/output-ps.scm
+++ b/scm/output-ps.scm
@@ -117,28 +117,30 @@
                       size
                       cid?
                       w-x-y-named-glyphs)
-
   (define (glyph-spec w h x y g) ; h not used
     (let ((prefix (if (string? g) "/" "")))
-      (ly:format "~4f ~4f ~4f ~a~a"
-                 w x y
-                 prefix g)))
-
-  (ly:format
-   (if cid?
-       "/~a /CIDFont findresource ~a output-scale div scalefont setfont
-~a
-~a print_glyphs"
-
-       "/~a ~a output-scale div selectfont
-~a
-~a print_glyphs")
-   postscript-font-name
-   size
-   (string-join (map (lambda (x) (apply glyph-spec x))
-                     (reverse w-x-y-named-glyphs)) "\n")
-   (length w-x-y-named-glyphs)))
-
+      (ly:format "~4f ~4f ~4f ~a~a" w x y prefix g)))
+  (define (emglyph-spec w h x y g) ; h not used
+     (if (and (= x 0) (= y 0))
+         (ly:format "currentpoint ~a moveto ~4f 0 rmoveto" g w)
+         (ly:format "currentpoint ~4f ~4f rmoveto ~a moveto ~4f 0 rmoveto" x y g w)))
+  (if cid?
+     (ly:format
+         "/~a /CIDFont findresource ~a output-scale div scalefont setfont\n~a\n~a print_glyphs"
+         postscript-font-name size
+         (string-join (map (lambda (x) (apply glyph-spec x))
+                           (reverse w-x-y-named-glyphs)) "\n")
+         (length w-x-y-named-glyphs))
+     (if (and (ly:bigpdfs) (string-startswith postscript-font-name "Emmentaler"))
+         (ly:format "/~a-O ~a output-scale div selectfont\n~a"
+          postscript-font-name size
+          (string-join (map (lambda (x) (apply emglyph-spec x))
+          w-x-y-named-glyphs) "\n"))
+         (ly:format "/~a ~a output-scale div selectfont\n~a\n~a print_glyphs"
+          postscript-font-name size
+          (string-join (map (lambda (x) (apply glyph-spec x))
+                            (reverse w-x-y-named-glyphs)) "\n")
+          (length w-x-y-named-glyphs)))))
 
 (define (grob-cause offset grob)
   (if (ly:get-option 'point-and-click)
@@ -183,9 +185,19 @@
       ""))
 
 (define (named-glyph font glyph)
-  (ly:format "~a /~a glyphshow " ;;Why is there a space at the end?
-             (ps-font-command font)
-             glyph))
+  (if (and (ly:bigpdfs) (string-startswith (ly:font-file-name font) "emmentaler"))
+      (if (string-endswith (ly:font-file-name font)"-brace")
+          (if (or (string-startswith glyph "brace1") (string-startswith glyph "brace2"))
+              (ly:format "~a ~a" (string-append (ps-font-command font) "-N" ) glyph)
+              (if (or (string-startswith glyph "brace3") (string-startswith glyph "brace4"))
+                  (ly:format "~a ~a" (string-append (ps-font-command font) "-S" ) glyph)
+                  (ly:format "~a ~a" (string-append (ps-font-command font) "-O" ) glyph)))
+          (if (string-startswith glyph "noteheads")
+              (ly:format "~a ~a" (string-append (ps-font-command font) "-N" ) glyph)
+              (if (or (string-startswith glyph "scripts") (string-startswith glyph "clefs"))
+                  (ly:format "~a ~a" (string-append (ps-font-command font) "-S" ) glyph)
+                  (ly:format "~a ~a" (string-append (ps-font-command font) "-O" ) glyph))))
+      (ly:format "~a /~a glyphshow" (ps-font-command font) glyph)))
 
 (define (no-origin)
   "")
-- 
1.8.4.5

_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to