소스 검색

[GENERIC] Zend_Barcode: add new objects Identcode (Deutsche Post Identcode) and Leitcode (Deutsche Post Leitcode)

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@19980 44c647ce-9c0f-0410-b52a-842ac1e357ba
mikaelkael 16 년 전
부모
커밋
0f34a1d580

+ 106 - 0
documentation/manual/en/module_specs/Zend_Barcode-Objects_Details.xml

@@ -108,6 +108,59 @@
         </para>
     </sect3>
 
+    <sect3 id="zend.barcode.objects.details.identcode">
+        <title>Zend_Barcode_Object_Identcode</title>
+
+        <para>
+            <inlinegraphic width="155" align="center" valign="middle"
+                fileref="figures/zend.barcode.objects.details.identcode.png" format="PNG"/>
+        </para>
+
+        <para>
+            This barcode extends <classname>Zend_Barcode_Object_Int25</classname>
+            (Code 2 of 5 Interleaved), and inherits some of its capabilities; it also has a few
+            particulars of its own.
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para>
+                    <emphasis>Name:</emphasis> Identcode (Deutsche Post Identcode)
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis>Allowed characters:</emphasis> '0123456789'
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis>Checksum:</emphasis> mandatory (modulo 10 different from Code25)
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis>Length:</emphasis> 12 characters (including checksum)
+                </para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            There are no particular options for this barcode.
+        </para>
+
+        <note>
+            <para>
+                If the number of characters is not equal to 12,
+                <classname>Zend_Barcode_Object_Identcode</classname> will automatically prepend missing
+                zeros to the barcode text.
+            </para>
+        </note>
+    </sect3>
+
     <sect3 id="zend.barcode.objects.details.itf14">
         <title>Zend_Barcode_Object_Itf14</title>
 
@@ -244,4 +297,57 @@
             </para>
         </note>
     </sect3>
+
+    <sect3 id="zend.barcode.objects.details.leitcode">
+        <title>Zend_Barcode_Object_Leitcode</title>
+
+        <para>
+            <inlinegraphic width="155" align="center" valign="middle"
+                fileref="figures/zend.barcode.objects.details.leitcode.png" format="PNG"/>
+        </para>
+
+        <para>
+            This barcode extends <classname>Zend_Barcode_Object_Identcode</classname>
+            (Code 2 of 5 Interleaved), and inherits some of its capabilities; it also has a few
+            particulars of its own.
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para>
+                    <emphasis>Name:</emphasis> Leitcode (Deutsche Post Leitcode)
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis>Allowed characters:</emphasis> '0123456789'
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis>Checksum:</emphasis> mandatory (modulo 10 different from Code25)
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis>Length:</emphasis> 14 characters (including checksum)
+                </para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            There are no particular options for this barcode.
+        </para>
+
+        <note>
+            <para>
+                If the number of characters is not equal to 14,
+                <classname>Zend_Barcode_Object_Leitcode</classname> will automatically prepend missing
+                zeros to the barcode text.
+            </para>
+        </note>
+    </sect3>
 </sect2>

+ 102 - 0
library/Zend/Barcode/Object/Identcode.php

@@ -0,0 +1,102 @@
+<?php
+/**
+ * Zend Framework
+ *
+ * LICENSE
+ *
+ * This source file is subject to the new BSD license that is bundled
+ * with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://framework.zend.com/license/new-bsd
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@zend.com so we can send you a copy immediately.
+ *
+ * @category   Zend
+ * @package    Zend_Barcode
+ * @subpackage Object
+ * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ * @version    $Id$
+ */
+
+/**
+ * @see Zend_Barcode_Object_Int25
+ */
+require_once 'Zend/Barcode/Object/Int25.php';
+
+/**
+ * @see Zend_Validate_Barcode
+ */
+require_once 'Zend/Validate/Barcode.php';
+
+/**
+ * Class for generate Identcode barcode
+ *
+ * @category   Zend
+ * @package    Zend_Barcode
+ * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ */
+class Zend_Barcode_Object_Identcode extends Zend_Barcode_Object_Int25
+{
+
+    /**
+     * Number of characters in the barcode
+     * @var $_barcodeLength integer | string
+     */
+    protected $_barcodeLength = 12;
+
+    /**
+     * Activation of mandatory checksum
+     * to deactivate unauthorized modification
+     * @var $_mandatoryChecksum boolean
+     */
+    protected $_mandatoryChecksum = true;
+
+    /**
+     * Retrieve text to display
+     * @return string
+     */
+    public function getTextToDisplay()
+    {
+        return preg_replace('/([0-9]{2})([0-9]{3})([0-9]{3})([0-9]{3})([0-9])/',
+                            '$1.$2 $3.$4 $5',
+                            $this->getText());
+    }
+
+    /**
+     * Check allowed characters
+     * @param string $value
+     * @return string
+     * @throw Zend_Barcode_Object_Exception
+     */
+    public function validateText($value)
+    {
+        $this->_validateText($value, array('validator' => $this->getType()));
+    }
+
+    /**
+     * Get barcode checksum
+     *
+     * @param  string $text
+     * @return int
+     */
+    public function getChecksum($text)
+    {
+        $this->_checkText($text);
+        $checksum = 0;
+
+        for ($i = strlen($text); $i > 0; $i --) {
+            $checksum += intval($text{$i - 1}) * (($i % 2) ? 4 : 9);
+        }
+
+        $checksum = 10 - ($checksum % 10);
+
+        if ($checksum == 10) {
+            $checksum = 0;
+        }
+
+        return $checksum;
+    }
+}

+ 60 - 0
library/Zend/Barcode/Object/Leitcode.php

@@ -0,0 +1,60 @@
+<?php
+/**
+ * Zend Framework
+ *
+ * LICENSE
+ *
+ * This source file is subject to the new BSD license that is bundled
+ * with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://framework.zend.com/license/new-bsd
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@zend.com so we can send you a copy immediately.
+ *
+ * @category   Zend
+ * @package    Zend_Barcode
+ * @subpackage Object
+ * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ * @version    $Id$
+ */
+
+/**
+ * @see Zend_Barcode_Object_Identcode
+ */
+require_once 'Zend/Barcode/Object/Identcode.php';
+
+/**
+ * @see Zend_Validate_Barcode
+ */
+require_once 'Zend/Validate/Barcode.php';
+
+/**
+ * Class for generate Identcode barcode
+ *
+ * @category   Zend
+ * @package    Zend_Barcode
+ * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ */
+class Zend_Barcode_Object_Leitcode extends Zend_Barcode_Object_Identcode
+{
+
+    /**
+     * Number of characters in the barcode
+     * @var $_barcodeLength integer | string
+     */
+    protected $_barcodeLength = 14;
+
+    /**
+     * Retrieve text to display
+     * @return string
+     */
+    public function getTextToDisplay()
+    {
+        return preg_replace('/([0-9]{5})([0-9]{3})([0-9]{3})([0-9]{2})([0-9])/',
+                            '$1.$2.$3.$4 $5',
+                            $this->getText());
+    }
+}

+ 4 - 0
tests/Zend/Barcode/AllTests.php

@@ -42,6 +42,8 @@ require_once 'Zend/Barcode/Object/Code39Test.php';
 require_once 'Zend/Barcode/Object/Code25Test.php';
 require_once 'Zend/Barcode/Object/Int25Test.php';
 require_once 'Zend/Barcode/Object/Itf14Test.php';
+require_once 'Zend/Barcode/Object/IdentcodeTest.php';
+require_once 'Zend/Barcode/Object/LeitcodeTest.php';
 require_once 'Zend/Barcode/Object/ErrorTest.php';
 
 require_once 'Zend/Barcode/Renderer/ImageTest.php';
@@ -72,6 +74,8 @@ class Zend_Barcode_AllTests
         $suite->addTestSuite('Zend_Barcode_Object_Code25Test');
         $suite->addTestSuite('Zend_Barcode_Object_Int25Test');
         $suite->addTestSuite('Zend_Barcode_Object_Itf14Test');
+        $suite->addTestSuite('Zend_Barcode_Object_IdentcodeTest');
+        $suite->addTestSuite('Zend_Barcode_Object_LeitcodeTest');
         $suite->addTestSuite('Zend_Barcode_Object_ErrorTest');
 
         $suite->addTestSuite('Zend_Barcode_Renderer_ImageTest');

+ 1 - 0
tests/Zend/Barcode/Object/Code25Test.php

@@ -50,6 +50,7 @@ class Zend_Barcode_Object_Code25Test extends Zend_Barcode_Object_TestCommon
     public function testChecksum()
     {
         $this->assertSame(5, $this->_object->getChecksum('0123456789'));
+        $this->assertSame(0, $this->_object->getChecksum('13'));
     }
 
     public function testSetText()

+ 165 - 0
tests/Zend/Barcode/Object/IdentcodeTest.php

