diff options
Diffstat (limited to 'Master/texmf-dist/doc/generic/pmx/pmxccn/eps/slurs1.eps')
-rw-r--r-- | Master/texmf-dist/doc/generic/pmx/pmxccn/eps/slurs1.eps | 1242 |
1 files changed, 621 insertions, 621 deletions
diff --git a/Master/texmf-dist/doc/generic/pmx/pmxccn/eps/slurs1.eps b/Master/texmf-dist/doc/generic/pmx/pmxccn/eps/slurs1.eps index 6f1007568a6..77e730766f4 100644 --- a/Master/texmf-dist/doc/generic/pmx/pmxccn/eps/slurs1.eps +++ b/Master/texmf-dist/doc/generic/pmx/pmxccn/eps/slurs1.eps @@ -1,621 +1,621 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: dvips 5.83 Copyright 1998 Radical Eye Software -%%Title: slurs1.dvi -%%CreationDate: Sun Feb 16 23:12:52 2003 -%%Pages: 1 -%%PageOrder: Ascend -%%BoundingBox: 28 732 312 782 -%%DocumentFonts: TeXMUSIX16-Regular -%%EndComments -%DVIPSWebPage: (www.radicaleye.com) -%DVIPSCommandLine: C:\$USER\EMTEX\EMTEX\BIN\dvips.EXE slurs1 -%+ -pj:C:\temp\dv1.mfj -%DVIPSParameters: dpi=300, compressed -%DVIPSSource: TeX output 2003.02.16:2312 -%%BeginProcSet: texc.pro -%! -/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S -N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 -mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 -0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ -landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize -mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ -matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round -exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ -statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] -N/FBB[0 0 0 0]N/nn 0 N/IE 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin -/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array -/BitMaps X/BuildChar{CharBuilder}N/Encoding IE N end A{/foo setfont}2 -array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N -df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A -definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get -}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} -B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr -1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3 -1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx -0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx -sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ -rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp -gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B -/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ -/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ -A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy -get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} -ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp -fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 -{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add -chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ -1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} -forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn -/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put -}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ -bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A -mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ -SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ -userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X -1000 div/DVImag X/IE 256 array N 2 string 0 1 255{IE S A 360 add 36 4 -index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N -/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/v{/Ry X -/Rx X V}B/V{}B/RV statusdict begin/product where{pop false[(Display) -(NeXT)(LaserWriter 16/600)]{A length product length le{A length product -exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false} -ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot} -imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{ -BDot}imagemask grestore}}ifelse B/QV{gsave newpath transform round exch -round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 -rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B -/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M} -B/g{0 M}B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p --3 w}B/n{p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{ -0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end - -%%EndProcSet -%%BeginProcSet: psslurs.pro -% This file can be used instead of psslurs.pro, it is only commented -% and indented. -% -% VERSION: 1.0 -% -% WARNING! This is a heavy magic! If you want something more understandable, -% you will have to write it yourself (if it is possible in a stack-oriented -% language that PostScript is). There are some constants you can -% change and see what happens, but I think the slurs should be almost -% always satisfiable. When not, let me know at: -% standa@hiero.cz -% Also any bug reports and comments are welcomed. -% -% Stanislav Kneifl. - -/slur@Dict 200 dict def - -% this dictionary is for \setslurtext, overriding some dvips's definitions -/temp@xx@dict 4 dict def temp@xx@dict begin - /a { moveto ax1 ay1 rmoveto } def - /V {gsave newpath transform round exch round exch itransform - exch ax1 add exch ay1 add moveto rulex 0 rlineto 0 ruley neg - rlineto rulex neg 0 rlineto fill grestore} def -end - -TeXDict begin -% get dimen from TeX's string ("125pt" -> 125 PS points) -/GD { dup length 2 sub 0 exch getinterval cvr 1.045 mul} def -% get dimen adjusted to Resolution -/GDAR { dup length 2 sub 0 exch getinterval cvr 4 AR mul 1.045 mul} def -% Adjust to Resolution -/AR { Resolution mul 300 div } def -% the distances in dvips's PostScript are resolution dependant! -end - -slur@Dict begin -/CP /currentpoint load def -/ED { exch def } bind def -/AR { Resolution mul 300 div } def % stands for Adjust to Resolution, -/VS { dup /ay1 exch ay1 exch linew mul 4 mul add def /ay2 exch ay2 exch linew mul 4 mul add def } def -/y { 3 2 roll ax1 ay1 rmoveto show moveto } def -/M { mul } def -/A { add } def -/SB { sub } def -/P { pop } def -/DP { dup } def -/R { roll } def - -/drawseg { 0 0 moveto - ax1 ay1 - ax1 0.6 mul ax2 0.4 mul add ay1 0.6 mul ay2 0.4 mul add - ax1 ax2 add 2 div ay1 ay2 add 2 div curveto - ax1 0.4 mul ax2 0.6 mul add ay1 0.4 mul ay2 0.6 mul add - ax2 ay2 - x2 0 curveto } def - -/DS { - AR /maxe ED - /ifadjust ED - /ifdash ED - AR /m ED % max height of the slur - /e ED % "angularity" of the slur; 0.1 = very angular, - % 0.3 = very round - /aa exch neg def % what to multiply the height with - % AFTER the max height checking - /y2 ED % y coordinate of the end of the slur - /x2 ED % x coordinate of the end of the slur - /y1 ED % y coordinate of the beginning of the slur - /x1 ED % x coordinate of the beginning of the slur - /yr2 ED - /yr1 ED - /internote ED - /x2 x2 x1 sub def % x2=x2-x1 - /y2 y2 y1 sub def % y2=y2-y1 - /sx y2 x2 div def - /b x2 300 mul Resolution div abs sqrt AR 2 mul def % b=2*sqrt(x2) - b 3 AR lt {/b 3 AR def} if % b=max(b,3) - b m gt {/b m def} if % b=min(b,m) - /aa b aa mul def % aa=aa*b - /s 90 x2 y2 atan sub def % s=90-arctan(x2,y2) slope of the slur - /aa aa s cos div def % aa=aa/cos(s) height of the slur - /x2 s neg cos x2 mul s neg sin y2 mul sub def % x2 = x2*cos(-s) - y2*sin(-s) - % is the length of the slur - e x2 mul maxe gt { /e maxe x2 div def } if - /beta e x2 mul aa neg atan def - beta 90 gt {/beta 180 beta sub def} if - /ax1 e x2 mul def % control points - /ay1 aa def - /ax2 1 e sub x2 mul def - /ay2 aa def - -% check if the starting and endin vector stay in desired quadrants -% => beta < abs(s) - beta s abs lt { - /b aa abs s abs 2 add sin mul s abs 2 add cos div def - s aa mul 0 lt { - s cos 0.75 lt { /ax1 ax1 b 1 s cos sub mul 0.5 mul sub def /ay1 ay1 s cos mul 0.8 mul def } if -% ^^^^ ^^^ ^^^ -% (values to play with) - /ax2 x2 b sub def - } - { - /ax1 b def - s cos 0.75 lt { /ax2 b 1 s cos sub mul 0.5 mul ax2 add def /ay2 ay2 s cos mul 0.8 mul def } if -% ^^^^ ^^^ ^^^ - } ifelse - } if - -% align the slur to the staff lines - - gsave - x1 y1 translate - s rotate -% [1 0 sx 1 0 0] concat - drawseg - gsave - initmatrix - flattenpath - pathbbox - exch pop - sub - /slh ED % in slh we have the height of the whole slur - pop - grestore - - /yr s aa mul 0 ge { yr1 } { yr2 } ifelse internote div def - /slh yr slh internote div aa 0 gt { add } { sub } ifelse 2 div def -% check if the slur gets too close to staff line - /shift 0 def - slh 4.45 lt slh -0.5 gt and { - /slh slh dup truncate sub def - slh 0 lt { /slh 1 slh add def } if - aa 0 gt { /slh 1 slh sub def } if - - % slh now contains the position ot the slur top/bottom in the space - % between the nearest staff lines (from <0,1>), regardless direction - - % slur is too low: - slh 0.45 lt { /shift 0.45 slh sub def } if - % slur is too high, but we can be shift it down: - slh 0.7 gt slh 0.85 lt and { /shift 0.7 slh sub def } if - % slur is too high, must be shifted up: - slh 0.85 ge { /shift 1.45 slh sub def } if - } if - - aa 0 gt { /shift shift neg def } if - - ifadjust 0 eq { - /shift 0 def - } if - - -% and finally draw it... - - grestore - gsave - /linew internote 0.06 mul AR def - linew 4 mul setlinewidth - 1 setlinecap - 0 setlinejoin - ifdash 1 eq - { [internote 8 mul AR internote 5 mul AR] 0 setdash } if - x1 y1 shift neg 2 mul internote mul 4 AR mul add translate - s rotate -% [1 sx 0 1 0 0] concat - -% uncomment this to see the control points -% 5 AR setlinewidth ax1 ay1 moveto 0.1 0 rlineto stroke -% ax2 ay2 moveto 0.1 0 rlineto stroke linew setlinewidth - - drawseg - 1 VS - drawseg - -2 VS - drawseg - x2 20 AR gt { - 3 VS - drawseg - } if - x2 50 AR gt { - -4 VS - drawseg - } if - x2 80 AR gt { - 5 VS - drawseg - } if - stroke - - grestore - - % now some \slurtext code... - - /x1 ax1 ax2 add 2 div def % middle of the slur - /y1 ay1 ay2 add 2 div def - x1 s cos mul y1 s sin mul add neg - y1 s cos mul x1 s sin mul sub - aa 0 lt {1} {0} ifelse - end - - % this is a hack to place the slurtext in the middle of the slur. - % From unknown reasons simple 'ax1 ay1 translate' did not work, - % so we have to overlay some definitions with our own, namely - % 'a', which is originally 'moveto' and 'V' for drawing rules. - % maybe there are some other operations that should be redefined, - % but for almost all cases this will be sufficient. If you find - % anything that won't be typeset at the correct position, let me know... - - temp@xx@dict begin - /dir exch def - /ay1 exch def - /ax1 exch def -} def - -% crescendos -/DC { - /y2 ED - /x2 ED - /y1 ED - /x1 ED - gsave - 1 AR ceiling setlinewidth % line thickness: this results - 1 setlinecap % to exactly 2 pixels in 300 dpi - 1 setlinejoin - x2 y2 10 AR add moveto % the 10's specify wideness of the - x1 y1 lineto % open end of the crescendo, - x2 y2 10 AR sub lineto % similarly the 11's below - stroke - grestore -} def - -% half crescendos -/DHC { - /y2 ED - /x2 ED - /y1 ED - /x1 ED - gsave - 1 AR ceiling setlinewidth - 1 setlinecap - 1 setlinejoin - x2 y2 11 AR add moveto - x1 y1 4 AR add lineto stroke - x1 y1 4 AR sub moveto - x2 y2 11 AR sub lineto - stroke - grestore -} def - -% differenced line - -/DLN { - gsave - GDAR ceiling setlinewidth - GDAR exch GDAR neg rlineto - stroke - grestore -} def - -% sloped line - -/DSLN { - gsave - GDAR ceiling setlinewidth - GDAR exch 1.125 mul neg rotate 0 rlineto - stroke - grestore -} def - -% free line (init & terminate) - -/DFLN { - gsave - GDAR ceiling setlinewidth - CP moveto - lineto - stroke - grestore -} def - -end - - -%%EndProcSet -%%BeginProcSet: texps.pro -%! -TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 -index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll -exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics -exch def dict begin Encoding{exch dup type/integertype ne{pop pop 1 sub -dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def} -ifelse}forall Metrics/Metrics currentdict end def[2 index currentdict -end definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{ -dup sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 -roll mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def -dup[exch{dup CharStrings exch known not{pop/.notdef/Encoding true def} -if}forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def} -def end - -%%EndProcSet -%%BeginProcSet: special.pro -%! -TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N -/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N -/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N -/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ -/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho -X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B -/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ -/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known -{userdict/md get type/dicttype eq{userdict begin md length 10 add md -maxlength ge{/md md dup length 20 add dict copy def}if end md begin -/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S -atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ -itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll -transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll -curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf -pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} -if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 --1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 -get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip -yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub -neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ -noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop -90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get -neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr -1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr -2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 --1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S -TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ -Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale -}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState -save N userdict maxlength dict begin/magscale true def normalscale -currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts -/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x -psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx -psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub -TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{ -psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 -roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath -moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict -begin/SpecialSave save N gsave normalscale currentpoint TR -@SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{ -CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto -closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx -sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR -}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse -CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury -lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N -/@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end} -repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N -/@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX -currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY -moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X -/yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0 -1 startangle endangle arc savematrix setmatrix}N end - -%%EndProcSet -%%BeginFont: TeXMUSIX16-Regular -%!PS-AdobeFont-1.0: TeXMUSIX16-Regular 001.000 -%%CreationDate: 01-07-25 at 04.07 -%%VMusage: 1024 36138 -% Generated by Fontographer 4.1.4 -% converted using TeXtrace 0.45 and modified by T. Uchiyama -% ADL: 701 299 0 -%%EndComments -FontDirectory/TeXMUSIX16-Regular known{/TeXMUSIX16-Regular findfont dup/UniqueXX known{dup -/UniqueXX get 0 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse -20 dict begin -/FontInfo 16 dict dup begin - /version (001.000) readonly def - /FullName (TeXMUSIX16-Regular) readonly def - /FamilyName (TeXMUSIX16) readonly def - /Weight (Regular) readonly def - /ItalicAngle 0 def - /isFixedPitch false def - /UnderlinePosition -100 def - /UnderlineThickness 50 def - /Notice (converted using TeXtrace 0.45 and modified by T. Uchiyama) readonly def - /em 1000 def - /ascent 701 def - /descent 299 def -end readonly def -/FontName /TeXMUSIX16-Regular def -/Encoding 256 array -dup 7 /caron put -dup 71 /G put - readonly def -/PaintType 0 def -/FontType 1 def -/StrokeWidth 0 def -/FontMatrix[0.001 0 0 0.001 0 0]readonly def -%/UniqueXX 0 def -/FontBBox{-620 -2059 4000 2062}readonly def -currentdict end -currentfile eexec -d9d66f633b846ab28edc112ee8ce6c67360000898a5d5b75da2055865c7bd38a -456a69d3c9d0be0da363e5b26b9625d2fa4c0054133e3f94d3cdb90d0c37e7bc -5fc93a392ace777e744194df778db50430ae4451a28dbf72d900cbc81238e101 -c25542ec649c1dcace718c0482cfbe3ffbf119df3527ccfdc1a783a99e3a919f -3be0300feec74f907cfc3e807e93c4fa807d57eade777ae018d10489d0edc2e8 -a01355864e475e4abe67d3b38ddcb829bb7687fc971a8e4409cd384451f4a1b9 -fa26f07c4005d3b4adf0957531f84a9a63596d4a70b4b63b0c56ab62d87cebcc -f6521c5e566cb27f53c0ddbc89d30a41bd3b894a4169bec2bbde7144eea86312 -8b515066e239b5c97a0c8310273525f019bc4fe7f82816867fffe9d445d87b73 -131a59b7ff1651691169d7875c499c56617e467a02471a829950ec0511e0f7aa -09e0018e650a4843339de6082058baad4c09486be048a36bb6dc84751b316f74 -0d2478c22907a80cf78f436bbccb5d26b4dd54095b398e746434340c656b2234 -bd9bd17bae1731cc701f72e7a5dd454f545090aab871d517f31a7a4e8278c891 -0cb9dff44d2b231c978d9812a39fb85bd9355ccf92f0aaa3d7c5d614a137d4e0 -7b96bd585984a70b4257893c0dea2b192c0fcbd5960a8ad49df4027192f7055e -92c923429185fc032f6f1f848cabd9199ee3688a4bf75da3a43f163c9970e175 -1320ef05a54b7e5932e608dff73985c9fdac55efa19561c81b936332ecfd64b2 -af92d7c624c00da5e499f57831309f3ccf2b89c8c92db8bc3bdb5029139bc473 -1ce27063d1f687a43fc4692e11a27f69e7eace52e21d4619a505fd38e8e2afd8 -3c400c49cfd12c8f5e8f5864fbc27194d4f872aa622928e930fad12a192e85bd -34cac262a733bfe167c2f16fc3bd7953aac7fdd3f4837528a1e4f90ebe4a585b -6f26627fb9fceeedeba8db425252c052698a7b3d2174b1a09188847b21a8be46 -8365580df3e5b7e6efda4f4ac548bef8ac77069d6422c3a70ea9c84394ae152e -ed2468b5becce84f57deb5f09d18ec72724d43a7884d97d71cbb271c21695778 -1d7b097a7ccabd669198e8686c6b6ce254b80822bc06afb61ff9f7faac1ef7d5 -d957e0330ae8c2da20f92782a38035445d474093f766c24c5313c8269b552f59 -46defaa7cff5565d8d532c284799723d41ace1e6098ebde8bec237eb1e25b986 -4fefafbb9fd4f5945b94afa052c23b7e023d36e353cab0f5ae26f1603f207abb -27b75db8d49cec9f91a24d2c9102be3125e5731d080117b87572ee5937499568 -66acb8003649e0506ad1c706bfcba57819046893f5a1853ae36a13e4e32a0cfb -24a64cb984b29a4fa2b7a4318774bf15b184929e985df6096af5ecfe240ef1d1 -451641876fb92999d45254627de73c12eaa146815e7da76fac8a61c3ee1ee342 -544828a9fa391ac5eba0d8dc4b2f346d8546a6b7fae0348857f2b759d98f5be8 -6b0a6efe9d65a36bd3329a6ae97b87fffaf353698939b8ef2137381a06214522 -d512ce8060f157fe1ff39e0f206430988080053509262695a03e14a1a3c16548 -e481edae2b3cb313ce693acdcd7391fe8564d467193cc671f473d3d698f3b6c5 -4fa54ae29c4d5cdee894f10253001fa20eb28d04d484fb214fc98836008b96d4 -68fce98605e98e3484af1676af6892e7976ad47230cbc2ec1317a1a063e93a86 -06ed021ee92b2acb9dc66a3ed0d2c6931dbf803e99de4b6a5e5d5122fc9e3311 -a7d74c6022f1e9c3867b761be445f10c7e0e8bc53e741e4eed7dad89005bd20d -42818f1f0c18738b47520b2bc23ee693516f4bddc8c00062219b0a65a9cae139 -fe89b92664803946ce736bdf8b2f4a52768f348fe415890537180f21ef048afb -198aaeb28e7009c3a3ddbf27d0d2078a354536795f6783f803312a3202a59d4b -6353634df3f36cb0b48282e5896d17ddf8d8495cd949e59c09bea3de4c4c5c2e -e1fe80c10e798796bbcb3807e05828fff5bf5d05f8edfe942b2129c15a786cb1 -503158a69a36bcc2b5f5b4f5449490b245a0693550ec99a9c876357380e7 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 - -cleartomark{restore}if -%%EndFont -TeXDict begin 39158280 55380996 1000 300 300 -(/MUSIC/PMX/DOC/CCN/PMX/slurs1.dvi) @start -%DVIPSBitmapFont: Fa cmtt10 10 5 -/Fa 5 105 df<13E01201EA0380EA0700120E5AA25AA25AA35AA91270A37EA27EA27E7E -EA0380EA01E012000B217A9C16>40 D<12C07E12707E7E7EA27EA2EA0380A3EA01C0A9EA -0380A3EA0700A2120EA25A5A5A5A5A0A217B9C16>I<387F07F038FF8FF8387F07F0381C -01C0A7EA1FFFA3EA1C01A9387F07F038FF8FF8387F07F01519809816>72 -D<131E137F3801FF8013C7380383001380A2EA7FFFB5FCA2EA0380ACEA7FFC487E6C5A11 -197F9816>102 D<12FCA3121CA41378EA1DFCEA1FFE130FEA1E07121CAA38FF8FE0139F -138F13197F9816>104 D E -%EndDVIPSBitmapFont -/Fb 184[53 63[0 7[{}2 66.4176 /TeXMUSIX16-Regular rf -end -%%EndProlog -%%BeginSetup -%%Feature: *Resolution 300dpi -TeXDict begin -%%PaperSize: a4 - -%%EndSetup -%%Page: 1 1 -1 0 bop -182 -18 1175 2 v -182 -1 V -182 16 V -182 32 -V -182 49 V -182 31 a Fb(G)-77 61 y - slur@Dict begin CP /S0y1 ED /S0x1 ED /S0hgt (-3.20001pt) GD N /S0brk -S0hgt (2.0pt) GD 1 -1 M M A N /S0lift 0 N /S0alt (20.0pt) GDAR N /S0dir --1 N /S0dash 0 N /S0adj 0 N end - -77 61 a -89 148 -a Fa(\()22 b(\))p -70 48 2 59 v -89 48 a Fb(\007)15 31 -y - slur@Dict begin (2.0pt) GD S0hgt (4.0pt) GD 1.6 (2.0pt) GD M S0dir -M A S0x1 S0y1 CP (3.20001pt) GDAR S0dir M SB 1 S0dir M 0.17 40 S0dash -S0adj 90 DS /ay1 ay1 (0.0pt) GDAR -10 AR add dir mul add def - 15 31 a 15 31 a - end - 15 31 a 24 31 2 59 v -10 w Fb(\007)p -99 49 2 68 v 146 61 a - slur@Dict begin CP /S0y1 ED /S0x1 ED /S0hgt (-3.20001pt) GD N /S0brk -S0hgt (2.0pt) GD 1 -1 M M A N /S0lift 0 N /S0alt (20.0pt) GDAR N /S0dir --1 N /S0dash 0 N /S0adj 0 N end - 146 61 a 134 148 a Fa(\(f)f(\))p -153 48 2 59 v 134 48 a Fb(\007)238 31 y - slur@Dict begin (2.0pt) GD S0hgt (4.0pt) GD 1.6 (2.0pt) GD M S0dir -M A S0x1 S0y1 CP (3.20001pt) GDAR S0dir M SB 0.7 S0dir M 0.17 40 S0dash -S0adj 90 DS /ay1 ay1 (0.0pt) GDAR -10 AR add dir mul add def - 238 31 a 238 -31 a - end - 238 31 a 247 31 2 59 v -10 w Fb(\007)p 322 49 2 -68 v 369 61 a - slur@Dict begin CP /S0y1 ED /S0x1 ED /S0hgt (-3.20001pt) GD N /S0brk -S0hgt (2.0pt) GD 1 -1 M M A N /S0lift 0 N /S0alt (20.0pt) GDAR N /S0dir --1 N /S0dash 0 N /S0adj 0 N end - 369 61 a 357 148 a Fa(\(h)g(\))p 376 48 -2 59 v 357 48 a Fb(\007)461 31 y - slur@Dict begin (2.0pt) GD S0hgt (4.0pt) GD 1.6 (2.0pt) GD M S0dir -M A S0x1 S0y1 CP (3.20001pt) GDAR S0dir M SB 1.6 S0dir M 0.17 40 S0dash -S0adj 90 DS /ay1 ay1 (0.0pt) GDAR -10 AR add dir mul add def - 461 31 a 461 31 a - end - 461 -31 a 470 31 2 59 v -10 w Fb(\007)p 545 49 2 68 v 592 -61 a - slur@Dict begin CP /S0y1 ED /S0x1 ED /S0hgt (-3.20001pt) GD N /S0brk -S0hgt (2.0pt) GD 1 -1 M M A N /S0lift 0 N /S0alt (20.0pt) GDAR N /S0dir --1 N /S0dash 0 N /S0adj 0 N end - 592 61 a 580 148 a Fa(\(hh)g(\))p 599 48 2 59 v -580 48 a Fb(\007)684 31 y - slur@Dict begin (2.0pt) GD S0hgt (4.0pt) GD 1.6 (2.0pt) GD M S0dir -M A S0x1 S0y1 CP (3.20001pt) GDAR S0dir M SB 1.6 S0dir M 0.17 40 S0dash -S0adj 90 DS /ay1 ay1 (0.0pt) GDAR -10 AR add dir mul add def - 684 31 a 684 31 a - end - 684 31 a -693 31 2 59 v -10 w Fb(\007)p 768 49 2 68 v 815 61 a - slur@Dict begin CP /S0y1 ED /S0x1 ED /S0hgt (-3.20001pt) GD N /S0brk -S0hgt (2.0pt) GD 1 -1 M M A N /S0lift 0 N /S0alt (20.0pt) GDAR N /S0dir --1 N /S0dash 0 N /S0adj 0 N end - -815 61 a 803 148 a Fa(\(HH)g(\))p 822 48 2 59 v 803 48 -a Fb(\007)907 31 y - slur@Dict begin (2.0pt) GD S0hgt (4.0pt) GD 1.6 (2.0pt) GD M S0dir -M A S0x1 S0y1 CP (3.20001pt) GDAR S0dir M SB 2.8 S0dir M 0.13 40 S0dash -S0adj 90 DS /ay1 ay1 (0.0pt) GDAR -10 AR add dir mul add def - 907 31 a 907 31 a - end - 907 31 a 916 31 -2 59 v -10 w Fb(\007)p 991 49 2 68 v 993 131 a - slur@Dict begin /pss@rega 0 N /psc@rega 0 N /pst@rega 0 N end - 993 131 -a eop -%%Trailer -end -userdict /end-hook known{end-hook}if -%%EOF +%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: dvips 5.83 Copyright 1998 Radical Eye Software
+%%Title: slurs1.dvi
+%%CreationDate: Sun Feb 16 23:12:52 2003
+%%Pages: 1
+%%PageOrder: Ascend
+%%BoundingBox: 28 732 312 782
+%%DocumentFonts: TeXMUSIX16-Regular
+%%EndComments
+%DVIPSWebPage: (www.radicaleye.com)
+%DVIPSCommandLine: C:\$USER\EMTEX\EMTEX\BIN\dvips.EXE slurs1
+%+ -pj:C:\temp\dv1.mfj
+%DVIPSParameters: dpi=300, compressed
+%DVIPSSource: TeX output 2003.02.16:2312
+%%BeginProcSet: texc.pro
+%!
+/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
+N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
+mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
+0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
+landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
+mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
+matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
+exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
+statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
+N/FBB[0 0 0 0]N/nn 0 N/IE 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
+/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
+/BitMaps X/BuildChar{CharBuilder}N/Encoding IE N end A{/foo setfont}2
+array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
+df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
+definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
+}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
+B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
+1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3
+1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx
+0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx
+sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{
+rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp
+gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B
+/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{
+/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{
+A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy
+get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}
+ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp
+fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17
+{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add
+chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{
+1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}
+forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
+/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
+}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
+bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
+mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
+SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
+userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
+1000 div/DVImag X/IE 256 array N 2 string 0 1 255{IE S A 360 add 36 4
+index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
+/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/v{/Ry X
+/Rx X V}B/V{}B/RV statusdict begin/product where{pop false[(Display)
+(NeXT)(LaserWriter 16/600)]{A length product length le{A length product
+exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}
+ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}
+imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{
+BDot}imagemask grestore}}ifelse B/QV{gsave newpath transform round exch
+round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0
+rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B
+/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}
+B/g{0 M}B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p
+-3 w}B/n{p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{
+0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
+
+%%EndProcSet
+%%BeginProcSet: psslurs.pro
+% This file can be used instead of psslurs.pro, it is only commented
+% and indented.
+%
+% VERSION: 1.0
+%
+% WARNING! This is a heavy magic! If you want something more understandable,
+% you will have to write it yourself (if it is possible in a stack-oriented
+% language that PostScript is). There are some constants you can
+% change and see what happens, but I think the slurs should be almost
+% always satisfiable. When not, let me know at:
+% standa@hiero.cz
+% Also any bug reports and comments are welcomed.
+%
+% Stanislav Kneifl.
+
+/slur@Dict 200 dict def
+
+% this dictionary is for \setslurtext, overriding some dvips's definitions
+/temp@xx@dict 4 dict def temp@xx@dict begin
+ /a { moveto ax1 ay1 rmoveto } def
+ /V {gsave newpath transform round exch round exch itransform
+ exch ax1 add exch ay1 add moveto rulex 0 rlineto 0 ruley neg
+ rlineto rulex neg 0 rlineto fill grestore} def
+end
+
+TeXDict begin
+% get dimen from TeX's string ("125pt" -> 125 PS points)
+/GD { dup length 2 sub 0 exch getinterval cvr 1.045 mul} def
+% get dimen adjusted to Resolution
+/GDAR { dup length 2 sub 0 exch getinterval cvr 4 AR mul 1.045 mul} def
+% Adjust to Resolution
+/AR { Resolution mul 300 div } def
+% the distances in dvips's PostScript are resolution dependant!
+end
+
+slur@Dict begin
+/CP /currentpoint load def
+/ED { exch def } bind def
+/AR { Resolution mul 300 div } def % stands for Adjust to Resolution,
+/VS { dup /ay1 exch ay1 exch linew mul 4 mul add def /ay2 exch ay2 exch linew mul 4 mul add def } def
+/y { 3 2 roll ax1 ay1 rmoveto show moveto } def
+/M { mul } def
+/A { add } def
+/SB { sub } def
+/P { pop } def
+/DP { dup } def
+/R { roll } def
+
+/drawseg { 0 0 moveto
+ ax1 ay1
+ ax1 0.6 mul ax2 0.4 mul add ay1 0.6 mul ay2 0.4 mul add
+ ax1 ax2 add 2 div ay1 ay2 add 2 div curveto
+ ax1 0.4 mul ax2 0.6 mul add ay1 0.4 mul ay2 0.6 mul add
+ ax2 ay2
+ x2 0 curveto } def
+
+/DS {
+ AR /maxe ED
+ /ifadjust ED
+ /ifdash ED
+ AR /m ED % max height of the slur
+ /e ED % "angularity" of the slur; 0.1 = very angular,
+ % 0.3 = very round
+ /aa exch neg def % what to multiply the height with
+ % AFTER the max height checking
+ /y2 ED % y coordinate of the end of the slur
+ /x2 ED % x coordinate of the end of the slur
+ /y1 ED % y coordinate of the beginning of the slur
+ /x1 ED % x coordinate of the beginning of the slur
+ /yr2 ED
+ /yr1 ED
+ /internote ED
+ /x2 x2 x1 sub def % x2=x2-x1
+ /y2 y2 y1 sub def % y2=y2-y1
+ /sx y2 x2 div def
+ /b x2 300 mul Resolution div abs sqrt AR 2 mul def % b=2*sqrt(x2)
+ b 3 AR lt {/b 3 AR def} if % b=max(b,3)
+ b m gt {/b m def} if % b=min(b,m)
+ /aa b aa mul def % aa=aa*b
+ /s 90 x2 y2 atan sub def % s=90-arctan(x2,y2) slope of the slur
+ /aa aa s cos div def % aa=aa/cos(s) height of the slur
+ /x2 s neg cos x2 mul s neg sin y2 mul sub def % x2 = x2*cos(-s) - y2*sin(-s)
+ % is the length of the slur
+ e x2 mul maxe gt { /e maxe x2 div def } if
+ /beta e x2 mul aa neg atan def
+ beta 90 gt {/beta 180 beta sub def} if
+ /ax1 e x2 mul def % control points
+ /ay1 aa def
+ /ax2 1 e sub x2 mul def
+ /ay2 aa def
+
+% check if the starting and endin vector stay in desired quadrants
+% => beta < abs(s)
+ beta s abs lt {
+ /b aa abs s abs 2 add sin mul s abs 2 add cos div def
+ s aa mul 0 lt {
+ s cos 0.75 lt { /ax1 ax1 b 1 s cos sub mul 0.5 mul sub def /ay1 ay1 s cos mul 0.8 mul def } if
+% ^^^^ ^^^ ^^^
+% (values to play with)
+ /ax2 x2 b sub def
+ }
+ {
+ /ax1 b def
+ s cos 0.75 lt { /ax2 b 1 s cos sub mul 0.5 mul ax2 add def /ay2 ay2 s cos mul 0.8 mul def } if
+% ^^^^ ^^^ ^^^
+ } ifelse
+ } if
+
+% align the slur to the staff lines
+
+ gsave
+ x1 y1 translate
+ s rotate
+% [1 0 sx 1 0 0] concat
+ drawseg
+ gsave
+ initmatrix
+ flattenpath
+ pathbbox
+ exch pop
+ sub
+ /slh ED % in slh we have the height of the whole slur
+ pop
+ grestore
+
+ /yr s aa mul 0 ge { yr1 } { yr2 } ifelse internote div def
+ /slh yr slh internote div aa 0 gt { add } { sub } ifelse 2 div def
+% check if the slur gets too close to staff line
+ /shift 0 def
+ slh 4.45 lt slh -0.5 gt and {
+ /slh slh dup truncate sub def
+ slh 0 lt { /slh 1 slh add def } if
+ aa 0 gt { /slh 1 slh sub def } if
+
+ % slh now contains the position ot the slur top/bottom in the space
+ % between the nearest staff lines (from <0,1>), regardless direction
+
+ % slur is too low:
+ slh 0.45 lt { /shift 0.45 slh sub def } if
+ % slur is too high, but we can be shift it down:
+ slh 0.7 gt slh 0.85 lt and { /shift 0.7 slh sub def } if
+ % slur is too high, must be shifted up:
+ slh 0.85 ge { /shift 1.45 slh sub def } if
+ } if
+
+ aa 0 gt { /shift shift neg def } if
+
+ ifadjust 0 eq {
+ /shift 0 def
+ } if
+
+
+% and finally draw it...
+
+ grestore
+ gsave
+ /linew internote 0.06 mul AR def
+ linew 4 mul setlinewidth
+ 1 setlinecap
+ 0 setlinejoin
+ ifdash 1 eq
+ { [internote 8 mul AR internote 5 mul AR] 0 setdash } if
+ x1 y1 shift neg 2 mul internote mul 4 AR mul add translate
+ s rotate
+% [1 sx 0 1 0 0] concat
+
+% uncomment this to see the control points
+% 5 AR setlinewidth ax1 ay1 moveto 0.1 0 rlineto stroke
+% ax2 ay2 moveto 0.1 0 rlineto stroke linew setlinewidth
+
+ drawseg
+ 1 VS
+ drawseg
+ -2 VS
+ drawseg
+ x2 20 AR gt {
+ 3 VS
+ drawseg
+ } if
+ x2 50 AR gt {
+ -4 VS
+ drawseg
+ } if
+ x2 80 AR gt {
+ 5 VS
+ drawseg
+ } if
+ stroke
+
+ grestore
+
+ % now some \slurtext code...
+
+ /x1 ax1 ax2 add 2 div def % middle of the slur
+ /y1 ay1 ay2 add 2 div def
+ x1 s cos mul y1 s sin mul add neg
+ y1 s cos mul x1 s sin mul sub
+ aa 0 lt {1} {0} ifelse
+ end
+
+ % this is a hack to place the slurtext in the middle of the slur.
+ % From unknown reasons simple 'ax1 ay1 translate' did not work,
+ % so we have to overlay some definitions with our own, namely
+ % 'a', which is originally 'moveto' and 'V' for drawing rules.
+ % maybe there are some other operations that should be redefined,
+ % but for almost all cases this will be sufficient. If you find
+ % anything that won't be typeset at the correct position, let me know...
+
+ temp@xx@dict begin
+ /dir exch def
+ /ay1 exch def
+ /ax1 exch def
+} def
+
+% crescendos
+/DC {
+ /y2 ED
+ /x2 ED
+ /y1 ED
+ /x1 ED
+ gsave
+ 1 AR ceiling setlinewidth % line thickness: this results
+ 1 setlinecap % to exactly 2 pixels in 300 dpi
+ 1 setlinejoin
+ x2 y2 10 AR add moveto % the 10's specify wideness of the
+ x1 y1 lineto % open end of the crescendo,
+ x2 y2 10 AR sub lineto % similarly the 11's below
+ stroke
+ grestore
+} def
+
+% half crescendos
+/DHC {
+ /y2 ED
+ /x2 ED
+ /y1 ED
+ /x1 ED
+ gsave
+ 1 AR ceiling setlinewidth
+ 1 setlinecap
+ 1 setlinejoin
+ x2 y2 11 AR add moveto
+ x1 y1 4 AR add lineto stroke
+ x1 y1 4 AR sub moveto
+ x2 y2 11 AR sub lineto
+ stroke
+ grestore
+} def
+
+% differenced line
+
+/DLN {
+ gsave
+ GDAR ceiling setlinewidth
+ GDAR exch GDAR neg rlineto
+ stroke
+ grestore
+} def
+
+% sloped line
+
+/DSLN {
+ gsave
+ GDAR ceiling setlinewidth
+ GDAR exch 1.125 mul neg rotate 0 rlineto
+ stroke
+ grestore
+} def
+
+% free line (init & terminate)
+
+/DFLN {
+ gsave
+ GDAR ceiling setlinewidth
+ CP moveto
+ lineto
+ stroke
+ grestore
+} def
+
+end
+
+
+%%EndProcSet
+%%BeginProcSet: texps.pro
+%!
+TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
+index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
+exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics
+exch def dict begin Encoding{exch dup type/integertype ne{pop pop 1 sub
+dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def}
+ifelse}forall Metrics/Metrics currentdict end def[2 index currentdict
+end definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{
+dup sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1
+roll mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def
+dup[exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}
+if}forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}
+def end
+
+%%EndProcSet
+%%BeginProcSet: special.pro
+%!
+TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N
+/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N
+/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N
+/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{
+/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho
+X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B
+/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{
+/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known
+{userdict/md get type/dicttype eq{userdict begin md length 10 add md
+maxlength ge{/md md dup length 20 add dict copy def}if end md begin
+/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S
+atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{
+itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll
+transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll
+curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf
+pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}
+if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1
+-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3
+get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip
+yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub
+neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{
+noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop
+90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get
+neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr
+1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr
+2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4
+-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S
+TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{
+Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale
+}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState
+save N userdict maxlength dict begin/magscale true def normalscale
+currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts
+/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x
+psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx
+psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub
+TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{
+psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2
+roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath
+moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict
+begin/SpecialSave save N gsave normalscale currentpoint TR
+@SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{
+CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto
+closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx
+sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR
+}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse
+CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury
+lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N
+/@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end}
+repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N
+/@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX
+currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY
+moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X
+/yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0
+1 startangle endangle arc savematrix setmatrix}N end
+
+%%EndProcSet
+%%BeginFont: TeXMUSIX16-Regular
+%!PS-AdobeFont-1.0: TeXMUSIX16-Regular 001.000
+%%CreationDate: 01-07-25 at 04.07
+%%VMusage: 1024 36138
+% Generated by Fontographer 4.1.4
+% converted using TeXtrace 0.45 and modified by T. Uchiyama
+% ADL: 701 299 0
+%%EndComments
+FontDirectory/TeXMUSIX16-Regular known{/TeXMUSIX16-Regular findfont dup/UniqueXX known{dup
+/UniqueXX get 0 eq exch/FontType get 1 eq and}{pop false}ifelse
+{save true}{false}ifelse}{false}ifelse
+20 dict begin
+/FontInfo 16 dict dup begin
+ /version (001.000) readonly def
+ /FullName (TeXMUSIX16-Regular) readonly def
+ /FamilyName (TeXMUSIX16) readonly def
+ /Weight (Regular) readonly def
+ /ItalicAngle 0 def
+ /isFixedPitch false def
+ /UnderlinePosition -100 def
+ /UnderlineThickness 50 def
+ /Notice (converted using TeXtrace 0.45 and modified by T. Uchiyama) readonly def
+ /em 1000 def
+ /ascent 701 def
+ /descent 299 def
+end readonly def
+/FontName /TeXMUSIX16-Regular def
+/Encoding 256 array
+dup 7 /caron put
+dup 71 /G put
+ readonly def
+/PaintType 0 def
+/FontType 1 def
+/StrokeWidth 0 def
+/FontMatrix[0.001 0 0 0.001 0 0]readonly def
+%/UniqueXX 0 def
+/FontBBox{-620 -2059 4000 2062}readonly def
+currentdict end
+currentfile eexec
+d9d66f633b846ab28edc112ee8ce6c67360000898a5d5b75da2055865c7bd38a
+456a69d3c9d0be0da363e5b26b9625d2fa4c0054133e3f94d3cdb90d0c37e7bc
+5fc93a392ace777e744194df778db50430ae4451a28dbf72d900cbc81238e101
+c25542ec649c1dcace718c0482cfbe3ffbf119df3527ccfdc1a783a99e3a919f
+3be0300feec74f907cfc3e807e93c4fa807d57eade777ae018d10489d0edc2e8
+a01355864e475e4abe67d3b38ddcb829bb7687fc971a8e4409cd384451f4a1b9
+fa26f07c4005d3b4adf0957531f84a9a63596d4a70b4b63b0c56ab62d87cebcc
+f6521c5e566cb27f53c0ddbc89d30a41bd3b894a4169bec2bbde7144eea86312
+8b515066e239b5c97a0c8310273525f019bc4fe7f82816867fffe9d445d87b73
+131a59b7ff1651691169d7875c499c56617e467a02471a829950ec0511e0f7aa
+09e0018e650a4843339de6082058baad4c09486be048a36bb6dc84751b316f74
+0d2478c22907a80cf78f436bbccb5d26b4dd54095b398e746434340c656b2234
+bd9bd17bae1731cc701f72e7a5dd454f545090aab871d517f31a7a4e8278c891
+0cb9dff44d2b231c978d9812a39fb85bd9355ccf92f0aaa3d7c5d614a137d4e0
+7b96bd585984a70b4257893c0dea2b192c0fcbd5960a8ad49df4027192f7055e
+92c923429185fc032f6f1f848cabd9199ee3688a4bf75da3a43f163c9970e175
+1320ef05a54b7e5932e608dff73985c9fdac55efa19561c81b936332ecfd64b2
+af92d7c624c00da5e499f57831309f3ccf2b89c8c92db8bc3bdb5029139bc473
+1ce27063d1f687a43fc4692e11a27f69e7eace52e21d4619a505fd38e8e2afd8
+3c400c49cfd12c8f5e8f5864fbc27194d4f872aa622928e930fad12a192e85bd
+34cac262a733bfe167c2f16fc3bd7953aac7fdd3f4837528a1e4f90ebe4a585b
+6f26627fb9fceeedeba8db425252c052698a7b3d2174b1a09188847b21a8be46
+8365580df3e5b7e6efda4f4ac548bef8ac77069d6422c3a70ea9c84394ae152e
+ed2468b5becce84f57deb5f09d18ec72724d43a7884d97d71cbb271c21695778
+1d7b097a7ccabd669198e8686c6b6ce254b80822bc06afb61ff9f7faac1ef7d5
+d957e0330ae8c2da20f92782a38035445d474093f766c24c5313c8269b552f59
+46defaa7cff5565d8d532c284799723d41ace1e6098ebde8bec237eb1e25b986
+4fefafbb9fd4f5945b94afa052c23b7e023d36e353cab0f5ae26f1603f207abb
+27b75db8d49cec9f91a24d2c9102be3125e5731d080117b87572ee5937499568
+66acb8003649e0506ad1c706bfcba57819046893f5a1853ae36a13e4e32a0cfb
+24a64cb984b29a4fa2b7a4318774bf15b184929e985df6096af5ecfe240ef1d1
+451641876fb92999d45254627de73c12eaa146815e7da76fac8a61c3ee1ee342
+544828a9fa391ac5eba0d8dc4b2f346d8546a6b7fae0348857f2b759d98f5be8
+6b0a6efe9d65a36bd3329a6ae97b87fffaf353698939b8ef2137381a06214522
+d512ce8060f157fe1ff39e0f206430988080053509262695a03e14a1a3c16548
+e481edae2b3cb313ce693acdcd7391fe8564d467193cc671f473d3d698f3b6c5
+4fa54ae29c4d5cdee894f10253001fa20eb28d04d484fb214fc98836008b96d4
+68fce98605e98e3484af1676af6892e7976ad47230cbc2ec1317a1a063e93a86
+06ed021ee92b2acb9dc66a3ed0d2c6931dbf803e99de4b6a5e5d5122fc9e3311
+a7d74c6022f1e9c3867b761be445f10c7e0e8bc53e741e4eed7dad89005bd20d
+42818f1f0c18738b47520b2bc23ee693516f4bddc8c00062219b0a65a9cae139
+fe89b92664803946ce736bdf8b2f4a52768f348fe415890537180f21ef048afb
+198aaeb28e7009c3a3ddbf27d0d2078a354536795f6783f803312a3202a59d4b
+6353634df3f36cb0b48282e5896d17ddf8d8495cd949e59c09bea3de4c4c5c2e
+e1fe80c10e798796bbcb3807e05828fff5bf5d05f8edfe942b2129c15a786cb1
+503158a69a36bcc2b5f5b4f5449490b245a0693550ec99a9c876357380e7
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+
+cleartomark{restore}if
+%%EndFont
+TeXDict begin 39158280 55380996 1000 300 300
+(/MUSIC/PMX/DOC/CCN/PMX/slurs1.dvi) @start
+%DVIPSBitmapFont: Fa cmtt10 10 5
+/Fa 5 105 df<13E01201EA0380EA0700120E5AA25AA25AA35AA91270A37EA27EA27E7E
+EA0380EA01E012000B217A9C16>40 D<12C07E12707E7E7EA27EA2EA0380A3EA01C0A9EA
+0380A3EA0700A2120EA25A5A5A5A5A0A217B9C16>I<387F07F038FF8FF8387F07F0381C
+01C0A7EA1FFFA3EA1C01A9387F07F038FF8FF8387F07F01519809816>72
+D<131E137F3801FF8013C7380383001380A2EA7FFFB5FCA2EA0380ACEA7FFC487E6C5A11
+197F9816>102 D<12FCA3121CA41378EA1DFCEA1FFE130FEA1E07121CAA38FF8FE0139F
+138F13197F9816>104 D E
+%EndDVIPSBitmapFont
+/Fb 184[53 63[0 7[{}2 66.4176 /TeXMUSIX16-Regular rf
+end
+%%EndProlog
+%%BeginSetup
+%%Feature: *Resolution 300dpi
+TeXDict begin
+%%PaperSize: a4
+
+%%EndSetup
+%%Page: 1 1
+1 0 bop -182 -18 1175 2 v -182 -1 V -182 16 V -182 32
+V -182 49 V -182 31 a Fb(G)-77 61 y
+ slur@Dict begin CP /S0y1 ED /S0x1 ED /S0hgt (-3.20001pt) GD N /S0brk
+S0hgt (2.0pt) GD 1 -1 M M A N /S0lift 0 N /S0alt (20.0pt) GDAR N /S0dir
+-1 N /S0dash 0 N /S0adj 0 N end
+ -77 61 a -89 148
+a Fa(\()22 b(\))p -70 48 2 59 v -89 48 a Fb(\007)15 31
+y
+ slur@Dict begin (2.0pt) GD S0hgt (4.0pt) GD 1.6 (2.0pt) GD M S0dir
+M A S0x1 S0y1 CP (3.20001pt) GDAR S0dir M SB 1 S0dir M 0.17 40 S0dash
+S0adj 90 DS /ay1 ay1 (0.0pt) GDAR -10 AR add dir mul add def
+ 15 31 a 15 31 a
+ end
+ 15 31 a 24 31 2 59 v -10 w Fb(\007)p
+99 49 2 68 v 146 61 a
+ slur@Dict begin CP /S0y1 ED /S0x1 ED /S0hgt (-3.20001pt) GD N /S0brk
+S0hgt (2.0pt) GD 1 -1 M M A N /S0lift 0 N /S0alt (20.0pt) GDAR N /S0dir
+-1 N /S0dash 0 N /S0adj 0 N end
+ 146 61 a 134 148 a Fa(\(f)f(\))p
+153 48 2 59 v 134 48 a Fb(\007)238 31 y
+ slur@Dict begin (2.0pt) GD S0hgt (4.0pt) GD 1.6 (2.0pt) GD M S0dir
+M A S0x1 S0y1 CP (3.20001pt) GDAR S0dir M SB 0.7 S0dir M 0.17 40 S0dash
+S0adj 90 DS /ay1 ay1 (0.0pt) GDAR -10 AR add dir mul add def
+ 238 31 a 238
+31 a
+ end
+ 238 31 a 247 31 2 59 v -10 w Fb(\007)p 322 49 2
+68 v 369 61 a
+ slur@Dict begin CP /S0y1 ED /S0x1 ED /S0hgt (-3.20001pt) GD N /S0brk
+S0hgt (2.0pt) GD 1 -1 M M A N /S0lift 0 N /S0alt (20.0pt) GDAR N /S0dir
+-1 N /S0dash 0 N /S0adj 0 N end
+ 369 61 a 357 148 a Fa(\(h)g(\))p 376 48
+2 59 v 357 48 a Fb(\007)461 31 y
+ slur@Dict begin (2.0pt) GD S0hgt (4.0pt) GD 1.6 (2.0pt) GD M S0dir
+M A S0x1 S0y1 CP (3.20001pt) GDAR S0dir M SB 1.6 S0dir M 0.17 40 S0dash
+S0adj 90 DS /ay1 ay1 (0.0pt) GDAR -10 AR add dir mul add def
+ 461 31 a 461 31 a
+ end
+ 461
+31 a 470 31 2 59 v -10 w Fb(\007)p 545 49 2 68 v 592
+61 a
+ slur@Dict begin CP /S0y1 ED /S0x1 ED /S0hgt (-3.20001pt) GD N /S0brk
+S0hgt (2.0pt) GD 1 -1 M M A N /S0lift 0 N /S0alt (20.0pt) GDAR N /S0dir
+-1 N /S0dash 0 N /S0adj 0 N end
+ 592 61 a 580 148 a Fa(\(hh)g(\))p 599 48 2 59 v
+580 48 a Fb(\007)684 31 y
+ slur@Dict begin (2.0pt) GD S0hgt (4.0pt) GD 1.6 (2.0pt) GD M S0dir
+M A S0x1 S0y1 CP (3.20001pt) GDAR S0dir M SB 1.6 S0dir M 0.17 40 S0dash
+S0adj 90 DS /ay1 ay1 (0.0pt) GDAR -10 AR add dir mul add def
+ 684 31 a 684 31 a
+ end
+ 684 31 a
+693 31 2 59 v -10 w Fb(\007)p 768 49 2 68 v 815 61 a
+ slur@Dict begin CP /S0y1 ED /S0x1 ED /S0hgt (-3.20001pt) GD N /S0brk
+S0hgt (2.0pt) GD 1 -1 M M A N /S0lift 0 N /S0alt (20.0pt) GDAR N /S0dir
+-1 N /S0dash 0 N /S0adj 0 N end
+
+815 61 a 803 148 a Fa(\(HH)g(\))p 822 48 2 59 v 803 48
+a Fb(\007)907 31 y
+ slur@Dict begin (2.0pt) GD S0hgt (4.0pt) GD 1.6 (2.0pt) GD M S0dir
+M A S0x1 S0y1 CP (3.20001pt) GDAR S0dir M SB 2.8 S0dir M 0.13 40 S0dash
+S0adj 90 DS /ay1 ay1 (0.0pt) GDAR -10 AR add dir mul add def
+ 907 31 a 907 31 a
+ end
+ 907 31 a 916 31
+2 59 v -10 w Fb(\007)p 991 49 2 68 v 993 131 a
+ slur@Dict begin /pss@rega 0 N /psc@rega 0 N /pst@rega 0 N end
+ 993 131
+a eop
+%%Trailer
+end
+userdict /end-hook known{end-hook}if
+%%EOF
|