diff --git a/core/lib/composer/vendor/gettext/gettext/CONTRIBUTING.md b/core/lib/composer/vendor/gettext/gettext/CONTRIBUTING.md index 0c1b5433..eda824f9 100644 --- a/core/lib/composer/vendor/gettext/gettext/CONTRIBUTING.md +++ b/core/lib/composer/vendor/gettext/gettext/CONTRIBUTING.md @@ -1,17 +1,17 @@ -Contributing to Gettext -======================= - -Looking to contribute something to this library? Here's how you can help. - -## Bugs - -A bug is a demonstrable problem that is caused by the code in the repository. Good bug reports are extremely helpful – thank you! - -Please try to be as detailed as possible in your report. Include specific information about the environment – version of PHP, version of gettext, etc, and steps required to reproduce the issue. - -## Pull Requests - -Good pull requests – patches, improvements, new features – are a fantastic help. New extractors or generator are welcome. Before create a pull request, please follow these instructions: - -* The code must be PSR-2 compliant -* Write some tests +Contributing to Gettext +======================= + +Looking to contribute something to this library? Here's how you can help. + +## Bugs + +A bug is a demonstrable problem that is caused by the code in the repository. Good bug reports are extremely helpful – thank you! + +Please try to be as detailed as possible in your report. Include specific information about the environment – version of PHP, version of gettext, etc, and steps required to reproduce the issue. + +## Pull Requests + +Good pull requests – patches, improvements, new features – are a fantastic help. New extractors or generator are welcome. Before create a pull request, please follow these instructions: + +* The code must be PSR-2 compliant +* Write some tests diff --git a/core/lib/composer/vendor/phpmd/phpmd/src/bin/phpmd.bat b/core/lib/composer/vendor/phpmd/phpmd/src/bin/phpmd.bat index e52d7954..f1bbad7c 100644 --- a/core/lib/composer/vendor/phpmd/phpmd/src/bin/phpmd.bat +++ b/core/lib/composer/vendor/phpmd/phpmd/src/bin/phpmd.bat @@ -1,45 +1,45 @@ -@echo off -REM This file is part of PHP Mess Detector. -REM -REM Copyright (c) 2008-2012, Manuel Pichler . -REM All rights reserved. -REM -REM Redistribution and use in source and binary forms, with or without -REM modification, are permitted provided that the following conditions -REM are met: -REM -REM * Redistributions of source code must retain the above copyright -REM notice, this list of conditions and the following disclaimer. -REM -REM * Redistributions in binary form must reproduce the above copyright -REM notice, this list of conditions and the following disclaimer in -REM the documentation and/or other materials provided with the -REM distribution. -REM -REM * Neither the name of Manuel Pichler nor the names of his -REM contributors may be used to endorse or promote products derived -REM from this software without specific prior written permission. -REM -REM THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -REM "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -REM LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -REM FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -REM COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -REM INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -REM BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -REM LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -REM CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRIC -REM LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -REM ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -REM POSSIBILITY OF SUCH DAMAGE. -REM -REM $Id$ -REM - -if "%PHPBIN%" == "" set PHPBIN=@php_bin@ -if not exist "%PHPBIN%" if "%PHP_PEAR_PHP_BIN%" neq "" goto USE_PEAR_PATH -GOTO RUN -:USE_PEAR_PATH -set PHPBIN=%PHP_PEAR_PHP_BIN% -:RUN -"%PHPBIN%" "@bin_dir@\phpmd" %* +@echo off +REM This file is part of PHP Mess Detector. +REM +REM Copyright (c) 2008-2012, Manuel Pichler . +REM All rights reserved. +REM +REM Redistribution and use in source and binary forms, with or without +REM modification, are permitted provided that the following conditions +REM are met: +REM +REM * Redistributions of source code must retain the above copyright +REM notice, this list of conditions and the following disclaimer. +REM +REM * Redistributions in binary form must reproduce the above copyright +REM notice, this list of conditions and the following disclaimer in +REM the documentation and/or other materials provided with the +REM distribution. +REM +REM * Neither the name of Manuel Pichler nor the names of his +REM contributors may be used to endorse or promote products derived +REM from this software without specific prior written permission. +REM +REM THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +REM "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +REM LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +REM FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +REM COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +REM INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +REM BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +REM LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +REM CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRIC +REM LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +REM ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +REM POSSIBILITY OF SUCH DAMAGE. +REM +REM $Id$ +REM + +if "%PHPBIN%" == "" set PHPBIN=@php_bin@ +if not exist "%PHPBIN%" if "%PHP_PEAR_PHP_BIN%" neq "" goto USE_PEAR_PATH +GOTO RUN +:USE_PEAR_PATH +set PHPBIN=%PHP_PEAR_PHP_BIN% +:RUN +"%PHPBIN%" "@bin_dir@\phpmd" %* diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/design/console.xml b/core/lib/composer/vendor/zetacomponents/console-tools/design/console.xml index 8dee6a5d..1ea38f9f 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/design/console.xml +++ b/core/lib/composer/vendor/zetacomponents/console-tools/design/console.xml @@ -1,3117 +1,3117 @@ - - - - - Enterprise Architect - 2.5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Package - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + Enterprise Architect + 2.5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Package + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testEmptyTable.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testEmptyTable.dat index ee621ab6..bb4b12c6 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testEmptyTable.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testEmptyTable.dat @@ -1,2 +1,2 @@ -+----------------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------+ +----------------------------------------------------------------------------------+ \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testFinish.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testFinish.dat index 09f00fbc..21bbb36e 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testFinish.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testFinish.dat @@ -1,6 +1,6 @@ - 1 / 10 [+++++>------------------------------------------------------] 10.00% - 2 / 10 [+++++++++++>------------------------------------------------] 20.00% - 3 / 10 [+++++++++++++++++>------------------------------------------] 30.00% - 4 / 10 [+++++++++++++++++++++++>------------------------------------] 40.00% - 5 / 10 [+++++++++++++++++++++++++++++>------------------------------] 50.00% + 1 / 10 [+++++>------------------------------------------------------] 10.00% + 2 / 10 [+++++++++++>------------------------------------------------] 20.00% + 3 / 10 [+++++++++++++++++>------------------------------------------] 30.00% + 4 / 10 [+++++++++++++++++++++++>------------------------------------] 40.00% + 5 / 10 [+++++++++++++++++++++++++++++>------------------------------] 50.00% 10 / 10 [+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>] 100.00% \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testOneRowOneColumnTable.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testOneRowOneColumnTable.dat index 372da664..1660408c 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testOneRowOneColumnTable.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testOneRowOneColumnTable.dat @@ -1,3 +1,3 @@ -+-----+ -| foo | ++-----+ +| foo | +-----+ \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress1.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress1.dat index 79e9a606..55d8635a 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress1.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress1.dat @@ -1,4 +1,4 @@ -13 / 42 [+++++++++++++++++++>----------------------------------------] 30.95% -26 / 42 [+++++++++++++++++++++++++++++++++++++++>--------------------] 61.90% -39 / 42 [+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>] 92.86% +13 / 42 [+++++++++++++++++++>----------------------------------------] 30.95% +26 / 42 [+++++++++++++++++++++++++++++++++++++++>--------------------] 61.90% +39 / 42 [+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>] 92.86% 42 / 42 [+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>] 100.00% \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress10.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress10.dat index 6f05a0df..42076069 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress10.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress10.dat @@ -1,10 +1,10 @@ - 10 / 100 [+++++>----------------------------------------------------] 10.00% - 20 / 100 [+++++++++++>----------------------------------------------] 20.00% - 30 / 100 [+++++++++++++++++>----------------------------------------] 30.00% - 40 / 100 [+++++++++++++++++++++++>----------------------------------] 40.00% - 50 / 100 [++++++++++++++++++++++++++++>-----------------------------] 50.00% - 60 / 100 [++++++++++++++++++++++++++++++++++>-----------------------] 60.00% - 70 / 100 [++++++++++++++++++++++++++++++++++++++++>-----------------] 70.00% - 80 / 100 [++++++++++++++++++++++++++++++++++++++++++++++>-----------] 80.00% - 90 / 100 [++++++++++++++++++++++++++++++++++++++++++++++++++++>-----] 90.00% + 10 / 100 [+++++>----------------------------------------------------] 10.00% + 20 / 100 [+++++++++++>----------------------------------------------] 20.00% + 30 / 100 [+++++++++++++++++>----------------------------------------] 30.00% + 40 / 100 [+++++++++++++++++++++++>----------------------------------] 40.00% + 50 / 100 [++++++++++++++++++++++++++++>-----------------------------] 50.00% + 60 / 100 [++++++++++++++++++++++++++++++++++>-----------------------] 60.00% + 70 / 100 [++++++++++++++++++++++++++++++++++++++++>-----------------] 70.00% + 80 / 100 [++++++++++++++++++++++++++++++++++++++++++++++>-----------] 80.00% + 90 / 100 [++++++++++++++++++++++++++++++++++++++++++++++++++++>-----] 90.00% 100 / 100 [+++++++++++++++++++++++++++++++++++++++++++++++++++++++++>] 100.00% \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress11.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress11.dat index aebdb945..0ae1d97f 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress11.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress11.dat @@ -1,40 +1,40 @@ - 2.50 / 100.00 [+>--------------------------------------------------] 2.50% - 5.00 / 100.00 [++>-------------------------------------------------] 5.00% - 7.50 / 100.00 [+++>------------------------------------------------] 7.50% - 10.00 / 100.00 [+++++>----------------------------------------------] 10.00% - 12.50 / 100.00 [++++++>---------------------------------------------] 12.50% - 15.00 / 100.00 [+++++++>--------------------------------------------] 15.00% - 17.50 / 100.00 [+++++++++>------------------------------------------] 17.50% - 20.00 / 100.00 [++++++++++>-----------------------------------------] 20.00% - 22.50 / 100.00 [+++++++++++>----------------------------------------] 22.50% - 25.00 / 100.00 [++++++++++++>---------------------------------------] 25.00% - 27.50 / 100.00 [++++++++++++++>-------------------------------------] 27.50% - 30.00 / 100.00 [+++++++++++++++>------------------------------------] 30.00% - 32.50 / 100.00 [++++++++++++++++>-----------------------------------] 32.50% - 35.00 / 100.00 [++++++++++++++++++>---------------------------------] 35.00% - 37.50 / 100.00 [+++++++++++++++++++>--------------------------------] 37.50% - 40.00 / 100.00 [++++++++++++++++++++>-------------------------------] 40.00% - 42.50 / 100.00 [++++++++++++++++++++++>-----------------------------] 42.50% - 45.00 / 100.00 [+++++++++++++++++++++++>----------------------------] 45.00% - 47.50 / 100.00 [++++++++++++++++++++++++>---------------------------] 47.50% - 50.00 / 100.00 [+++++++++++++++++++++++++>--------------------------] 50.00% - 52.50 / 100.00 [+++++++++++++++++++++++++++>------------------------] 52.50% - 55.00 / 100.00 [++++++++++++++++++++++++++++>-----------------------] 55.00% - 57.50 / 100.00 [+++++++++++++++++++++++++++++>----------------------] 57.50% - 60.00 / 100.00 [+++++++++++++++++++++++++++++++>--------------------] 60.00% - 62.50 / 100.00 [++++++++++++++++++++++++++++++++>-------------------] 62.50% - 65.00 / 100.00 [+++++++++++++++++++++++++++++++++>------------------] 65.00% - 67.50 / 100.00 [+++++++++++++++++++++++++++++++++++>----------------] 67.50% - 70.00 / 100.00 [++++++++++++++++++++++++++++++++++++>---------------] 70.00% - 72.50 / 100.00 [+++++++++++++++++++++++++++++++++++++>--------------] 72.50% - 75.00 / 100.00 [++++++++++++++++++++++++++++++++++++++>-------------] 75.00% - 77.50 / 100.00 [++++++++++++++++++++++++++++++++++++++++>-----------] 77.50% - 80.00 / 100.00 [+++++++++++++++++++++++++++++++++++++++++>----------] 80.00% - 82.50 / 100.00 [++++++++++++++++++++++++++++++++++++++++++>---------] 82.50% - 85.00 / 100.00 [++++++++++++++++++++++++++++++++++++++++++++>-------] 85.00% - 87.50 / 100.00 [+++++++++++++++++++++++++++++++++++++++++++++>------] 87.50% - 90.00 / 100.00 [++++++++++++++++++++++++++++++++++++++++++++++>-----] 90.00% - 92.50 / 100.00 [++++++++++++++++++++++++++++++++++++++++++++++++>---] 92.50% - 95.00 / 100.00 [+++++++++++++++++++++++++++++++++++++++++++++++++>--] 95.00% - 97.50 / 100.00 [++++++++++++++++++++++++++++++++++++++++++++++++++>-] 97.50% + 2.50 / 100.00 [+>--------------------------------------------------] 2.50% + 5.00 / 100.00 [++>-------------------------------------------------] 5.00% + 7.50 / 100.00 [+++>------------------------------------------------] 7.50% + 10.00 / 100.00 [+++++>----------------------------------------------] 10.00% + 12.50 / 100.00 [++++++>---------------------------------------------] 12.50% + 15.00 / 100.00 [+++++++>--------------------------------------------] 15.00% + 17.50 / 100.00 [+++++++++>------------------------------------------] 17.50% + 20.00 / 100.00 [++++++++++>-----------------------------------------] 20.00% + 22.50 / 100.00 [+++++++++++>----------------------------------------] 22.50% + 25.00 / 100.00 [++++++++++++>---------------------------------------] 25.00% + 27.50 / 100.00 [++++++++++++++>-------------------------------------] 27.50% + 30.00 / 100.00 [+++++++++++++++>------------------------------------] 30.00% + 32.50 / 100.00 [++++++++++++++++>-----------------------------------] 32.50% + 35.00 / 100.00 [++++++++++++++++++>---------------------------------] 35.00% + 37.50 / 100.00 [+++++++++++++++++++>--------------------------------] 37.50% + 40.00 / 100.00 [++++++++++++++++++++>-------------------------------] 40.00% + 42.50 / 100.00 [++++++++++++++++++++++>-----------------------------] 42.50% + 45.00 / 100.00 [+++++++++++++++++++++++>----------------------------] 45.00% + 47.50 / 100.00 [++++++++++++++++++++++++>---------------------------] 47.50% + 50.00 / 100.00 [+++++++++++++++++++++++++>--------------------------] 50.00% + 52.50 / 100.00 [+++++++++++++++++++++++++++>------------------------] 52.50% + 55.00 / 100.00 [++++++++++++++++++++++++++++>-----------------------] 55.00% + 57.50 / 100.00 [+++++++++++++++++++++++++++++>----------------------] 57.50% + 60.00 / 100.00 [+++++++++++++++++++++++++++++++>--------------------] 60.00% + 62.50 / 100.00 [++++++++++++++++++++++++++++++++>-------------------] 62.50% + 65.00 / 100.00 [+++++++++++++++++++++++++++++++++>------------------] 65.00% + 67.50 / 100.00 [+++++++++++++++++++++++++++++++++++>----------------] 67.50% + 70.00 / 100.00 [++++++++++++++++++++++++++++++++++++>---------------] 70.00% + 72.50 / 100.00 [+++++++++++++++++++++++++++++++++++++>--------------] 72.50% + 75.00 / 100.00 [++++++++++++++++++++++++++++++++++++++>-------------] 75.00% + 77.50 / 100.00 [++++++++++++++++++++++++++++++++++++++++>-----------] 77.50% + 80.00 / 100.00 [+++++++++++++++++++++++++++++++++++++++++>----------] 80.00% + 82.50 / 100.00 [++++++++++++++++++++++++++++++++++++++++++>---------] 82.50% + 85.00 / 100.00 [++++++++++++++++++++++++++++++++++++++++++++>-------] 85.00% + 87.50 / 100.00 [+++++++++++++++++++++++++++++++++++++++++++++>------] 87.50% + 90.00 / 100.00 [++++++++++++++++++++++++++++++++++++++++++++++>-----] 90.00% + 92.50 / 100.00 [++++++++++++++++++++++++++++++++++++++++++++++++>---] 92.50% + 95.00 / 100.00 [+++++++++++++++++++++++++++++++++++++++++++++++++>--] 95.00% + 97.50 / 100.00 [++++++++++++++++++++++++++++++++++++++++++++++++++>-] 97.50% 100.00 / 100.00 [+++++++++++++++++++++++++++++++++++++++++++++++++++>] 100.00% \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress12.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress12.dat index 2a4334a9..b3ed5fd1 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress12.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress12.dat @@ -1,40 +1,40 @@ - 2.50 / 100.00000000 [+>--------------------------------------------] 2.50% - 5.00 / 100.00000000 [++>-------------------------------------------] 5.00% - 7.50 / 100.00000000 [+++>------------------------------------------] 7.50% - 10.00 / 100.00000000 [++++>-----------------------------------------] 10.00% - 12.50 / 100.00000000 [+++++>----------------------------------------] 12.50% - 15.00 / 100.00000000 [++++++>---------------------------------------] 15.00% - 17.50 / 100.00000000 [++++++++>-------------------------------------] 17.50% - 20.00 / 100.00000000 [+++++++++>------------------------------------] 20.00% - 22.50 / 100.00000000 [++++++++++>-----------------------------------] 22.50% - 25.00 / 100.00000000 [+++++++++++>----------------------------------] 25.00% - 27.50 / 100.00000000 [++++++++++++>---------------------------------] 27.50% - 30.00 / 100.00000000 [+++++++++++++>--------------------------------] 30.00% - 32.50 / 100.00000000 [++++++++++++++>-------------------------------] 32.50% - 35.00 / 100.00000000 [++++++++++++++++>-----------------------------] 35.00% - 37.50 / 100.00000000 [+++++++++++++++++>----------------------------] 37.50% - 40.00 / 100.00000000 [++++++++++++++++++>---------------------------] 40.00% - 42.50 / 100.00000000 [+++++++++++++++++++>--------------------------] 42.50% - 45.00 / 100.00000000 [++++++++++++++++++++>-------------------------] 45.00% - 47.50 / 100.00000000 [+++++++++++++++++++++>------------------------] 47.50% - 50.00 / 100.00000000 [++++++++++++++++++++++>-----------------------] 50.00% - 52.50 / 100.00000000 [++++++++++++++++++++++++>---------------------] 52.50% - 55.00 / 100.00000000 [+++++++++++++++++++++++++>--------------------] 55.00% - 57.50 / 100.00000000 [++++++++++++++++++++++++++>-------------------] 57.50% - 60.00 / 100.00000000 [+++++++++++++++++++++++++++>------------------] 60.00% - 62.50 / 100.00000000 [++++++++++++++++++++++++++++>-----------------] 62.50% - 65.00 / 100.00000000 [+++++++++++++++++++++++++++++>----------------] 65.00% - 67.50 / 100.00000000 [+++++++++++++++++++++++++++++++>--------------] 67.50% - 70.00 / 100.00000000 [++++++++++++++++++++++++++++++++>-------------] 70.00% - 72.50 / 100.00000000 [+++++++++++++++++++++++++++++++++>------------] 72.50% - 75.00 / 100.00000000 [++++++++++++++++++++++++++++++++++>-----------] 75.00% - 77.50 / 100.00000000 [+++++++++++++++++++++++++++++++++++>----------] 77.50% - 80.00 / 100.00000000 [++++++++++++++++++++++++++++++++++++>---------] 80.00% - 82.50 / 100.00000000 [+++++++++++++++++++++++++++++++++++++>--------] 82.50% - 85.00 / 100.00000000 [+++++++++++++++++++++++++++++++++++++++>------] 85.00% - 87.50 / 100.00000000 [++++++++++++++++++++++++++++++++++++++++>-----] 87.50% - 90.00 / 100.00000000 [+++++++++++++++++++++++++++++++++++++++++>----] 90.00% - 92.50 / 100.00000000 [++++++++++++++++++++++++++++++++++++++++++>---] 92.50% - 95.00 / 100.00000000 [+++++++++++++++++++++++++++++++++++++++++++>--] 95.00% - 97.50 / 100.00000000 [++++++++++++++++++++++++++++++++++++++++++++>-] 97.50% + 2.50 / 100.00000000 [+>--------------------------------------------] 2.50% + 5.00 / 100.00000000 [++>-------------------------------------------] 5.00% + 7.50 / 100.00000000 [+++>------------------------------------------] 7.50% + 10.00 / 100.00000000 [++++>-----------------------------------------] 10.00% + 12.50 / 100.00000000 [+++++>----------------------------------------] 12.50% + 15.00 / 100.00000000 [++++++>---------------------------------------] 15.00% + 17.50 / 100.00000000 [++++++++>-------------------------------------] 17.50% + 20.00 / 100.00000000 [+++++++++>------------------------------------] 20.00% + 22.50 / 100.00000000 [++++++++++>-----------------------------------] 22.50% + 25.00 / 100.00000000 [+++++++++++>----------------------------------] 25.00% + 27.50 / 100.00000000 [++++++++++++>---------------------------------] 27.50% + 30.00 / 100.00000000 [+++++++++++++>--------------------------------] 30.00% + 32.50 / 100.00000000 [++++++++++++++>-------------------------------] 32.50% + 35.00 / 100.00000000 [++++++++++++++++>-----------------------------] 35.00% + 37.50 / 100.00000000 [+++++++++++++++++>----------------------------] 37.50% + 40.00 / 100.00000000 [++++++++++++++++++>---------------------------] 40.00% + 42.50 / 100.00000000 [+++++++++++++++++++>--------------------------] 42.50% + 45.00 / 100.00000000 [++++++++++++++++++++>-------------------------] 45.00% + 47.50 / 100.00000000 [+++++++++++++++++++++>------------------------] 47.50% + 50.00 / 100.00000000 [++++++++++++++++++++++>-----------------------] 50.00% + 52.50 / 100.00000000 [++++++++++++++++++++++++>---------------------] 52.50% + 55.00 / 100.00000000 [+++++++++++++++++++++++++>--------------------] 55.00% + 57.50 / 100.00000000 [++++++++++++++++++++++++++>-------------------] 57.50% + 60.00 / 100.00000000 [+++++++++++++++++++++++++++>------------------] 60.00% + 62.50 / 100.00000000 [++++++++++++++++++++++++++++>-----------------] 62.50% + 65.00 / 100.00000000 [+++++++++++++++++++++++++++++>----------------] 65.00% + 67.50 / 100.00000000 [+++++++++++++++++++++++++++++++>--------------] 67.50% + 70.00 / 100.00000000 [++++++++++++++++++++++++++++++++>-------------] 70.00% + 72.50 / 100.00000000 [+++++++++++++++++++++++++++++++++>------------] 72.50% + 75.00 / 100.00000000 [++++++++++++++++++++++++++++++++++>-----------] 75.00% + 77.50 / 100.00000000 [+++++++++++++++++++++++++++++++++++>----------] 77.50% + 80.00 / 100.00000000 [++++++++++++++++++++++++++++++++++++>---------] 80.00% + 82.50 / 100.00000000 [+++++++++++++++++++++++++++++++++++++>--------] 82.50% + 85.00 / 100.00000000 [+++++++++++++++++++++++++++++++++++++++>------] 85.00% + 87.50 / 100.00000000 [++++++++++++++++++++++++++++++++++++++++>-----] 87.50% + 90.00 / 100.00000000 [+++++++++++++++++++++++++++++++++++++++++>----] 90.00% + 92.50 / 100.00000000 [++++++++++++++++++++++++++++++++++++++++++>---] 92.50% + 95.00 / 100.00000000 [+++++++++++++++++++++++++++++++++++++++++++>--] 95.00% + 97.50 / 100.00000000 [++++++++++++++++++++++++++++++++++++++++++++>-] 97.50% 100.00 / 100.00000000 [+++++++++++++++++++++++++++++++++++++++++++++>] 100.00% \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress13.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress13.dat index 36b21ca9..88335cfc 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress13.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress13.dat @@ -1,40 +1,40 @@ - 2.50000000 / 100.00 [+>--------------------------------------------] 2.50% - 5.00000000 / 100.00 [++>-------------------------------------------] 5.00% - 7.50000000 / 100.00 [+++>------------------------------------------] 7.50% - 10.00000000 / 100.00 [++++>-----------------------------------------] 10.00% - 12.50000000 / 100.00 [+++++>----------------------------------------] 12.50% - 15.00000000 / 100.00 [++++++>---------------------------------------] 15.00% - 17.50000000 / 100.00 [++++++++>-------------------------------------] 17.50% - 20.00000000 / 100.00 [+++++++++>------------------------------------] 20.00% - 22.50000000 / 100.00 [++++++++++>-----------------------------------] 22.50% - 25.00000000 / 100.00 [+++++++++++>----------------------------------] 25.00% - 27.50000000 / 100.00 [++++++++++++>---------------------------------] 27.50% - 30.00000000 / 100.00 [+++++++++++++>--------------------------------] 30.00% - 32.50000000 / 100.00 [++++++++++++++>-------------------------------] 32.50% - 35.00000000 / 100.00 [++++++++++++++++>-----------------------------] 35.00% - 37.50000000 / 100.00 [+++++++++++++++++>----------------------------] 37.50% - 40.00000000 / 100.00 [++++++++++++++++++>---------------------------] 40.00% - 42.50000000 / 100.00 [+++++++++++++++++++>--------------------------] 42.50% - 45.00000000 / 100.00 [++++++++++++++++++++>-------------------------] 45.00% - 47.50000000 / 100.00 [+++++++++++++++++++++>------------------------] 47.50% - 50.00000000 / 100.00 [++++++++++++++++++++++>-----------------------] 50.00% - 52.50000000 / 100.00 [++++++++++++++++++++++++>---------------------] 52.50% - 55.00000000 / 100.00 [+++++++++++++++++++++++++>--------------------] 55.00% - 57.50000000 / 100.00 [++++++++++++++++++++++++++>-------------------] 57.50% - 60.00000000 / 100.00 [+++++++++++++++++++++++++++>------------------] 60.00% - 62.50000000 / 100.00 [++++++++++++++++++++++++++++>-----------------] 62.50% - 65.00000000 / 100.00 [+++++++++++++++++++++++++++++>----------------] 65.00% - 67.50000000 / 100.00 [+++++++++++++++++++++++++++++++>--------------] 67.50% - 70.00000000 / 100.00 [++++++++++++++++++++++++++++++++>-------------] 70.00% - 72.50000000 / 100.00 [+++++++++++++++++++++++++++++++++>------------] 72.50% - 75.00000000 / 100.00 [++++++++++++++++++++++++++++++++++>-----------] 75.00% - 77.50000000 / 100.00 [+++++++++++++++++++++++++++++++++++>----------] 77.50% - 80.00000000 / 100.00 [++++++++++++++++++++++++++++++++++++>---------] 80.00% - 82.50000000 / 100.00 [+++++++++++++++++++++++++++++++++++++>--------] 82.50% - 85.00000000 / 100.00 [+++++++++++++++++++++++++++++++++++++++>------] 85.00% - 87.50000000 / 100.00 [++++++++++++++++++++++++++++++++++++++++>-----] 87.50% - 90.00000000 / 100.00 [+++++++++++++++++++++++++++++++++++++++++>----] 90.00% - 92.50000000 / 100.00 [++++++++++++++++++++++++++++++++++++++++++>---] 92.50% - 95.00000000 / 100.00 [+++++++++++++++++++++++++++++++++++++++++++>--] 95.00% - 97.50000000 / 100.00 [++++++++++++++++++++++++++++++++++++++++++++>-] 97.50% + 2.50000000 / 100.00 [+>--------------------------------------------] 2.50% + 5.00000000 / 100.00 [++>-------------------------------------------] 5.00% + 7.50000000 / 100.00 [+++>------------------------------------------] 7.50% + 10.00000000 / 100.00 [++++>-----------------------------------------] 10.00% + 12.50000000 / 100.00 [+++++>----------------------------------------] 12.50% + 15.00000000 / 100.00 [++++++>---------------------------------------] 15.00% + 17.50000000 / 100.00 [++++++++>-------------------------------------] 17.50% + 20.00000000 / 100.00 [+++++++++>------------------------------------] 20.00% + 22.50000000 / 100.00 [++++++++++>-----------------------------------] 22.50% + 25.00000000 / 100.00 [+++++++++++>----------------------------------] 25.00% + 27.50000000 / 100.00 [++++++++++++>---------------------------------] 27.50% + 30.00000000 / 100.00 [+++++++++++++>--------------------------------] 30.00% + 32.50000000 / 100.00 [++++++++++++++>-------------------------------] 32.50% + 35.00000000 / 100.00 [++++++++++++++++>-----------------------------] 35.00% + 37.50000000 / 100.00 [+++++++++++++++++>----------------------------] 37.50% + 40.00000000 / 100.00 [++++++++++++++++++>---------------------------] 40.00% + 42.50000000 / 100.00 [+++++++++++++++++++>--------------------------] 42.50% + 45.00000000 / 100.00 [++++++++++++++++++++>-------------------------] 45.00% + 47.50000000 / 100.00 [+++++++++++++++++++++>------------------------] 47.50% + 50.00000000 / 100.00 [++++++++++++++++++++++>-----------------------] 50.00% + 52.50000000 / 100.00 [++++++++++++++++++++++++>---------------------] 52.50% + 55.00000000 / 100.00 [+++++++++++++++++++++++++>--------------------] 55.00% + 57.50000000 / 100.00 [++++++++++++++++++++++++++>-------------------] 57.50% + 60.00000000 / 100.00 [+++++++++++++++++++++++++++>------------------] 60.00% + 62.50000000 / 100.00 [++++++++++++++++++++++++++++>-----------------] 62.50% + 65.00000000 / 100.00 [+++++++++++++++++++++++++++++>----------------] 65.00% + 67.50000000 / 100.00 [+++++++++++++++++++++++++++++++>--------------] 67.50% + 70.00000000 / 100.00 [++++++++++++++++++++++++++++++++>-------------] 70.00% + 72.50000000 / 100.00 [+++++++++++++++++++++++++++++++++>------------] 72.50% + 75.00000000 / 100.00 [++++++++++++++++++++++++++++++++++>-----------] 75.00% + 77.50000000 / 100.00 [+++++++++++++++++++++++++++++++++++>----------] 77.50% + 80.00000000 / 100.00 [++++++++++++++++++++++++++++++++++++>---------] 80.00% + 82.50000000 / 100.00 [+++++++++++++++++++++++++++++++++++++>--------] 82.50% + 85.00000000 / 100.00 [+++++++++++++++++++++++++++++++++++++++>------] 85.00% + 87.50000000 / 100.00 [++++++++++++++++++++++++++++++++++++++++>-----] 87.50% + 90.00000000 / 100.00 [+++++++++++++++++++++++++++++++++++++++++>----] 90.00% + 92.50000000 / 100.00 [++++++++++++++++++++++++++++++++++++++++++>---] 92.50% + 95.00000000 / 100.00 [+++++++++++++++++++++++++++++++++++++++++++>--] 95.00% + 97.50000000 / 100.00 [++++++++++++++++++++++++++++++++++++++++++++>-] 97.50% 100.00000000 / 100.00 [+++++++++++++++++++++++++++++++++++++++++++++>] 100.00% \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress3.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress3.dat index e2e27a0c..4de8b7d5 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress3.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress3.dat @@ -1,4 +1,4 @@ -13 / 42 [###################>****************************************] 30.95% -26 / 42 [#######################################>********************] 61.90% -39 / 42 [###########################################################>] 92.86% +13 / 42 [###################>****************************************] 30.95% +26 / 42 [#######################################>********************] 61.90% +39 / 42 [###########################################################>] 92.86% 42 / 42 [###########################################################>] 100.00% \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress4.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress4.dat index 2bff9c7c..b11b1d5e 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress4.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress4.dat @@ -1,3 +1,3 @@ -19 / 55 [+++++++++++++++++++&----------------------------------------] 34.55% -38 / 55 [+++++++++++++++++++++++++++++++++++++++&--------------------] 69.09% +19 / 55 [+++++++++++++++++++&----------------------------------------] 34.55% +38 / 55 [+++++++++++++++++++++++++++++++++++++++&--------------------] 69.09% 55 / 55 [+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&] 100.00% \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress5.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress5.dat index 47343534..6dba7df6 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress5.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress5.dat @@ -1,4 +1,4 @@ -13 / 42 [++++++++++++&------------------------] 30.95% -26 / 42 [++++++++++++++++++++++++&------------] 61.90% -39 / 42 [++++++++++++++++++++++++++++++++++++&] 92.86% +13 / 42 [++++++++++++&------------------------] 30.95% +26 / 42 [++++++++++++++++++++++++&------------] 61.90% +39 / 42 [++++++++++++++++++++++++++++++++++++&] 92.86% 42 / 42 [++++++++++++++++++++++++++++++++++++&] 100.00% \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress6.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress6.dat index 7232050a..a10f470f 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress6.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress6.dat @@ -1,8 +1,8 @@ - 3 / 22 [########&******************************************************] 13.64% - 6 / 22 [#################&*********************************************] 27.27% - 9 / 22 [##########################&************************************] 40.91% -12 / 22 [###################################&***************************] 54.55% -15 / 22 [############################################&******************] 68.18% -18 / 22 [#####################################################&*********] 81.82% -21 / 22 [##############################################################&] 95.45% + 3 / 22 [########&******************************************************] 13.64% + 6 / 22 [#################&*********************************************] 27.27% + 9 / 22 [##########################&************************************] 40.91% +12 / 22 [###################################&***************************] 54.55% +15 / 22 [############################################&******************] 68.18% +18 / 22 [#####################################################&*********] 81.82% +21 / 22 [##############################################################&] 95.45% 22 / 22 [##############################################################&] 100.00% \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress7.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress7.dat index c6cbe5f8..494cbfc0 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress7.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress7.dat @@ -1,6 +1,6 @@ - 7 / 42 [123412341>98769876987698769876987698769876987698769876987698] 16.67% -14 / 42 [1234123412341234123>9876987698769876987698769876987698769876] 33.33% -21 / 42 [12341234123412341234123412341>987698769876987698769876987698] 50.00% -28 / 42 [123412341234123412341234123412341234123>98769876987698769876] 66.67% -35 / 42 [1234123412341234123412341234123412341234123412341>9876987698] 83.33% + 7 / 42 [123412341>98769876987698769876987698769876987698769876987698] 16.67% +14 / 42 [1234123412341234123>9876987698769876987698769876987698769876] 33.33% +21 / 42 [12341234123412341234123412341>987698769876987698769876987698] 50.00% +28 / 42 [123412341234123412341234123412341234123>98769876987698769876] 66.67% +35 / 42 [1234123412341234123412341234123412341234123412341>9876987698] 83.33% 42 / 42 [12341234123412341234123412341234123412341234123412341234123>] 100.00% \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress8.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress8.dat index 6e2b951a..089a3631 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress8.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress8.dat @@ -1,6 +1,6 @@ - 7 / 42 [1231231---98798798798798798798798798798798798798798798798798] 16.67% -14 / 42 [12312312312312312---9879879879879879879879879879879879879879] 33.33% -21 / 42 [123123123123123123123123123---987987987987987987987987987987] 50.00% -28 / 42 [1231231231231231231231231231231231231---98798798798798798798] 66.67% -35 / 42 [12312312312312312312312312312312312312312312312---9879879879] 83.33% + 7 / 42 [1231231---98798798798798798798798798798798798798798798798798] 16.67% +14 / 42 [12312312312312312---9879879879879879879879879879879879879879] 33.33% +21 / 42 [123123123123123123123123123---987987987987987987987987987987] 50.00% +28 / 42 [1231231231231231231231231231231231231---98798798798798798798] 66.67% +35 / 42 [12312312312312312312312312312312312312312312312---9879879879] 83.33% 42 / 42 [123123123123123123123123123123123123123123123123123123123---] 100.00% \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress9.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress9.dat index 42c1813a..3a22d891 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress9.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgress9.dat @@ -1,9 +1,9 @@ -Actual progress: <123123---98798798798798798798798798798798798798798798798798798798798798798> 13 -Actual progress: <12312312312312---987987987987987987987987987987987987987987987987987987987> 26 -Actual progress: <1231231231231231231231---9879879879879879879879879879879879879879879879879> 42 -Actual progress: <123123123123123123123123123123---98798798798798798798798798798798798798798> 55 -Actual progress: <123123123123123123123123123123123123123---98798798798798798798798798798798> 71 -Actual progress: <12312312312312312312312312312312312312312312312---987987987987987987987987> 104 -Actual progress: <1231231231231231231231231231231231231231231231231231231---9879879879879879> 120 -Actual progress: <123123123123123123123123123123123123123123123123123123123123123---98798798> 133 +Actual progress: <123123---98798798798798798798798798798798798798798798798798798798798798798> 13 +Actual progress: <12312312312312---987987987987987987987987987987987987987987987987987987987> 26 +Actual progress: <1231231231231231231231---9879879879879879879879879879879879879879879879879> 42 +Actual progress: <123123123123123123123123123123---98798798798798798798798798798798798798798> 55 +Actual progress: <123123123123123123123123123123123123123---98798798798798798798798798798798> 71 +Actual progress: <12312312312312312312312312312312312312312312312---987987987987987987987987> 104 +Actual progress: <1231231231231231231231231231231231231231231231231231231---9879879879879879> 120 +Actual progress: <123123123123123123123123123123123123123123123123123123123123123---98798798> 133 Actual progress: <12312312312312312312312312312312312312312312312312312312312312312312312---> 144 \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgressMonitor1.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgressMonitor1.dat index 535515d3..a5b5548c 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgressMonitor1.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgressMonitor1.dat @@ -1,10 +1,10 @@ - 10.0% UPLOAD /var/upload/test.php - 20.0% UPLOAD /var/upload/testing.php - 30.0% UPLOAD /var/upload/foo.php - 40.0% UPLOAD /var/upload/bar.php - 50.0% UPLOAD /var/upload/baz.png - 60.0% UPLOAD /var/upload/image.jpg - 70.0% UPLOAD /var/upload/bar.gif - 80.0% UPLOAD /var/upload/ez-logo.jpg - 90.0% UPLOAD /var/upload/ez-logo.png - 100.0% UPLOAD /var/upload/ez-components.png + 10.0% UPLOAD /var/upload/test.php + 20.0% UPLOAD /var/upload/testing.php + 30.0% UPLOAD /var/upload/foo.php + 40.0% UPLOAD /var/upload/bar.php + 50.0% UPLOAD /var/upload/baz.png + 60.0% UPLOAD /var/upload/image.jpg + 70.0% UPLOAD /var/upload/bar.gif + 80.0% UPLOAD /var/upload/ez-logo.jpg + 90.0% UPLOAD /var/upload/ez-logo.png + 100.0% UPLOAD /var/upload/ez-components.png diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgressMonitor2.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgressMonitor2.dat index 5c1b5c57..9aad14e5 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgressMonitor2.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgressMonitor2.dat @@ -1,7 +1,7 @@ - 14.3% UPLOAD /var/upload/test.php - 28.6% UPLOAD /var/upload/testing.php - 42.9% UPLOAD /var/upload/foo.php - 57.1% UPLOAD /var/upload/bar.php - 71.4% UPLOAD /var/upload/baz.png - 85.7% UPLOAD /var/upload/image.jpg - 100.0% UPLOAD /var/upload/bar.gif + 14.3% UPLOAD /var/upload/test.php + 28.6% UPLOAD /var/upload/testing.php + 42.9% UPLOAD /var/upload/foo.php + 57.1% UPLOAD /var/upload/bar.php + 71.4% UPLOAD /var/upload/baz.png + 85.7% UPLOAD /var/upload/image.jpg + 100.0% UPLOAD /var/upload/bar.gif diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgressMonitor3.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgressMonitor3.dat index 0d97bfd9..30436283 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgressMonitor3.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgressMonitor3.dat @@ -1,7 +1,7 @@ - UPLOAD 14.29% /var/upload/test.php - UPLOAD 28.57% /var/upload/testing.php - UPLOAD 42.86% /var/upload/foo.php - UPLOAD 57.14% /var/upload/bar.php - UPLOAD 71.43% /var/upload/baz.png - UPLOAD 85.71% /var/upload/image.jpg - UPLOAD 100.00% /var/upload/bar.gif + UPLOAD 14.29% /var/upload/test.php + UPLOAD 28.57% /var/upload/testing.php + UPLOAD 42.86% /var/upload/foo.php + UPLOAD 57.14% /var/upload/bar.php + UPLOAD 71.43% /var/upload/baz.png + UPLOAD 85.71% /var/upload/image.jpg + UPLOAD 100.00% /var/upload/bar.gif diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgressMonitor4.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgressMonitor4.dat index 0d97bfd9..30436283 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgressMonitor4.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgressMonitor4.dat @@ -1,7 +1,7 @@ - UPLOAD 14.29% /var/upload/test.php - UPLOAD 28.57% /var/upload/testing.php - UPLOAD 42.86% /var/upload/foo.php - UPLOAD 57.14% /var/upload/bar.php - UPLOAD 71.43% /var/upload/baz.png - UPLOAD 85.71% /var/upload/image.jpg - UPLOAD 100.00% /var/upload/bar.gif + UPLOAD 14.29% /var/upload/test.php + UPLOAD 28.57% /var/upload/testing.php + UPLOAD 42.86% /var/upload/foo.php + UPLOAD 57.14% /var/upload/bar.php + UPLOAD 71.43% /var/upload/baz.png + UPLOAD 85.71% /var/upload/image.jpg + UPLOAD 100.00% /var/upload/bar.gif diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgressUtfInBar.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgressUtfInBar.dat index 951df9a2..7af48eeb 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgressUtfInBar.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgressUtfInBar.dat @@ -1,5 +1,5 @@ - 2 / 10 [ööööööööööö>------------------------------------------------] 20.00% - 4 / 10 [ööööööööööööööööööööööö>------------------------------------] 40.00% - 6 / 10 [ööööööööööööööööööööööööööööööööööö>------------------------] 60.00% - 8 / 10 [ööööööööööööööööööööööööööööööööööööööööööööööö>------------] 80.00% + 2 / 10 [ööööööööööö>------------------------------------------------] 20.00% + 4 / 10 [ööööööööööööööööööööööö>------------------------------------] 40.00% + 6 / 10 [ööööööööööööööööööööööööööööööööööö>------------------------] 60.00% + 8 / 10 [ööööööööööööööööööööööööööööööööööööööööööööööö>------------] 80.00% 10 / 10 [ööööööööööööööööööööööööööööööööööööööööööööööööööööööööööö>] 100.00% \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgressUtfInBoth.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgressUtfInBoth.dat index 6c5530e2..a7484c59 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgressUtfInBoth.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgressUtfInBoth.dat @@ -1,5 +1,5 @@ - 2ö/ä10ü[ööööööööööö>------------------------------------------------]ß 20.00% - 4ö/ä10ü[ööööööööööööööööööööööö>------------------------------------]ß 40.00% - 6ö/ä10ü[ööööööööööööööööööööööööööööööööööö>------------------------]ß 60.00% - 8ö/ä10ü[ööööööööööööööööööööööööööööööööööööööööööööööö>------------]ß 80.00% + 2ö/ä10ü[ööööööööööö>------------------------------------------------]ß 20.00% + 4ö/ä10ü[ööööööööööööööööööööööö>------------------------------------]ß 40.00% + 6ö/ä10ü[ööööööööööööööööööööööööööööööööööö>------------------------]ß 60.00% + 8ö/ä10ü[ööööööööööööööööööööööööööööööööööööööööööööööö>------------]ß 80.00% 10ö/ä10ü[ööööööööööööööööööööööööööööööööööööööööööööööööööööööööööö>]ß100.00% \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgressUtfInText.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgressUtfInText.dat index 34248d36..81173524 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgressUtfInText.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testProgressUtfInText.dat @@ -1,5 +1,5 @@ - 2ö/ä10ü[+++++++++++>------------------------------------------------]ß 20.00% - 4ö/ä10ü[+++++++++++++++++++++++>------------------------------------]ß 40.00% - 6ö/ä10ü[+++++++++++++++++++++++++++++++++++>------------------------]ß 60.00% - 8ö/ä10ü[+++++++++++++++++++++++++++++++++++++++++++++++>------------]ß 80.00% + 2ö/ä10ü[+++++++++++>------------------------------------------------]ß 20.00% + 4ö/ä10ü[+++++++++++++++++++++++>------------------------------------]ß 40.00% + 6ö/ä10ü[+++++++++++++++++++++++++++++++++++>------------------------]ß 60.00% + 8ö/ä10ü[+++++++++++++++++++++++++++++++++++++++++++++++>------------]ß 80.00% 10ö/ä10ü[+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>]ß100.00% \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable1a.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable1a.dat index 4ad7f41d..8a59086b 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable1a.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable1a.dat @@ -1,11 +1,11 @@ -+----------------------------------------+----------------------+-------------+ -| Heading no. 1 | Longer heading no. 2 | Head 3 | -+----------------------------------------+----------------------+-------------+ -| Data cell 1 | Data cell 2 | Data cell 3 | -+----------------------------------------+----------------------+-------------+ -| Long long data cell with even more | Data cell 4 | Data cell 5 | -| text in it... | | | -+----------------------------------------+----------------------+-------------+ -| a b c d e f g h i j k l m n o p q r s | Data cell | Data cell | -| t u v w x | | | ++----------------------------------------+----------------------+-------------+ +| Heading no. 1 | Longer heading no. 2 | Head 3 | ++----------------------------------------+----------------------+-------------+ +| Data cell 1 | Data cell 2 | Data cell 3 | ++----------------------------------------+----------------------+-------------+ +| Long long data cell with even more | Data cell 4 | Data cell 5 | +| text in it... | | | ++----------------------------------------+----------------------+-------------+ +| a b c d e f g h i j k l m n o p q r s | Data cell | Data cell | +| t u v w x | | | +----------------------------------------+----------------------+-------------+ \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable1b.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable1b.dat index 72fb1777..c1d907a0 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable1b.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable1b.dat @@ -1,20 +1,20 @@ -+------------+------------+------------+ -| Heading | Longer | Head 3 | -| no. 1 | heading | | -| | no. 2 | | -+------------+------------+------------+ -| Data cell | Data cell | Data cell | -| 1 | 2 | 3 | -+------------+------------+------------+ -| Long long | Data cell | Data cell | -| data cell | 4 | 5 | -| with even | | | -| more text | | | -| in it... | | | -+------------+------------+------------+ -| a b c d e | Data cell | Data cell | -| f g h i j | | | -| k l m n o | | | -| p q r s t | | | -| u v w x | | | ++------------+------------+------------+ +| Heading | Longer | Head 3 | +| no. 1 | heading | | +| | no. 2 | | ++------------+------------+------------+ +| Data cell | Data cell | Data cell | +| 1 | 2 | 3 | ++------------+------------+------------+ +| Long long | Data cell | Data cell | +| data cell | 4 | 5 | +| with even | | | +| more text | | | +| in it... | | | ++------------+------------+------------+ +| a b c d e | Data cell | Data cell | +| f g h i j | | | +| k l m n o | | | +| p q r s t | | | +| u v w x | | | +------------+------------+------------+ \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable2a.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable2a.dat index b0f26205..ffa6704a 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable2a.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable2a.dat @@ -1,5 +1,5 @@ -+---------+---------+---------+---------+---------+--------+ -| a | b | c | d | e | f | -+---------+---------+---------+---------+---------+--------+ -| g | h | i | j | k | l | ++---------+---------+---------+---------+---------+--------+ +| a | b | c | d | e | f | ++---------+---------+---------+---------+---------+--------+ +| g | h | i | j | k | l | +---------+---------+---------+---------+---------+--------+ \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable2b.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable2b.dat index a84ea17d..54313d56 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable2b.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable2b.dat @@ -1,5 +1,5 @@ -+---+---+---+---+---+---+ -| a | b | c | d | e | f | -+---+---+---+---+---+---+ -| g | h | i | j | k | l | ++---+---+---+---+---+---+ +| a | b | c | d | e | f | ++---+---+---+---+---+---+ +| g | h | i | j | k | l | +---+---+---+---+---+---+ \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable3a.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable3a.dat index 0eebff60..380e0e85 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable3a.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable3a.dat @@ -1,11 +1,11 @@ -######################################################################################################################### -# Parameter # Shortcut # Descrition # -######################################################################################################################### -# Append text to a file. This parameter takes a string value and may be used multiple times. # --append # -a # -######################################################################################################################### -# Prepend text to a file. This parameter takes a string value and may be used multiple times. # --prepend # -p # -######################################################################################################################### -# Forces the action desired without paying attention to any errors. # --force # -f # -######################################################################################################################### -# Silence all kinds of warnings issued by this program. # --silent # -s # +######################################################################################################################### +# Parameter # Shortcut # Descrition # +######################################################################################################################### +# Append text to a file. This parameter takes a string value and may be used multiple times. # --append # -a # +######################################################################################################################### +# Prepend text to a file. This parameter takes a string value and may be used multiple times. # --prepend # -p # +######################################################################################################################### +# Forces the action desired without paying attention to any errors. # --force # -f # +######################################################################################################################### +# Silence all kinds of warnings issued by this program. # --silent # -s # ######################################################################################################################### \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable3b.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable3b.dat index 21c8e197..8c07044a 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable3b.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable3b.dat @@ -1,15 +1,15 @@ -cvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvcvvvvvvvvvvvcvvvvvvvvvvvvc -h Parameter h Shortcut h Descrition h -cvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvcvvvvvvvvvvvcvvvvvvvvvvvvc -h Append text to a file. This parameter takes a h --append h -a h -h string value and may be used multiple times. h h h -cvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvcvvvvvvvvvvvcvvvvvvvvvvvvc -h Prepend text to a file. This parameter takes a h --prepend h -p h -h string value and may be used multiple times. h h h -cvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvcvvvvvvvvvvvcvvvvvvvvvvvvc -h Forces the action desired without paying attention h --force h -f h -h to any errors. h h h -cvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvcvvvvvvvvvvvcvvvvvvvvvvvvc -h Silence all kinds of warnings issued by this h --silent h -s h -h program. h h h +cvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvcvvvvvvvvvvvcvvvvvvvvvvvvc +h Parameter h Shortcut h Descrition h +cvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvcvvvvvvvvvvvcvvvvvvvvvvvvc +h Append text to a file. This parameter takes a h --append h -a h +h string value and may be used multiple times. h h h +cvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvcvvvvvvvvvvvcvvvvvvvvvvvvc +h Prepend text to a file. This parameter takes a h --prepend h -p h +h string value and may be used multiple times. h h h +cvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvcvvvvvvvvvvvcvvvvvvvvvvvvc +h Forces the action desired without paying attention h --force h -f h +h to any errors. h h h +cvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvcvvvvvvvvvvvcvvvvvvvvvvvvc +h Silence all kinds of warnings issued by this h --silent h -s h +h program. h h h cvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvcvvvvvvvvvvvcvvvvvvvvvvvvc \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable3c.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable3c.dat index 91b56378..6316c2f4 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable3c.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable3c.dat @@ -1,11 +1,11 @@ -+---------+---------+---------+ -| Parameter | Shortcut | Descrition | -+---------+---------+---------+ -| Append text to a file. This parameter takes a string value and may be used multiple times. | --append | -a | -+---------+---------+---------+ -| Prepend text to a file. This parameter takes a string value and may be used multiple times. | --prepend | -p | -+---------+---------+---------+ -| Forces the action desired without paying attention to any errors. | --force | -f | -+---------+---------+---------+ -| Silence all kinds of warnings issued by this program. | --silent | -s | ++---------+---------+---------+ +| Parameter | Shortcut | Descrition | ++---------+---------+---------+ +| Append text to a file. This parameter takes a string value and may be used multiple times. | --append | -a | ++---------+---------+---------+ +| Prepend text to a file. This parameter takes a string value and may be used multiple times. | --prepend | -p | ++---------+---------+---------+ +| Forces the action desired without paying attention to any errors. | --force | -f | ++---------+---------+---------+ +| Silence all kinds of warnings issued by this program. | --silent | -s | +---------+---------+---------+ \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable3d.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable3d.dat index 5c17630a..21e4f3eb 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable3d.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable3d.dat @@ -1,11 +1,11 @@ -+-----+-----+-----+ -| Par | Sho | Des | -+-----+-----+-----+ -| App | --a | -a | -+-----+-----+-----+ -| Pre | --p | -p | -+-----+-----+-----+ -| For | --f | -f | -+-----+-----+-----+ -| Sil | --s | -s | ++-----+-----+-----+ +| Par | Sho | Des | ++-----+-----+-----+ +| App | --a | -a | ++-----+-----+-----+ +| Pre | --p | -p | ++-----+-----+-----+ +| For | --f | -f | ++-----+-----+-----+ +| Sil | --s | -s | +-----+-----+-----+ \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable4a.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable4a.dat index 6f4c43e8..36049cd6 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable4a.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable4a.dat @@ -1,9 +1,9 @@ -+-----------------------------+-----------------------------+-----------------------------+-----------------------------+ -| Some very very long data he | Short | Some very very long data he | Short | -+-----------------------------+-----------------------------+-----------------------------+-----------------------------+ -| Short | Some very very long data he | Short | Some very very long data he | -| | | | | -| | and it becomes even much mu | | | -| | | | | -| | and even longer.... | | | ++-----------------------------+-----------------------------+-----------------------------+-----------------------------+ +| Some very very long data he | Short | Some very very long data he | Short | ++-----------------------------+-----------------------------+-----------------------------+-----------------------------+ +| Short | Some very very long data he | Short | Some very very long data he | +| | | | | +| | and it becomes even much mu | | | +| | | | | +| | and even longer.... | | | +-----------------------------+-----------------------------+-----------------------------+-----------------------------+ \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable4b.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable4b.dat index ac405533..3c1e5c7c 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable4b.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable4b.dat @@ -1,14 +1,14 @@ -+-----------------------------+-----------------------------+-----------------------------+-----------------------------+ -| Some very very long data | Short | Some very very long data | Short | -| here.... and it becomes | | here.... and it becomes | | -| even much much longer... | | even much much longer... | | -| and even longer.... | | and even longer.... | | -+-----------------------------+-----------------------------+-----------------------------+-----------------------------+ -| Short | Some very very long data | Short | Some very very long data | -| | here.... | | here.... and it becomes | -| | | | even much much longer... | -| | and it becomes even much | | and even longer.... | -| | much longer... | | | -| | | | | -| | and even longer.... | | | ++-----------------------------+-----------------------------+-----------------------------+-----------------------------+ +| Some very very long data | Short | Some very very long data | Short | +| here.... and it becomes | | here.... and it becomes | | +| even much much longer... | | even much much longer... | | +| and even longer.... | | and even longer.... | | ++-----------------------------+-----------------------------+-----------------------------+-----------------------------+ +| Short | Some very very long data | Short | Some very very long data | +| | here.... | | here.... and it becomes | +| | | | even much much longer... | +| | and it becomes even much | | and even longer.... | +| | much longer... | | | +| | | | | +| | and even longer.... | | | +-----------------------------+-----------------------------+-----------------------------+-----------------------------+ \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable4c.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable4c.dat index 6f4c43e8..36049cd6 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable4c.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable4c.dat @@ -1,9 +1,9 @@ -+-----------------------------+-----------------------------+-----------------------------+-----------------------------+ -| Some very very long data he | Short | Some very very long data he | Short | -+-----------------------------+-----------------------------+-----------------------------+-----------------------------+ -| Short | Some very very long data he | Short | Some very very long data he | -| | | | | -| | and it becomes even much mu | | | -| | | | | -| | and even longer.... | | | ++-----------------------------+-----------------------------+-----------------------------+-----------------------------+ +| Some very very long data he | Short | Some very very long data he | Short | ++-----------------------------+-----------------------------+-----------------------------+-----------------------------+ +| Short | Some very very long data he | Short | Some very very long data he | +| | | | | +| | and it becomes even much mu | | | +| | | | | +| | and even longer.... | | | +-----------------------------+-----------------------------+-----------------------------+-----------------------------+ \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable5autowidth.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable5autowidth.dat index bd1fe307..7641a1a0 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable5autowidth.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTable5autowidth.dat @@ -1,12 +1,12 @@ -+-----------------------------------------------------------+-----------------------------------------------------------+ -| Short text | More short text | -+-----------------------------------------------------------+-----------------------------------------------------------+ -| Short text | More short text | -| Short text | More short text | -| Short text | More short text | -| Short text | Short text | -| Short text | | -| Short text | | -| Short text | | -| | | ++-----------------------------------------------------------+-----------------------------------------------------------+ +| Short text | More short text | ++-----------------------------------------------------------+-----------------------------------------------------------+ +| Short text | More short text | +| Short text | More short text | +| Short text | More short text | +| Short text | Short text | +| Short text | | +| Short text | | +| Short text | | +| | | +-----------------------------------------------------------+-----------------------------------------------------------+ \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTableColPadding1.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTableColPadding1.dat index 36e4ab0f..6d71bc73 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTableColPadding1.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTableColPadding1.dat @@ -1,5 +1,5 @@ -+----------------+----------------+----------------+----------------+----------------+-------------+ -|~~~ a ~~~|~~~ b ~~~|~~~ c ~~~|~~~ d ~~~|~~~ e ~~~|~~~ f ~~~| -+----------------+----------------+----------------+----------------+----------------+-------------+ -|~~~ g ~~~|~~~ h ~~~|~~~ i ~~~|~~~ j ~~~|~~~ k ~~~|~~~ l ~~~| ++----------------+----------------+----------------+----------------+----------------+-------------+ +|~~~ a ~~~|~~~ b ~~~|~~~ c ~~~|~~~ d ~~~|~~~ e ~~~|~~~ f ~~~| ++----------------+----------------+----------------+----------------+----------------+-------------+ +|~~~ g ~~~|~~~ h ~~~|~~~ i ~~~|~~~ j ~~~|~~~ k ~~~|~~~ l ~~~| +----------------+----------------+----------------+----------------+----------------+-------------+ \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTableColPadding2.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTableColPadding2.dat index 441d39e9..70d5f09d 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTableColPadding2.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTableColPadding2.dat @@ -1,5 +1,5 @@ -+-------+-------+-------+-------+-------+-------+ -|~~~a~~~|~~~b~~~|~~~c~~~|~~~d~~~|~~~e~~~|~~~f~~~| -+-------+-------+-------+-------+-------+-------+ -|~~~g~~~|~~~h~~~|~~~i~~~|~~~j~~~|~~~k~~~|~~~l~~~| ++-------+-------+-------+-------+-------+-------+ +|~~~a~~~|~~~b~~~|~~~c~~~|~~~d~~~|~~~e~~~|~~~f~~~| ++-------+-------+-------+-------+-------+-------+ +|~~~g~~~|~~~h~~~|~~~i~~~|~~~j~~~|~~~k~~~|~~~l~~~| +-------+-------+-------+-------+-------+-------+ \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTableWithSpaceBorders.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTableWithSpaceBorders.dat index 6253fd85..f5fb6ac9 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTableWithSpaceBorders.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTableWithSpaceBorders.dat @@ -1,14 +1,14 @@ - - Some very very long data Short Some very very long data Short - here.... and it becomes here.... and it becomes - even much much longer... even much much longer... - and even longer.... and even longer.... - - Short Some very very long data Short Some very very long data - here.... here.... and it becomes - even much much longer... - and it becomes even much and even longer.... - much longer... - - and even longer.... + + Some very very long data Short Some very very long data Short + here.... and it becomes here.... and it becomes + even much much longer... even much much longer... + and even longer.... and even longer.... + + Short Some very very long data Short Some very very long data + here.... here.... and it becomes + even much much longer... + and it becomes even much and even longer.... + much longer... + + and even longer.... \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTableWithoutBorders.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTableWithoutBorders.dat index 5af05815..5fba414c 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTableWithoutBorders.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTableWithoutBorders.dat @@ -1,11 +1,11 @@ - Some very very long data Short Some very very long data Short - here.... and it becomes even here.... and it becomes even - much much longer... and even much much longer... and even - longer.... longer.... - Short Some very very long data Short Some very very long data - here.... here.... and it becomes even - much much longer... and even - and it becomes even much longer.... - much longer... - + Some very very long data Short Some very very long data Short + here.... and it becomes even here.... and it becomes even + much much longer... and even much much longer... and even + longer.... longer.... + Short Some very very long data Short Some very very long data + here.... here.... and it becomes even + much much longer... and even + and it becomes even much longer.... + much longer... + and even longer.... \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTableWithoutFormatting.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTableWithoutFormatting.dat index a84ea17d..54313d56 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTableWithoutFormatting.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTableWithoutFormatting.dat @@ -1,5 +1,5 @@ -+---+---+---+---+---+---+ -| a | b | c | d | e | f | -+---+---+---+---+---+---+ -| g | h | i | j | k | l | ++---+---+---+---+---+---+ +| a | b | c | d | e | f | ++---+---+---+---+---+---+ +| g | h | i | j | k | l | +---+---+---+---+---+---+ \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTableWithoutHorizontalBorders.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTableWithoutHorizontalBorders.dat index 062daa23..52258f03 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTableWithoutHorizontalBorders.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTableWithoutHorizontalBorders.dat @@ -1,14 +1,14 @@ ------------------------------------------------------------------------------------------------------------------------- - Some very very long data Short Some very very long data Short - here.... and it becomes even here.... and it becomes even - much much longer... and even much much longer... and even - longer.... longer.... ------------------------------------------------------------------------------------------------------------------------- - Short Some very very long data Short Some very very long data - here.... here.... and it becomes even - much much longer... and even - and it becomes even much longer.... - much longer... - - and even longer.... +------------------------------------------------------------------------------------------------------------------------ + Some very very long data Short Some very very long data Short + here.... and it becomes even here.... and it becomes even + much much longer... and even much much longer... and even + longer.... longer.... +------------------------------------------------------------------------------------------------------------------------ + Short Some very very long data Short Some very very long data + here.... here.... and it becomes even + much much longer... and even + and it becomes even much longer.... + much longer... + + and even longer.... ------------------------------------------------------------------------------------------------------------------------ \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTableWithoutVerticalBorders.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTableWithoutVerticalBorders.dat index 30b51f68..578486ef 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTableWithoutVerticalBorders.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testTableWithoutVerticalBorders.dat @@ -1,11 +1,11 @@ -| Some very very long data | Short | Some very very long data | Short | -| here.... and it becomes | | here.... and it becomes | | -| even much much longer... | | even much much longer... | | -| and even longer.... | | and even longer.... | | -| Short | Some very very long data | Short | Some very very long data | -| | here.... | | here.... and it becomes | -| | | | even much much longer... | -| | and it becomes even much | | and even longer.... | -| | much longer... | | | -| | | | | +| Some very very long data | Short | Some very very long data | Short | +| here.... and it becomes | | here.... and it becomes | | +| even much much longer... | | even much much longer... | | +| and even longer.... | | and even longer.... | | +| Short | Some very very long data | Short | Some very very long data | +| | here.... | | here.... and it becomes | +| | | | even much much longer... | +| | and it becomes even much | | and even longer.... | +| | much longer... | | | +| | | | | | | and even longer.... | | | \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testUtf8TableHighlightNonUtf8.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testUtf8TableHighlightNonUtf8.dat index 376d97e6..a127cf35 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testUtf8TableHighlightNonUtf8.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testUtf8TableHighlightNonUtf8.dat @@ -1,7 +1,7 @@ -+--------------------+--------------------+-----------------------------------+ -| Non UTF-8 column 1 | Non UTF-8 column 2 | Long long long long long long | -| | | long non UTF-8 column | -+--------------------+--------------------+-----------------------------------+ -| Nön UTF-8 cölümn 1 | Nön UTF-8 cölümn 2 | Löng löng löng löng löng löng | -| | | löng nön UTF-8 cölümn | ++--------------------+--------------------+-----------------------------------+ +| Non UTF-8 column 1 | Non UTF-8 column 2 | Long long long long long long | +| | | long non UTF-8 column | ++--------------------+--------------------+-----------------------------------+ +| Nön UTF-8 cölümn 1 | Nön UTF-8 cölümn 2 | Löng löng löng löng löng löng | +| | | löng nön UTF-8 cölümn | +--------------------+--------------------+-----------------------------------+ \ No newline at end of file diff --git a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testUtf8TableHighlightUtf8.dat b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testUtf8TableHighlightUtf8.dat index 3c279b47..8496fa13 100644 --- a/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testUtf8TableHighlightUtf8.dat +++ b/core/lib/composer/vendor/zetacomponents/console-tools/tests/data/windows/testUtf8TableHighlightUtf8.dat @@ -1,7 +1,7 @@ -+--------------------+--------------------+-----------------------------------+ -| Nön UTF-8 cölümn 1 | Nön UTF-8 cölümn 2 | Löng löng löng löng löng löng | -| | | löng nön UTF-8 cölümn | -+--------------------+--------------------+-----------------------------------+ -| Non UTF-8 column 1 | Non UTF-8 column 2 | Long long long long long long | -| | | long non UTF-8 column | ++--------------------+--------------------+-----------------------------------+ +| Nön UTF-8 cölümn 1 | Nön UTF-8 cölümn 2 | Löng löng löng löng löng löng | +| | | löng nön UTF-8 cölümn | ++--------------------+--------------------+-----------------------------------+ +| Non UTF-8 column 1 | Non UTF-8 column 2 | Long long long long long long | +| | | long non UTF-8 column | +--------------------+--------------------+-----------------------------------+ \ No newline at end of file diff --git a/core/lib/fpdf/changelog.htm b/core/lib/fpdf/changelog.htm new file mode 100644 index 00000000..6ec3d089 --- /dev/null +++ b/core/lib/fpdf/changelog.htm @@ -0,0 +1,171 @@ + + + + +Changelog + + + + +