@@ -0,0 +1,165 @@
+<?php
+/**
+ * Zend Framework
+ *
+ * LICENSE
+ *
+ * This source file is subject to the new BSD license that is bundled
+ * with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://framework.zend.com/license/new-bsd
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@zend.com so we can send you a copy immediately.
+ *
+ * @category   Zend
+ * @package    Zend_Barcode
+ * @subpackage UnitTests
+ * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ * @version    $Id$
+ */
+
+require_once dirname(dirname(dirname(dirname(__FILE__)))) . '/TestHelper.php';
+
+require_once dirname(__FILE__) . '/TestCommon.php';
+
+require_once 'Zend/Barcode/Object/Identcode.php';
+
+/**
+ * @category   Zend
+ * @package    Zend_Barcode
+ * @subpackage UnitTests
+ * @group      Zend_Barcode
+ * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ */
+class Zend_Barcode_Object_IdentcodeTest extends Zend_Barcode_Object_TestCommon
+{
+
+    protected function _getBarcodeObject($options = null)
+    {
+        return new Zend_Barcode_Object_Identcode($options);
+    }
+
+    public function testType()
+    {
+        $this->assertSame('identcode', $this->_object->getType());
+    }
+
+    public function testChecksum()
+    {
+        $this->assertSame(6, $this->_object->getChecksum('12345678901'));
+    }
+
+    public function testSetText()
+    {
+        $this->_object->setText('00123456789');
+        $this->assertSame('00123456789', $this->_object->getRawText());
+        $this->assertSame('001234567890', $this->_object->getText());
+        $this->assertSame('00.123 456.789 0', $this->_object->getTextToDisplay());
+    }
+
+    public function testSetTextWithout13Characters()
+    {
+        $this->_object->setText('123456789');
+        $this->assertSame('123456789', $this->_object->getRawText());
+        $this->assertSame('001234567890', $this->_object->getText());
+        $this->assertSame('00.123 456.789 0', $this->_object->getTextToDisplay());
+    }
+
+    public function testSetTextWithoutChecksumHasNoEffect()
+    {
+        $this->_object->setText('00123456789');
+        $this->_object->setWithChecksum(false);
+        $this->assertSame('00123456789', $this->_object->getRawText());
+        $this->assertSame('001234567890', $this->_object->getText());
+        $this->assertSame('00.123 456.789 0', $this->_object->getTextToDisplay());
+    }
+
+    public function testSetTextWithSpaces()
+    {
+        $this->_object->setText(' 00123456789 ');
+        $this->assertSame('00123456789', $this->_object->getRawText());
+        $this->assertSame('001234567890', $this->_object->getText());
+        $this->assertSame('00.123 456.789 0', $this->_object->getTextToDisplay());
+    }
+
+    public function testSetTextWithChecksumNotDisplayed()
+    {
+        $this->_object->setText('00123456789');
+        $this->_object->setWithChecksumInText(false);
+        $this->assertSame('00123456789', $this->_object->getRawText());
+        $this->assertSame('001234567890', $this->_object->getText());
+        $this->assertSame('00.123 456.789 0', $this->_object->getTextToDisplay());
+    }
+
+    /**
+     * @expectedException Zend_Barcode_Object_Exception
+     */
+    public function testBadTextDetectedIfChecksumWished()
+    {
+        $this->_object->setText('a');
+        $this->_object->setWithChecksum(true);
+        $this->_object->getText();
+    }
+
+    public function testCheckGoodParams()
+    {
+        $this->_object->setText('00123456789');
+        $this->assertTrue($this->_object->checkParams());
+    }
+
+
+    public function testGetKnownWidthWithoutOrientation()
+    {
+        $this->_object->setText('00123456789');
+        $this->assertEquals(137, $this->_object->getWidth());
+    }
+
+    public function testCompleteGeneration()
+    {
+        $this->_object->setText('00123456789');
+        $this->_object->draw();
+        $instructions = $this->loadInstructionsFile('Identcode_00123456789_instructions');
+        $this->assertEquals($instructions, $this->_object->getInstructions());
+    }
+
+    public function testCompleteGenerationWithBorder()
+    {
+        $this->_object->setText('00123456789');
+        $this->_object->setWithBorder(true);
+        $this->_object->draw();
+        $instructions = $this->loadInstructionsFile(
+                'Identcode_00123456789_border_instructions');
+        $this->assertEquals($instructions, $this->_object->getInstructions());
+    }
+
+    public function testCompleteGenerationWithOrientation()
+    {
+        $this->_object->setText('00123456789');
+        $this->_object->setOrientation(60);
+        $this->_object->draw();
+        $instructions = $this->loadInstructionsFile(
+                'Identcode_00123456789_oriented_instructions');
+        $this->assertEquals($instructions, $this->_object->getInstructions());
+    }
+
+    public function testCompleteGenerationWithBorderWithOrientation()
+    {
+        $this->_object->setText('00123456789');
+        $this->_object->setOrientation(60);
+        $this->_object->setWithBorder(true);
+        $this->_object->draw();
+        $instructions = $this->loadInstructionsFile(
+                'Identcode_00123456789_border_oriented_instructions');
+        $this->assertEquals($instructions, $this->_object->getInstructions());
+    }
+
+    public function testGetDefaultHeight()
+    {
+        // Checksum activated => text needed
+        $this->_object->setText('00123456789');
+        $this->assertEquals(62, $this->_object->getHeight(true));
+    }
+}

+ 165 - 0
tests/Zend/Barcode/Object/LeitcodeTest.php

@@ -0,0 +1,165 @@
+<?php
+/**
+ * Zend Framework
+ *
+ * LICENSE
+ *
+ * This source file is subject to the new BSD license that is bundled
+ * with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://framework.zend.com/license/new-bsd
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@zend.com so we can send you a copy immediately.
+ *
+ * @category   Zend
+ * @package    Zend_Barcode
+ * @subpackage UnitTests
+ * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ * @version    $Id$
+ */
+
+require_once dirname(dirname(dirname(dirname(__FILE__)))) . '/TestHelper.php';
+
+require_once dirname(__FILE__) . '/TestCommon.php';
+
+require_once 'Zend/Barcode/Object/Leitcode.php';
+
+/**
+ * @category   Zend
+ * @package    Zend_Barcode
+ * @subpackage UnitTests
+ * @group      Zend_Barcode
+ * @copyright  Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ */
+class Zend_Barcode_Object_LeitcodeTest extends Zend_Barcode_Object_TestCommon
+{
+
+    protected function _getBarcodeObject($options = null)
+    {
+        return new Zend_Barcode_Object_Leitcode($options);
+    }
+
+    public function testType()
+    {
+        $this->assertSame('leitcode', $this->_object->getType());
+    }
+
+    public function testChecksum()
+    {
+        $this->assertSame(8, $this->_object->getChecksum('0123456789012'));
+    }
+
+    public function testSetText()
+    {
+        $this->_object->setText('0000123456789');
+        $this->assertSame('0000123456789', $this->_object->getRawText());
+        $this->assertSame('00001234567890', $this->_object->getText());
+        $this->assertSame('00001.234.567.89 0', $this->_object->getTextToDisplay());
+    }
+
+    public function testSetTextWithout13Characters()
+    {
+        $this->_object->setText('123456789');
+        $this->assertSame('123456789', $this->_object->getRawText());
+        $this->assertSame('00001234567890', $this->_object->getText());
+        $this->assertSame('00001.234.567.89 0', $this->_object->getTextToDisplay());
+    }
+
+    public function testSetTextWithoutChecksumHasNoEffect()
+    {
+        $this->_object->setText('0000123456789');
+        $this->_object->setWithChecksum(false);
+        $this->assertSame('0000123456789', $this->_object->getRawText());
+        $this->assertSame('00001234567890', $this->_object->getText());
+        $this->assertSame('00001.234.567.89 0', $this->_object->getTextToDisplay());
+    }
+
+    public function testSetTextWithSpaces()
+    {
+        $this->_object->setText(' 0000123456789 ');
+        $this->assertSame('0000123456789', $this->_object->getRawText());
+        $this->assertSame('00001234567890', $this->_object->getText());
+        $this->assertSame('00001.234.567.89 0', $this->_object->getTextToDisplay());
+    }
+
+    public function testSetTextWithChecksumNotDisplayed()
+    {
+        $this->_object->setText('0000123456789');
+        $this->_object->setWithChecksumInText(false);
+        $this->assertSame('0000123456789', $this->_object->getRawText());
+        $this->assertSame('00001234567890', $this->_object->getText());
+        $this->assertSame('00001.234.567.89 0', $this->_object->getTextToDisplay());
+    }
+
+    /**
+     * @expectedException Zend_Barcode_Object_Exception
+     */
+    public function testBadTextDetectedIfChecksumWished()
+    {
+        $this->_object->setText('a');
+        $this->_object->setWithChecksum(true);
+        $this->_object->getText();
+    }
+
+    public function testCheckGoodParams()
+    {
+        $this->_object->setText('0000123456789');
+        $this->assertTrue($this->_object->checkParams());
+    }
+
+
+    public function testGetKnownWidthWithoutOrientation()
+    {
+        $this->_object->setText('0000123456789');
+        $this->assertEquals(155, $this->_object->getWidth());
+    }
+
+    public function testCompleteGeneration()
+    {
+        $this->_object->setText('0000123456789');
+        $this->_object->draw();
+        $instructions = $this->loadInstructionsFile('Leitcode_0000123456789_instructions');
+        $this->assertEquals($instructions, $this->_object->getInstructions());
+    }
+
+    public function testCompleteGenerationWithBorder()
+    {
+        $this->_object->setText('0000123456789');
+        $this->_object->setWithBorder(true);
+        $this->_object->draw();
+        $instructions = $this->loadInstructionsFile(
+                'Leitcode_0000123456789_border_instructions');
+        $this->assertEquals($instructions, $this->_object->getInstructions());
+    }
+
+    public function testCompleteGenerationWithOrientation()
+    {
+        $this->_object->setText('0000123456789');
+        $this->_object->setOrientation(60);
+        $this->_object->draw();
+        $instructions = $this->loadInstructionsFile(
+                'Leitcode_0000123456789_oriented_instructions');
+        $this->assertEquals($instructions, $this->_object->getInstructions());
+    }
+
+    public function testCompleteGenerationWithBorderWithOrientation()
+    {
+        $this->_object->setText('0000123456789');
+        $this->_object->setOrientation(60);
+        $this->_object->setWithBorder(true);
+        $this->_object->draw();
+        $instructions = $this->loadInstructionsFile(
+                'Leitcode_0000123456789_border_oriented_instructions');
+        $this->assertEquals($instructions, $this->_object->getInstructions());
+    }
+
+    public function testGetDefaultHeight()
+    {
+        // Checksum activated => text needed
+        $this->_object->setText('0000123456789');
+        $this->assertEquals(62, $this->_object->getHeight(true));
+    }
+}

+ 1068 - 0
tests/Zend/Barcode/Object/_files/Identcode_00123456789_border_instructions.php

