rghost_barcode 0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/doc/classes/RGhost.html +109 -0
- data/lib/doc/classes/RGhost/Barcode.html +147 -0
- data/lib/doc/classes/RGhost/Barcode/Auspost.html +113 -0
- data/lib/doc/classes/RGhost/Barcode/Azteccode.html +113 -0
- data/lib/doc/classes/RGhost/Barcode/Base.html +266 -0
- data/lib/doc/classes/RGhost/Barcode/Base.src/M000004.html +34 -0
- data/lib/doc/classes/RGhost/Barcode/Base.src/M000005.html +30 -0
- data/lib/doc/classes/RGhost/Barcode/Base.src/M000006.html +20 -0
- data/lib/doc/classes/RGhost/Barcode/Border.html +170 -0
- data/lib/doc/classes/RGhost/Barcode/Border.src/M000001.html +27 -0
- data/lib/doc/classes/RGhost/Barcode/Code11.html +113 -0
- data/lib/doc/classes/RGhost/Barcode/Code128.html +113 -0
- data/lib/doc/classes/RGhost/Barcode/Code2of5.html +113 -0
- data/lib/doc/classes/RGhost/Barcode/Code39.html +113 -0
- data/lib/doc/classes/RGhost/Barcode/Code93.html +113 -0
- data/lib/doc/classes/RGhost/Barcode/Datamatrix.html +113 -0
- data/lib/doc/classes/RGhost/Barcode/Ean13.html +113 -0
- data/lib/doc/classes/RGhost/Barcode/Ean2.html +113 -0
- data/lib/doc/classes/RGhost/Barcode/Ean5.html +113 -0
- data/lib/doc/classes/RGhost/Barcode/Ean8.html +113 -0
- data/lib/doc/classes/RGhost/Barcode/Guard.html +174 -0
- data/lib/doc/classes/RGhost/Barcode/Guard.src/M000003.html +27 -0
- data/lib/doc/classes/RGhost/Barcode/Interleaved2of5.html +113 -0
- data/lib/doc/classes/RGhost/Barcode/Isbn.html +113 -0
- data/lib/doc/classes/RGhost/Barcode/Kix.html +113 -0
- data/lib/doc/classes/RGhost/Barcode/Maxicode.html +113 -0
- data/lib/doc/classes/RGhost/Barcode/Msi.html +113 -0
- data/lib/doc/classes/RGhost/Barcode/Onecode.html +113 -0
- data/lib/doc/classes/RGhost/Barcode/Parameter.html +262 -0
- data/lib/doc/classes/RGhost/Barcode/Parameter.src/M000007.html +20 -0
- data/lib/doc/classes/RGhost/Barcode/Parameter.src/M000008.html +18 -0
- data/lib/doc/classes/RGhost/Barcode/Parameter.src/M000009.html +18 -0
- data/lib/doc/classes/RGhost/Barcode/Parameter.src/M000010.html +18 -0
- data/lib/doc/classes/RGhost/Barcode/Parameter.src/M000011.html +18 -0
- data/lib/doc/classes/RGhost/Barcode/Parameter.src/M000012.html +24 -0
- data/lib/doc/classes/RGhost/Barcode/Parameter.src/M000013.html +18 -0
- data/lib/doc/classes/RGhost/Barcode/Parameter.src/M000014.html +18 -0
- data/lib/doc/classes/RGhost/Barcode/Parameter.src/M000015.html +16 -0
- data/lib/doc/classes/RGhost/Barcode/Pdf417.html +113 -0
- data/lib/doc/classes/RGhost/Barcode/Pharmacode.html +113 -0
- data/lib/doc/classes/RGhost/Barcode/Plessey.html +113 -0
- data/lib/doc/classes/RGhost/Barcode/Postnet.html +113 -0
- data/lib/doc/classes/RGhost/Barcode/Qrcode.html +113 -0
- data/lib/doc/classes/RGhost/Barcode/Rationalizedcodabar.html +113 -0
- data/lib/doc/classes/RGhost/Barcode/Raw.html +113 -0
- data/lib/doc/classes/RGhost/Barcode/Royalmail.html +113 -0
- data/lib/doc/classes/RGhost/Barcode/Rss14.html +113 -0
- data/lib/doc/classes/RGhost/Barcode/Rssexpanded.html +113 -0
- data/lib/doc/classes/RGhost/Barcode/Rsslimited.html +113 -0
- data/lib/doc/classes/RGhost/Barcode/Symbol.html +113 -0
- data/lib/doc/classes/RGhost/Barcode/Text.html +193 -0
- data/lib/doc/classes/RGhost/Barcode/Text.src/M000002.html +30 -0
- data/lib/doc/classes/RGhost/Barcode/Upca.html +113 -0
- data/lib/doc/classes/RGhost/Barcode/Upce.html +113 -0
- data/lib/doc/classes/RGhost/Config.html +150 -0
- data/lib/doc/classes/RGhost/Config.src/M000016.html +45 -0
- data/lib/doc/classes/RGhost/Document.html +704 -0
- data/lib/doc/classes/RGhost/Document.src/M000017.html +19 -0
- data/lib/doc/classes/RGhost/Document.src/M000018.html +18 -0
- data/lib/doc/classes/RGhost/Document.src/M000019.html +18 -0
- data/lib/doc/classes/RGhost/Document.src/M000020.html +18 -0
- data/lib/doc/classes/RGhost/Document.src/M000021.html +18 -0
- data/lib/doc/classes/RGhost/Document.src/M000022.html +18 -0
- data/lib/doc/classes/RGhost/Document.src/M000023.html +18 -0
- data/lib/doc/classes/RGhost/Document.src/M000024.html +18 -0
- data/lib/doc/classes/RGhost/Document.src/M000025.html +18 -0
- data/lib/doc/classes/RGhost/Document.src/M000026.html +18 -0
- data/lib/doc/classes/RGhost/Document.src/M000027.html +18 -0
- data/lib/doc/classes/RGhost/Document.src/M000028.html +18 -0
- data/lib/doc/classes/RGhost/Document.src/M000029.html +18 -0
- data/lib/doc/classes/RGhost/Document.src/M000030.html +18 -0
- data/lib/doc/classes/RGhost/Document.src/M000031.html +18 -0
- data/lib/doc/classes/RGhost/Document.src/M000032.html +18 -0
- data/lib/doc/classes/RGhost/Document.src/M000033.html +18 -0
- data/lib/doc/classes/RGhost/Document.src/M000034.html +18 -0
- data/lib/doc/classes/RGhost/Document.src/M000035.html +18 -0
- data/lib/doc/classes/RGhost/Document.src/M000036.html +18 -0
- data/lib/doc/classes/RGhost/Document.src/M000037.html +18 -0
- data/lib/doc/classes/RGhost/Document.src/M000038.html +18 -0
- data/lib/doc/classes/RGhost/Document.src/M000039.html +18 -0
- data/lib/doc/classes/RGhost/Document.src/M000040.html +18 -0
- data/lib/doc/classes/RGhost/Document.src/M000041.html +18 -0
- data/lib/doc/classes/RGhost/Document.src/M000042.html +18 -0
- data/lib/doc/classes/RGhost/Document.src/M000043.html +18 -0
- data/lib/doc/classes/RGhost/Document.src/M000044.html +18 -0
- data/lib/doc/classes/RGhost/Document.src/M000045.html +18 -0
- data/lib/doc/classes/RGhost/Document.src/M000046.html +18 -0
- data/lib/doc/classes/RGhost/Document.src/M000047.html +18 -0
- data/lib/doc/classes/RGhost/Document.src/M000048.html +18 -0
- data/lib/doc/created.rid +1 -0
- data/lib/doc/files/rghost_barcode/rghost_barcode_adapter_rb.html +101 -0
- data/lib/doc/files/rghost_barcode/rghost_barcode_base_rb.html +101 -0
- data/lib/doc/files/rghost_barcode/rghost_barcode_classes_rb.html +101 -0
- data/lib/doc/files/rghost_barcode/rghost_barcode_examples_rb.html +101 -0
- data/lib/doc/files/rghost_barcode/rghost_barcode_version_rb.html +101 -0
- data/lib/doc/files/rghost_barcode_rb.html +111 -0
- data/lib/doc/files/teste_main_rb.html +110 -0
- data/lib/doc/fr_class_index.html +67 -0
- data/lib/doc/fr_file_index.html +33 -0
- data/lib/doc/fr_method_index.html +74 -0
- data/lib/doc/index.html +24 -0
- data/lib/rghost_barcode.rb +7 -0
- data/lib/rghost_barcode/ps/auspost.ps +192 -0
- data/lib/rghost_barcode/ps/azteccode.ps +357 -0
- data/lib/rghost_barcode/ps/barcode_template.eps +1193 -0
- data/lib/rghost_barcode/ps/code11.ps +128 -0
- data/lib/rghost_barcode/ps/code128.ps +121 -0
- data/lib/rghost_barcode/ps/code2of5.ps +106 -0
- data/lib/rghost_barcode/ps/code39.ps +109 -0
- data/lib/rghost_barcode/ps/code93.ps +117 -0
- data/lib/rghost_barcode/ps/datamatrix.ps +328 -0
- data/lib/rghost_barcode/ps/ean13.ps +183 -0
- data/lib/rghost_barcode/ps/ean2.ps +101 -0
- data/lib/rghost_barcode/ps/ean5.ps +116 -0
- data/lib/rghost_barcode/ps/ean8.ps +101 -0
- data/lib/rghost_barcode/ps/interleaved2of5.ps +132 -0
- data/lib/rghost_barcode/ps/isbn.ps +118 -0
- data/lib/rghost_barcode/ps/kix.ps +98 -0
- data/lib/rghost_barcode/ps/maxicode.ps +307 -0
- data/lib/rghost_barcode/ps/msi.ps +104 -0
- data/lib/rghost_barcode/ps/onecode.ps +276 -0
- data/lib/rghost_barcode/ps/pdf417.ps +428 -0
- data/lib/rghost_barcode/ps/pharmacode.ps +69 -0
- data/lib/rghost_barcode/ps/plessey.ps +121 -0
- data/lib/rghost_barcode/ps/postnet.ps +114 -0
- data/lib/rghost_barcode/ps/qrcode.ps +530 -0
- data/lib/rghost_barcode/ps/rationalizedcodabar.ps +117 -0
- data/lib/rghost_barcode/ps/raw.ps +35 -0
- data/lib/rghost_barcode/ps/render.ps +307 -0
- data/lib/rghost_barcode/ps/render.ps~ +308 -0
- data/lib/rghost_barcode/ps/royalmail.ps +119 -0
- data/lib/rghost_barcode/ps/rss14.ps +237 -0
- data/lib/rghost_barcode/ps/rssexpanded.ps +211 -0
- data/lib/rghost_barcode/ps/rsslimited.ps +191 -0
- data/lib/rghost_barcode/ps/symbol.ps +49 -0
- data/lib/rghost_barcode/ps/upca.ps +128 -0
- data/lib/rghost_barcode/ps/upce.ps +157 -0
- data/lib/rghost_barcode/rghost_barcode_adapter.rb +249 -0
- data/lib/rghost_barcode/rghost_barcode_base.rb +210 -0
- data/lib/rghost_barcode/rghost_barcode_classes.rb +96 -0
- data/lib/rghost_barcode/rghost_barcode_examples.rb +35 -0
- data/lib/rghost_barcode/rghost_barcode_version.rb +8 -0
- data/lib/teste_main.rb +94 -0
- metadata +218 -0
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
|
|
2
|
+
% --DESC: Rationalized Codabar
|
|
3
|
+
% --EXAM: A0123456789B
|
|
4
|
+
% --EXOP: includetext includecheck includecheckintext
|
|
5
|
+
% --RNDR: renlinear
|
|
6
|
+
/rationalizedcodabar {
|
|
7
|
+
|
|
8
|
+
0 begin % Confine variables to local scope
|
|
9
|
+
|
|
10
|
+
/options exch def % We are given an option string
|
|
11
|
+
/useropts options def
|
|
12
|
+
/barcode exch def % We are given a barcode string
|
|
13
|
+
|
|
14
|
+
/includecheck false def % Enable/disable checkdigit
|
|
15
|
+
/includetext false def % Enable/disable text
|
|
16
|
+
/includecheckintext false def
|
|
17
|
+
/textfont /Courier def
|
|
18
|
+
/textsize 10 def
|
|
19
|
+
/textyoffset -7 def
|
|
20
|
+
/height 1 def
|
|
21
|
+
|
|
22
|
+
% Parse the input options
|
|
23
|
+
options {
|
|
24
|
+
token false eq {exit} if dup length string cvs (=) search
|
|
25
|
+
true eq {cvlit exch pop exch def} {cvlit true def} ifelse
|
|
26
|
+
} loop
|
|
27
|
+
|
|
28
|
+
/textfont textfont cvlit def
|
|
29
|
+
/textsize textsize cvr def
|
|
30
|
+
/textyoffset textyoffset cvr def
|
|
31
|
+
/height height cvr def
|
|
32
|
+
|
|
33
|
+
% Create an array containing the character mappings
|
|
34
|
+
/encs
|
|
35
|
+
[ (11111331) (11113311) (11131131) (33111111) (11311311)
|
|
36
|
+
(31111311) (13111131) (13113111) (13311111) (31131111)
|
|
37
|
+
(11133111) (11331111) (31113131) (31311131) (31313111)
|
|
38
|
+
(11313131) (11331311) (13131131) (11131331) (11133311)
|
|
39
|
+
] def
|
|
40
|
+
|
|
41
|
+
% Create a string of the available characters
|
|
42
|
+
/barchars (0123456789-$:/.+ABCD) def
|
|
43
|
+
|
|
44
|
+
/barlen barcode length def % Length of the code
|
|
45
|
+
|
|
46
|
+
includecheck {
|
|
47
|
+
/sbs barlen 8 mul 8 add string def
|
|
48
|
+
/txt barlen 1 add array def
|
|
49
|
+
} {
|
|
50
|
+
/sbs barlen 8 mul string def
|
|
51
|
+
/txt barlen array def
|
|
52
|
+
} ifelse
|
|
53
|
+
|
|
54
|
+
/checksum 0 def
|
|
55
|
+
/xpos 0 def
|
|
56
|
+
0 1 barlen 2 sub {
|
|
57
|
+
/i exch def
|
|
58
|
+
% Lookup the encoding for the each barcode character
|
|
59
|
+
barcode i 1 getinterval barchars exch search
|
|
60
|
+
pop % Discard true leaving pre
|
|
61
|
+
length /indx exch def % indx is the length of pre
|
|
62
|
+
pop pop % Discard seek and post
|
|
63
|
+
/enc encs indx get def % Get the indxth encoding
|
|
64
|
+
sbs i 8 mul enc putinterval % Put encoded digit into sbs
|
|
65
|
+
txt i [barcode i 1 getinterval xpos textyoffset textfont textsize] put
|
|
66
|
+
0 1 7 { % xpos+=width of the character
|
|
67
|
+
/xpos exch enc exch get 48 sub xpos add def
|
|
68
|
+
} for
|
|
69
|
+
/checksum checksum indx add def
|
|
70
|
+
} for
|
|
71
|
+
|
|
72
|
+
% Find index of last character
|
|
73
|
+
barcode barlen 1 sub 1 getinterval barchars exch search
|
|
74
|
+
pop % Discard true leaving pre
|
|
75
|
+
length /indx exch def % indx is the length of pre
|
|
76
|
+
pop pop % Discard seek and post
|
|
77
|
+
|
|
78
|
+
includecheck {
|
|
79
|
+
% Put the checksum character
|
|
80
|
+
/checksum checksum indx add def
|
|
81
|
+
/checksum 16 checksum 16 mod sub 16 mod def
|
|
82
|
+
sbs barlen 8 mul 8 sub encs checksum get putinterval
|
|
83
|
+
includecheckintext {
|
|
84
|
+
txt barlen 1 sub [barchars checksum 1 getinterval xpos textyoffset textfont textsize] put
|
|
85
|
+
} {
|
|
86
|
+
txt barlen 1 sub [( ) xpos textyoffset textfont textsize] put
|
|
87
|
+
} ifelse
|
|
88
|
+
0 1 7 { % xpos+=width of the character
|
|
89
|
+
/xpos exch encs checksum get exch get 48 sub xpos add def
|
|
90
|
+
} for
|
|
91
|
+
% Put the end character
|
|
92
|
+
/enc encs indx get def % Get the indxth encoding
|
|
93
|
+
sbs barlen 8 mul enc putinterval % Put encoded digit into sbs
|
|
94
|
+
txt barlen [barcode barlen 1 sub 1 getinterval xpos textyoffset textfont textsize] put
|
|
95
|
+
} {
|
|
96
|
+
% Put the end character
|
|
97
|
+
/enc encs indx get def % Get the indxth encoding
|
|
98
|
+
sbs barlen 8 mul 8 sub enc putinterval % Put encoded digit into sbs
|
|
99
|
+
txt barlen 1 sub [barcode barlen 1 sub 1 getinterval xpos textyoffset textfont textsize] put
|
|
100
|
+
} ifelse
|
|
101
|
+
|
|
102
|
+
% Return the arguments
|
|
103
|
+
/retval 8 dict def
|
|
104
|
+
retval (ren) (renlinear) put
|
|
105
|
+
retval (sbs) [sbs {48 sub} forall] put
|
|
106
|
+
retval (bhs) [sbs length 1 add 2 idiv {height} repeat] put
|
|
107
|
+
retval (bbs) [sbs length 1 add 2 idiv {0} repeat] put
|
|
108
|
+
includetext {
|
|
109
|
+
retval (txt) txt put
|
|
110
|
+
} if
|
|
111
|
+
retval (opt) useropts put
|
|
112
|
+
retval
|
|
113
|
+
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
} bind def
|
|
117
|
+
/rationalizedcodabar load 0 1 dict put
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
|
|
2
|
+
% --DESC: Raw bar space succession for custom symbologies
|
|
3
|
+
% --EXAM: 331132131313411122131311333213114131131221323
|
|
4
|
+
% --EXOP: height=0.5
|
|
5
|
+
% --RNDR: renlinear
|
|
6
|
+
/raw {
|
|
7
|
+
|
|
8
|
+
0 begin % Confine variables to local scope
|
|
9
|
+
|
|
10
|
+
/options exch def % We are given an option string
|
|
11
|
+
/useropts options def
|
|
12
|
+
/sbs exch def % We are given a barcode string
|
|
13
|
+
|
|
14
|
+
/height 1 def
|
|
15
|
+
|
|
16
|
+
% Parse the input options
|
|
17
|
+
options {
|
|
18
|
+
token false eq {exit} if dup length string cvs (=) search
|
|
19
|
+
true eq {cvlit exch pop exch def} {cvlit true def} ifelse
|
|
20
|
+
} loop
|
|
21
|
+
/height height cvr def
|
|
22
|
+
|
|
23
|
+
% Return the arguments
|
|
24
|
+
/retval 8 dict def
|
|
25
|
+
retval (ren) (renlinear) put
|
|
26
|
+
retval (sbs) [sbs {48 sub} forall] put
|
|
27
|
+
retval (bhs) [sbs length 1 add 2 idiv {height} repeat] put
|
|
28
|
+
retval (bbs) [sbs length 1 add 2 idiv {0} repeat] put
|
|
29
|
+
retval (opt) useropts put
|
|
30
|
+
retval
|
|
31
|
+
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
} bind def
|
|
35
|
+
/raw load 0 1 dict put
|
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
% --BEGIN RENDERER renlinear--
|
|
2
|
+
/renlinear {
|
|
3
|
+
|
|
4
|
+
0 begin % Confine variables to local scope
|
|
5
|
+
|
|
6
|
+
/args exch def % We are given some arguments
|
|
7
|
+
|
|
8
|
+
% Default options
|
|
9
|
+
/sbs [] def
|
|
10
|
+
/bhs [] def
|
|
11
|
+
/bbs [] def
|
|
12
|
+
/txt [] def
|
|
13
|
+
/barcolor (unset) def
|
|
14
|
+
/includetext false def
|
|
15
|
+
/textcolor (unset) def
|
|
16
|
+
/textxalign (unset) def
|
|
17
|
+
/textyalign (unset) def
|
|
18
|
+
/textfont (Courier) def
|
|
19
|
+
/textsize 10 def
|
|
20
|
+
/textxoffset 0 def
|
|
21
|
+
/textyoffset 0 def
|
|
22
|
+
/bordercolor (unset) def
|
|
23
|
+
/backgroundcolor (unset) def
|
|
24
|
+
/inkspread 0.15 def
|
|
25
|
+
/width 0 def
|
|
26
|
+
/barratio 1 def
|
|
27
|
+
/spaceratio 1 def
|
|
28
|
+
/showborder false def
|
|
29
|
+
/borderleft 10 def
|
|
30
|
+
/borderright 10 def
|
|
31
|
+
/bordertop 1 def
|
|
32
|
+
/borderbottom 1 def
|
|
33
|
+
/borderwidth 0.5 def
|
|
34
|
+
/guardwhitespace false def
|
|
35
|
+
/guardleftpos 0 def
|
|
36
|
+
/guardleftypos 0 def
|
|
37
|
+
/guardrightpos 0 def
|
|
38
|
+
/guardrightypos 0 def
|
|
39
|
+
/guardwidth 6 def
|
|
40
|
+
/guardheight 7 def
|
|
41
|
+
|
|
42
|
+
% Apply the renderer options
|
|
43
|
+
args {exch cvlit exch def} forall
|
|
44
|
+
|
|
45
|
+
% Parse the user options
|
|
46
|
+
opt {
|
|
47
|
+
token false eq {exit} if dup length string cvs (=) search
|
|
48
|
+
true eq {cvlit exch pop exch def} {cvlit true def} ifelse
|
|
49
|
+
} loop
|
|
50
|
+
|
|
51
|
+
/barcolor barcolor cvlit def
|
|
52
|
+
/textcolor textcolor cvlit def
|
|
53
|
+
/textxalign textxalign cvlit def
|
|
54
|
+
/textyalign textyalign cvlit def
|
|
55
|
+
/textfont textfont cvlit def
|
|
56
|
+
/textsize textsize cvr def
|
|
57
|
+
/textxoffset textxoffset cvr def
|
|
58
|
+
/textyoffset textyoffset cvr def
|
|
59
|
+
/bordercolor bordercolor cvlit def
|
|
60
|
+
/backgroundcolor backgroundcolor cvlit def
|
|
61
|
+
/inkspread inkspread cvr def
|
|
62
|
+
/width width cvr def
|
|
63
|
+
/barratio barratio cvr def
|
|
64
|
+
/spaceratio spaceratio cvr def
|
|
65
|
+
/borderleft borderleft cvr def
|
|
66
|
+
/borderright borderright cvr def
|
|
67
|
+
/bordertop bordertop cvr def
|
|
68
|
+
/borderbottom borderbottom cvr def
|
|
69
|
+
/borderwidth borderwidth cvr def
|
|
70
|
+
/guardleftpos guardleftpos cvr def
|
|
71
|
+
/guardleftypos guardleftypos cvr def
|
|
72
|
+
/guardrightpos guardrightpos cvr def
|
|
73
|
+
/guardrightypos guardrightypos cvr def
|
|
74
|
+
/guardwidth guardwidth cvr def
|
|
75
|
+
/guardheight guardheight cvr def
|
|
76
|
+
|
|
77
|
+
% Create bar elements and put them into the bars array
|
|
78
|
+
/bars sbs length 1 add 2 idiv array def
|
|
79
|
+
/x 0.00 def /maxh 0 def
|
|
80
|
+
0 1 sbs length 1 add 2 idiv 2 mul 2 sub {
|
|
81
|
+
/i exch def
|
|
82
|
+
i 2 mod 0 eq { % i is even
|
|
83
|
+
/d sbs i get barratio mul barratio sub 1 add def % d=digit*r-r+1
|
|
84
|
+
/h bhs i 2 idiv get 72 mul def % Height from bhs
|
|
85
|
+
/c d 2 div x add def % Centre of the bar = x + d/2
|
|
86
|
+
/y bbs i 2 idiv get 72 mul def % Baseline from bbs
|
|
87
|
+
/w d inkspread sub def % bar width = digit - inkspread
|
|
88
|
+
bars i 2 idiv [h c y w] put % Add the bar entry
|
|
89
|
+
h maxh gt {/maxh h def} if
|
|
90
|
+
} {
|
|
91
|
+
/d sbs i get spaceratio mul spaceratio sub 1 add def % d=digit*r-r+1
|
|
92
|
+
} ifelse
|
|
93
|
+
/x x d add def % x+=d
|
|
94
|
+
} for
|
|
95
|
+
|
|
96
|
+
gsave
|
|
97
|
+
|
|
98
|
+
currentpoint translate
|
|
99
|
+
|
|
100
|
+
% Force symbol to given width
|
|
101
|
+
width 0 ne {
|
|
102
|
+
width 72 mul x div 1 scale
|
|
103
|
+
} if
|
|
104
|
+
|
|
105
|
+
% Set RGB or CMYK color depending on length of given hex string
|
|
106
|
+
/setanycolor {
|
|
107
|
+
/anycolor exch def
|
|
108
|
+
anycolor length 6 eq {
|
|
109
|
+
(< >) 8 string copy dup 1 anycolor putinterval cvx exec {255 div} forall setrgbcolor
|
|
110
|
+
} if
|
|
111
|
+
anycolor length 8 eq {
|
|
112
|
+
(< >) 10 string copy dup 1 anycolor putinterval cvx exec {255 div} forall setcmykcolor
|
|
113
|
+
} if
|
|
114
|
+
} bind def
|
|
115
|
+
|
|
116
|
+
% Display the border and background
|
|
117
|
+
newpath
|
|
118
|
+
borderleft neg borderbottom neg moveto
|
|
119
|
+
x borderleft add borderright add 0 rlineto
|
|
120
|
+
0 maxh borderbottom add bordertop add rlineto
|
|
121
|
+
x borderleft add borderright add neg 0 rlineto
|
|
122
|
+
0 maxh borderbottom add bordertop add neg rlineto
|
|
123
|
+
closepath
|
|
124
|
+
backgroundcolor (unset) ne { gsave backgroundcolor setanycolor fill grestore } if
|
|
125
|
+
showborder {
|
|
126
|
+
gsave
|
|
127
|
+
bordercolor (unset) ne { bordercolor setanycolor } if
|
|
128
|
+
borderwidth setlinewidth stroke
|
|
129
|
+
grestore
|
|
130
|
+
} if
|
|
131
|
+
|
|
132
|
+
% Display the bars for elements in the bars array
|
|
133
|
+
gsave
|
|
134
|
+
barcolor (unset) ne { barcolor setanycolor } if
|
|
135
|
+
bars {
|
|
136
|
+
{} forall
|
|
137
|
+
newpath setlinewidth moveto 0 exch rlineto stroke
|
|
138
|
+
} forall
|
|
139
|
+
grestore
|
|
140
|
+
|
|
141
|
+
% Display the text for elements in the text array
|
|
142
|
+
textcolor (unset) ne { textcolor setanycolor } if
|
|
143
|
+
includetext {
|
|
144
|
+
textxalign (unset) eq textyalign (unset) eq and {
|
|
145
|
+
/s 0 def /f () def
|
|
146
|
+
txt {
|
|
147
|
+
{} forall
|
|
148
|
+
2 copy s ne exch f ne or {
|
|
149
|
+
2 copy /s exch def /f exch def
|
|
150
|
+
exch findfont exch scalefont setfont
|
|
151
|
+
} {
|
|
152
|
+
pop pop
|
|
153
|
+
} ifelse
|
|
154
|
+
moveto show
|
|
155
|
+
} forall
|
|
156
|
+
} {
|
|
157
|
+
textfont findfont textsize scalefont setfont
|
|
158
|
+
/txt [ txt { 0 get {} forall } forall ] def
|
|
159
|
+
/tstr txt length string def
|
|
160
|
+
0 1 txt length 1 sub { dup txt exch get tstr 3 1 roll put } for
|
|
161
|
+
/textxpos textxoffset x tstr stringwidth pop sub 2 div add def
|
|
162
|
+
textxalign (left) eq { /textxpos textxoffset def } if
|
|
163
|
+
textxalign (right) eq { /textxpos x textxoffset sub tstr stringwidth pop sub def } if
|
|
164
|
+
textxalign (offleft) eq { /textxpos tstr stringwidth pop textxoffset add neg def } if
|
|
165
|
+
textxalign (offright) eq { /textxpos x textxoffset add def } if
|
|
166
|
+
/textypos textyoffset textsize add 3 sub neg def
|
|
167
|
+
textyalign (above) eq { /textypos textyoffset maxh add 1 add def } if
|
|
168
|
+
textyalign (center) eq { /textypos textyoffset maxh textsize 4 sub sub 2 div add def } if
|
|
169
|
+
textxpos textypos moveto tstr show
|
|
170
|
+
} ifelse
|
|
171
|
+
} if
|
|
172
|
+
|
|
173
|
+
% Display the guard elements
|
|
174
|
+
guardwhitespace {
|
|
175
|
+
0.75 setlinewidth
|
|
176
|
+
guardleftpos 0 ne {
|
|
177
|
+
newpath
|
|
178
|
+
guardleftpos neg guardwidth add guardleftypos guardwidth 2 div add moveto
|
|
179
|
+
guardwidth neg guardheight -2 div rlineto
|
|
180
|
+
guardwidth guardheight -2 div rlineto
|
|
181
|
+
stroke
|
|
182
|
+
} if
|
|
183
|
+
guardrightpos 0 ne {
|
|
184
|
+
newpath
|
|
185
|
+
guardrightpos x add guardwidth sub guardrightypos guardheight 2 div add moveto
|
|
186
|
+
guardwidth guardheight -2 div rlineto
|
|
187
|
+
guardwidth neg guardheight -2 div rlineto
|
|
188
|
+
stroke
|
|
189
|
+
} if
|
|
190
|
+
} if
|
|
191
|
+
|
|
192
|
+
grestore
|
|
193
|
+
|
|
194
|
+
end
|
|
195
|
+
|
|
196
|
+
} bind def
|
|
197
|
+
/renlinear load 0 1 dict put
|
|
198
|
+
% --END RENDERER renlinear--
|
|
199
|
+
|
|
200
|
+
% --BEGIN RENDERER renmatrix--
|
|
201
|
+
/renmatrix {
|
|
202
|
+
|
|
203
|
+
0 begin
|
|
204
|
+
|
|
205
|
+
/args exch def
|
|
206
|
+
|
|
207
|
+
% Default options
|
|
208
|
+
/width 1 def
|
|
209
|
+
/height 1 def
|
|
210
|
+
|
|
211
|
+
% Apply the renderer options
|
|
212
|
+
args {exch cvlit exch def} forall
|
|
213
|
+
|
|
214
|
+
% Parse the user options
|
|
215
|
+
opt {
|
|
216
|
+
token false eq {exit} if dup length string cvs (=) search
|
|
217
|
+
true eq {cvlit exch pop exch def} {cvlit true def} ifelse
|
|
218
|
+
} loop
|
|
219
|
+
|
|
220
|
+
/width width cvr def
|
|
221
|
+
/height height cvr def
|
|
222
|
+
|
|
223
|
+
% Convert the bits into a string
|
|
224
|
+
/imgstr pixs length string def
|
|
225
|
+
0 1 pixs length 1 sub {
|
|
226
|
+
dup imgstr 3 1 roll pixs exch get 1 exch sub 255 mul put
|
|
227
|
+
} for
|
|
228
|
+
|
|
229
|
+
% Draw the image
|
|
230
|
+
gsave
|
|
231
|
+
currentpoint translate
|
|
232
|
+
72 width mul 72 height mul scale
|
|
233
|
+
pixx pixy 8 [ pixx 0 0 pixy neg 0 pixy ] {imgstr} image
|
|
234
|
+
grestore
|
|
235
|
+
|
|
236
|
+
end
|
|
237
|
+
|
|
238
|
+
} bind def
|
|
239
|
+
/renmatrix load 0 1 dict put
|
|
240
|
+
% --END RENDERER renmatrix--
|
|
241
|
+
|
|
242
|
+
% --BEGIN RENDERER renmaximatrix--
|
|
243
|
+
/renmaximatrix {
|
|
244
|
+
|
|
245
|
+
0 begin
|
|
246
|
+
|
|
247
|
+
/args exch def % We are given some arguments
|
|
248
|
+
|
|
249
|
+
% Apply the renderer options
|
|
250
|
+
args {exch cvlit exch def} forall
|
|
251
|
+
|
|
252
|
+
% Parse the user options
|
|
253
|
+
opt {
|
|
254
|
+
token false eq {exit} if dup length string cvs (=) search
|
|
255
|
+
true eq {cvlit exch pop exch def} {cvlit true def} ifelse
|
|
256
|
+
} loop
|
|
257
|
+
|
|
258
|
+
gsave
|
|
259
|
+
|
|
260
|
+
currentpoint translate
|
|
261
|
+
|
|
262
|
+
2.4945 dup scale % from 1pt to 1.88mm
|
|
263
|
+
0.5 0.5774 translate
|
|
264
|
+
|
|
265
|
+
pixs {
|
|
266
|
+
dup
|
|
267
|
+
/x exch 30 mod def
|
|
268
|
+
/y exch 30 idiv def
|
|
269
|
+
y 2 mod 0 eq {x} {x 0.5 add} ifelse
|
|
270
|
+
32 y sub 0.8661 mul
|
|
271
|
+
moveto
|
|
272
|
+
0 0.5774 rmoveto
|
|
273
|
+
-0.5 -0.2887 rlineto
|
|
274
|
+
0 -0.5774 rlineto
|
|
275
|
+
0.5 -0.2887 rlineto
|
|
276
|
+
0.5 0.2887 rlineto
|
|
277
|
+
0 0.5774 rlineto
|
|
278
|
+
-0.5 0.2887 rlineto
|
|
279
|
+
closepath fill
|
|
280
|
+
} forall
|
|
281
|
+
|
|
282
|
+
% Plot the locator symbol
|
|
283
|
+
newpath 14 13.8576 0.5774 0 360 arc closepath
|
|
284
|
+
14 13.8576 1.3359 360 0 arcn closepath fill
|
|
285
|
+
newpath 14 13.8576 2.1058 0 360 arc closepath
|
|
286
|
+
14 13.8576 2.8644 360 0 arcn closepath fill
|
|
287
|
+
newpath 14 13.8576 3.6229 0 360 arc closepath
|
|
288
|
+
14 13.8576 4.3814 360 0 arcn closepath fill
|
|
289
|
+
|
|
290
|
+
grestore
|
|
291
|
+
|
|
292
|
+
end
|
|
293
|
+
|
|
294
|
+
} bind def
|
|
295
|
+
/renmaximatrix load 0 1 dict put
|
|
296
|
+
% --END RENDERER renmaximatrix--
|
|
297
|
+
|
|
298
|
+
% --BEGIN DISPATCHER--
|
|
299
|
+
/barcode {
|
|
300
|
+
0 begin
|
|
301
|
+
dup (ren) get cvx exec
|
|
302
|
+
end
|
|
303
|
+
} bind def
|
|
304
|
+
/barcode load 0 1 dict put
|
|
305
|
+
% --END DISPATCHER--
|
|
306
|
+
|
|
307
|
+
|