PNG  IHDR* pHYs+ IDATx]n#; cdLb Ǚ[at¤_:uP}>!Usă cag޿ ֵNu`ݼTâabO7uL&y^wFٝA"l[|ŲHLN밪4*sG3|Dv}?+y߉{OuOAt4Jj.u]Gz*҉sP'VQKbA1u\`& Af;HWj hsO;ogTu uj7S3/QzUr&wS`M$X_L7r2;aE+ώ%vikDA:dR+%KzƉo>eOth$z%: :{WwaQ:wz%4foɹE[9<]#ERINƻv溂E%P1i01 |Jvҗ&{b?9g=^wζXn/lK::90KwrюO\!ջ3uzuGv^;騢wq<Iatv09:tt~hEG`v;3@MNZD.1]L:{ծI3`L(÷ba")Y.iljCɄae#I"1 `3*Bdz>j<fU40⨬%O$3cGt]j%Fߠ_twJ;ABU8vP3uEԑwQ V:h%))LfraqX-ۿX]v-\9I gl8tzX ]ecm)-cgʒ#Uw=Wlێn(0hPP/ӨtQ“&J35 $=]r1{tLuǮ*i0_;NƝ8;-vݏr8+U-kruȕYr0RnC]*ެ(M:]gE;{]tg(#ZJ9y>utRDRMdr9㪩̞zֹb<ģ&wzJM"iI( .ꮅX)Qw:9,i좜\Ԛi7&N0:asϓc];=ΗOӣ APqz93 y $)A*kVHZwBƺnWNaby>XMN*45~ղM6Nvm;A=jֲ.~1}(9`KJ/V F9[=`~[;sRuk]rєT!)iQO)Y$V ی ۤmzWz5IM Zb )ˆC`6 rRa}qNmUfDsWuˤV{ Pݝ'=Kֳbg,UҘVz2ﴻnjNgBb{? ߮tcsͻQuxVCIY۠:(V뺕 ٥2;t`@Fo{Z9`;]wMzU~%UA蛚dI vGq\r82iu +St`cR.6U/M9IENDB`starting = $this->ending = 47; $this->keys = array('0','1','2','3','4','5','6','7','8','9','-'); $this->code = array( // 0 added to add an extra space '000010', /* 0 */ '100010', /* 1 */ '010010', /* 2 */ '110000', /* 3 */ '001010', /* 4 */ '101000', /* 5 */ '011000', /* 6 */ '000110', /* 7 */ '100100', /* 8 */ '100000', /* 9 */ '001000' /* - */ ); $this->setText($text); $this->textfont = $textfont; } /** * Saves Text * * @param string $text */ public function setText($text) { $this->text = $text; } /** * Draws the barcode * * @param ressource $im */ public function draw($im) { $error_stop = false; // Checking if all chars are allowed for($i=0;$itext);$i++) { if(!is_int(array_search($this->text[$i],$this->keys))) { $this->DrawError($im,'Char \''.$this->text[$i].'\' not allowed.'); $error_stop = true; } } if($error_stop == false) { // Starting Code $this->DrawChar($im,'001100',1); // Chars for($i=0;$itext);$i++) $this->DrawChar($im,$this->findCode($this->text[$i]),1); // Checksum // First CheckSUM "C" // The "C" checksum character is the modulo 11 remainder of the sum of the weighted // value of the data characters. The weighting value starts at "1" for the right-most // data character, 2 for the second to last, 3 for the third-to-last, and so on up to 20. // After 10, the sequence wraps around back to 1. // Second CheckSUM "K" // Same as CheckSUM "C" but we count the CheckSum "C" at the end // After 9, the sequence wraps around back to 1. $sequence_multiplier = array(10,9); $temp_text = $this->text; for($z=0;$z<2;$z++) { // We don't display the K CheckSum if the original text had a length less than 10 if(strlen($temp_text)<=10 && $z==1) break; $checksum = 0; for($i=strlen($temp_text),$j=0;$i>0;$i--,$j++) { $multiplier = $i % $sequence_multiplier[$z]; if($multiplier==0) $multiplier=$sequence_multiplier[$z]; $checksum += $this->findIndex($temp_text[$j]) * $multiplier; } $this->DrawChar($im,$this->findCode($checksum % 11),1); $temp_text .= $this->keys[$checksum % 11]; } // Ending Code $this->DrawChar($im,'00110',1); $this->lastX = $this->positionX; $this->lastY = $this->maxHeight; $this->DrawText($im); } } }; ?>