@@ -0,0 +1,1068 @@
+<?php
+return
+array (
+  0 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 0,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 0,
+        1 => 65,
+      ),
+      2 => 
+      array (
+        0 => 138,
+        1 => 65,
+      ),
+      3 => 
+      array (
+        0 => 138,
+        1 => 0,
+      ),
+    ),
+    'color' => 16777215,
+    'filled' => true,
+  ),
+  1 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 11,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 11,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 11,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 11,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  2 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 13,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 13,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 13,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 13,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  3 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 15,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 15,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 15,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 15,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  4 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 17,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 17,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 17,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 17,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  5 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 19,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 19,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 21,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 21,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  6 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 25,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 25,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 27,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 27,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  7 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 31,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 31,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 31,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 31,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  8 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 33,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 33,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 35,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 35,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  9 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 37,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 37,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 37,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 37,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  10 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 41,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 41,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 41,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 41,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  11 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 43,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 43,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 43,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 43,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  12 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 45,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 45,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 47,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 47,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  13 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 51,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 51,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 53,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 53,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  14 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 55,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 55,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 57,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 57,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  15 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 59,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 59,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 59,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 59,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  16 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 63,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 63,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 63,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 63,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  17 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 65,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 65,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 65,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 65,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  18 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 69,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 69,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 71,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 71,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  19 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 73,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 73,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 73,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 73,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  20 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 77,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 77,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 79,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 79,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  21 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 83,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 83,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 83,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 83,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  22 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 85,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 85,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 85,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 85,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  23 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 87,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 87,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 87,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 87,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  24 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 91,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 91,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 91,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 91,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  25 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 93,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 93,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 93,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 93,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  26 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 95,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 95,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 97,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 97,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  27 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 101,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 101,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 103,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 103,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  28 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 105,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 105,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 105,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 105,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  29 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 107,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 107,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 109,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 109,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  30 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 111,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 111,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 111,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 111,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  31 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 115,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 115,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 117,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 117,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  32 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 121,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 121,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 121,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 121,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  33 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 123,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 123,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 125,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 125,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  34 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 127,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 127,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 127,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 127,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  35 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 0,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 138,
+        1 => 0,
+      ),
+      2 => 
+      array (
+        0 => 138,
+        1 => 65,
+      ),
+      3 => 
+      array (
+        0 => 0,
+        1 => 65,
+      ),
+      4 => 
+      array (
+        0 => 0,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => false,
+  ),
+  36 => 
+  array (
+    'type' => 'text',
+    'text' => '00.123 456.789 0',
+    'size' => 10,
+    'position' => 
+    array (
+      0 => 69,
+      1 => 63,
+    ),
+    'font' => NULL,
+    'color' => 0,
+    'alignment' => 'center',
+    'orientation' => 0,
+  ),
+);

+ 1068 - 0
tests/Zend/Barcode/Object/_files/Identcode_00123456789_border_oriented_instructions.php

@@ -0,0 +1,1068 @@
+<?php
+return
+array (
+  0 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 53,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => -2,
+        1 => 32,
+      ),
+      2 => 
+      array (
+        0 => 66,
+        1 => 152,
+      ),
+      3 => 
+      array (
+        0 => 122,
+        1 => 119,
+      ),
+    ),
+    'color' => 16777215,
+    'filled' => true,
+  ),
+  1 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 58,
+        1 => 10,
+      ),
+      1 => 
+      array (
+        0 => 15,
+        1 => 35,
+      ),
+      2 => 
+      array (
+        0 => 15,
+        1 => 35,
+      ),
+      3 => 
+      array (
+        0 => 58,
+        1 => 10,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  2 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 59,
+        1 => 11,
+      ),
+      1 => 
+      array (
+        0 => 16,
+        1 => 36,
+      ),
+      2 => 
+      array (
+        0 => 16,
+        1 => 36,
+      ),
+      3 => 
+      array (
+        0 => 59,
+        1 => 11,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  3 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 60,
+        1 => 13,
+      ),
+      1 => 
+      array (
+        0 => 17,
+        1 => 38,
+      ),
+      2 => 
+      array (
+        0 => 17,
+        1 => 38,
+      ),
+      3 => 
+      array (
+        0 => 60,
+        1 => 13,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  4 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 61,
+        1 => 15,
+      ),
+      1 => 
+      array (
+        0 => 18,
+        1 => 40,
+      ),
+      2 => 
+      array (
+        0 => 18,
+        1 => 40,
+      ),
+      3 => 
+      array (
+        0 => 61,
+        1 => 15,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  5 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 62,
+        1 => 16,
+      ),
+      1 => 
+      array (
+        0 => 19,
+        1 => 41,
+      ),
+      2 => 
+      array (
+        0 => 20,
+        1 => 43,
+      ),
+      3 => 
+      array (
+        0 => 63,
+        1 => 18,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  6 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 65,
+        1 => 22,
+      ),
+      1 => 
+      array (
+        0 => 22,
+        1 => 47,
+      ),
+      2 => 
+      array (
+        0 => 23,
+        1 => 48,
+      ),
+      3 => 
+      array (
+        0 => 66,
+        1 => 23,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  7 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 68,
+        1 => 27,
+      ),
+      1 => 
+      array (
+        0 => 25,
+        1 => 52,
+      ),
+      2 => 
+      array (
+        0 => 25,
+        1 => 52,
+      ),
+      3 => 
+      array (
+        0 => 68,
+        1 => 27,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  8 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 69,
+        1 => 29,
+      ),
+      1 => 
+      array (
+        0 => 26,
+        1 => 54,
+      ),
+      2 => 
+      array (
+        0 => 27,
+        1 => 55,
+      ),
+      3 => 
+      array (
+        0 => 70,
+        1 => 30,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  9 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 71,
+        1 => 32,
+      ),
+      1 => 
+      array (
+        0 => 28,
+        1 => 57,
+      ),
+      2 => 
+      array (
+        0 => 28,
+        1 => 57,
+      ),
+      3 => 
+      array (
+        0 => 71,
+        1 => 32,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  10 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 73,
+        1 => 36,
+      ),
+      1 => 
+      array (
+        0 => 30,
+        1 => 61,
+      ),
+      2 => 
+      array (
+        0 => 30,
+        1 => 61,
+      ),
+      3 => 
+      array (
+        0 => 73,
+        1 => 36,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  11 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 74,
+        1 => 37,
+      ),
+      1 => 
+      array (
+        0 => 31,
+        1 => 62,
+      ),
+      2 => 
+      array (
+        0 => 31,
+        1 => 62,
+      ),
+      3 => 
+      array (
+        0 => 74,
+        1 => 37,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  12 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 75,
+        1 => 39,
+      ),
+      1 => 
+      array (
+        0 => 32,
+        1 => 64,
+      ),
+      2 => 
+      array (
+        0 => 33,
+        1 => 66,
+      ),
+      3 => 
+      array (
+        0 => 76,
+        1 => 41,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  13 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 78,
+        1 => 44,
+      ),
+      1 => 
+      array (
+        0 => 35,
+        1 => 69,
+      ),
+      2 => 
+      array (
+        0 => 36,
+        1 => 71,
+      ),
+      3 => 
+      array (
+        0 => 79,
+        1 => 46,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  14 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 80,
+        1 => 48,
+      ),
+      1 => 
+      array (
+        0 => 37,
+        1 => 73,
+      ),
+      2 => 
+      array (
+        0 => 38,
+        1 => 74,
+      ),
+      3 => 
+      array (
+        0 => 81,
+        1 => 49,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  15 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 82,
+        1 => 51,
+      ),
+      1 => 
+      array (
+        0 => 39,
+        1 => 76,
+      ),
+      2 => 
+      array (
+        0 => 39,
+        1 => 76,
+      ),
+      3 => 
+      array (
+        0 => 82,
+        1 => 51,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  16 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 84,
+        1 => 55,
+      ),
+      1 => 
+      array (
+        0 => 41,
+        1 => 80,
+      ),
+      2 => 
+      array (
+        0 => 41,
+        1 => 80,
+      ),
+      3 => 
+      array (
+        0 => 84,
+        1 => 55,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  17 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 85,
+        1 => 56,
+      ),
+      1 => 
+      array (
+        0 => 42,
+        1 => 81,
+      ),
+      2 => 
+      array (
+        0 => 42,
+        1 => 81,
+      ),
+      3 => 
+      array (
+        0 => 85,
+        1 => 56,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  18 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 87,
+        1 => 60,
+      ),
+      1 => 
+      array (
+        0 => 44,
+        1 => 85,
+      ),
+      2 => 
+      array (
+        0 => 45,
+        1 => 86,
+      ),
+      3 => 
+      array (
+        0 => 88,
+        1 => 61,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  19 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 89,
+        1 => 63,
+      ),
+      1 => 
+      array (
+        0 => 46,
+        1 => 88,
+      ),
+      2 => 
+      array (
+        0 => 46,
+        1 => 88,
+      ),
+      3 => 
+      array (
+        0 => 89,
+        1 => 63,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  20 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 91,
+        1 => 67,
+      ),
+      1 => 
+      array (
+        0 => 48,
+        1 => 92,
+      ),
+      2 => 
+      array (
+        0 => 49,
+        1 => 93,
+      ),
+      3 => 
+      array (
+        0 => 92,
+        1 => 68,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  21 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 94,
+        1 => 72,
+      ),
+      1 => 
+      array (
+        0 => 51,
+        1 => 97,
+      ),
+      2 => 
+      array (
+        0 => 51,
+        1 => 97,
+      ),
+      3 => 
+      array (
+        0 => 94,
+        1 => 72,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  22 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 95,
+        1 => 74,
+      ),
+      1 => 
+      array (
+        0 => 52,
+        1 => 99,
+      ),
+      2 => 
+      array (
+        0 => 52,
+        1 => 99,
+      ),
+      3 => 
+      array (
+        0 => 95,
+        1 => 74,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  23 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 96,
+        1 => 75,
+      ),
+      1 => 
+      array (
+        0 => 53,
+        1 => 100,
+      ),
+      2 => 
+      array (
+        0 => 53,
+        1 => 100,
+      ),
+      3 => 
+      array (
+        0 => 96,
+        1 => 75,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  24 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 98,
+        1 => 79,
+      ),
+      1 => 
+      array (
+        0 => 55,
+        1 => 104,
+      ),
+      2 => 
+      array (
+        0 => 55,
+        1 => 104,
+      ),
+      3 => 
+      array (
+        0 => 98,
+        1 => 79,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  25 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 99,
+        1 => 81,
+      ),
+      1 => 
+      array (
+        0 => 56,
+        1 => 106,
+      ),
+      2 => 
+      array (
+        0 => 56,
+        1 => 106,
+      ),
+      3 => 
+      array (
+        0 => 99,
+        1 => 81,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  26 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 100,
+        1 => 82,
+      ),
+      1 => 
+      array (
+        0 => 57,
+        1 => 107,
+      ),
+      2 => 
+      array (
+        0 => 58,
+        1 => 109,
+      ),
+      3 => 
+      array (
+        0 => 101,
+        1 => 84,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  27 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 103,
+        1 => 87,
+      ),
+      1 => 
+      array (
+        0 => 60,
+        1 => 112,
+      ),
+      2 => 
+      array (
+        0 => 61,
+        1 => 114,
+      ),
+      3 => 
+      array (
+        0 => 104,
+        1 => 89,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  28 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 105,
+        1 => 91,
+      ),
+      1 => 
+      array (
+        0 => 62,
+        1 => 116,
+      ),
+      2 => 
+      array (
+        0 => 62,
+        1 => 116,
+      ),
+      3 => 
+      array (
+        0 => 105,
+        1 => 91,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  29 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 106,
+        1 => 93,
+      ),
+      1 => 
+      array (
+        0 => 63,
+        1 => 118,
+      ),
+      2 => 
+      array (
+        0 => 64,
+        1 => 119,
+      ),
+      3 => 
+      array (
+        0 => 107,
+        1 => 94,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  30 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 108,
+        1 => 96,
+      ),
+      1 => 
+      array (
+        0 => 65,
+        1 => 121,
+      ),
+      2 => 
+      array (
+        0 => 65,
+        1 => 121,
+      ),
+      3 => 
+      array (
+        0 => 108,
+        1 => 96,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  31 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 110,
+        1 => 100,
+      ),
+      1 => 
+      array (
+        0 => 67,
+        1 => 125,
+      ),
+      2 => 
+      array (
+        0 => 68,
+        1 => 126,
+      ),
+      3 => 
+      array (
+        0 => 111,
+        1 => 101,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  32 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 113,
+        1 => 105,
+      ),
+      1 => 
+      array (
+        0 => 70,
+        1 => 130,
+      ),
+      2 => 
+      array (
+        0 => 70,
+        1 => 130,
+      ),
+      3 => 
+      array (
+        0 => 113,
+        1 => 105,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  33 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 114,
+        1 => 107,
+      ),
+      1 => 
+      array (
+        0 => 71,
+        1 => 132,
+      ),
+      2 => 
+      array (
+        0 => 72,
+        1 => 133,
+      ),
+      3 => 
+      array (
+        0 => 115,
+        1 => 108,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  34 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 116,
+        1 => 110,
+      ),
+      1 => 
+      array (
+        0 => 73,
+        1 => 135,
+      ),
+      2 => 
+      array (
+        0 => 73,
+        1 => 135,
+      ),
+      3 => 
+      array (
+        0 => 116,
+        1 => 110,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  35 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 53,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 122,
+        1 => 119,
+      ),
+      2 => 
+      array (
+        0 => 66,
+        1 => 152,
+      ),
+      3 => 
+      array (
+        0 => -2,
+        1 => 32,
+      ),
+      4 => 
+      array (
+        0 => 53,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => false,
+  ),
+  36 => 
+  array (
+    'type' => 'text',
+    'text' => '00.123 456.789 0',
+    'size' => 10,
+    'position' => 
+    array (
+      0 => 33,
+      1 => 91,
+    ),
+    'font' => NULL,
+    'color' => 0,
+    'alignment' => 'center',
+    'orientation' => -60,
+  ),
+);

