summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/pmx/pmxccn/eps/slurs1.eps
blob: 77e730766f42a9e0570526f624946d006ad7f960 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
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