@@ -59,66 +59,64 @@ class TypeCode93 implements TypeInterface
59
59
47 => '112131 ' , // /
60
60
43 => '113121 ' , // +
61
61
37 => '211131 ' , // %
62
- 128 => '121221 ' , // ($)
63
- 129 => '311121 ' , // (/ )
64
- 130 => '122211 ' , // (+ )
65
- 131 => '312111 ' , // (% )
62
+ 97 => '121221 ' , // ($)
63
+ 98 => '312111 ' , // (% )
64
+ 99 => '311121 ' , // (/ )
65
+ 100 => '122211 ' , // (+ )
66
66
42 => '111141 ' , // start-stop
67
67
];
68
68
69
69
public function getBarcodeData (string $ code ): Barcode
70
70
{
71
- $ code = strtoupper ($ code );
72
-
73
71
$ encode = [
74
- chr (0 ) => chr ( 131 ) . ' U ' ,
75
- chr (1 ) => chr ( 128 ) . ' A ' ,
76
- chr (2 ) => chr ( 128 ) . ' B ' ,
77
- chr (3 ) => chr ( 128 ) . ' C ' ,
78
- chr (4 ) => chr ( 128 ) . ' D ' ,
79
- chr (5 ) => chr ( 128 ) . ' E ' ,
80
- chr (6 ) => chr ( 128 ) . ' F ' ,
81
- chr (7 ) => chr ( 128 ) . ' G ' ,
82
- chr (8 ) => chr ( 128 ) . ' H ' ,
83
- chr (9 ) => chr ( 128 ) . ' I ' ,
84
- chr (10 ) => chr ( 128 ) . ' J ' ,
85
- chr (11 ) => '£K ' ,
86
- chr (12 ) => chr ( 128 ) . ' L ' ,
87
- chr (13 ) => chr ( 128 ) . ' M ' ,
88
- chr (14 ) => chr ( 128 ) . ' N ' ,
89
- chr (15 ) => chr ( 128 ) . ' O ' ,
90
- chr (16 ) => chr ( 128 ) . ' P ' ,
91
- chr (17 ) => chr ( 128 ) . ' Q ' ,
92
- chr (18 ) => chr ( 128 ) . ' R ' ,
93
- chr (19 ) => chr ( 128 ) . ' S ' ,
94
- chr (20 ) => chr ( 128 ) . ' T ' ,
95
- chr (21 ) => chr ( 128 ) . ' U ' ,
96
- chr (22 ) => chr ( 128 ) . ' V ' ,
97
- chr (23 ) => chr ( 128 ) . ' W ' ,
98
- chr (24 ) => chr ( 128 ) . ' X ' ,
99
- chr (25 ) => chr ( 128 ) . ' Y ' ,
100
- chr (26 ) => chr ( 128 ) . ' Z ' ,
101
- chr (27 ) => chr ( 131 ) . ' A ' ,
102
- chr (28 ) => chr ( 131 ) . ' B ' ,
103
- chr (29 ) => chr ( 131 ) . ' C ' ,
104
- chr (30 ) => chr ( 131 ) . ' D ' ,
105
- chr (31 ) => chr ( 131 ) . ' E ' ,
72
+ chr (0 ) => ' bU ' ,
73
+ chr (1 ) => ' aA ' ,
74
+ chr (2 ) => ' aB ' ,
75
+ chr (3 ) => ' aC ' ,
76
+ chr (4 ) => ' aD ' ,
77
+ chr (5 ) => ' aE ' ,
78
+ chr (6 ) => ' aF ' ,
79
+ chr (7 ) => ' aG ' ,
80
+ chr (8 ) => ' aH ' ,
81
+ chr (9 ) => ' aI ' ,
82
+ chr (10 ) => ' aJ ' ,
83
+ chr (11 ) => 'aK ' ,
84
+ chr (12 ) => ' aL ' ,
85
+ chr (13 ) => ' aM ' ,
86
+ chr (14 ) => ' aN ' ,
87
+ chr (15 ) => ' aO ' ,
88
+ chr (16 ) => ' aP ' ,
89
+ chr (17 ) => ' aQ ' ,
90
+ chr (18 ) => ' aR ' ,
91
+ chr (19 ) => ' aS ' ,
92
+ chr (20 ) => ' aT ' ,
93
+ chr (21 ) => ' aU ' ,
94
+ chr (22 ) => ' aV ' ,
95
+ chr (23 ) => ' aW ' ,
96
+ chr (24 ) => ' aX ' ,
97
+ chr (25 ) => ' aY ' ,
98
+ chr (26 ) => ' aZ ' ,
99
+ chr (27 ) => ' bA ' ,
100
+ chr (28 ) => ' bB ' ,
101
+ chr (29 ) => ' bC ' ,
102
+ chr (30 ) => ' bD ' ,
103
+ chr (31 ) => ' bE ' ,
106
104
chr (32 ) => ' ' ,
107
- chr (33 ) => chr ( 129 ) . ' A ' ,
108
- chr (34 ) => chr ( 129 ) . ' B ' ,
109
- chr (35 ) => chr ( 129 ) . ' C ' ,
110
- chr (36 ) => chr ( 36 ), // "$"
111
- chr (37 ) => chr ( 37 ), // "%"
112
- chr (38 ) => chr ( 129 ) . ' F ' ,
113
- chr (39 ) => chr ( 129 ) . ' G ' ,
114
- chr (40 ) => chr ( 129 ) . ' H ' ,
115
- chr (41 ) => chr ( 129 ) . ' I ' ,
116
- chr (42 ) => chr ( 129 ) . ' J ' ,
117
- chr (43 ) => chr ( 43 ), // "+"
118
- chr (44 ) => chr ( 129 ) . ' L ' ,
105
+ chr (33 ) => ' cA ' ,
106
+ chr (34 ) => ' cB ' ,
107
+ chr (35 ) => ' cC ' ,
108
+ chr (36 ) => ' $ ' ,
109
+ chr (37 ) => ' % ' ,
110
+ chr (38 ) => ' cF ' ,
111
+ chr (39 ) => ' cG ' ,
112
+ chr (40 ) => ' cH ' ,
113
+ chr (41 ) => ' cI ' ,
114
+ chr (42 ) => ' cJ ' ,
115
+ chr (43 ) => ' + ' ,
116
+ chr (44 ) => ' cL ' ,
119
117
chr (45 ) => '- ' ,
120
118
chr (46 ) => '. ' ,
121
- chr (47 ) => chr ( 47 ), // "/"
119
+ chr (47 ) => ' / ' ,
122
120
chr (48 ) => '0 ' ,
123
121
chr (49 ) => '1 ' ,
124
122
chr (50 ) => '2 ' ,
@@ -129,13 +127,13 @@ public function getBarcodeData(string $code): Barcode
129
127
chr (55 ) => '7 ' ,
130
128
chr (56 ) => '8 ' ,
131
129
chr (57 ) => '9 ' ,
132
- chr (58 ) => chr ( 129 ) . ' Z ' ,
133
- chr (59 ) => chr ( 131 ) . ' F ' ,
134
- chr (60 ) => chr ( 131 ) . ' G ' ,
135
- chr (61 ) => chr ( 131 ) . ' H ' ,
136
- chr (62 ) => chr ( 131 ) . ' I ' ,
137
- chr (63 ) => chr ( 131 ) . ' J ' ,
138
- chr (64 ) => chr ( 131 ) . ' V ' ,
130
+ chr (58 ) => ' cZ ' ,
131
+ chr (59 ) => ' bF ' ,
132
+ chr (60 ) => ' bG ' ,
133
+ chr (61 ) => ' bH ' ,
134
+ chr (62 ) => ' bI ' ,
135
+ chr (63 ) => ' bJ ' ,
136
+ chr (64 ) => ' bV ' ,
139
137
chr (65 ) => 'A ' ,
140
138
chr (66 ) => 'B ' ,
141
139
chr (67 ) => 'C ' ,
@@ -162,43 +160,43 @@ public function getBarcodeData(string $code): Barcode
162
160
chr (88 ) => 'X ' ,
163
161
chr (89 ) => 'Y ' ,
164
162
chr (90 ) => 'Z ' ,
165
- chr (91 ) => chr ( 131 ) . ' K ' ,
166
- chr (92 ) => chr ( 131 ) . ' L ' ,
167
- chr (93 ) => chr ( 131 ) . ' M ' ,
168
- chr (94 ) => chr ( 131 ) . ' N ' ,
169
- chr (95 ) => chr ( 131 ) . ' O ' ,
170
- chr (96 ) => chr ( 131 ) . ' W ' ,
171
- chr (97 ) => chr ( 130 ) . ' A ' ,
172
- chr (98 ) => chr ( 130 ) . ' B ' ,
173
- chr (99 ) => chr ( 130 ) . ' C ' ,
174
- chr (100 ) => chr ( 130 ) . ' D ' ,
175
- chr (101 ) => chr ( 130 ) . ' E ' ,
176
- chr (102 ) => chr ( 130 ) . ' F ' ,
177
- chr (103 ) => chr ( 130 ) . ' G ' ,
178
- chr (104 ) => chr ( 130 ) . ' H ' ,
179
- chr (105 ) => chr ( 130 ) . ' I ' ,
180
- chr (106 ) => chr ( 130 ) . ' J ' ,
181
- chr (107 ) => chr ( 130 ) . ' K ' ,
182
- chr (108 ) => chr ( 130 ) . ' L ' ,
183
- chr (109 ) => chr ( 130 ) . ' M ' ,
184
- chr (110 ) => chr ( 130 ) . ' N ' ,
185
- chr (111 ) => chr ( 130 ) . ' O ' ,
186
- chr (112 ) => chr ( 130 ) . ' P ' ,
187
- chr (113 ) => chr ( 130 ) . ' Q ' ,
188
- chr (114 ) => chr ( 130 ) . ' R ' ,
189
- chr (115 ) => chr ( 130 ) . ' S ' ,
190
- chr (116 ) => chr ( 130 ) . ' T ' ,
191
- chr (117 ) => chr ( 130 ) . ' U ' ,
192
- chr (118 ) => chr ( 130 ) . ' V ' ,
193
- chr (119 ) => chr ( 130 ) . ' W ' ,
194
- chr (120 ) => chr ( 130 ) . ' X ' ,
195
- chr (121 ) => chr ( 130 ) . ' Y ' ,
196
- chr (122 ) => chr ( 130 ) . ' Z ' ,
197
- chr (123 ) => chr ( 131 ) . ' P ' ,
198
- chr (124 ) => chr ( 131 ) . ' Q ' ,
199
- chr (125 ) => chr ( 131 ) . ' R ' ,
200
- chr (126 ) => chr ( 131 ) . ' S ' ,
201
- chr (127 ) => chr ( 131 ) . ' T ' ,
163
+ chr (91 ) => ' bK ' ,
164
+ chr (92 ) => ' bL ' ,
165
+ chr (93 ) => ' bM ' ,
166
+ chr (94 ) => ' bN ' ,
167
+ chr (95 ) => ' bO ' ,
168
+ chr (96 ) => ' bW ' ,
169
+ chr (97 ) => ' dA ' ,
170
+ chr (98 ) => ' dB ' ,
171
+ chr (99 ) => ' dC ' ,
172
+ chr (100 ) => ' dD ' ,
173
+ chr (101 ) => ' dE ' ,
174
+ chr (102 ) => ' dF ' ,
175
+ chr (103 ) => ' dG ' ,
176
+ chr (104 ) => ' dH ' ,
177
+ chr (105 ) => ' dI ' ,
178
+ chr (106 ) => ' dJ ' ,
179
+ chr (107 ) => ' dK ' ,
180
+ chr (108 ) => ' dL ' ,
181
+ chr (109 ) => ' dM ' ,
182
+ chr (110 ) => ' dN ' ,
183
+ chr (111 ) => ' dO ' ,
184
+ chr (112 ) => ' dP ' ,
185
+ chr (113 ) => ' dQ ' ,
186
+ chr (114 ) => ' dR ' ,
187
+ chr (115 ) => ' dS ' ,
188
+ chr (116 ) => ' dT ' ,
189
+ chr (117 ) => ' dU ' ,
190
+ chr (118 ) => ' dV ' ,
191
+ chr (119 ) => ' dW ' ,
192
+ chr (120 ) => ' dX ' ,
193
+ chr (121 ) => ' dY ' ,
194
+ chr (122 ) => ' dZ ' ,
195
+ chr (123 ) => ' bP ' ,
196
+ chr (124 ) => ' bQ ' ,
197
+ chr (125 ) => ' bR ' ,
198
+ chr (126 ) => ' bS ' ,
199
+ chr (127 ) => ' bT ' ,
202
200
];
203
201
204
202
$ code_ext = '' ;
@@ -250,13 +248,10 @@ public function getBarcodeData(string $code): Barcode
250
248
*/
251
249
protected function checksum_code93 ($ code )
252
250
{
253
- $ chars = ['0 ' , '1 ' , '2 ' , '3 ' , '4 ' , '5 ' , '6 ' , '7 ' , '8 ' , '9 ' , 'A ' , 'B ' , 'C ' , 'D ' , 'E ' , 'F ' , 'G ' , 'H ' , 'I ' , 'J ' , 'K ' , 'L ' , 'M ' , 'N ' , 'O ' , 'P ' , 'Q ' , 'R ' , 'S ' , 'T ' , 'U ' , 'V ' , 'W ' , 'X ' , 'Y ' , 'Z ' , '- ' , '. ' , ' ' , '$ ' , '/ ' , '+ ' , '% ' , '< ' , '= ' , '> ' , '? ' ];
254
-
255
- // translate special characters
256
- $ code = strtr ($ code , chr (128 ) . chr (131 ) . chr (129 ) . chr (130 ), '<=>? ' );
257
- $ len = strlen ($ code );
251
+ $ chars = ['0 ' , '1 ' , '2 ' , '3 ' , '4 ' , '5 ' , '6 ' , '7 ' , '8 ' , '9 ' , 'A ' , 'B ' , 'C ' , 'D ' , 'E ' , 'F ' , 'G ' , 'H ' , 'I ' , 'J ' , 'K ' , 'L ' , 'M ' , 'N ' , 'O ' , 'P ' , 'Q ' , 'R ' , 'S ' , 'T ' , 'U ' , 'V ' , 'W ' , 'X ' , 'Y ' , 'Z ' , '- ' , '. ' , ' ' , '$ ' , '/ ' , '+ ' , '% ' , 'a ' , 'b ' , 'c ' , 'd ' ];
258
252
259
253
// calculate check digit C
254
+ $ len = strlen ($ code );
260
255
$ p = 1 ;
261
256
$ check = 0 ;
262
257
for ($ i = ($ len - 1 ); $ i >= 0 ; --$ i ) {
@@ -287,9 +282,6 @@ protected function checksum_code93($code)
287
282
288
283
$ checksum = $ c . $ k ;
289
284
290
- // resto respecial characters
291
- $ checksum = strtr ($ checksum , '<=>? ' , chr (128 ) . chr (131 ) . chr (129 ) . chr (130 ));
292
-
293
285
return $ checksum ;
294
286
}
295
287
}
0 commit comments