+ 1034 - 0
tests/Zend/Barcode/Object/_files/Identcode_00123456789_instructions.php

@@ -0,0 +1,1034 @@
+<?php
+return
+array (
+  0 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 0,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 0,
+        1 => 61,
+      ),
+      2 => 
+      array (
+        0 => 136,
+        1 => 61,
+      ),
+      3 => 
+      array (
+        0 => 136,
+        1 => 0,
+      ),
+    ),
+    'color' => 16777215,
+    'filled' => true,
+  ),
+  1 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 10,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 10,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 10,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 10,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  2 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 12,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 12,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 12,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 12,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  3 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 14,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 14,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 14,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 14,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  4 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 16,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 16,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 16,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 16,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  5 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 18,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 18,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 20,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 20,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  6 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 24,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 24,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 26,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 26,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  7 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 30,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 30,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 30,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 30,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  8 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 32,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 32,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 34,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 34,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  9 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 36,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 36,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 36,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 36,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  10 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 40,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 40,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 40,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 40,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  11 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 42,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 42,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 42,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 42,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  12 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 44,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 44,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 46,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 46,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  13 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 50,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 50,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 52,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 52,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  14 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 54,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 54,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 56,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 56,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  15 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 58,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 58,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 58,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 58,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  16 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 62,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 62,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 62,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 62,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  17 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 64,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 64,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 64,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 64,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  18 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 68,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 68,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 70,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 70,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  19 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 72,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 72,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 72,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 72,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  20 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 76,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 76,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 78,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 78,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  21 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 82,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 82,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 82,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 82,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  22 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 84,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 84,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 84,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 84,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  23 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 86,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 86,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 86,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 86,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  24 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 90,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 90,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 90,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 90,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  25 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 92,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 92,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 92,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 92,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  26 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 94,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 94,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 96,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 96,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  27 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 100,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 100,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 102,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 102,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  28 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 104,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 104,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 104,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 104,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  29 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 106,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 106,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 108,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 108,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  30 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 110,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 110,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 110,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 110,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  31 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 114,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 114,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 116,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 116,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  32 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 120,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 120,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 120,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 120,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  33 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 122,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 122,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 124,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 124,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  34 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 126,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 126,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 126,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 126,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  35 => 
+  array (
+    'type' => 'text',
+    'text' => '00.123 456.789 0',
+    'size' => 10,
+    'position' => 
+    array (
+      0 => 68,
+      1 => 61,
+    ),
+    'font' => NULL,
+    'color' => 0,
+    'alignment' => 'center',
+    'orientation' => 0,
+  ),
+);

+ 1034 - 0
tests/Zend/Barcode/Object/_files/Identcode_00123456789_oriented_instructions.php

