The attached patch (against 2.18.2) changes the way lilypond
uses fonts to draw glyphs.

It avoids to used glyphshow for all emmentaler glyphs and
adds encoding vectors to the emmentaler fonts before they
are used. It also changes the ghostscript parameters used
to generate pdfs from postscript code.

These changes help to reduce pdf file sizes if you include
lilypond snippets in *TeX documents. The pdfs generated by
a patched lilypond and *tex themselves are _much_ bigger,
but if you run ghostscript and pdfsizeopt.py on those
files they implode.

As this patch changes only very low-level routines it should
be invisible to the lilypond user interface. But links from other
pdfs into the processed files are broken. Changing this would
require a major extension of ghostscript.

I think if the discussion in this list shows that this code is
regarded to be usefull, a command line parameter should
be added to lilypond to enable these changes only on user
request. If you don't include lilypond pdfs in *TeX documents
you don't need it and you don't want it.

I don't know scheme well, so somebody should have a close
look at the code. Probably it looks ugly and inefficient to an
experienced scheme programmer.

notation.pdf is a good test object:

file size in bytes / comment
============================
 27.171.654 original 2.18.2 notation.pdf (3442 fonts)
 20.074.736 original 2.18.2 notation.pdf + pdfsizeopt.py (completely broken pdf)
 23.644.317 original 2.18.2 notation.pdf + ghostscript (1737 fonts)
 19.979.555 original 2.18.2 notation.pdf + ghostscript + pdfsizeopt (1736 fonts)
127.676.999 patched 2.18.2 notation.pdf (3458 fonts)
---.---.--- patched 2.18.2 notation.pdf + pdfsizeopt.py (pdfsizeopt aborts with 
error)
  5.953.377 patched 2.18.2 notation.pdf + ghostscript (69 fonts)
  4.307.825 patched 2.18.2 notation.pdf + ghostscript + pdfsizeopt (69 fonts)

+ ghostscript means:
====================
gs -dNOPAUSE -dBATCH -q -r1200 -sDEVICE=pdfwrite -o outfile.pdf infile.pdf

+ pdfsizeopt means:
===================
pdfsizeopt.py --use-multivalent=false infile.pdf

Comments:
=========
- pdfsizeopt.py is neither capable to process the notation.pdf from 2.18.2 nor 
the
  notation.pdf generated by the patched version of lilypond correctly.
- ghostscript up to version 9.14 breaks internal and external links.
- ghostscript 9.15 produces an invalid but readable pdf whenever it
  processes an external link (GoToR)
- ghostscript git master preserves external and internal links
- processing of links in ghostscript git master exposes a bug in evince,
  external links are broken in that program as a result.
- link targets in files processed by ghostscript git master are lost.

cu,
 Knut
