-
Notifications
You must be signed in to change notification settings - Fork 5
/
str.ps
61 lines (48 loc) · 1021 Bytes
/
str.ps
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
%require "common.ps"
%require "rect.ps"
%require "break.ps"
% arrow from PVX
newpath 97.5 292.5 2 0 360 arc fill
97.5 292.5 M 113 292.5 L stroke
113 290 M 120 292.5 L 113 295 L closepath fill
% char* box
gsave
0.8 setgray
190 285 220 300 rect F
grestore
0.5 setlinewidth
130 10 210 {
dup 300 M 285 L S
} for
1 setlinewidth
120 285 220 300 rect S
/Courier 8 SF
220 302 M (char[]) rshow
125 290 M
[(a) (b) (c) (?) (x) (y) (z) (\\0)] {
gsave
dup stringwidth pop 2 div neg 0 RM show
grestore
10 0 RM
} forall
%break in the midle of char*
153 300 break
% Some lines indicating the value of CUR/LEN
gsave
red
% CUR length
0.5 setlinewidth
120 275 M 120 280 L
120 277.5 M 190 277.5 L
190 275 M 190 280 L
stroke
120 277.5 M 124 279 L 124 276 L closepath fill
190 277.5 M 186 279 L 186 276 L closepath fill
% LEN length
120 265 M 120 260 L
120 262.5 M 220 262.5 L
220 265 M 220 260 L
stroke
120 262.5 M 124 264 L 124 261 L closepath fill
220 262.5 M 216 264 L 216 261 L closepath fill
grestore