@@ -0,0 +1,1034 @@
+<?php
+return
+array (
+  0 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 53,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 0,
+        1 => 30,
+      ),
+      2 => 
+      array (
+        0 => 68,
+        1 => 148,
+      ),
+      3 => 
+      array (
+        0 => 121,
+        1 => 117,
+      ),
+    ),
+    'color' => 16777215,
+    'filled' => true,
+  ),
+  1 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 58,
+        1 => 8,
+      ),
+      1 => 
+      array (
+        0 => 15,
+        1 => 33,
+      ),
+      2 => 
+      array (
+        0 => 15,
+        1 => 33,
+      ),
+      3 => 
+      array (
+        0 => 58,
+        1 => 8,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  2 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 59,
+        1 => 10,
+      ),
+      1 => 
+      array (
+        0 => 16,
+        1 => 35,
+      ),
+      2 => 
+      array (
+        0 => 16,
+        1 => 35,
+      ),
+      3 => 
+      array (
+        0 => 59,
+        1 => 10,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  3 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 60,
+        1 => 12,
+      ),
+      1 => 
+      array (
+        0 => 17,
+        1 => 37,
+      ),
+      2 => 
+      array (
+        0 => 17,
+        1 => 37,
+      ),
+      3 => 
+      array (
+        0 => 60,
+        1 => 12,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  4 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 61,
+        1 => 13,
+      ),
+      1 => 
+      array (
+        0 => 18,
+        1 => 38,
+      ),
+      2 => 
+      array (
+        0 => 18,
+        1 => 38,
+      ),
+      3 => 
+      array (
+        0 => 61,
+        1 => 13,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  5 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 62,
+        1 => 15,
+      ),
+      1 => 
+      array (
+        0 => 19,
+        1 => 40,
+      ),
+      2 => 
+      array (
+        0 => 20,
+        1 => 42,
+      ),
+      3 => 
+      array (
+        0 => 63,
+        1 => 17,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  6 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 65,
+        1 => 20,
+      ),
+      1 => 
+      array (
+        0 => 22,
+        1 => 45,
+      ),
+      2 => 
+      array (
+        0 => 23,
+        1 => 47,
+      ),
+      3 => 
+      array (
+        0 => 66,
+        1 => 22,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  7 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 68,
+        1 => 25,
+      ),
+      1 => 
+      array (
+        0 => 25,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 25,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 68,
+        1 => 25,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  8 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 69,
+        1 => 27,
+      ),
+      1 => 
+      array (
+        0 => 26,
+        1 => 52,
+      ),
+      2 => 
+      array (
+        0 => 27,
+        1 => 54,
+      ),
+      3 => 
+      array (
+        0 => 70,
+        1 => 29,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  9 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 71,
+        1 => 31,
+      ),
+      1 => 
+      array (
+        0 => 28,
+        1 => 56,
+      ),
+      2 => 
+      array (
+        0 => 28,
+        1 => 56,
+      ),
+      3 => 
+      array (
+        0 => 71,
+        1 => 31,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  10 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 73,
+        1 => 34,
+      ),
+      1 => 
+      array (
+        0 => 30,
+        1 => 59,
+      ),
+      2 => 
+      array (
+        0 => 30,
+        1 => 59,
+      ),
+      3 => 
+      array (
+        0 => 73,
+        1 => 34,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  11 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 74,
+        1 => 36,
+      ),
+      1 => 
+      array (
+        0 => 31,
+        1 => 61,
+      ),
+      2 => 
+      array (
+        0 => 31,
+        1 => 61,
+      ),
+      3 => 
+      array (
+        0 => 74,
+        1 => 36,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  12 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 75,
+        1 => 38,
+      ),
+      1 => 
+      array (
+        0 => 32,
+        1 => 63,
+      ),
+      2 => 
+      array (
+        0 => 33,
+        1 => 64,
+      ),
+      3 => 
+      array (
+        0 => 76,
+        1 => 39,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  13 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 78,
+        1 => 43,
+      ),
+      1 => 
+      array (
+        0 => 35,
+        1 => 68,
+      ),
+      2 => 
+      array (
+        0 => 36,
+        1 => 70,
+      ),
+      3 => 
+      array (
+        0 => 79,
+        1 => 45,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  14 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 80,
+        1 => 46,
+      ),
+      1 => 
+      array (
+        0 => 37,
+        1 => 71,
+      ),
+      2 => 
+      array (
+        0 => 38,
+        1 => 73,
+      ),
+      3 => 
+      array (
+        0 => 81,
+        1 => 48,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  15 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 82,
+        1 => 50,
+      ),
+      1 => 
+      array (
+        0 => 39,
+        1 => 75,
+      ),
+      2 => 
+      array (
+        0 => 39,
+        1 => 75,
+      ),
+      3 => 
+      array (
+        0 => 82,
+        1 => 50,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  16 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 84,
+        1 => 53,
+      ),
+      1 => 
+      array (
+        0 => 41,
+        1 => 78,
+      ),
+      2 => 
+      array (
+        0 => 41,
+        1 => 78,
+      ),
+      3 => 
+      array (
+        0 => 84,
+        1 => 53,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  17 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 85,
+        1 => 55,
+      ),
+      1 => 
+      array (
+        0 => 42,
+        1 => 80,
+      ),
+      2 => 
+      array (
+        0 => 42,
+        1 => 80,
+      ),
+      3 => 
+      array (
+        0 => 85,
+        1 => 55,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  18 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 87,
+        1 => 58,
+      ),
+      1 => 
+      array (
+        0 => 44,
+        1 => 83,
+      ),
+      2 => 
+      array (
+        0 => 45,
+        1 => 85,
+      ),
+      3 => 
+      array (
+        0 => 88,
+        1 => 60,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  19 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 89,
+        1 => 62,
+      ),
+      1 => 
+      array (
+        0 => 46,
+        1 => 87,
+      ),
+      2 => 
+      array (
+        0 => 46,
+        1 => 87,
+      ),
+      3 => 
+      array (
+        0 => 89,
+        1 => 62,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  20 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 91,
+        1 => 65,
+      ),
+      1 => 
+      array (
+        0 => 48,
+        1 => 90,
+      ),
+      2 => 
+      array (
+        0 => 49,
+        1 => 92,
+      ),
+      3 => 
+      array (
+        0 => 92,
+        1 => 67,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  21 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 94,
+        1 => 71,
+      ),
+      1 => 
+      array (
+        0 => 51,
+        1 => 96,
+      ),
+      2 => 
+      array (
+        0 => 51,
+        1 => 96,
+      ),
+      3 => 
+      array (
+        0 => 94,
+        1 => 71,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  22 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 95,
+        1 => 72,
+      ),
+      1 => 
+      array (
+        0 => 52,
+        1 => 97,
+      ),
+      2 => 
+      array (
+        0 => 52,
+        1 => 97,
+      ),
+      3 => 
+      array (
+        0 => 95,
+        1 => 72,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  23 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 96,
+        1 => 74,
+      ),
+      1 => 
+      array (
+        0 => 53,
+        1 => 99,
+      ),
+      2 => 
+      array (
+        0 => 53,
+        1 => 99,
+      ),
+      3 => 
+      array (
+        0 => 96,
+        1 => 74,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  24 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 98,
+        1 => 77,
+      ),
+      1 => 
+      array (
+        0 => 55,
+        1 => 102,
+      ),
+      2 => 
+      array (
+        0 => 55,
+        1 => 102,
+      ),
+      3 => 
+      array (
+        0 => 98,
+        1 => 77,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  25 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 99,
+        1 => 79,
+      ),
+      1 => 
+      array (
+        0 => 56,
+        1 => 104,
+      ),
+      2 => 
+      array (
+        0 => 56,
+        1 => 104,
+      ),
+      3 => 
+      array (
+        0 => 99,
+        1 => 79,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  26 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 100,
+        1 => 81,
+      ),
+      1 => 
+      array (
+        0 => 57,
+        1 => 106,
+      ),
+      2 => 
+      array (
+        0 => 58,
+        1 => 108,
+      ),
+      3 => 
+      array (
+        0 => 101,
+        1 => 83,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  27 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 103,
+        1 => 86,
+      ),
+      1 => 
+      array (
+        0 => 60,
+        1 => 111,
+      ),
+      2 => 
+      array (
+        0 => 61,
+        1 => 113,
+      ),
+      3 => 
+      array (
+        0 => 104,
+        1 => 88,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  28 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 105,
+        1 => 90,
+      ),
+      1 => 
+      array (
+        0 => 62,
+        1 => 115,
+      ),
+      2 => 
+      array (
+        0 => 62,
+        1 => 115,
+      ),
+      3 => 
+      array (
+        0 => 105,
+        1 => 90,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  29 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 106,
+        1 => 91,
+      ),
+      1 => 
+      array (
+        0 => 63,
+        1 => 116,
+      ),
+      2 => 
+      array (
+        0 => 64,
+        1 => 118,
+      ),
+      3 => 
+      array (
+        0 => 107,
+        1 => 93,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  30 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 108,
+        1 => 95,
+      ),
+      1 => 
+      array (
+        0 => 65,
+        1 => 120,
+      ),
+      2 => 
+      array (
+        0 => 65,
+        1 => 120,
+      ),
+      3 => 
+      array (
+        0 => 108,
+        1 => 95,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  31 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 110,
+        1 => 98,
+      ),
+      1 => 
+      array (
+        0 => 67,
+        1 => 123,
+      ),
+      2 => 
+      array (
+        0 => 68,
+        1 => 125,
+      ),
+      3 => 
+      array (
+        0 => 111,
+        1 => 100,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  32 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 113,
+        1 => 103,
+      ),
+      1 => 
+      array (
+        0 => 70,
+        1 => 128,
+      ),
+      2 => 
+      array (
+        0 => 70,
+        1 => 128,
+      ),
+      3 => 
+      array (
+        0 => 113,
+        1 => 103,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  33 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 114,
+        1 => 105,
+      ),
+      1 => 
+      array (
+        0 => 71,
+        1 => 130,
+      ),
+      2 => 
+      array (
+        0 => 72,
+        1 => 132,
+      ),
+      3 => 
+      array (
+        0 => 115,
+        1 => 107,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  34 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 116,
+        1 => 109,
+      ),
+      1 => 
+      array (
+        0 => 73,
+        1 => 134,
+      ),
+      2 => 
+      array (
+        0 => 73,
+        1 => 134,
+      ),
+      3 => 
+      array (
+        0 => 116,
+        1 => 109,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  35 => 
+  array (
+    'type' => 'text',
+    'text' => '00.123 456.789 0',
+    'size' => 10,
+    'position' => 
+    array (
+      0 => 35,
+      1 => 89,
+    ),
+    'font' => NULL,
+    'color' => 0,
+    'alignment' => 'center',
+    'orientation' => -60,
+  ),
+);

+ 1213 - 0
tests/Zend/Barcode/Object/_files/Leitcode_0000123456789_border_instructions.php

@@ -0,0 +1,1213 @@
+<?php
+return
+array (
+  0 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 0,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 0,
+        1 => 65,
+      ),
+      2 => 
+      array (
+        0 => 156,
+        1 => 65,
+      ),
+      3 => 
+      array (
+        0 => 156,
+        1 => 0,
+      ),
+    ),
+    'color' => 16777215,
+    'filled' => true,
+  ),
+  1 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 11,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 11,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 11,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 11,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  2 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 13,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 13,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 13,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 13,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  3 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 15,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 15,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 15,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 15,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  4 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 17,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 17,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 17,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 17,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  5 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 19,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 19,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 21,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 21,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  6 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 25,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 25,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 27,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 27,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  7 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 31,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 31,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 31,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 31,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  8 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 33,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 33,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 33,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 33,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  9 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 35,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 35,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 35,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 35,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  10 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 37,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 37,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 39,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 39,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  11 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 43,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 43,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 45,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 45,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  12 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 49,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 49,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 49,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 49,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  13 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 51,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 51,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 53,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 53,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  14 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 55,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 55,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 55,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 55,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  15 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 59,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 59,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 59,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 59,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  16 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 61,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 61,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 61,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 61,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  17 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 63,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 63,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 65,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 65,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  18 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 69,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 69,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 71,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 71,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  19 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 73,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 73,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 75,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 75,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  20 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 77,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 77,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 77,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 77,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  21 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 81,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 81,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 81,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 81,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  22 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 83,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 83,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 83,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 83,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  23 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 87,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 87,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 89,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 89,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  24 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 91,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 91,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 91,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 91,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  25 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 95,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 95,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 97,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 97,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  26 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 101,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 101,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 101,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 101,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  27 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 103,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 103,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 103,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 103,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  28 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 105,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 105,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 105,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 105,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  29 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 109,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 109,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 109,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 109,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  30 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 111,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 111,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 111,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 111,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  31 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 113,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 113,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 115,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 115,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  32 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 119,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 119,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 121,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 121,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  33 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 123,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 123,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 123,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 123,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  34 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 125,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 125,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 127,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 127,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  35 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 129,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 129,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 129,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 129,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  36 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 133,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 133,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 135,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 135,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  37 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 139,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 139,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 139,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 139,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  38 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 141,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 141,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 143,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 143,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  39 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 145,
+        1 => 1,
+      ),
+      1 => 
+      array (
+        0 => 145,
+        1 => 51,
+      ),
+      2 => 
+      array (
+        0 => 145,
+        1 => 51,
+      ),
+      3 => 
+      array (
+        0 => 145,
+        1 => 1,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  40 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 0,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 156,
+        1 => 0,
+      ),
+      2 => 
+      array (
+        0 => 156,
+        1 => 65,
+      ),
+      3 => 
+      array (
+        0 => 0,
+        1 => 65,
+      ),
+      4 => 
+      array (
+        0 => 0,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => false,
+  ),
+  41 => 
+  array (
+    'type' => 'text',
+    'text' => '00001.234.567.89 0',
+    'size' => 10,
+    'position' => 
+    array (
+      0 => 78,
+      1 => 63,
+    ),
+    'font' => NULL,
+    'color' => 0,
+    'alignment' => 'center',
+    'orientation' => 0,
+  ),
+);

