X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=tex%2Flily-ps-defs.tex;h=99a7e13c2cc83c882feb389c0f39d6d01b4421d6;hb=8ef3c0a1a21dfa4d86481130b9a61bbdd27d9e22;hp=7740d62496b6c4de9c193ac3e01bdfa5033eba9f;hpb=b4d5d1145b0d59ae1ac42c9bc9c43c6d5b055c1c;p=lilypond.git diff --git a/tex/lily-ps-defs.tex b/tex/lily-ps-defs.tex index 7740d62496..99a7e13c2c 100644 --- a/tex/lily-ps-defs.tex +++ b/tex/lily-ps-defs.tex @@ -3,11 +3,6 @@ % 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. @@ -19,216 +14,53 @@ % ``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{% - % 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 -{ - 2 div /beam_thick exch def - /beam_slope exch def - /beam_wd exch def - beam_slope beam_wd mul /beam_ht exch def - 0 beam_thick neg moveto - beam_wd beam_ht rlineto - 0 beam_thick 2 mul rlineto - 0 beam_thick lineto - closepath fill -} bind def +\special{! % PS helper: convert (0.2pt) to the token 0.2 -/settexdimen { /thestring exch def +/settexdimen +{ + /thestring exch def thestring 0 thestring length 2 sub getinterval token - pop exch pop } -def + pop exch pop +} def % -/deftexdimen { +/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 - { - staffrulethickness setlinewidth - /cresc_cont exch def - /cresc_ht exch def - /cresc_wd exch def -% - 0 cresc_cont moveto - cresc_wd cresc_ht lineto - stroke - 0 cresc_cont neg moveto - cresc_wd cresc_ht neg lineto - stroke - } - bind def - /lily_distance { - 1 copy mul exch 1 copy mul add sqrt - } bind def -staffrulethickness 1.2 mul /plet_t exch def -/draw_plet +% urg, no dvips.info over here... +%\special{! \input lily.ps } +\special{! +(lily.ps) findlibfile { - plet_t setlinewidth - true setstrokeadjust - 1 setlinecap - 1 setlinejoin - /dir exch def - /plet_dy exch def - /plet_dx exch def - staffheight 2 div /plet_gapx exch def - plet_dy plet_dx div plet_gapx mul /plet_gapy exch def - staffheight 4 div dir mul /plet_h exch def -% - 0 0 moveto - 0 plet_h lineto - plet_dx plet_gapx sub 2 div - plet_dy plet_gapy sub 2 div plet_h add lineto - plet_dx plet_gapx add 2 div - plet_dy plet_gapy add 2 div plet_h add moveto - plet_dx plet_dy plet_h add lineto - plet_dx plet_dy lineto - stroke -} bind def -% -/draw_slur -{ - staffrulethickness setlinewidth - moveto - curveto - lineto - curveto - gsave - fill - grestore - stroke -} bind def -% -/draw_dashed_slur -{ - 1 setlinecap - 1 setlinejoin - setdash - setlinewidth - moveto - curveto - stroke -} bind def -% -staffheight 4 div /interline exch def -% -/bracket_traject -{ - /traject_ds exch def - /traject_alpha exch def - traject_ds traject_alpha sin mul add - exch - traject_ds traject_alpha cos mul add - exch -} bind def -% -% too fat for 20pt -% interline 2 div /bracket_b exch def -interline 3 div /bracket_b exch def -interline 2 mul /bracket_w exch def -staffrulethickness /stafflinethickness 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 + exch pop //systemdict /run get exec +} +{ + /undefinedfilename signalerror +} ifelse +} % -/half_bracket -{ -%6 - 0 0 -%5a - bracket_b bracket_v add bracket_h bracket_t sub bracket_u add - bracket_alpha bracket_v -0.15 mul bracket_traject -%5b - 1 bracket_h - 0 bracket_v 0.5 mul bracket_traject -%5c - 0 bracket_h -%4a - bracket_b bracket_h bracket_t sub - 0 bracket_v 0.4 mul bracket_traject -%4b - bracket_b bracket_v add bracket_h bracket_t sub bracket_u add - bracket_alpha bracket_v -0.25 mul bracket_traject -%4c - bracket_b bracket_v add bracket_h bracket_t sub bracket_u add -%3 - bracket_b bracket_h bracket_t sub -%2 - bracket_b 0 -%1 - 0 0 -} bind def +\def\embeddedps##1{% + % This sets CTM so that you get to the currentpoint + % by executing a 0 0 moveto + \special{ps: @beginspecial @setspecial ##1 @endspecial} +} % -/draw_half_bracket { - moveto - lineto - lineto - curveto - curveto - lineto - gsave - fill - grestore -} bind def % -/draw_bracket -{ - 2 div bracket_b add /bracket_h exch def - bracket_t setlinewidth - true setstrokeadjust - 1 setlinecap - 1 setlinejoin - half_bracket - 20 copy - 1 -1 scale - draw_half_bracket - stroke - 1 -1 scale -% ugh, ugh: - 0.05 0 translate - draw_half_bracket - stroke -} bind def -}} +%\PSsetTeXdimen{staffrulethickness} +%\PSsetTeXdimen{staffheight} +} \def\turnOnExperimentalFeatures{% -% draw a slur in embedded postscript \special{ps: }}