@@ -59,66 +59,64 @@ class TypeCode93 implements TypeInterface
5959 47 => '112131 ' , // /
6060 43 => '113121 ' , // +
6161 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 ' , // (+ )
6666 42 => '111141 ' , // start-stop
6767 ];
6868
6969 public function getBarcodeData (string $ code ): Barcode
7070 {
71- $ code = strtoupper ($ code );
72-
7371 $ 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 ' ,
106104 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 ' ,
119117 chr (45 ) => '- ' ,
120118 chr (46 ) => '. ' ,
121- chr (47 ) => chr ( 47 ), // "/"
119+ chr (47 ) => ' / ' ,
122120 chr (48 ) => '0 ' ,
123121 chr (49 ) => '1 ' ,
124122 chr (50 ) => '2 ' ,
@@ -129,13 +127,13 @@ public function getBarcodeData(string $code): Barcode
129127 chr (55 ) => '7 ' ,
130128 chr (56 ) => '8 ' ,
131129 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 ' ,
139137 chr (65 ) => 'A ' ,
140138 chr (66 ) => 'B ' ,
141139 chr (67 ) => 'C ' ,
@@ -162,43 +160,43 @@ public function getBarcodeData(string $code): Barcode
162160 chr (88 ) => 'X ' ,
163161 chr (89 ) => 'Y ' ,
164162 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 ' ,
202200 ];
203201
204202 $ code_ext = '' ;
@@ -250,13 +248,10 @@ public function getBarcodeData(string $code): Barcode
250248 */
251249 protected function checksum_code93 ($ code )
252250 {
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 ' ];
258252
259253 // calculate check digit C
254+ $ len = strlen ($ code );
260255 $ p = 1 ;
261256 $ check = 0 ;
262257 for ($ i = ($ len - 1 ); $ i >= 0 ; --$ i ) {
@@ -287,9 +282,6 @@ protected function checksum_code93($code)
287282
288283 $ checksum = $ c . $ k ;
289284
290- // resto respecial characters
291- $ checksum = strtr ($ checksum , '<=>? ' , chr (128 ) . chr (131 ) . chr (129 ) . chr (130 ));
292-
293285 return $ checksum ;
294286 }
295287}
0 commit comments