+ 1213 - 0
tests/Zend/Barcode/Object/_files/Leitcode_0000123456789_border_oriented_instructions.php

@@ -0,0 +1,1213 @@
+<?php
+return
+array (
+  0 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 53,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => -2,
+        1 => 32,
+      ),
+      2 => 
+      array (
+        0 => 75,
+        1 => 167,
+      ),
+      3 => 
+      array (
+        0 => 131,
+        1 => 135,
+      ),
+    ),
+    'color' => 16777215,
+    'filled' => true,
+  ),
+  1 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 58,
+        1 => 10,
+      ),
+      1 => 
+      array (
+        0 => 15,
+        1 => 35,
+      ),
+      2 => 
+      array (
+        0 => 15,
+        1 => 35,
+      ),
+      3 => 
+      array (
+        0 => 58,
+        1 => 10,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  2 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 59,
+        1 => 11,
+      ),
+      1 => 
+      array (
+        0 => 16,
+        1 => 36,
+      ),
+      2 => 
+      array (
+        0 => 16,
+        1 => 36,
+      ),
+      3 => 
+      array (
+        0 => 59,
+        1 => 11,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  3 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 60,
+        1 => 13,
+      ),
+      1 => 
+      array (
+        0 => 17,
+        1 => 38,
+      ),
+      2 => 
+      array (
+        0 => 17,
+        1 => 38,
+      ),
+      3 => 
+      array (
+        0 => 60,
+        1 => 13,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  4 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 61,
+        1 => 15,
+      ),
+      1 => 
+      array (
+        0 => 18,
+        1 => 40,
+      ),
+      2 => 
+      array (
+        0 => 18,
+        1 => 40,
+      ),
+      3 => 
+      array (
+        0 => 61,
+        1 => 15,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  5 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 62,
+        1 => 16,
+      ),
+      1 => 
+      array (
+        0 => 19,
+        1 => 41,
+      ),
+      2 => 
+      array (
+        0 => 20,
+        1 => 43,
+      ),
+      3 => 
+      array (
+        0 => 63,
+        1 => 18,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  6 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 65,
+        1 => 22,
+      ),
+      1 => 
+      array (
+        0 => 22,
+        1 => 47,
+      ),
+      2 => 
+      array (
+        0 => 23,
+        1 => 48,
+      ),
+      3 => 
+      array (
+        0 => 66,
+        1 => 23,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  7 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 68,
+        1 => 27,
+      ),
+      1 => 
+      array (
+        0 => 25,
+        1 => 52,
+      ),
+      2 => 
+      array (
+        0 => 25,
+        1 => 52,
+      ),
+      3 => 
+      array (
+        0 => 68,
+        1 => 27,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  8 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 69,
+        1 => 29,
+      ),
+      1 => 
+      array (
+        0 => 26,
+        1 => 54,
+      ),
+      2 => 
+      array (
+        0 => 26,
+        1 => 54,
+      ),
+      3 => 
+      array (
+        0 => 69,
+        1 => 29,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  9 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 70,
+        1 => 30,
+      ),
+      1 => 
+      array (
+        0 => 27,
+        1 => 55,
+      ),
+      2 => 
+      array (
+        0 => 27,
+        1 => 55,
+      ),
+      3 => 
+      array (
+        0 => 70,
+        1 => 30,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  10 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 71,
+        1 => 32,
+      ),
+      1 => 
+      array (
+        0 => 28,
+        1 => 57,
+      ),
+      2 => 
+      array (
+        0 => 29,
+        1 => 59,
+      ),
+      3 => 
+      array (
+        0 => 72,
+        1 => 34,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  11 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 74,
+        1 => 37,
+      ),
+      1 => 
+      array (
+        0 => 31,
+        1 => 62,
+      ),
+      2 => 
+      array (
+        0 => 32,
+        1 => 64,
+      ),
+      3 => 
+      array (
+        0 => 75,
+        1 => 39,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  12 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 77,
+        1 => 42,
+      ),
+      1 => 
+      array (
+        0 => 34,
+        1 => 67,
+      ),
+      2 => 
+      array (
+        0 => 34,
+        1 => 67,
+      ),
+      3 => 
+      array (
+        0 => 77,
+        1 => 42,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  13 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 78,
+        1 => 44,
+      ),
+      1 => 
+      array (
+        0 => 35,
+        1 => 69,
+      ),
+      2 => 
+      array (
+        0 => 36,
+        1 => 71,
+      ),
+      3 => 
+      array (
+        0 => 79,
+        1 => 46,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  14 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 80,
+        1 => 48,
+      ),
+      1 => 
+      array (
+        0 => 37,
+        1 => 73,
+      ),
+      2 => 
+      array (
+        0 => 37,
+        1 => 73,
+      ),
+      3 => 
+      array (
+        0 => 80,
+        1 => 48,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  15 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 82,
+        1 => 51,
+      ),
+      1 => 
+      array (
+        0 => 39,
+        1 => 76,
+      ),
+      2 => 
+      array (
+        0 => 39,
+        1 => 76,
+      ),
+      3 => 
+      array (
+        0 => 82,
+        1 => 51,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  16 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 83,
+        1 => 53,
+      ),
+      1 => 
+      array (
+        0 => 40,
+        1 => 78,
+      ),
+      2 => 
+      array (
+        0 => 40,
+        1 => 78,
+      ),
+      3 => 
+      array (
+        0 => 83,
+        1 => 53,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  17 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 84,
+        1 => 55,
+      ),
+      1 => 
+      array (
+        0 => 41,
+        1 => 80,
+      ),
+      2 => 
+      array (
+        0 => 42,
+        1 => 81,
+      ),
+      3 => 
+      array (
+        0 => 85,
+        1 => 56,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  18 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 87,
+        1 => 60,
+      ),
+      1 => 
+      array (
+        0 => 44,
+        1 => 85,
+      ),
+      2 => 
+      array (
+        0 => 45,
+        1 => 86,
+      ),
+      3 => 
+      array (
+        0 => 88,
+        1 => 61,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  19 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 89,
+        1 => 63,
+      ),
+      1 => 
+      array (
+        0 => 46,
+        1 => 88,
+      ),
+      2 => 
+      array (
+        0 => 47,
+        1 => 90,
+      ),
+      3 => 
+      array (
+        0 => 90,
+        1 => 65,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  20 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 91,
+        1 => 67,
+      ),
+      1 => 
+      array (
+        0 => 48,
+        1 => 92,
+      ),
+      2 => 
+      array (
+        0 => 48,
+        1 => 92,
+      ),
+      3 => 
+      array (
+        0 => 91,
+        1 => 67,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  21 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 93,
+        1 => 70,
+      ),
+      1 => 
+      array (
+        0 => 50,
+        1 => 95,
+      ),
+      2 => 
+      array (
+        0 => 50,
+        1 => 95,
+      ),
+      3 => 
+      array (
+        0 => 93,
+        1 => 70,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  22 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 94,
+        1 => 72,
+      ),
+      1 => 
+      array (
+        0 => 51,
+        1 => 97,
+      ),
+      2 => 
+      array (
+        0 => 51,
+        1 => 97,
+      ),
+      3 => 
+      array (
+        0 => 94,
+        1 => 72,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  23 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 96,
+        1 => 75,
+      ),
+      1 => 
+      array (
+        0 => 53,
+        1 => 100,
+      ),
+      2 => 
+      array (
+        0 => 54,
+        1 => 102,
+      ),
+      3 => 
+      array (
+        0 => 97,
+        1 => 77,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  24 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 98,
+        1 => 79,
+      ),
+      1 => 
+      array (
+        0 => 55,
+        1 => 104,
+      ),
+      2 => 
+      array (
+        0 => 55,
+        1 => 104,
+      ),
+      3 => 
+      array (
+        0 => 98,
+        1 => 79,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  25 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 100,
+        1 => 82,
+      ),
+      1 => 
+      array (
+        0 => 57,
+        1 => 107,
+      ),
+      2 => 
+      array (
+        0 => 58,
+        1 => 109,
+      ),
+      3 => 
+      array (
+        0 => 101,
+        1 => 84,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  26 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 103,
+        1 => 87,
+      ),
+      1 => 
+      array (
+        0 => 60,
+        1 => 112,
+      ),
+      2 => 
+      array (
+        0 => 60,
+        1 => 112,
+      ),
+      3 => 
+      array (
+        0 => 103,
+        1 => 87,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  27 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 104,
+        1 => 89,
+      ),
+      1 => 
+      array (
+        0 => 61,
+        1 => 114,
+      ),
+      2 => 
+      array (
+        0 => 61,
+        1 => 114,
+      ),
+      3 => 
+      array (
+        0 => 104,
+        1 => 89,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  28 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 105,
+        1 => 91,
+      ),
+      1 => 
+      array (
+        0 => 62,
+        1 => 116,
+      ),
+      2 => 
+      array (
+        0 => 62,
+        1 => 116,
+      ),
+      3 => 
+      array (
+        0 => 105,
+        1 => 91,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  29 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 107,
+        1 => 94,
+      ),
+      1 => 
+      array (
+        0 => 64,
+        1 => 119,
+      ),
+      2 => 
+      array (
+        0 => 64,
+        1 => 119,
+      ),
+      3 => 
+      array (
+        0 => 107,
+        1 => 94,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  30 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 108,
+        1 => 96,
+      ),
+      1 => 
+      array (
+        0 => 65,
+        1 => 121,
+      ),
+      2 => 
+      array (
+        0 => 65,
+        1 => 121,
+      ),
+      3 => 
+      array (
+        0 => 108,
+        1 => 96,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  31 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 109,
+        1 => 98,
+      ),
+      1 => 
+      array (
+        0 => 66,
+        1 => 123,
+      ),
+      2 => 
+      array (
+        0 => 67,
+        1 => 125,
+      ),
+      3 => 
+      array (
+        0 => 110,
+        1 => 100,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  32 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 112,
+        1 => 103,
+      ),
+      1 => 
+      array (
+        0 => 69,
+        1 => 128,
+      ),
+      2 => 
+      array (
+        0 => 70,
+        1 => 130,
+      ),
+      3 => 
+      array (
+        0 => 113,
+        1 => 105,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  33 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 114,
+        1 => 107,
+      ),
+      1 => 
+      array (
+        0 => 71,
+        1 => 132,
+      ),
+      2 => 
+      array (
+        0 => 71,
+        1 => 132,
+      ),
+      3 => 
+      array (
+        0 => 114,
+        1 => 107,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  34 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 115,
+        1 => 108,
+      ),
+      1 => 
+      array (
+        0 => 72,
+        1 => 133,
+      ),
+      2 => 
+      array (
+        0 => 73,
+        1 => 135,
+      ),
+      3 => 
+      array (
+        0 => 116,
+        1 => 110,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  35 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 117,
+        1 => 112,
+      ),
+      1 => 
+      array (
+        0 => 74,
+        1 => 137,
+      ),
+      2 => 
+      array (
+        0 => 74,
+        1 => 137,
+      ),
+      3 => 
+      array (
+        0 => 117,
+        1 => 112,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  36 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 119,
+        1 => 115,
+      ),
+      1 => 
+      array (
+        0 => 76,
+        1 => 140,
+      ),
+      2 => 
+      array (
+        0 => 77,
+        1 => 142,
+      ),
+      3 => 
+      array (
+        0 => 120,
+        1 => 117,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  37 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 122,
+        1 => 120,
+      ),
+      1 => 
+      array (
+        0 => 79,
+        1 => 145,
+      ),
+      2 => 
+      array (
+        0 => 79,
+        1 => 145,
+      ),
+      3 => 
+      array (
+        0 => 122,
+        1 => 120,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  38 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 123,
+        1 => 122,
+      ),
+      1 => 
+      array (
+        0 => 80,
+        1 => 147,
+      ),
+      2 => 
+      array (
+        0 => 81,
+        1 => 149,
+      ),
+      3 => 
+      array (
+        0 => 124,
+        1 => 124,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  39 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 125,
+        1 => 126,
+      ),
+      1 => 
+      array (
+        0 => 82,
+        1 => 151,
+      ),
+      2 => 
+      array (
+        0 => 82,
+        1 => 151,
+      ),
+      3 => 
+      array (
+        0 => 125,
+        1 => 126,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  40 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 53,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 131,
+        1 => 135,
+      ),
+      2 => 
+      array (
+        0 => 75,
+        1 => 167,
+      ),
+      3 => 
+      array (
+        0 => -2,
+        1 => 32,
+      ),
+      4 => 
+      array (
+        0 => 53,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => false,
+  ),
+  41 => 
+  array (
+    'type' => 'text',
+    'text' => '00001.234.567.89 0',
+    'size' => 10,
+    'position' => 
+    array (
+      0 => 38,
+      1 => 99,
+    ),
+    'font' => NULL,
+    'color' => 0,
+    'alignment' => 'center',
+    'orientation' => -60,
+  ),
+);

