-% ARG. Fix brackets
-\def\turnOnPostScript{%
- % This sets CTM so that you get to the currentpoint
- % by executing a 0 0 moveto
- \def\embeddedps##1{%
- \special{ps: @beginspecial @setspecial ##1 @endspecial}
- }
- %
- \special{!
-/stafflinethickness \mudelapaperstafflinethickness\space def
-/interline \mudelapaperinterline\space def
-interline 3 div /bracket_b exch def
-interline 2 mul /bracket_w exch def
-stafflinethickness 2 mul /bracket_t exch def
-interline 1.5 mul /bracket_v exch def
-bracket_v /bracket_u exch def
-50 /bracket_alpha exch def
-1 setlinecap}
+\gdef\lilypondpostscript{
+ % A document processed with lilypond-book can contain music fragments in
+ % different sizes. To reduce overhead, we define `lyscaleXXX' PS macros
+ % only once.
+ \lilypondifundefined{lyscale\lilypondpaperoutputscale}
+ {
+ \expandafter\gdef\csname lyscale\lilypondpaperoutputscale\endcsname{}
+ % This sets CTM so that you get to the currentpoint
+ % by executing a 0 0 moveto
+ \special{
+ \string!
+ /lyscale\lilypondpaperoutputscale
+ {\lilypondpaperoutputscale\lilypondspace\scaletounit %
+ dup scale} def
+ }
+ }
+ {}
+
+ \def\embeddedps##1{
+ \special{
+ \string"
+ lyscale\lilypondpaperoutputscale\lilypondspace ##1}
+ }