blob: f83676cd3a2d4abd7dc668681e0c1f937a94c741 (
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
|
%!PS-Adobe-2.0
%
% Listing up all the kanji characters
% Akira Tanaka <akr@jaist.ac.jp> modified for gs5.10-vflib-1.3. 1998/05/12
/LEFT 110 def
/TOP 750 def
/BOTTOM 50 def
/SIZE 28 def
/FONT_NAME /Ryumin-Light-H def
/FONT_WIDTH 1000 def
/FONT_DESCENT 120 def
/FONT_ASCENT 880 def
/FONT_HEIGHT FONT_ASCENT FONT_DESCENT add def
% Initialize
/FONT_WIDTH FONT_WIDTH 1000 div SIZE mul def
/FONT_DESCENT FONT_DESCENT 1000 div SIZE mul def
/FONT_ASCENT FONT_ASCENT 1000 div SIZE mul def
/FONT_HEIGHT FONT_HEIGHT 1000 div SIZE mul def
/NUM_FONT /Courier findfont SIZE scalefont def
/NUM_WIDTH gsave NUM_FONT setfont (0) stringwidth pop def grestore
/LINES TOP BOTTOM sub FONT_HEIGHT div cvi def
/STR2 2 string def
/NEWLINE {
/ROW_CODE CODE 16 idiv 16 mul def
/LINE LINE 1 add def
LINE LINES eq { NEWPAGE } if
/BASE_LINE TOP LINE FONT_HEIGHT mul sub FONT_ASCENT sub def
% Draw Lines and Numbers
gsave
NUM_FONT setfont
LEFT NUM_WIDTH 5 mul sub BASE_LINE moveto
ROW_CODE 16 4 string cvrs show
LEFT TOP LINE FONT_HEIGHT mul sub moveto
0 FONT_HEIGHT neg rlineto FONT_WIDTH 16 mul 0 rlineto
0 FONT_HEIGHT rlineto
closepath stroke
0 1 15 {
/COLUMN exch def
LEFT FONT_WIDTH COLUMN 1 add mul add
TOP LINE FONT_HEIGHT mul sub
moveto
0 FONT_HEIGHT neg rlineto
stroke
LINE 0 eq {
LEFT COLUMN FONT_WIDTH mul add
FONT_WIDTH NUM_WIDTH sub 2 div add
TOP FONT_DESCENT add
moveto
COLUMN 16 1 string cvrs
show
} if
} for
grestore
} def
/NEWPAGE { showpage /LINE 0 def } def
%
% List up Characters
%
FONT_NAME findfont SIZE scalefont setfont
/LINE -1 def
/ROW_CODE 0 def
[[16#2121 16#227E]
[16#2330 16#2658]
[16#2721 16#2771]
[16#2821 16#2841]
[16#3021 16#4F53]
[16#5021 16#7426]]
{
dup 0 get /FROM exch def 1 get /TO exch def
FROM 1 TO {
/CODE exch def
CODE 256 mod dup 16#21 ge exch 16#7E le and {
CODE 16 idiv 16 mul ROW_CODE ne { NEWLINE } if
LEFT CODE 16 mod FONT_WIDTH mul add BASE_LINE moveto
STR2 0 CODE 256 idiv put
STR2 1 CODE 256 mod put
STR2 show
} if
} for
} forall
showpage
|