+ 1179 - 0
tests/Zend/Barcode/Object/_files/Leitcode_0000123456789_instructions.php

@@ -0,0 +1,1179 @@
+<?php
+return
+array (
+  0 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 0,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 0,
+        1 => 61,
+      ),
+      2 => 
+      array (
+        0 => 154,
+        1 => 61,
+      ),
+      3 => 
+      array (
+        0 => 154,
+        1 => 0,
+      ),
+    ),
+    'color' => 16777215,
+    'filled' => true,
+  ),
+  1 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 10,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 10,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 10,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 10,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  2 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 12,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 12,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 12,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 12,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  3 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 14,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 14,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 14,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 14,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  4 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 16,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 16,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 16,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 16,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  5 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 18,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 18,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 20,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 20,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  6 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 24,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 24,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 26,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 26,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  7 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 30,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 30,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 30,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 30,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  8 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 32,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 32,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 32,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 32,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  9 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 34,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 34,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 34,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 34,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  10 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 36,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 36,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 38,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 38,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  11 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 42,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 42,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 44,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 44,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  12 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 48,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 48,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 48,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 48,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  13 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 50,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 50,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 52,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 52,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  14 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 54,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 54,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 54,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 54,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  15 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 58,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 58,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 58,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 58,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  16 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 60,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 60,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 60,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 60,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  17 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 62,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 62,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 64,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 64,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  18 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 68,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 68,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 70,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 70,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  19 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 72,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 72,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 74,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 74,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  20 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 76,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 76,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 76,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 76,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  21 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 80,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 80,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 80,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 80,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  22 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 82,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 82,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 82,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 82,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  23 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 86,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 86,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 88,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 88,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  24 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 90,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 90,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 90,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 90,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  25 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 94,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 94,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 96,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 96,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  26 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 100,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 100,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 100,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 100,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  27 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 102,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 102,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 102,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 102,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  28 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 104,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 104,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 104,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 104,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  29 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 108,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 108,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 108,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 108,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  30 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 110,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 110,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 110,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 110,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  31 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 112,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 112,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 114,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 114,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  32 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 118,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 118,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 120,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 120,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  33 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 122,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 122,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 122,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 122,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  34 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 124,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 124,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 126,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 126,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  35 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 128,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 128,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 128,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 128,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  36 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 132,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 132,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 134,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 134,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  37 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 138,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 138,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 138,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 138,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  38 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 140,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 140,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 142,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 142,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  39 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 144,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 144,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 144,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 144,
+        1 => 0,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  40 => 
+  array (
+    'type' => 'text',
+    'text' => '00001.234.567.89 0',
+    'size' => 10,
+    'position' => 
+    array (
+      0 => 77,
+      1 => 61,
+    ),
+    'font' => NULL,
+    'color' => 0,
+    'alignment' => 'center',
+    'orientation' => 0,
+  ),
+);

+ 1179 - 0
tests/Zend/Barcode/Object/_files/Leitcode_0000123456789_oriented_instructions.php