diff --git a/ps/encodingdefs.ps b/ps/encodingdefs.ps
new file mode 100644
index 0000000..eabfd35
--- /dev/null
+++ b/ps/encodingdefs.ps
@@ -0,0 +1,746 @@
+%!PS-Adobe-2.0: encodingdefs.ps
+
+%
+% Custom encodings and definitions for emmentaler-[[:digit:]]* fonts
+%
+
+/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
+] def
+
+/LilyScriptEncoding [ /.notdef /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 /.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
+
+/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 /clefs.blackmensural.c
+/clefs.blackmensural.c_change /clefs.C /clefs.C_change /clefs.F /clefs.F_change /clefs.G
+/clefs.G_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.vaticana.do /clefs.vaticana.do_change /clefs.vaticana.fa
+/clefs.vaticana.fa_change /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.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
+] 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
+
+/scripts.arpeggio {<01> show} def /scripts.arpeggio.arrow.1 {<02> show} def
+/scripts.arpeggio.arrow.M1 {<03> show} def /scripts.augmentum {<04> show} def
+/scripts.barline.kievan {<05> show} def /scripts.caesura.curved {<06> show} def
+/scripts.caesura.straight {<07> show} def /scripts.circulus {<08> show} def
+/scripts.coda {<09> show} def /scripts.daccentus {<0a> show} def
+/scripts.dfermata {<0b> show} def /scripts.dlongfermata {<0c> show} def
+/scripts.dmarcato {<0d> show} def /scripts.downbow {<0e> show} def
+/scripts.downmordent {<0f> show} def /scripts.downprall {<10> show} def
+/scripts.dpedalheel {<11> show} def /scripts.dpedaltoe {<12> show} def
+/scripts.dportato {<13> show} def /scripts.dsemicirculus {<14> show} def
+/scripts.dshortfermata {<15> show} def /scripts.dsignumcongruentiae {<16> show} def
+/scripts.dstaccatissimo {<17> show} def /scripts.dverylongfermata {<18> show} def
+/scripts.espr {<19> show} def /scripts.flageolet {<1a> show} def
+/scripts.halfopen {<1b> show} def /scripts.halfopenvertical {<1c> show} def
+/scripts.ictus {<1d> show} def /scripts.lcomma {<1e> show} def
+/scripts.lineprall {<1f> show} def /scripts.lvarcomma {<20> show} def
+/scripts.mordent {<21> show} def /scripts.open {<22> show} def
+/scripts.prall {<23> show} def /scripts.pralldown {<24> show} def
+/scripts.prallmordent {<25> show} def /scripts.prallprall {<26> show} def
+/scripts.prallup {<27> show} def /scripts.rcomma {<28> show} def
+/scripts.reverseturn {<29> show} def /scripts.rvarcomma {<2a> show} def
+/scripts.segno {<2b> show} def /scripts.sforzato {<2c> show} def
+/scripts.snappizzicato {<2d> show} def /scripts.staccato {<2e> show} def
+/scripts.stopped {<2f> show} def /scripts.tenuto {<30> show} def
+/scripts.thumb {<31> show} def /scripts.tickmark {<32> show} def
+/scripts.trilelement {<33> show} def /scripts.trill {<34> show} def
+/scripts.trill_element {<35> show} def /scripts.turn {<36> show} def
+/scripts.uaccentus {<37> show} def /scripts.ufermata {<38> show} def
+/scripts.ulongfermata {<39> show} def /scripts.umarcato {<3a> show} def
+/scripts.upbow {<3b> show} def /scripts.upedalheel {<3c> show} def
+/scripts.upedaltoe {<3d> show} def /scripts.upmordent {<3e> show} def
+/scripts.uportato {<3f> show} def /scripts.upprall {<40> show} def
+/scripts.usemicirculus {<41> show} def /scripts.ushortfermata {<42> show} def
+/scripts.usignumcongruentiae {<43> show} def /scripts.ustaccatissimo {<44> show} def
+/scripts.uverylongfermata {<45> show} def /scripts.varcoda {<46> show} def
+/scripts.varsegno {<47> show} 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 /clefs.blackmensural.c {<35> show} def
+/clefs.blackmensural.c_change {<36> show} def /clefs.C {<37> show} def
+/clefs.C_change {<38> show} def /clefs.F {<39> show} def
+/clefs.F_change {<3a> show} def /clefs.G {<3b> show} def
+/clefs.G_change {<3c> show} def /clefs.hufnagel.do {<3d> show} def
+/clefs.hufnagel.do_change {<3e> show} def /clefs.hufnagel.do.fa {<3f> show} def
+/clefs.hufnagel.do.fa_change {<40> show} def /clefs.hufnagel.fa {<41> show} def
+/clefs.hufnagel.fa_change {<42> show} def /clefs.kievan.do {<43> show} def
+/clefs.kievan.do_change {<44> show} def /clefs.medicaea.do {<45> show} def
+/clefs.medicaea.do_change {<46> show} def /clefs.medicaea.fa {<47> show} def
+/clefs.medicaea.fa_change {<48> show} def /clefs.mensural.c {<49> show} def
+/clefs.mensural.c_change {<4a> show} def /clefs.mensural.f {<4b> show} def
+/clefs.mensural.f_change {<4c> show} def /clefs.mensural.g {<4d> show} def
+/clefs.mensural.g_change {<4e> show} def /clefs.neomensural.c {<4f> show} def
+/clefs.neomensural.c_change {<50> show} def /clefs.percussion {<51> show} def
+/clefs.percussion_change {<52> show} def /clefs.petrucci.c1 {<53> show} def
+/clefs.petrucci.c1_change {<54> show} def /clefs.petrucci.c2 {<55> show} def
+/clefs.petrucci.c2_change {<56> show} def /clefs.petrucci.c3 {<57> show} def
+/clefs.petrucci.c3_change {<58> show} def /clefs.petrucci.c4 {<59> show} def
+/clefs.petrucci.c4_change {<5a> show} def /clefs.petrucci.c5 {<5b> show} def
+/clefs.petrucci.c5_change {<5c> show} def /clefs.petrucci.f {<5d> show} def
+/clefs.petrucci.f_change {<5e> show} def /clefs.petrucci.g {<5f> show} def
+/clefs.petrucci.g_change {<60> show} def /clefs.tab {<61> show} def
+/clefs.tab_change {<62> show} def /clefs.vaticana.do {<63> show} def
+/clefs.vaticana.do_change {<64> show} def /clefs.vaticana.fa {<65> show} def
+/clefs.vaticana.fa_change {<66> show} def /comma {<67> show} def
+/custodes.hufnagel.d0 {<68> show} def /custodes.hufnagel.d1 {<69> show} def
+/custodes.hufnagel.d2 {<6a> show} def /custodes.hufnagel.u0 {<6b> show} def
+/custodes.hufnagel.u1 {<6c> show} def /custodes.hufnagel.u2 {<6d> show} def
+/custodes.medicaea.d0 {<6e> show} def /custodes.medicaea.d1 {<6f> show} def
+/custodes.medicaea.d2 {<70> show} def /custodes.medicaea.u0 {<71> show} def
+/custodes.medicaea.u1 {<72> show} def /custodes.medicaea.u2 {<73> show} def
+/custodes.mensural.d0 {<74> show} def /custodes.mensural.d1 {<75> show} def
+/custodes.mensural.d2 {<76> show} def /custodes.mensural.u0 {<77> show} def
+/custodes.mensural.u1 {<78> show} def /custodes.mensural.u2 {<79> show} def
+/custodes.vaticana.d0 {<7a> show} def /custodes.vaticana.d1 {<7b> show} def
+/custodes.vaticana.d2 {<7c> show} def /custodes.vaticana.u0 {<7d> show} def
+/custodes.vaticana.u1 {<7e> show} def /custodes.vaticana.u2 {<7f> show} def
+/dots.dot {<80> show} def /dots.dotkievan {<81> show} def
+/dots.dotvaticana {<82> show} def /eight {<83> show} def
+/f {<84> show} def /five {<85> show} def
+/flags.d3 {<86> show} def /flags.d4 {<87> show} def
+/flags.d5 {<88> show} def /flags.d6 {<89> show} def
+/flags.d7 {<8a> show} def /flags.dgrace {<8b> show} def
+/flags.mensurald03 {<8c> show} def /flags.mensurald04 {<8d> show} def
+/flags.mensurald05 {<8e> show} def /flags.mensurald06 {<8f> show} def
+/flags.mensurald13 {<90> show} def /flags.mensurald14 {<91> show} def
+/flags.mensurald15 {<92> show} def /flags.mensurald16 {<93> show} def
+/flags.mensurald23 {<94> show} def /flags.mensurald24 {<95> show} def
+/flags.mensurald25 {<96> show} def /flags.mensurald26 {<97> show} def
+/flags.mensuralu03 {<98> show} def /flags.mensuralu04 {<99> show} def
+/flags.mensuralu05 {<9a> show} def /flags.mensuralu06 {<9b> show} def
+/flags.mensuralu13 {<9c> show} def /flags.mensuralu14 {<9d> show} def
+/flags.mensuralu15 {<9e> show} def /flags.mensuralu16 {<9f> show} def
+/flags.mensuralu23 {<a0> show} def /flags.mensuralu24 {<a1> show} def
+/flags.mensuralu25 {<a2> show} def /flags.mensuralu26 {<a3> show} def
+/flags.u3 {<a4> show} def /flags.u4 {<a5> show} def
+/flags.u5 {<a6> show} def /flags.u6 {<a7> show} def
+/flags.u7 {<a8> show} def /flags.ugrace {<a9> show} def
+/four {<aa> show} def /hyphen {<ab> show} def
+/m {<ac> show} def /nine {<ad> show} def
+/one {<ae> show} def /p {<af> show} def
+/pedal.. {<b0> show} def /pedal.* {<b1> show} def
+/pedal.d {<b2> show} def /pedal.e {<b3> show} def
+/pedal.M {<b4> show} def /pedal.P {<b5> show} def
+/pedal.Ped {<b6> show} def /period {<b7> show} def
+/plus {<b8> show} def /r {<b9> show} def
+/rests.0 {<ba> show} def /rests.0mensural {<bb> show} def
+/rests.0neomensural {<bc> show} def /rests.0o {<bd> show} def
+/rests.1 {<be> show} def /rests.1mensural {<bf> show} def
+/rests.1neomensural {<c0> show} def /rests.1o {<c1> show} def
+/rests.2 {<c2> show} def /rests.2classical {<c3> show} def
+/rests.2mensural {<c4> show} def /rests.2neomensural {<c5> show} def
+/rests.3 {<c6> show} def /rests.3mensural {<c7> show} def
+/rests.3neomensural {<c8> show} def /rests.4 {<c9> show} def
+/rests.4mensural {<ca> show} def /rests.4neomensural {<cb> show} def
+/rests.5 {<cc> show} def /rests.6 {<cd> show} def
+/rests.7 {<ce> show} def /rests.M1 {<cf> show} def
+/rests.M1mensural {<d0> show} def /rests.M1neomensural {<d1> show} def
+/rests.M1o {<d2> show} def /rests.M2 {<d3> show} def
+/rests.M2mensural {<d4> show} def /rests.M2neomensural {<d5> show} def
+/rests.M3 {<d6> show} def /rests.M3mensural {<d7> show} def
+/rests.M3neomensural {<d8> show} def /s {<d9> show} def
+/seven {<da> show} def /six {<db> show} def
+/space {<dc> show} def /three {<dd> show} def
+/ties.lyric.default {<de> show} def /ties.lyric.short {<df> show} def
+/timesig.C22 {<e0> show} def /timesig.C44 {<e1> show} def
+/timesig.mensural22 {<e2> show} def /timesig.mensural24 {<e3> show} def
+/timesig.mensural32 {<e4> show} def /timesig.mensural34 {<e5> show} def
+/timesig.mensural44 {<e6> show} def /timesig.mensural48 {<e7> show} def
+/timesig.mensural64 {<e8> show} def /timesig.mensural68 {<e9> show} def
+/timesig.mensural68alt {<ea> show} def /timesig.mensural94 {<eb> show} def
+/timesig.mensural98 {<ec> show} def /timesig.neomensural22 {<ed> show} def
+/timesig.neomensural24 {<ee> show} def /timesig.neomensural32 {<ef> show} def
+/timesig.neomensural34 {<f0> show} def /timesig.neomensural44 {<f1> show} def
+/timesig.neomensural48 {<f2> show} def /timesig.neomensural64 {<f3> show} def
+/timesig.neomensural68 {<f4> show} def /timesig.neomensural68alt {<f5> show} def
+/timesig.neomensural94 {<f6> show} def /timesig.neomensural98 {<f7> show} def
+/two {<f8> show} def /z {<f9> show} def /zero {<fa> show} def
+
+%
+% Custom encodings and definitions for the emmentaler-brace font
+%
+/BracesAEncoding [ /.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
+
+/BracesBEncoding [ /.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
+
+/BracesCEncoding [ /.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
+
+/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
+
+/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
+
+/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
+
+% end encodingdefs.ps
diff --git a/scm/backend-library.scm b/scm/backend-library.scm
index a167718..f91491f 100644
--- a/scm/backend-library.scm
+++ b/scm/backend-library.scm
@@ -82,6 +82,7 @@
                    "-dNOPAUSE"
                    "-dBATCH"
                    "-r1200"
+                   "-dSubsetFonts=false"
                    "-sDEVICE=pdfwrite"
                    (string-append "-sOutputFile="
                                   (string-join
diff --git a/scm/framework-ps.scm b/scm/framework-ps.scm
index bb7dc55..4076b80 100644
--- a/scm/framework-ps.scm
+++ b/scm/framework-ps.scm
@@ -52,11 +52,66 @@
   "")
 
 (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 (string=? "Emmentaler-Brace" font-name)
+      (string-append
+       "/" font-name " findfont dup length dict copy begin "
+       "/Encoding BracesAEncoding def "
+       "/" font-name "-A currentdict definefont pop end\n"
+       "/" font-name " findfont dup length dict copy begin "
+       "/Encoding BracesBEncoding def "
+       "/" font-name "-B currentdict definefont pop end\n"
+       "/" font-name " findfont dup length dict copy begin "
+       "/Encoding BracesCEncoding def "
+       "/" font-name "-C currentdict definefont pop end\n"
+       "/" (ps-font-command font) "-A"
+       " { /" font-name "-A"
+       " " (ly:number->string scaling) " output-scale div selectfont }"
+       " bind def\n"
+       "/" (ps-font-command font) "-B"
+       " { /" font-name "-B"
+       " " (ly:number->string scaling) " output-scale div selectfont }"
+       " bind def\n"
+       "/" (ps-font-command font) "-C"
+       " { /" font-name "-C"
+       " " (ly:number->string scaling) " output-scale div selectfont }"
+       " bind def\n"
+       "/helpBgs {\n  gsave\n  1 setgray\n  /"
+       font-name "-A"
+       " 0.001 selectfont 0 0 moveto <01> show\n  /"
+       font-name "-B"
+       " 0.001 selectfont 0 0 moveto <01> show\n  /"
+       font-name "-C"
+       " 0.001 selectfont 0 0 moveto <01> show\n  grestore\n} def\n")
+      (string-append
+       "/" font-name " findfont dup length dict copy begin "
+       "/Encoding LilyNoteHeadEncoding def "
+       "/" font-name "-N currentdict definefont pop end\n"
+       "/" font-name " findfont dup length dict copy begin "
+       "/Encoding LilyScriptEncoding def "
+       "/" font-name "-S currentdict definefont pop end\n"
+       "/" font-name " findfont dup length dict copy begin "
+       "/Encoding LilyOtherEncoding def "
+       "/" font-name "-O currentdict definefont pop end\n"
+       "/" (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"
+       "/helpNgs {\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")
+))
 
 ;; FIXME: duplicated in other output backends
 ;; FIXME: silly interface name
@@ -99,7 +154,9 @@
         "")
     "%%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"
+    "/helpBgs where {pop helpBgs} {} ifelse\n"
+    "/helpNgs where {pop helpNgs} {} ifelse\n"))
   (ly:outputter-dump-stencil outputter page)
   (ly:outputter-dump-string outputter "stroke grestore\nshowpage\n"))
 
@@ -392,6 +449,7 @@
                   (display (cdr f) port)
                   (display "%%EndFont\n" port))
                 (load-fonts paper)))
+  (display (procset "encodingdefs.ps") port)
   (display (setup-variables paper) port)
 
   ;; adobe note 5002: should initialize variables before loading routines.
diff --git a/scm/output-ps.scm b/scm/output-ps.scm
index 813211f..c97b165 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 (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 (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) "-A" ) glyph)
+              (if (or (string-startswith glyph "brace3") (string-startswith glyph "brace4"))
+                  (ly:format "~a ~a" (string-append (ps-font-command font) "-B" ) glyph)
+                  (ly:format "~a ~a" (string-append (ps-font-command font) "-C" ) glyph)))
+          (if (string-startswith glyph "noteheads")
+              (ly:format "~a ~a" (string-append (ps-font-command font) "-N" ) glyph)
+              (if (string-startswith glyph "scripts")
+                  (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)
   "")
_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to