+++ /dev/null
-<?php
-//============================================================+
-// File name : barcode.php
-// Begin : 2002-07-31
-// Last Update : 2005-01-02
-// Author : Karim Mribti [barcode@mribti.com]
-// Version : 1.1 [0.0.8a (original code)]
-// License : GNU LGPL (Lesser General Public License) 2.1
-// http://www.gnu.org/copyleft/lesser.txt
-// Source Code : http://www.mribti.com/barcode/
-//
-// Description : Generic Barcode Render Class for PHP using
-// the GD graphics library.
-//
-// NOTE:
-// This version contains changes by Nicola Asuni:
-// - porting to PHP4
-// - code style and formatting
-// - automatic php documentation in PhpDocumentor Style
-// (www.phpdoc.org)
-// - minor bug fixing
-// - $mCharSet and $mChars variables were added here
-//============================================================+
-
-/**
- * Barcode Render Class for PHP using the GD graphics library.
- * @author Karim Mribti, Nicola Asuni
- * @name BarcodeObject
- * @package com.tecnick.tcpdf
- * @version 0.0.8a 2001-04-01 (original code)
- * @since 2001-03-25
- * @license http://www.gnu.org/copyleft/lesser.html LGPL
- */
-
-// Styles
-// Global
-
-/**
- * option: generate barcode border
- */
-define("BCS_BORDER", 1);
-
-/**
- * option: use transparent background
- */
-define("BCS_TRANSPARENT", 2);
-
-/**
- * option: center barcode
- */
-define("BCS_ALIGN_CENTER", 4);
-
-/**
- * option: align left
- */
-define("BCS_ALIGN_LEFT", 8);
-
-/**
- * option: align right
- */
-define("BCS_ALIGN_RIGHT", 16);
-
-/**
- * option: generate JPEG image
- */
-define("BCS_IMAGE_JPEG", 32);
-
-/**
- * option: generate PNG image
- */
-define("BCS_IMAGE_PNG", 64);
-
-/**
- * option: draw text
- */
-define("BCS_DRAW_TEXT", 128);
-
-/**
- * option: stretch text
- */
-define("BCS_STRETCH_TEXT", 256);
-
-/**
- * option: reverse color
- */
-define("BCS_REVERSE_COLOR", 512);
-
-/**
- * option: draw check
- * (only for I25 code)
- */
-define("BCS_I25_DRAW_CHECK", 2048);
-
-/**
- * set default background color
- */
-define("BCD_DEFAULT_BACKGROUND_COLOR", 0xFFFFFF);
-
-/**
- * set default foreground color
- */
-define("BCD_DEFAULT_FOREGROUND_COLOR", 0x000000);
-
-/**
- * set default style options
- */
-define("BCD_DEFAULT_STYLE", BCS_BORDER | BCS_ALIGN_CENTER | BCS_IMAGE_PNG);
-
-/**
- * set default width
- */
-define("BCD_DEFAULT_WIDTH", 460);
-
-/**
- * set default height
- */
-define("BCD_DEFAULT_HEIGHT", 120);
-
-/**
- * set default font
- */
-define("BCD_DEFAULT_FONT", 5);
-
-/**
- * st default horizontal resolution
- */
-define("BCD_DEFAULT_XRES", 2);
-
-// Margins
-
-/**
- * set default margin
- */
-define("BCD_DEFAULT_MAR_Y1", 0);
-
-/**
- * set default margin
- */
-define("BCD_DEFAULT_MAR_Y2", 0);
-
-/**
- * set default text offset
- */
-define("BCD_DEFAULT_TEXT_OFFSET", 2);
-
-// For the I25 Only
-
-/**
- * narrow bar option
- * (only for I25 code)
- */
-define("BCD_I25_NARROW_BAR", 1);
-
-/**
- * wide bar option
- * (only for I25 code)
- */
-define("BCD_I25_WIDE_BAR", 2);
-
-// For the C39 Only
-
-/**
- * narrow bar option
- * (only for c39 code)
- */
-define("BCD_C39_NARROW_BAR", 1);
-
-/**
- * wide bar option
- * (only for c39 code)
- */
-define("BCD_C39_WIDE_BAR", 2);
-
-// For Code 128
-
-/**
- * set type 1 bar
- * (only for c128 code)
- */
-define("BCD_C128_BAR_1", 1);
-
-/**
- * set type 2 bar
- * (only for c128 code)
- */
-define("BCD_C128_BAR_2", 2);
-
-/**
- * set type 3 bar
- * (only for c128 code)
- */
-define("BCD_C128_BAR_3", 3);
-
-/**
- * set type 4 bar
- * (only for c128 code)
- */
-define("BCD_C128_BAR_4", 4);
-
-/**
- * Barcode Render Class for PHP using the GD graphics library.
- * @author Karim Mribti, Nicola Asuni
- * @name BarcodeObject
- * @package com.tecnick.tcpdf
- * @version 0.0.8a 2001-04-01 (original code)
- * @since 2001-03-25
- * @license http://www.gnu.org/copyleft/lesser.html LGPL
- */
-class BarcodeObject {
- /**
- * @var Image width in pixels.
- * @access protected
- */
- var $mWidth;
-
- /**
- * @var Image height in pixels.
- * @access protected
- */
- var $mHeight;
-
- /**
- * @var Numeric code for Barcode style.
- * @access protected
- */
- var $mStyle;
-
- /**
- * @var Background color.
- * @access protected
- */
- var $mBgcolor;
-
- /**
- * @var Brush color.
- * @access protected
- */
- var $mBrush;
-
- /**
- * @var Image object.
- * @access protected
- */
- var $mImg;
-
- /**
- * @var Numeric code for character font.
- * @access protected
- */
- var $mFont;
-
- /**
- * @var Error message.
- * @access protected
- */
- var $mError;
-
- /**
- * @var Character Set.
- * @access protected
- */
- var $mCharSet;
-
- /**
- * @var Allowed symbols.
- * @access protected
- */
- var $mChars;
-
- /**
- * Class Constructor.
- * @param int $Width Image width in pixels.
- * @param int $Height Image height in pixels.
- * @param int $Style Barcode style.
- */
- function BarcodeObject($Width=BCD_DEFAULT_WIDTH, $Height=BCD_DEFAULT_HEIGHT, $Style=BCD_DEFAULT_STYLE) {
- $this->mWidth = $Width;
- $this->mHeight = $Height;
- $this->mStyle = $Style;
- $this->mFont = BCD_DEFAULT_FONT;
- $this->mImg = ImageCreate($this->mWidth, $this->mHeight);
- $dbColor = $this->mStyle & BCS_REVERSE_COLOR ? BCD_DEFAULT_FOREGROUND_COLOR : BCD_DEFAULT_BACKGROUND_COLOR;
- $dfColor = $this->mStyle & BCS_REVERSE_COLOR ? BCD_DEFAULT_BACKGROUND_COLOR : BCD_DEFAULT_FOREGROUND_COLOR;
- $this->mBgcolor = ImageColorAllocate($this->mImg, ($dbColor & 0xFF0000) >> 16,
- ($dbColor & 0x00FF00) >> 8, $dbColor & 0x0000FF);
- $this->mBrush = ImageColorAllocate($this->mImg, ($dfColor & 0xFF0000) >> 16,
- ($dfColor & 0x00FF00) >> 8, $dfColor & 0x0000FF);
- if (!($this->mStyle & BCS_TRANSPARENT)) {
- ImageFill($this->mImg, $this->mWidth, $this->mHeight, $this->mBgcolor);
- }
- }
-
- /**
- * Returns the image object.
- * @return object image.
- * @author Nicola Asuni
- * @since 1.5.2
- */
- function getImage() {
- return $this->mImg;
- }
-
- /**
- * Abstract method used to draw the barcode image.
- * @param int $xres Horizontal resolution.
- */
- function DrawObject($xres) {
- /* there is not implementation neded, is simply the asbsract function. */
- return false;
- }
-
- /**
- * Draws the barcode border.
- * @access protected
- */
- function DrawBorder() {
- ImageRectangle($this->mImg, 0, 0, $this->mWidth-1, $this->mHeight-1, $this->mBrush);
- }
-
- /**
- * Draws the alphanumeric code.
- * @param int $Font Font type.
- * @param int $xPos Horiziontal position.
- * @param int $yPos Vertical position.
- * @param int $Char Alphanumeric code to write.
- * @access protected
- */
- function DrawChar($Font, $xPos, $yPos, $Char) {
- ImageString($this->mImg,$Font,$xPos,$yPos,$Char,$this->mBrush);
- }
-
- /**
- * Draws a character string.
- * @param int $Font Font type.
- * @param int $xPos Horiziontal position.
- * @param int $yPos Vertical position.
- * @param int $Char string to write.
- * @access protected
- */
- function DrawText($Font, $xPos, $yPos, $Char) {
- ImageString($this->mImg,$Font,$xPos,$yPos,$Char,$this->mBrush);
- }
-
- /**
- * Draws a single barcode bar.
- * @param int $xPos Horiziontal position.
- * @param int $yPos Vertical position.
- * @param int $xSize Horizontal size.
- * @param int $xSize Vertical size.
- * @return bool trur in case of success, false otherwise.
- * @access protected
- */
- function DrawSingleBar($xPos, $yPos, $xSize, $ySize) {
- if ($xPos>=0 && $xPos<=$this->mWidth && ($xPos+$xSize)<=$this->mWidth &&
- $yPos>=0 && $yPos<=$this->mHeight && ($yPos+$ySize)<=$this->mHeight) {
- for ($i=0;$i<$xSize;$i++) {
- ImageLine($this->mImg, $xPos+$i, $yPos, $xPos+$i, $yPos+$ySize, $this->mBrush);
- }
- return true;
- }
- return false;
- }
-
- /**
- * Returns the current error message.
- * @return string error message.
- */
- function GetError() {
- return $this->mError;
- }
-
- /**
- * Returns the font height.
- * @param int $font font type.
- * @return int font height.
- */
- function GetFontHeight($font) {
- return ImageFontHeight($font);
- }
-
- /**
- * Returns the font width.
- * @param int $font font type.
- * @return int font width.
- */
- function GetFontWidth($font) {
- return ImageFontWidth($font);
- }
-
- /**
- * Set font type.
- * @param int $font font type.
- */
- function SetFont($font) {
- $this->mFont = $font;
- }
-
- /**
- * Returns barcode style.
- * @return int barcode style.
- */
- function GetStyle() {
- return $this->mStyle;
- }
-
- /**
- * Set barcode style.
- * @param int $Style barcode style.
- */
- function SetStyle ($Style) {
- $this->mStyle = $Style;
- }
-
- /**
- * Flush the barcode image.
- */
- function FlushObject() {
- if (($this->mStyle & BCS_BORDER)) {
- $this->DrawBorder();
- }
- if ($this->mStyle & BCS_IMAGE_PNG) {
- Header("Content-Type: image/png");
- ImagePng($this->mImg);
- } else if ($this->mStyle & BCS_IMAGE_JPEG) {
- Header("Content-Type: image/jpeg");
- ImageJpeg($this->mImg);
- }
- }
-
- /**
- * Destroy the barcode image.
- */
- function DestroyObject() {
- ImageDestroy($this->mImg);
- }
-}
-
-//============================================================+
-// END OF FILE
-//============================================================+
-?>
\ No newline at end of file
+++ /dev/null
-<?php
-//============================================================+
-// File name : c128aobject.php
-// Begin : 2002-07-31
-// Last Update : 2004-12-29
-// Author : Karim Mribti [barcode@mribti.com]
-// Version : 0.0.8a 2001-04-01 (original code)
-// License : GNU LGPL (Lesser General Public License) 2.1
-// http://www.gnu.org/copyleft/lesser.txt
-// Source Code : http://www.mribti.com/barcode/
-//
-// Description : Code 128-A Barcode Render Class for PHP using
-// the GD graphics library.
-// Code 128-A is a continuous, multilevel and
-// include all upper case alphanumeric characters
-// and ASCII control characters.
-//
-// NOTE:
-// This version contains changes by Nicola Asuni:
-// - porting to PHP4
-// - code style and formatting
-// - automatic php documentation in PhpDocumentor Style
-// (www.phpdoc.org)
-// - minor bug fixing
-//============================================================+
-
-/**
- * Code 128-A Barcode Render Class for PHP using the GD graphics library.<br>
- * Code 128-A is a continuous, multilevel and include all upper case alphanumeric characters and ASCII control characters.
- * @author Karim Mribti, Nicola Asuni
- * @name BarcodeObject
- * @package com.tecnick.tcpdf
- * @version 0.0.8a 2001-04-01 (original code)
- * @since 2001-03-25
- * @license http://www.gnu.org/copyleft/lesser.html LGPL
- */
-
-/**
- * Code 128-A Barcode Render Class for PHP using the GD graphics library.<br>
- * Code 128-A is a continuous, multilevel and include all upper case alphanumeric characters and ASCII control characters.
- * @author Karim Mribti, Nicola Asuni
- * @name BarcodeObject
- * @package com.tecnick.tcpdf
- * @version 0.0.8a 2001-04-01 (original code)
- * @since 2001-03-25
- * @license http://www.gnu.org/copyleft/lesser.html LGPL
- */
-class C128AObject extends BarcodeObject {
-
- /**
- * Class Constructor.
- * @param int $Width Image width in pixels.
- * @param int $Height Image height in pixels.
- * @param int $Style Barcode style.
- * @param int $Value value to print on barcode.
- */
- function C128AObject($Width, $Height, $Style, $Value) {
- $this->BarcodeObject($Width, $Height, $Style);
- $this->mValue = $Value;
- $this->mChars = " !\"#$%&'()*+�-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_";
- $this->mCharSet = array (
- "212222", /* 00 */
- "222122", /* 01 */
- "222221", /* 02 */
- "121223", /* 03 */
- "121322", /* 04 */
- "131222", /* 05 */
- "122213", /* 06 */
- "122312", /* 07 */
- "132212", /* 08 */
- "221213", /* 09 */
- "221312", /* 10 */
- "231212", /* 11 */
- "112232", /* 12 */
- "122132", /* 13 */
- "122231", /* 14 */
- "113222", /* 15 */
- "123122", /* 16 */
- "123221", /* 17 */
- "223211", /* 18 */
- "221132", /* 19 */
- "221231", /* 20 */
- "213212", /* 21 */
- "223112", /* 22 */
- "312131", /* 23 */
- "311222", /* 24 */
- "321122", /* 25 */
- "321221", /* 26 */
- "312212", /* 27 */
- "322112", /* 28 */
- "322211", /* 29 */
- "212123", /* 30 */
- "212321", /* 31 */
- "232121", /* 32 */
- "111323", /* 33 */
- "131123", /* 34 */
- "131321", /* 35 */
- "112313", /* 36 */
- "132113", /* 37 */
- "132311", /* 38 */
- "211313", /* 39 */
- "231113", /* 40 */
- "231311", /* 41 */
- "112133", /* 42 */
- "112331", /* 43 */
- "132131", /* 44 */
- "113123", /* 45 */
- "113321", /* 46 */
- "133121", /* 47 */
- "313121", /* 48 */
- "211331", /* 49 */
- "231131", /* 50 */
- "213113", /* 51 */
- "213311", /* 52 */
- "213131", /* 53 */
- "311123", /* 54 */
- "311321", /* 55 */
- "331121", /* 56 */
- "312113", /* 57 */
- "312311", /* 58 */
- "332111", /* 59 */
- "314111", /* 60 */
- "221411", /* 61 */
- "431111", /* 62 */
- "111224", /* 63 */
- "111422", /* 64 */
- "121124", /* 65 */
- "121421", /* 66 */
- "141122", /* 67 */
- "141221", /* 68 */
- "112214", /* 69 */
- "112412", /* 70 */
- "122114", /* 71 */
- "122411", /* 72 */
- "142112", /* 73 */
- "142211", /* 74 */
- "241211", /* 75 */
- "221114", /* 76 */
- "413111", /* 77 */
- "241112", /* 78 */
- "134111", /* 79 */
- "111242", /* 80 */
- "121142", /* 81 */
- "121241", /* 82 */
- "114212", /* 83 */
- "124112", /* 84 */
- "124211", /* 85 */
- "411212", /* 86 */
- "421112", /* 87 */
- "421211", /* 88 */
- "212141", /* 89 */
- "214121", /* 90 */
- "412121", /* 91 */
- "111143", /* 92 */
- "111341", /* 93 */
- "131141", /* 94 */
- "114113", /* 95 */
- "114311", /* 96 */
- "411113", /* 97 */
- "411311", /* 98 */
- "113141", /* 99 */
- "114131", /* 100 */
- "311141", /* 101 */
- "411131" /* 102 */
- );
- }
-
- /**
- * Returns the character index.
- * @param char $char character.
- * @return int character index or -1 in case of error.
- * @access private
- */
- function GetCharIndex($char) {
- for ($i=0;$i<64;$i++) {
- if ($this->mChars[$i] == $char) {
- return $i;
- }
- }
- return -1;
- }
-
- /**
- * Returns the bar size.
- * @param int $xres Horizontal resolution.
- * @param char $char Character.
- * @return int barcode size.
- * @access private
- */
- function GetBarSize($xres, $char) {
- switch ($char) {
- case '1': {
- $cVal = BCD_C128_BAR_1;
- break;
- }
- case '2': {
- $cVal = BCD_C128_BAR_2;
- break;
- }
- case '3': {
- $cVal = BCD_C128_BAR_3;
- break;
- }
- case '4': {
- $cVal = BCD_C128_BAR_4;
- break;
- }
- default: {
- $cVal = 0;
- }
- }
- return $cVal * $xres;
- }
-
- /**
- * Returns barcode size.
- * @param int $xres Horizontal resolution.
- * @return barcode size.
- * @access private
- */
- function GetSize($xres) {
- $len = strlen($this->mValue);
-
- if ($len == 0) {
- $this->mError = "Null value";
- return false;
- }
- $ret = 0;
- for ($i=0;$i<$len;$i++) {
- if (($id = $this->GetCharIndex($this->mValue[$i])) == -1) {
- $this->mError = "C128A not include the char '".$this->mValue[$i]."'";
- return false;
- } else {
- $cset = $this->mCharSet[$id];
- $ret += $this->GetBarSize($xres, $cset[0]);
- $ret += $this->GetBarSize($xres, $cset[1]);
- $ret += $this->GetBarSize($xres, $cset[2]);
- $ret += $this->GetBarSize($xres, $cset[3]);
- $ret += $this->GetBarSize($xres, $cset[4]);
- $ret += $this->GetBarSize($xres, $cset[5]);
- }
- }
-
- /* length of Check character */
- $cset = $this->GetCheckCharValue();
- $CheckSize = 0;
- for ($i=0;$i<6;$i++) {
- $CheckSize += $this->GetBarSize($cset[$i], $xres);
- }
- $StartSize = 2*BCD_C128_BAR_2*$xres + 3*BCD_C128_BAR_1*$xres + BCD_C128_BAR_4*$xres;
- $StopSize = 2*BCD_C128_BAR_2*$xres + 3*BCD_C128_BAR_1*$xres + 2*BCD_C128_BAR_3*$xres;
- return $StartSize + $ret + $CheckSize + $StopSize;
- }
-
- /**
- * Returns the check-char value.
- * @return string.
- * @access private
- */
- function GetCheckCharValue() {
- $len = strlen($this->mValue);
- $sum = 103; // 'A' type;
- for ($i=0;$i<$len;$i++) {
- $sum += $this->GetCharIndex($this->mValue[$i]) * ($i+1);
- }
- $check = $sum % 103;
- return $this->mCharSet[$check];
- }
-
- /**
- * Draws the start code.
- * @param int $DrawPos Drawing position.
- * @param int $yPos Vertical position.
- * @param int $ySize Vertical size.
- * @param int $xres Horizontal resolution.
- * @return int drawing position.
- * @access private
- */
- function DrawStart($DrawPos, $yPos, $ySize, $xres) {
- /* Start code is '211412' */
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize('2', $xres) , $ySize);
- $DrawPos += $this->GetBarSize('2', $xres);
- $DrawPos += $this->GetBarSize('1', $xres);
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize('1', $xres) , $ySize);
- $DrawPos += $this->GetBarSize('1', $xres);
- $DrawPos += $this->GetBarSize('4', $xres);
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize('1', $xres) , $ySize);
- $DrawPos += $this->GetBarSize('1', $xres);
- $DrawPos += $this->GetBarSize('2', $xres);
- return $DrawPos;
- }
-
- /**
- * Draws the stop code.
- * @param int $DrawPos Drawing position.
- * @param int $yPos Vertical position.
- * @param int $ySize Vertical size.
- * @param int $xres Horizontal resolution.
- * @return int drawing position.
- * @access private
- */
- function DrawStop($DrawPos, $yPos, $ySize, $xres) {
- /* Stop code is '2331112' */
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize('2', $xres) , $ySize);
- $DrawPos += $this->GetBarSize('2', $xres);
- $DrawPos += $this->GetBarSize('3', $xres);
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize('3', $xres) , $ySize);
- $DrawPos += $this->GetBarSize('3', $xres);
- $DrawPos += $this->GetBarSize('1', $xres);
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize('1', $xres) , $ySize);
- $DrawPos += $this->GetBarSize('1', $xres);
- $DrawPos += $this->GetBarSize('1', $xres);
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize('2', $xres) , $ySize);
- $DrawPos += $this->GetBarSize('2', $xres);
- return $DrawPos;
- }
-
- /**
- * Draws the check-char code.
- * @param int $DrawPos Drawing position.
- * @param int $yPos Vertical position.
- * @param int $ySize Vertical size.
- * @param int $xres Horizontal resolution.
- * @return int drawing position.
- * @access private
- */
- function DrawCheckChar($DrawPos, $yPos, $ySize, $xres) {
- $cset = $this->GetCheckCharValue();
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize($cset[0], $xres) , $ySize);
- $DrawPos += $this->GetBarSize($cset[0], $xres);
- $DrawPos += $this->GetBarSize($cset[1], $xres);
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize($cset[2], $xres) , $ySize);
- $DrawPos += $this->GetBarSize($cset[2], $xres);
- $DrawPos += $this->GetBarSize($cset[3], $xres);
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize($cset[4], $xres) , $ySize);
- $DrawPos += $this->GetBarSize($cset[4], $xres);
- $DrawPos += $this->GetBarSize($cset[5], $xres);
- return $DrawPos;
- }
-
- /**
- * Draws the barcode object.
- * @param int $xres Horizontal resolution.
- * @return bool true in case of success.
- */
- function DrawObject($xres) {
- $len = strlen($this->mValue);
- if (($size = $this->GetSize($xres))==0) {
- return false;
- }
-
- if ($this->mStyle & BCS_ALIGN_CENTER) $sPos = (integer)(($this->mWidth - $size ) / 2);
- else if ($this->mStyle & BCS_ALIGN_RIGHT) $sPos = $this->mWidth - $size;
- else $sPos = 0;
-
- /* Total height of bar code -Bars only- */
- if ($this->mStyle & BCS_DRAW_TEXT) $ysize = $this->mHeight - BCD_DEFAULT_MAR_Y1 - BCD_DEFAULT_MAR_Y2 - $this->GetFontHeight($this->mFont);
- else $ysize = $this->mHeight - BCD_DEFAULT_MAR_Y1 - BCD_DEFAULT_MAR_Y2;
-
- /* Draw text */
- if ($this->mStyle & BCS_DRAW_TEXT) {
- if ($this->mStyle & BCS_STRETCH_TEXT) {
- for ($i=0;$i<$len;$i++) {
- $this->DrawChar($this->mFont, $sPos+(2*BCD_C128_BAR_2*$xres + 3*BCD_C128_BAR_1*$xres + BCD_C128_BAR_4*$xres)+($size/$len)*$i,
- $ysize + BCD_DEFAULT_MAR_Y1 + BCD_DEFAULT_TEXT_OFFSET, $this->mValue[$i]);
- }
- } else {/* Center */
- $text_width = $this->GetFontWidth($this->mFont) * strlen($this->mValue);
- $this->DrawText($this->mFont, $sPos+(($size-$text_width)/2)+(2*BCD_C128_BAR_2*$xres + 3*BCD_C128_BAR_1*$xres + BCD_C128_BAR_4*$xres),
- $ysize + BCD_DEFAULT_MAR_Y1 + BCD_DEFAULT_TEXT_OFFSET, $this->mValue);
- }
- }
-
- $cPos = 0;
- $DrawPos = $this->DrawStart($sPos, BCD_DEFAULT_MAR_Y1 , $ysize, $xres);
- do {
- $c = $this->GetCharIndex($this->mValue[$cPos]);
- $cset = $this->mCharSet[$c];
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize($cset[0], $xres) , $ysize);
- $DrawPos += $this->GetBarSize($cset[0], $xres);
- $DrawPos += $this->GetBarSize($cset[1], $xres);
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize($cset[2], $xres) , $ysize);
- $DrawPos += $this->GetBarSize($cset[2], $xres);
- $DrawPos += $this->GetBarSize($cset[3], $xres);
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize($cset[4], $xres) , $ysize);
- $DrawPos += $this->GetBarSize($cset[4], $xres);
- $DrawPos += $this->GetBarSize($cset[5], $xres);
- $cPos++;
- } while ($cPos<$len);
- $DrawPos = $this->DrawCheckChar($DrawPos, BCD_DEFAULT_MAR_Y1 , $ysize, $xres);
- $DrawPos = $this->DrawStop($DrawPos, BCD_DEFAULT_MAR_Y1 , $ysize, $xres);
- return true;
- }
-}
-
-//============================================================+
-// END OF FILE
-//============================================================+
-?>
\ No newline at end of file
+++ /dev/null
-<?php
-//============================================================+
-// File name : c128bobject.php
-// Begin : 2002-07-31
-// Last Update : 2004-12-29
-// Author : Karim Mribti [barcode@mribti.com]
-// Version : 0.0.8a 2001-04-01 (original code)
-// License : GNU LGPL (Lesser General Public License) 2.1
-// http://www.gnu.org/copyleft/lesser.txt
-// Source Code : http://www.mribti.com/barcode/
-//
-// Description : Code 128-B Barcode Render Class for PHP using
-// the GD graphics library.
-// Code 128-B is a continuous, multilevel and full
-// ASCII code.
-//
-// NOTE:
-// This version contains changes by Nicola Asuni:
-// - porting to PHP4
-// - code style and formatting
-// - automatic php documentation in PhpDocumentor Style
-// (www.phpdoc.org)
-// - minor bug fixing
-//============================================================+
-
-/**
-* Code 128-B Barcode Render Class for PHP using the GD graphics library.<br>
-* Code 128-B is a continuous, multilevel and full ASCII code.
-* @author Karim Mribti, Nicola Asuni
-* @name BarcodeObject
-* @package com.tecnick.tcpdf
-* @version 0.0.8a 2001-04-01 (original code)
-* @since 2001-03-25
-* @license http://www.gnu.org/copyleft/lesser.html LGPL
-*/
-
-/**
-* Code 128-B Barcode Render Class for PHP using the GD graphics library.<br>
-* Code 128-B is a continuous, multilevel and full ASCII code.
-* @author Karim Mribti, Nicola Asuni
-* @name BarcodeObject
-* @package com.tecnick.tcpdf
-* @version 0.0.8a 2001-04-01 (original code)
-* @since 2001-03-25
-* @license http://www.gnu.org/copyleft/lesser.html LGPL
-*/
-class C128BObject extends BarcodeObject {
-
- /**
- * Class Constructor.
- * @param int $Width Image width in pixels.
- * @param int $Height Image height in pixels.
- * @param int $Style Barcode style.
- * @param int $Value value to print on barcode.
- */
- function C128BObject($Width, $Height, $Style, $Value) {
- $this->BarcodeObject($Width, $Height, $Style);
- $this->mValue = $Value;
- $this->mChars = " !\"#$%&'()*+�-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{ }~";
- $this->mCharSet = array (
- "212222", /* 00 */
- "222122", /* 01 */
- "222221", /* 02 */
- "121223", /* 03 */
- "121322", /* 04 */
- "131222", /* 05 */
- "122213", /* 06 */
- "122312", /* 07 */
- "132212", /* 08 */
- "221213", /* 09 */
- "221312", /* 10 */
- "231212", /* 11 */
- "112232", /* 12 */
- "122132", /* 13 */
- "122231", /* 14 */
- "113222", /* 15 */
- "123122", /* 16 */
- "123221", /* 17 */
- "223211", /* 18 */
- "221132", /* 19 */
- "221231", /* 20 */
- "213212", /* 21 */
- "223112", /* 22 */
- "312131", /* 23 */
- "311222", /* 24 */
- "321122", /* 25 */
- "321221", /* 26 */
- "312212", /* 27 */
- "322112", /* 28 */
- "322211", /* 29 */
- "212123", /* 30 */
- "212321", /* 31 */
- "232121", /* 32 */
- "111323", /* 33 */
- "131123", /* 34 */
- "131321", /* 35 */
- "112313", /* 36 */
- "132113", /* 37 */
- "132311", /* 38 */
- "211313", /* 39 */
- "231113", /* 40 */
- "231311", /* 41 */
- "112133", /* 42 */
- "112331", /* 43 */
- "132131", /* 44 */
- "113123", /* 45 */
- "113321", /* 46 */
- "133121", /* 47 */
- "313121", /* 48 */
- "211331", /* 49 */
- "231131", /* 50 */
- "213113", /* 51 */
- "213311", /* 52 */
- "213131", /* 53 */
- "311123", /* 54 */
- "311321", /* 55 */
- "331121", /* 56 */
- "312113", /* 57 */
- "312311", /* 58 */
- "332111", /* 59 */
- "314111", /* 60 */
- "221411", /* 61 */
- "431111", /* 62 */
- "111224", /* 63 */
- "111422", /* 64 */
- "121124", /* 65 */
- "121421", /* 66 */
- "141122", /* 67 */
- "141221", /* 68 */
- "112214", /* 69 */
- "112412", /* 70 */
- "122114", /* 71 */
- "122411", /* 72 */
- "142112", /* 73 */
- "142211", /* 74 */
- "241211", /* 75 */
- "221114", /* 76 */
- "413111", /* 77 */
- "241112", /* 78 */
- "134111", /* 79 */
- "111242", /* 80 */
- "121142", /* 81 */
- "121241", /* 82 */
- "114212", /* 83 */
- "124112", /* 84 */
- "124211", /* 85 */
- "411212", /* 86 */
- "421112", /* 87 */
- "421211", /* 88 */
- "212141", /* 89 */
- "214121", /* 90 */
- "412121", /* 91 */
- "111143", /* 92 */
- "111341", /* 93 */
- "131141", /* 94 */
- "114113", /* 95 */
- "114311", /* 96 */
- "411113", /* 97 */
- "411311", /* 98 */
- "113141", /* 99 */
- "114131", /* 100 */
- "311141", /* 101 */
- "411131" /* 102 */
- );
- }
-
- /**
- * Returns the character index.
- * @param char $char character.
- * @return int character index or -1 in case of error.
- * @access private
- */
- function GetCharIndex($char) {
- for ($i=0;$i<95;$i++) {
- if ($this->mChars[$i] == $char) {
- return $i;
- }
- }
- return -1;
- }
-
- /**
- * Returns the bar size.
- * @param int $xres Horizontal resolution.
- * @param char $char Character.
- * @return int barcode size.
- * @access private
- */
- function GetBarSize($xres, $char) {
- switch ($char) {
- case '1': {
- $cVal = BCD_C128_BAR_1;
- break;
- }
- case '2': {
- $cVal = BCD_C128_BAR_2;
- break;
- }
- case '3': {
- $cVal = BCD_C128_BAR_3;
- break;
- }
- case '4': {
- $cVal = BCD_C128_BAR_4;
- break;
- }
- default: {
- $cVal = 0;
- }
- }
- return $cVal * $xres;
- }
-
- /**
- * Returns barcode size.
- * @param int $xres Horizontal resolution.
- * @return barcode size.
- * @access private
- */
- function GetSize($xres) {
- $len = strlen($this->mValue);
-
- if ($len == 0) {
- $this->mError = "Null value";
- return false;
- }
- $ret = 0;
- for ($i=0;$i<$len;$i++) {
- if (($id = $this->GetCharIndex($this->mValue[$i])) == -1) {
- $this->mError = "C128B not include the char '".$this->mValue[$i]."'";
- return false;
- } else {
- $cset = $this->mCharSet[$id];
- $ret += $this->GetBarSize($xres, $cset[0]);
- $ret += $this->GetBarSize($xres, $cset[1]);
- $ret += $this->GetBarSize($xres, $cset[2]);
- $ret += $this->GetBarSize($xres, $cset[3]);
- $ret += $this->GetBarSize($xres, $cset[4]);
- $ret += $this->GetBarSize($xres, $cset[5]);
- }
- }
- /* length of Check character */
- $cset = $this->GetCheckCharValue();
- $CheckSize = 0;
- for ($i=0;$i<6;$i++) {
- $CheckSize += $this->GetBarSize($cset[$i], $xres);
- }
-
- $StartSize = 2*BCD_C128_BAR_2*$xres + 3*BCD_C128_BAR_1*$xres + BCD_C128_BAR_4*$xres;
- $StopSize = 2*BCD_C128_BAR_2*$xres + 3*BCD_C128_BAR_1*$xres + 2*BCD_C128_BAR_3*$xres;
-
- return $StartSize + $ret + $CheckSize + $StopSize;
- }
-
- /**
- * Returns the check-char value.
- * @return string.
- * @access private
- */
- function GetCheckCharValue() {
- $len = strlen($this->mValue);
- $sum = 104; // 'B' type;
- for ($i=0;$i<$len;$i++) {
- $sum += $this->GetCharIndex($this->mValue[$i]) * ($i+1);
- }
- $check = $sum % 103;
- return $this->mCharSet[$check];
- }
-
- /**
- * Draws the start code.
- * @param int $DrawPos Drawing position.
- * @param int $yPos Vertical position.
- * @param int $ySize Vertical size.
- * @param int $xres Horizontal resolution.
- * @return int drawing position.
- * @access private
- */
- function DrawStart($DrawPos, $yPos, $ySize, $xres) {
- /* Start code is '211214' */
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize('2', $xres), $ySize);
- $DrawPos += $this->GetBarSize('2', $xres);
- $DrawPos += $this->GetBarSize('1', $xres);
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize('1', $xres), $ySize);
- $DrawPos += $this->GetBarSize('1', $xres);
- $DrawPos += $this->GetBarSize('2', $xres);
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize('1', $xres), $ySize);
- $DrawPos += $this->GetBarSize('1', $xres);
- $DrawPos += $this->GetBarSize('4', $xres);
- return $DrawPos;
- }
-
- /**
- * Draws the stop code.
- * @param int $DrawPos Drawing position.
- * @param int $yPos Vertical position.
- * @param int $ySize Vertical size.
- * @param int $xres Horizontal resolution.
- * @return int drawing position.
- * @access private
- */
- function DrawStop($DrawPos, $yPos, $ySize, $xres) {
- /* Stop code is '2331112' */
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize('2', $xres) , $ySize);
- $DrawPos += $this->GetBarSize('2', $xres);
- $DrawPos += $this->GetBarSize('3', $xres);
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize('3', $xres) , $ySize);
- $DrawPos += $this->GetBarSize('3', $xres);
- $DrawPos += $this->GetBarSize('1', $xres);
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize('1', $xres) , $ySize);
- $DrawPos += $this->GetBarSize('1', $xres);
- $DrawPos += $this->GetBarSize('1', $xres);
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize('2', $xres) , $ySize);
- $DrawPos += $this->GetBarSize('2', $xres);
- return $DrawPos;
- }
-
- /**
- * Draws the check-char code.
- * @param int $DrawPos Drawing position.
- * @param int $yPos Vertical position.
- * @param int $ySize Vertical size.
- * @param int $xres Horizontal resolution.
- * @return int drawing position.
- * @access private
- */
- function DrawCheckChar($DrawPos, $yPos, $ySize, $xres) {
- $cset = $this->GetCheckCharValue();
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize($cset[0], $xres) , $ySize);
- $DrawPos += $this->GetBarSize($cset[0], $xres);
- $DrawPos += $this->GetBarSize($cset[1], $xres);
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize($cset[2], $xres) , $ySize);
- $DrawPos += $this->GetBarSize($cset[2], $xres);
- $DrawPos += $this->GetBarSize($cset[3], $xres);
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize($cset[4], $xres) , $ySize);
- $DrawPos += $this->GetBarSize($cset[4], $xres);
- $DrawPos += $this->GetBarSize($cset[5], $xres);
- return $DrawPos;
- }
-
- /**
- * Draws the barcode object.
- * @param int $xres Horizontal resolution.
- * @return bool true in case of success.
- */
- function DrawObject($xres) {
- $len = strlen($this->mValue);
- if (($size = $this->GetSize($xres))==0) {
- return false;
- }
-
- if ($this->mStyle & BCS_ALIGN_CENTER) $sPos = (integer)(($this->mWidth - $size ) / 2);
- else if ($this->mStyle & BCS_ALIGN_RIGHT) $sPos = $this->mWidth - $size;
- else $sPos = 0;
-
- /* Total height of bar code -Bars only- */
- if ($this->mStyle & BCS_DRAW_TEXT) $ysize = $this->mHeight - BCD_DEFAULT_MAR_Y1 - BCD_DEFAULT_MAR_Y2 - $this->GetFontHeight($this->mFont);
- else $ysize = $this->mHeight - BCD_DEFAULT_MAR_Y1 - BCD_DEFAULT_MAR_Y2;
-
- /* Draw text */
- if ($this->mStyle & BCS_DRAW_TEXT) {
- if ($this->mStyle & BCS_STRETCH_TEXT) {
- for ($i=0;$i<$len;$i++) {
- $this->DrawChar($this->mFont, $sPos+(2*BCD_C128_BAR_2*$xres + 3*BCD_C128_BAR_1*$xres + BCD_C128_BAR_4*$xres)+($size/$len)*$i,
- $ysize + BCD_DEFAULT_MAR_Y1 + BCD_DEFAULT_TEXT_OFFSET, $this->mValue[$i]);
- }
- } else {/* Center */
- $text_width = $this->GetFontWidth($this->mFont) * strlen($this->mValue);
- $this->DrawText($this->mFont, $sPos+(($size-$text_width)/2)+(2*BCD_C128_BAR_2*$xres + 3*BCD_C128_BAR_1*$xres + BCD_C128_BAR_4*$xres),
- $ysize + BCD_DEFAULT_MAR_Y1 + BCD_DEFAULT_TEXT_OFFSET, $this->mValue);
- }
- }
-
- $cPos = 0;
- $DrawPos = $this->DrawStart($sPos, BCD_DEFAULT_MAR_Y1 , $ysize, $xres);
- do {
- $c = $this->GetCharIndex($this->mValue[$cPos]);
- $cset = $this->mCharSet[$c];
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize($cset[0], $xres) , $ysize);
- $DrawPos += $this->GetBarSize($cset[0], $xres);
- $DrawPos += $this->GetBarSize($cset[1], $xres);
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize($cset[2], $xres) , $ysize);
- $DrawPos += $this->GetBarSize($cset[2], $xres);
- $DrawPos += $this->GetBarSize($cset[3], $xres);
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize($cset[4], $xres) , $ysize);
- $DrawPos += $this->GetBarSize($cset[4], $xres);
- $DrawPos += $this->GetBarSize($cset[5], $xres);
- $cPos++;
- } while ($cPos<$len);
- $DrawPos = $this->DrawCheckChar($DrawPos, BCD_DEFAULT_MAR_Y1 , $ysize, $xres);
- $DrawPos = $this->DrawStop($DrawPos, BCD_DEFAULT_MAR_Y1 , $ysize, $xres);
- return true;
- }
-}
-
-//============================================================+
-// END OF FILE
-//============================================================+
-?>
\ No newline at end of file
+++ /dev/null
-<?php
-//============================================================+
-// File name : c128cobject.php
-// Begin : 2002-07-31
-// Last Update : 2004-12-29
-// Author : Karim Mribti [barcode@mribti.com]
-// : Sam Michaels [swampgas@swampgas.org]
-// : Nicola Asuni [info@tecnick.com]
-// Version : 0.0.8a 2001-04-01 (original code)
-// License : GNU LGPL (Lesser General Public License) 2.1
-// http://www.gnu.org/copyleft/lesser.txt
-// Source Code : http://www.mribti.com/barcode/
-//
-// Description : Code 128-C Barcode Render Class for PHP using
-// the GD graphics library.
-// Code 128-C is numeric only and provides the
-// most efficiency.
-//
-// NOTE:
-// This version contains changes by Nicola Asuni:
-// - porting to PHP4
-// - code style and formatting
-// - automatic php documentation in PhpDocumentor Style
-// (www.phpdoc.org)
-// - minor bug fixing
-//============================================================+
-
-/**
- * Code 128-C Barcode Render Class for PHP using the GD graphics library.<br>
- * Code 128-C is numeric only and provides the most efficiency.
- * @author Karim Mribti, Nicola Asuni
- * @name BarcodeObject
- * @package com.tecnick.tcpdf
- * @version 0.0.8a 2001-04-01 (original code)
- * @since 2001-03-25
- * @license http://www.gnu.org/copyleft/lesser.html LGPL
- */
-
-/**
- * Code 128-C Barcode Render Class for PHP using the GD graphics library.<br>
- * Code 128-C is numeric only and provides the most efficiency.
- * @author Karim Mribti, Nicola Asuni
- * @name BarcodeObject
- * @package com.tecnick.tcpdf
- * @version 0.0.8a 2001-04-01 (original code)
- * @since 2001-03-25
- * @license http://www.gnu.org/copyleft/lesser.html LGPL
- */
-class C128CObject extends BarcodeObject {
-
- /**
- * Class Constructor.
- * @param int $Width Image width in pixels.
- * @param int $Height Image height in pixels.
- * @param int $Style Barcode style.
- * @param int $Value value to print on barcode.
- */
- function C128CObject($Width, $Height, $Style, $Value) {
- $this->BarcodeObject($Width, $Height, $Style);
- $this->mValue = $Value;
- $this->mChars = array (
- "00", "01", "02", "03", "04", "05", "06", "07", "08", "09",
- "10", "11", "12", "13", "14", "15", "16", "17", "18", "19",
- "20", "21", "22", "23", "24", "25", "26", "27", "28", "29",
- "30", "31", "32", "33", "34", "35", "36", "37", "38", "39",
- "40", "41", "42", "43", "44", "45", "46", "47", "48", "49",
- "50", "51", "52", "53", "54", "55", "56", "57", "58", "59",
- "60", "61", "62", "63", "64", "65", "66", "67", "68", "69",
- "70", "71", "72", "73", "74", "75", "76", "77", "78", "79",
- "80", "81", "82", "83", "84", "85", "86", "87", "88", "89",
- "90", "91", "92", "93", "94", "95", "96", "97", "98", "99",
- );
- $this->mCharSet = array (
- "212222", /* 00 */
- "222122", /* 01 */
- "222221", /* 02 */
- "121223", /* 03 */
- "121322", /* 04 */
- "131222", /* 05 */
- "122213", /* 06 */
- "122312", /* 07 */
- "132212", /* 08 */
- "221213", /* 09 */
- "221312", /* 10 */
- "231212", /* 11 */
- "112232", /* 12 */
- "122132", /* 13 */
- "122231", /* 14 */
- "113222", /* 15 */
- "123122", /* 16 */
- "123221", /* 17 */
- "223211", /* 18 */
- "221132", /* 19 */
- "221231", /* 20 */
- "213212", /* 21 */
- "223112", /* 22 */
- "312131", /* 23 */
- "311222", /* 24 */
- "321122", /* 25 */
- "321221", /* 26 */
- "312212", /* 27 */
- "322112", /* 28 */
- "322211", /* 29 */
- "212123", /* 30 */
- "212321", /* 31 */
- "232121", /* 32 */
- "111323", /* 33 */
- "131123", /* 34 */
- "131321", /* 35 */
- "112313", /* 36 */
- "132113", /* 37 */
- "132311", /* 38 */
- "211313", /* 39 */
- "231113", /* 40 */
- "231311", /* 41 */
- "112133", /* 42 */
- "112331", /* 43 */
- "132131", /* 44 */
- "113123", /* 45 */
- "113321", /* 46 */
- "133121", /* 47 */
- "313121", /* 48 */
- "211331", /* 49 */
- "231131", /* 50 */
- "213113", /* 51 */
- "213311", /* 52 */
- "213131", /* 53 */
- "311123", /* 54 */
- "311321", /* 55 */
- "331121", /* 56 */
- "312113", /* 57 */
- "312311", /* 58 */
- "332111", /* 59 */
- "314111", /* 60 */
- "221411", /* 61 */
- "431111", /* 62 */
- "111224", /* 63 */
- "111422", /* 64 */
- "121124", /* 65 */
- "121421", /* 66 */
- "141122", /* 67 */
- "141221", /* 68 */
- "112214", /* 69 */
- "112412", /* 70 */
- "122114", /* 71 */
- "122411", /* 72 */
- "142112", /* 73 */
- "142211", /* 74 */
- "241211", /* 75 */
- "221114", /* 76 */
- "413111", /* 77 */
- "241112", /* 78 */
- "134111", /* 79 */
- "111242", /* 80 */
- "121142", /* 81 */
- "121241", /* 82 */
- "114212", /* 83 */
- "124112", /* 84 */
- "124211", /* 85 */
- "411212", /* 86 */
- "421112", /* 87 */
- "421211", /* 88 */
- "212141", /* 89 */
- "214121", /* 90 */
- "412121", /* 91 */
- "111143", /* 92 */
- "111341", /* 93 */
- "131141", /* 94 */
- "114113", /* 95 */
- "114311", /* 96 */
- "411113", /* 97 */
- "411311", /* 98 */
- "113141", /* 99 */
- );
- }
-
- /**
- * Returns the character index.
- * @param char $char character.
- * @return int character index or -1 in case of error.
- * @access private
- */
- function GetCharIndex($char) {
- for ($i=0;$i<100;$i++) {
- if ($this->mChars[$i] == $char) {
- return $i;
- }
- }
- return -1;
- }
-
- /**
- * Returns the bar size.
- * @param int $xres Horizontal resolution.
- * @param char $char Character.
- * @return int barcode size.
- * @access private
- */
- function GetBarSize($xres, $char) {
- switch ($char) {
- case '1': {
- $cVal = BCD_C128_BAR_1;
- break;
- }
- case '2': {
- $cVal = BCD_C128_BAR_2;
- break;
- }
- case '3': {
- $cVal = BCD_C128_BAR_3;
- break;
- }
- case '4': {
- $cVal = BCD_C128_BAR_4;
- break;
- }
- default: {
- $cVal = 0;
- }
- }
- return $cVal * $xres;
- }
-
- /**
- * Returns barcode size.
- * @param int $xres Horizontal resolution.
- * @return barcode size.
- * @access private
- */
- function GetSize($xres) {
- $len = strlen($this->mValue);
-
- if ($len == 0) {
- $this->mError = "Null value";
- return false;
- }
- $ret = 0;
-
- for ($i=0;$i<$len;$i++) {
- if ((ord($this->mValue[$i])<48) || (ord($this->mValue[$i])>57)) {
- $this->mError = "Code-128C is numeric only";
- return false;
- }
- }
-
- if (($len%2) != 0) {
- $this->mError = "The length of barcode value must be even. You must pad the number with zeros.";
- return false;
- }
-
- for ($i=0;$i<$len;$i+=2) {
- $id = $this->GetCharIndex($this->mValue[$i].$this->mValue[$i+1]);
- $cset = $this->mCharSet[$id];
- $ret += $this->GetBarSize($xres, $cset[0]);
- $ret += $this->GetBarSize($xres, $cset[1]);
- $ret += $this->GetBarSize($xres, $cset[2]);
- $ret += $this->GetBarSize($xres, $cset[3]);
- $ret += $this->GetBarSize($xres, $cset[4]);
- $ret += $this->GetBarSize($xres, $cset[5]);
- }
- /* length of Check character */
- $cset = $this->GetCheckCharValue();
- $CheckSize = 0;
- for ($i=0;$i<6;$i++) {
- $CheckSize += $this->GetBarSize($cset[$i], $xres);
- }
-
- $StartSize = 2*BCD_C128_BAR_2*$xres + 3*BCD_C128_BAR_1*$xres + BCD_C128_BAR_4*$xres;
- $StopSize = 2*BCD_C128_BAR_2*$xres + 3*BCD_C128_BAR_1*$xres + 2*BCD_C128_BAR_3*$xres;
- return $StartSize + $ret + $CheckSize + $StopSize;
- }
-
- /**
- * Returns the check-char value.
- * @return string.
- * @access private
- */
- function GetCheckCharValue() {
- $len = strlen($this->mValue);
- $sum = 105; // 'C' type;
- $m = 0;
- for ($i=0;$i<$len;$i+=2) {
- $m++;
- $sum += $this->GetCharIndex($this->mValue[$i].$this->mValue[$i+1]) * $m;
- }
- $check = $sum % 103;
- return $this->mCharSet[$check];
- }
-
- /**
- * Draws the start code.
- * @param int $DrawPos Drawing position.
- * @param int $yPos Vertical position.
- * @param int $ySize Vertical size.
- * @param int $xres Horizontal resolution.
- * @return int drawing position.
- * @access private
- */
- function DrawStart($DrawPos, $yPos, $ySize, $xres) {
- /* Start code is '211232' */
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize('2', $xres) , $ySize);
- $DrawPos += $this->GetBarSize('2', $xres);
- $DrawPos += $this->GetBarSize('1', $xres);
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize('1', $xres) , $ySize);
- $DrawPos += $this->GetBarSize('1', $xres);
- $DrawPos += $this->GetBarSize('2', $xres);
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize('3', $xres) , $ySize);
- $DrawPos += $this->GetBarSize('3', $xres);
- $DrawPos += $this->GetBarSize('2', $xres);
- return $DrawPos;
- }
-
- /**
- * Draws the stop code.
- * @param int $DrawPos Drawing position.
- * @param int $yPos Vertical position.
- * @param int $ySize Vertical size.
- * @param int $xres Horizontal resolution.
- * @return int drawing position.
- * @access private
- */
- function DrawStop($DrawPos, $yPos, $ySize, $xres) {
- /* Stop code is '2331112' */
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize('2', $xres) , $ySize);
- $DrawPos += $this->GetBarSize('2', $xres);
- $DrawPos += $this->GetBarSize('3', $xres);
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize('3', $xres) , $ySize);
- $DrawPos += $this->GetBarSize('3', $xres);
- $DrawPos += $this->GetBarSize('1', $xres);
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize('1', $xres) , $ySize);
- $DrawPos += $this->GetBarSize('1', $xres);
- $DrawPos += $this->GetBarSize('1', $xres);
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize('2', $xres) , $ySize);
- $DrawPos += $this->GetBarSize('2', $xres);
- return $DrawPos;
- }
-
- /**
- * Draws the check-char code.
- * @param int $DrawPos Drawing position.
- * @param int $yPos Vertical position.
- * @param int $ySize Vertical size.
- * @param int $xres Horizontal resolution.
- * @return int drawing position.
- * @access private
- */
- function DrawCheckChar($DrawPos, $yPos, $ySize, $xres) {
- $cset = $this->GetCheckCharValue();
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize($cset[0], $xres) , $ySize);
- $DrawPos += $this->GetBarSize($cset[0], $xres);
- $DrawPos += $this->GetBarSize($cset[1], $xres);
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize($cset[2], $xres) , $ySize);
- $DrawPos += $this->GetBarSize($cset[2], $xres);
- $DrawPos += $this->GetBarSize($cset[3], $xres);
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize($cset[4], $xres) , $ySize);
- $DrawPos += $this->GetBarSize($cset[4], $xres);
- $DrawPos += $this->GetBarSize($cset[5], $xres);
- return $DrawPos;
- }
-
- /**
- * Draws the barcode object.
- * @param int $xres Horizontal resolution.
- * @return bool true in case of success.
- */
- function DrawObject($xres) {
- $len = strlen($this->mValue);
- if (($size = $this->GetSize($xres))==0) {
- return false;
- }
-
- if ($this->mStyle & BCS_ALIGN_CENTER) $sPos = (integer)(($this->mWidth - $size ) / 2);
- else if ($this->mStyle & BCS_ALIGN_RIGHT) $sPos = $this->mWidth - $size;
- else $sPos = 0;
-
- /* Total height of bar code -Bars only- */
- if ($this->mStyle & BCS_DRAW_TEXT) $ysize = $this->mHeight - BCD_DEFAULT_MAR_Y1 - BCD_DEFAULT_MAR_Y2 - $this->GetFontHeight($this->mFont);
- else $ysize = $this->mHeight - BCD_DEFAULT_MAR_Y1 - BCD_DEFAULT_MAR_Y2;
-
- /* Draw text */
- if ($this->mStyle & BCS_DRAW_TEXT) {
- if ($this->mStyle & BCS_STRETCH_TEXT) {
- for ($i=0;$i<$len;$i++) {
- $this->DrawChar($this->mFont, $sPos+(2*BCD_C128_BAR_2*$xres + 3*BCD_C128_BAR_1*$xres + BCD_C128_BAR_4*$xres)+($size/$len)*$i,
- $ysize + BCD_DEFAULT_MAR_Y1 + BCD_DEFAULT_TEXT_OFFSET, $this->mValue[$i]);
- }
- } else {/* Center */
- $text_width = $this->GetFontWidth($this->mFont) * strlen($this->mValue);
- $this->DrawText($this->mFont, $sPos+(($size-$text_width)/2)+(2*BCD_C128_BAR_2*$xres + 3*BCD_C128_BAR_1*$xres + BCD_C128_BAR_4*$xres),
- $ysize + BCD_DEFAULT_MAR_Y1 + BCD_DEFAULT_TEXT_OFFSET, $this->mValue);
- }
- }
-
- $cPos = 0;
- $DrawPos = $this->DrawStart($sPos, BCD_DEFAULT_MAR_Y1 , $ysize, $xres);
- do {
- $c = $this->GetCharIndex($this->mValue[$cPos].$this->mValue[$cPos+1]);
- $cset = $this->mCharSet[$c];
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize($cset[0], $xres) , $ysize);
- $DrawPos += $this->GetBarSize($cset[0], $xres);
- $DrawPos += $this->GetBarSize($cset[1], $xres);
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize($cset[2], $xres) , $ysize);
- $DrawPos += $this->GetBarSize($cset[2], $xres);
- $DrawPos += $this->GetBarSize($cset[3], $xres);
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, $this->GetBarSize($cset[4], $xres) , $ysize);
- $DrawPos += $this->GetBarSize($cset[4], $xres);
- $DrawPos += $this->GetBarSize($cset[5], $xres);
- $cPos += 2;
- } while ($cPos<$len);
- $DrawPos = $this->DrawCheckChar($DrawPos, BCD_DEFAULT_MAR_Y1 , $ysize, $xres);
- $DrawPos = $this->DrawStop($DrawPos, BCD_DEFAULT_MAR_Y1 , $ysize, $xres);
- return true;
- }
-}
-
-//============================================================+
-// END OF FILE
-//============================================================+
-?>
+++ /dev/null
-<?php
-//============================================================+
-// File name : c39object.php
-// Begin : 2002-07-31
-// Last Update : 2004-12-29
-// Author : Karim Mribti [barcode@mribti.com]
-// : Nicola Asuni [info@tecnick.com]
-// Version : 0.0.8a 2001-04-01 (original code)
-// License : GNU LGPL (Lesser General Public License) 2.1
-// http://www.gnu.org/copyleft/lesser.txt
-// Source Code : http://www.mribti.com/barcode/
-//
-// Description : Code 39 Barcode Render Class for PHP using
-// the GD graphics library.
-// Code 39 is an alphanumeric bar code that can
-// encode decimal number, case alphabet and some
-// special symbols.
-//
-// NOTE:
-// This version contains changes by Nicola Asuni:
-// - porting to PHP4
-// - code style and formatting
-// - automatic php documentation in PhpDocumentor Style
-// (www.phpdoc.org)
-// - minor bug fixing
-//============================================================+
-
-/**
- * Code 39 Barcode Render Class.<br>
- * Code 39 is an alphanumeric bar code that can encode decimal number, case alphabet and some special symbols.
- * @author Karim Mribti, Nicola Asuni
- * @name BarcodeObject
- * @package com.tecnick.tcpdf
- * @version 0.0.8a 2001-04-01 (original code)
- * @since 2001-03-25
- * @license http://www.gnu.org/copyleft/lesser.html LGPL
- */
-
-/**
- * Code 39 Barcode Render Class.<br>
- * Code 39 is an alphanumeric bar code that can encode decimal number, case alphabet and some special symbols.
- * @author Karim Mribti, Nicola Asuni
- * @name BarcodeObject
- * @package com.tecnick.tcpdf
- * @version 0.0.8a 2001-04-01 (original code)
- * @since 2001-03-25
- * @license http://www.gnu.org/copyleft/lesser.html LGPL
- */
-class C39Object extends BarcodeObject {
-
- /**
- * Class Constructor.
- * @param int $Width Image width in pixels.
- * @param int $Height Image height in pixels.
- * @param int $Style Barcode style.
- * @param int $Value value to print on barcode.
- */
- function C39Object($Width, $Height, $Style, $Value) {
- $this->BarcodeObject($Width, $Height, $Style);
- $this->mValue = $Value;
- $this->mChars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. *$/+%";
- $this->mCharSet = array (
- /* 0 */ "000110100",
- /* 1 */ "100100001",
- /* 2 */ "001100001",
- /* 3 */ "101100000",
- /* 4 */ "000110001",
- /* 5 */ "100110000",
- /* 6 */ "001110000",
- /* 7 */ "000100101",
- /* 8 */ "100100100",
- /* 9 */ "001100100",
- /* A */ "100001001",
- /* B */ "001001001",
- /* C */ "101001000",
- /* D */ "000011001",
- /* E */ "100011000",
- /* F */ "001011000",
- /* G */ "000001101",
- /* H */ "100001100",
- /* I */ "001001100",
- /* J */ "000011100",
- /* K */ "100000011",
- /* L */ "001000011",
- /* M */ "101000010",
- /* N */ "000010011",
- /* O */ "100010010",
- /* P */ "001010010",
- /* Q */ "000000111",
- /* R */ "100000110",
- /* S */ "001000110",
- /* T */ "000010110",
- /* U */ "110000001",
- /* V */ "011000001",
- /* W */ "111000000",
- /* X */ "010010001",
- /* Y */ "110010000",
- /* Z */ "011010000",
- /* - */ "010000101",
- /* . */ "110000100",
- /* SP */ "011000100",
- /* * */ "010010100",
- /* $ */ "010101000",
- /* / */ "010100010",
- /* + */ "010001010",
- /* % */ "000101010"
- );
- }
-
- /**
- * Returns the character index.
- * @param char $char character.
- * @return int character index or -1 in case of error.
- * @access private
- */
- function GetCharIndex($char) {
- for ($i=0;$i<44;$i++) {
- if ($this->mChars[$i] == $char) {
- return $i;
- }
- }
- return -1;
- }
-
- /**
- * Returns barcode size.
- * @param int $xres Horizontal resolution.
- * @return barcode size.
- * @access private
- */
- function GetSize($xres) {
- $len = strlen($this->mValue);
-
- if ($len == 0) {
- $this->mError = "Null value";
- return false;
- }
-
- for ($i=0;$i<$len;$i++) {
- if ($this->GetCharIndex($this->mValue[$i]) == -1 || $this->mValue[$i] == '*') {
- /* The asterisk is only used as a start and stop code */
- $this->mError = "C39 not include the char '".$this->mValue[$i]."'";
- return false;
- }
- }
-
- /* Start, Stop is 010010100 == '*' */
- $StartSize = BCD_C39_NARROW_BAR * $xres * 6 + BCD_C39_WIDE_BAR * $xres * 3;
- $StopSize = BCD_C39_NARROW_BAR * $xres * 6 + BCD_C39_WIDE_BAR * $xres * 3;
- $CharSize = BCD_C39_NARROW_BAR * $xres * 6 + BCD_C39_WIDE_BAR * $xres * 3; /* Same for all chars */
-
- return $CharSize * $len + $StartSize + $StopSize + /* Space between chars */ BCD_C39_NARROW_BAR * $xres * ($len-1);
- }
-
- /**
- * Draws the start code.
- * @param int $DrawPos Drawing position.
- * @param int $yPos Vertical position.
- * @param int $ySize Vertical size.
- * @param int $xres Horizontal resolution.
- * @return int drawing position.
- * @access private
- */
- function DrawStart($DrawPos, $yPos, $ySize, $xres) {
- /* Start code is '*' */
- $narrow = BCD_C39_NARROW_BAR * $xres;
- $wide = BCD_C39_WIDE_BAR * $xres;
- $this->DrawSingleBar($DrawPos, $yPos, $narrow , $ySize);
- $DrawPos += $narrow;
- $DrawPos += $wide;
- $this->DrawSingleBar($DrawPos, $yPos, $narrow , $ySize);
- $DrawPos += $narrow;
- $DrawPos += $narrow;
- $this->DrawSingleBar($DrawPos, $yPos, $wide , $ySize);
- $DrawPos += $wide;
- $DrawPos += $narrow;
- $this->DrawSingleBar($DrawPos, $yPos, $wide , $ySize);
- $DrawPos += $wide;
- $DrawPos += $narrow;
- $this->DrawSingleBar($DrawPos, $yPos, $narrow, $ySize);
- $DrawPos += $narrow;
- $DrawPos += $narrow; /* Space between chars */
- return $DrawPos;
- }
-
- /**
- * Draws the stop code.
- * @param int $DrawPos Drawing position.
- * @param int $yPos Vertical position.
- * @param int $ySize Vertical size.
- * @param int $xres Horizontal resolution.
- * @return int drawing position.
- * @access private
- */
- function DrawStop($DrawPos, $yPos, $ySize, $xres) {
- /* Stop code is '*' */
- $narrow = BCD_C39_NARROW_BAR * $xres;
- $wide = BCD_C39_WIDE_BAR * $xres;
- $this->DrawSingleBar($DrawPos, $yPos, $narrow , $ySize);
- $DrawPos += $narrow;
- $DrawPos += $wide;
- $this->DrawSingleBar($DrawPos, $yPos, $narrow , $ySize);
- $DrawPos += $narrow;
- $DrawPos += $narrow;
- $this->DrawSingleBar($DrawPos, $yPos, $wide , $ySize);
- $DrawPos += $wide;
- $DrawPos += $narrow;
- $this->DrawSingleBar($DrawPos, $yPos, $wide , $ySize);
- $DrawPos += $wide;
- $DrawPos += $narrow;
- $this->DrawSingleBar($DrawPos, $yPos, $narrow, $ySize);
- $DrawPos += $narrow;
- return $DrawPos;
- }
-
- /**
- * Draws the barcode object.
- * @param int $xres Horizontal resolution.
- * @return bool true in case of success.
- */
- function DrawObject($xres) {
- $len = strlen($this->mValue);
-
- $narrow = BCD_C39_NARROW_BAR * $xres;
- $wide = BCD_C39_WIDE_BAR * $xres;
-
- if (($size = $this->GetSize($xres))==0) {
- return false;
- }
-
- $cPos = 0;
- if ($this->mStyle & BCS_ALIGN_CENTER) $sPos = (integer)(($this->mWidth - $size ) / 2);
- else if ($this->mStyle & BCS_ALIGN_RIGHT) $sPos = $this->mWidth - $size;
- else $sPos = 0;
-
- /* Total height of bar code -Bars only- */
- if ($this->mStyle & BCS_DRAW_TEXT) $ysize = $this->mHeight - BCD_DEFAULT_MAR_Y1 - BCD_DEFAULT_MAR_Y2 - $this->GetFontHeight($this->mFont);
- else $ysize = $this->mHeight - BCD_DEFAULT_MAR_Y1 - BCD_DEFAULT_MAR_Y2;
-
- /* Draw text */
- if ($this->mStyle & BCS_DRAW_TEXT) {
- if ($this->mStyle & BCS_STRETCH_TEXT) {
- for ($i=0;$i<$len;$i++) {
- $this->DrawChar($this->mFont, $sPos+($narrow*6+$wide*3)+($size/$len)*$i,
- $ysize + BCD_DEFAULT_MAR_Y1 + BCD_DEFAULT_TEXT_OFFSET, $this->mValue[$i]);
- }
- } else {/* Center */
- $text_width = $this->GetFontWidth($this->mFont) * strlen($this->mValue);
- $this->DrawText($this->mFont, $sPos+(($size-$text_width)/2)+($narrow*6+$wide*3),
- $ysize + BCD_DEFAULT_MAR_Y1 + BCD_DEFAULT_TEXT_OFFSET, $this->mValue);
- }
- }
-
- $DrawPos = $this->DrawStart($sPos, BCD_DEFAULT_MAR_Y1 , $ysize, $xres);
- do {
- $c = $this->GetCharIndex($this->mValue[$cPos]);
- $cset = $this->mCharSet[$c];
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, ($cset[0] == '0') ? $narrow : $wide , $ysize);
- $DrawPos += ($cset[0] == '0') ? $narrow : $wide;
- $DrawPos += ($cset[1] == '0') ? $narrow : $wide;
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, ($cset[2] == '0') ? $narrow : $wide , $ysize);
- $DrawPos += ($cset[2] == '0') ? $narrow : $wide;
- $DrawPos += ($cset[3] == '0') ? $narrow : $wide;
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, ($cset[4] == '0') ? $narrow : $wide , $ysize);
- $DrawPos += ($cset[4] == '0') ? $narrow : $wide;
- $DrawPos += ($cset[5] == '0') ? $narrow : $wide;
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, ($cset[6] == '0') ? $narrow : $wide , $ysize);
- $DrawPos += ($cset[6] == '0') ? $narrow : $wide;
- $DrawPos += ($cset[7] == '0') ? $narrow : $wide;
- $this->DrawSingleBar($DrawPos, BCD_DEFAULT_MAR_Y1, ($cset[8] == '0') ? $narrow : $wide , $ysize);
- $DrawPos += ($cset[8] == '0') ? $narrow : $wide;
- $DrawPos += $narrow; /* Space between chars */
- $cPos++;
- } while ($cPos<$len);
- $DrawPos = $this->DrawStop($DrawPos, BCD_DEFAULT_MAR_Y1 , $ysize, $xres);
- return true;
- }
-}
-
-//============================================================+
-// END OF FILE
-//============================================================+
-?>
\ No newline at end of file
+++ /dev/null
-<?php
-//============================================================+
-// File name : i25aobject.php
-// Begin : 2002-07-31
-// Last Update : 2004-12-29
-// Author : Karim Mribti [barcode@mribti.com]
-// : Nicola Asuni [info@tecnick.com]
-// Version : 0.0.8a 2001-04-01 (original code)
-// License : GNU LGPL (Lesser General Public License) 2.1
-// http://www.gnu.org/copyleft/lesser.txt
-// Source Code : http://www.mribti.com/barcode/
-//
-// Description : I25 Barcode Render Class for PHP using
-// the GD graphics library.
-// Interleaved 2 of 5 is a numeric only bar code
-// with a optional check number.
-//
-// NOTE:
-// This version contains changes by Nicola Asuni:
-// - porting to PHP4
-// - code style and formatting
-// - automatic php documentation in PhpDocumentor Style
-// (www.phpdoc.org)
-// - minor bug fixing
-//============================================================+
-
-/**
- * I25 Barcode Render Class for PHP using the GD graphics library.<br<
- * Interleaved 2 of 5 is a numeric only bar code with a optional check number.
- * @author Karim Mribti, Nicola Asuni
- * @name BarcodeObject
- * @package com.tecnick.tcpdf
- * @version 0.0.8a 2001-04-01 (original code)
- * @since 2001-03-25
- * @license http://www.gnu.org/copyleft/lesser.html LGPL
- */
-
-/**
- * I25 Barcode Render Class for PHP using the GD graphics library.<br<
- * Interleaved 2 of 5 is a numeric only bar code with a optional check number.
- * @author Karim Mribti, Nicola Asuni
- * @name BarcodeObject
- * @package com.tecnick.tcpdf
- * @version 0.0.8a 2001-04-01 (original code)
- * @since 2001-03-25
- * @license http://www.gnu.org/copyleft/lesser.html LGPL
- */
-class I25Object extends BarcodeObject {
-
- /**
- * Class Constructor.
- * @param int $Width Image width in pixels.
- * @param int $Height Image height in pixels.
- * @param int $Style Barcode style.
- * @param int $Value value to print on barcode.
- */
- function I25Object($Width, $Height, $Style, $Value) {
- $this->BarcodeObject($Width, $Height, $Style);
- $this->mValue = $Value;
- $this->mCharSet = array (
- /* 0 */ "00110",
- /* 1 */ "10001",
- /* 2 */ "01001",
- /* 3 */ "11000",
- /* 4 */ "00101",
- /* 5 */ "10100",
- /* 6 */ "01100",
- /* 7 */ "00011",
- /* 8 */ "10010",
- /* 9 */ "01010"
- );
- }
-
- /**
- * Returns barcode size.
- * @param int $xres Horizontal resolution.
- * @return barcode size.
- * @access private
- */
- function GetSize($xres) {
- $len = strlen($this->mValue);
-
- if ($len == 0) {
- $this->mError = "Null value";
- return false;
- }
-
- for ($i=0;$i<$len;$i++) {
- if ((ord($this->mValue[$i])<48) || (ord($this->mValue[$i])>57)) {
- $this->mError = "I25 is numeric only";
- return false;
- }
- }
-
- if (($len%2) != 0) {
- $this->mError = "The length of barcode value must be even";
- return false;
- }
- $StartSize = BCD_I25_NARROW_BAR * 4 * $xres;
- $StopSize = BCD_I25_WIDE_BAR * $xres + 2 * BCD_I25_NARROW_BAR * $xres;
- $cPos = 0;
- $sPos = 0;
- do {
- $c1 = $this->mValue[$cPos];
- $c2 = $this->mValue[$cPos+1];
- $cset1 = $this->mCharSet[$c1];
- $cset2 = $this->mCharSet[$c2];
-
- for ($i=0;$i<5;$i++) {
- $type1 = ($cset1[$i]==0) ? (BCD_I25_NARROW_BAR * $xres) : (BCD_I25_WIDE_BAR * $xres);
- $type2 = ($cset2[$i]==0) ? (BCD_I25_NARROW_BAR * $xres) : (BCD_I25_WIDE_BAR * $xres);
- $sPos += ($type1 + $type2);
- }
- $cPos+=2;
- } while ($cPos<$len);
-
- return $sPos + $StartSize + $StopSize;
- }
-
- /**
- * Draws the start code.
- * @param int $DrawPos Drawing position.
- * @param int $yPos Vertical position.
- * @param int $ySize Vertical size.
- * @param int $xres Horizontal resolution.
- * @return int drawing position.
- * @access private
- */
- function DrawStart($DrawPos, $yPos, $ySize, $xres) {
- /* Start code is "0000" */
- $this->DrawSingleBar($DrawPos, $yPos, BCD_I25_NARROW_BAR * $xres , $ySize);
- $DrawPos += BCD_I25_NARROW_BAR * $xres;
- $DrawPos += BCD_I25_NARROW_BAR * $xres;
- $this->DrawSingleBar($DrawPos, $yPos, BCD_I25_NARROW_BAR * $xres , $ySize);
- $DrawPos += BCD_I25_NARROW_BAR * $xres;
- $DrawPos += BCD_I25_NARROW_BAR * $xres;
- return $DrawPos;
- }
-
- /**
- * Draws the stop code.
- * @param int $DrawPos Drawing position.
- * @param int $yPos Vertical position.
- * @param int $ySize Vertical size.
- * @param int $xres Horizontal resolution.
- * @return int drawing position.
- * @access private
- */
- function DrawStop($DrawPos, $yPos, $ySize, $xres) {
- /* Stop code is "100" */
- $this->DrawSingleBar($DrawPos, $yPos, BCD_I25_WIDE_BAR * $xres , $ySize);
- $DrawPos += BCD_I25_WIDE_BAR * $xres;
- $DrawPos += BCD_I25_NARROW_BAR * $xres;
- $this->DrawSingleBar($DrawPos, $yPos, BCD_I25_NARROW_BAR * $xres , $ySize);
- $DrawPos += BCD_I25_NARROW_BAR * $xres;
- return $DrawPos;
- }
-
- /**
- * Draws the barcode object.
- * @param int $xres Horizontal resolution.
- * @return bool true in case of success.
- */
- function DrawObject($xres) {
- $len = strlen($this->mValue);
-
- if (($size = $this->GetSize($xres))==0) {
- return false;
- }
-
- $cPos = 0;
-
- if ($this->mStyle & BCS_DRAW_TEXT) $ysize = $this->mHeight - BCD_DEFAULT_MAR_Y1 - BCD_DEFAULT_MAR_Y2 - $this->GetFontHeight($this->mFont);
- else $ysize = $this->mHeight - BCD_DEFAULT_MAR_Y1 - BCD_DEFAULT_MAR_Y2;
-
- if ($this->mStyle & BCS_ALIGN_CENTER) $sPos = (integer)(($this->mWidth - $size ) / 2);
- else if ($this->mStyle & BCS_ALIGN_RIGHT) $sPos = $this->mWidth - $size;
- else $sPos = 0;
-
- if ($this->mStyle & BCS_DRAW_TEXT) {
- if ($this->mStyle & BCS_STRETCH_TEXT) {
- /* Stretch */
- for ($i=0;$i<$len;$i++) {
- $this->DrawChar($this->mFont, $sPos+BCD_I25_NARROW_BAR*4*$xres+($size/$len)*$i,
- $ysize + BCD_DEFAULT_MAR_Y1 + BCD_DEFAULT_TEXT_OFFSET , $this->mValue[$i]);
- }
- }else {/* Center */
- $text_width = $this->GetFontWidth($this->mFont) * strlen($this->mValue);
- $this->DrawText($this->mFont, $sPos+(($size-$text_width)/2)+(BCD_I25_NARROW_BAR*4*$xres),
- $ysize + BCD_DEFAULT_MAR_Y1 + BCD_DEFAULT_TEXT_OFFSET, $this->mValue);
- }
- }
-
- $sPos = $this->DrawStart($sPos, BCD_DEFAULT_MAR_Y1, $ysize, $xres);
- do {
- $c1 = $this->mValue[$cPos];
- $c2 = $this->mValue[$cPos+1];
- $cset1 = $this->mCharSet[$c1];
- $cset2 = $this->mCharSet[$c2];
-
- for ($i=0;$i<5;$i++) {
- $type1 = ($cset1[$i]==0) ? (BCD_I25_NARROW_BAR * $xres) : (BCD_I25_WIDE_BAR * $xres);
- $type2 = ($cset2[$i]==0) ? (BCD_I25_NARROW_BAR * $xres) : (BCD_I25_WIDE_BAR * $xres);
- $this->DrawSingleBar($sPos, BCD_DEFAULT_MAR_Y1, $type1 , $ysize);
- $sPos += ($type1 + $type2);
- }
- $cPos+=2;
- } while ($cPos<$len);
- $sPos = $this->DrawStop($sPos, BCD_DEFAULT_MAR_Y1, $ysize, $xres);
- return true;
- }
-}
-
-//============================================================+
-// END OF FILE
-//============================================================+
-?>
\ No newline at end of file
+++ /dev/null
-<?php
-//============================================================+
-// File name : image.php
-// Begin : 2002-07-31
-// Last Update : 2005-01-08
-// Author : Karim Mribti [barcode@mribti.com]
-// : Nicola Asuni [info@tecnick.com]
-// Version : 0.0.8a 2001-04-01 (original code)
-// License : GNU LGPL (Lesser General Public License) 2.1
-// http://www.gnu.org/copyleft/lesser.txt
-// Source Code : http://www.mribti.com/barcode/
-//
-// Description : Barcode Image Rendering.
-//
-// NOTE:
-// This version contains changes by Nicola Asuni:
-// - porting to PHP5
-// - code style and formatting
-// - automatic php documentation in PhpDocumentor Style
-// (www.phpdoc.org)
-// - minor bug fixing
-//============================================================+
-
-/**
- * Barcode Image Rendering.
- * @author Karim Mribti, Nicola Asuni
- * @name BarcodeObject
- * @package com.tecnick.tcpdf
- * @version 0.0.8a 2001-04-01 (original code)
- * @since 2001-03-25
- * @license http://www.gnu.org/copyleft/lesser.html LGPL
- */
-
-/**
- *
- */
-
-require("../../shared/barcode/barcode.php");
-require("../../shared/barcode/i25object.php");
-require("../../shared/barcode/c39object.php");
-require("../../shared/barcode/c128aobject.php");
-require("../../shared/barcode/c128bobject.php");
-require("../../shared/barcode/c128cobject.php");
-
-if (!isset($_REQUEST['style'])) $_REQUEST['style'] = BCD_DEFAULT_STYLE;
-if (!isset($_REQUEST['width'])) $_REQUEST['width'] = BCD_DEFAULT_WIDTH;
-if (!isset($_REQUEST['height'])) $_REQUEST['height'] = BCD_DEFAULT_HEIGHT;
-if (!isset($_REQUEST['xres'])) $_REQUEST['xres'] = BCD_DEFAULT_XRES;
-if (!isset($_REQUEST['font'])) $_REQUEST['font'] = BCD_DEFAULT_FONT;
-if (!isset($_REQUEST['type'])) $_REQUEST['type'] = "C39";
-if (!isset($_REQUEST['code'])) $_REQUEST['code'] = "";
-
-switch (strtoupper($_REQUEST['type'])) {
- case "I25": {
- $obj = new I25Object($_REQUEST['width'], $_REQUEST['height'], $_REQUEST['style'], $_REQUEST['code']);
- break;
- }
- case "C128A": {
- $obj = new C128AObject($_REQUEST['width'], $_REQUEST['height'], $_REQUEST['style'], $_REQUEST['code']);
- break;
- }
- case "C128B": {
- $obj = new C128BObject($_REQUEST['width'], $_REQUEST['height'], $_REQUEST['style'], $_REQUEST['code']);
- break;
- }
- case "C128C": {
- $obj = new C128CObject($_REQUEST['width'], $_REQUEST['height'], $_REQUEST['style'], $_REQUEST['code']);
- break;
- }
- case "C39":
- default: {
- $obj = new C39Object($_REQUEST['width'], $_REQUEST['height'], $_REQUEST['style'], $_REQUEST['code']);
- break;
- }
-}
-
-if ($obj) {
- $obj->SetFont($_REQUEST['font']);
- $obj->DrawObject($_REQUEST['xres']);
- $obj->FlushObject();
- $obj->DestroyObject();
- unset($obj); /* clean */
-}
-
-//============================================================+
-// END OF FILE
-//============================================================+
-?>
\ No newline at end of file
+++ /dev/null
-/* default space between tabs */\r
-.yui-navset-top .yui-nav li, .yui-navset-bottom .yui-nav li {\r
- margin-right:0.5em; /* horizontal tabs */\r
-}\r
-.yui-navset-left .yui-nav li, .yui-navset-right .yui-nav li {\r
- margin-bottom:0.5em; /* vertical tabs */\r
-}\r
-\r
-.yui-navset .yui-nav li em { padding:.5em; } /* default tab padding */\r
-\r
-/* default width for side tabs */\r
-.yui-navset-left .yui-nav, .yui-navset-right .yui-nav { width:6em; }\r
-.yui-navset-left { padding-left:6em; } /* map to nav width */\r
-.yui-navset-right { padding-right:6em; } /* ditto */\r
-\r
-/* core */\r
-\r
-.yui-nav, .yui-nav li {\r
- margin:0;\r
- padding:0;\r
- list-style:none;\r
-}\r
-.yui-navset li em { font-style:normal; }\r
-\r
-.yui-navset {\r
- position:relative; /* contain absolute positioned tabs (left/right) */\r
- zoom:1;\r
-}\r
-\r
-.yui-navset .yui-content { zoom:1; }\r
-\r
-.yui-navset-top .yui-nav li, .yui-navset-bottom .yui-nav li {\r
- display:inline-block;\r
- display:-moz-inline-stack;\r
- *display:inline; /* IE */\r
- vertical-align:bottom; /* safari: for overlap */\r
- cursor:pointer; /* gecko: due to -moz-inline-stack on anchor */\r
- zoom:1; /* IE: kill space between horizontal tabs */\r
-}\r
-\r
-.yui-navset .yui-nav a {\r
- outline:0; /* gecko: keep from shifting */\r
-}\r
-\r
-.yui-navset .yui-nav a { position:relative; } /* IE: to allow overlap */\r
-\r
-.yui-navset .yui-nav li a {\r
- display:block;\r
- zoom:1;\r
-}\r
-\r
-.yui-navset-top .yui-nav li a, .yui-navset-bottom .yui-nav li a {\r
- display:inline-block;\r
- vertical-align:bottom; /* safari: for overlap */\r
-}\r
-\r
-.yui-navset-bottom .yui-nav li a {\r
- vertical-align:text-top; /* for inline overlap (reverse for Op border bug) */\r
-}\r
-\r
-.yui-navset .yui-nav li a em { display:block; }\r
-\r
-/* position left and right oriented tabs */\r
-.yui-navset-left .yui-nav, .yui-navset-right .yui-nav { position:absolute; z-index:1; }\r
-.yui-navset-left .yui-nav { left:0; }\r
-.yui-navset-right .yui-nav { right:0; }\r