Changelog

+
+
v1.83 (2021-04-18)
+
+- Fixed an issue related to annotations.
+
+
v1.82 (2019-12-07)
+
+- Removed a deprecation notice under PHP 7.4.
+
+
v1.81 (2015-12-20)
+
+- Added GetPageWidth() and GetPageHeight().
+- Fixed a bug in SetXY().
+
+
v1.8 (2015-11-29)
+
+- PHP 5.1.0 or higher is now required.
+- The MakeFont utility now subsets fonts, which can greatly reduce font sizes.
+- Added ToUnicode CMaps to improve text extraction.
+- Added a parameter to AddPage() to rotate the page.
+- Added a parameter to SetY() to indicate whether the x position should be reset or not.
+- Added a parameter to Output() to specify the encoding of the name, and special characters are now properly encoded. Additionally the order of the first two parameters was reversed to be more logical (however the old order is still supported for compatibility).
+- The Error() method now throws an exception.
+- Adding contents before the first AddPage() or after Close() now raises an error.
+- Outputting text with no font selected now raises an error.
+
+
v1.7 (2011-06-18)
+
+- The MakeFont utility has been completely rewritten and doesn't depend on ttf2pt1 anymore.
+- Alpha channel is now supported for PNGs.
+- When inserting an image, it's now possible to specify its resolution.
+- Default resolution for images was increased from 72 to 96 dpi.
+- When inserting a GIF image, no temporary file is used anymore if the PHP version is 5.1 or higher.
+- When output buffering is enabled and the PDF is about to be sent, the buffer is now cleared if it contains only a UTF-8 BOM and/or whitespace (instead of throwing an error).
+- Symbol and ZapfDingbats fonts now support underline style.
+- Custom page sizes are now checked to ensure that width is smaller than height.
+- Standard font files were changed to use the same format as user fonts.
+- A bug in the embedding of Type1 fonts was fixed.
+- A bug related to SetDisplayMode() and the current locale was fixed.
+- A display issue occurring with the Adobe Reader X plug-in was fixed.
+- An issue related to transparency with some versions of Adobe Reader was fixed.
+- The Content-Length header was removed because it caused an issue when the HTTP server applies compression.
+
+
v1.6 (2008-08-03)
+
+- PHP 4.3.10 or higher is now required.
+- GIF image support.
+- Images can now trigger page breaks.
+- Possibility to have different page formats in a single document.
+- Document properties (author, creator, keywords, subject and title) can now be specified in UTF-8.
+- Fixed a bug: when a PNG was inserted through a URL, an error sometimes occurred.
+- An automatic page break in Header() doesn't cause an infinite loop any more.
+- Removed some warning messages appearing with recent PHP versions.
+- Added HTTP headers to reduce problems with IE.
+
+
v1.53 (2004-12-31)
+
+- When the font subdirectory is in the same directory as fpdf.php, it's no longer necessary to define the FPDF_FONTPATH constant.
+- The array $HTTP_SERVER_VARS is no longer used. It could cause trouble on PHP5-based configurations with the register_long_arrays option disabled.
+- Fixed a problem related to Type1 font embedding which caused trouble to some PDF processors.
+- The file name sent to the browser could not contain a space character.
+- The Cell() method could not print the number 0 (you had to pass the string '0').
+
+
v1.52 (2003-12-30)
+
+- Image() now displays the image at 72 dpi if no dimension is given.
+- Output() takes a string as second parameter to indicate destination.
+- Open() is now called automatically by AddPage().
+- Inserting remote JPEG images doesn't generate an error any longer.
+- Decimal separator is forced to dot in the constructor.
+- Added several encodings (Turkish, Thai, Hebrew, Ukrainian and Vietnamese).
+- The last line of a right-aligned MultiCell() was not correctly aligned if it was terminated by a carriage return.
+- No more error message about already sent headers when outputting the PDF to the standard output from the command line.
+- The underlining was going too far for text containing characters \, ( or ).
+- $HTTP_ENV_VARS has been replaced by $HTTP_SERVER_VARS.
+
+
v1.51 (2002-08-03)
+
+- Type1 font support.
+- Added Baltic encoding.
+- The class now works internally in points with the origin at the bottom in order to avoid two bugs occurring with Acrobat 5:
  * The line thickness was too large when printed under Windows 98 SE and ME.
  * TrueType fonts didn't appear immediately inside the plug-in (a substitution font was used), one had to cause a window refresh to make them show up.
