rghost_barcode 0.8 → 0.9
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/rghost_barcode.rb +7 -5
- data/lib/rghost_barcode/ps/barcode_base.ps +17090 -0
- data/lib/rghost_barcode/rghost_barcode_adapter.rb +22 -226
- data/lib/rghost_barcode/rghost_barcode_base.rb +12 -14
- data/lib/rghost_barcode/rghost_barcode_types.rb +86 -0
- data/lib/rghost_barcode/rghost_barcode_version.rb +2 -2
- metadata +30 -177
- data/lib/doc/classes/RGhost.html +0 -109
- data/lib/doc/classes/RGhost/Barcode.html +0 -147
- data/lib/doc/classes/RGhost/Barcode/Auspost.html +0 -113
- data/lib/doc/classes/RGhost/Barcode/Azteccode.html +0 -113
- data/lib/doc/classes/RGhost/Barcode/Base.html +0 -266
- data/lib/doc/classes/RGhost/Barcode/Base.src/M000004.html +0 -34
- data/lib/doc/classes/RGhost/Barcode/Base.src/M000005.html +0 -30
- data/lib/doc/classes/RGhost/Barcode/Base.src/M000006.html +0 -20
- data/lib/doc/classes/RGhost/Barcode/Border.html +0 -170
- data/lib/doc/classes/RGhost/Barcode/Border.src/M000001.html +0 -27
- data/lib/doc/classes/RGhost/Barcode/Code11.html +0 -113
- data/lib/doc/classes/RGhost/Barcode/Code128.html +0 -113
- data/lib/doc/classes/RGhost/Barcode/Code2of5.html +0 -113
- data/lib/doc/classes/RGhost/Barcode/Code39.html +0 -113
- data/lib/doc/classes/RGhost/Barcode/Code93.html +0 -113
- data/lib/doc/classes/RGhost/Barcode/Datamatrix.html +0 -113
- data/lib/doc/classes/RGhost/Barcode/Ean13.html +0 -113
- data/lib/doc/classes/RGhost/Barcode/Ean2.html +0 -113
- data/lib/doc/classes/RGhost/Barcode/Ean5.html +0 -113
- data/lib/doc/classes/RGhost/Barcode/Ean8.html +0 -113
- data/lib/doc/classes/RGhost/Barcode/Guard.html +0 -174
- data/lib/doc/classes/RGhost/Barcode/Guard.src/M000003.html +0 -27
- data/lib/doc/classes/RGhost/Barcode/Interleaved2of5.html +0 -113
- data/lib/doc/classes/RGhost/Barcode/Isbn.html +0 -113
- data/lib/doc/classes/RGhost/Barcode/Kix.html +0 -113
- data/lib/doc/classes/RGhost/Barcode/Maxicode.html +0 -113
- data/lib/doc/classes/RGhost/Barcode/Msi.html +0 -113
- data/lib/doc/classes/RGhost/Barcode/Onecode.html +0 -113
- data/lib/doc/classes/RGhost/Barcode/Parameter.html +0 -262
- data/lib/doc/classes/RGhost/Barcode/Parameter.src/M000007.html +0 -20
- data/lib/doc/classes/RGhost/Barcode/Parameter.src/M000008.html +0 -18
- data/lib/doc/classes/RGhost/Barcode/Parameter.src/M000009.html +0 -18
- data/lib/doc/classes/RGhost/Barcode/Parameter.src/M000010.html +0 -18
- data/lib/doc/classes/RGhost/Barcode/Parameter.src/M000011.html +0 -18
- data/lib/doc/classes/RGhost/Barcode/Parameter.src/M000012.html +0 -24
- data/lib/doc/classes/RGhost/Barcode/Parameter.src/M000013.html +0 -18
- data/lib/doc/classes/RGhost/Barcode/Parameter.src/M000014.html +0 -18
- data/lib/doc/classes/RGhost/Barcode/Parameter.src/M000015.html +0 -16
- data/lib/doc/classes/RGhost/Barcode/Pdf417.html +0 -113
- data/lib/doc/classes/RGhost/Barcode/Pharmacode.html +0 -113
- data/lib/doc/classes/RGhost/Barcode/Plessey.html +0 -113
- data/lib/doc/classes/RGhost/Barcode/Postnet.html +0 -113
- data/lib/doc/classes/RGhost/Barcode/Qrcode.html +0 -113
- data/lib/doc/classes/RGhost/Barcode/Rationalizedcodabar.html +0 -113
- data/lib/doc/classes/RGhost/Barcode/Raw.html +0 -113
- data/lib/doc/classes/RGhost/Barcode/Royalmail.html +0 -113
- data/lib/doc/classes/RGhost/Barcode/Rss14.html +0 -113
- data/lib/doc/classes/RGhost/Barcode/Rssexpanded.html +0 -113
- data/lib/doc/classes/RGhost/Barcode/Rsslimited.html +0 -113
- data/lib/doc/classes/RGhost/Barcode/Symbol.html +0 -113
- data/lib/doc/classes/RGhost/Barcode/Text.html +0 -193
- data/lib/doc/classes/RGhost/Barcode/Text.src/M000002.html +0 -30
- data/lib/doc/classes/RGhost/Barcode/Upca.html +0 -113
- data/lib/doc/classes/RGhost/Barcode/Upce.html +0 -113
- data/lib/doc/classes/RGhost/Config.html +0 -150
- data/lib/doc/classes/RGhost/Config.src/M000016.html +0 -45
- data/lib/doc/classes/RGhost/Document.html +0 -704
- data/lib/doc/classes/RGhost/Document.src/M000017.html +0 -19
- data/lib/doc/classes/RGhost/Document.src/M000018.html +0 -18
- data/lib/doc/classes/RGhost/Document.src/M000019.html +0 -18
- data/lib/doc/classes/RGhost/Document.src/M000020.html +0 -18
- data/lib/doc/classes/RGhost/Document.src/M000021.html +0 -18
- data/lib/doc/classes/RGhost/Document.src/M000022.html +0 -18
- data/lib/doc/classes/RGhost/Document.src/M000023.html +0 -18
- data/lib/doc/classes/RGhost/Document.src/M000024.html +0 -18
- data/lib/doc/classes/RGhost/Document.src/M000025.html +0 -18
- data/lib/doc/classes/RGhost/Document.src/M000026.html +0 -18
- data/lib/doc/classes/RGhost/Document.src/M000027.html +0 -18
- data/lib/doc/classes/RGhost/Document.src/M000028.html +0 -18
- data/lib/doc/classes/RGhost/Document.src/M000029.html +0 -18
- data/lib/doc/classes/RGhost/Document.src/M000030.html +0 -18
- data/lib/doc/classes/RGhost/Document.src/M000031.html +0 -18
- data/lib/doc/classes/RGhost/Document.src/M000032.html +0 -18
- data/lib/doc/classes/RGhost/Document.src/M000033.html +0 -18
- data/lib/doc/classes/RGhost/Document.src/M000034.html +0 -18
- data/lib/doc/classes/RGhost/Document.src/M000035.html +0 -18
- data/lib/doc/classes/RGhost/Document.src/M000036.html +0 -18
- data/lib/doc/classes/RGhost/Document.src/M000037.html +0 -18
- data/lib/doc/classes/RGhost/Document.src/M000038.html +0 -18
- data/lib/doc/classes/RGhost/Document.src/M000039.html +0 -18
- data/lib/doc/classes/RGhost/Document.src/M000040.html +0 -18
- data/lib/doc/classes/RGhost/Document.src/M000041.html +0 -18
- data/lib/doc/classes/RGhost/Document.src/M000042.html +0 -18
- data/lib/doc/classes/RGhost/Document.src/M000043.html +0 -18
- data/lib/doc/classes/RGhost/Document.src/M000044.html +0 -18
- data/lib/doc/classes/RGhost/Document.src/M000045.html +0 -18
- data/lib/doc/classes/RGhost/Document.src/M000046.html +0 -18
- data/lib/doc/classes/RGhost/Document.src/M000047.html +0 -18
- data/lib/doc/classes/RGhost/Document.src/M000048.html +0 -18
- data/lib/doc/created.rid +0 -1
- data/lib/doc/files/rghost_barcode/rghost_barcode_adapter_rb.html +0 -101
- data/lib/doc/files/rghost_barcode/rghost_barcode_base_rb.html +0 -101
- data/lib/doc/files/rghost_barcode/rghost_barcode_classes_rb.html +0 -101
- data/lib/doc/files/rghost_barcode/rghost_barcode_examples_rb.html +0 -101
- data/lib/doc/files/rghost_barcode/rghost_barcode_version_rb.html +0 -101
- data/lib/doc/files/rghost_barcode_rb.html +0 -111
- data/lib/doc/files/teste_main_rb.html +0 -110
- data/lib/doc/fr_class_index.html +0 -67
- data/lib/doc/fr_file_index.html +0 -33
- data/lib/doc/fr_method_index.html +0 -74
- data/lib/doc/index.html +0 -24
- data/lib/rghost_barcode/ps/auspost.ps +0 -192
- data/lib/rghost_barcode/ps/azteccode.ps +0 -357
- data/lib/rghost_barcode/ps/barcode_template.eps +0 -1193
- data/lib/rghost_barcode/ps/code11.ps +0 -128
- data/lib/rghost_barcode/ps/code128.ps +0 -121
- data/lib/rghost_barcode/ps/code2of5.ps +0 -106
- data/lib/rghost_barcode/ps/code39.ps +0 -109
- data/lib/rghost_barcode/ps/code93.ps +0 -117
- data/lib/rghost_barcode/ps/datamatrix.ps +0 -328
- data/lib/rghost_barcode/ps/ean13.ps +0 -183
- data/lib/rghost_barcode/ps/ean2.ps +0 -101
- data/lib/rghost_barcode/ps/ean5.ps +0 -116
- data/lib/rghost_barcode/ps/ean8.ps +0 -101
- data/lib/rghost_barcode/ps/interleaved2of5.ps +0 -132
- data/lib/rghost_barcode/ps/isbn.ps +0 -118
- data/lib/rghost_barcode/ps/kix.ps +0 -98
- data/lib/rghost_barcode/ps/maxicode.ps +0 -307
- data/lib/rghost_barcode/ps/msi.ps +0 -104
- data/lib/rghost_barcode/ps/onecode.ps +0 -276
- data/lib/rghost_barcode/ps/pdf417.ps +0 -428
- data/lib/rghost_barcode/ps/pharmacode.ps +0 -69
- data/lib/rghost_barcode/ps/plessey.ps +0 -121
- data/lib/rghost_barcode/ps/postnet.ps +0 -114
- data/lib/rghost_barcode/ps/qrcode.ps +0 -530
- data/lib/rghost_barcode/ps/rationalizedcodabar.ps +0 -117
- data/lib/rghost_barcode/ps/raw.ps +0 -35
- data/lib/rghost_barcode/ps/render.ps +0 -307
- data/lib/rghost_barcode/ps/render.ps~ +0 -308
- data/lib/rghost_barcode/ps/royalmail.ps +0 -119
- data/lib/rghost_barcode/ps/rss14.ps +0 -237
- data/lib/rghost_barcode/ps/rssexpanded.ps +0 -211
- data/lib/rghost_barcode/ps/rsslimited.ps +0 -191
- data/lib/rghost_barcode/ps/symbol.ps +0 -49
- data/lib/rghost_barcode/ps/upca.ps +0 -128
- data/lib/rghost_barcode/ps/upce.ps +0 -157
- data/lib/rghost_barcode/rghost_barcode_classes.rb +0 -96
- data/lib/rghost_barcode/rghost_barcode_examples.rb +0 -35
- data/lib/teste_main.rb +0 -94
@@ -1,101 +0,0 @@
|
|
1
|
-
|
2
|
-
% --DESC: EAN-2 (2 digit addon)
|
3
|
-
% --EXAM: 05
|
4
|
-
% --EXOP: includetext guardwhitespace
|
5
|
-
% --RNDR: renlinear
|
6
|
-
/ean2 {
|
7
|
-
|
8
|
-
0 begin
|
9
|
-
|
10
|
-
/options exch def % We are given an options string
|
11
|
-
/useropts options def
|
12
|
-
/barcode exch def % We are given a barcode string
|
13
|
-
|
14
|
-
/includetext false def % Enable/disable text
|
15
|
-
/textfont /Helvetica def
|
16
|
-
/textsize 12 def
|
17
|
-
/textyoffset (unset) def
|
18
|
-
/height 0.7 def
|
19
|
-
|
20
|
-
% Parse the input options
|
21
|
-
options {
|
22
|
-
token false eq {exit} if dup length string cvs (=) search
|
23
|
-
true eq {cvlit exch pop exch def} {cvlit true def} ifelse
|
24
|
-
} loop
|
25
|
-
|
26
|
-
/textfont textfont cvlit def
|
27
|
-
/textsize textsize cvr def
|
28
|
-
/height height cvr def
|
29
|
-
textyoffset (unset) eq {
|
30
|
-
/textyoffset height 72 mul 1 add def
|
31
|
-
} {
|
32
|
-
/textyoffset textyoffset cvr def
|
33
|
-
} ifelse
|
34
|
-
|
35
|
-
/barlen barcode length def % Length of the code
|
36
|
-
|
37
|
-
% Create an array containing the character mappings
|
38
|
-
/encs
|
39
|
-
[ (3211) (2221) (2122) (1411) (1132)
|
40
|
-
(1231) (1114) (1312) (1213) (3112)
|
41
|
-
(112) (11)
|
42
|
-
] def
|
43
|
-
|
44
|
-
% Create a string of the available characters
|
45
|
-
/barchars (0123456789) def
|
46
|
-
|
47
|
-
% Determine the mirror map based on mod 4 checksum
|
48
|
-
/mirrormap [(00) (01) (10) (11)] barcode 0 2 getinterval cvi 4 mod get def
|
49
|
-
|
50
|
-
/sbs 13 string def
|
51
|
-
/txt 2 array def
|
52
|
-
|
53
|
-
0 1 1 {
|
54
|
-
/i exch def
|
55
|
-
|
56
|
-
% Prefix with either a start character or separator character
|
57
|
-
i 0 eq {
|
58
|
-
sbs 0 encs 10 get putinterval
|
59
|
-
} {
|
60
|
-
sbs i 1 sub 6 mul 7 add encs 11 get putinterval
|
61
|
-
} ifelse
|
62
|
-
|
63
|
-
% Lookup the encoding for the barcode character
|
64
|
-
barcode i 1 getinterval barchars exch search
|
65
|
-
pop % Discard true leaving pre
|
66
|
-
length /indx exch def % indx is the length of pre
|
67
|
-
pop pop % Discard seek and post
|
68
|
-
/enc encs indx get def % Get the indxth encoding
|
69
|
-
mirrormap i get 49 eq { % Reverse enc if 1 in this position in mirrormap
|
70
|
-
/enclen enc length def
|
71
|
-
/revenc enclen string def
|
72
|
-
0 1 enclen 1 sub {
|
73
|
-
/j exch def
|
74
|
-
/char enc j get def
|
75
|
-
revenc enclen j sub 1 sub char put
|
76
|
-
} for
|
77
|
-
/enc revenc def
|
78
|
-
} if
|
79
|
-
sbs i 6 mul 3 add enc putinterval % Put encoded digit into sbs
|
80
|
-
txt i [barcode i 1 getinterval i 1 sub 9 mul 13 add textyoffset textfont textsize] put
|
81
|
-
} for
|
82
|
-
|
83
|
-
% Return the arguments
|
84
|
-
/retval 8 dict def
|
85
|
-
retval (ren) (renlinear) put
|
86
|
-
retval (sbs) [sbs {48 sub} forall] put
|
87
|
-
retval (bhs) [12{height}repeat] put
|
88
|
-
retval (bbs) [12{0}repeat] put
|
89
|
-
includetext {
|
90
|
-
retval (txt) txt put
|
91
|
-
} if
|
92
|
-
retval (opt) useropts put
|
93
|
-
retval (guardrightpos) 10 put
|
94
|
-
retval (guardrightypos) textyoffset 4 add put
|
95
|
-
retval (bordertop) 10 put
|
96
|
-
retval
|
97
|
-
|
98
|
-
end
|
99
|
-
|
100
|
-
} bind def
|
101
|
-
/ean2 load 0 1 dict put
|
@@ -1,116 +0,0 @@
|
|
1
|
-
|
2
|
-
% --DESC: EAN-5 (5 digit addon)
|
3
|
-
% --EXAM: 90200
|
4
|
-
% --EXOP: includetext guardwhitespace
|
5
|
-
% --RNDR: renlinear
|
6
|
-
/ean5 {
|
7
|
-
|
8
|
-
0 begin
|
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
|
-
/includetext false def % Enable/disable text
|
15
|
-
/textfont /Helvetica def
|
16
|
-
/textsize 12 def
|
17
|
-
/textyoffset (unset) def
|
18
|
-
/height 0.7 def
|
19
|
-
|
20
|
-
% Parse the input options
|
21
|
-
options {
|
22
|
-
token false eq {exit} if dup length string cvs (=) search
|
23
|
-
true eq {cvlit exch pop exch def} {cvlit true def} ifelse
|
24
|
-
} loop
|
25
|
-
|
26
|
-
/textfont textfont cvlit def
|
27
|
-
/textsize textsize cvr def
|
28
|
-
/height height cvr def
|
29
|
-
textyoffset (unset) eq {
|
30
|
-
/textyoffset height 72 mul 1 add def
|
31
|
-
} {
|
32
|
-
/textyoffset textyoffset cvr def
|
33
|
-
} ifelse
|
34
|
-
|
35
|
-
/barlen barcode length def % Length of the code
|
36
|
-
|
37
|
-
% Create an array containing the character mappings
|
38
|
-
/encs
|
39
|
-
[ (3211) (2221) (2122) (1411) (1132)
|
40
|
-
(1231) (1114) (1312) (1213) (3112)
|
41
|
-
(112) (11)
|
42
|
-
] def
|
43
|
-
|
44
|
-
% Create a string of the available characters
|
45
|
-
/barchars (0123456789) def
|
46
|
-
|
47
|
-
% Determine the mirror map based on mod 10 checksum
|
48
|
-
/mirrormaps
|
49
|
-
[ (11000) (10100) (10010) (10001) (01100)
|
50
|
-
(00110) (00011) (01010) (01001) (00101)
|
51
|
-
] def
|
52
|
-
/checksum 0 def
|
53
|
-
0 1 4 {
|
54
|
-
/i exch def
|
55
|
-
/barchar barcode i get 48 sub def
|
56
|
-
i 2 mod 0 eq {
|
57
|
-
/checksum barchar 3 mul checksum add def
|
58
|
-
} {
|
59
|
-
/checksum barchar 9 mul checksum add def
|
60
|
-
} ifelse
|
61
|
-
} for
|
62
|
-
/checksum checksum 10 mod def
|
63
|
-
/mirrormap mirrormaps checksum get def
|
64
|
-
|
65
|
-
/sbs 31 string def
|
66
|
-
/txt 5 array def
|
67
|
-
|
68
|
-
0 1 4 {
|
69
|
-
/i exch def
|
70
|
-
|
71
|
-
% Prefix with either a start character or separator character
|
72
|
-
i 0 eq {
|
73
|
-
sbs 0 encs 10 get putinterval
|
74
|
-
} {
|
75
|
-
sbs i 1 sub 6 mul 7 add encs 11 get putinterval
|
76
|
-
} ifelse
|
77
|
-
|
78
|
-
% Lookup the encoding for the barcode character
|
79
|
-
barcode i 1 getinterval barchars exch search
|
80
|
-
pop % Discard true leaving pre
|
81
|
-
length /indx exch def % indx is the length of pre
|
82
|
-
pop pop % Discard seek and post
|
83
|
-
/enc encs indx get def % Get the indxth encoding
|
84
|
-
mirrormap i get 49 eq { % Reverse enc if 1 in this position in mirrormap
|
85
|
-
/enclen enc length def
|
86
|
-
/revenc enclen string def
|
87
|
-
0 1 enclen 1 sub {
|
88
|
-
/j exch def
|
89
|
-
/char enc j get def
|
90
|
-
revenc enclen j sub 1 sub char put
|
91
|
-
} for
|
92
|
-
/enc revenc def
|
93
|
-
} if
|
94
|
-
sbs i 6 mul 3 add enc putinterval % Put encoded digit into sbs
|
95
|
-
txt i [barcode i 1 getinterval i 1 sub 9 mul 13 add textyoffset textfont textsize] put
|
96
|
-
} for
|
97
|
-
|
98
|
-
% Return the arguments
|
99
|
-
/retval 8 dict def
|
100
|
-
retval (ren) (renlinear) put
|
101
|
-
retval (sbs) [sbs {48 sub} forall] put
|
102
|
-
retval (bhs) [16{height}repeat] put
|
103
|
-
retval (bbs) [16{0}repeat] put
|
104
|
-
includetext {
|
105
|
-
retval (txt) txt put
|
106
|
-
} if
|
107
|
-
retval (opt) useropts put
|
108
|
-
retval (guardrightpos) 10 put
|
109
|
-
retval (guardrightypos) textyoffset 4 add put
|
110
|
-
retval (bordertop) 10 put
|
111
|
-
retval
|
112
|
-
|
113
|
-
end
|
114
|
-
|
115
|
-
} bind def
|
116
|
-
/ean5 load 0 1 dict put
|
@@ -1,101 +0,0 @@
|
|
1
|
-
|
2
|
-
% --DESC: EAN-8
|
3
|
-
% --EXAM: 01335583
|
4
|
-
% --EXOP: includetext guardwhitespace height=0.5
|
5
|
-
% --RNDR: renlinear
|
6
|
-
/ean8 {
|
7
|
-
|
8
|
-
0 begin
|
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
|
-
/includetext false def % Enable/disable text
|
15
|
-
/textfont /Helvetica def
|
16
|
-
/textsize 12 def
|
17
|
-
/textyoffset -4 def
|
18
|
-
/height 1 def
|
19
|
-
|
20
|
-
% Parse the input options
|
21
|
-
options {
|
22
|
-
token false eq {exit} if dup length string cvs (=) search
|
23
|
-
true eq {cvlit exch pop exch def} {cvlit true def} ifelse
|
24
|
-
} loop
|
25
|
-
|
26
|
-
/textfont textfont cvlit def
|
27
|
-
/textsize textsize cvr def
|
28
|
-
/textyoffset textyoffset cvr def
|
29
|
-
/height height cvr def
|
30
|
-
|
31
|
-
% Create an array containing the character mappings
|
32
|
-
/encs
|
33
|
-
[ (3211) (2221) (2122) (1411) (1132)
|
34
|
-
(1231) (1114) (1312) (1213) (3112)
|
35
|
-
(111) (11111) (111)
|
36
|
-
] def
|
37
|
-
|
38
|
-
% Create a string of the available characters
|
39
|
-
/barchars (0123456789) def
|
40
|
-
|
41
|
-
/barlen barcode length def % Length of the code
|
42
|
-
/sbs barlen 4 mul 11 add string def
|
43
|
-
/txt barlen array def
|
44
|
-
|
45
|
-
% Put the start character
|
46
|
-
sbs 0 encs 10 get putinterval
|
47
|
-
|
48
|
-
% Left side
|
49
|
-
0 1 3 {
|
50
|
-
% Lookup the encoding for the each barcode character
|
51
|
-
/i exch def
|
52
|
-
barcode i 1 getinterval barchars exch search
|
53
|
-
pop % Discard true leaving pre
|
54
|
-
length /indx exch def % indx is the length of pre
|
55
|
-
pop pop % Discard seek and post
|
56
|
-
/enc encs indx get def % Get the indxth encoding
|
57
|
-
sbs i 4 mul 3 add enc putinterval % Put encoded digit into sbs
|
58
|
-
txt i [barcode i 1 getinterval i 7 mul 4 add textyoffset textfont textsize] put
|
59
|
-
} for
|
60
|
-
|
61
|
-
% Put the middle character
|
62
|
-
sbs 4 4 mul 3 add encs 11 get putinterval
|
63
|
-
|
64
|
-
% Right side
|
65
|
-
4 1 7 {
|
66
|
-
% Lookup the encoding for the each barcode character
|
67
|
-
/i exch def
|
68
|
-
barcode i 1 getinterval barchars exch search
|
69
|
-
pop % Discard true leaving pre
|
70
|
-
length /indx exch def % indx is the length of pre
|
71
|
-
pop pop % Discard seek and post
|
72
|
-
/enc encs indx get def % Get the indxth encoding
|
73
|
-
sbs i 4 mul 8 add enc putinterval % Put encoded digit into sbs
|
74
|
-
txt i [barcode i 1 getinterval i 7 mul 8 add textyoffset textfont textsize] put
|
75
|
-
} for
|
76
|
-
|
77
|
-
% Put the end character
|
78
|
-
sbs barlen 4 mul 8 add encs 12 get putinterval
|
79
|
-
|
80
|
-
% Return the arguments
|
81
|
-
/retval 8 dict def
|
82
|
-
retval (ren) (renlinear) put
|
83
|
-
retval (sbs) [sbs {48 sub} forall] put
|
84
|
-
includetext {
|
85
|
-
retval (bhs) [height height 8{height .075 sub}repeat height height 8{height .075 sub}repeat height height] put
|
86
|
-
retval (bbs) [0 0 8{.075}repeat 0 0 8{.075}repeat 0 0] put
|
87
|
-
retval (txt) txt put
|
88
|
-
} {
|
89
|
-
retval (bhs) [22{height}repeat] put
|
90
|
-
retval (bbs) [22{0}repeat] put
|
91
|
-
} ifelse
|
92
|
-
retval (opt) useropts put
|
93
|
-
retval (guardleftpos) 10 put
|
94
|
-
retval (guardrightpos) 10 put
|
95
|
-
retval (borderbottom) 5 put
|
96
|
-
retval
|
97
|
-
|
98
|
-
end
|
99
|
-
|
100
|
-
} bind def
|
101
|
-
/ean8 load 0 1 dict put
|
@@ -1,132 +0,0 @@
|
|
1
|
-
|
2
|
-
% --DESC: Interleaved 2 of 5 (ITF)
|
3
|
-
% --EXAM: 24012345678905
|
4
|
-
% --EXOP: showborder borderwidth=4 borderleft=15 borderright=15 height=0.5 includecheck includetext includecheckintext textyoffset=-10
|
5
|
-
% --RNDR: renlinear
|
6
|
-
/interleaved2of5 {
|
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
|
-
/barlen barcode length def % Length of the code
|
34
|
-
|
35
|
-
% Prefix 0 to barcode if length is even and including checkdigit
|
36
|
-
% or length is odd and not including checkdigit
|
37
|
-
barlen 2 mod 0 eq includecheck and % even & includecheck
|
38
|
-
barlen 2 mod 0 ne includecheck not and or { % odd & !includecheck
|
39
|
-
/pad barlen 1 add string def % Create pad one bigger than barcode
|
40
|
-
pad 0 48 put % Put ascii 0 at start of pad
|
41
|
-
pad 1 barcode putinterval % Add barcode to the end of pad
|
42
|
-
/barcode pad def % barcode=pad
|
43
|
-
/barlen barlen 1 add def % barlen++
|
44
|
-
} if
|
45
|
-
|
46
|
-
% Add checksum to end of barcode
|
47
|
-
includecheck {
|
48
|
-
/checksum 0 def
|
49
|
-
0 1 barlen 1 sub {
|
50
|
-
/i exch def
|
51
|
-
i 2 mod 0 eq {
|
52
|
-
/checksum checksum barcode i get 48 sub 3 mul add def
|
53
|
-
} {
|
54
|
-
/checksum checksum barcode i get 48 sub add def
|
55
|
-
} ifelse
|
56
|
-
} for
|
57
|
-
/checksum 10 checksum 10 mod sub 10 mod def
|
58
|
-
/pad barlen 1 add string def % Create pad one bigger than barcode
|
59
|
-
pad 0 barcode putinterval % Add barcode to the start of pad
|
60
|
-
pad barlen checksum 48 add put % Add checksum to end of pad
|
61
|
-
/barcode pad def % barcode=pad
|
62
|
-
/barlen barlen 1 add def % barlen++
|
63
|
-
} if
|
64
|
-
|
65
|
-
% Create an array containing the character mappings
|
66
|
-
/encs
|
67
|
-
[ (11331) (31113) (13113) (33111) (11313)
|
68
|
-
(31311) (13311) (11133) (31131) (13131)
|
69
|
-
(1111) (3111)
|
70
|
-
] def
|
71
|
-
|
72
|
-
% Create a string of the available characters
|
73
|
-
/barchars (0123456789) def
|
74
|
-
/sbs barlen 5 mul 8 add string def
|
75
|
-
/txt barlen array def
|
76
|
-
|
77
|
-
% Put the start character
|
78
|
-
sbs 0 encs 10 get putinterval
|
79
|
-
|
80
|
-
0 2 barlen 1 sub {
|
81
|
-
/i exch def
|
82
|
-
% Lookup the encodings for two consecutive barcode characters
|
83
|
-
barcode i 1 getinterval barchars exch search
|
84
|
-
pop % Discard true leaving pre
|
85
|
-
length /indx exch def % indx is the length of pre
|
86
|
-
pop pop % Discard seek and post
|
87
|
-
/enca encs indx get def % Get the indxth encoding
|
88
|
-
|
89
|
-
barcode i 1 add 1 getinterval barchars exch search
|
90
|
-
pop % Discard true leaving pre
|
91
|
-
length /indx exch def % indx is the length of pre
|
92
|
-
pop pop % Discard seek and post
|
93
|
-
/encb encs indx get def % Get the indxth encoding
|
94
|
-
|
95
|
-
% Interleave the two character encodings
|
96
|
-
/intl enca length 2 mul string def
|
97
|
-
0 1 enca length 1 sub {
|
98
|
-
/j exch def
|
99
|
-
/achar enca j get def
|
100
|
-
/bchar encb j get def
|
101
|
-
intl j 2 mul achar put
|
102
|
-
intl j 2 mul 1 add bchar put
|
103
|
-
} for
|
104
|
-
|
105
|
-
sbs i 5 mul 4 add intl putinterval % Put encoded digit into sbs
|
106
|
-
txt i [barcode i 1 getinterval i 9 mul 4 add textyoffset textfont textsize] put
|
107
|
-
includecheck includecheckintext not and barlen 2 sub i eq and {
|
108
|
-
txt i 1 add [( ) i 1 add 9 mul 4 add textyoffset textfont textsize] put
|
109
|
-
} {
|
110
|
-
txt i 1 add [barcode i 1 add 1 getinterval i 1 add 9 mul 4 add textyoffset textfont textsize] put
|
111
|
-
} ifelse
|
112
|
-
} for
|
113
|
-
|
114
|
-
% Put the end character
|
115
|
-
sbs barlen 5 mul 4 add encs 11 get putinterval
|
116
|
-
|
117
|
-
% Return the arguments
|
118
|
-
/retval 8 dict def
|
119
|
-
retval (ren) (renlinear) put
|
120
|
-
retval (sbs) [sbs {48 sub} forall] put
|
121
|
-
retval (bhs) [sbs length 1 add 2 idiv {height} repeat] put
|
122
|
-
retval (bbs) [sbs length 1 add 2 idiv {0} repeat] put
|
123
|
-
includetext {
|
124
|
-
retval (txt) txt put
|
125
|
-
} if
|
126
|
-
retval (opt) useropts put
|
127
|
-
retval
|
128
|
-
|
129
|
-
end
|
130
|
-
|
131
|
-
} bind def
|
132
|
-
/interleaved2of5 load 0 1 dict put
|