Skip to content

Commit 51904f4

Browse files
committed
symbol: Uplift
1 parent 20b5dcd commit 51904f4

1 file changed

Lines changed: 46 additions & 52 deletions

File tree

src/symbol.ps.src

Lines changed: 46 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
% Barcode Writer in Pure PostScript
22
% https://bwipp.terryburton.co.uk
33
%
4-
% Copyright (c) 2004-2024 Terry Burton
4+
% Copyright (c) 2004-2025 Terry Burton
55
%
66
% $Id$
77
%
@@ -38,83 +38,77 @@
3838
currentglobal
3939
true setglobal
4040
/setpacking where {pop currentpacking true setpacking} if
41-
10 dict
42-
dup /loadctx dup /uk.co.terryburton.bwipp findresource put
43-
dup /unloadctx dup /uk.co.terryburton.bwipp findresource put
41+
50 dict
4442
dup /raiseerror dup /uk.co.terryburton.bwipp findresource put
4543
dup /processoptions dup /uk.co.terryburton.bwipp findresource put
4644
dup /renlinear dup /uk.co.terryburton.bwipp findresource put
4745
dup /renmatrix dup /uk.co.terryburton.bwipp findresource put
4846
begin
49-
/symbol {
5047

51-
20 dict begin
48+
/symbol.fimasbs [2.25 2.25 2.25 11.25 2.25 11.25 2.25 2.25 2.25] readonly def
49+
/symbol.fimabhs [//symbol.fimasbs length 2 idiv 1 add {.625} repeat] readonly def
50+
/symbol.fimabbs [//symbol.fimasbs length 2 idiv 1 add {0 } repeat] readonly def
5251

53-
/ctx null def
54-
/dontdraw false def
55-
56-
//processoptions exec /options exch def
57-
/barcode exch def
52+
/symbol.fimbsbs [2.25 6.75 2.25 2.25 2.25 6.25 2.25 2.25 2.25 6.75 2.25] readonly def
53+
/symbol.fimbbhs [//symbol.fimbsbs length 2 idiv 1 add {.625} repeat] readonly def
54+
/symbol.fimbbbs [//symbol.fimbsbs length 2 idiv 1 add {0 } repeat] readonly def
5855

59-
/symbol //loadctx exec
56+
/symbol.fimcsbs [2.25 2.25 2.25 6.75 2.25 6.75 2.25 6.75 2.25 2.25 2.25] readonly def
57+
/symbol.fimcbhs [//symbol.fimcsbs length 2 idiv 1 add {.625} repeat] readonly def
58+
/symbol.fimcbbs [//symbol.fimcsbs length 2 idiv 1 add {0 } repeat] readonly def
6059

61-
{ % context
60+
/symbol.fimdsbs [2.25 2.25 2.25 2.25 2.25 6.75 2.25 6.75 2.25 2.25 2.25 2.25 2.25] readonly def
61+
/symbol.fimdbhs [//symbol.fimdsbs length 2 idiv 1 add {.625} repeat] readonly def
62+
/symbol.fimdbbs [//symbol.fimdsbs length 2 idiv 1 add {0 } repeat] readonly def
6263

63-
/fimasbs [2.25 2.25 2.25 11.25 2.25 11.25 2.25 2.25 2.25] def
64-
/fimabhs [fimasbs length 2 idiv 1 add {.625} repeat] def
65-
/fimabbs [fimasbs length 2 idiv 1 add {0 } repeat] def
64+
/symbol.fimesbs [2.25 6.75 2.25 15.75 2.25 6.75 2.25] readonly def
65+
/symbol.fimebhs [//symbol.fimesbs length 2 idiv 1 add {.625} repeat] readonly def
66+
/symbol.fimebbs [//symbol.fimesbs length 2 idiv 1 add {0 } repeat] readonly def
6667

67-
/fimbsbs [2.25 6.75 2.25 2.25 2.25 6.25 2.25 2.25 2.25 6.75 2.25] def
68-
/fimbbhs [fimbsbs length 2 idiv 1 add {.625} repeat] def
69-
/fimbbbs [fimbsbs length 2 idiv 1 add {0 } repeat] def
68+
/symbol.zebrasbs [100 { 1 1 } repeat 1] readonly def
69+
/symbol.zebrabhs [//symbol.zebrasbs length 2 idiv 1 add {1} repeat] readonly def
70+
/symbol.zebrabbs [//symbol.zebrasbs length 2 idiv 1 add {0} repeat] readonly def
7071

71-
/fimcsbs [2.25 2.25 2.25 6.75 2.25 6.75 2.25 6.75 2.25 2.25 2.25] def
72-
/fimcbhs [fimcsbs length 2 idiv 1 add {.625} repeat] def
73-
/fimcbbs [fimcsbs length 2 idiv 1 add {0 } repeat] def
72+
/symbol.checksize 199 def
73+
/symbol.checkpixs [ //symbol.checksize dup mul 2 idiv {1 0} repeat 1 ] readonly def
7474

75-
/fimdsbs [2.25 2.25 2.25 2.25 2.25 6.75 2.25 6.75 2.25 2.25 2.25 2.25 2.25] def
76-
/fimdbhs [fimdsbs length 2 idiv 1 add {.625} repeat] def
77-
/fimdbbs [fimdsbs length 2 idiv 1 add {0 } repeat] def
75+
/symbol.symbols <<
76+
/fima { << /ren /renlinear /sbs //symbol.fimasbs /bhs //symbol.fimabhs /bbs //symbol.fimabbs >> } bind
77+
/fimb { << /ren /renlinear /sbs //symbol.fimbsbs /bhs //symbol.fimbbhs /bbs //symbol.fimbbbs >> } bind
78+
/fimc { << /ren /renlinear /sbs //symbol.fimcsbs /bhs //symbol.fimcbhs /bbs //symbol.fimcbbs >> } bind
79+
/fimd { << /ren /renlinear /sbs //symbol.fimdsbs /bhs //symbol.fimdbhs /bbs //symbol.fimdbbs >> } bind
80+
/fime { << /ren /renlinear /sbs //symbol.fimesbs /bhs //symbol.fimebhs /bbs //symbol.fimebbs >> } bind
81+
/zebra { << /ren /renlinear /sbs //symbol.zebrasbs /bhs //symbol.zebrabhs /bbs //symbol.zebrabbs >> } bind
82+
/check { << /ren /renmatrix /pixs //symbol.checkpixs /pixx //symbol.checksize /pixy //symbol.checksize /height //symbol.checksize 72 div /width //symbol.checksize 72 div >> } bind
83+
>> readonly def
7884

79-
/fimesbs [2.25 6.75 2.25 15.75 2.25 6.75 2.25] def
80-
/fimebhs [fimesbs length 2 idiv 1 add {.625} repeat] def
81-
/fimebbs [fimesbs length 2 idiv 1 add {0 } repeat] def
85+
/symbol.renmap <<
86+
/renlinear //renlinear
87+
/renmatrix //renmatrix
88+
>> readonly def
8289

83-
/zebrasbs [100 { 1 1 } repeat 1] def
84-
/zebrabhs [zebrasbs length 2 idiv 1 add {1} repeat] def
85-
/zebrabbs [zebrasbs length 2 idiv 1 add {0} repeat] def
90+
/symbol {
8691

87-
/checksize 199 def
88-
/checkpixs [ checksize dup mul 2 idiv {1 0} repeat 1 ] def
92+
20 dict begin
8993

90-
/renmap <<
91-
/renlinear //renlinear
92-
/renmatrix //renmatrix
93-
>> def
94+
/ctx null def
9495

95-
} ctxdef
96+
/dontdraw false def
9697

97-
/symbols <<
98-
/fima { << /ren /renlinear /sbs fimasbs /bhs fimabhs /bbs fimabbs >> }
99-
/fimb { << /ren /renlinear /sbs fimbsbs /bhs fimbbhs /bbs fimbbbs >> }
100-
/fimc { << /ren /renlinear /sbs fimcsbs /bhs fimcbhs /bbs fimcbbs >> }
101-
/fimd { << /ren /renlinear /sbs fimdsbs /bhs fimdbhs /bbs fimdbbs >> }
102-
/fime { << /ren /renlinear /sbs fimesbs /bhs fimebhs /bbs fimebbs >> }
103-
/zebra { << /ren /renlinear /sbs zebrasbs /bhs zebrabhs /bbs zebrabbs >> }
104-
/check { << /ren /renmatrix /pixs checkpixs /pixx checksize /pixy checksize /height checksize 72 div /width checksize 72 div >> }
105-
>> def
98+
//processoptions exec /options exch def
99+
/barcode exch def
106100

101+
%
107102
% Valiate input
108-
symbols barcode known not {
103+
%
104+
//symbol.symbols barcode known not {
109105
/bwipp.symbolUnknownSymbol (Unknown symbol name provided) //raiseerror exec
110106
} if
111107

112-
symbols barcode get exec
108+
//symbol.symbols barcode get exec
113109
dup /opt options put
114110

115-
dontdraw not { dup /ren get renmap exch get exec } if
116-
117-
//unloadctx exec
111+
dontdraw not { dup /ren get //symbol.renmap exch get exec } if
118112

119113
end
120114

0 commit comments

Comments
 (0)