Register
Login
Resources
Docs Blog Datasets Glossary Case Studies Tutorials & Webinars
Product
Data Engine LLMs Platform Enterprise
Pricing Explore
Connect to our Discord channel

ErrorEllipseCart.ps 22 KB

You have to be logged in to leave a comment. Sign In
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
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
  1. %!PS-Adobe-3.0
  2. %%BoundingBox: 0 0 612 792
  3. %%HiResBoundingBox: 0 0 612 792
  4. %%Title: GMT v5.1.2_r13146 [64-bit] Document from psxy
  5. %%Creator: GMT5
  6. %%For: pwessel
  7. %%DocumentNeededResources: font Helvetica
  8. %%CreationDate: Thu May 15 12:33:48 2014
  9. %%LanguageLevel: 2
  10. %%DocumentData: Clean7Bit
  11. %%Orientation: Portrait
  12. %%Pages: 1
  13. %%EndComments
  14. %%BeginProlog
  15. 250 dict begin
  16. /! {bind def} bind def
  17. /# {load def}!
  18. /A /setgray #
  19. /B /setdash #
  20. /C /setrgbcolor #
  21. /D /rlineto #
  22. /E {dup stringwidth pop}!
  23. /F /fill #
  24. /G /rmoveto #
  25. /H /sethsbcolor #
  26. /I /setpattern #
  27. /K /setcmykcolor #
  28. /L /lineto #
  29. /M /moveto #
  30. /N /newpath #
  31. /P /closepath #
  32. /R /rotate #
  33. /S /stroke #
  34. /T /translate #
  35. /U /grestore #
  36. /V /gsave #
  37. /W /setlinewidth #
  38. /Y {findfont exch scalefont setfont}!
  39. /Z /show #
  40. /FP {true charpath flattenpath}!
  41. /MU {matrix setmatrix}!
  42. /MS {/SMat matrix currentmatrix def}!
  43. /MR {SMat setmatrix}!
  44. /edef {exch def}!
  45. /FS {/fc edef /fs {V fc F U} def}!
  46. /FQ {/fs {} def}!
  47. /O0 {/os {N} def}!
  48. /O1 {/os {P S} def}!
  49. /FO {fs os}!
  50. /Sa {M MS dup 0 exch G 0.726542528 mul -72 R dup 0 D 4 {72 R dup 0 D -144 R dup 0 D} repeat pop MR FO}!
  51. /Sb {M dup 0 D exch 0 exch D neg 0 D FO}!
  52. /SB {MS T /BoxR edef /BoxW edef /BoxH edef BoxR 0 M
  53. BoxW 0 BoxW BoxH BoxR arct BoxW BoxH 0 BoxH BoxR arct 0 BoxH 0 0 BoxR arct 0 0 BoxW 0 BoxR arct MR FO}!
  54. /Sc {N 3 -1 roll 0 360 arc FO}!
  55. /Sd {M 4 {dup} repeat 0 G neg dup dup D exch D D FO}!
  56. /Se {N MS T R scale 0 0 1 0 360 arc MR FO}!
  57. /Sg {M MS 22.5 R dup 0 exch G -22.5 R 0.765366865 mul dup 0 D 6 {-45 R dup 0 D} repeat pop MR FO}!
  58. /Sh {M MS dup 0 G -120 R dup 0 D 4 {-60 R dup 0 D} repeat pop MR FO}!
  59. /Si {M MS dup neg 0 exch G 60 R 1.732050808 mul dup 0 D 120 R 0 D MR FO}!
  60. /Sj {M MS R dup -2 div 2 index -2 div G dup 0 D exch 0 exch D neg 0 D MR FO}!
  61. /Sn {M MS dup 0 exch G -36 R 1.175570505 mul dup 0 D 3 {-72 R dup 0 D} repeat pop MR FO}!
  62. /Sp {N 3 -1 roll 0 360 arc fs N}!
  63. /SP {M {D} repeat FO}!
  64. /Sr {M dup -2 div 2 index -2 div G dup 0 D exch 0 exch D neg 0 D FO}!
  65. /SR {MS T /BoxR edef /BoxW edef /BoxH edef BoxR BoxW -2 div BoxH -2 div T BoxR 0 M
  66. BoxW 0 BoxW BoxH BoxR arct BoxW BoxH 0 BoxH BoxR arct 0 BoxH 0 0 BoxR arct 0 0 BoxW 0 BoxR arct MR FO}!
  67. /Ss {M 1.414213562 mul dup dup dup -2 div dup G 0 D 0 exch D neg 0 D FO}!
  68. /St {M MS dup 0 exch G -60 R 1.732050808 mul dup 0 D -120 R 0 D MR FO}!
  69. /SV {0 exch M 0 D D D D D 0 D FO}!
  70. /Sv {0 0 M D D 0 D D D D D 0 D D FO}!
  71. /Sw {2 copy M 5 2 roll arc FO}!
  72. /Sx {M 1.414213562 mul 5 {dup} repeat -2 div dup G D neg 0 G neg D S}!
  73. /Sy {M dup 0 exch G dup -2 mul dup 0 exch D S}!
  74. /S+ {M dup 0 G dup -2 mul dup 0 D exch dup G 0 exch D S}!
  75. /S- {M dup 0 G dup -2 mul dup 0 D S}!
  76. /sw {stringwidth pop}!
  77. /sh {V MU 0 0 M FP pathbbox N 4 1 roll pop pop pop U}!
  78. /sd {V MU 0 0 M FP pathbbox N pop pop exch pop U}!
  79. /sH {V MU 0 0 M FP pathbbox N exch pop exch sub exch pop U}!
  80. /sb {E exch sh}!
  81. /bl {}!
  82. /bc {E -2 div 0 G}!
  83. /br {E neg 0 G}!
  84. /ml {dup 0 exch sh -2 div G}!
  85. /mc {dup E -2 div exch sh -2 div G}!
  86. /mr {dup E neg exch sh -2 div G}!
  87. /tl {dup 0 exch sh neg G}!
  88. /tc {dup E -2 div exch sh neg G}!
  89. /tr {dup E neg exch sh neg G}!
  90. /mx {2 copy lt {exch} if pop}!
  91. /PSL_xorig 0 def /PSL_yorig 0 def
  92. /TM {2 copy T PSL_yorig add /PSL_yorig edef PSL_xorig add /PSL_xorig edef}!
  93. /PSL_reencode {findfont dup length dict begin
  94. {1 index /FID ne {def}{pop pop} ifelse} forall
  95. exch /Encoding edef currentdict end definefont pop
  96. }!
  97. /PSL_eps_begin {
  98. /PSL_eps_state save def
  99. /PSL_dict_count countdictstack def
  100. /PSL_op_count count 1 sub def
  101. userdict begin
  102. /showpage {} def
  103. 0 setgray 0 setlinecap 1 setlinewidth
  104. 0 setlinejoin 10 setmiterlimit [] 0 setdash newpath
  105. /languagelevel where
  106. {pop languagelevel 1 ne {false setstrokeadjust false setoverprint} if} if
  107. }!
  108. /PSL_eps_end {
  109. count PSL_op_count sub {pop} repeat
  110. countdictstack PSL_dict_count sub {end} repeat
  111. PSL_eps_state restore
  112. }!
  113. /PSL_transp {
  114. /.setopacityalpha where {pop .setblendmode .setopacityalpha}{
  115. /pdfmark where {pop [ /BM exch /CA exch dup /ca exch /SetTransparency pdfmark}
  116. {pop pop} ifelse} ifelse
  117. }!
  118. /Standard+_Encoding [
  119. /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
  120. /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
  121. /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
  122. /.notdef /threequarters /threesuperior /trademark /twosuperior /yacute /ydieresis /zcaron
  123. /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
  124. /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
  125. /zero /one /two /three /four /five /six /seven
  126. /eight /nine /colon /semicolon /less /equal /greater /question
  127. /at /A /B /C /D /E /F /G
  128. /H /I /J /K /L /M /N /O
  129. /P /Q /R /S /T /U /V /W
  130. /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
  131. /quoteleft /a /b /c /d /e /f /g
  132. /h /i /j /k /l /m /n /o
  133. /p /q /r /s /t /u /v /w
  134. /x /y /z /braceleft /bar /braceright /asciitilde /florin
  135. /Atilde /Ccedilla /Eth /Lslash /Ntilde /Otilde /Scaron /Thorn
  136. /Yacute /Ydieresis /Zcaron /atilde /brokenbar /ccedilla /copyright /degree
  137. /divide /eth /logicalnot /lslash /minus /mu /multiply /ntilde
  138. /onehalf /onequarter /onesuperior /otilde /plusminus /registered /scaron /thorn
  139. /.notdef /exclamdown /cent /sterling /fraction /yen /florin /section
  140. /currency /quotesingle /quotedblleft /guillemotleft /guilsinglleft /guilsinglright /fi /fl
  141. /Aacute /endash /dagger /daggerdbl /periodcentered /Acircumflex /paragraph /bullet
  142. /quotesinglbase /quotedblbase /quotedblright /guillemotright /ellipsis /perthousand /Adieresis /questiondown
  143. /Agrave /grave /acute /circumflex /tilde /macron /breve /dotaccent
  144. /dieresis /Eacute /ring /cedilla /Ecircumflex /hungarumlaut /ogonek /caron
  145. /emdash /Edieresis /Egrave /Iacute /Icircumflex /Idieresis /Igrave /Oacute
  146. /Ocircumflex /Odieresis /Ograve /Uacute /Ucircumflex /Udieresis /Ugrave /aacute
  147. /acircumflex /AE /adieresis /ordfeminine /agrave /eacute /ecircumflex /edieresis
  148. /egrave /Oslash /OE /ordmasculine /iacute /icircumflex /idieresis /igrave
  149. /oacute /ae /ocircumflex /odieresis /ograve /dotlessi /uacute /ucircumflex
  150. /udieresis /oslash /oe /germandbls /ugrave /Aring /aring /ydieresis
  151. ] def
  152. /PSL_font_encode 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 39 array astore def
  153. /F0 {/Helvetica Y}!
  154. /F1 {/Helvetica-Bold Y}!
  155. /F2 {/Helvetica-Oblique Y}!
  156. /F3 {/Helvetica-BoldOblique Y}!
  157. /F4 {/Times-Roman Y}!
  158. /F5 {/Times-Bold Y}!
  159. /F6 {/Times-Italic Y}!
  160. /F7 {/Times-BoldItalic Y}!
  161. /F8 {/Courier Y}!
  162. /F9 {/Courier-Bold Y}!
  163. /F10 {/Courier-Oblique Y}!
  164. /F11 {/Courier-BoldOblique Y}!
  165. /F12 {/Symbol Y}!
  166. /F13 {/AvantGarde-Book Y}!
  167. /F14 {/AvantGarde-BookOblique Y}!
  168. /F15 {/AvantGarde-Demi Y}!
  169. /F16 {/AvantGarde-DemiOblique Y}!
  170. /F17 {/Bookman-Demi Y}!
  171. /F18 {/Bookman-DemiItalic Y}!
  172. /F19 {/Bookman-Light Y}!
  173. /F20 {/Bookman-LightItalic Y}!
  174. /F21 {/Helvetica-Narrow Y}!
  175. /F22 {/Helvetica-Narrow-Bold Y}!
  176. /F23 {/Helvetica-Narrow-Oblique Y}!
  177. /F24 {/Helvetica-Narrow-BoldOblique Y}!
  178. /F25 {/NewCenturySchlbk-Roman Y}!
  179. /F26 {/NewCenturySchlbk-Italic Y}!
  180. /F27 {/NewCenturySchlbk-Bold Y}!
  181. /F28 {/NewCenturySchlbk-BoldItalic Y}!
  182. /F29 {/Palatino-Roman Y}!
  183. /F30 {/Palatino-Italic Y}!
  184. /F31 {/Palatino-Bold Y}!
  185. /F32 {/Palatino-BoldItalic Y}!
  186. /F33 {/ZapfChancery-MediumItalic Y}!
  187. /F34 {/ZapfDingbats Y}!
  188. /F35 {/Ryumin-Light-EUC-H Y}!
  189. /F36 {/Ryumin-Light-EUC-V Y}!
  190. /F37 {/GothicBBB-Medium-EUC-H Y}!
  191. /F38 {/GothicBBB-Medium-EUC-V Y}!
  192. /PSL_pathtextdict 26 dict def
  193. /PSL_pathtext
  194. {PSL_pathtextdict begin
  195. /textheight exch def
  196. /just exch def
  197. /offset exch def
  198. /str exch def
  199. /pathdist 0 def
  200. /setdist offset def
  201. /charcount 0 def
  202. /justy just 4 idiv textheight mul 2 div neg def
  203. V flattenpath
  204. {movetoproc} {linetoproc}
  205. {curvetoproc} {closepathproc}
  206. pathforall
  207. U N
  208. end
  209. } def
  210. PSL_pathtextdict begin
  211. /movetoproc
  212. { /newy exch def /newx exch def
  213. /firstx newx def /firsty newy def
  214. /ovr 0 def
  215. newx newy transform
  216. /cpy exch def /cpx exch def
  217. } def
  218. /linetoproc
  219. { /oldx newx def /oldy newy def
  220. /newy exch def /newx exch def
  221. /dx newx oldx sub def
  222. /dy newy oldy sub def
  223. /dist dx dup mul dy dup mul add sqrt def
  224. dist 0 ne
  225. { /dsx dx dist div ovr mul def
  226. /dsy dy dist div ovr mul def
  227. oldx dsx add oldy dsy add transform
  228. /cpy exch def /cpx exch def
  229. /pathdist pathdist dist add def
  230. {setdist pathdist le
  231. {charcount str length lt
  232. {setchar} {exit} ifelse}
  233. { /ovr setdist pathdist sub def
  234. exit}
  235. ifelse
  236. } loop
  237. } if
  238. } def
  239. /curvetoproc
  240. { (ERROR: No curveto's after flattenpath!)
  241. print
  242. } def
  243. /closepathproc
  244. {firstx firsty linetoproc
  245. firstx firsty movetoproc
  246. } def
  247. /setchar
  248. { /char str charcount 1 getinterval def
  249. /charcount charcount 1 add def
  250. /charwidth char stringwidth pop def
  251. V cpx cpy itransform T
  252. dy dx atan R
  253. 0 justy M
  254. char show
  255. 0 justy neg G
  256. currentpoint transform
  257. /cpy exch def /cpx exch def
  258. U /setdist setdist charwidth add def
  259. } def
  260. end
  261. /PSL_set_label_heights
  262. {
  263. /PSL_n_labels_minus_1 PSL_n_labels 1 sub def
  264. /PSL_heights PSL_n_labels array def
  265. 0 1 PSL_n_labels_minus_1
  266. { /psl_k exch def
  267. /psl_label PSL_label_str psl_k get def
  268. PSL_label_font psl_k get cvx exec
  269. psl_label sH /PSL_height edef
  270. PSL_heights psl_k PSL_height put
  271. } for
  272. } def
  273. %%%%%%%%%%%%%%%%%%% CURVED BASELINE TEXT PLACEMENT FUNCTIONS
  274. /PSL_curved_path_labels
  275. { /psl_bits exch def
  276. /PSL_placetext psl_bits 2 and 2 eq def
  277. /PSL_clippath psl_bits 4 and 4 eq def
  278. /PSL_strokeline false def
  279. /PSL_fillbox psl_bits 128 and 128 eq def
  280. /PSL_drawbox psl_bits 256 and 256 eq def
  281. /PSL_n_paths1 PSL_n_paths 1 sub def
  282. /PSL_usebox PSL_fillbox PSL_drawbox or def
  283. PSL_clippath {clipsave N clippath} if
  284. /psl_k 0 def
  285. /psl_p 0 def
  286. 0 1 PSL_n_paths1
  287. { /psl_kk exch def
  288. /PSL_n PSL_path_n psl_kk get def
  289. /PSL_m PSL_label_n psl_kk get def
  290. /PSL_x PSL_path_x psl_k PSL_n getinterval def
  291. /PSL_y PSL_path_y psl_k PSL_n getinterval def
  292. /PSL_node PSL_label_node psl_p PSL_m getinterval def
  293. /PSL_angle PSL_label_angle psl_p PSL_m getinterval def
  294. /PSL_str PSL_label_str psl_p PSL_m getinterval def
  295. /PSL_fnt PSL_label_font psl_p PSL_m getinterval def
  296. PSL_curved_path_label
  297. /psl_k psl_k PSL_n add def
  298. /psl_p psl_p PSL_m add def
  299. } for
  300. PSL_clippath {PSL_clip} if N
  301. } def
  302. /PSL_curved_path_label
  303. {
  304. /PSL_n1 PSL_n 1 sub def
  305. /PSL_m1 PSL_m 1 sub def
  306. PSL_CT_calcstringwidth
  307. PSL_CT_calclinedist
  308. PSL_CT_addcutpoints
  309. /PSL_nn1 PSL_nn 1 sub def
  310. /n 0 def
  311. /k 0 def
  312. /j 0 def
  313. /PSL_seg 0 def
  314. /PSL_xp PSL_nn array def
  315. /PSL_yp PSL_nn array def
  316. PSL_xp 0 PSL_xx 0 get put
  317. PSL_yp 0 PSL_yy 0 get put
  318. 1 1 PSL_nn1
  319. { /i exch def
  320. /node_type PSL_kind i get def
  321. /j j 1 add def
  322. PSL_xp j PSL_xx i get put
  323. PSL_yp j PSL_yy i get put
  324. node_type 1 eq
  325. {n 0 eq
  326. {PSL_CT_drawline}
  327. { PSL_CT_reversepath
  328. PSL_CT_textline} ifelse
  329. /j 0 def
  330. PSL_xp j PSL_xx i get put
  331. PSL_yp j PSL_yy i get put
  332. } if
  333. } for
  334. n 0 eq {PSL_CT_drawline} if
  335. } def
  336. /PSL_CT_textline
  337. { PSL_fnt k get cvx exec
  338. /PSL_height PSL_heights k get def
  339. PSL_placetext {PSL_CT_placelabel} if
  340. PSL_clippath {PSL_CT_clippath} if
  341. /n 0 def /k k 1 add def
  342. } def
  343. /PSL_CT_calcstringwidth
  344. { /PSL_width PSL_m array def
  345. 0 1 PSL_m1
  346. { /i exch def
  347. PSL_fnt i get cvx exec
  348. PSL_width i PSL_str i get stringwidth pop put
  349. } for
  350. } def
  351. /PSL_CT_calclinedist
  352. { /PSL_newx PSL_x 0 get def
  353. /PSL_newy PSL_y 0 get def
  354. /dist 0.0 def
  355. /PSL_dist PSL_n array def
  356. PSL_dist 0 0.0 put
  357. 1 1 PSL_n1
  358. { /i exch def
  359. /PSL_oldx PSL_newx def
  360. /PSL_oldy PSL_newy def
  361. /PSL_newx PSL_x i get def
  362. /PSL_newy PSL_y i get def
  363. /dx PSL_newx PSL_oldx sub def
  364. /dy PSL_newy PSL_oldy sub def
  365. /dist dist dx dx mul dy dy mul add sqrt add def
  366. PSL_dist i dist put
  367. } for
  368. } def
  369. /PSL_CT_addcutpoints
  370. { /k 0 def
  371. /PSL_nc PSL_m 2 mul 1 add def
  372. /PSL_cuts PSL_nc array def
  373. /PSL_nc1 PSL_nc 1 sub def
  374. 0 1 PSL_m1
  375. { /i exch def
  376. /dist PSL_dist PSL_node i get get def
  377. /halfwidth PSL_width i get 2 div PSL_gap_x add def
  378. PSL_cuts k dist halfwidth sub put
  379. /k k 1 add def
  380. PSL_cuts k dist halfwidth add put
  381. /k k 1 add def
  382. } for
  383. PSL_cuts k 100000.0 put
  384. /PSL_nn PSL_n PSL_m 2 mul add def
  385. /PSL_xx PSL_nn array def
  386. /PSL_yy PSL_nn array def
  387. /PSL_kind PSL_nn array def
  388. /j 0 def
  389. /k 0 def
  390. /dist 0.0 def
  391. 0 1 PSL_n1
  392. { /i exch def
  393. /last_dist dist def
  394. /dist PSL_dist i get def
  395. k 1 PSL_nc1
  396. { /kk exch def
  397. /this_cut PSL_cuts kk get def
  398. dist this_cut gt
  399. { /ds dist last_dist sub def
  400. /f ds 0.0 eq {0.0} {dist this_cut sub ds div} ifelse def
  401. /i1 i 0 eq {0} {i 1 sub} ifelse def
  402. PSL_xx j PSL_x i get dup PSL_x i1 get sub f mul sub put
  403. PSL_yy j PSL_y i get dup PSL_y i1 get sub f mul sub put
  404. PSL_kind j 1 put
  405. /j j 1 add def
  406. /k k 1 add def
  407. } if
  408. } for
  409. dist PSL_cuts k get le
  410. {PSL_xx j PSL_x i get put PSL_yy j PSL_y i get put
  411. PSL_kind j 0 put
  412. /j j 1 add def
  413. } if
  414. } for
  415. } def
  416. /PSL_CT_reversepath
  417. {PSL_xp j get PSL_xp 0 get lt
  418. {0 1 j 2 idiv
  419. { /left exch def
  420. /right j left sub def
  421. /tmp PSL_xp left get def
  422. PSL_xp left PSL_xp right get put
  423. PSL_xp right tmp put
  424. /tmp PSL_yp left get def
  425. PSL_yp left PSL_yp right get put
  426. PSL_yp right tmp put
  427. } for
  428. } if
  429. } def
  430. /PSL_CT_placelabel
  431. {
  432. /PSL_just PSL_label_justify k get def
  433. /PSL_height PSL_heights k get def
  434. PSL_usebox
  435. {PSL_CT_clippath
  436. PSL_fillbox
  437. {V PSL_setboxrgb fill U} if
  438. PSL_drawbox
  439. {V PSL_setboxpen S U} if N
  440. } if
  441. PSL_CT_placeline PSL_str k get PSL_gap_x PSL_just PSL_height PSL_pathtext
  442. } def
  443. /PSL_CT_clippath
  444. {
  445. /H PSL_height 2 div PSL_gap_y add def
  446. /xoff j 1 add array def
  447. /yoff j 1 add array def
  448. /angle 0 def
  449. 0 1 j {
  450. /ii exch def
  451. /x PSL_xp ii get def
  452. /y PSL_yp ii get def
  453. ii 0 eq {
  454. /x1 PSL_xp 1 get def
  455. /y1 PSL_yp 1 get def
  456. /dx x1 x sub def
  457. /dy y1 y sub def
  458. }
  459. { /i1 ii 1 sub def
  460. /x1 PSL_xp i1 get def
  461. /y1 PSL_yp i1 get def
  462. /dx x x1 sub def
  463. /dy y y1 sub def
  464. } ifelse
  465. dx 0.0 ne dy 0.0 ne and
  466. { /angle dy dx atan 90 add def} if
  467. /sina angle sin def
  468. /cosa angle cos def
  469. xoff ii H cosa mul put
  470. yoff ii H sina mul put
  471. } for
  472. PSL_xp 0 get xoff 0 get add PSL_yp 0 get yoff 0 get add M
  473. 1 1 j {
  474. /ii exch def
  475. PSL_xp ii get xoff ii get add PSL_yp ii get yoff ii get add L
  476. } for
  477. j -1 0 {
  478. /ii exch def
  479. PSL_xp ii get xoff ii get sub PSL_yp ii get yoff ii get sub L
  480. } for P
  481. } def
  482. /PSL_CT_drawline
  483. {
  484. /str 20 string def
  485. PSL_strokeline
  486. {PSL_CT_placeline S} if
  487. /PSL_seg PSL_seg 1 add def
  488. /n 1 def
  489. } def
  490. /PSL_CT_placeline
  491. {PSL_xp 0 get PSL_yp 0 get M
  492. 1 1 j { /ii exch def PSL_xp ii get PSL_yp ii get L} for
  493. } def
  494. %%%%%%%%%%%%%%%%%%% DRAW BASELINE TEXT SEGMENT LINES
  495. /PSL_draw_path_lines
  496. {
  497. /PSL_n_paths1 PSL_n_paths 1 sub def
  498. V
  499. /psl_start 0 def
  500. 0 1 PSL_n_paths1
  501. { /psl_k exch def
  502. /PSL_n PSL_path_n psl_k get def
  503. /PSL_n1 PSL_n 1 sub def
  504. PSL_path_pen psl_k get cvx exec
  505. N
  506. PSL_path_x psl_start get PSL_path_y psl_start get M
  507. 1 1 PSL_n1
  508. { /psl_i exch def
  509. /psl_kk psl_i psl_start add def
  510. PSL_path_x psl_kk get PSL_path_y psl_kk get L
  511. } for
  512. S
  513. /psl_start psl_start PSL_n add def
  514. } for
  515. U
  516. } def
  517. %%%%%%%%%%%%%%%%%%% STRAIGHT BASELINE TEXT PLACEMENT FUNCTIONS
  518. /PSL_straight_path_labels
  519. {
  520. /psl_bits exch def
  521. /PSL_placetext psl_bits 2 and 2 eq def
  522. /PSL_rounded psl_bits 32 and 32 eq def
  523. /PSL_fillbox psl_bits 128 and 128 eq def
  524. /PSL_drawbox psl_bits 256 and 256 eq def
  525. /PSL_n_labels_minus_1 PSL_n_labels 1 sub def
  526. /PSL_usebox PSL_fillbox PSL_drawbox or def
  527. 0 1 PSL_n_labels_minus_1
  528. { /psl_k exch def
  529. PSL_ST_prepare_text
  530. PSL_usebox
  531. { PSL_rounded
  532. {PSL_ST_textbox_rect}
  533. {PSL_ST_textbox_round}
  534. ifelse
  535. PSL_fillbox {V PSL_setboxrgb fill U} if
  536. PSL_drawbox {V PSL_setboxpen S U} if
  537. N
  538. } if
  539. PSL_placetext {PSL_ST_place_label} if
  540. } for
  541. } def
  542. /PSL_straight_path_clip
  543. {
  544. /psl_bits exch def
  545. /PSL_rounded psl_bits 32 and 32 eq def
  546. /PSL_n_labels_minus_1 PSL_n_labels 1 sub def
  547. N clipsave clippath
  548. 0 1 PSL_n_labels_minus_1
  549. { /psl_k exch def
  550. PSL_ST_prepare_text
  551. PSL_rounded
  552. {PSL_ST_textbox_round}
  553. {PSL_ST_textbox_rect}
  554. ifelse
  555. } for
  556. PSL_clip
  557. } def
  558. /PSL_ST_prepare_text
  559. {
  560. /psl_xp PSL_txt_x psl_k get def
  561. /psl_yp PSL_txt_y psl_k get def
  562. /psl_label PSL_label_str psl_k get def
  563. PSL_label_font psl_k get cvx exec
  564. /PSL_height PSL_heights psl_k get def
  565. /psl_boxH PSL_height PSL_gap_y 2 mul add def
  566. /PSL_just PSL_label_justify psl_k get def
  567. /PSL_justx PSL_just 4 mod 1 sub 2 div neg def
  568. /PSL_justy PSL_just 4 idiv 2 div neg def
  569. /psl_SW psl_label stringwidth pop def
  570. /psl_boxW psl_SW PSL_gap_x 2 mul add def
  571. /psl_x0 psl_SW PSL_justx mul def
  572. /psl_y0 PSL_justy PSL_height mul def
  573. /psl_angle PSL_label_angle psl_k get def
  574. } def
  575. /PSL_ST_textbox_rect
  576. {
  577. psl_xp psl_yp T psl_angle R psl_x0 psl_y0 T
  578. PSL_gap_x neg PSL_gap_y neg M
  579. 0 psl_boxH D psl_boxW 0 D 0 psl_boxH neg D P
  580. psl_x0 neg psl_y0 neg T psl_angle neg R psl_xp neg psl_yp neg T
  581. } def
  582. /PSL_ST_textbox_round
  583. {
  584. /psl_BoxR PSL_gap_x PSL_gap_y lt {PSL_gap_x} {PSL_gap_y} ifelse def
  585. /psl_xd PSL_gap_x psl_BoxR sub def
  586. /psl_yd PSL_gap_y psl_BoxR sub def
  587. /psl_xL PSL_gap_x neg def
  588. /psl_yB PSL_gap_y neg def
  589. /psl_yT psl_boxH psl_yB add def
  590. /psl_H2 PSL_height psl_yd 2 mul add def
  591. /psl_W2 psl_SW psl_xd 2 mul add def
  592. /psl_xR psl_xL psl_boxW add def
  593. /psl_x0 psl_SW PSL_justx mul def
  594. psl_xp psl_yp T psl_angle R psl_x0 psl_y0 T
  595. psl_xL psl_yd M
  596. psl_xL psl_yT psl_xR psl_yT psl_BoxR arct psl_W2 0 D
  597. psl_xR psl_yT psl_xR psl_yB psl_BoxR arct 0 psl_H2 neg D
  598. psl_xR psl_yB psl_xL psl_yB psl_BoxR arct psl_W2 neg 0 D
  599. psl_xL psl_yB psl_xL psl_yd psl_BoxR arct P
  600. psl_x0 neg psl_y0 neg T psl_angle neg R psl_xp neg psl_yp neg T
  601. } def
  602. /PSL_ST_place_label
  603. {
  604. V psl_xp psl_yp T psl_angle R
  605. psl_SW PSL_justx mul psl_y0 M
  606. psl_label show
  607. U
  608. } def
  609. /PSL_nclip 0 def
  610. /PSL_clip {clip /PSL_nclip PSL_nclip 1 add def} def
  611. /PSL_eoclip {eoclip /PSL_nclip PSL_nclip 1 add def} def
  612. /PSL_cliprestore {cliprestore /PSL_nclip PSL_nclip 1 sub def} def
  613. %%EndProlog
  614. %%BeginSetup
  615. /PSLevel /languagelevel where {pop languagelevel} {1} ifelse def
  616. PSLevel 1 gt { << /PageSize [612 792] /ImagingBBox null >> setpagedevice } if
  617. %%EndSetup
  618. %%Page: 1 1
  619. %%BeginPageSetup
  620. V 0.06 0.06 scale
  621. %%EndPageSetup
  622. /PSL_page_xsize 10200 def
  623. /PSL_page_ysize 13200 def
  624. 0 A
  625. FQ
  626. O0
  627. 1200 1200 TM
  628. % PostScript produced by:
  629. %%GMT: psxy -Baf '-B+tRed ellipse should repeat at west boundary' -R-280/80/-70/70 -JM6i -P -K -W3p,blue -Gred -Sei
  630. %%PROJ: merc -280.00000000 80.00000000 -70.00000000 70.00000000 -20037508.343 20037508.343 -11028513.631 11028513.631 +proj=merc +lon_0=-100 +k=-1 +x_0=0 +y_0=0 +a=6378137.000 +b=6356752.314245
  631. %%BeginObject PSL_Layer_1
  632. 0 setlinecap
  633. 0 setlinejoin
  634. 3.32551 setmiterlimit
  635. clipsave
  636. 0 0 M
  637. 7200 0 D
  638. 0 3963 D
  639. -7200 0 D
  640. PSL_clip N
  641. 50 W
  642. 0 0 1 C
  643. V
  644. {1 0 0 C} FS
  645. O1
  646. 1800 900 30 6600 1981 Se
  647. U
  648. PSL_cliprestore
  649. 0 A
  650. 8 W
  651. N 800 0 M 0 -83 D S
  652. N 800 3963 M 0 83 D S
  653. N 2000 0 M 0 -83 D S
  654. N 2000 3963 M 0 83 D S
  655. N 3200 0 M 0 -83 D S
  656. N 3200 3963 M 0 83 D S
  657. N 4400 0 M 0 -83 D S
  658. N 4400 3963 M 0 83 D S
  659. N 5600 0 M 0 -83 D S
  660. N 5600 3963 M 0 83 D S
  661. N 6800 0 M 0 -83 D S
  662. N 6800 3963 M 0 83 D S
  663. N 7200 479 M 83 0 D S
  664. N 0 479 M -83 0 D S
  665. N 7200 479 M 83 0 D S
  666. N 0 479 M -83 0 D S
  667. N 7200 1981 M 83 0 D S
  668. N 0 1981 M -83 0 D S
  669. N 7200 1981 M 83 0 D S
  670. N 0 1981 M -83 0 D S
  671. N 7200 3484 M 83 0 D S
  672. N 0 3484 M -83 0 D S
  673. N 7200 3484 M 83 0 D S
  674. N 0 3484 M -83 0 D S
  675. /PSL_H_y 400 PSL_font_encode 0 get 0 eq {Standard+_Encoding /Helvetica /Helvetica PSL_reencode PSL_font_encode 0 1 put} if
  676. 200 F0
  677. (100\312) sh add def
  678. 3600 3963 PSL_H_y add M
  679. 400 F0
  680. (Red ellipse should repeat at west boundary) bc Z
  681. 800 -167 M 200 F0
  682. (120Ê) tc Z
  683. 800 4129 M (120Ê) bc Z
  684. 2000 -167 M (-180Ê) tc Z
  685. 2000 4129 M (-180Ê) bc Z
  686. 3200 -167 M (-120Ê) tc Z
  687. 3200 4129 M (-120Ê) bc Z
  688. 4400 -167 M (-60Ê) tc Z
  689. 4400 4129 M (-60Ê) bc Z
  690. 5600 -167 M (0Ê) tc Z
  691. 5600 4129 M (0Ê) bc Z
  692. 6800 -167 M (60Ê) tc Z
  693. 6800 4129 M (60Ê) bc Z
  694. -167 479 M (-60Ê) mr Z
  695. 7367 479 M (-60Ê) ml Z
  696. -167 1981 M (0Ê) mr Z
  697. 7367 1981 M (0Ê) ml Z
  698. -167 3484 M (60Ê) mr Z
  699. 7367 3484 M (60Ê) ml Z
  700. 83 W
  701. 1 A
  702. N -42 0 M 0 479 D S
  703. N 7242 0 M 0 479 D S
  704. 0 A
  705. N -42 479 M 0 498 D S
  706. N 7242 479 M 0 498 D S
  707. 1 A
  708. N -42 977 M 0 379 D S
  709. N 7242 977 M 0 379 D S
  710. 0 A
  711. N -42 1356 M 0 324 D S
  712. N 7242 1356 M 0 324 D S
  713. 1 A
  714. N -42 1680 M 0 301 D S
  715. N 7242 1680 M 0 301 D S
  716. 0 A
  717. N -42 1981 M 0 302 D S
  718. N 7242 1981 M 0 302 D S
  719. 1 A
  720. N -42 2283 M 0 324 D S
  721. N 7242 2283 M 0 324 D S
  722. 0 A
  723. N -42 2607 M 0 379 D S
  724. N 7242 2607 M 0 379 D S
  725. 1 A
  726. N -42 2986 M 0 498 D S
  727. N 7242 2986 M 0 498 D S
  728. 0 A
  729. N -42 3484 M 0 479 D S
  730. N 7242 3484 M 0 479 D S
  731. 1 A
  732. N 0 -42 M 200 0 D S
  733. N 0 4004 M 200 0 D S
  734. 0 A
  735. N 200 -42 M 300 0 D S
  736. N 200 4004 M 300 0 D S
  737. 1 A
  738. N 500 -42 M 300 0 D S
  739. N 500 4004 M 300 0 D S
  740. 0 A
  741. N 800 -42 M 300 0 D S
  742. N 800 4004 M 300 0 D S
  743. 1 A
  744. N 1100 -42 M 300 0 D S
  745. N 1100 4004 M 300 0 D S
  746. 0 A
  747. N 1400 -42 M 300 0 D S
  748. N 1400 4004 M 300 0 D S
  749. 1 A
  750. N 1700 -42 M 300 0 D S
  751. N 1700 4004 M 300 0 D S
  752. 0 A
  753. N 2000 -42 M 300 0 D S
  754. N 2000 4004 M 300 0 D S
  755. 1 A
  756. N 2300 -42 M 300 0 D S
  757. N 2300 4004 M 300 0 D S
  758. 0 A
  759. N 2600 -42 M 300 0 D S
  760. N 2600 4004 M 300 0 D S
  761. 1 A
  762. N 2900 -42 M 300 0 D S
  763. N 2900 4004 M 300 0 D S
  764. 0 A
  765. N 3200 -42 M 300 0 D S
  766. N 3200 4004 M 300 0 D S
  767. 1 A
  768. N 3500 -42 M 300 0 D S
  769. N 3500 4004 M 300 0 D S
  770. 0 A
  771. N 3800 -42 M 300 0 D S
  772. N 3800 4004 M 300 0 D S
  773. 1 A
  774. N 4100 -42 M 300 0 D S
  775. N 4100 4004 M 300 0 D S
  776. 0 A
  777. N 4400 -42 M 300 0 D S
  778. N 4400 4004 M 300 0 D S
  779. 1 A
  780. N 4700 -42 M 300 0 D S
  781. N 4700 4004 M 300 0 D S
  782. 0 A
  783. N 5000 -42 M 300 0 D S
  784. N 5000 4004 M 300 0 D S
  785. 1 A
  786. N 5300 -42 M 300 0 D S
  787. N 5300 4004 M 300 0 D S
  788. 0 A
  789. N 5600 -42 M 300 0 D S
  790. N 5600 4004 M 300 0 D S
  791. 1 A
  792. N 5900 -42 M 300 0 D S
  793. N 5900 4004 M 300 0 D S
  794. 0 A
  795. N 6200 -42 M 300 0 D S
  796. N 6200 4004 M 300 0 D S
  797. 1 A
  798. N 6500 -42 M 300 0 D S
  799. N 6500 4004 M 300 0 D S
  800. 0 A
  801. N 6800 -42 M 300 0 D S
  802. N 6800 4004 M 300 0 D S
  803. 1 A
  804. N 7100 -42 M 100 0 D S
  805. N 7100 4004 M 100 0 D S
  806. 0 A
  807. 8 W
  808. N -83 0 M 7366 0 D S
  809. N -83 -83 M 7366 0 D S
  810. N 7200 -83 M 0 4129 D S
  811. N 7283 -83 M 0 4129 D S
  812. N 7283 3963 M -7366 0 D S
  813. N 7283 4046 M -7366 0 D S
  814. N 0 4046 M 0 -4129 D S
  815. N -83 4046 M 0 -4129 D S
  816. %%EndObject
  817. 0 A
  818. FQ
  819. O0
  820. 0 0 TM
  821. % PostScript produced by:
  822. %%GMT: psxy -R-280/80/-70/70 -JM6i -O -W2p,white -Ggreen -Sei
  823. %%PROJ: merc -280.00000000 80.00000000 -70.00000000 70.00000000 -20037508.343 20037508.343 -11028513.631 11028513.631 +proj=merc +lon_0=-100 +k=-1 +x_0=0 +y_0=0 +a=6378137.000 +b=6356752.314245
  824. %%BeginObject PSL_Layer_2
  825. 0 setlinecap
  826. 0 setlinejoin
  827. 3.32551 setmiterlimit
  828. clipsave
  829. 0 0 M
  830. 7200 0 D
  831. 0 3963 D
  832. -7200 0 D
  833. PSL_clip N
  834. 33 W
  835. 1 A
  836. V
  837. {0 1 0 C} FS
  838. O1
  839. 600 300 120 6600 1981 Se
  840. U
  841. PSL_cliprestore
  842. %%EndObject
  843. %%PageTrailer
  844. U
  845. showpage
  846. %%Trailer
  847. end
  848. %%EOF
Tip!

Press p or to see the previous file or, n or to see the next file

Comments

Loading...