@@ -0,0 +1,1179 @@
+<?php
+return
+array (
+  0 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 53,
+        1 => 0,
+      ),
+      1 => 
+      array (
+        0 => 0,
+        1 => 30,
+      ),
+      2 => 
+      array (
+        0 => 77,
+        1 => 163,
+      ),
+      3 => 
+      array (
+        0 => 130,
+        1 => 133,
+      ),
+    ),
+    'color' => 16777215,
+    'filled' => true,
+  ),
+  1 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 58,
+        1 => 8,
+      ),
+      1 => 
+      array (
+        0 => 15,
+        1 => 33,
+      ),
+      2 => 
+      array (
+        0 => 15,
+        1 => 33,
+      ),
+      3 => 
+      array (
+        0 => 58,
+        1 => 8,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  2 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 59,
+        1 => 10,
+      ),
+      1 => 
+      array (
+        0 => 16,
+        1 => 35,
+      ),
+      2 => 
+      array (
+        0 => 16,
+        1 => 35,
+      ),
+      3 => 
+      array (
+        0 => 59,
+        1 => 10,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  3 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 60,
+        1 => 12,
+      ),
+      1 => 
+      array (
+        0 => 17,
+        1 => 37,
+      ),
+      2 => 
+      array (
+        0 => 17,
+        1 => 37,
+      ),
+      3 => 
+      array (
+        0 => 60,
+        1 => 12,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  4 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 61,
+        1 => 13,
+      ),
+      1 => 
+      array (
+        0 => 18,
+        1 => 38,
+      ),
+      2 => 
+      array (
+        0 => 18,
+        1 => 38,
+      ),
+      3 => 
+      array (
+        0 => 61,
+        1 => 13,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  5 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 62,
+        1 => 15,
+      ),
+      1 => 
+      array (
+        0 => 19,
+        1 => 40,
+      ),
+      2 => 
+      array (
+        0 => 20,
+        1 => 42,
+      ),
+      3 => 
+      array (
+        0 => 63,
+        1 => 17,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  6 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 65,
+        1 => 20,
+      ),
+      1 => 
+      array (
+        0 => 22,
+        1 => 45,
+      ),
+      2 => 
+      array (
+        0 => 23,
+        1 => 47,
+      ),
+      3 => 
+      array (
+        0 => 66,
+        1 => 22,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  7 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 68,
+        1 => 25,
+      ),
+      1 => 
+      array (
+        0 => 25,
+        1 => 50,
+      ),
+      2 => 
+      array (
+        0 => 25,
+        1 => 50,
+      ),
+      3 => 
+      array (
+        0 => 68,
+        1 => 25,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  8 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 69,
+        1 => 27,
+      ),
+      1 => 
+      array (
+        0 => 26,
+        1 => 52,
+      ),
+      2 => 
+      array (
+        0 => 26,
+        1 => 52,
+      ),
+      3 => 
+      array (
+        0 => 69,
+        1 => 27,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  9 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 70,
+        1 => 29,
+      ),
+      1 => 
+      array (
+        0 => 27,
+        1 => 54,
+      ),
+      2 => 
+      array (
+        0 => 27,
+        1 => 54,
+      ),
+      3 => 
+      array (
+        0 => 70,
+        1 => 29,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  10 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 71,
+        1 => 31,
+      ),
+      1 => 
+      array (
+        0 => 28,
+        1 => 56,
+      ),
+      2 => 
+      array (
+        0 => 29,
+        1 => 57,
+      ),
+      3 => 
+      array (
+        0 => 72,
+        1 => 32,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  11 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 74,
+        1 => 36,
+      ),
+      1 => 
+      array (
+        0 => 31,
+        1 => 61,
+      ),
+      2 => 
+      array (
+        0 => 32,
+        1 => 63,
+      ),
+      3 => 
+      array (
+        0 => 75,
+        1 => 38,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  12 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 77,
+        1 => 41,
+      ),
+      1 => 
+      array (
+        0 => 34,
+        1 => 66,
+      ),
+      2 => 
+      array (
+        0 => 34,
+        1 => 66,
+      ),
+      3 => 
+      array (
+        0 => 77,
+        1 => 41,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  13 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 78,
+        1 => 43,
+      ),
+      1 => 
+      array (
+        0 => 35,
+        1 => 68,
+      ),
+      2 => 
+      array (
+        0 => 36,
+        1 => 70,
+      ),
+      3 => 
+      array (
+        0 => 79,
+        1 => 45,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  14 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 80,
+        1 => 46,
+      ),
+      1 => 
+      array (
+        0 => 37,
+        1 => 71,
+      ),
+      2 => 
+      array (
+        0 => 37,
+        1 => 71,
+      ),
+      3 => 
+      array (
+        0 => 80,
+        1 => 46,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  15 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 82,
+        1 => 50,
+      ),
+      1 => 
+      array (
+        0 => 39,
+        1 => 75,
+      ),
+      2 => 
+      array (
+        0 => 39,
+        1 => 75,
+      ),
+      3 => 
+      array (
+        0 => 82,
+        1 => 50,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  16 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 83,
+        1 => 51,
+      ),
+      1 => 
+      array (
+        0 => 40,
+        1 => 76,
+      ),
+      2 => 
+      array (
+        0 => 40,
+        1 => 76,
+      ),
+      3 => 
+      array (
+        0 => 83,
+        1 => 51,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  17 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 84,
+        1 => 53,
+      ),
+      1 => 
+      array (
+        0 => 41,
+        1 => 78,
+      ),
+      2 => 
+      array (
+        0 => 42,
+        1 => 80,
+      ),
+      3 => 
+      array (
+        0 => 85,
+        1 => 55,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  18 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 87,
+        1 => 58,
+      ),
+      1 => 
+      array (
+        0 => 44,
+        1 => 83,
+      ),
+      2 => 
+      array (
+        0 => 45,
+        1 => 85,
+      ),
+      3 => 
+      array (
+        0 => 88,
+        1 => 60,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  19 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 89,
+        1 => 62,
+      ),
+      1 => 
+      array (
+        0 => 46,
+        1 => 87,
+      ),
+      2 => 
+      array (
+        0 => 47,
+        1 => 89,
+      ),
+      3 => 
+      array (
+        0 => 90,
+        1 => 64,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  20 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 91,
+        1 => 65,
+      ),
+      1 => 
+      array (
+        0 => 48,
+        1 => 90,
+      ),
+      2 => 
+      array (
+        0 => 48,
+        1 => 90,
+      ),
+      3 => 
+      array (
+        0 => 91,
+        1 => 65,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  21 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 93,
+        1 => 69,
+      ),
+      1 => 
+      array (
+        0 => 50,
+        1 => 94,
+      ),
+      2 => 
+      array (
+        0 => 50,
+        1 => 94,
+      ),
+      3 => 
+      array (
+        0 => 93,
+        1 => 69,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  22 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 94,
+        1 => 71,
+      ),
+      1 => 
+      array (
+        0 => 51,
+        1 => 96,
+      ),
+      2 => 
+      array (
+        0 => 51,
+        1 => 96,
+      ),
+      3 => 
+      array (
+        0 => 94,
+        1 => 71,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  23 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 96,
+        1 => 74,
+      ),
+      1 => 
+      array (
+        0 => 53,
+        1 => 99,
+      ),
+      2 => 
+      array (
+        0 => 54,
+        1 => 101,
+      ),
+      3 => 
+      array (
+        0 => 97,
+        1 => 76,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  24 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 98,
+        1 => 77,
+      ),
+      1 => 
+      array (
+        0 => 55,
+        1 => 102,
+      ),
+      2 => 
+      array (
+        0 => 55,
+        1 => 102,
+      ),
+      3 => 
+      array (
+        0 => 98,
+        1 => 77,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  25 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 100,
+        1 => 81,
+      ),
+      1 => 
+      array (
+        0 => 57,
+        1 => 106,
+      ),
+      2 => 
+      array (
+        0 => 58,
+        1 => 108,
+      ),
+      3 => 
+      array (
+        0 => 101,
+        1 => 83,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  26 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 103,
+        1 => 86,
+      ),
+      1 => 
+      array (
+        0 => 60,
+        1 => 111,
+      ),
+      2 => 
+      array (
+        0 => 60,
+        1 => 111,
+      ),
+      3 => 
+      array (
+        0 => 103,
+        1 => 86,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  27 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 104,
+        1 => 88,
+      ),
+      1 => 
+      array (
+        0 => 61,
+        1 => 113,
+      ),
+      2 => 
+      array (
+        0 => 61,
+        1 => 113,
+      ),
+      3 => 
+      array (
+        0 => 104,
+        1 => 88,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  28 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 105,
+        1 => 90,
+      ),
+      1 => 
+      array (
+        0 => 62,
+        1 => 115,
+      ),
+      2 => 
+      array (
+        0 => 62,
+        1 => 115,
+      ),
+      3 => 
+      array (
+        0 => 105,
+        1 => 90,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  29 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 107,
+        1 => 93,
+      ),
+      1 => 
+      array (
+        0 => 64,
+        1 => 118,
+      ),
+      2 => 
+      array (
+        0 => 64,
+        1 => 118,
+      ),
+      3 => 
+      array (
+        0 => 107,
+        1 => 93,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  30 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 108,
+        1 => 95,
+      ),
+      1 => 
+      array (
+        0 => 65,
+        1 => 120,
+      ),
+      2 => 
+      array (
+        0 => 65,
+        1 => 120,
+      ),
+      3 => 
+      array (
+        0 => 108,
+        1 => 95,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  31 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 109,
+        1 => 96,
+      ),
+      1 => 
+      array (
+        0 => 66,
+        1 => 121,
+      ),
+      2 => 
+      array (
+        0 => 67,
+        1 => 123,
+      ),
+      3 => 
+      array (
+        0 => 110,
+        1 => 98,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  32 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 112,
+        1 => 102,
+      ),
+      1 => 
+      array (
+        0 => 69,
+        1 => 127,
+      ),
+      2 => 
+      array (
+        0 => 70,
+        1 => 128,
+      ),
+      3 => 
+      array (
+        0 => 113,
+        1 => 103,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  33 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 114,
+        1 => 105,
+      ),
+      1 => 
+      array (
+        0 => 71,
+        1 => 130,
+      ),
+      2 => 
+      array (
+        0 => 71,
+        1 => 130,
+      ),
+      3 => 
+      array (
+        0 => 114,
+        1 => 105,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  34 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 115,
+        1 => 107,
+      ),
+      1 => 
+      array (
+        0 => 72,
+        1 => 132,
+      ),
+      2 => 
+      array (
+        0 => 73,
+        1 => 134,
+      ),
+      3 => 
+      array (
+        0 => 116,
+        1 => 109,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  35 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 117,
+        1 => 110,
+      ),
+      1 => 
+      array (
+        0 => 74,
+        1 => 135,
+      ),
+      2 => 
+      array (
+        0 => 74,
+        1 => 135,
+      ),
+      3 => 
+      array (
+        0 => 117,
+        1 => 110,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  36 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 119,
+        1 => 114,
+      ),
+      1 => 
+      array (
+        0 => 76,
+        1 => 139,
+      ),
+      2 => 
+      array (
+        0 => 77,
+        1 => 141,
+      ),
+      3 => 
+      array (
+        0 => 120,
+        1 => 116,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  37 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 122,
+        1 => 119,
+      ),
+      1 => 
+      array (
+        0 => 79,
+        1 => 144,
+      ),
+      2 => 
+      array (
+        0 => 79,
+        1 => 144,
+      ),
+      3 => 
+      array (
+        0 => 122,
+        1 => 119,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  38 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 123,
+        1 => 121,
+      ),
+      1 => 
+      array (
+        0 => 80,
+        1 => 146,
+      ),
+      2 => 
+      array (
+        0 => 81,
+        1 => 147,
+      ),
+      3 => 
+      array (
+        0 => 124,
+        1 => 122,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  39 => 
+  array (
+    'type' => 'polygon',
+    'points' => 
+    array (
+      0 => 
+      array (
+        0 => 125,
+        1 => 124,
+      ),
+      1 => 
+      array (
+        0 => 82,
+        1 => 149,
+      ),
+      2 => 
+      array (
+        0 => 82,
+        1 => 149,
+      ),
+      3 => 
+      array (
+        0 => 125,
+        1 => 124,
+      ),
+    ),
+    'color' => 0,
+    'filled' => true,
+  ),
+  40 => 
+  array (
+    'type' => 'text',
+    'text' => '00001.234.567.89 0',
+    'size' => 10,
+    'position' => 
+    array (
+      0 => 39,
+      1 => 97,
+    ),
+    'font' => NULL,
+    'color' => 0,
+    'alignment' => 'center',
+    'orientation' => -60,
+  ),
+);