X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=tex%2Flily-ps-defs.tex;h=80bf79c97d7bd27eb2226b2c8abbdb917c992601;hb=384535022cc02a63f5c6c9ff6033cb189b6f6ad1;hp=9b0ed425a54167bd9bd607b2f59cf58793ee77ac;hpb=1bdf3db27451a0873b2c97545f0beab2f5cce06a;p=lilypond.git diff --git a/tex/lily-ps-defs.tex b/tex/lily-ps-defs.tex index 9b0ed425a5..80bf79c97d 100644 --- a/tex/lily-ps-defs.tex +++ b/tex/lily-ps-defs.tex @@ -3,146 +3,25 @@ % transformed into \par % -% -% Should put in a lily-ps.ps header? -% -% - % % header info (macros/defs, etc) should go into a \special{! ... }, % note the ! sign. See dvips.info for details. % - -% Use of -% /foo { operatorname } bind def +% escape the colon with \string to avoid problems with french babel % -% ``compiles'' operatorname binding in the body of foo, making -% the code faster, and more reliable (less flexible) - - -% transplant a TeX dimension into the PS output. -\def\PSsetTeXdimen#1{\expandafter\special{! /#1 (\the\csname #1\endcsname) deftexdimen}} - -\def\turnOnPostScript{ -\def\embeddedps##1{% +\def\PSsetTeXdimen#1{\expandafter\special{! /#1 (\csname #1\endcsname) set_tex_dimen}} +\def\lilySpace{ } +\def\turnOnPostScript{% % This sets CTM so that you get to the currentpoint % by executing a 0 0 moveto - \special{ps: @beginspecial @setspecial ##1 @endspecial} -} - -% -% width, slope, height -% -\special{! % round cappings -1 setlinecap -/draw_beam -{ - /beam_thick exch def - /beam_slope exch def - /beam_wd exch def - beam_slope beam_wd mul /beam_ht exch def - 0 0 moveto - beam_wd beam_ht rlineto - 0 beam_thick rlineto - 0 beam_thick lineto - closepath fill -} bind def -% PS helper: convert (0.2pt) to the token 0.2 -/settexdimen { /thestring exch def - thestring 0 thestring length 2 sub - getinterval - token - pop exch pop } -def -% -/deftexdimen { - settexdimen - def -} def -} - - -\PSsetTeXdimen{staffrulethickness} -\PSsetTeXdimen{staffheight} -\special{! % -/draw_decresc - { - staffrulethickness setlinewidth - /cresc_cont exch def - /cresc_ht exch def - /cresc_wd exch def -% - cresc_wd cresc_cont moveto - 0 cresc_ht lineto - stroke - cresc_wd cresc_cont neg moveto - 0 cresc_ht neg lineto - stroke - } - bind def - /draw_cresc - { - /cresc_cont exch def - /cresc_ht exch def - /cresc_wd exch def -% - 0 cresc_cont moveto - cresc_wd cresc_ht lineto - stroke - 0 cresc_cont neg moveto - cresc_wd cresc_ht neg lineto - stroke + \def\embeddedps##1{% + \special{ps\string: @beginspecial @setspecial + \lilypondpaperoutputscale\lilySpace\scaletounit + \lilypondpaperoutputscale\lilySpace\scaletounit + % FUCKING REDHAT XDVI -- ARG! + skeel ##1 @endspecial}% } - bind def - /lily_distance { - 1 copy mul exch 1 copy mul add sqrt - } bind def - staffheight 2 div - /slurhtlimit exch def - /slurratio 0.3333 def - % - % (b*ratio)/(1 + b / htlimit) - /getslurcontrol - { - slurhtlimit 90 div /slur_alpha exch def - slurratio 60 div slur_alpha div /slur_beta exch def - slur_beta mul 1 atan slur_alpha mul - } bind def - staffrulethickness 1.5 mul /slur_thick exch def - /draw_slur - { - staffrulethickness setlinewidth - 0 0 moveto - /slur_dir exch def - /slur_dy exch def - /slur_dx exch def - slur_dy slur_dx lily_distance /slur_b exch def - slur_b getslurcontrol - slur_dir mul /slur_ht exch def - slur_b getslurcontrol /slur_indent exch def -% - slur_dy slur_dx atan rotate - slur_indent slur_ht - slur_b slur_indent sub slur_ht - slur_b 0 - % pstack - rcurveto - % - slur_indent neg slur_ht slur_dir slur_thick mul sub - slur_indent slur_b sub slur_ht slur_dir slur_thick mul sub - slur_b neg 0 - rcurveto - % - gsave - fill - grestore - stroke - } bind def}} - - - + \PSsetTeXdimen{lilypondpaperblotdiameter} +} +\def\turnOnExperimentalFeatures{} -\def\turnOnExperimentalFeatures{ -% draw a slur in embedded postscript -\special{ps: -}}