+- It's no longer necessary to set the decimal separator as dot to produce valid documents.
+- The clickable area in a cell was always on the left independently from the text alignment.
+- JPEG images in CMYK mode appeared in inverted colors.
+- Transparent PNG images in grayscale or true color mode were incorrectly handled.
+- Adding new fonts now works correctly even with the magic_quotes_runtime option set to on.
+
+
v1.5 (2002-05-28)
+
+- TrueType font (AddFont()) and encoding support (Western and Eastern Europe, Cyrillic and Greek).
+- Added Write() method.
+- Added underlined style.
+- Internal and external link support (AddLink(), SetLink(), Link()).
+- Added right margin management and methods SetRightMargin(), SetTopMargin().
+- Modification of SetDisplayMode() to select page layout.
+- The border parameter of MultiCell() now lets choose borders to draw as Cell().
+- When a document contains no page, Close() now calls AddPage() instead of causing a fatal error.
+
+
v1.41 (2002-03-13)
+
+- Fixed SetDisplayMode() which no longer worked (the PDF viewer used its default display).
+
+
v1.4 (2002-03-02)
+
+- PHP3 is no longer supported.
+- Page compression (SetCompression()).
+- Choice of page format and possibility to change orientation inside document.
+- Added AcceptPageBreak() method.
+- Ability to print the total number of pages (AliasNbPages()).
+- Choice of cell borders to draw.
+- New mode for Cell(): the current position can now move under the cell.
+- Ability to include an image by specifying height only (width is calculated automatically).
+- Fixed a bug: when a justified line triggered a page break, the footer inherited the corresponding word spacing.
+
+
v1.31 (2002-01-12)
+
+- Fixed a bug in drawing frame with MultiCell(): the last line always started from the left margin.
+- Removed Expires HTTP header (gives trouble in some situations).
+- Added Content-disposition HTTP header (seems to help in some situations).
+
+
v1.3 (2001-12-03)
+
+- Line break and text justification support (MultiCell()).
+- Color support (SetDrawColor(), SetFillColor(), SetTextColor()). Possibility to draw filled rectangles and paint cell background.
+- A cell whose width is declared null extends up to the right margin of the page.
+- Line width is now retained from page to page and defaults to 0.2 mm.
+- Added SetXY() method.
+- Fixed a passing by reference done in a deprecated manner for PHP4.
+
+
v1.2 (2001-11-11)
+
+- Added font metric files and GetStringWidth() method.
+- Centering and right-aligning text in cells.
+- Display mode control (SetDisplayMode()).
+- Added methods to set document properties (SetAuthor(), SetCreator(), SetKeywords(), SetSubject(), SetTitle()).
+- Possibility to force PDF download by browser.
+- Added SetX() and GetX() methods.
+- During automatic page break, current abscissa is now retained.
+
+
v1.11 (2001-10-20)
+
+- PNG support doesn't require PHP4/zlib any more. Data are now put directly into PDF without any decompression/recompression stage.
+- Image insertion now works correctly even with magic_quotes_runtime option set to on.
+
+
v1.1 (2001-10-07)
+
+- JPEG and PNG image support.
+
+
v1.01 (2001-10-03)
+
+- Fixed a bug involving page break: in case when Header() doesn't specify a font, the one from previous page was not restored and produced an incorrect document.
+
+
v1.0 (2001-09-17)
+
+- First version.
+
+
+ + diff --git a/core/lib/fpdf/font/courier.php b/core/lib/fpdf/font/courier.php new file mode 100644 index 00000000..67dbedaa --- /dev/null +++ b/core/lib/fpdf/font/courier.php @@ -0,0 +1,10 @@ +array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96)); +?> diff --git a/core/lib/fpdf/font/courierb.php b/core/lib/fpdf/font/courierb.php new file mode 100644 index 00000000..62550a4c --- /dev/null +++ b/core/lib/fpdf/font/courierb.php @@ -0,0 +1,10 @@ +array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96)); +?> diff --git a/core/lib/fpdf/font/courierbi.php b/core/lib/fpdf/font/courierbi.php new file mode 100644 index 00000000..6a3ecc62 --- /dev/null +++ b/core/lib/fpdf/font/courierbi.php @@ -0,0 +1,10 @@ +array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96)); +?> diff --git a/core/lib/fpdf/font/courieri.php b/core/lib/fpdf/font/courieri.php new file mode 100644 index 00000000..b88e0980 --- /dev/null +++ b/core/lib/fpdf/font/courieri.php @@ -0,0 +1,10 @@ +array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96)); +?> diff --git a/core/lib/fpdf/font/helvetica.php b/core/lib/fpdf/font/helvetica.php new file mode 100644 index 00000000..2be3eca1 --- /dev/null +++ b/core/lib/fpdf/font/helvetica.php @@ -0,0 +1,21 @@ +278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278, + chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>278,'"'=>355,'#'=>556,'$'=>556,'%'=>889,'&'=>667,'\''=>191,'('=>333,')'=>333,'*'=>389,'+'=>584, + ','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>278,';'=>278,'<'=>584,'='=>584,'>'=>584,'?'=>556,'@'=>1015,'A'=>667, + 'B'=>667,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>500,'K'=>667,'L'=>556,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944, + 'X'=>667,'Y'=>667,'Z'=>611,'['=>278,'\\'=>278,']'=>278,'^'=>469,'_'=>556,'`'=>333,'a'=>556,'b'=>556,'c'=>500,'d'=>556,'e'=>556,'f'=>278,'g'=>556,'h'=>556,'i'=>222,'j'=>222,'k'=>500,'l'=>222,'m'=>833, + 'n'=>556,'o'=>556,'p'=>556,'q'=>556,'r'=>333,'s'=>500,'t'=>278,'u'=>556,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>500,'{'=>334,'|'=>260,'}'=>334,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>222,chr(131)=>556, + chr(132)=>333,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>222,chr(146)=>222,chr(147)=>333,chr(148)=>333,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000, + chr(154)=>500,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>260,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333, + chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>556,chr(182)=>537,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>667,chr(193)=>667,chr(194)=>667,chr(195)=>667,chr(196)=>667,chr(197)=>667, + chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722, + chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>500,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>556,chr(241)=>556, + chr(242)=>556,chr(243)=>556,chr(244)=>556,chr(245)=>556,chr(246)=>556,chr(247)=>584,chr(248)=>611,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>500,chr(254)=>556,chr(255)=>500); +$enc = 'cp1252'; +$uv = array(0=>array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96)); +?> diff --git a/core/lib/fpdf/font/helveticab.php b/core/lib/fpdf/font/helveticab.php new file mode 100644 index 00000000..c88394ce --- /dev/null +++ b/core/lib/fpdf/font/helveticab.php @@ -0,0 +1,21 @@ +278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278, + chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>333,'"'=>474,'#'=>556,'$'=>556,'%'=>889,'&'=>722,'\''=>238,'('=>333,')'=>333,'*'=>389,'+'=>584, + ','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>333,';'=>333,'<'=>584,'='=>584,'>'=>584,'?'=>611,'@'=>975,'A'=>722, + 'B'=>722,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>556,'K'=>722,'L'=>611,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944, + 'X'=>667,'Y'=>667,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>584,'_'=>556,'`'=>333,'a'=>556,'b'=>611,'c'=>556,'d'=>611,'e'=>556,'f'=>333,'g'=>611,'h'=>611,'i'=>278,'j'=>278,'k'=>556,'l'=>278,'m'=>889, + 'n'=>611,'o'=>611,'p'=>611,'q'=>611,'r'=>389,'s'=>556,'t'=>333,'u'=>611,'v'=>556,'w'=>778,'x'=>556,'y'=>556,'z'=>500,'{'=>389,'|'=>280,'}'=>389,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>278,chr(131)=>556, + chr(132)=>500,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>278,chr(146)=>278,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000, + chr(154)=>556,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>280,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333, + chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>611,chr(182)=>556,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722, + chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722, + chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>556,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>611,chr(241)=>611, + chr(242)=>611,chr(243)=>611,chr(244)=>611,chr(245)=>611,chr(246)=>611,chr(247)=>584,chr(248)=>611,chr(249)=>611,chr(250)=>611,chr(251)=>611,chr(252)=>611,chr(253)=>556,chr(254)=>611,chr(255)=>556); +$enc = 'cp1252'; +$uv = array(0=>array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96)); +?> diff --git a/core/lib/fpdf/font/helveticabi.php b/core/lib/fpdf/font/helveticabi.php new file mode 100644 index 00000000..bcea8079 --- /dev/null +++ b/core/lib/fpdf/font/helveticabi.php @@ -0,0 +1,21 @@ +278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278, + chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>333,'"'=>474,'#'=>556,'$'=>556,'%'=>889,'&'=>722,'\''=>238,'('=>333,')'=>333,'*'=>389,'+'=>584, + ','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>333,';'=>333,'<'=>584,'='=>584,'>'=>584,'?'=>611,'@'=>975,'A'=>722, + 'B'=>722,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>556,'K'=>722,'L'=>611,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944, + 'X'=>667,'Y'=>667,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>584,'_'=>556,'`'=>333,'a'=>556,'b'=>611,'c'=>556,'d'=>611,'e'=>556,'f'=>333,'g'=>611,'h'=>611,'i'=>278,'j'=>278,'k'=>556,'l'=>278,'m'=>889, + 'n'=>611,'o'=>611,'p'=>611,'q'=>611,'r'=>389,'s'=>556,'t'=>333,'u'=>611,'v'=>556,'w'=>778,'x'=>556,'y'=>556,'z'=>500,'{'=>389,'|'=>280,'}'=>389,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>278,chr(131)=>556, + chr(132)=>500,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>278,chr(146)=>278,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000, + chr(154)=>556,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>280,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333, + chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>611,chr(182)=>556,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722, + chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722, + chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>556,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>611,chr(241)=>611, + chr(242)=>611,chr(243)=>611,chr(244)=>611,chr(245)=>611,chr(246)=>611,chr(247)=>584,chr(248)=>611,chr(249)=>611,chr(250)=>611,chr(251)=>611,chr(252)=>611,chr(253)=>556,chr(254)=>611,chr(255)=>556); +$enc = 'cp1252'; +$uv = array(0=>array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96)); +?> diff --git a/core/lib/fpdf/font/helveticai.php b/core/lib/fpdf/font/helveticai.php new file mode 100644 index 00000000..a328b046 --- /dev/null +++ b/core/lib/fpdf/font/helveticai.php @@ -0,0 +1,21 @@ +278,chr(1)=>278,chr(2)=>278,chr(3)=>278,chr(4)=>278,chr(5)=>278,chr(6)=>278,chr(7)=>278,chr(8)=>278,chr(9)=>278,chr(10)=>278,chr(11)=>278,chr(12)=>278,chr(13)=>278,chr(14)=>278,chr(15)=>278,chr(16)=>278,chr(17)=>278,chr(18)=>278,chr(19)=>278,chr(20)=>278,chr(21)=>278, + chr(22)=>278,chr(23)=>278,chr(24)=>278,chr(25)=>278,chr(26)=>278,chr(27)=>278,chr(28)=>278,chr(29)=>278,chr(30)=>278,chr(31)=>278,' '=>278,'!'=>278,'"'=>355,'#'=>556,'$'=>556,'%'=>889,'&'=>667,'\''=>191,'('=>333,')'=>333,'*'=>389,'+'=>584, + ','=>278,'-'=>333,'.'=>278,'/'=>278,'0'=>556,'1'=>556,'2'=>556,'3'=>556,'4'=>556,'5'=>556,'6'=>556,'7'=>556,'8'=>556,'9'=>556,':'=>278,';'=>278,'<'=>584,'='=>584,'>'=>584,'?'=>556,'@'=>1015,'A'=>667, + 'B'=>667,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>722,'I'=>278,'J'=>500,'K'=>667,'L'=>556,'M'=>833,'N'=>722,'O'=>778,'P'=>667,'Q'=>778,'R'=>722,'S'=>667,'T'=>611,'U'=>722,'V'=>667,'W'=>944, + 'X'=>667,'Y'=>667,'Z'=>611,'['=>278,'\\'=>278,']'=>278,'^'=>469,'_'=>556,'`'=>333,'a'=>556,'b'=>556,'c'=>500,'d'=>556,'e'=>556,'f'=>278,'g'=>556,'h'=>556,'i'=>222,'j'=>222,'k'=>500,'l'=>222,'m'=>833, + 'n'=>556,'o'=>556,'p'=>556,'q'=>556,'r'=>333,'s'=>500,'t'=>278,'u'=>556,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>500,'{'=>334,'|'=>260,'}'=>334,'~'=>584,chr(127)=>350,chr(128)=>556,chr(129)=>350,chr(130)=>222,chr(131)=>556, + chr(132)=>333,chr(133)=>1000,chr(134)=>556,chr(135)=>556,chr(136)=>333,chr(137)=>1000,chr(138)=>667,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>222,chr(146)=>222,chr(147)=>333,chr(148)=>333,chr(149)=>350,chr(150)=>556,chr(151)=>1000,chr(152)=>333,chr(153)=>1000, + chr(154)=>500,chr(155)=>333,chr(156)=>944,chr(157)=>350,chr(158)=>500,chr(159)=>667,chr(160)=>278,chr(161)=>333,chr(162)=>556,chr(163)=>556,chr(164)=>556,chr(165)=>556,chr(166)=>260,chr(167)=>556,chr(168)=>333,chr(169)=>737,chr(170)=>370,chr(171)=>556,chr(172)=>584,chr(173)=>333,chr(174)=>737,chr(175)=>333, + chr(176)=>400,chr(177)=>584,chr(178)=>333,chr(179)=>333,chr(180)=>333,chr(181)=>556,chr(182)=>537,chr(183)=>278,chr(184)=>333,chr(185)=>333,chr(186)=>365,chr(187)=>556,chr(188)=>834,chr(189)=>834,chr(190)=>834,chr(191)=>611,chr(192)=>667,chr(193)=>667,chr(194)=>667,chr(195)=>667,chr(196)=>667,chr(197)=>667, + chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>278,chr(205)=>278,chr(206)=>278,chr(207)=>278,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>584,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722, + chr(220)=>722,chr(221)=>667,chr(222)=>667,chr(223)=>611,chr(224)=>556,chr(225)=>556,chr(226)=>556,chr(227)=>556,chr(228)=>556,chr(229)=>556,chr(230)=>889,chr(231)=>500,chr(232)=>556,chr(233)=>556,chr(234)=>556,chr(235)=>556,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>556,chr(241)=>556, + chr(242)=>556,chr(243)=>556,chr(244)=>556,chr(245)=>556,chr(246)=>556,chr(247)=>584,chr(248)=>611,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>500,chr(254)=>556,chr(255)=>500); +$enc = 'cp1252'; +$uv = array(0=>array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96)); +?> diff --git a/core/lib/fpdf/font/symbol.php b/core/lib/fpdf/font/symbol.php new file mode 100644 index 00000000..5b9147bd --- /dev/null +++ b/core/lib/fpdf/font/symbol.php @@ -0,0 +1,20 @@ +250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250, + chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>713,'#'=>500,'$'=>549,'%'=>833,'&'=>778,'\''=>439,'('=>333,')'=>333,'*'=>500,'+'=>549, + ','=>250,'-'=>549,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>278,';'=>278,'<'=>549,'='=>549,'>'=>549,'?'=>444,'@'=>549,'A'=>722, + 'B'=>667,'C'=>722,'D'=>612,'E'=>611,'F'=>763,'G'=>603,'H'=>722,'I'=>333,'J'=>631,'K'=>722,'L'=>686,'M'=>889,'N'=>722,'O'=>722,'P'=>768,'Q'=>741,'R'=>556,'S'=>592,'T'=>611,'U'=>690,'V'=>439,'W'=>768, + 'X'=>645,'Y'=>795,'Z'=>611,'['=>333,'\\'=>863,']'=>333,'^'=>658,'_'=>500,'`'=>500,'a'=>631,'b'=>549,'c'=>549,'d'=>494,'e'=>439,'f'=>521,'g'=>411,'h'=>603,'i'=>329,'j'=>603,'k'=>549,'l'=>549,'m'=>576, + 'n'=>521,'o'=>549,'p'=>549,'q'=>521,'r'=>549,'s'=>603,'t'=>439,'u'=>576,'v'=>713,'w'=>686,'x'=>493,'y'=>686,'z'=>494,'{'=>480,'|'=>200,'}'=>480,'~'=>549,chr(127)=>0,chr(128)=>0,chr(129)=>0,chr(130)=>0,chr(131)=>0, + chr(132)=>0,chr(133)=>0,chr(134)=>0,chr(135)=>0,chr(136)=>0,chr(137)=>0,chr(138)=>0,chr(139)=>0,chr(140)=>0,chr(141)=>0,chr(142)=>0,chr(143)=>0,chr(144)=>0,chr(145)=>0,chr(146)=>0,chr(147)=>0,chr(148)=>0,chr(149)=>0,chr(150)=>0,chr(151)=>0,chr(152)=>0,chr(153)=>0, + chr(154)=>0,chr(155)=>0,chr(156)=>0,chr(157)=>0,chr(158)=>0,chr(159)=>0,chr(160)=>750,chr(161)=>620,chr(162)=>247,chr(163)=>549,chr(164)=>167,chr(165)=>713,chr(166)=>500,chr(167)=>753,chr(168)=>753,chr(169)=>753,chr(170)=>753,chr(171)=>1042,chr(172)=>987,chr(173)=>603,chr(174)=>987,chr(175)=>603, + chr(176)=>400,chr(177)=>549,chr(178)=>411,chr(179)=>549,chr(180)=>549,chr(181)=>713,chr(182)=>494,chr(183)=>460,chr(184)=>549,chr(185)=>549,chr(186)=>549,chr(187)=>549,chr(188)=>1000,chr(189)=>603,chr(190)=>1000,chr(191)=>658,chr(192)=>823,chr(193)=>686,chr(194)=>795,chr(195)=>987,chr(196)=>768,chr(197)=>768, + chr(198)=>823,chr(199)=>768,chr(200)=>768,chr(201)=>713,chr(202)=>713,chr(203)=>713,chr(204)=>713,chr(205)=>713,chr(206)=>713,chr(207)=>713,chr(208)=>768,chr(209)=>713,chr(210)=>790,chr(211)=>790,chr(212)=>890,chr(213)=>823,chr(214)=>549,chr(215)=>250,chr(216)=>713,chr(217)=>603,chr(218)=>603,chr(219)=>1042, + chr(220)=>987,chr(221)=>603,chr(222)=>987,chr(223)=>603,chr(224)=>494,chr(225)=>329,chr(226)=>790,chr(227)=>790,chr(228)=>786,chr(229)=>713,chr(230)=>384,chr(231)=>384,chr(232)=>384,chr(233)=>384,chr(234)=>384,chr(235)=>384,chr(236)=>494,chr(237)=>494,chr(238)=>494,chr(239)=>494,chr(240)=>0,chr(241)=>329, + chr(242)=>274,chr(243)=>686,chr(244)=>686,chr(245)=>686,chr(246)=>384,chr(247)=>384,chr(248)=>384,chr(249)=>384,chr(250)=>384,chr(251)=>384,chr(252)=>494,chr(253)=>494,chr(254)=>494,chr(255)=>0); +$uv = array(32=>160,33=>33,34=>8704,35=>35,36=>8707,37=>array(37,2),39=>8715,40=>array(40,2),42=>8727,43=>array(43,2),45=>8722,46=>array(46,18),64=>8773,65=>array(913,2),67=>935,68=>array(916,2),70=>934,71=>915,72=>919,73=>921,74=>977,75=>array(922,4),79=>array(927,2),81=>920,82=>929,83=>array(931,3),86=>962,87=>937,88=>926,89=>936,90=>918,91=>91,92=>8756,93=>93,94=>8869,95=>95,96=>63717,97=>array(945,2),99=>967,100=>array(948,2),102=>966,103=>947,104=>951,105=>953,106=>981,107=>array(954,4),111=>array(959,2),113=>952,114=>961,115=>array(963,3),118=>982,119=>969,120=>958,121=>968,122=>950,123=>array(123,3),126=>8764,160=>8364,161=>978,162=>8242,163=>8804,164=>8725,165=>8734,166=>402,167=>9827,168=>9830,169=>9829,170=>9824,171=>8596,172=>array(8592,4),176=>array(176,2),178=>8243,179=>8805,180=>215,181=>8733,182=>8706,183=>8226,184=>247,185=>array(8800,2),187=>8776,188=>8230,189=>array(63718,2),191=>8629,192=>8501,193=>8465,194=>8476,195=>8472,196=>8855,197=>8853,198=>8709,199=>array(8745,2),201=>8835,202=>8839,203=>8836,204=>8834,205=>8838,206=>array(8712,2),208=>8736,209=>8711,210=>63194,211=>63193,212=>63195,213=>8719,214=>8730,215=>8901,216=>172,217=>array(8743,2),219=>8660,220=>array(8656,4),224=>9674,225=>9001,226=>array(63720,3),229=>8721,230=>array(63723,10),241=>9002,242=>8747,243=>8992,244=>63733,245=>8993,246=>array(63734,9)); +?> diff --git a/core/lib/fpdf/font/times.php b/core/lib/fpdf/font/times.php new file mode 100644 index 00000000..f78850f9 --- /dev/null +++ b/core/lib/fpdf/font/times.php @@ -0,0 +1,21 @@ +250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250, + chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>408,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>180,'('=>333,')'=>333,'*'=>500,'+'=>564, + ','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>278,';'=>278,'<'=>564,'='=>564,'>'=>564,'?'=>444,'@'=>921,'A'=>722, + 'B'=>667,'C'=>667,'D'=>722,'E'=>611,'F'=>556,'G'=>722,'H'=>722,'I'=>333,'J'=>389,'K'=>722,'L'=>611,'M'=>889,'N'=>722,'O'=>722,'P'=>556,'Q'=>722,'R'=>667,'S'=>556,'T'=>611,'U'=>722,'V'=>722,'W'=>944, + 'X'=>722,'Y'=>722,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>469,'_'=>500,'`'=>333,'a'=>444,'b'=>500,'c'=>444,'d'=>500,'e'=>444,'f'=>333,'g'=>500,'h'=>500,'i'=>278,'j'=>278,'k'=>500,'l'=>278,'m'=>778, + 'n'=>500,'o'=>500,'p'=>500,'q'=>500,'r'=>333,'s'=>389,'t'=>278,'u'=>500,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>444,'{'=>480,'|'=>200,'}'=>480,'~'=>541,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500, + chr(132)=>444,chr(133)=>1000,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>556,chr(139)=>333,chr(140)=>889,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>444,chr(148)=>444,chr(149)=>350,chr(150)=>500,chr(151)=>1000,chr(152)=>333,chr(153)=>980, + chr(154)=>389,chr(155)=>333,chr(156)=>722,chr(157)=>350,chr(158)=>444,chr(159)=>722,chr(160)=>250,chr(161)=>333,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>200,chr(167)=>500,chr(168)=>333,chr(169)=>760,chr(170)=>276,chr(171)=>500,chr(172)=>564,chr(173)=>333,chr(174)=>760,chr(175)=>333, + chr(176)=>400,chr(177)=>564,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>500,chr(182)=>453,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>310,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>444,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722, + chr(198)=>889,chr(199)=>667,chr(200)=>611,chr(201)=>611,chr(202)=>611,chr(203)=>611,chr(204)=>333,chr(205)=>333,chr(206)=>333,chr(207)=>333,chr(208)=>722,chr(209)=>722,chr(210)=>722,chr(211)=>722,chr(212)=>722,chr(213)=>722,chr(214)=>722,chr(215)=>564,chr(216)=>722,chr(217)=>722,chr(218)=>722,chr(219)=>722, + chr(220)=>722,chr(221)=>722,chr(222)=>556,chr(223)=>500,chr(224)=>444,chr(225)=>444,chr(226)=>444,chr(227)=>444,chr(228)=>444,chr(229)=>444,chr(230)=>667,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>500, + chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>564,chr(248)=>500,chr(249)=>500,chr(250)=>500,chr(251)=>500,chr(252)=>500,chr(253)=>500,chr(254)=>500,chr(255)=>500); +$enc = 'cp1252'; +$uv = array(0=>array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96)); +?> diff --git a/core/lib/fpdf/font/timesb.php b/core/lib/fpdf/font/timesb.php new file mode 100644 index 00000000..05167502 --- /dev/null +++ b/core/lib/fpdf/font/timesb.php @@ -0,0 +1,21 @@ +250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250, + chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>555,'#'=>500,'$'=>500,'%'=>1000,'&'=>833,'\''=>278,'('=>333,')'=>333,'*'=>500,'+'=>570, + ','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>570,'='=>570,'>'=>570,'?'=>500,'@'=>930,'A'=>722, + 'B'=>667,'C'=>722,'D'=>722,'E'=>667,'F'=>611,'G'=>778,'H'=>778,'I'=>389,'J'=>500,'K'=>778,'L'=>667,'M'=>944,'N'=>722,'O'=>778,'P'=>611,'Q'=>778,'R'=>722,'S'=>556,'T'=>667,'U'=>722,'V'=>722,'W'=>1000, + 'X'=>722,'Y'=>722,'Z'=>667,'['=>333,'\\'=>278,']'=>333,'^'=>581,'_'=>500,'`'=>333,'a'=>500,'b'=>556,'c'=>444,'d'=>556,'e'=>444,'f'=>333,'g'=>500,'h'=>556,'i'=>278,'j'=>333,'k'=>556,'l'=>278,'m'=>833, + 'n'=>556,'o'=>500,'p'=>556,'q'=>556,'r'=>444,'s'=>389,'t'=>333,'u'=>556,'v'=>500,'w'=>722,'x'=>500,'y'=>500,'z'=>444,'{'=>394,'|'=>220,'}'=>394,'~'=>520,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500, + chr(132)=>500,chr(133)=>1000,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>556,chr(139)=>333,chr(140)=>1000,chr(141)=>350,chr(142)=>667,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>500,chr(151)=>1000,chr(152)=>333,chr(153)=>1000, + chr(154)=>389,chr(155)=>333,chr(156)=>722,chr(157)=>350,chr(158)=>444,chr(159)=>722,chr(160)=>250,chr(161)=>333,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>220,chr(167)=>500,chr(168)=>333,chr(169)=>747,chr(170)=>300,chr(171)=>500,chr(172)=>570,chr(173)=>333,chr(174)=>747,chr(175)=>333, + chr(176)=>400,chr(177)=>570,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>556,chr(182)=>540,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>330,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>500,chr(192)=>722,chr(193)=>722,chr(194)=>722,chr(195)=>722,chr(196)=>722,chr(197)=>722, + chr(198)=>1000,chr(199)=>722,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>389,chr(205)=>389,chr(206)=>389,chr(207)=>389,chr(208)=>722,chr(209)=>722,chr(210)=>778,chr(211)=>778,chr(212)=>778,chr(213)=>778,chr(214)=>778,chr(215)=>570,chr(216)=>778,chr(217)=>722,chr(218)=>722,chr(219)=>722, + chr(220)=>722,chr(221)=>722,chr(222)=>611,chr(223)=>556,chr(224)=>500,chr(225)=>500,chr(226)=>500,chr(227)=>500,chr(228)=>500,chr(229)=>500,chr(230)=>722,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>556, + chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>570,chr(248)=>500,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>500,chr(254)=>556,chr(255)=>500); +$enc = 'cp1252'; +$uv = array(0=>array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96)); +?> diff --git a/core/lib/fpdf/font/timesbi.php b/core/lib/fpdf/font/timesbi.php new file mode 100644 index 00000000..32fe25e6 --- /dev/null +++ b/core/lib/fpdf/font/timesbi.php @@ -0,0 +1,21 @@ +250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250, + chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>389,'"'=>555,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>278,'('=>333,')'=>333,'*'=>500,'+'=>570, + ','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>570,'='=>570,'>'=>570,'?'=>500,'@'=>832,'A'=>667, + 'B'=>667,'C'=>667,'D'=>722,'E'=>667,'F'=>667,'G'=>722,'H'=>778,'I'=>389,'J'=>500,'K'=>667,'L'=>611,'M'=>889,'N'=>722,'O'=>722,'P'=>611,'Q'=>722,'R'=>667,'S'=>556,'T'=>611,'U'=>722,'V'=>667,'W'=>889, + 'X'=>667,'Y'=>611,'Z'=>611,'['=>333,'\\'=>278,']'=>333,'^'=>570,'_'=>500,'`'=>333,'a'=>500,'b'=>500,'c'=>444,'d'=>500,'e'=>444,'f'=>333,'g'=>500,'h'=>556,'i'=>278,'j'=>278,'k'=>500,'l'=>278,'m'=>778, + 'n'=>556,'o'=>500,'p'=>500,'q'=>500,'r'=>389,'s'=>389,'t'=>278,'u'=>556,'v'=>444,'w'=>667,'x'=>500,'y'=>444,'z'=>389,'{'=>348,'|'=>220,'}'=>348,'~'=>570,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500, + chr(132)=>500,chr(133)=>1000,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>556,chr(139)=>333,chr(140)=>944,chr(141)=>350,chr(142)=>611,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>500,chr(148)=>500,chr(149)=>350,chr(150)=>500,chr(151)=>1000,chr(152)=>333,chr(153)=>1000, + chr(154)=>389,chr(155)=>333,chr(156)=>722,chr(157)=>350,chr(158)=>389,chr(159)=>611,chr(160)=>250,chr(161)=>389,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>220,chr(167)=>500,chr(168)=>333,chr(169)=>747,chr(170)=>266,chr(171)=>500,chr(172)=>606,chr(173)=>333,chr(174)=>747,chr(175)=>333, + chr(176)=>400,chr(177)=>570,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>576,chr(182)=>500,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>300,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>500,chr(192)=>667,chr(193)=>667,chr(194)=>667,chr(195)=>667,chr(196)=>667,chr(197)=>667, + chr(198)=>944,chr(199)=>667,chr(200)=>667,chr(201)=>667,chr(202)=>667,chr(203)=>667,chr(204)=>389,chr(205)=>389,chr(206)=>389,chr(207)=>389,chr(208)=>722,chr(209)=>722,chr(210)=>722,chr(211)=>722,chr(212)=>722,chr(213)=>722,chr(214)=>722,chr(215)=>570,chr(216)=>722,chr(217)=>722,chr(218)=>722,chr(219)=>722, + chr(220)=>722,chr(221)=>611,chr(222)=>611,chr(223)=>500,chr(224)=>500,chr(225)=>500,chr(226)=>500,chr(227)=>500,chr(228)=>500,chr(229)=>500,chr(230)=>722,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>556, + chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>570,chr(248)=>500,chr(249)=>556,chr(250)=>556,chr(251)=>556,chr(252)=>556,chr(253)=>444,chr(254)=>500,chr(255)=>444); +$enc = 'cp1252'; +$uv = array(0=>array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96)); +?> diff --git a/core/lib/fpdf/font/timesi.php b/core/lib/fpdf/font/timesi.php new file mode 100644 index 00000000..b0e5a620 --- /dev/null +++ b/core/lib/fpdf/font/timesi.php @@ -0,0 +1,21 @@ +250,chr(1)=>250,chr(2)=>250,chr(3)=>250,chr(4)=>250,chr(5)=>250,chr(6)=>250,chr(7)=>250,chr(8)=>250,chr(9)=>250,chr(10)=>250,chr(11)=>250,chr(12)=>250,chr(13)=>250,chr(14)=>250,chr(15)=>250,chr(16)=>250,chr(17)=>250,chr(18)=>250,chr(19)=>250,chr(20)=>250,chr(21)=>250, + chr(22)=>250,chr(23)=>250,chr(24)=>250,chr(25)=>250,chr(26)=>250,chr(27)=>250,chr(28)=>250,chr(29)=>250,chr(30)=>250,chr(31)=>250,' '=>250,'!'=>333,'"'=>420,'#'=>500,'$'=>500,'%'=>833,'&'=>778,'\''=>214,'('=>333,')'=>333,'*'=>500,'+'=>675, + ','=>250,'-'=>333,'.'=>250,'/'=>278,'0'=>500,'1'=>500,'2'=>500,'3'=>500,'4'=>500,'5'=>500,'6'=>500,'7'=>500,'8'=>500,'9'=>500,':'=>333,';'=>333,'<'=>675,'='=>675,'>'=>675,'?'=>500,'@'=>920,'A'=>611, + 'B'=>611,'C'=>667,'D'=>722,'E'=>611,'F'=>611,'G'=>722,'H'=>722,'I'=>333,'J'=>444,'K'=>667,'L'=>556,'M'=>833,'N'=>667,'O'=>722,'P'=>611,'Q'=>722,'R'=>611,'S'=>500,'T'=>556,'U'=>722,'V'=>611,'W'=>833, + 'X'=>611,'Y'=>556,'Z'=>556,'['=>389,'\\'=>278,']'=>389,'^'=>422,'_'=>500,'`'=>333,'a'=>500,'b'=>500,'c'=>444,'d'=>500,'e'=>444,'f'=>278,'g'=>500,'h'=>500,'i'=>278,'j'=>278,'k'=>444,'l'=>278,'m'=>722, + 'n'=>500,'o'=>500,'p'=>500,'q'=>500,'r'=>389,'s'=>389,'t'=>278,'u'=>500,'v'=>444,'w'=>667,'x'=>444,'y'=>444,'z'=>389,'{'=>400,'|'=>275,'}'=>400,'~'=>541,chr(127)=>350,chr(128)=>500,chr(129)=>350,chr(130)=>333,chr(131)=>500, + chr(132)=>556,chr(133)=>889,chr(134)=>500,chr(135)=>500,chr(136)=>333,chr(137)=>1000,chr(138)=>500,chr(139)=>333,chr(140)=>944,chr(141)=>350,chr(142)=>556,chr(143)=>350,chr(144)=>350,chr(145)=>333,chr(146)=>333,chr(147)=>556,chr(148)=>556,chr(149)=>350,chr(150)=>500,chr(151)=>889,chr(152)=>333,chr(153)=>980, + chr(154)=>389,chr(155)=>333,chr(156)=>667,chr(157)=>350,chr(158)=>389,chr(159)=>556,chr(160)=>250,chr(161)=>389,chr(162)=>500,chr(163)=>500,chr(164)=>500,chr(165)=>500,chr(166)=>275,chr(167)=>500,chr(168)=>333,chr(169)=>760,chr(170)=>276,chr(171)=>500,chr(172)=>675,chr(173)=>333,chr(174)=>760,chr(175)=>333, + chr(176)=>400,chr(177)=>675,chr(178)=>300,chr(179)=>300,chr(180)=>333,chr(181)=>500,chr(182)=>523,chr(183)=>250,chr(184)=>333,chr(185)=>300,chr(186)=>310,chr(187)=>500,chr(188)=>750,chr(189)=>750,chr(190)=>750,chr(191)=>500,chr(192)=>611,chr(193)=>611,chr(194)=>611,chr(195)=>611,chr(196)=>611,chr(197)=>611, + chr(198)=>889,chr(199)=>667,chr(200)=>611,chr(201)=>611,chr(202)=>611,chr(203)=>611,chr(204)=>333,chr(205)=>333,chr(206)=>333,chr(207)=>333,chr(208)=>722,chr(209)=>667,chr(210)=>722,chr(211)=>722,chr(212)=>722,chr(213)=>722,chr(214)=>722,chr(215)=>675,chr(216)=>722,chr(217)=>722,chr(218)=>722,chr(219)=>722, + chr(220)=>722,chr(221)=>556,chr(222)=>611,chr(223)=>500,chr(224)=>500,chr(225)=>500,chr(226)=>500,chr(227)=>500,chr(228)=>500,chr(229)=>500,chr(230)=>667,chr(231)=>444,chr(232)=>444,chr(233)=>444,chr(234)=>444,chr(235)=>444,chr(236)=>278,chr(237)=>278,chr(238)=>278,chr(239)=>278,chr(240)=>500,chr(241)=>500, + chr(242)=>500,chr(243)=>500,chr(244)=>500,chr(245)=>500,chr(246)=>500,chr(247)=>675,chr(248)=>500,chr(249)=>500,chr(250)=>500,chr(251)=>500,chr(252)=>500,chr(253)=>444,chr(254)=>500,chr(255)=>444); +$enc = 'cp1252'; +$uv = array(0=>array(0,128),128=>8364,130=>8218,131=>402,132=>8222,133=>8230,134=>array(8224,2),136=>710,137=>8240,138=>352,139=>8249,140=>338,142=>381,145=>array(8216,2),147=>array(8220,2),149=>8226,150=>array(8211,2),152=>732,153=>8482,154=>353,155=>8250,156=>339,158=>382,159=>376,160=>array(160,96)); +?> diff --git a/core/lib/fpdf/font/zapfdingbats.php b/core/lib/fpdf/font/zapfdingbats.php new file mode 100644 index 00000000..b9d03090 --- /dev/null +++ b/core/lib/fpdf/font/zapfdingbats.php @@ -0,0 +1,20 @@ +0,chr(1)=>0,chr(2)=>0,chr(3)=>0,chr(4)=>0,chr(5)=>0,chr(6)=>0,chr(7)=>0,chr(8)=>0,chr(9)=>0,chr(10)=>0,chr(11)=>0,chr(12)=>0,chr(13)=>0,chr(14)=>0,chr(15)=>0,chr(16)=>0,chr(17)=>0,chr(18)=>0,chr(19)=>0,chr(20)=>0,chr(21)=>0, + chr(22)=>0,chr(23)=>0,chr(24)=>0,chr(25)=>0,chr(26)=>0,chr(27)=>0,chr(28)=>0,chr(29)=>0,chr(30)=>0,chr(31)=>0,' '=>278,'!'=>974,'"'=>961,'#'=>974,'$'=>980,'%'=>719,'&'=>789,'\''=>790,'('=>791,')'=>690,'*'=>960,'+'=>939, + ','=>549,'-'=>855,'.'=>911,'/'=>933,'0'=>911,'1'=>945,'2'=>974,'3'=>755,'4'=>846,'5'=>762,'6'=>761,'7'=>571,'8'=>677,'9'=>763,':'=>760,';'=>759,'<'=>754,'='=>494,'>'=>552,'?'=>537,'@'=>577,'A'=>692, + 'B'=>786,'C'=>788,'D'=>788,'E'=>790,'F'=>793,'G'=>794,'H'=>816,'I'=>823,'J'=>789,'K'=>841,'L'=>823,'M'=>833,'N'=>816,'O'=>831,'P'=>923,'Q'=>744,'R'=>723,'S'=>749,'T'=>790,'U'=>792,'V'=>695,'W'=>776, + 'X'=>768,'Y'=>792,'Z'=>759,'['=>707,'\\'=>708,']'=>682,'^'=>701,'_'=>826,'`'=>815,'a'=>789,'b'=>789,'c'=>707,'d'=>687,'e'=>696,'f'=>689,'g'=>786,'h'=>787,'i'=>713,'j'=>791,'k'=>785,'l'=>791,'m'=>873, + 'n'=>761,'o'=>762,'p'=>762,'q'=>759,'r'=>759,'s'=>892,'t'=>892,'u'=>788,'v'=>784,'w'=>438,'x'=>138,'y'=>277,'z'=>415,'{'=>392,'|'=>392,'}'=>668,'~'=>668,chr(127)=>0,chr(128)=>390,chr(129)=>390,chr(130)=>317,chr(131)=>317, + chr(132)=>276,chr(133)=>276,chr(134)=>509,chr(135)=>509,chr(136)=>410,chr(137)=>410,chr(138)=>234,chr(139)=>234,chr(140)=>334,chr(141)=>334,chr(142)=>0,chr(143)=>0,chr(144)=>0,chr(145)=>0,chr(146)=>0,chr(147)=>0,chr(148)=>0,chr(149)=>0,chr(150)=>0,chr(151)=>0,chr(152)=>0,chr(153)=>0, + chr(154)=>0,chr(155)=>0,chr(156)=>0,chr(157)=>0,chr(158)=>0,chr(159)=>0,chr(160)=>0,chr(161)=>732,chr(162)=>544,chr(163)=>544,chr(164)=>910,chr(165)=>667,chr(166)=>760,chr(167)=>760,chr(168)=>776,chr(169)=>595,chr(170)=>694,chr(171)=>626,chr(172)=>788,chr(173)=>788,chr(174)=>788,chr(175)=>788, + chr(176)=>788,chr(177)=>788,chr(178)=>788,chr(179)=>788,chr(180)=>788,chr(181)=>788,chr(182)=>788,chr(183)=>788,chr(184)=>788,chr(185)=>788,chr(186)=>788,chr(187)=>788,chr(188)=>788,chr(189)=>788,chr(190)=>788,chr(191)=>788,chr(192)=>788,chr(193)=>788,chr(194)=>788,chr(195)=>788,chr(196)=>788,chr(197)=>788, + chr(198)=>788,chr(199)=>788,chr(200)=>788,chr(201)=>788,chr(202)=>788,chr(203)=>788,chr(204)=>788,chr(205)=>788,chr(206)=>788,chr(207)=>788,chr(208)=>788,chr(209)=>788,chr(210)=>788,chr(211)=>788,chr(212)=>894,chr(213)=>838,chr(214)=>1016,chr(215)=>458,chr(216)=>748,chr(217)=>924,chr(218)=>748,chr(219)=>918, + chr(220)=>927,chr(221)=>928,chr(222)=>928,chr(223)=>834,chr(224)=>873,chr(225)=>828,chr(226)=>924,chr(227)=>924,chr(228)=>917,chr(229)=>930,chr(230)=>931,chr(231)=>463,chr(232)=>883,chr(233)=>836,chr(234)=>836,chr(235)=>867,chr(236)=>867,chr(237)=>696,chr(238)=>696,chr(239)=>874,chr(240)=>0,chr(241)=>874, + chr(242)=>760,chr(243)=>946,chr(244)=>771,chr(245)=>865,chr(246)=>771,chr(247)=>888,chr(248)=>967,chr(249)=>888,chr(250)=>831,chr(251)=>873,chr(252)=>927,chr(253)=>970,chr(254)=>918,chr(255)=>0); +$uv = array(32=>32,33=>array(9985,4),37=>9742,38=>array(9990,4),42=>9755,43=>9758,44=>array(9996,28),72=>9733,73=>array(10025,35),108=>9679,109=>10061,110=>9632,111=>array(10063,4),115=>9650,116=>9660,117=>9670,118=>10070,119=>9687,120=>array(10072,7),128=>array(10088,14),161=>array(10081,7),168=>9827,169=>9830,170=>9829,171=>9824,172=>array(9312,10),182=>array(10102,31),213=>8594,214=>array(8596,2),216=>array(10136,24),241=>array(10161,14)); +?> diff --git a/core/lib/fpdf/fpdf.php b/core/lib/fpdf/fpdf.php new file mode 100644 index 00000000..319652e8 --- /dev/null +++ b/core/lib/fpdf/fpdf.php @@ -0,0 +1,1910 @@ +_dochecks(); + // Initialization of properties + $this->state = 0; + $this->page = 0; + $this->n = 2; + $this->buffer = ''; + $this->pages = array(); + $this->PageInfo = array(); + $this->fonts = array(); + $this->FontFiles = array(); + $this->encodings = array(); + $this->cmaps = array(); + $this->images = array(); + $this->links = array(); + $this->InHeader = false; + $this->InFooter = false; + $this->lasth = 0; + $this->FontFamily = ''; + $this->FontStyle = ''; + $this->FontSizePt = 12; + $this->underline = false; + $this->DrawColor = '0 G'; + $this->FillColor = '0 g'; + $this->TextColor = '0 g'; + $this->ColorFlag = false; + $this->WithAlpha = false; + $this->ws = 0; + // Font path + if(defined('FPDF_FONTPATH')) + { + $this->fontpath = FPDF_FONTPATH; + if(substr($this->fontpath,-1)!='/' && substr($this->fontpath,-1)!='\\') + $this->fontpath .= '/'; + } + elseif(is_dir(dirname(__FILE__).'/font')) + $this->fontpath = dirname(__FILE__).'/font/'; + else + $this->fontpath = ''; + // Core fonts + $this->CoreFonts = array('courier', 'helvetica', 'times', 'symbol', 'zapfdingbats'); + // Scale factor + if($unit=='pt') + $this->k = 1; + elseif($unit=='mm') + $this->k = 72/25.4; + elseif($unit=='cm') + $this->k = 72/2.54; + elseif($unit=='in') + $this->k = 72; + else + $this->Error('Incorrect unit: '.$unit); + // Page sizes + $this->StdPageSizes = array('a3'=>array(841.89,1190.55), 'a4'=>array(595.28,841.89), 'a5'=>array(420.94,595.28), + 'letter'=>array(612,792), 'legal'=>array(612,1008)); + $size = $this->_getpagesize($size); + $this->DefPageSize = $size; + $this->CurPageSize = $size; + // Page orientation + $orientation = strtolower($orientation); + if($orientation=='p' || $orientation=='portrait') + { + $this->DefOrientation = 'P'; + $this->w = $size[0]; + $this->h = $size[1]; + } + elseif($orientation=='l' || $orientation=='landscape') + { + $this->DefOrientation = 'L'; + $this->w = $size[1]; + $this->h = $size[0]; + } + else + $this->Error('Incorrect orientation: '.$orientation); + $this->CurOrientation = $this->DefOrientation; + $this->wPt = $this->w*$this->k; + $this->hPt = $this->h*$this->k; + // Page rotation + $this->CurRotation = 0; + // Page margins (1 cm) + $margin = 28.35/$this->k; + $this->SetMargins($margin,$margin); + // Interior cell margin (1 mm) + $this->cMargin = $margin/10; + // Line width (0.2 mm) + $this->LineWidth = .567/$this->k; + // Automatic page break + $this->SetAutoPageBreak(true,2*$margin); + // Default display mode + $this->SetDisplayMode('default'); + // Enable compression + $this->SetCompression(true); + // Set default PDF version number + $this->PDFVersion = '1.3'; +} + +function SetMargins($left, $top, $right=null) +{ + // Set left, top and right margins + $this->lMargin = $left; + $this->tMargin = $top; + if($right===null) + $right = $left; + $this->rMargin = $right; +} + +function SetLeftMargin($margin) +{ + // Set left margin + $this->lMargin = $margin; + if($this->page>0 && $this->x<$margin) + $this->x = $margin; +} + +function SetTopMargin($margin) +{ + // Set top margin + $this->tMargin = $margin; +} + +function SetRightMargin($margin) +{ + // Set right margin + $this->rMargin = $margin; +} + +function SetAutoPageBreak($auto, $margin=0) +{ + // Set auto page break mode and triggering margin + $this->AutoPageBreak = $auto; + $this->bMargin = $margin; + $this->PageBreakTrigger = $this->h-$margin; +} + +function SetDisplayMode($zoom, $layout='default') +{ + // Set display mode in viewer + if($zoom=='fullpage' || $zoom=='fullwidth' || $zoom=='real' || $zoom=='default' || !is_string($zoom)) + $this->ZoomMode = $zoom; + else + $this->Error('Incorrect zoom display mode: '.$zoom); + if($layout=='single' || $layout=='continuous' || $layout=='two' || $layout=='default') + $this->LayoutMode = $layout; + else + $this->Error('Incorrect layout display mode: '.$layout); +} + +function SetCompression($compress) +{ + // Set page compression + if(function_exists('gzcompress')) + $this->compress = $compress; + else + $this->compress = false; +} + +function SetTitle($title, $isUTF8=false) +{ + // Title of document + $this->metadata['Title'] = $isUTF8 ? $title : utf8_encode($title); +} + +function SetAuthor($author, $isUTF8=false) +{ + // Author of document + $this->metadata['Author'] = $isUTF8 ? $author : utf8_encode($author); +} + +function SetSubject($subject, $isUTF8=false) +{ + // Subject of document + $this->metadata['Subject'] = $isUTF8 ? $subject : utf8_encode($subject); +} + +function SetKeywords($keywords, $isUTF8=false) +{ + // Keywords of document + $this->metadata['Keywords'] = $isUTF8 ? $keywords : utf8_encode($keywords); +} + +function SetCreator($creator, $isUTF8=false) +{ + // Creator of document + $this->metadata['Creator'] = $isUTF8 ? $creator : utf8_encode($creator); +} + +function AliasNbPages($alias='{nb}') +{ + // Define an alias for total number of pages + $this->AliasNbPages = $alias; +} + +function Error($msg) +{ + // Fatal error + throw new Exception('FPDF error: '.$msg); +} + +function Close() +{ + // Terminate document + if($this->state==3) + return; + if($this->page==0) + $this->AddPage(); + // Page footer + $this->InFooter = true; + $this->Footer(); + $this->InFooter = false; + // Close page + $this->_endpage(); + // Close document + $this->_enddoc(); +} + +function AddPage($orientation='', $size='', $rotation=0) +{ + // Start a new page + if($this->state==3) + $this->Error('The document is closed'); + $family = $this->FontFamily; + $style = $this->FontStyle.($this->underline ? 'U' : ''); + $fontsize = $this->FontSizePt; + $lw = $this->LineWidth; + $dc = $this->DrawColor; + $fc = $this->FillColor; + $tc = $this->TextColor; + $cf = $this->ColorFlag; + if($this->page>0) + { + // Page footer + $this->InFooter = true; + $this->Footer(); + $this->InFooter = false; + // Close page + $this->_endpage(); + } + // Start new page + $this->_beginpage($orientation,$size,$rotation); + // Set line cap style to square + $this->_out('2 J'); + // Set line width + $this->LineWidth = $lw; + $this->_out(sprintf('%.2F w',$lw*$this->k)); + // Set font + if($family) + $this->SetFont($family,$style,$fontsize); + // Set colors + $this->DrawColor = $dc; + if($dc!='0 G') + $this->_out($dc); + $this->FillColor = $fc; + if($fc!='0 g') + $this->_out($fc); + $this->TextColor = $tc; + $this->ColorFlag = $cf; + // Page header + $this->InHeader = true; + $this->Header(); + $this->InHeader = false; + // Restore line width + if($this->LineWidth!=$lw) + { + $this->LineWidth = $lw; + $this->_out(sprintf('%.2F w',$lw*$this->k)); + } + // Restore font + if($family) + $this->SetFont($family,$style,$fontsize); + // Restore colors + if($this->DrawColor!=$dc) + { + $this->DrawColor = $dc; + $this->_out($dc); + } + if($this->FillColor!=$fc) + { + $this->FillColor = $fc; + $this->_out($fc); + } + $this->TextColor = $tc; + $this->ColorFlag = $cf; +} + +function Header() +{ + // To be implemented in your own inherited class +} + +function Footer() +{ + // To be implemented in your own inherited class +} + +function PageNo() +{ + // Get current page number + return $this->page; +} + +function SetDrawColor($r, $g=null, $b=null) +{ + // Set color for all stroking operations + if(($r==0 && $g==0 && $b==0) || $g===null) + $this->DrawColor = sprintf('%.3F G',$r/255); + else + $this->DrawColor = sprintf('%.3F %.3F %.3F RG',$r/255,$g/255,$b/255); + if($this->page>0) + $this->_out($this->DrawColor); +} + +function SetFillColor($r, $g=null, $b=null) +{ + // Set color for all filling operations + if(($r==0 && $g==0 && $b==0) || $g===null) + $this->FillColor = sprintf('%.3F g',$r/255); + else + $this->FillColor = sprintf('%.3F %.3F %.3F rg',$r/255,$g/255,$b/255); + $this->ColorFlag = ($this->FillColor!=$this->TextColor); + if($this->page>0) + $this->_out($this->FillColor); +} + +function SetTextColor($r, $g=null, $b=null) +{ + // Set color for text + if(($r==0 && $g==0 && $b==0) || $g===null) + $this->TextColor = sprintf('%.3F g',$r/255); + else + $this->TextColor = sprintf('%.3F %.3F %.3F rg',$r/255,$g/255,$b/255); + $this->ColorFlag = ($this->FillColor!=$this->TextColor); +} + +function GetStringWidth($s) +{ + // Get width of a string in the current font + $s = (string)$s; + $cw = &$this->CurrentFont['cw']; + $w = 0; + $l = strlen($s); + for($i=0;$i<$l;$i++) + $w += $cw[$s[$i]]; + return $w*$this->FontSize/1000; +} + +function SetLineWidth($width) +{ + // Set line width + $this->LineWidth = $width; + if($this->page>0) + $this->_out(sprintf('%.2F w',$width*$this->k)); +} + +function Line($x1, $y1, $x2, $y2) +{ + // Draw a line + $this->_out(sprintf('%.2F %.2F m %.2F %.2F l S',$x1*$this->k,($this->h-$y1)*$this->k,$x2*$this->k,($this->h-$y2)*$this->k)); +} + +function Rect($x, $y, $w, $h, $style='') +{ + // Draw a rectangle + if($style=='F') + $op = 'f'; + elseif($style=='FD' || $style=='DF') + $op = 'B'; + else + $op = 'S'; + $this->_out(sprintf('%.2F %.2F %.2F %.2F re %s',$x*$this->k,($this->h-$y)*$this->k,$w*$this->k,-$h*$this->k,$op)); +} + +function AddFont($family, $style='', $file='') +{ + // Add a TrueType, OpenType or Type1 font + $family = strtolower($family); + if($file=='') + $file = str_replace(' ','',$family).strtolower($style).'.php'; + $style = strtoupper($style); + if($style=='IB') + $style = 'BI'; + $fontkey = $family.$style; + if(isset($this->fonts[$fontkey])) + return; + $info = $this->_loadfont($file); + $info['i'] = count($this->fonts)+1; + if(!empty($info['file'])) + { + // Embedded font + if($info['type']=='TrueType') + $this->FontFiles[$info['file']] = array('length1'=>$info['originalsize']); + else + $this->FontFiles[$info['file']] = array('length1'=>$info['size1'], 'length2'=>$info['size2']); + } + $this->fonts[$fontkey] = $info; +} + +function SetFont($family, $style='', $size=0) +{ + // Select a font; size given in points + if($family=='') + $family = $this->FontFamily; + else + $family = strtolower($family); + $style = strtoupper($style); + if(strpos($style,'U')!==false) + { + $this->underline = true; + $style = str_replace('U','',$style); + } + else + $this->underline = false; + if($style=='IB') + $style = 'BI'; + if($size==0) + $size = $this->FontSizePt; + // Test if font is already selected + if($this->FontFamily==$family && $this->FontStyle==$style && $this->FontSizePt==$size) + return; + // Test if font is already loaded + $fontkey = $family.$style; + if(!isset($this->fonts[$fontkey])) + { + // Test if one of the core fonts + if($family=='arial') + $family = 'helvetica'; + if(in_array($family,$this->CoreFonts)) + { + if($family=='symbol' || $family=='zapfdingbats') + $style = ''; + $fontkey = $family.$style; + if(!isset($this->fonts[$fontkey])) + $this->AddFont($family,$style); + } + else + $this->Error('Undefined font: '.$family.' '.$style); + } + // Select it + $this->FontFamily = $family; + $this->FontStyle = $style; + $this->FontSizePt = $size; + $this->FontSize = $size/$this->k; + $this->CurrentFont = &$this->fonts[$fontkey]; + if($this->page>0) + $this->_out(sprintf('BT /F%d %.2F Tf ET',$this->CurrentFont['i'],$this->FontSizePt)); +} + +function SetFontSize($size) +{ + // Set font size in points + if($this->FontSizePt==$size) + return; + $this->FontSizePt = $size; + $this->FontSize = $size/$this->k; + if($this->page>0) + $this->_out(sprintf('BT /F%d %.2F Tf ET',$this->CurrentFont['i'],$this->FontSizePt)); +} + +function AddLink() +{ + // Create a new internal link + $n = count($this->links)+1; + $this->links[$n] = array(0, 0); + return $n; +} + +function SetLink($link, $y=0, $page=-1) +{ + // Set destination of internal link + if($y==-1) + $y = $this->y; + if($page==-1) + $page = $this->page; + $this->links[$link] = array($page, $y); +} + +function Link($x, $y, $w, $h, $link) +{ + // Put a link on the page + $this->PageLinks[$this->page][] = array($x*$this->k, $this->hPt-$y*$this->k, $w*$this->k, $h*$this->k, $link); +} + +function Text($x, $y, $txt) +{ + // Output a string + if(!isset($this->CurrentFont)) + $this->Error('No font has been set'); + $s = sprintf('BT %.2F %.2F Td (%s) Tj ET',$x*$this->k,($this->h-$y)*$this->k,$this->_escape($txt)); + if($this->underline && $txt!='') + $s .= ' '.$this->_dounderline($x,$y,$txt); + if($this->ColorFlag) + $s = 'q '.$this->TextColor.' '.$s.' Q'; + $this->_out($s); +} + +function AcceptPageBreak() +{ + // Accept automatic page break or not + return $this->AutoPageBreak; +} + +function Cell($w, $h=0, $txt='', $border=0, $ln=0, $align='', $fill=false, $link='') +{ + // Output a cell + $k = $this->k; + if($this->y+$h>$this->PageBreakTrigger && !$this->InHeader && !$this->InFooter && $this->AcceptPageBreak()) + { + // Automatic page break + $x = $this->x; + $ws = $this->ws; + if($ws>0) + { + $this->ws = 0; + $this->_out('0 Tw'); + } + $this->AddPage($this->CurOrientation,$this->CurPageSize,$this->CurRotation); + $this->x = $x; + if($ws>0) + { + $this->ws = $ws; + $this->_out(sprintf('%.3F Tw',$ws*$k)); + } + } + if($w==0) + $w = $this->w-$this->rMargin-$this->x; + $s = ''; + if($fill || $border==1) + { + if($fill) + $op = ($border==1) ? 'B' : 'f'; + else + $op = 'S'; + $s = sprintf('%.2F %.2F %.2F %.2F re %s ',$this->x*$k,($this->h-$this->y)*$k,$w*$k,-$h*$k,$op); + } + if(is_string($border)) + { + $x = $this->x; + $y = $this->y; + if(strpos($border,'L')!==false) + $s .= sprintf('%.2F %.2F m %.2F %.2F l S ',$x*$k,($this->h-$y)*$k,$x*$k,($this->h-($y+$h))*$k); + if(strpos($border,'T')!==false) + $s .= sprintf('%.2F %.2F m %.2F %.2F l S ',$x*$k,($this->h-$y)*$k,($x+$w)*$k,($this->h-$y)*$k); + if(strpos($border,'R')!==false) + $s .= sprintf('%.2F %.2F m %.2F %.2F l S ',($x+$w)*$k,($this->h-$y)*$k,($x+$w)*$k,($this->h-($y+$h))*$k); + if(strpos($border,'B')!==false) + $s .= sprintf('%.2F %.2F m %.2F %.2F l S ',$x*$k,($this->h-($y+$h))*$k,($x+$w)*$k,($this->h-($y+$h))*$k); + } + if($txt!=='') + { + if(!isset($this->CurrentFont)) + $this->Error('No font has been set'); + if($align=='R') + $dx = $w-$this->cMargin-$this->GetStringWidth($txt); + elseif($align=='C') + $dx = ($w-$this->GetStringWidth($txt))/2; + else + $dx = $this->cMargin; + if($this->ColorFlag) + $s .= 'q '.$this->TextColor.' '; + $s .= sprintf('BT %.2F %.2F Td (%s) Tj ET',($this->x+$dx)*$k,($this->h-($this->y+.5*$h+.3*$this->FontSize))*$k,$this->_escape($txt)); + if($this->underline) + $s .= ' '.$this->_dounderline($this->x+$dx,$this->y+.5*$h+.3*$this->FontSize,$txt); + if($this->ColorFlag) + $s .= ' Q'; + if($link) + $this->Link($this->x+$dx,$this->y+.5*$h-.5*$this->FontSize,$this->GetStringWidth($txt),$this->FontSize,$link); + } + if($s) + $this->_out($s); + $this->lasth = $h; + if($ln>0) + { + // Go to next line + $this->y += $h; + if($ln==1) + $this->x = $this->lMargin; + } + else + $this->x += $w; +} + +function MultiCell($w, $h, $txt, $border=0, $align='J', $fill=false) +{ + // Output text with automatic or explicit line breaks + if(!isset($this->CurrentFont)) + $this->Error('No font has been set'); + $cw = &$this->CurrentFont['cw']; + if($w==0) + $w = $this->w-$this->rMargin-$this->x; + $wmax = ($w-2*$this->cMargin)*1000/$this->FontSize; + $s = str_replace("\r",'',$txt); + $nb = strlen($s); + if($nb>0 && $s[$nb-1]=="\n") + $nb--; + $b = 0; + if($border) + { + if($border==1) + { + $border = 'LTRB'; + $b = 'LRT'; + $b2 = 'LR'; + } + else + { + $b2 = ''; + if(strpos($border,'L')!==false) + $b2 .= 'L'; + if(strpos($border,'R')!==false) + $b2 .= 'R'; + $b = (strpos($border,'T')!==false) ? $b2.'T' : $b2; + } + } + $sep = -1; + $i = 0; + $j = 0; + $l = 0; + $ns = 0; + $nl = 1; + while($i<$nb) + { + // Get next character + $c = $s[$i]; + if($c=="\n") + { + // Explicit line break + if($this->ws>0) + { + $this->ws = 0; + $this->_out('0 Tw'); + } + $this->Cell($w,$h,substr($s,$j,$i-$j),$b,2,$align,$fill); + $i++; + $sep = -1; + $j = $i; + $l = 0; + $ns = 0; + $nl++; + if($border && $nl==2) + $b = $b2; + continue; + } + if($c==' ') + { + $sep = $i; + $ls = $l; + $ns++; + } + $l += $cw[$c]; + if($l>$wmax) + { + // Automatic line break + if($sep==-1) + { + if($i==$j) + $i++; + if($this->ws>0) + { + $this->ws = 0; + $this->_out('0 Tw'); + } + $this->Cell($w,$h,substr($s,$j,$i-$j),$b,2,$align,$fill); + } + else + { + if($align=='J') + { + $this->ws = ($ns>1) ? ($wmax-$ls)/1000*$this->FontSize/($ns-1) : 0; + $this->_out(sprintf('%.3F Tw',$this->ws*$this->k)); + } + $this->Cell($w,$h,substr($s,$j,$sep-$j),$b,2,$align,$fill); + $i = $sep+1; + } + $sep = -1; + $j = $i; + $l = 0; + $ns = 0; + $nl++; + if($border && $nl==2) + $b = $b2; + } + else + $i++; + } + // Last chunk + if($this->ws>0) + { + $this->ws = 0; + $this->_out('0 Tw'); + } + if($border && strpos($border,'B')!==false) + $b .= 'B'; + $this->Cell($w,$h,substr($s,$j,$i-$j),$b,2,$align,$fill); + $this->x = $this->lMargin; +} + +function Write($h, $txt, $link='') +{ + // Output text in flowing mode + if(!isset($this->CurrentFont)) + $this->Error('No font has been set'); + $cw = &$this->CurrentFont['cw']; + $w = $this->w-$this->rMargin-$this->x; + $wmax = ($w-2*$this->cMargin)*1000/$this->FontSize; + $s = str_replace("\r",'',$txt); + $nb = strlen($s); + $sep = -1; + $i = 0; + $j = 0; + $l = 0; + $nl = 1; + while($i<$nb) + { + // Get next character + $c = $s[$i]; + if($c=="\n") + { + // Explicit line break + $this->Cell($w,$h,substr($s,$j,$i-$j),0,2,'',false,$link); + $i++; + $sep = -1; + $j = $i; + $l = 0; + if($nl==1) + { + $this->x = $this->lMargin; + $w = $this->w-$this->rMargin-$this->x; + $wmax = ($w-2*$this->cMargin)*1000/$this->FontSize; + } + $nl++; + continue; + } + if($c==' ') + $sep = $i; + $l += $cw[$c]; + if($l>$wmax) + { + // Automatic line break + if($sep==-1) + { + if($this->x>$this->lMargin) + { + // Move to next line + $this->x = $this->lMargin; + $this->y += $h; + $w = $this->w-$this->rMargin-$this->x; + $wmax = ($w-2*$this->cMargin)*1000/$this->FontSize; + $i++; + $nl++; + continue; + } + if($i==$j) + $i++; + $this->Cell($w,$h,substr($s,$j,$i-$j),0,2,'',false,$link); + } + else + { + $this->Cell($w,$h,substr($s,$j,$sep-$j),0,2,'',false,$link); + $i = $sep+1; + } + $sep = -1; + $j = $i; + $l = 0; + if($nl==1) + { + $this->x = $this->lMargin; + $w = $this->w-$this->rMargin-$this->x; + $wmax = ($w-2*$this->cMargin)*1000/$this->FontSize; + } + $nl++; + } + else + $i++; + } + // Last chunk + if($i!=$j) + $this->Cell($l/1000*$this->FontSize,$h,substr($s,$j),0,0,'',false,$link); +} + +function Ln($h=null) +{ + // Line feed; default value is the last cell height + $this->x = $this->lMargin; + if($h===null) + $this->y += $this->lasth; + else + $this->y += $h; +} + +function Image($file, $x=null, $y=null, $w=0, $h=0, $type='', $link='') +{ + // Put an image on the page + if($file=='') + $this->Error('Image file name is empty'); + if(!isset($this->images[$file])) + { + // First use of this image, get info + if($type=='') + { + $pos = strrpos($file,'.'); + if(!$pos) + $this->Error('Image file has no extension and no type was specified: '.$file); + $type = substr($file,$pos+1); + } + $type = strtolower($type); + if($type=='jpeg') + $type = 'jpg'; + $mtd = '_parse'.$type; + if(!method_exists($this,$mtd)) + $this->Error('Unsupported image type: '.$type); + $info = $this->$mtd($file); + $info['i'] = count($this->images)+1; + $this->images[$file] = $info; + } + else + $info = $this->images[$file]; + + // Automatic width and height calculation if needed + if($w==0 && $h==0) + { + // Put image at 96 dpi + $w = -96; + $h = -96; + } + if($w<0) + $w = -$info['w']*72/$w/$this->k; + if($h<0) + $h = -$info['h']*72/$h/$this->k; + if($w==0) + $w = $h*$info['w']/$info['h']; + if($h==0) + $h = $w*$info['h']/$info['w']; + + // Flowing mode + if($y===null) + { + if($this->y+$h>$this->PageBreakTrigger && !$this->InHeader && !$this->InFooter && $this->AcceptPageBreak()) + { + // Automatic page break + $x2 = $this->x; + $this->AddPage($this->CurOrientation,$this->CurPageSize,$this->CurRotation); + $this->x = $x2; + } + $y = $this->y; + $this->y += $h; + } + + if($x===null) + $x = $this->x; + $this->_out(sprintf('q %.2F 0 0 %.2F %.2F %.2F cm /I%d Do Q',$w*$this->k,$h*$this->k,$x*$this->k,($this->h-($y+$h))*$this->k,$info['i'])); + if($link) + $this->Link($x,$y,$w,$h,$link); +} + +function GetPageWidth() +{ + // Get current page width + return $this->w; +} + +function GetPageHeight() +{ + // Get current page height + return $this->h; +} + +function GetX() +{ + // Get x position + return $this->x; +} + +function SetX($x) +{ + // Set x position + if($x>=0) + $this->x = $x; + else + $this->x = $this->w+$x; +} + +function GetY() +{ + // Get y position + return $this->y; +} + +function SetY($y, $resetX=true) +{ + // Set y position and optionally reset x + if($y>=0) + $this->y = $y; + else + $this->y = $this->h+$y; + if($resetX) + $this->x = $this->lMargin; +} + +function SetXY($x, $y) +{ + // Set x and y positions + $this->SetX($x); + $this->SetY($y,false); +} + +function Output($dest='', $name='', $isUTF8=false) +{ + // Output PDF to some destination + $this->Close(); + if(strlen($name)==1 && strlen($dest)!=1) + { + // Fix parameter order + $tmp = $dest; + $dest = $name; + $name = $tmp; + } + if($dest=='') + $dest = 'I'; + if($name=='') + $name = 'doc.pdf'; + switch(strtoupper($dest)) + { + case 'I': + // Send to standard output + $this->_checkoutput(); + if(PHP_SAPI!='cli') + { + // We send to a browser + header('Content-Type: application/pdf'); + header('Content-Disposition: inline; '.$this->_httpencode('filename',$name,$isUTF8)); + header('Cache-Control: private, max-age=0, must-revalidate'); + header('Pragma: public'); + } + echo $this->buffer; + break; + case 'D': + // Download file + $this->_checkoutput(); + header('Content-Type: application/x-download'); + header('Content-Disposition: attachment; '.$this->_httpencode('filename',$name,$isUTF8)); + header('Cache-Control: private, max-age=0, must-revalidate'); + header('Pragma: public'); + echo $this->buffer; + break; + case 'F': + // Save to local file + if(!file_put_contents($name,$this->buffer)) + $this->Error('Unable to create output file: '.$name); + break; + case 'S': + // Return as a string + return $this->buffer; + default: + $this->Error('Incorrect output destination: '.$dest); + } + return ''; +} + +/******************************************************************************* +* Protected methods * +*******************************************************************************/ + +protected function _dochecks() +{ + // Check mbstring overloading + if(ini_get('mbstring.func_overload') & 2) + $this->Error('mbstring overloading must be disabled'); +} + +protected function _checkoutput() +{ + if(PHP_SAPI!='cli') + { + if(headers_sent($file,$line)) + $this->Error("Some data has already been output, can't send PDF file (output started at $file:$line)"); + } + if(ob_get_length()) + { + // The output buffer is not empty + if(preg_match('/^(\xEF\xBB\xBF)?\s*$/',ob_get_contents())) + { + // It contains only a UTF-8 BOM and/or whitespace, let's clean it + ob_clean(); + } + else + $this->Error("Some data has already been output, can't send PDF file"); + } +} + +protected function _getpagesize($size) +{ + if(is_string($size)) + { + $size = strtolower($size); + if(!isset($this->StdPageSizes[$size])) + $this->Error('Unknown page size: '.$size); + $a = $this->StdPageSizes[$size]; + return array($a[0]/$this->k, $a[1]/$this->k); + } + else + { + if($size[0]>$size[1]) + return array($size[1], $size[0]); + else + return $size; + } +} + +protected function _beginpage($orientation, $size, $rotation) +{ + $this->page++; + $this->pages[$this->page] = ''; + $this->PageLinks[$this->page] = array(); + $this->state = 2; + $this->x = $this->lMargin; + $this->y = $this->tMargin; + $this->FontFamily = ''; + // Check page size and orientation + if($orientation=='') + $orientation = $this->DefOrientation; + else + $orientation = strtoupper($orientation[0]); + if($size=='') + $size = $this->DefPageSize; + else + $size = $this->_getpagesize($size); + if($orientation!=$this->CurOrientation || $size[0]!=$this->CurPageSize[0] || $size[1]!=$this->CurPageSize[1]) + { + // New size or orientation + if($orientation=='P') + { + $this->w = $size[0]; + $this->h = $size[1]; + } + else + { + $this->w = $size[1]; + $this->h = $size[0]; + } + $this->wPt = $this->w*$this->k; + $this->hPt = $this->h*$this->k; + $this->PageBreakTrigger = $this->h-$this->bMargin; + $this->CurOrientation = $orientation; + $this->CurPageSize = $size; + } + if($orientation!=$this->DefOrientation || $size[0]!=$this->DefPageSize[0] || $size[1]!=$this->DefPageSize[1]) + $this->PageInfo[$this->page]['size'] = array($this->wPt, $this->hPt); + if($rotation!=0) + { + if($rotation%90!=0) + $this->Error('Incorrect rotation value: '.$rotation); + $this->CurRotation = $rotation; + $this->PageInfo[$this->page]['rotation'] = $rotation; + } +} + +protected function _endpage() +{ + $this->state = 1; +} + +protected function _loadfont($font) +{ + // Load a font definition file from the font directory + if(strpos($font,'/')!==false || strpos($font,"\\")!==false) + $this->Error('Incorrect font definition file name: '.$font); + include($this->fontpath.$font); + if(!isset($name)) + $this->Error('Could not include font definition file'); + if(isset($enc)) + $enc = strtolower($enc); + if(!isset($subsetted)) + $subsetted = false; + return get_defined_vars(); +} + +protected function _isascii($s) +{ + // Test if string is ASCII + $nb = strlen($s); + for($i=0;$i<$nb;$i++) + { + if(ord($s[$i])>127) + return false; + } + return true; +} + +protected function _httpencode($param, $value, $isUTF8) +{ + // Encode HTTP header field parameter + if($this->_isascii($value)) + return $param.'="'.$value.'"'; + if(!$isUTF8) + $value = utf8_encode($value); + if(strpos($_SERVER['HTTP_USER_AGENT'],'MSIE')!==false) + return $param.'="'.rawurlencode($value).'"'; + else + return $param."*=UTF-8''".rawurlencode($value); +} + +protected function _UTF8toUTF16($s) +{ + // Convert UTF-8 to UTF-16BE with BOM + $res = "\xFE\xFF"; + $nb = strlen($s); + $i = 0; + while($i<$nb) + { + $c1 = ord($s[$i++]); + if($c1>=224) + { + // 3-byte character + $c2 = ord($s[$i++]); + $c3 = ord($s[$i++]); + $res .= chr((($c1 & 0x0F)<<4) + (($c2 & 0x3C)>>2)); + $res .= chr((($c2 & 0x03)<<6) + ($c3 & 0x3F)); + } + elseif($c1>=192) + { + // 2-byte character + $c2 = ord($s[$i++]); + $res .= chr(($c1 & 0x1C)>>2); + $res .= chr((($c1 & 0x03)<<6) + ($c2 & 0x3F)); + } + else + { + // Single-byte character + $res .= "\0".chr($c1); + } + } + return $res; +} + +protected function _escape($s) +{ + // Escape special characters + if(strpos($s,'(')!==false || strpos($s,')')!==false || strpos($s,'\\')!==false || strpos($s,"\r")!==false) + return str_replace(array('\\','(',')',"\r"), array('\\\\','\\(','\\)','\\r'), $s); + else + return $s; +} + +protected function _textstring($s) +{ + // Format a text string + if(!$this->_isascii($s)) + $s = $this->_UTF8toUTF16($s); + return '('.$this->_escape($s).')'; +} + +protected function _dounderline($x, $y, $txt) +{ + // Underline text + $up = $this->CurrentFont['up']; + $ut = $this->CurrentFont['ut']; + $w = $this->GetStringWidth($txt)+$this->ws*substr_count($txt,' '); + return sprintf('%.2F %.2F %.2F %.2F re f',$x*$this->k,($this->h-($y-$up/1000*$this->FontSize))*$this->k,$w*$this->k,-$ut/1000*$this->FontSizePt); +} + +protected function _parsejpg($file) +{ + // Extract info from a JPEG file + $a = getimagesize($file); + if(!$a) + $this->Error('Missing or incorrect image file: '.$file); + if($a[2]!=2) + $this->Error('Not a JPEG file: '.$file); + if(!isset($a['channels']) || $a['channels']==3) + $colspace = 'DeviceRGB'; + elseif($a['channels']==4) + $colspace = 'DeviceCMYK'; + else + $colspace = 'DeviceGray'; + $bpc = isset($a['bits']) ? $a['bits'] : 8; + $data = file_get_contents($file); + return array('w'=>$a[0], 'h'=>$a[1], 'cs'=>$colspace, 'bpc'=>$bpc, 'f'=>'DCTDecode', 'data'=>$data); +} + +protected function _parsepng($file) +{ + // Extract info from a PNG file + $f = fopen($file,'rb'); + if(!$f) + $this->Error('Can\'t open image file: '.$file); + $info = $this->_parsepngstream($f,$file); + fclose($f); + return $info; +} + +protected function _parsepngstream($f, $file) +{ + // Check signature + if($this->_readstream($f,8)!=chr(137).'PNG'.chr(13).chr(10).chr(26).chr(10)) + $this->Error('Not a PNG file: '.$file); + + // Read header chunk + $this->_readstream($f,4); + if($this->_readstream($f,4)!='IHDR') + $this->Error('Incorrect PNG file: '.$file); + $w = $this->_readint($f); + $h = $this->_readint($f); + $bpc = ord($this->_readstream($f,1)); + if($bpc>8) + $this->Error('16-bit depth not supported: '.$file); + $ct = ord($this->_readstream($f,1)); + if($ct==0 || $ct==4) + $colspace = 'DeviceGray'; + elseif($ct==2 || $ct==6) + $colspace = 'DeviceRGB'; + elseif($ct==3) + $colspace = 'Indexed'; + else + $this->Error('Unknown color type: '.$file); + if(ord($this->_readstream($f,1))!=0) + $this->Error('Unknown compression method: '.$file); + if(ord($this->_readstream($f,1))!=0) + $this->Error('Unknown filter method: '.$file); + if(ord($this->_readstream($f,1))!=0) + $this->Error('Interlacing not supported: '.$file); + $this->_readstream($f,4); + $dp = '/Predictor 15 /Colors '.($colspace=='DeviceRGB' ? 3 : 1).' /BitsPerComponent '.$bpc.' /Columns '.$w; + + // Scan chunks looking for palette, transparency and image data + $pal = ''; + $trns = ''; + $data = ''; + do + { + $n = $this->_readint($f); + $type = $this->_readstream($f,4); + if($type=='PLTE') + { + // Read palette + $pal = $this->_readstream($f,$n); + $this->_readstream($f,4); + } + elseif($type=='tRNS') + { + // Read transparency info + $t = $this->_readstream($f,$n); + if($ct==0) + $trns = array(ord(substr($t,1,1))); + elseif($ct==2) + $trns = array(ord(substr($t,1,1)), ord(substr($t,3,1)), ord(substr($t,5,1))); + else + { + $pos = strpos($t,chr(0)); + if($pos!==false) + $trns = array($pos); + } + $this->_readstream($f,4); + } + elseif($type=='IDAT') + { + // Read image data block + $data .= $this->_readstream($f,$n); + $this->_readstream($f,4); + } + elseif($type=='IEND') + break; + else + $this->_readstream($f,$n+4); + } + while($n); + + if($colspace=='Indexed' && empty($pal)) + $this->Error('Missing palette in '.$file); + $info = array('w'=>$w, 'h'=>$h, 'cs'=>$colspace, 'bpc'=>$bpc, 'f'=>'FlateDecode', 'dp'=>$dp, 'pal'=>$pal, 'trns'=>$trns); + if($ct>=4) + { + // Extract alpha channel + if(!function_exists('gzuncompress')) + $this->Error('Zlib not available, can\'t handle alpha channel: '.$file); + $data = gzuncompress($data); + $color = ''; + $alpha = ''; + if($ct==4) + { + // Gray image + $len = 2*$w; + for($i=0;$i<$h;$i++) + { + $pos = (1+$len)*$i; + $color .= $data[$pos]; + $alpha .= $data[$pos]; + $line = substr($data,$pos+1,$len); + $color .= preg_replace('/(.)./s','$1',$line); + $alpha .= preg_replace('/.(.)/s','$1',$line); + } + } + else + { + // RGB image + $len = 4*$w; + for($i=0;$i<$h;$i++) + { + $pos = (1+$len)*$i; + $color .= $data[$pos]; + $alpha .= $data[$pos]; + $line = substr($data,$pos+1,$len); + $color .= preg_replace('/(.{3})./s','$1',$line); + $alpha .= preg_replace('/.{3}(.)/s','$1',$line); + } + } + unset($data); + $data = gzcompress($color); + $info['smask'] = gzcompress($alpha); + $this->WithAlpha = true; + if($this->PDFVersion<'1.4') + $this->PDFVersion = '1.4'; + } + $info['data'] = $data; + return $info; +} + +protected function _readstream($f, $n) +{ + // Read n bytes from stream + $res = ''; + while($n>0 && !feof($f)) + { + $s = fread($f,$n); + if($s===false) + $this->Error('Error while reading stream'); + $n -= strlen($s); + $res .= $s; + } + if($n>0) + $this->Error('Unexpected end of stream'); + return $res; +} + +protected function _readint($f) +{ + // Read a 4-byte integer from stream + $a = unpack('Ni',$this->_readstream($f,4)); + return $a['i']; +} + +protected function _parsegif($file) +{ + // Extract info from a GIF file (via PNG conversion) + if(!function_exists('imagepng')) + $this->Error('GD extension is required for GIF support'); + if(!function_exists('imagecreatefromgif')) + $this->Error('GD has no GIF read support'); + $im = imagecreatefromgif($file); + if(!$im) + $this->Error('Missing or incorrect image file: '.$file); + imageinterlace($im,0); + ob_start(); + imagepng($im); + $data = ob_get_clean(); + imagedestroy($im); + $f = fopen('php://temp','rb+'); + if(!$f) + $this->Error('Unable to create memory stream'); + fwrite($f,$data); + rewind($f); + $info = $this->_parsepngstream($f,$file); + fclose($f); + return $info; +} + +protected function _out($s) +{ + // Add a line to the document + if($this->state==2) + $this->pages[$this->page] .= $s."\n"; + elseif($this->state==1) + $this->_put($s); + elseif($this->state==0) + $this->Error('No page has been added yet'); + elseif($this->state==3) + $this->Error('The document is closed'); +} + +protected function _put($s) +{ + $this->buffer .= $s."\n"; +} + +protected function _getoffset() +{ + return strlen($this->buffer); +} + +protected function _newobj($n=null) +{ + // Begin a new object + if($n===null) + $n = ++$this->n; + $this->offsets[$n] = $this->_getoffset(); + $this->_put($n.' 0 obj'); +} + +protected function _putstream($data) +{ + $this->_put('stream'); + $this->_put($data); + $this->_put('endstream'); +} + +protected function _putstreamobject($data) +{ + if($this->compress) + { + $entries = '/Filter /FlateDecode '; + $data = gzcompress($data); + } + else + $entries = ''; + $entries .= '/Length '.strlen($data); + $this->_newobj(); + $this->_put('<<'.$entries.'>>'); + $this->_putstream($data); + $this->_put('endobj'); +} + +protected function _putpage($n) +{ + $this->_newobj(); + $this->_put('<_put('/Parent 1 0 R'); + if(isset($this->PageInfo[$n]['size'])) + $this->_put(sprintf('/MediaBox [0 0 %.2F %.2F]',$this->PageInfo[$n]['size'][0],$this->PageInfo[$n]['size'][1])); + if(isset($this->PageInfo[$n]['rotation'])) + $this->_put('/Rotate '.$this->PageInfo[$n]['rotation']); + $this->_put('/Resources 2 0 R'); + if(!empty($this->PageLinks[$n])) + { + $s = '/Annots ['; + foreach($this->PageLinks[$n] as $pl) + $s .= $pl[5].' 0 R '; + $s .= ']'; + $this->_put($s); + } + if($this->WithAlpha) + $this->_put('/Group <>'); + $this->_put('/Contents '.($this->n+1).' 0 R>>'); + $this->_put('endobj'); + // Page content + if(!empty($this->AliasNbPages)) + $this->pages[$n] = str_replace($this->AliasNbPages,$this->page,$this->pages[$n]); + $this->_putstreamobject($this->pages[$n]); + // Annotations + foreach($this->PageLinks[$n] as $pl) + { + $rect = sprintf('%.2F %.2F %.2F %.2F',$pl[0],$pl[1],$pl[0]+$pl[2],$pl[1]-$pl[3]); + $s = '<_textstring($pl[4]).'>>>>'; + else + { + $l = $this->links[$pl[4]]; + if(isset($this->PageInfo[$l[0]]['size'])) + $h = $this->PageInfo[$l[0]]['size'][1]; + else + $h = ($this->DefOrientation=='P') ? $this->DefPageSize[1]*$this->k : $this->DefPageSize[0]*$this->k; + $s .= sprintf('/Dest [%d 0 R /XYZ 0 %.2F null]>>',$this->PageInfo[$l[0]]['n'],$h-$l[1]*$this->k); + } + $this->_newobj(); + $this->_put($s); + $this->_put('endobj'); + } +} + +protected function _putpages() +{ + $nb = $this->page; + $n = $this->n; + for($i=1;$i<=$nb;$i++) + { + $this->PageInfo[$i]['n'] = ++$n; + $n++; + foreach($this->PageLinks[$i] as &$pl) + $pl[5] = ++$n; + unset($pl); + } + for($i=1;$i<=$nb;$i++) + $this->_putpage($i); + // Pages root + $this->_newobj(1); + $this->_put('<PageInfo[$i]['n'].' 0 R '; + $kids .= ']'; + $this->_put($kids); + $this->_put('/Count '.$nb); + if($this->DefOrientation=='P') + { + $w = $this->DefPageSize[0]; + $h = $this->DefPageSize[1]; + } + else + { + $w = $this->DefPageSize[1]; + $h = $this->DefPageSize[0]; + } + $this->_put(sprintf('/MediaBox [0 0 %.2F %.2F]',$w*$this->k,$h*$this->k)); + $this->_put('>>'); + $this->_put('endobj'); +} + +protected function _putfonts() +{ + foreach($this->FontFiles as $file=>$info) + { + // Font file embedding + $this->_newobj(); + $this->FontFiles[$file]['n'] = $this->n; + $font = file_get_contents($this->fontpath.$file,true); + if(!$font) + $this->Error('Font file not found: '.$file); + $compressed = (substr($file,-2)=='.z'); + if(!$compressed && isset($info['length2'])) + $font = substr($font,6,$info['length1']).substr($font,6+$info['length1']+6,$info['length2']); + $this->_put('<_put('/Filter /FlateDecode'); + $this->_put('/Length1 '.$info['length1']); + if(isset($info['length2'])) + $this->_put('/Length2 '.$info['length2'].' /Length3 0'); + $this->_put('>>'); + $this->_putstream($font); + $this->_put('endobj'); + } + foreach($this->fonts as $k=>$font) + { + // Encoding + if(isset($font['diff'])) + { + if(!isset($this->encodings[$font['enc']])) + { + $this->_newobj(); + $this->_put('<>'); + $this->_put('endobj'); + $this->encodings[$font['enc']] = $this->n; + } + } + // ToUnicode CMap + if(isset($font['uv'])) + { + if(isset($font['enc'])) + $cmapkey = $font['enc']; + else + $cmapkey = $font['name']; + if(!isset($this->cmaps[$cmapkey])) + { + $cmap = $this->_tounicodecmap($font['uv']); + $this->_putstreamobject($cmap); + $this->cmaps[$cmapkey] = $this->n; + } + } + // Font object + $this->fonts[$k]['n'] = $this->n+1; + $type = $font['type']; + $name = $font['name']; + if($font['subsetted']) + $name = 'AAAAAA+'.$name; + if($type=='Core') + { + // Core font + $this->_newobj(); + $this->_put('<_put('/BaseFont /'.$name); + $this->_put('/Subtype /Type1'); + if($name!='Symbol' && $name!='ZapfDingbats') + $this->_put('/Encoding /WinAnsiEncoding'); + if(isset($font['uv'])) + $this->_put('/ToUnicode '.$this->cmaps[$cmapkey].' 0 R'); + $this->_put('>>'); + $this->_put('endobj'); + } + elseif($type=='Type1' || $type=='TrueType') + { + // Additional Type1 or TrueType/OpenType font + $this->_newobj(); + $this->_put('<_put('/BaseFont /'.$name); + $this->_put('/Subtype /'.$type); + $this->_put('/FirstChar 32 /LastChar 255'); + $this->_put('/Widths '.($this->n+1).' 0 R'); + $this->_put('/FontDescriptor '.($this->n+2).' 0 R'); + if(isset($font['diff'])) + $this->_put('/Encoding '.$this->encodings[$font['enc']].' 0 R'); + else + $this->_put('/Encoding /WinAnsiEncoding'); + if(isset($font['uv'])) + $this->_put('/ToUnicode '.$this->cmaps[$cmapkey].' 0 R'); + $this->_put('>>'); + $this->_put('endobj'); + // Widths + $this->_newobj(); + $cw = &$font['cw']; + $s = '['; + for($i=32;$i<=255;$i++) + $s .= $cw[chr($i)].' '; + $this->_put($s.']'); + $this->_put('endobj'); + // Descriptor + $this->_newobj(); + $s = '<$v) + $s .= ' /'.$k.' '.$v; + if(!empty($font['file'])) + $s .= ' /FontFile'.($type=='Type1' ? '' : '2').' '.$this->FontFiles[$font['file']]['n'].' 0 R'; + $this->_put($s.'>>'); + $this->_put('endobj'); + } + else + { + // Allow for additional types + $mtd = '_put'.strtolower($type); + if(!method_exists($this,$mtd)) + $this->Error('Unsupported font type: '.$type); + $this->$mtd($font); + } + } +} + +protected function _tounicodecmap($uv) +{ + $ranges = ''; + $nbr = 0; + $chars = ''; + $nbc = 0; + foreach($uv as $c=>$v) + { + if(is_array($v)) + { + $ranges .= sprintf("<%02X> <%02X> <%04X>\n",$c,$c+$v[1]-1,$v[0]); + $nbr++; + } + else + { + $chars .= sprintf("<%02X> <%04X>\n",$c,$v); + $nbc++; + } + } + $s = "/CIDInit /ProcSet findresource begin\n"; + $s .= "12 dict begin\n"; + $s .= "begincmap\n"; + $s .= "/CIDSystemInfo\n"; + $s .= "<0) + { + $s .= "$nbr beginbfrange\n"; + $s .= $ranges; + $s .= "endbfrange\n"; + } + if($nbc>0) + { + $s .= "$nbc beginbfchar\n"; + $s .= $chars; + $s .= "endbfchar\n"; + } + $s .= "endcmap\n"; + $s .= "CMapName currentdict /CMap defineresource pop\n"; + $s .= "end\n"; + $s .= "end"; + return $s; +} + +protected function _putimages() +{ + foreach(array_keys($this->images) as $file) + { + $this->_putimage($this->images[$file]); + unset($this->images[$file]['data']); + unset($this->images[$file]['smask']); + } +} + +protected function _putimage(&$info) +{ + $this->_newobj(); + $info['n'] = $this->n; + $this->_put('<_put('/Subtype /Image'); + $this->_put('/Width '.$info['w']); + $this->_put('/Height '.$info['h']); + if($info['cs']=='Indexed') + $this->_put('/ColorSpace [/Indexed /DeviceRGB '.(strlen($info['pal'])/3-1).' '.($this->n+1).' 0 R]'); + else + { + $this->_put('/ColorSpace /'.$info['cs']); + if($info['cs']=='DeviceCMYK') + $this->_put('/Decode [1 0 1 0 1 0 1 0]'); + } + $this->_put('/BitsPerComponent '.$info['bpc']); + if(isset($info['f'])) + $this->_put('/Filter /'.$info['f']); + if(isset($info['dp'])) + $this->_put('/DecodeParms <<'.$info['dp'].'>>'); + if(isset($info['trns']) && is_array($info['trns'])) + { + $trns = ''; + for($i=0;$i_put('/Mask ['.$trns.']'); + } + if(isset($info['smask'])) + $this->_put('/SMask '.($this->n+1).' 0 R'); + $this->_put('/Length '.strlen($info['data']).'>>'); + $this->_putstream($info['data']); + $this->_put('endobj'); + // Soft mask + if(isset($info['smask'])) + { + $dp = '/Predictor 15 /Colors 1 /BitsPerComponent 8 /Columns '.$info['w']; + $smask = array('w'=>$info['w'], 'h'=>$info['h'], 'cs'=>'DeviceGray', 'bpc'=>8, 'f'=>$info['f'], 'dp'=>$dp, 'data'=>$info['smask']); + $this->_putimage($smask); + } + // Palette + if($info['cs']=='Indexed') + $this->_putstreamobject($info['pal']); +} + +protected function _putxobjectdict() +{ + foreach($this->images as $image) + $this->_put('/I'.$image['i'].' '.$image['n'].' 0 R'); +} + +protected function _putresourcedict() +{ + $this->_put('/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]'); + $this->_put('/Font <<'); + foreach($this->fonts as $font) + $this->_put('/F'.$font['i'].' '.$font['n'].' 0 R'); + $this->_put('>>'); + $this->_put('/XObject <<'); + $this->_putxobjectdict(); + $this->_put('>>'); +} + +protected function _putresources() +{ + $this->_putfonts(); + $this->_putimages(); + // Resource dictionary + $this->_newobj(2); + $this->_put('<<'); + $this->_putresourcedict(); + $this->_put('>>'); + $this->_put('endobj'); +} + +protected function _putinfo() +{ + $this->metadata['Producer'] = 'FPDF '.FPDF_VERSION; + $this->metadata['CreationDate'] = 'D:'.@date('YmdHis'); + foreach($this->metadata as $key=>$value) + $this->_put('/'.$key.' '.$this->_textstring($value)); +} + +protected function _putcatalog() +{ + $n = $this->PageInfo[1]['n']; + $this->_put('/Type /Catalog'); + $this->_put('/Pages 1 0 R'); + if($this->ZoomMode=='fullpage') + $this->_put('/OpenAction ['.$n.' 0 R /Fit]'); + elseif($this->ZoomMode=='fullwidth') + $this->_put('/OpenAction ['.$n.' 0 R /FitH null]'); + elseif($this->ZoomMode=='real') + $this->_put('/OpenAction ['.$n.' 0 R /XYZ null null 1]'); + elseif(!is_string($this->ZoomMode)) + $this->_put('/OpenAction ['.$n.' 0 R /XYZ null null '.sprintf('%.2F',$this->ZoomMode/100).']'); + if($this->LayoutMode=='single') + $this->_put('/PageLayout /SinglePage'); + elseif($this->LayoutMode=='continuous') + $this->_put('/PageLayout /OneColumn'); + elseif($this->LayoutMode=='two') + $this->_put('/PageLayout /TwoColumnLeft'); +} + +protected function _putheader() +{ + $this->_put('%PDF-'.$this->PDFVersion); +} + +protected function _puttrailer() +{ + $this->_put('/Size '.($this->n+1)); + $this->_put('/Root '.$this->n.' 0 R'); + $this->_put('/Info '.($this->n-1).' 0 R'); +} + +protected function _enddoc() +{ + $this->_putheader(); + $this->_putpages(); + $this->_putresources(); + // Info + $this->_newobj(); + $this->_put('<<'); + $this->_putinfo(); + $this->_put('>>'); + $this->_put('endobj'); + // Catalog + $this->_newobj(); + $this->_put('<<'); + $this->_putcatalog(); + $this->_put('>>'); + $this->_put('endobj'); + // Cross-ref + $offset = $this->_getoffset(); + $this->_put('xref'); + $this->_put('0 '.($this->n+1)); + $this->_put('0000000000 65535 f '); + for($i=1;$i<=$this->n;$i++) + $this->_put(sprintf('%010d 00000 n ',$this->offsets[$i])); + // Trailer + $this->_put('trailer'); + $this->_put('<<'); + $this->_puttrailer(); + $this->_put('>>'); + $this->_put('startxref'); + $this->_put($offset); + $this->_put('%%EOF'); + $this->state = 3; +} +} +?>