Mise à jour des dépendences
This commit is contained in:
parent
bfecdbfe98
commit
4b3fa030d8
76
lib/MPDF/composer.lock
generated
76
lib/MPDF/composer.lock
generated
@ -8,16 +8,16 @@
|
|||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "mpdf/mpdf",
|
"name": "mpdf/mpdf",
|
||||||
"version": "v8.0.3",
|
"version": "v8.0.7",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/mpdf/mpdf.git",
|
"url": "https://github.com/mpdf/mpdf.git",
|
||||||
"reference": "6dd4285aff21f013554ff752046bb44ab1240f5f"
|
"reference": "7daf07f15334ed59a276bd52131dcca48794cdbd"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/mpdf/mpdf/zipball/6dd4285aff21f013554ff752046bb44ab1240f5f",
|
"url": "https://api.github.com/repos/mpdf/mpdf/zipball/7daf07f15334ed59a276bd52131dcca48794cdbd",
|
||||||
"reference": "6dd4285aff21f013554ff752046bb44ab1240f5f",
|
"reference": "7daf07f15334ed59a276bd52131dcca48794cdbd",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -25,7 +25,7 @@
|
|||||||
"ext-mbstring": "*",
|
"ext-mbstring": "*",
|
||||||
"myclabs/deep-copy": "^1.7",
|
"myclabs/deep-copy": "^1.7",
|
||||||
"paragonie/random_compat": "^1.4|^2.0|9.99.99",
|
"paragonie/random_compat": "^1.4|^2.0|9.99.99",
|
||||||
"php": "^5.6 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0",
|
"php": "^5.6 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0",
|
||||||
"psr/log": "^1.0",
|
"psr/log": "^1.0",
|
||||||
"setasign/fpdi": "^2.1"
|
"setasign/fpdi": "^2.1"
|
||||||
},
|
},
|
||||||
@ -73,24 +73,30 @@
|
|||||||
"php",
|
"php",
|
||||||
"utf-8"
|
"utf-8"
|
||||||
],
|
],
|
||||||
"time": "2019-10-25T17:54:07+00:00"
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://www.paypal.me/mpdf",
|
||||||
|
"type": "custom"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"time": "2020-07-15T09:48:00+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "myclabs/deep-copy",
|
"name": "myclabs/deep-copy",
|
||||||
"version": "1.9.3",
|
"version": "1.10.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/myclabs/DeepCopy.git",
|
"url": "https://github.com/myclabs/DeepCopy.git",
|
||||||
"reference": "007c053ae6f31bba39dfa19a7726f56e9763bbea"
|
"reference": "969b211f9a51aa1f6c01d1d2aef56d3bd91598e5"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/007c053ae6f31bba39dfa19a7726f56e9763bbea",
|
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/969b211f9a51aa1f6c01d1d2aef56d3bd91598e5",
|
||||||
"reference": "007c053ae6f31bba39dfa19a7726f56e9763bbea",
|
"reference": "969b211f9a51aa1f6c01d1d2aef56d3bd91598e5",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": "^7.1"
|
"php": "^7.1 || ^8.0"
|
||||||
},
|
},
|
||||||
"replace": {
|
"replace": {
|
||||||
"myclabs/deep-copy": "self.version"
|
"myclabs/deep-copy": "self.version"
|
||||||
@ -121,7 +127,13 @@
|
|||||||
"object",
|
"object",
|
||||||
"object graph"
|
"object graph"
|
||||||
],
|
],
|
||||||
"time": "2019-08-09T12:45:53+00:00"
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy",
|
||||||
|
"type": "tidelift"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"time": "2020-06-29T13:22:24+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "paragonie/random_compat",
|
"name": "paragonie/random_compat",
|
||||||
@ -170,16 +182,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "psr/log",
|
"name": "psr/log",
|
||||||
"version": "1.1.2",
|
"version": "1.1.3",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/php-fig/log.git",
|
"url": "https://github.com/php-fig/log.git",
|
||||||
"reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801"
|
"reference": "0f73288fd15629204f9d42b7055f72dacbe811fc"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/php-fig/log/zipball/446d54b4cb6bf489fc9d75f55843658e6f25d801",
|
"url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc",
|
||||||
"reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801",
|
"reference": "0f73288fd15629204f9d42b7055f72dacbe811fc",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -213,37 +225,38 @@
|
|||||||
"psr",
|
"psr",
|
||||||
"psr-3"
|
"psr-3"
|
||||||
],
|
],
|
||||||
"time": "2019-11-01T11:05:21+00:00"
|
"time": "2020-03-23T09:12:05+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "setasign/fpdi",
|
"name": "setasign/fpdi",
|
||||||
"version": "v2.2.0",
|
"version": "v2.3.4",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/Setasign/FPDI.git",
|
"url": "https://github.com/Setasign/FPDI.git",
|
||||||
"reference": "3c266002f8044f61b17329f7cd702d44d73f0f7f"
|
"reference": "2b5fb811c04f937ef257ef3f798cebeded33c136"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/Setasign/FPDI/zipball/3c266002f8044f61b17329f7cd702d44d73f0f7f",
|
"url": "https://api.github.com/repos/Setasign/FPDI/zipball/2b5fb811c04f937ef257ef3f798cebeded33c136",
|
||||||
"reference": "3c266002f8044f61b17329f7cd702d44d73f0f7f",
|
"reference": "2b5fb811c04f937ef257ef3f798cebeded33c136",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"ext-zlib": "*",
|
"ext-zlib": "*",
|
||||||
"php": "^5.6 || ^7.0"
|
"php": "^5.6 || ^7.0"
|
||||||
},
|
},
|
||||||
|
"conflict": {
|
||||||
|
"setasign/tfpdf": "<1.31"
|
||||||
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"phpunit/phpunit": "~5.7",
|
"phpunit/phpunit": "~5.7",
|
||||||
"setasign/fpdf": "~1.8",
|
"setasign/fpdf": "~1.8",
|
||||||
"setasign/tfpdf": "1.25",
|
"setasign/tfpdf": "1.31",
|
||||||
|
"squizlabs/php_codesniffer": "^3.5",
|
||||||
"tecnickcom/tcpdf": "~6.2"
|
"tecnickcom/tcpdf": "~6.2"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"setasign/fpdf": "FPDI will extend this class but as it is also possible to use TCPDF or tFPDF as an alternative. There's no fixed dependency configured.",
|
"setasign/fpdf": "FPDI will extend this class but as it is also possible to use TCPDF or tFPDF as an alternative. There's no fixed dependency configured."
|
||||||
"setasign/fpdi-fpdf": "Use this package to automatically evaluate dependencies to FPDF.",
|
|
||||||
"setasign/fpdi-tcpdf": "Use this package to automatically evaluate dependencies to TCPDF.",
|
|
||||||
"setasign/fpdi-tfpdf": "Use this package to automatically evaluate dependencies to tFPDF."
|
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@ -274,7 +287,13 @@
|
|||||||
"fpdi",
|
"fpdi",
|
||||||
"pdf"
|
"pdf"
|
||||||
],
|
],
|
||||||
"time": "2019-01-30T14:11:19+00:00"
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://tidelift.com/funding/github/packagist/setasign/fpdi",
|
||||||
|
"type": "tidelift"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"time": "2020-08-27T06:55:47+00:00"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"packages-dev": [],
|
"packages-dev": [],
|
||||||
@ -284,5 +303,6 @@
|
|||||||
"prefer-stable": false,
|
"prefer-stable": false,
|
||||||
"prefer-lowest": false,
|
"prefer-lowest": false,
|
||||||
"platform": [],
|
"platform": [],
|
||||||
"platform-dev": []
|
"platform-dev": [],
|
||||||
|
"plugin-api-version": "1.1.0"
|
||||||
}
|
}
|
||||||
|
2
lib/MPDF/vendor/composer/ClassLoader.php
vendored
2
lib/MPDF/vendor/composer/ClassLoader.php
vendored
@ -60,7 +60,7 @@ class ClassLoader
|
|||||||
public function getPrefixes()
|
public function getPrefixes()
|
||||||
{
|
{
|
||||||
if (!empty($this->prefixesPsr0)) {
|
if (!empty($this->prefixesPsr0)) {
|
||||||
return call_user_func_array('array_merge', $this->prefixesPsr0);
|
return call_user_func_array('array_merge', array_values($this->prefixesPsr0));
|
||||||
}
|
}
|
||||||
|
|
||||||
return array();
|
return array();
|
||||||
|
3
lib/MPDF/vendor/composer/autoload_real.php
vendored
3
lib/MPDF/vendor/composer/autoload_real.php
vendored
@ -13,6 +13,9 @@ class ComposerAutoloaderInit464b8cc4726849d52f4325e9114ac125
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return \Composer\Autoload\ClassLoader
|
||||||
|
*/
|
||||||
public static function getLoader()
|
public static function getLoader()
|
||||||
{
|
{
|
||||||
if (null !== self::$loader) {
|
if (null !== self::$loader) {
|
||||||
|
81
lib/MPDF/vendor/composer/installed.json
vendored
81
lib/MPDF/vendor/composer/installed.json
vendored
@ -1,17 +1,17 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"name": "mpdf/mpdf",
|
"name": "mpdf/mpdf",
|
||||||
"version": "v8.0.3",
|
"version": "v8.0.7",
|
||||||
"version_normalized": "8.0.3.0",
|
"version_normalized": "8.0.7.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/mpdf/mpdf.git",
|
"url": "https://github.com/mpdf/mpdf.git",
|
||||||
"reference": "6dd4285aff21f013554ff752046bb44ab1240f5f"
|
"reference": "7daf07f15334ed59a276bd52131dcca48794cdbd"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/mpdf/mpdf/zipball/6dd4285aff21f013554ff752046bb44ab1240f5f",
|
"url": "https://api.github.com/repos/mpdf/mpdf/zipball/7daf07f15334ed59a276bd52131dcca48794cdbd",
|
||||||
"reference": "6dd4285aff21f013554ff752046bb44ab1240f5f",
|
"reference": "7daf07f15334ed59a276bd52131dcca48794cdbd",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -19,7 +19,7 @@
|
|||||||
"ext-mbstring": "*",
|
"ext-mbstring": "*",
|
||||||
"myclabs/deep-copy": "^1.7",
|
"myclabs/deep-copy": "^1.7",
|
||||||
"paragonie/random_compat": "^1.4|^2.0|9.99.99",
|
"paragonie/random_compat": "^1.4|^2.0|9.99.99",
|
||||||
"php": "^5.6 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0",
|
"php": "^5.6 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0",
|
||||||
"psr/log": "^1.0",
|
"psr/log": "^1.0",
|
||||||
"setasign/fpdi": "^2.1"
|
"setasign/fpdi": "^2.1"
|
||||||
},
|
},
|
||||||
@ -35,7 +35,7 @@
|
|||||||
"ext-xml": "Needed mainly for SVG manipulation",
|
"ext-xml": "Needed mainly for SVG manipulation",
|
||||||
"ext-zlib": "Needed for compression of embedded resources, such as fonts"
|
"ext-zlib": "Needed for compression of embedded resources, such as fonts"
|
||||||
},
|
},
|
||||||
"time": "2019-10-25T17:54:07+00:00",
|
"time": "2020-07-15T09:48:00+00:00",
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
@ -68,25 +68,31 @@
|
|||||||
"pdf",
|
"pdf",
|
||||||
"php",
|
"php",
|
||||||
"utf-8"
|
"utf-8"
|
||||||
|
],
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://www.paypal.me/mpdf",
|
||||||
|
"type": "custom"
|
||||||
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "myclabs/deep-copy",
|
"name": "myclabs/deep-copy",
|
||||||
"version": "1.9.3",
|
"version": "1.10.1",
|
||||||
"version_normalized": "1.9.3.0",
|
"version_normalized": "1.10.1.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/myclabs/DeepCopy.git",
|
"url": "https://github.com/myclabs/DeepCopy.git",
|
||||||
"reference": "007c053ae6f31bba39dfa19a7726f56e9763bbea"
|
"reference": "969b211f9a51aa1f6c01d1d2aef56d3bd91598e5"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/007c053ae6f31bba39dfa19a7726f56e9763bbea",
|
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/969b211f9a51aa1f6c01d1d2aef56d3bd91598e5",
|
||||||
"reference": "007c053ae6f31bba39dfa19a7726f56e9763bbea",
|
"reference": "969b211f9a51aa1f6c01d1d2aef56d3bd91598e5",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": "^7.1"
|
"php": "^7.1 || ^8.0"
|
||||||
},
|
},
|
||||||
"replace": {
|
"replace": {
|
||||||
"myclabs/deep-copy": "self.version"
|
"myclabs/deep-copy": "self.version"
|
||||||
@ -96,7 +102,7 @@
|
|||||||
"doctrine/common": "^2.6",
|
"doctrine/common": "^2.6",
|
||||||
"phpunit/phpunit": "^7.1"
|
"phpunit/phpunit": "^7.1"
|
||||||
},
|
},
|
||||||
"time": "2019-08-09T12:45:53+00:00",
|
"time": "2020-06-29T13:22:24+00:00",
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"installation-source": "dist",
|
"installation-source": "dist",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@ -118,6 +124,12 @@
|
|||||||
"duplicate",
|
"duplicate",
|
||||||
"object",
|
"object",
|
||||||
"object graph"
|
"object graph"
|
||||||
|
],
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy",
|
||||||
|
"type": "tidelift"
|
||||||
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -169,23 +181,23 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "psr/log",
|
"name": "psr/log",
|
||||||
"version": "1.1.2",
|
"version": "1.1.3",
|
||||||
"version_normalized": "1.1.2.0",
|
"version_normalized": "1.1.3.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/php-fig/log.git",
|
"url": "https://github.com/php-fig/log.git",
|
||||||
"reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801"
|
"reference": "0f73288fd15629204f9d42b7055f72dacbe811fc"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/php-fig/log/zipball/446d54b4cb6bf489fc9d75f55843658e6f25d801",
|
"url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc",
|
||||||
"reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801",
|
"reference": "0f73288fd15629204f9d42b7055f72dacbe811fc",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=5.3.0"
|
"php": ">=5.3.0"
|
||||||
},
|
},
|
||||||
"time": "2019-11-01T11:05:21+00:00",
|
"time": "2020-03-23T09:12:05+00:00",
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
@ -218,36 +230,37 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "setasign/fpdi",
|
"name": "setasign/fpdi",
|
||||||
"version": "v2.2.0",
|
"version": "v2.3.4",
|
||||||
"version_normalized": "2.2.0.0",
|
"version_normalized": "2.3.4.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/Setasign/FPDI.git",
|
"url": "https://github.com/Setasign/FPDI.git",
|
||||||
"reference": "3c266002f8044f61b17329f7cd702d44d73f0f7f"
|
"reference": "2b5fb811c04f937ef257ef3f798cebeded33c136"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/Setasign/FPDI/zipball/3c266002f8044f61b17329f7cd702d44d73f0f7f",
|
"url": "https://api.github.com/repos/Setasign/FPDI/zipball/2b5fb811c04f937ef257ef3f798cebeded33c136",
|
||||||
"reference": "3c266002f8044f61b17329f7cd702d44d73f0f7f",
|
"reference": "2b5fb811c04f937ef257ef3f798cebeded33c136",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"ext-zlib": "*",
|
"ext-zlib": "*",
|
||||||
"php": "^5.6 || ^7.0"
|
"php": "^5.6 || ^7.0"
|
||||||
},
|
},
|
||||||
|
"conflict": {
|
||||||
|
"setasign/tfpdf": "<1.31"
|
||||||
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"phpunit/phpunit": "~5.7",
|
"phpunit/phpunit": "~5.7",
|
||||||
"setasign/fpdf": "~1.8",
|
"setasign/fpdf": "~1.8",
|
||||||
"setasign/tfpdf": "1.25",
|
"setasign/tfpdf": "1.31",
|
||||||
|
"squizlabs/php_codesniffer": "^3.5",
|
||||||
"tecnickcom/tcpdf": "~6.2"
|
"tecnickcom/tcpdf": "~6.2"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"setasign/fpdf": "FPDI will extend this class but as it is also possible to use TCPDF or tFPDF as an alternative. There's no fixed dependency configured.",
|
"setasign/fpdf": "FPDI will extend this class but as it is also possible to use TCPDF or tFPDF as an alternative. There's no fixed dependency configured."
|
||||||
"setasign/fpdi-fpdf": "Use this package to automatically evaluate dependencies to FPDF.",
|
|
||||||
"setasign/fpdi-tcpdf": "Use this package to automatically evaluate dependencies to TCPDF.",
|
|
||||||
"setasign/fpdi-tfpdf": "Use this package to automatically evaluate dependencies to tFPDF."
|
|
||||||
},
|
},
|
||||||
"time": "2019-01-30T14:11:19+00:00",
|
"time": "2020-08-27T06:55:47+00:00",
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"installation-source": "dist",
|
"installation-source": "dist",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@ -277,6 +290,12 @@
|
|||||||
"fpdf",
|
"fpdf",
|
||||||
"fpdi",
|
"fpdi",
|
||||||
"pdf"
|
"pdf"
|
||||||
|
],
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://tidelift.com/funding/github/packagist/setasign/fpdi",
|
||||||
|
"type": "tidelift"
|
||||||
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
36
lib/MPDF/vendor/mpdf/mpdf/.github/CONTRIBUTING.md
vendored
Normal file
36
lib/MPDF/vendor/mpdf/mpdf/.github/CONTRIBUTING.md
vendored
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
Contributing
|
||||||
|
============
|
||||||
|
|
||||||
|
Issue tracker
|
||||||
|
-------------
|
||||||
|
|
||||||
|
The Issue tracker serves mainly as a place to report bugs and request new features.
|
||||||
|
Please do not abuse it as a general questions or troubleshooting location.
|
||||||
|
|
||||||
|
For these questions you can always use the
|
||||||
|
[mpdf tag](https://stackoverflow.com/questions/tagged/mpdf) at [Stack Overflow](https://stackoverflow.com/).
|
||||||
|
|
||||||
|
* Please provide a small example in php/html that reproduces your situation
|
||||||
|
* Please report one feature or one bug per issue
|
||||||
|
* Failing to provide necessary information or not using the issue template may cause the issue to be closed without consideration.
|
||||||
|
|
||||||
|
Pull requests
|
||||||
|
-------------
|
||||||
|
|
||||||
|
Pull requests should be always based on the default [development](https://github.com/mpdf/mpdf/tree/development)
|
||||||
|
branch except for backports to older versions.
|
||||||
|
|
||||||
|
Some guidelines:
|
||||||
|
|
||||||
|
* Use an aptly named feature branch for the Pull request.
|
||||||
|
|
||||||
|
* Only files and lines affecting the scope of the Pull request must be affected.
|
||||||
|
|
||||||
|
* Make small, *atomic* commits that keep the smallest possible related code changes together.
|
||||||
|
|
||||||
|
* Code should be accompanied by a unit test testing expected behaviour.
|
||||||
|
|
||||||
|
* To be incorporated, the PR must contain a change in the CHANGELOG.md file describing itself
|
||||||
|
|
||||||
|
When updating a PR, do not create a new one, just `git push --force` to your former feature branch, the PR will
|
||||||
|
update itself.
|
1
lib/MPDF/vendor/mpdf/mpdf/.github/FUNDING.yml
vendored
Normal file
1
lib/MPDF/vendor/mpdf/mpdf/.github/FUNDING.yml
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
custom: https://www.paypal.me/mpdf
|
22
lib/MPDF/vendor/mpdf/mpdf/.github/ISSUE_TEMPLATE.md
vendored
Normal file
22
lib/MPDF/vendor/mpdf/mpdf/.github/ISSUE_TEMPLATE.md
vendored
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
> Please use https://stackoverflow.com/questions/tagged/mpdf for all your general questions or troubleshooting!
|
||||||
|
> For contributing here, please see the guideline: https://github.com/mpdf/mpdf/blob/development/.github/CONTRIBUTING.md
|
||||||
|
>
|
||||||
|
> *Warning*: Failing to provide necessary information may cause the issue to be closed without consideration
|
||||||
|
|
||||||
|
### I found this bug / would like to have this new functionality
|
||||||
|
|
||||||
|
### This is mPDF and PHP version and environment (server/fpm/cli etc) I am using
|
||||||
|
|
||||||
|
### This is a PHP code snippet I use
|
||||||
|
|
||||||
|
```
|
||||||
|
<?php
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
### This is a HTML/CSS code snippet I use
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
12
lib/MPDF/vendor/mpdf/mpdf/.travis.yml
vendored
12
lib/MPDF/vendor/mpdf/mpdf/.travis.yml
vendored
@ -5,12 +5,12 @@ dist: xenial
|
|||||||
group: edge
|
group: edge
|
||||||
|
|
||||||
php:
|
php:
|
||||||
- 5.6
|
|
||||||
- 7.0
|
|
||||||
- 7.1
|
|
||||||
- 7.2
|
|
||||||
- 7.3
|
- 7.3
|
||||||
- 7.4snapshot
|
- 7.1
|
||||||
|
- 5.6
|
||||||
|
- 7.4
|
||||||
|
- 7.2
|
||||||
|
- 7.0
|
||||||
- nightly
|
- nightly
|
||||||
|
|
||||||
matrix:
|
matrix:
|
||||||
@ -31,8 +31,6 @@ install:
|
|||||||
- |
|
- |
|
||||||
if [[ "${TRAVIS_PHP_VERSION:0:7}" == "nightly" ]]; then
|
if [[ "${TRAVIS_PHP_VERSION:0:7}" == "nightly" ]]; then
|
||||||
composer install --ignore-platform-reqs
|
composer install --ignore-platform-reqs
|
||||||
elif [[ "${TRAVIS_PHP_VERSION:0:11}" == "7.4snapshot" ]]; then
|
|
||||||
composer install --ignore-platform-reqs
|
|
||||||
else
|
else
|
||||||
composer install
|
composer install
|
||||||
fi
|
fi
|
||||||
|
17
lib/MPDF/vendor/mpdf/mpdf/CHANGELOG.md
vendored
17
lib/MPDF/vendor/mpdf/mpdf/CHANGELOG.md
vendored
@ -1,21 +1,28 @@
|
|||||||
mPDF 8.1.x
|
mPDF 8.0.x
|
||||||
===========================
|
===========================
|
||||||
|
|
||||||
|
* Ability to customize User-Agent header in the HTTP requests sent by cURL (@samuelecat, #1229)
|
||||||
|
* Add Page Number Myanmar Language Support (@MinKyawNyunt, #1201)
|
||||||
|
* new `Mpdf\Exception\FontException` extending base `MpdfException` was introduced and is thrown on Font manipulation
|
||||||
|
* A bit cleaner exception messages for font-related errors
|
||||||
|
* Use atomic cache writing. (@PATROMO, #1186)
|
||||||
|
* Fix: "Undefined index: group" when calling MultiCell when using font without OTL data (@Kekos, #1213, #941)
|
||||||
|
* Add C128RAW barcode type to create any barcode (ex: subtype change in middle of barcode) (#1124)
|
||||||
* Add proxy support to curl
|
* Add proxy support to curl
|
||||||
* Fixed date and time format in the informations dictionary (#1083, @peterdevpl)
|
* Fixed date and time format in the informations dictionary (#1083, @peterdevpl)
|
||||||
* Checking allowed stream wrappers in CssManager
|
* Checking allowed stream wrappers in CssManager
|
||||||
* PHP 7.4 support (until final 7.4 release with composer --ignore-platform-reqs)
|
* PHP 7.4 support (until final 7.4 release with composer --ignore-platform-reqs)
|
||||||
* Improve debugging of remote content issues (@ribeirobreno)
|
* Improve debugging of remote content issues (@ribeirobreno)
|
||||||
|
* Added `exposeVersion` configuration variable allowing to hide mPDF version from Producer tag and HTTP headers
|
||||||
mPDF 8.0.x
|
|
||||||
===========================
|
|
||||||
|
|
||||||
* Added the check for JPEG SOF header 0xFF 0xC1 (extended) (@jamiejones85)
|
* Added the check for JPEG SOF header 0xFF 0xC1 (extended) (@jamiejones85)
|
||||||
* Allows setting `none` as zoom mode in `SetDisplayMode` method, so that OpenAction is not written (#602)
|
* Allows setting `none` as zoom mode in `SetDisplayMode` method, so that OpenAction is not written (#602)
|
||||||
* Allowed image stream whitelist to be customised (#1005, thanks @jakejackson)
|
* Allowed image stream whitelist to be customised (#1005, thanks @jakejackson)
|
||||||
* Fixed parsing of top-left-bottom-right CSS rules with !important (#1009)
|
* Fixed parsing of top-left-bottom-right CSS rules with !important (#1009)
|
||||||
* Fixed skipping ordered list numbering with page-break-inside: avoid (#339)
|
* Fixed skipping ordered list numbering with page-break-inside: avoid (#339)
|
||||||
* Compound classes selector support, like `.one.two` or `div.message.special` (#538, @peterdevpl)
|
* Compound classes selector support, like `.one.two` or `div.message.special` (#538, @peterdevpl)
|
||||||
|
* Fixed CMYK colors in text-shadow (#1115, @lexilya)
|
||||||
|
* Skip non supported wrappers when resolving paths (#1204, @MarkVaughn)
|
||||||
|
* Fixed SVGs using a style tag, has styles ignored ( Requires ext-dom ) (#450, @antman3351)
|
||||||
|
|
||||||
mPDF 8.0.0
|
mPDF 8.0.0
|
||||||
===========================
|
===========================
|
||||||
|
2
lib/MPDF/vendor/mpdf/mpdf/README.md
vendored
2
lib/MPDF/vendor/mpdf/mpdf/README.md
vendored
@ -21,7 +21,7 @@ PHP versions and extensions
|
|||||||
|
|
||||||
- `mPDF >=7.0` is supported on PHP `^5.6 || ~7.0.0 || ~7.1.0 || ~7.2.0`
|
- `mPDF >=7.0` is supported on PHP `^5.6 || ~7.0.0 || ~7.1.0 || ~7.2.0`
|
||||||
- `PHP 7.3` is supported since `mPDF v7.1.7`
|
- `PHP 7.3` is supported since `mPDF v7.1.7`
|
||||||
- `PHP 7.4` is supported in `development` branch, official release will be out with stable PHP
|
- `PHP 7.4` is supported since `mPDF v8.0.4`
|
||||||
|
|
||||||
|
|
||||||
PHP `mbstring` and `gd` extensions have to be loaded.
|
PHP `mbstring` and `gd` extensions have to be loaded.
|
||||||
|
2
lib/MPDF/vendor/mpdf/mpdf/composer.json
vendored
2
lib/MPDF/vendor/mpdf/mpdf/composer.json
vendored
@ -31,7 +31,7 @@
|
|||||||
|
|
||||||
"require": {
|
"require": {
|
||||||
|
|
||||||
"php": "^5.6 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0",
|
"php": "^5.6 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0",
|
||||||
|
|
||||||
"ext-gd": "*",
|
"ext-gd": "*",
|
||||||
"ext-mbstring": "*",
|
"ext-mbstring": "*",
|
||||||
|
3
lib/MPDF/vendor/mpdf/mpdf/src/Barcode.php
vendored
3
lib/MPDF/vendor/mpdf/mpdf/src/Barcode.php
vendored
@ -96,6 +96,9 @@ class Barcode
|
|||||||
case 'C128C': // CODE 128 C
|
case 'C128C': // CODE 128 C
|
||||||
return new Barcode\Code128($code, 'C');
|
return new Barcode\Code128($code, 'C');
|
||||||
|
|
||||||
|
case 'C128RAW': // CODE 128 RAW -- code is a space separated list of codes with startcode but without checkdigit,stop,end ex: "105 12 34"
|
||||||
|
return new Barcode\Code128($code, 'RAW');
|
||||||
|
|
||||||
case 'EAN128A': // EAN 128 A
|
case 'EAN128A': // EAN 128 A
|
||||||
return new Barcode\Code128($code, 'A', true);
|
return new Barcode\Code128($code, 'A', true);
|
||||||
|
|
||||||
|
@ -148,6 +148,36 @@ class Code128 extends \Mpdf\Barcode\AbstractBarcode implements \Mpdf\Barcode\Bar
|
|||||||
];
|
];
|
||||||
|
|
||||||
switch (strtoupper($type)) {
|
switch (strtoupper($type)) {
|
||||||
|
case 'RAW':
|
||||||
|
$newCode='';
|
||||||
|
$startid = false;
|
||||||
|
foreach (explode(" ", $code) as $v) {
|
||||||
|
if (is_numeric($v) && round($v, 0) == $v) {
|
||||||
|
if ($v>=0 && $v<=105) {
|
||||||
|
if ($startid===false) {
|
||||||
|
$startid=$v;
|
||||||
|
} else {
|
||||||
|
$newCode.=chr($v);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
throw new \Mpdf\Barcode\BarcodeException('Invalid CODE128RAW barcode value. 0-105 needed');
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
//double spaces generates empty $v any other is not allowed
|
||||||
|
if ($v!='') {
|
||||||
|
throw new \Mpdf\Barcode\BarcodeException('Invalid CODE128RAW barcode value. 0-105 needed');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($startid<103 || $startid>105) {
|
||||||
|
throw new \Mpdf\Barcode\BarcodeException('Invalid CODE128RAW startid value. Must 103,104 or 105 (for A,B or C)');
|
||||||
|
}
|
||||||
|
$keys='';
|
||||||
|
for ($i = 0; $i <= 105; ++$i) {
|
||||||
|
$keys .= chr($i);
|
||||||
|
}
|
||||||
|
$code=$newCode;
|
||||||
|
break;
|
||||||
case 'A':
|
case 'A':
|
||||||
$startid = 103;
|
$startid = 103;
|
||||||
$keys = ' !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_';
|
$keys = ' !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_';
|
||||||
@ -172,6 +202,9 @@ class Code128 extends \Mpdf\Barcode\AbstractBarcode implements \Mpdf\Barcode\Bar
|
|||||||
$newCode = '';
|
$newCode = '';
|
||||||
$hclen = (strlen($code) / 2);
|
$hclen = (strlen($code) / 2);
|
||||||
for ($i = 0; $i < $hclen; ++$i) {
|
for ($i = 0; $i < $hclen; ++$i) {
|
||||||
|
if ($code[2 * $i]<"0" || $code[2 * $i]>"9" || $code[2 * $i + 1]<"0" || $code[2 * $i + 1]>"9") {
|
||||||
|
throw new \Mpdf\Barcode\BarcodeException(sprintf('Invalid character "%s" in CODE128C barcode value', $code[$i]));
|
||||||
|
}
|
||||||
$newCode .= chr((int) ($code[2 * $i] . $code[2 * $i + 1]));
|
$newCode .= chr((int) ($code[2 * $i] . $code[2 * $i + 1]));
|
||||||
}
|
}
|
||||||
$code = $newCode;
|
$code = $newCode;
|
||||||
@ -192,6 +225,9 @@ class Code128 extends \Mpdf\Barcode\AbstractBarcode implements \Mpdf\Barcode\Bar
|
|||||||
if ($ean && $i == 0) {
|
if ($ean && $i == 0) {
|
||||||
$sum += 102;
|
$sum += 102;
|
||||||
} else {
|
} else {
|
||||||
|
if (strpos($keys, $code[$i]) === false) {
|
||||||
|
throw new \Mpdf\Barcode\BarcodeException(sprintf('Invalid character "%s" in CODE128'.$type.' barcode value', $code[$i]));
|
||||||
|
}
|
||||||
$sum += (strpos($keys, $code[$i]) * ($i + 1));
|
$sum += (strpos($keys, $code[$i]) * ($i + 1));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
6
lib/MPDF/vendor/mpdf/mpdf/src/Cache.php
vendored
6
lib/MPDF/vendor/mpdf/mpdf/src/Cache.php
vendored
@ -70,9 +70,11 @@ class Cache
|
|||||||
|
|
||||||
public function write($filename, $data)
|
public function write($filename, $data)
|
||||||
{
|
{
|
||||||
$path = $this->getFilePath($filename);
|
$tempFile = tempnam($this->basePath, 'cache_tmp_');
|
||||||
|
file_put_contents($tempFile, $data);
|
||||||
|
|
||||||
file_put_contents($path, $data);
|
$path = $this->getFilePath($filename);
|
||||||
|
rename($tempFile, $path);
|
||||||
|
|
||||||
return $path;
|
return $path;
|
||||||
}
|
}
|
||||||
|
@ -514,6 +514,9 @@ class ConfigVariables
|
|||||||
'curlTimeout' => 5,
|
'curlTimeout' => 5,
|
||||||
'curlProxy' => null,
|
'curlProxy' => null,
|
||||||
'curlProxyAuth' => null,
|
'curlProxyAuth' => null,
|
||||||
|
'curlUserAgent' => 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:13.0) Gecko/20100101 Firefox/13.0.1',
|
||||||
|
|
||||||
|
'exposeVersion' => true,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -60,6 +60,7 @@ class DecToOther
|
|||||||
'khmer' => 0x17E0,
|
'khmer' => 0x17E0,
|
||||||
'cambodian' => 0x17E0,
|
'cambodian' => 0x17E0,
|
||||||
'lao' => 0x0ED0,
|
'lao' => 0x0ED0,
|
||||||
|
'myanmar' => 0x1040
|
||||||
];
|
];
|
||||||
|
|
||||||
return isset($codePages[$script]) ? $codePages[$script] : 0;
|
return isset($codePages[$script]) ? $codePages[$script] : 0;
|
||||||
|
24
lib/MPDF/vendor/mpdf/mpdf/src/CssManager.php
vendored
24
lib/MPDF/vendor/mpdf/mpdf/src/CssManager.php
vendored
@ -1117,37 +1117,57 @@ class CssManager
|
|||||||
{
|
{
|
||||||
$sh = [];
|
$sh = [];
|
||||||
$c = preg_match_all('/(rgba|rgb|device-cmyka|cmyka|device-cmyk|cmyk|hsla|hsl)\(.*?\)/', $v, $x); // mPDF 5.6.05
|
$c = preg_match_all('/(rgba|rgb|device-cmyka|cmyka|device-cmyk|cmyk|hsla|hsl)\(.*?\)/', $v, $x); // mPDF 5.6.05
|
||||||
|
|
||||||
for ($i = 0; $i < $c; $i++) {
|
for ($i = 0; $i < $c; $i++) {
|
||||||
$col = preg_replace('/,/', '*', $x[0][$i]);
|
$col = preg_replace('/,\s/', '*', $x[0][$i]);
|
||||||
$v = str_replace($x[0][$i], $col, $v);
|
$v = str_replace($x[0][$i], $col, $v);
|
||||||
}
|
}
|
||||||
|
|
||||||
$ss = explode(',', $v);
|
$ss = explode(',', $v);
|
||||||
|
|
||||||
foreach ($ss as $s) {
|
foreach ($ss as $s) {
|
||||||
|
|
||||||
$new = ['blur' => 0];
|
$new = ['blur' => 0];
|
||||||
$p = explode(' ', trim($s));
|
$p = explode(' ', trim($s));
|
||||||
|
|
||||||
if (isset($p[0])) {
|
if (isset($p[0])) {
|
||||||
$new['x'] = $this->sizeConverter->convert(trim($p[0]), $this->mpdf->FontSize, $this->mpdf->FontSize, false);
|
$new['x'] = $this->sizeConverter->convert(trim($p[0]), $this->mpdf->FontSize, $this->mpdf->FontSize, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($p[1])) {
|
if (isset($p[1])) {
|
||||||
$new['y'] = $this->sizeConverter->convert(trim($p[1]), $this->mpdf->FontSize, $this->mpdf->FontSize, false);
|
$new['y'] = $this->sizeConverter->convert(trim($p[1]), $this->mpdf->FontSize, $this->mpdf->FontSize, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($p[2])) {
|
if (isset($p[2])) {
|
||||||
|
|
||||||
if (preg_match('/^\s*[\.\-0-9]/', $p[2])) {
|
if (preg_match('/^\s*[\.\-0-9]/', $p[2])) {
|
||||||
$new['blur'] = $this->sizeConverter->convert(trim($p[2]), $this->mpdf->blk[$this->mpdf->blklvl]['inner_width'], $this->mpdf->FontSize, false);
|
|
||||||
|
$new['blur'] = $this->sizeConverter->convert(
|
||||||
|
trim($p[2]),
|
||||||
|
isset($this->mpdf->blk[$this->mpdf->blklvl]['inner_width']) ? $this->mpdf->blk[$this->mpdf->blklvl]['inner_width'] : 0,
|
||||||
|
$this->mpdf->FontSize,
|
||||||
|
false
|
||||||
|
);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
$new['col'] = $this->colorConverter->convert(preg_replace('/\*/', ',', $p[2]), $this->mpdf->PDFAXwarnings);
|
$new['col'] = $this->colorConverter->convert(preg_replace('/\*/', ',', $p[2]), $this->mpdf->PDFAXwarnings);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($p[3])) {
|
if (isset($p[3])) {
|
||||||
$new['col'] = $this->colorConverter->convert(preg_replace('/\*/', ',', $p[3]), $this->mpdf->PDFAXwarnings);
|
$new['col'] = $this->colorConverter->convert(preg_replace('/\*/', ',', $p[3]), $this->mpdf->PDFAXwarnings);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!isset($new['col']) || !$new['col']) {
|
if (!isset($new['col']) || !$new['col']) {
|
||||||
$new['col'] = $this->colorConverter->convert('#888888', $this->mpdf->PDFAXwarnings);
|
$new['col'] = $this->colorConverter->convert('#888888', $this->mpdf->PDFAXwarnings);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($new['y'])) {
|
if (isset($new['y'])) {
|
||||||
array_unshift($sh, $new);
|
array_unshift($sh, $new);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $sh;
|
return $sh;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
8
lib/MPDF/vendor/mpdf/mpdf/src/Exception/FontException.php
vendored
Normal file
8
lib/MPDF/vendor/mpdf/mpdf/src/Exception/FontException.php
vendored
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Mpdf\Exception;
|
||||||
|
|
||||||
|
class FontException extends \Mpdf\MpdfException
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
@ -53,9 +53,7 @@ class FontCache
|
|||||||
|
|
||||||
public function binaryWrite($filename, $data)
|
public function binaryWrite($filename, $data)
|
||||||
{
|
{
|
||||||
$handle = fopen($this->tempFilename($filename), 'wb');
|
return $this->cache->write($filename, $data);
|
||||||
fwrite($handle, $data);
|
|
||||||
fclose($handle);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function jsonWrite($filename, $data)
|
public function jsonWrite($filename, $data)
|
||||||
|
87
lib/MPDF/vendor/mpdf/mpdf/src/Image/Svg.php
vendored
87
lib/MPDF/vendor/mpdf/mpdf/src/Image/Svg.php
vendored
@ -2824,6 +2824,91 @@ class Svg
|
|||||||
$this->svg_string .= $content;
|
$this->svg_string .= $content;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* SVGs made with Adobe Illustrator use a style tag and classes instead of inline styles
|
||||||
|
* See: https://github.com/mpdf/mpdf/issues/450
|
||||||
|
*
|
||||||
|
* This function brutally copies the styles inline
|
||||||
|
* ( Currently only looks for classes as a selector )
|
||||||
|
*
|
||||||
|
* @param string $data svg contents
|
||||||
|
* @return string svg contents
|
||||||
|
* @author Antonio Norman - softcodex.ch
|
||||||
|
*/
|
||||||
|
function mergeStyles($data)
|
||||||
|
{
|
||||||
|
$xml = new \DOMDocument();
|
||||||
|
if (!$xml->loadXML($data, LIBXML_NOERROR)) {
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check it's an SVG
|
||||||
|
$svgNode = $xml->getElementsByTagName('svg');
|
||||||
|
if ($svgNode->length === 0) {
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Find the style node
|
||||||
|
$styles = [];
|
||||||
|
/** @var $styleNode \DOMNode */
|
||||||
|
foreach ($svgNode->item(0)->getElementsByTagName('style') as $styleNode) {
|
||||||
|
|
||||||
|
preg_match_all('/(\.[^{]+)\s*\{\s*([^}]+)\s*}/m', $styleNode->nodeValue, $matches, PREG_SET_ORDER);
|
||||||
|
foreach ($matches as $cssBlock) {
|
||||||
|
$css = preg_replace('/\s{2,}/', ' ', $cssBlock[2]); // Clean spaces or new lines
|
||||||
|
$selector = trim($cssBlock[1]);
|
||||||
|
|
||||||
|
$styles[$selector] = isset($styles[$cssBlock[1]]) ?
|
||||||
|
$styles[$selector] . ' ' . $css : // Append if the selector is already defined
|
||||||
|
$css;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (empty($styles)) {
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Recursively loop the nodes inserting the styles inline
|
||||||
|
$setStylesInline = function (\DOMNode $xml) use ($styles, &$setStylesInline) {
|
||||||
|
// Apply the styles to the elements
|
||||||
|
foreach ($xml->childNodes as $node) {
|
||||||
|
|
||||||
|
if ($node->hasChildNodes()) {
|
||||||
|
$setStylesInline($node);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$node instanceof \DOMElement) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check the node has the a class with a style
|
||||||
|
if (!$node->hasAttribute('class')) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Allow for class=" class1 class2 "
|
||||||
|
$classes = explode(' ', $node->getAttribute('class'));
|
||||||
|
|
||||||
|
foreach ($classes as $class) {
|
||||||
|
|
||||||
|
$class = '.' . trim($class);
|
||||||
|
if (!empty($class) && isset($styles[$class])) {
|
||||||
|
|
||||||
|
$style = $node->hasAttribute('style') ?
|
||||||
|
$styles[$class] . ' ' . $node->getAttribute('style') :
|
||||||
|
$styles[$class];
|
||||||
|
|
||||||
|
$node->setAttribute('style', $style);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
$setStylesInline($xml);
|
||||||
|
|
||||||
|
return $xml->saveXML();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* analise le svg et renvoie aux fonctions precedente our le traitement
|
* analise le svg et renvoie aux fonctions precedente our le traitement
|
||||||
*/
|
*/
|
||||||
@ -2835,6 +2920,8 @@ class Svg
|
|||||||
// Converts < to < when not a tag
|
// Converts < to < when not a tag
|
||||||
$data = preg_replace('/<([^!?\/a-zA-Z_:])/i', '<\\1', $data); // mPDF 5.7.4
|
$data = preg_replace('/<([^!?\/a-zA-Z_:])/i', '<\\1', $data); // mPDF 5.7.4
|
||||||
|
|
||||||
|
$data = $this->mergeStyles($data);
|
||||||
|
|
||||||
if ($this->mpdf->svgAutoFont) {
|
if ($this->mpdf->svgAutoFont) {
|
||||||
$data = $this->markScriptToLang($data);
|
$data = $this->markScriptToLang($data);
|
||||||
}
|
}
|
||||||
|
184
lib/MPDF/vendor/mpdf/mpdf/src/Mpdf.php
vendored
184
lib/MPDF/vendor/mpdf/mpdf/src/Mpdf.php
vendored
@ -39,7 +39,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|||||||
use Strict;
|
use Strict;
|
||||||
use FpdiTrait;
|
use FpdiTrait;
|
||||||
|
|
||||||
const VERSION = '8.0.3';
|
const VERSION = '8.0.7';
|
||||||
|
|
||||||
const SCALE = 72 / 25.4;
|
const SCALE = 72 / 25.4;
|
||||||
|
|
||||||
@ -719,6 +719,15 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|||||||
*/
|
*/
|
||||||
var $curlProxyAuth;
|
var $curlProxyAuth;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the User-Agent header in the HTTP requests sent by cURL.
|
||||||
|
*
|
||||||
|
* @see https://curl.haxx.se/libcurl/c/CURLOPT_USERAGENT.html
|
||||||
|
*
|
||||||
|
* @var string User Agent header
|
||||||
|
*/
|
||||||
|
var $curlUserAgent;
|
||||||
|
|
||||||
// Private properties FROM FPDF
|
// Private properties FROM FPDF
|
||||||
var $DisplayPreferences;
|
var $DisplayPreferences;
|
||||||
var $flowingBlockAttr;
|
var $flowingBlockAttr;
|
||||||
@ -815,6 +824,8 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|||||||
var $outerblocktags;
|
var $outerblocktags;
|
||||||
var $innerblocktags;
|
var $innerblocktags;
|
||||||
|
|
||||||
|
public $exposeVersion;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
@ -1070,8 +1081,8 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|||||||
|
|
||||||
$this->tableBackgrounds = [];
|
$this->tableBackgrounds = [];
|
||||||
$this->uniqstr = '20110230'; // mPDF 5.7.2
|
$this->uniqstr = '20110230'; // mPDF 5.7.2
|
||||||
$this->kt_y00 = '';
|
$this->kt_y00 = 0;
|
||||||
$this->kt_p00 = '';
|
$this->kt_p00 = 0;
|
||||||
$this->BMPonly = [];
|
$this->BMPonly = [];
|
||||||
$this->page = 0;
|
$this->page = 0;
|
||||||
$this->n = 2;
|
$this->n = 2;
|
||||||
@ -5788,28 +5799,49 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|||||||
return $s;
|
return $s;
|
||||||
}
|
}
|
||||||
|
|
||||||
function MultiCell($w, $h, $txt, $border = 0, $align = '', $fill = 0, $link = '', $directionality = 'ltr', $encoded = false, $OTLdata = false, $maxrows = false)
|
function MultiCell(
|
||||||
{
|
$w,
|
||||||
|
$h,
|
||||||
|
$txt,
|
||||||
|
$border = 0,
|
||||||
|
$align = '',
|
||||||
|
$fill = 0,
|
||||||
|
$link = '',
|
||||||
|
$directionality = 'ltr',
|
||||||
|
$encoded = false,
|
||||||
|
$OTLdata = false,
|
||||||
|
$maxrows = false
|
||||||
|
) {
|
||||||
// maxrows is called from mpdfform->TEXTAREA
|
// maxrows is called from mpdfform->TEXTAREA
|
||||||
// Parameter (pre-)encoded - When called internally from form::textarea - mb_encoding already done and OTL - but not reverse RTL
|
// Parameter (pre-)encoded - When called internally from form::textarea -
|
||||||
|
// mb_encoding already done and OTL - but not reverse RTL
|
||||||
if (!$encoded) {
|
if (!$encoded) {
|
||||||
|
|
||||||
$txt = $this->purify_utf8_text($txt);
|
$txt = $this->purify_utf8_text($txt);
|
||||||
|
|
||||||
if ($this->text_input_as_HTML) {
|
if ($this->text_input_as_HTML) {
|
||||||
$txt = $this->all_entities_to_utf8($txt);
|
$txt = $this->all_entities_to_utf8($txt);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($this->usingCoreFont) {
|
if ($this->usingCoreFont) {
|
||||||
$txt = mb_convert_encoding($txt, $this->mb_enc, 'UTF-8');
|
$txt = mb_convert_encoding($txt, $this->mb_enc, 'UTF-8');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (preg_match("/([" . $this->pregRTLchars . "])/u", $txt)) {
|
if (preg_match("/([" . $this->pregRTLchars . "])/u", $txt)) {
|
||||||
$this->biDirectional = true;
|
$this->biDirectional = true;
|
||||||
} // *OTL*
|
}
|
||||||
|
|
||||||
/* -- OTL -- */
|
/* -- OTL -- */
|
||||||
$OTLdata = [];
|
if (!is_array($OTLdata)) {
|
||||||
|
unset($OTLdata);
|
||||||
|
}
|
||||||
|
|
||||||
// Use OTL OpenType Table Layout - GSUB & GPOS
|
// Use OTL OpenType Table Layout - GSUB & GPOS
|
||||||
if (isset($this->CurrentFont['useOTL']) && $this->CurrentFont['useOTL']) {
|
if (isset($this->CurrentFont['useOTL']) && $this->CurrentFont['useOTL']) {
|
||||||
$txt = $this->otl->applyOTL($txt, $this->CurrentFont['useOTL']);
|
$txt = $this->otl->applyOTL($txt, $this->CurrentFont['useOTL']);
|
||||||
$OTLdata = $this->otl->OTLdata;
|
$OTLdata = $this->otl->OTLdata;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($directionality == 'rtl' || $this->biDirectional) {
|
if ($directionality == 'rtl' || $this->biDirectional) {
|
||||||
if (!isset($OTLdata)) {
|
if (!isset($OTLdata)) {
|
||||||
$unicode = $this->UTF8StringToArray($txt, false);
|
$unicode = $this->UTF8StringToArray($txt, false);
|
||||||
@ -5819,17 +5851,20 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|||||||
}
|
}
|
||||||
/* -- END OTL -- */
|
/* -- END OTL -- */
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$align) {
|
if (!$align) {
|
||||||
$align = $this->defaultAlign;
|
$align = $this->defaultAlign;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Output text with automatic or explicit line breaks
|
// Output text with automatic or explicit line breaks
|
||||||
$cw = &$this->CurrentFont['cw'];
|
$cw = &$this->CurrentFont['cw'];
|
||||||
|
|
||||||
if ($w == 0) {
|
if ($w == 0) {
|
||||||
$w = $this->w - $this->rMargin - $this->x;
|
$w = $this->w - $this->rMargin - $this->x;
|
||||||
}
|
}
|
||||||
|
|
||||||
$wmax = ($w - ($this->cMarginL + $this->cMarginR));
|
$wmax = ($w - ($this->cMarginL + $this->cMarginR));
|
||||||
|
|
||||||
if ($this->usingCoreFont) {
|
if ($this->usingCoreFont) {
|
||||||
$s = str_replace("\r", '', $txt);
|
$s = str_replace("\r", '', $txt);
|
||||||
$nb = strlen($s);
|
$nb = strlen($s);
|
||||||
@ -5843,8 +5878,11 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|||||||
$nb--;
|
$nb--;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$b = 0;
|
$b = 0;
|
||||||
|
|
||||||
if ($border) {
|
if ($border) {
|
||||||
|
|
||||||
if ($border == 1) {
|
if ($border == 1) {
|
||||||
$border = 'LTRB';
|
$border = 'LTRB';
|
||||||
$b = 'LRT';
|
$b = 'LRT';
|
||||||
@ -5860,6 +5898,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|||||||
$b = is_int(strpos($border, 'T')) ? $b2 . 'T' : $b2;
|
$b = is_int(strpos($border, 'T')) ? $b2 . 'T' : $b2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$sep = -1;
|
$sep = -1;
|
||||||
$i = 0;
|
$i = 0;
|
||||||
$j = 0;
|
$j = 0;
|
||||||
@ -5871,19 +5910,25 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|||||||
$start_y = $this->y;
|
$start_y = $this->y;
|
||||||
|
|
||||||
if (!$this->usingCoreFont) {
|
if (!$this->usingCoreFont) {
|
||||||
|
|
||||||
$inclCursive = false;
|
$inclCursive = false;
|
||||||
|
|
||||||
if (preg_match("/([" . $this->pregCURSchars . "])/u", $s)) {
|
if (preg_match("/([" . $this->pregCURSchars . "])/u", $s)) {
|
||||||
$inclCursive = true;
|
$inclCursive = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
while ($i < $nb) {
|
while ($i < $nb) {
|
||||||
|
|
||||||
// Get next character
|
// Get next character
|
||||||
$c = mb_substr($s, $i, 1, $this->mb_enc);
|
$c = mb_substr($s, $i, 1, $this->mb_enc);
|
||||||
if ($c == "\n") {
|
|
||||||
// Explicit line break
|
if ($c === "\n") { // Explicit line break
|
||||||
|
|
||||||
// WORD SPACING
|
// WORD SPACING
|
||||||
$this->ResetSpacing();
|
$this->ResetSpacing();
|
||||||
$tmp = rtrim(mb_substr($s, $j, $i - $j, $this->mb_enc));
|
$tmp = rtrim(mb_substr($s, $j, $i - $j, $this->mb_enc));
|
||||||
$tmpOTLdata = false;
|
$tmpOTLdata = false;
|
||||||
|
|
||||||
/* -- OTL -- */
|
/* -- OTL -- */
|
||||||
if (isset($OTLdata)) {
|
if (isset($OTLdata)) {
|
||||||
$tmpOTLdata = $this->otl->sliceOTLdata($OTLdata, $j, $i - $j);
|
$tmpOTLdata = $this->otl->sliceOTLdata($OTLdata, $j, $i - $j);
|
||||||
@ -5891,21 +5936,27 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|||||||
$this->magic_reverse_dir($tmp, $directionality, $tmpOTLdata);
|
$this->magic_reverse_dir($tmp, $directionality, $tmpOTLdata);
|
||||||
}
|
}
|
||||||
/* -- END OTL -- */
|
/* -- END OTL -- */
|
||||||
|
|
||||||
$this->Cell($w, $h, $tmp, $b, 2, $align, $fill, $link, 0, 0, 0, 'M', 0, false, $tmpOTLdata);
|
$this->Cell($w, $h, $tmp, $b, 2, $align, $fill, $link, 0, 0, 0, 'M', 0, false, $tmpOTLdata);
|
||||||
|
|
||||||
if ($maxrows != false && isset($this->form) && ($this->y - $start_y) / $h > $maxrows) {
|
if ($maxrows != false && isset($this->form) && ($this->y - $start_y) / $h > $maxrows) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$i++;
|
$i++;
|
||||||
$sep = -1;
|
$sep = -1;
|
||||||
$j = $i;
|
$j = $i;
|
||||||
$l = 0;
|
$l = 0;
|
||||||
$ns = 0;
|
$ns = 0;
|
||||||
$nl++;
|
$nl++;
|
||||||
|
|
||||||
if ($border and $nl == 2) {
|
if ($border and $nl == 2) {
|
||||||
$b = $b2;
|
$b = $b2;
|
||||||
}
|
}
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($c == " ") {
|
if ($c == " ") {
|
||||||
$sep = $i;
|
$sep = $i;
|
||||||
$ls = $l;
|
$ls = $l;
|
||||||
@ -5915,15 +5966,19 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|||||||
$l += $this->GetCharWidthNonCore($c);
|
$l += $this->GetCharWidthNonCore($c);
|
||||||
|
|
||||||
if ($l > $wmax) {
|
if ($l > $wmax) {
|
||||||
|
|
||||||
// Automatic line break
|
// Automatic line break
|
||||||
if ($sep == -1) { // Only one word
|
if ($sep == -1) { // Only one word
|
||||||
|
|
||||||
if ($i == $j) {
|
if ($i == $j) {
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
|
|
||||||
// WORD SPACING
|
// WORD SPACING
|
||||||
$this->ResetSpacing();
|
$this->ResetSpacing();
|
||||||
$tmp = rtrim(mb_substr($s, $j, $i - $j, $this->mb_enc));
|
$tmp = rtrim(mb_substr($s, $j, $i - $j, $this->mb_enc));
|
||||||
$tmpOTLdata = false;
|
$tmpOTLdata = false;
|
||||||
|
|
||||||
/* -- OTL -- */
|
/* -- OTL -- */
|
||||||
if (isset($OTLdata)) {
|
if (isset($OTLdata)) {
|
||||||
$tmpOTLdata = $this->otl->sliceOTLdata($OTLdata, $j, $i - $j);
|
$tmpOTLdata = $this->otl->sliceOTLdata($OTLdata, $j, $i - $j);
|
||||||
@ -5931,27 +5986,35 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|||||||
$this->magic_reverse_dir($tmp, $directionality, $tmpOTLdata);
|
$this->magic_reverse_dir($tmp, $directionality, $tmpOTLdata);
|
||||||
}
|
}
|
||||||
/* -- END OTL -- */
|
/* -- END OTL -- */
|
||||||
|
|
||||||
$this->Cell($w, $h, $tmp, $b, 2, $align, $fill, $link, 0, 0, 0, 'M', 0, false, $tmpOTLdata);
|
$this->Cell($w, $h, $tmp, $b, 2, $align, $fill, $link, 0, 0, 0, 'M', 0, false, $tmpOTLdata);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
$tmp = rtrim(mb_substr($s, $j, $sep - $j, $this->mb_enc));
|
$tmp = rtrim(mb_substr($s, $j, $sep - $j, $this->mb_enc));
|
||||||
$tmpOTLdata = false;
|
$tmpOTLdata = false;
|
||||||
|
|
||||||
/* -- OTL -- */
|
/* -- OTL -- */
|
||||||
if (isset($OTLdata)) {
|
if (isset($OTLdata)) {
|
||||||
$tmpOTLdata = $this->otl->sliceOTLdata($OTLdata, $j, $sep - $j);
|
$tmpOTLdata = $this->otl->sliceOTLdata($OTLdata, $j, $sep - $j);
|
||||||
$this->otl->trimOTLdata($tmpOTLdata, false, true);
|
$this->otl->trimOTLdata($tmpOTLdata, false, true);
|
||||||
}
|
}
|
||||||
/* -- END OTL -- */
|
/* -- END OTL -- */
|
||||||
if ($align == 'J') {
|
|
||||||
//////////////////////////////////////////
|
if ($align === 'J') {
|
||||||
|
|
||||||
// JUSTIFY J using Unicode fonts (Word spacing doesn't work)
|
// JUSTIFY J using Unicode fonts (Word spacing doesn't work)
|
||||||
// WORD SPACING UNICODE
|
// WORD SPACING UNICODE
|
||||||
// Change NON_BREAKING SPACE to spaces so they are 'spaced' properly
|
// Change NON_BREAKING SPACE to spaces so they are 'spaced' properly
|
||||||
|
|
||||||
$tmp = str_replace(chr(194) . chr(160), chr(32), $tmp);
|
$tmp = str_replace(chr(194) . chr(160), chr(32), $tmp);
|
||||||
$len_ligne = $this->GetStringWidth($tmp, false, $tmpOTLdata);
|
$len_ligne = $this->GetStringWidth($tmp, false, $tmpOTLdata);
|
||||||
$nb_carac = mb_strlen($tmp, $this->mb_enc);
|
$nb_carac = mb_strlen($tmp, $this->mb_enc);
|
||||||
$nb_spaces = mb_substr_count($tmp, ' ', $this->mb_enc);
|
$nb_spaces = mb_substr_count($tmp, ' ', $this->mb_enc);
|
||||||
|
|
||||||
// Take off number of Marks
|
// Take off number of Marks
|
||||||
// Use GPOS OTL
|
// Use GPOS OTL
|
||||||
|
|
||||||
if (isset($this->CurrentFont['useOTL']) && ($this->CurrentFont['useOTL'])) {
|
if (isset($this->CurrentFont['useOTL']) && ($this->CurrentFont['useOTL'])) {
|
||||||
if (isset($tmpOTLdata['group']) && $tmpOTLdata['group']) {
|
if (isset($tmpOTLdata['group']) && $tmpOTLdata['group']) {
|
||||||
$nb_carac -= substr_count($tmpOTLdata['group'], 'M');
|
$nb_carac -= substr_count($tmpOTLdata['group'], 'M');
|
||||||
@ -5960,118 +6023,153 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|||||||
|
|
||||||
list($charspacing, $ws, $kashida) = $this->GetJspacing($nb_carac, $nb_spaces, ((($wmax) - $len_ligne) * Mpdf::SCALE), $inclCursive, $tmpOTLdata);
|
list($charspacing, $ws, $kashida) = $this->GetJspacing($nb_carac, $nb_spaces, ((($wmax) - $len_ligne) * Mpdf::SCALE), $inclCursive, $tmpOTLdata);
|
||||||
$this->SetSpacing($charspacing, $ws);
|
$this->SetSpacing($charspacing, $ws);
|
||||||
//////////////////////////////////////////
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($OTLdata)) {
|
if (isset($OTLdata)) {
|
||||||
$this->magic_reverse_dir($tmp, $directionality, $tmpOTLdata);
|
$this->magic_reverse_dir($tmp, $directionality, $tmpOTLdata);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->Cell($w, $h, $tmp, $b, 2, $align, $fill, $link, 0, 0, 0, 'M', 0, false, $tmpOTLdata);
|
$this->Cell($w, $h, $tmp, $b, 2, $align, $fill, $link, 0, 0, 0, 'M', 0, false, $tmpOTLdata);
|
||||||
|
|
||||||
$i = $sep + 1;
|
$i = $sep + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($maxrows != false && isset($this->form) && ($this->y - $start_y) / $h > $maxrows) {
|
if ($maxrows != false && isset($this->form) && ($this->y - $start_y) / $h > $maxrows) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$sep = -1;
|
$sep = -1;
|
||||||
$j = $i;
|
$j = $i;
|
||||||
$l = 0;
|
$l = 0;
|
||||||
$ns = 0;
|
$ns = 0;
|
||||||
$nl++;
|
$nl++;
|
||||||
|
|
||||||
if ($border and $nl == 2) {
|
if ($border and $nl == 2) {
|
||||||
$b = $b2;
|
$b = $b2;
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Last chunk
|
// Last chunk
|
||||||
// WORD SPACING
|
// WORD SPACING
|
||||||
|
|
||||||
$this->ResetSpacing();
|
$this->ResetSpacing();
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
while ($i < $nb) {
|
while ($i < $nb) {
|
||||||
|
|
||||||
// Get next character
|
// Get next character
|
||||||
$c = $s[$i];
|
$c = $s[$i];
|
||||||
if ($c == "\n") {
|
if ($c === "\n") {
|
||||||
|
|
||||||
// Explicit line break
|
// Explicit line break
|
||||||
// WORD SPACING
|
// WORD SPACING
|
||||||
|
|
||||||
$this->ResetSpacing();
|
$this->ResetSpacing();
|
||||||
$this->Cell($w, $h, substr($s, $j, $i - $j), $b, 2, $align, $fill, $link);
|
$this->Cell($w, $h, substr($s, $j, $i - $j), $b, 2, $align, $fill, $link);
|
||||||
|
|
||||||
if ($maxrows != false && isset($this->form) && ($this->y - $start_y) / $h > $maxrows) {
|
if ($maxrows != false && isset($this->form) && ($this->y - $start_y) / $h > $maxrows) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$i++;
|
$i++;
|
||||||
$sep = -1;
|
$sep = -1;
|
||||||
$j = $i;
|
$j = $i;
|
||||||
$l = 0;
|
$l = 0;
|
||||||
$ns = 0;
|
$ns = 0;
|
||||||
$nl++;
|
$nl++;
|
||||||
|
|
||||||
if ($border and $nl == 2) {
|
if ($border and $nl == 2) {
|
||||||
$b = $b2;
|
$b = $b2;
|
||||||
}
|
}
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if ($c == " ") {
|
|
||||||
|
if ($c === ' ') {
|
||||||
$sep = $i;
|
$sep = $i;
|
||||||
$ls = $l;
|
$ls = $l;
|
||||||
$ns++;
|
$ns++;
|
||||||
}
|
}
|
||||||
|
|
||||||
$l += $this->GetCharWidthCore($c);
|
$l += $this->GetCharWidthCore($c);
|
||||||
|
|
||||||
if ($l > $wmax) {
|
if ($l > $wmax) {
|
||||||
|
|
||||||
// Automatic line break
|
// Automatic line break
|
||||||
if ($sep == -1) {
|
if ($sep == -1) {
|
||||||
|
|
||||||
if ($i == $j) {
|
if ($i == $j) {
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
|
|
||||||
// WORD SPACING
|
// WORD SPACING
|
||||||
$this->ResetSpacing();
|
$this->ResetSpacing();
|
||||||
$this->Cell($w, $h, substr($s, $j, $i - $j), $b, 2, $align, $fill, $link);
|
$this->Cell($w, $h, substr($s, $j, $i - $j), $b, 2, $align, $fill, $link);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
if ($align == 'J') {
|
|
||||||
|
if ($align === 'J') {
|
||||||
|
|
||||||
$tmp = rtrim(substr($s, $j, $sep - $j));
|
$tmp = rtrim(substr($s, $j, $sep - $j));
|
||||||
//////////////////////////////////////////
|
|
||||||
// JUSTIFY J using Unicode fonts (Word spacing doesn't work)
|
// JUSTIFY J using Unicode fonts (Word spacing doesn't work)
|
||||||
// WORD SPACING NON_UNICODE/CJK
|
// WORD SPACING NON_UNICODE/CJK
|
||||||
// Change NON_BREAKING SPACE to spaces so they are 'spaced' properly
|
// Change NON_BREAKING SPACE to spaces so they are 'spaced' properly
|
||||||
|
|
||||||
$tmp = str_replace(chr(160), chr(32), $tmp);
|
$tmp = str_replace(chr(160), chr(32), $tmp);
|
||||||
$len_ligne = $this->GetStringWidth($tmp);
|
$len_ligne = $this->GetStringWidth($tmp);
|
||||||
$nb_carac = strlen($tmp);
|
$nb_carac = strlen($tmp);
|
||||||
$nb_spaces = substr_count($tmp, ' ');
|
$nb_spaces = substr_count($tmp, ' ');
|
||||||
$tmpOTLdata = [];
|
$tmpOTLdata = [];
|
||||||
|
|
||||||
list($charspacing, $ws, $kashida) = $this->GetJspacing($nb_carac, $nb_spaces, ((($wmax) - $len_ligne) * Mpdf::SCALE), false, $tmpOTLdata);
|
list($charspacing, $ws, $kashida) = $this->GetJspacing($nb_carac, $nb_spaces, ((($wmax) - $len_ligne) * Mpdf::SCALE), false, $tmpOTLdata);
|
||||||
$this->SetSpacing($charspacing, $ws);
|
$this->SetSpacing($charspacing, $ws);
|
||||||
//////////////////////////////////////////
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->Cell($w, $h, substr($s, $j, $sep - $j), $b, 2, $align, $fill, $link);
|
$this->Cell($w, $h, substr($s, $j, $sep - $j), $b, 2, $align, $fill, $link);
|
||||||
$i = $sep + 1;
|
$i = $sep + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($maxrows != false && isset($this->form) && ($this->y - $start_y) / $h > $maxrows) {
|
if ($maxrows != false && isset($this->form) && ($this->y - $start_y) / $h > $maxrows) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$sep = -1;
|
$sep = -1;
|
||||||
$j = $i;
|
$j = $i;
|
||||||
$l = 0;
|
$l = 0;
|
||||||
$ns = 0;
|
$ns = 0;
|
||||||
$nl++;
|
$nl++;
|
||||||
|
|
||||||
if ($border and $nl == 2) {
|
if ($border and $nl == 2) {
|
||||||
$b = $b2;
|
$b = $b2;
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Last chunk
|
// Last chunk
|
||||||
// WORD SPACING
|
// WORD SPACING
|
||||||
|
|
||||||
$this->ResetSpacing();
|
$this->ResetSpacing();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Last chunk
|
// Last chunk
|
||||||
if ($border and is_int(strpos($border, 'B'))) {
|
if ($border and is_int(strpos($border, 'B'))) {
|
||||||
$b .= 'B';
|
$b .= 'B';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$this->usingCoreFont) {
|
if (!$this->usingCoreFont) {
|
||||||
|
|
||||||
$tmp = rtrim(mb_substr($s, $j, $i - $j, $this->mb_enc));
|
$tmp = rtrim(mb_substr($s, $j, $i - $j, $this->mb_enc));
|
||||||
$tmpOTLdata = false;
|
$tmpOTLdata = false;
|
||||||
|
|
||||||
/* -- OTL -- */
|
/* -- OTL -- */
|
||||||
if (isset($OTLdata)) {
|
if (isset($OTLdata)) {
|
||||||
$tmpOTLdata = $this->otl->sliceOTLdata($OTLdata, $j, $i - $j);
|
$tmpOTLdata = $this->otl->sliceOTLdata($OTLdata, $j, $i - $j);
|
||||||
@ -6079,10 +6177,12 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|||||||
$this->magic_reverse_dir($tmp, $directionality, $tmpOTLdata);
|
$this->magic_reverse_dir($tmp, $directionality, $tmpOTLdata);
|
||||||
}
|
}
|
||||||
/* -- END OTL -- */
|
/* -- END OTL -- */
|
||||||
|
|
||||||
$this->Cell($w, $h, $tmp, $b, 2, $align, $fill, $link, 0, 0, 0, 'M', 0, false, $tmpOTLdata);
|
$this->Cell($w, $h, $tmp, $b, 2, $align, $fill, $link, 0, 0, 0, 'M', 0, false, $tmpOTLdata);
|
||||||
} else {
|
} else {
|
||||||
$this->Cell($w, $h, substr($s, $j, $i - $j), $b, 2, $align, $fill, $link);
|
$this->Cell($w, $h, substr($s, $j, $i - $j), $b, 2, $align, $fill, $link);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->x = $this->lMargin;
|
$this->x = $this->lMargin;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -7303,8 +7403,8 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|||||||
|
|
||||||
} elseif ($objattr['btype'] === 'QR') {
|
} elseif ($objattr['btype'] === 'QR') {
|
||||||
|
|
||||||
if (!class_exists('Mpdf\QrCode\QrCode')) {
|
if (!class_exists('Mpdf\QrCode\QrCode') || !class_exists('Mpdf\QrCode\Output\Mpdf')) {
|
||||||
throw new \Mpdf\MpdfException('Class Mpdf\QrCode\QrCode does not exists. Install the package from Packagist with "composer require mpdf/qrcode"');
|
throw new \Mpdf\MpdfException('Mpdf\QrCode package was not found. Install the package from Packagist with "composer require mpdf/qrcode"');
|
||||||
}
|
}
|
||||||
|
|
||||||
$barcodeContent = str_replace('\r\n', "\r\n", $objattr['code']);
|
$barcodeContent = str_replace('\r\n', "\r\n", $objattr['code']);
|
||||||
@ -9428,7 +9528,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|||||||
header('Content-disposition: inline; filename="' . $name . '"');
|
header('Content-disposition: inline; filename="' . $name . '"');
|
||||||
header('Cache-Control: public, must-revalidate, max-age=0');
|
header('Cache-Control: public, must-revalidate, max-age=0');
|
||||||
header('Pragma: public');
|
header('Pragma: public');
|
||||||
header('X-Generator: mPDF ' . static::VERSION);
|
header('X-Generator: mPDF' . ($this->exposeVersion ? (' ' . static::VERSION) : ''));
|
||||||
header('Expires: Sat, 26 Jul 1997 05:00:00 GMT');
|
header('Expires: Sat, 26 Jul 1997 05:00:00 GMT');
|
||||||
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
|
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
|
||||||
}
|
}
|
||||||
@ -9447,7 +9547,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|||||||
header('Content-Transfer-Encoding: binary');
|
header('Content-Transfer-Encoding: binary');
|
||||||
header('Cache-Control: public, must-revalidate, max-age=0');
|
header('Cache-Control: public, must-revalidate, max-age=0');
|
||||||
header('Pragma: public');
|
header('Pragma: public');
|
||||||
header('X-Generator: mPDF ' . static::VERSION);
|
header('X-Generator: mPDF' . ($this->exposeVersion ? (' ' . static::VERSION) : ''));
|
||||||
header('Expires: Sat, 26 Jul 1997 05:00:00 GMT');
|
header('Expires: Sat, 26 Jul 1997 05:00:00 GMT');
|
||||||
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
|
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
|
||||||
header('Content-Type: application/pdf');
|
header('Content-Type: application/pdf');
|
||||||
@ -11325,7 +11425,10 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (preg_match('@^(mailto|tel|fax):.*@i', $path)) {
|
// Skip schemes not supported by installed stream wrappers
|
||||||
|
$wrappers = stream_get_wrappers();
|
||||||
|
$pattern = sprintf('@^(?!%s)[a-z0-9\.\-+]+:.*@i', implode('|', $wrappers));
|
||||||
|
if (preg_match($pattern, $path)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -11512,7 +11615,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|||||||
|
|
||||||
$ppgno = $decToHebrew->convert($ppgno, $reverse);
|
$ppgno = $decToHebrew->convert($ppgno, $reverse);
|
||||||
|
|
||||||
} elseif (preg_match('/(arabic-indic|bengali|devanagari|gujarati|gurmukhi|kannada|malayalam|oriya|persian|tamil|telugu|thai|urdu|cambodian|khmer|lao)/i', $lowertype, $m)) {
|
} elseif (preg_match('/(arabic-indic|bengali|devanagari|gujarati|gurmukhi|kannada|malayalam|oriya|persian|tamil|telugu|thai|urdu|cambodian|khmer|lao|myanmar)/i', $lowertype, $m)) {
|
||||||
|
|
||||||
$cp = $decToOther->getCodePage($m[1]);
|
$cp = $decToOther->getCodePage($m[1]);
|
||||||
$ppgno = $decToOther->convert($ppgno, $cp, $checkfont);
|
$ppgno = $decToOther->convert($ppgno, $cp, $checkfont);
|
||||||
@ -12374,7 +12477,9 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|||||||
$lContent = (isset($arr['L']['content']) ? $arr['L']['content'] : '');
|
$lContent = (isset($arr['L']['content']) ? $arr['L']['content'] : '');
|
||||||
$cContent = (isset($arr['C']['content']) ? $arr['C']['content'] : '');
|
$cContent = (isset($arr['C']['content']) ? $arr['C']['content'] : '');
|
||||||
$rContent = (isset($arr['R']['content']) ? $arr['R']['content'] : '');
|
$rContent = (isset($arr['R']['content']) ? $arr['R']['content'] : '');
|
||||||
|
|
||||||
list($lw, $cw, $rw) = $this->_shareHeaderFooterWidth($lContent, $cContent, $rContent);
|
list($lw, $cw, $rw) = $this->_shareHeaderFooterWidth($lContent, $cContent, $rContent);
|
||||||
|
|
||||||
if ($hf == 'H') {
|
if ($hf == 'H') {
|
||||||
$valign = 'bottom';
|
$valign = 'bottom';
|
||||||
$vpadding = '0 0 ' . $this->header_line_spacing . 'em 0';
|
$vpadding = '0 0 ' . $this->header_line_spacing . 'em 0';
|
||||||
@ -12382,6 +12487,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|||||||
$valign = 'top';
|
$valign = 'top';
|
||||||
$vpadding = '' . $this->footer_line_spacing . 'em 0 0 0';
|
$vpadding = '' . $this->footer_line_spacing . 'em 0 0 0';
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($this->directionality == 'rtl') { // table columns get reversed so need different text-alignment
|
if ($this->directionality == 'rtl') { // table columns get reversed so need different text-alignment
|
||||||
$talignL = 'right';
|
$talignL = 'right';
|
||||||
$talignR = 'left';
|
$talignR = 'left';
|
||||||
@ -12389,22 +12495,29 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|||||||
$talignL = 'left';
|
$talignL = 'left';
|
||||||
$talignR = 'right';
|
$talignR = 'right';
|
||||||
}
|
}
|
||||||
|
|
||||||
$html = '<table width="100%" style="border-collapse: collapse; margin: 0; vertical-align: ' . $valign . '; color: #000000; ';
|
$html = '<table width="100%" style="border-collapse: collapse; margin: 0; vertical-align: ' . $valign . '; color: #000000; ';
|
||||||
|
|
||||||
if (isset($arr['line']) && $arr['line']) {
|
if (isset($arr['line']) && $arr['line']) {
|
||||||
$html .= ' border-' . $valign . ': 0.1mm solid #000000;';
|
$html .= ' border-' . $valign . ': 0.1mm solid #000000;';
|
||||||
}
|
}
|
||||||
|
|
||||||
$html .= '">';
|
$html .= '">';
|
||||||
$html .= '<tr>';
|
$html .= '<tr>';
|
||||||
$html .= '<td width="' . $lw . '%" style="padding: ' . $vpadding . '; text-align: ' . $talignL . '; ';
|
$html .= '<td width="' . $lw . '%" style="padding: ' . $vpadding . '; text-align: ' . $talignL . '; ';
|
||||||
|
|
||||||
if (isset($arr['L']['font-family'])) {
|
if (isset($arr['L']['font-family'])) {
|
||||||
$html .= ' font-family: ' . $arr['L']['font-family'] . ';';
|
$html .= ' font-family: ' . $arr['L']['font-family'] . ';';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($arr['L']['color'])) {
|
if (isset($arr['L']['color'])) {
|
||||||
$html .= ' color: ' . $arr['L']['color'] . ';';
|
$html .= ' color: ' . $arr['L']['color'] . ';';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($arr['L']['font-size'])) {
|
if (isset($arr['L']['font-size'])) {
|
||||||
$html .= ' font-size: ' . $arr['L']['font-size'] . 'pt;';
|
$html .= ' font-size: ' . $arr['L']['font-size'] . 'pt;';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($arr['L']['font-style'])) {
|
if (isset($arr['L']['font-style'])) {
|
||||||
if ($arr['L']['font-style'] == 'B' || $arr['L']['font-style'] == 'BI') {
|
if ($arr['L']['font-style'] == 'B' || $arr['L']['font-style'] == 'BI') {
|
||||||
$html .= ' font-weight: bold;';
|
$html .= ' font-weight: bold;';
|
||||||
@ -12413,17 +12526,22 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|||||||
$html .= ' font-style: italic;';
|
$html .= ' font-style: italic;';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$html .= '">' . $lContent . '</td>';
|
$html .= '">' . $lContent . '</td>';
|
||||||
$html .= '<td width="' . $cw . '%" style="padding: ' . $vpadding . '; text-align: center; ';
|
$html .= '<td width="' . $cw . '%" style="padding: ' . $vpadding . '; text-align: center; ';
|
||||||
|
|
||||||
if (isset($arr['C']['font-family'])) {
|
if (isset($arr['C']['font-family'])) {
|
||||||
$html .= ' font-family: ' . $arr['C']['font-family'] . ';';
|
$html .= ' font-family: ' . $arr['C']['font-family'] . ';';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($arr['C']['color'])) {
|
if (isset($arr['C']['color'])) {
|
||||||
$html .= ' color: ' . $arr['C']['color'] . ';';
|
$html .= ' color: ' . $arr['C']['color'] . ';';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($arr['C']['font-size'])) {
|
if (isset($arr['C']['font-size'])) {
|
||||||
$html .= ' font-size: ' . $arr['L']['font-size'] . 'pt;';
|
$html .= ' font-size: ' . $arr['C']['font-size'] . 'pt;';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($arr['C']['font-style'])) {
|
if (isset($arr['C']['font-style'])) {
|
||||||
if ($arr['C']['font-style'] == 'B' || $arr['C']['font-style'] == 'BI') {
|
if ($arr['C']['font-style'] == 'B' || $arr['C']['font-style'] == 'BI') {
|
||||||
$html .= ' font-weight: bold;';
|
$html .= ' font-weight: bold;';
|
||||||
@ -12432,17 +12550,22 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|||||||
$html .= ' font-style: italic;';
|
$html .= ' font-style: italic;';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$html .= '">' . $cContent . '</td>';
|
$html .= '">' . $cContent . '</td>';
|
||||||
$html .= '<td width="' . $rw . '%" style="padding: ' . $vpadding . '; text-align: ' . $talignR . '; ';
|
$html .= '<td width="' . $rw . '%" style="padding: ' . $vpadding . '; text-align: ' . $talignR . '; ';
|
||||||
|
|
||||||
if (isset($arr['R']['font-family'])) {
|
if (isset($arr['R']['font-family'])) {
|
||||||
$html .= ' font-family: ' . $arr['R']['font-family'] . ';';
|
$html .= ' font-family: ' . $arr['R']['font-family'] . ';';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($arr['R']['color'])) {
|
if (isset($arr['R']['color'])) {
|
||||||
$html .= ' color: ' . $arr['R']['color'] . ';';
|
$html .= ' color: ' . $arr['R']['color'] . ';';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($arr['R']['font-size'])) {
|
if (isset($arr['R']['font-size'])) {
|
||||||
$html .= ' font-size: ' . $arr['R']['font-size'] . 'pt;';
|
$html .= ' font-size: ' . $arr['R']['font-size'] . 'pt;';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($arr['R']['font-style'])) {
|
if (isset($arr['R']['font-style'])) {
|
||||||
if ($arr['R']['font-style'] == 'B' || $arr['R']['font-style'] == 'BI') {
|
if ($arr['R']['font-style'] == 'B' || $arr['R']['font-style'] == 'BI') {
|
||||||
$html .= ' font-weight: bold;';
|
$html .= ' font-weight: bold;';
|
||||||
@ -12451,8 +12574,10 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|||||||
$html .= ' font-style: italic;';
|
$html .= ' font-style: italic;';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$html .= '">' . $rContent . '</td>';
|
$html .= '">' . $rContent . '</td>';
|
||||||
$html .= '</tr></table>';
|
$html .= '</tr></table>';
|
||||||
|
|
||||||
return $html;
|
return $html;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -12885,7 +13010,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|||||||
$this->SetFont('arial', '', 7.5, true, true);
|
$this->SetFont('arial', '', 7.5, true, true);
|
||||||
$this->x = $this->page_box['outer_width_LR'] + 1.5;
|
$this->x = $this->page_box['outer_width_LR'] + 1.5;
|
||||||
$this->y = 1;
|
$this->y = 1;
|
||||||
$this->Cell($headerpgwidth, $this->FontSize, $hd, 0, 0, 'L', 0, '', 0, 0, 0, 'M');
|
$this->Cell(0, $this->FontSize, $hd, 0, 0, 'L', 0, '', 0, 0, 0, 'M');
|
||||||
$this->SetFont($this->default_font, '', $this->original_default_font_size);
|
$this->SetFont($this->default_font, '', $this->original_default_font_size);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -14663,7 +14788,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|||||||
$prop[1] = $tmp;
|
$prop[1] = $tmp;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
return [];
|
return ['w' => 0, 's' => 0];
|
||||||
}
|
}
|
||||||
// Size
|
// Size
|
||||||
$bsize = $this->sizeConverter->convert($prop[0], $refw, $this->FontSize, false);
|
$bsize = $this->sizeConverter->convert($prop[0], $refw, $this->FontSize, false);
|
||||||
@ -17942,7 +18067,8 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|||||||
// Set font size first so that e.g. MARGIN 0.83em works on font size for this element
|
// Set font size first so that e.g. MARGIN 0.83em works on font size for this element
|
||||||
if (isset($arrayaux['FONT-SIZE'])) {
|
if (isset($arrayaux['FONT-SIZE'])) {
|
||||||
$v = $arrayaux['FONT-SIZE'];
|
$v = $arrayaux['FONT-SIZE'];
|
||||||
if (is_numeric($v[0]) || ($v[0] === '.')) {
|
$firstLetter = substr($v, 0, 1);
|
||||||
|
if (is_numeric($firstLetter) || ($firstLetter === '.')) {
|
||||||
if ($type == 'BLOCK' && $this->blklvl > 0 && isset($this->blk[$this->blklvl - 1]['InlineProperties']) && isset($this->blk[$this->blklvl - 1]['InlineProperties']['size'])) {
|
if ($type == 'BLOCK' && $this->blklvl > 0 && isset($this->blk[$this->blklvl - 1]['InlineProperties']) && isset($this->blk[$this->blklvl - 1]['InlineProperties']['size'])) {
|
||||||
$mmsize = $this->sizeConverter->convert($v, $this->blk[$this->blklvl - 1]['InlineProperties']['size']);
|
$mmsize = $this->sizeConverter->convert($v, $this->blk[$this->blklvl - 1]['InlineProperties']['size']);
|
||||||
} elseif ($type == 'TABLECELL') {
|
} elseif ($type == 'TABLECELL') {
|
||||||
@ -26316,7 +26442,7 @@ class Mpdf implements \Psr\Log\LoggerAwareInterface
|
|||||||
$rlm = $arrcode['quietR'] / $k; // Right Quiet margin
|
$rlm = $arrcode['quietR'] / $k; // Right Quiet margin
|
||||||
$tlm = $blm = $arrcode['quietTB'] / $k;
|
$tlm = $blm = $arrcode['quietTB'] / $k;
|
||||||
$height = 1; // Overrides
|
$height = 1; // Overrides
|
||||||
} elseif (in_array($btype, ['C128A', 'C128B', 'C128C', 'EAN128A', 'EAN128B', 'EAN128C', 'C39', 'C39+', 'C39E', 'C39E+', 'S25', 'S25+', 'I25', 'I25+', 'I25B', 'I25B+', 'C93', 'MSI', 'MSI+', 'CODABAR', 'CODE11'])) {
|
} elseif (in_array($btype, ['C128A', 'C128B', 'C128C', 'C128RAW', 'EAN128A', 'EAN128B', 'EAN128C', 'C39', 'C39+', 'C39E', 'C39E+', 'S25', 'S25+', 'I25', 'I25+', 'I25B', 'I25B+', 'C93', 'MSI', 'MSI+', 'CODABAR', 'CODE11'])) {
|
||||||
$llm = $arrcode['lightmL'] * $xres; // Left Quiet margin
|
$llm = $arrcode['lightmL'] * $xres; // Left Quiet margin
|
||||||
$rlm = $arrcode['lightmR'] * $xres; // Right Quiet margin
|
$rlm = $arrcode['lightmR'] * $xres; // Right Quiet margin
|
||||||
$tlm = $blm = $arrcode['lightTB'] * $xres * $height;
|
$tlm = $blm = $arrcode['lightTB'] * $xres * $height;
|
||||||
|
64
lib/MPDF/vendor/mpdf/mpdf/src/OtlDump.php
vendored
64
lib/MPDF/vendor/mpdf/mpdf/src/OtlDump.php
vendored
@ -178,7 +178,7 @@ class OtlDump
|
|||||||
$this->fh = fopen($file, 'rb');
|
$this->fh = fopen($file, 'rb');
|
||||||
|
|
||||||
if (!$this->fh) {
|
if (!$this->fh) {
|
||||||
throw new \Mpdf\MpdfException(sprintf('Unable to open file "%s"', $file));
|
throw new \Mpdf\Exception\FontException(sprintf('Unable to open file "%s"', $file));
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->_pos = 0;
|
$this->_pos = 0;
|
||||||
@ -196,21 +196,21 @@ class OtlDump
|
|||||||
$this->panose = [];
|
$this->panose = [];
|
||||||
|
|
||||||
if ($version == 0x4F54544F) {
|
if ($version == 0x4F54544F) {
|
||||||
throw new \Mpdf\MpdfException("Postscript outlines are not supported");
|
throw new \Mpdf\Exception\FontException("Postscript outlines are not supported");
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($version == 0x74746366 && !$TTCfontID) {
|
if ($version == 0x74746366 && !$TTCfontID) {
|
||||||
throw new \Mpdf\MpdfException("TTCfontID for a TrueType Collection has to be defined in ttfontdata configuration key (" . $file . ")");
|
throw new \Mpdf\Exception\FontException("TTCfontID for a TrueType Collection has to be defined in ttfontdata configuration key (" . $file . ")");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!in_array($version, [0x00010000, 0x74727565]) && !$TTCfontID) {
|
if (!in_array($version, [0x00010000, 0x74727565]) && !$TTCfontID) {
|
||||||
throw new \Mpdf\MpdfException("Not a TrueType font: version=" . $version);
|
throw new \Mpdf\Exception\FontException("Not a TrueType font: version=" . $version);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($TTCfontID > 0) {
|
if ($TTCfontID > 0) {
|
||||||
$this->version = $version = $this->read_ulong(); // TTC Header version now
|
$this->version = $version = $this->read_ulong(); // TTC Header version now
|
||||||
if (!in_array($version, [0x00010000, 0x00020000])) {
|
if (!in_array($version, [0x00010000, 0x00020000])) {
|
||||||
throw new \Mpdf\MpdfException("Error parsing TrueType Collection: version=" . $version . " - " . $file);
|
throw new \Mpdf\Exception\FontException("Error parsing TrueType Collection: version=" . $version . " - " . $file);
|
||||||
}
|
}
|
||||||
$this->numTTCFonts = $this->read_ulong();
|
$this->numTTCFonts = $this->read_ulong();
|
||||||
for ($i = 1; $i <= $this->numTTCFonts; $i++) {
|
for ($i = 1; $i <= $this->numTTCFonts; $i++) {
|
||||||
@ -259,7 +259,7 @@ class OtlDump
|
|||||||
}
|
}
|
||||||
$xchecksum = $t['checksum'];
|
$xchecksum = $t['checksum'];
|
||||||
if ($xchecksum != $checksum) {
|
if ($xchecksum != $checksum) {
|
||||||
throw new \Mpdf\MpdfException(sprintf('TTF file "%s": invalid checksum %s table: %s (expected %s)', $this->filename, dechex($checksum[0]) . dechex($checksum[1]), $t['tag'], dechex($xchecksum[0]) . dechex($xchecksum[1])));
|
throw new \Mpdf\Exception\FontException(sprintf('TTF file "%s": invalid checksum %s table: %s (expected %s)', $this->filename, dechex($checksum[0]) . dechex($checksum[1]), $t['tag'], dechex($xchecksum[0]) . dechex($xchecksum[1])));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -473,7 +473,7 @@ class OtlDump
|
|||||||
$name_offset = $this->seek_table("name");
|
$name_offset = $this->seek_table("name");
|
||||||
$format = $this->read_ushort();
|
$format = $this->read_ushort();
|
||||||
if ($format != 0 && $format != 1) {
|
if ($format != 0 && $format != 1) {
|
||||||
throw new \Mpdf\MpdfException("Unknown name table format " . $format);
|
throw new \Mpdf\Exception\FontException("Error loading font: Unknown name table format " . $format);
|
||||||
}
|
}
|
||||||
$numRecords = $this->read_ushort();
|
$numRecords = $this->read_ushort();
|
||||||
$string_data_offset = $name_offset + $this->read_ushort();
|
$string_data_offset = $name_offset + $this->read_ushort();
|
||||||
@ -495,7 +495,7 @@ class OtlDump
|
|||||||
$opos = $this->_pos;
|
$opos = $this->_pos;
|
||||||
$this->seek($string_data_offset + $offset);
|
$this->seek($string_data_offset + $offset);
|
||||||
if ($length % 2 != 0) {
|
if ($length % 2 != 0) {
|
||||||
throw new \Mpdf\MpdfException("PostScript name is UTF-16BE string of odd length");
|
throw new \Mpdf\Exception\FontException("Error loading font: PostScript name is UTF-16BE string of odd length");
|
||||||
}
|
}
|
||||||
$length /= 2;
|
$length /= 2;
|
||||||
$N = '';
|
$N = '';
|
||||||
@ -536,14 +536,14 @@ class OtlDump
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!$psName) {
|
if (!$psName) {
|
||||||
throw new \Mpdf\MpdfException("Could not find PostScript font name: " . $this->filename);
|
throw new \Mpdf\Exception\FontException("Error loading font: Could not find PostScript font name: " . $this->filename);
|
||||||
}
|
}
|
||||||
if ($debug) {
|
if ($debug) {
|
||||||
for ($i = 0; $i < count($psName); $i++) {
|
for ($i = 0; $i < count($psName); $i++) {
|
||||||
$c = $psName[$i];
|
$c = $psName[$i];
|
||||||
$oc = ord($c);
|
$oc = ord($c);
|
||||||
if ($oc > 126 || strpos(' [](){}<>/%', $c) !== false) {
|
if ($oc > 126 || strpos(' [](){}<>/%', $c) !== false) {
|
||||||
throw new \Mpdf\MpdfException("psName=" . $psName . " contains invalid character " . $c . " ie U+" . ord(c));
|
throw new \Mpdf\Exception\FontException("psName=" . $psName . " contains invalid character " . $c . " ie U+" . ord(c));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -581,14 +581,14 @@ class OtlDump
|
|||||||
$ver_maj = $this->read_ushort();
|
$ver_maj = $this->read_ushort();
|
||||||
$ver_min = $this->read_ushort();
|
$ver_min = $this->read_ushort();
|
||||||
if ($ver_maj != 1) {
|
if ($ver_maj != 1) {
|
||||||
throw new \Mpdf\MpdfException('Unknown head table version ' . $ver_maj . '.' . $ver_min);
|
throw new \Mpdf\Exception\FontException('Error loading font: Unknown head table version ' . $ver_maj . '.' . $ver_min);
|
||||||
}
|
}
|
||||||
$this->fontRevision = $this->read_ushort() . $this->read_ushort();
|
$this->fontRevision = $this->read_ushort() . $this->read_ushort();
|
||||||
|
|
||||||
$this->skip(4);
|
$this->skip(4);
|
||||||
$magic = $this->read_ulong();
|
$magic = $this->read_ulong();
|
||||||
if ($magic != 0x5F0F3CF5) {
|
if ($magic != 0x5F0F3CF5) {
|
||||||
throw new \Mpdf\MpdfException('Invalid head table magic ' . $magic);
|
throw new \Mpdf\Exception\FontException('Error loading font: Invalid head table magic ' . $magic);
|
||||||
}
|
}
|
||||||
$this->skip(2);
|
$this->skip(2);
|
||||||
} else {
|
} else {
|
||||||
@ -606,7 +606,7 @@ class OtlDump
|
|||||||
$indexToLocFormat = $this->read_ushort();
|
$indexToLocFormat = $this->read_ushort();
|
||||||
$glyphDataFormat = $this->read_ushort();
|
$glyphDataFormat = $this->read_ushort();
|
||||||
if ($glyphDataFormat != 0) {
|
if ($glyphDataFormat != 0) {
|
||||||
throw new \Mpdf\MpdfException('Unknown glyph data format ' . $glyphDataFormat);
|
throw new \Mpdf\Exception\FontException('Error loading font: Unknown glyph data format ' . $glyphDataFormat);
|
||||||
}
|
}
|
||||||
|
|
||||||
///////////////////////////////////
|
///////////////////////////////////
|
||||||
@ -635,7 +635,7 @@ class OtlDump
|
|||||||
if ($fsType == 0x0002 || ($fsType & 0x0300) != 0) {
|
if ($fsType == 0x0002 || ($fsType & 0x0300) != 0) {
|
||||||
global $overrideTTFFontRestriction;
|
global $overrideTTFFontRestriction;
|
||||||
if (!$overrideTTFFontRestriction) {
|
if (!$overrideTTFFontRestriction) {
|
||||||
throw new \Mpdf\MpdfException('ERROR - Font file ' . $this->filename . ' cannot be embedded due to copyright restrictions.');
|
throw new \Mpdf\Exception\FontException('Font file ' . $this->filename . ' cannot be embedded due to copyright restrictions.');
|
||||||
}
|
}
|
||||||
$this->restrictedUse = true;
|
$this->restrictedUse = true;
|
||||||
}
|
}
|
||||||
@ -685,7 +685,7 @@ class OtlDump
|
|||||||
$ver_maj = $this->read_ushort();
|
$ver_maj = $this->read_ushort();
|
||||||
$ver_min = $this->read_ushort();
|
$ver_min = $this->read_ushort();
|
||||||
if ($ver_maj < 1 || $ver_maj > 4) {
|
if ($ver_maj < 1 || $ver_maj > 4) {
|
||||||
throw new \Mpdf\MpdfException('Unknown post table version ' . $ver_maj);
|
throw new \Mpdf\Exception\FontException('Error loading font: Unknown post table version ' . $ver_maj);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$this->skip(4);
|
$this->skip(4);
|
||||||
@ -715,7 +715,7 @@ class OtlDump
|
|||||||
$ver_maj = $this->read_ushort();
|
$ver_maj = $this->read_ushort();
|
||||||
$ver_min = $this->read_ushort();
|
$ver_min = $this->read_ushort();
|
||||||
if ($ver_maj != 1) {
|
if ($ver_maj != 1) {
|
||||||
throw new \Mpdf\MpdfException('Unknown hhea table version ' . $ver_maj);
|
throw new \Mpdf\Exception\FontException(sprintf('Error loading font: Unknown hhea table version %s', $ver_maj));
|
||||||
}
|
}
|
||||||
$this->skip(28);
|
$this->skip(28);
|
||||||
} else {
|
} else {
|
||||||
@ -723,11 +723,11 @@ class OtlDump
|
|||||||
}
|
}
|
||||||
$metricDataFormat = $this->read_ushort();
|
$metricDataFormat = $this->read_ushort();
|
||||||
if ($metricDataFormat != 0) {
|
if ($metricDataFormat != 0) {
|
||||||
throw new \Mpdf\MpdfException('Unknown horizontal metric data format ' . $metricDataFormat);
|
throw new \Mpdf\Exception\FontException('Error loading font: Unknown horizontal metric data format ' . $metricDataFormat);
|
||||||
}
|
}
|
||||||
$numberOfHMetrics = $this->read_ushort();
|
$numberOfHMetrics = $this->read_ushort();
|
||||||
if ($numberOfHMetrics == 0) {
|
if ($numberOfHMetrics == 0) {
|
||||||
throw new \Mpdf\MpdfException('Number of horizontal metrics is 0');
|
throw new \Mpdf\Exception\FontException('Error loading font: Number of horizontal metrics is 0');
|
||||||
}
|
}
|
||||||
|
|
||||||
///////////////////////////////////
|
///////////////////////////////////
|
||||||
@ -738,7 +738,7 @@ class OtlDump
|
|||||||
$ver_maj = $this->read_ushort();
|
$ver_maj = $this->read_ushort();
|
||||||
$ver_min = $this->read_ushort();
|
$ver_min = $this->read_ushort();
|
||||||
if ($ver_maj != 1) {
|
if ($ver_maj != 1) {
|
||||||
throw new \Mpdf\MpdfException('Unknown maxp table version ' . $ver_maj);
|
throw new \Mpdf\Exception\FontException('Error loading font: Unknown maxp table version ' . $ver_maj);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$this->skip(4);
|
$this->skip(4);
|
||||||
@ -781,7 +781,7 @@ class OtlDump
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!$unicode_cmap_offset) {
|
if (!$unicode_cmap_offset) {
|
||||||
throw new \Mpdf\MpdfException('Font (' . $this->filename . ') does not have cmap for Unicode (platform 3, encoding 1, format 4, or platform 0, any encoding, format 4)');
|
throw new \Mpdf\Exception\FontException('Font (' . $this->filename . ') does not have cmap for Unicode (platform 3, encoding 1, format 4, or platform 0, any encoding, format 4)');
|
||||||
}
|
}
|
||||||
|
|
||||||
$sipset = false;
|
$sipset = false;
|
||||||
@ -858,7 +858,7 @@ class OtlDump
|
|||||||
$bctr++;
|
$bctr++;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
throw new \Mpdf\MpdfException($names[1] . " : WARNING - The font does not have enough space to map all (unmapped) included glyphs into Private Use Area U+E000 - U+F8FF");
|
throw new \Mpdf\Exception\FontException(sprintf('Font "%s" does not have cmap for Unicode (platform 3, encoding 1, format 4, or platform 0, any encoding, format 4)', $this->filename));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$glyphToChar[$gid][] = $bctr;
|
$glyphToChar[$gid][] = $bctr;
|
||||||
@ -1568,7 +1568,7 @@ $MarkAttachmentType = ' . var_export($this->MarkAttachmentType, true) . ';
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
throw new \Mpdf\MpdfException("GPOS Lookup Type " . $Lookup[$i]['Type'] . ", Format " . $SubstFormat . " not supported (ttfontsuni.php).");
|
throw new \Mpdf\Exception\FontException("GPOS Lookup Type " . $Lookup[$i]['Type'] . ", Format " . $SubstFormat . " not supported (ttfontsuni.php).");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} // LookupType 6: Chaining Contextual Substitution Subtable
|
} // LookupType 6: Chaining Contextual Substitution Subtable
|
||||||
@ -1625,7 +1625,7 @@ $MarkAttachmentType = ' . var_export($this->MarkAttachmentType, true) . ';
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
throw new \Mpdf\MpdfException("Lookup Type " . $Lookup[$i]['Type'] . " not supported.");
|
throw new \Mpdf\Exception\FontException("Lookup Type " . $Lookup[$i]['Type'] . " not supported.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1807,7 +1807,7 @@ $MarkAttachmentType = ' . var_export($this->MarkAttachmentType, true) . ';
|
|||||||
$glyphs = $this->_getCoverage();
|
$glyphs = $this->_getCoverage();
|
||||||
$Lookup[$i]['Subtable'][$c]['CoverageInputGlyphs'][] = implode("|", $glyphs);
|
$Lookup[$i]['Subtable'][$c]['CoverageInputGlyphs'][] = implode("|", $glyphs);
|
||||||
}
|
}
|
||||||
throw new \Mpdf\MpdfException("Lookup Type 5, SubstFormat 3 not tested. Please report this with the name of font used - " . $this->fontkey);
|
throw new \Mpdf\Exception\FontException("Lookup Type 5, SubstFormat 3 not tested. Please report this with the name of font used - " . $this->fontkey);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2728,7 +2728,7 @@ $MarkAttachmentType = ' . var_export($this->MarkAttachmentType, true) . ';
|
|||||||
|
|
||||||
// Flag & 0x0010 = UseMarkFilteringSet
|
// Flag & 0x0010 = UseMarkFilteringSet
|
||||||
if ($flag & 0x0010) {
|
if ($flag & 0x0010) {
|
||||||
throw new \Mpdf\MpdfException("This font " . $this->fontkey . " contains MarkGlyphSets");
|
throw new \Mpdf\Exception\FontException("This font " . $this->fontkey . " contains MarkGlyphSets");
|
||||||
$str = "Mark Glyph Set: ";
|
$str = "Mark Glyph Set: ";
|
||||||
$str .= $this->MarkGlyphSets[$MarkFilteringSet];
|
$str .= $this->MarkGlyphSets[$MarkFilteringSet];
|
||||||
}
|
}
|
||||||
@ -3757,21 +3757,21 @@ $MarkAttachmentType = ' . var_export($this->MarkAttachmentType, true) . ';
|
|||||||
// Format 1:
|
// Format 1:
|
||||||
//===========
|
//===========
|
||||||
if ($PosFormat == 1) {
|
if ($PosFormat == 1) {
|
||||||
throw new \Mpdf\MpdfException("GPOS Lookup Type " . $Type . " Format " . $PosFormat . " not YET TESTED.");
|
throw new \Mpdf\Exception\FontException("GPOS Lookup Type " . $Type . " Format " . $PosFormat . " not YET TESTED.");
|
||||||
} //===========
|
} //===========
|
||||||
// Format 2:
|
// Format 2:
|
||||||
//===========
|
//===========
|
||||||
else {
|
else {
|
||||||
if ($PosFormat == 2) {
|
if ($PosFormat == 2) {
|
||||||
throw new \Mpdf\MpdfException("GPOS Lookup Type " . $Type . " Format " . $PosFormat . " not YET TESTED.");
|
throw new \Mpdf\Exception\FontException("GPOS Lookup Type " . $Type . " Format " . $PosFormat . " not YET TESTED.");
|
||||||
} //===========
|
} //===========
|
||||||
// Format 3:
|
// Format 3:
|
||||||
//===========
|
//===========
|
||||||
else {
|
else {
|
||||||
if ($PosFormat == 3) {
|
if ($PosFormat == 3) {
|
||||||
throw new \Mpdf\MpdfException("GPOS Lookup Type " . $Type . " Format " . $PosFormat . " not YET TESTED.");
|
throw new \Mpdf\Exception\FontException("GPOS Lookup Type " . $Type . " Format " . $PosFormat . " not YET TESTED.");
|
||||||
} else {
|
} else {
|
||||||
throw new \Mpdf\MpdfException("GPOS Lookup Type " . $Type . ", Format " . $PosFormat . " not supported.");
|
throw new \Mpdf\Exception\FontException("GPOS Lookup Type " . $Type . ", Format " . $PosFormat . " not supported.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3785,7 +3785,7 @@ $MarkAttachmentType = ' . var_export($this->MarkAttachmentType, true) . ';
|
|||||||
// Format 1:
|
// Format 1:
|
||||||
//===========
|
//===========
|
||||||
if ($PosFormat == 1) {
|
if ($PosFormat == 1) {
|
||||||
throw new \Mpdf\MpdfException("GPOS Lookup Type " . $Type . " Format " . $PosFormat . " not TESTED YET.");
|
throw new \Mpdf\Exception\FontException("GPOS Lookup Type " . $Type . " Format " . $PosFormat . " not TESTED YET.");
|
||||||
} //===========
|
} //===========
|
||||||
// Format 2:
|
// Format 2:
|
||||||
//===========
|
//===========
|
||||||
@ -3794,7 +3794,7 @@ $MarkAttachmentType = ' . var_export($this->MarkAttachmentType, true) . ';
|
|||||||
$html .= '<div>GPOS Lookup Type 8: Format 2 not yet supported in OTL dump</div>';
|
$html .= '<div>GPOS Lookup Type 8: Format 2 not yet supported in OTL dump</div>';
|
||||||
continue;
|
continue;
|
||||||
/* NB When developing - cf. GSUB 6.2 */
|
/* NB When developing - cf. GSUB 6.2 */
|
||||||
throw new \Mpdf\MpdfException("GPOS Lookup Type " . $Type . " Format " . $PosFormat . " not TESTED YET.");
|
throw new \Mpdf\Exception\FontException("GPOS Lookup Type " . $Type . " Format " . $PosFormat . " not TESTED YET.");
|
||||||
} //===========
|
} //===========
|
||||||
// Format 3:
|
// Format 3:
|
||||||
//===========
|
//===========
|
||||||
@ -4179,7 +4179,7 @@ $MarkAttachmentType = ' . var_export($this->MarkAttachmentType, true) . ';
|
|||||||
$this->glyphPos[] = ($arr[$n + 1]);
|
$this->glyphPos[] = ($arr[$n + 1]);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
throw new \Mpdf\MpdfException('Unknown location table format ' . $indexToLocFormat);
|
throw new \Mpdf\Exception\FontException('Unknown location table format ' . $indexToLocFormat);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -31,7 +31,7 @@ class RemoteContentFetcher implements \Psr\Log\LoggerAwareInterface
|
|||||||
|
|
||||||
$ch = curl_init($url);
|
$ch = curl_init($url);
|
||||||
|
|
||||||
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:13.0) Gecko/20100101 Firefox/13.0.1'); // mPDF 5.7.4
|
curl_setopt($ch, CURLOPT_USERAGENT, $this->mpdf->curlUserAgent);
|
||||||
curl_setopt($ch, CURLOPT_HEADER, 0);
|
curl_setopt($ch, CURLOPT_HEADER, 0);
|
||||||
curl_setopt($ch, CURLOPT_NOBODY, 0);
|
curl_setopt($ch, CURLOPT_NOBODY, 0);
|
||||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
||||||
|
86
lib/MPDF/vendor/mpdf/mpdf/src/TTFontFile.php
vendored
86
lib/MPDF/vendor/mpdf/mpdf/src/TTFontFile.php
vendored
@ -228,7 +228,7 @@ class TTFontFile
|
|||||||
$this->fh = fopen($file, 'rb');
|
$this->fh = fopen($file, 'rb');
|
||||||
|
|
||||||
if (!$this->fh) {
|
if (!$this->fh) {
|
||||||
throw new \Mpdf\MpdfException(sprintf('Unable to open font file "%s"', $file));
|
throw new \Mpdf\Exception\FontException(sprintf('Unable to open font file "%s"', $file));
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->_pos = 0;
|
$this->_pos = 0;
|
||||||
@ -265,21 +265,21 @@ class TTFontFile
|
|||||||
$this->panose = [];
|
$this->panose = [];
|
||||||
|
|
||||||
if ($version === 0x4F54544F) {
|
if ($version === 0x4F54544F) {
|
||||||
throw new \Mpdf\MpdfException('Postscript outlines are not supported');
|
throw new \Mpdf\Exception\FontException('Postscript outlines are not supported');
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($version === 0x74746366 && !$TTCfontID) {
|
if ($version === 0x74746366 && !$TTCfontID) {
|
||||||
throw new \Mpdf\MpdfException(sprintf('TTCfontID for a TrueType Collection is not defined in mPDF "fontdata" configuration (%s)', $file));
|
throw new \Mpdf\Exception\FontException(sprintf('TTCfontID for a TrueType Collection is not defined in mPDF "fontdata" configuration (%s)', $file));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!in_array($version, [0x00010000, 0x74727565], true) && !$TTCfontID) {
|
if (!in_array($version, [0x00010000, 0x74727565], true) && !$TTCfontID) {
|
||||||
throw new \Mpdf\MpdfException(sprintf('Not a TrueType font: version=%s)', $version));
|
throw new \Mpdf\Exception\FontException(sprintf('Not a TrueType font: version=%s)', $version));
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($TTCfontID > 0) {
|
if ($TTCfontID > 0) {
|
||||||
$this->version = $version = $this->read_ulong(); // TTC Header version now
|
$this->version = $version = $this->read_ulong(); // TTC Header version now
|
||||||
if (!in_array($version, [0x00010000, 0x00020000], true)) {
|
if (!in_array($version, [0x00010000, 0x00020000], true)) {
|
||||||
throw new \Mpdf\MpdfException(sprintf('Error parsing TrueType Collection: version=%s - (%s)', $version, $file));
|
throw new \Mpdf\Exception\FontException(sprintf('Error parsing TrueType Collection: version=%s - (%s)', $version, $file));
|
||||||
}
|
}
|
||||||
$this->numTTCFonts = $this->read_ulong();
|
$this->numTTCFonts = $this->read_ulong();
|
||||||
for ($i = 1; $i <= $this->numTTCFonts; $i++) {
|
for ($i = 1; $i <= $this->numTTCFonts; $i++) {
|
||||||
@ -332,7 +332,7 @@ class TTFontFile
|
|||||||
}
|
}
|
||||||
$xchecksum = $t['checksum'];
|
$xchecksum = $t['checksum'];
|
||||||
if ($xchecksum != $checksum) {
|
if ($xchecksum != $checksum) {
|
||||||
throw new \Mpdf\MpdfException(sprintf('TTF file "%s": invalid checksum %s table: %s (expected %s)', $this->filename, dechex($checksum[0]) . dechex($checksum[1]), $t['tag'], dechex($xchecksum[0]) . dechex($xchecksum[1])));
|
throw new \Mpdf\Exception\FontException(sprintf('TTF file "%s": invalid checksum %s table: %s (expected %s)', $this->filename, dechex($checksum[0]) . dechex($checksum[1]), $t['tag'], dechex($xchecksum[0]) . dechex($xchecksum[1])));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -548,7 +548,7 @@ class TTFontFile
|
|||||||
$this->fh = fopen($file, 'rb');
|
$this->fh = fopen($file, 'rb');
|
||||||
|
|
||||||
if (!$this->fh) {
|
if (!$this->fh) {
|
||||||
throw new \Mpdf\MpdfException(sprintf('Unable to open file "%s"', $file));
|
throw new \Mpdf\Exception\FontException(sprintf('Unable to open file "%s"', $file));
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->_pos = 0;
|
$this->_pos = 0;
|
||||||
@ -563,7 +563,7 @@ class TTFontFile
|
|||||||
if ($TTCfontID > 0) {
|
if ($TTCfontID > 0) {
|
||||||
$this->version = $version = $this->read_ulong(); // TTC Header version now
|
$this->version = $version = $this->read_ulong(); // TTC Header version now
|
||||||
if (!in_array($version, [0x00010000, 0x00020000], true)) {
|
if (!in_array($version, [0x00010000, 0x00020000], true)) {
|
||||||
throw new \Mpdf\MpdfException(sprintf("Error parsing TrueType Collection: version=%s (%s)", $version, $file));
|
throw new \Mpdf\Exception\FontException(sprintf("Error parsing TrueType Collection: version=%s (%s)", $version, $file));
|
||||||
}
|
}
|
||||||
$this->numTTCFonts = $this->read_ulong();
|
$this->numTTCFonts = $this->read_ulong();
|
||||||
for ($i = 1; $i <= $this->numTTCFonts; $i++) {
|
for ($i = 1; $i <= $this->numTTCFonts; $i++) {
|
||||||
@ -616,7 +616,7 @@ class TTFontFile
|
|||||||
$bctr++;
|
$bctr++;
|
||||||
} // Avoid overwriting a glyph already mapped in PUA
|
} // Avoid overwriting a glyph already mapped in PUA
|
||||||
if ($bctr > 0xF8FF) {
|
if ($bctr > 0xF8FF) {
|
||||||
throw new \Mpdf\MpdfException(sprintf('Font "%s" cannot map all included glyphs into Private Use Area U+E000-U+F8FF; cannot use useOTL on this font', $file));
|
throw new \Mpdf\Exception\FontException(sprintf('Font "%s" cannot map all included glyphs into Private Use Area U+E000-U+F8FF; cannot use useOTL on this font', $file));
|
||||||
}
|
}
|
||||||
$glyphToChar[$gid][] = $bctr;
|
$glyphToChar[$gid][] = $bctr;
|
||||||
$charToGlyph[$bctr] = $gid;
|
$charToGlyph[$bctr] = $gid;
|
||||||
@ -636,7 +636,7 @@ class TTFontFile
|
|||||||
|
|
||||||
$this->fh = fopen($file, 'rb');
|
$this->fh = fopen($file, 'rb');
|
||||||
if (!$this->fh) {
|
if (!$this->fh) {
|
||||||
throw new \Mpdf\MpdfException(sprintf('Unable to open file "%s"', $file));
|
throw new \Mpdf\Exception\FontException(sprintf('Unable to open file "%s"', $file));
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->numTTCFonts = 0;
|
$this->numTTCFonts = 0;
|
||||||
@ -645,10 +645,10 @@ class TTFontFile
|
|||||||
if ($version === 0x74746366) {
|
if ($version === 0x74746366) {
|
||||||
$this->version = $version = $this->read_ulong(); // TTC Header version now
|
$this->version = $version = $this->read_ulong(); // TTC Header version now
|
||||||
if (!in_array($version, [0x00010000, 0x00020000], true)) {
|
if (!in_array($version, [0x00010000, 0x00020000], true)) {
|
||||||
throw new \Mpdf\MpdfException(sprintf("Error parsing TrueType Collection: version=%s (%s)", $version, $file));
|
throw new \Mpdf\Exception\FontException(sprintf("Error parsing TrueType Collection: version=%s (%s)", $version, $file));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
throw new \Mpdf\MpdfException(sprintf("Not a TrueType Collection: version=%s (%s)", $version, $file));
|
throw new \Mpdf\Exception\FontException(sprintf("Not a TrueType Collection: version=%s (%s)", $version, $file));
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->numTTCFonts = $this->read_ulong();
|
$this->numTTCFonts = $this->read_ulong();
|
||||||
@ -664,7 +664,7 @@ class TTFontFile
|
|||||||
$name_offset = $this->seek_table("name");
|
$name_offset = $this->seek_table("name");
|
||||||
$format = $this->read_ushort();
|
$format = $this->read_ushort();
|
||||||
if ($format != 0 && $format != 1) {
|
if ($format != 0 && $format != 1) {
|
||||||
throw new \Mpdf\MpdfException("Unknown name table format " . $format);
|
throw new \Mpdf\Exception\FontException("Error loading font: Unknown name table format $format for font $this->filename");
|
||||||
}
|
}
|
||||||
|
|
||||||
$numRecords = $this->read_ushort();
|
$numRecords = $this->read_ushort();
|
||||||
@ -691,7 +691,7 @@ class TTFontFile
|
|||||||
$opos = $this->_pos;
|
$opos = $this->_pos;
|
||||||
$this->seek($string_data_offset + $offset);
|
$this->seek($string_data_offset + $offset);
|
||||||
if ($length % 2 != 0) {
|
if ($length % 2 != 0) {
|
||||||
throw new \Mpdf\MpdfException("PostScript name is UTF-16BE string of odd length");
|
throw new \Mpdf\Exception\FontException("Error loading font: PostScript name is UTF-16BE string of odd length for font $this->filename");
|
||||||
}
|
}
|
||||||
$length /= 2;
|
$length /= 2;
|
||||||
$N = '';
|
$N = '';
|
||||||
@ -728,7 +728,7 @@ class TTFontFile
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!$psName) {
|
if (!$psName) {
|
||||||
throw new \Mpdf\MpdfException("Could not find PostScript font name: " . $this->filename);
|
throw new \Mpdf\Exception\FontException("Error loading font: Could not find PostScript font name '$this->filename'");
|
||||||
}
|
}
|
||||||
|
|
||||||
// CHECK IF psName valid (PadaukBook contains illegal characters in Name ID 6 i.e. Postscript Name)
|
// CHECK IF psName valid (PadaukBook contains illegal characters in Name ID 6 i.e. Postscript Name)
|
||||||
@ -738,7 +738,7 @@ class TTFontFile
|
|||||||
$c = $psName[$i];
|
$c = $psName[$i];
|
||||||
$oc = ord($c);
|
$oc = ord($c);
|
||||||
if ($oc > 126 || strpos(' [](){}<>/%', $c) !== false) {
|
if ($oc > 126 || strpos(' [](){}<>/%', $c) !== false) {
|
||||||
//throw new \Mpdf\MpdfException("psName=".$psName." contains invalid character ".$c." ie U+".ord(c));
|
//throw new \Mpdf\Exception\FontException("psName=".$psName." contains invalid character ".$c." ie U+".ord(c));
|
||||||
$psNameInvalid = true;
|
$psNameInvalid = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -780,14 +780,14 @@ class TTFontFile
|
|||||||
$ver_maj = $this->read_ushort();
|
$ver_maj = $this->read_ushort();
|
||||||
$ver_min = $this->read_ushort();
|
$ver_min = $this->read_ushort();
|
||||||
if ($ver_maj != 1) {
|
if ($ver_maj != 1) {
|
||||||
throw new \Mpdf\MpdfException('Unknown head table version ' . $ver_maj . '.' . $ver_min);
|
throw new \Mpdf\Exception\FontException('Error loading font: Unknown head table version ' . $ver_maj . '.' . $ver_min);
|
||||||
}
|
}
|
||||||
$this->fontRevision = $this->read_ushort() . $this->read_ushort();
|
$this->fontRevision = $this->read_ushort() . $this->read_ushort();
|
||||||
|
|
||||||
$this->skip(4);
|
$this->skip(4);
|
||||||
$magic = $this->read_ulong();
|
$magic = $this->read_ulong();
|
||||||
if ($magic !== 0x5F0F3CF5) {
|
if ($magic !== 0x5F0F3CF5) {
|
||||||
throw new \Mpdf\MpdfException('Invalid head table magic ' . $magic);
|
throw new \Mpdf\Exception\FontException('Error loading font: Invalid head table magic ' . $magic);
|
||||||
}
|
}
|
||||||
$this->skip(2);
|
$this->skip(2);
|
||||||
} else {
|
} else {
|
||||||
@ -806,7 +806,7 @@ class TTFontFile
|
|||||||
$indexToLocFormat = $this->read_ushort();
|
$indexToLocFormat = $this->read_ushort();
|
||||||
$glyphDataFormat = $this->read_ushort();
|
$glyphDataFormat = $this->read_ushort();
|
||||||
if ($glyphDataFormat != 0) {
|
if ($glyphDataFormat != 0) {
|
||||||
throw new \Mpdf\MpdfException(sprintf('Unknown glyph data format %s', $glyphDataFormat));
|
throw new \Mpdf\Exception\FontException(sprintf('Error loading font: Unknown glyph data format %s', $glyphDataFormat));
|
||||||
}
|
}
|
||||||
|
|
||||||
// hhea metrics table
|
// hhea metrics table
|
||||||
@ -938,7 +938,7 @@ class TTFontFile
|
|||||||
if ($debug) {
|
if ($debug) {
|
||||||
$ver_maj = $this->read_ushort();
|
$ver_maj = $this->read_ushort();
|
||||||
if ($ver_maj < 1 || $ver_maj > 4) {
|
if ($ver_maj < 1 || $ver_maj > 4) {
|
||||||
throw new \Mpdf\MpdfException(sprintf('Unknown post table version %s', $ver_maj));
|
throw new \Mpdf\Exception\FontException(sprintf('Error loading font: Unknown post table version %s', $ver_maj));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$this->skip(4);
|
$this->skip(4);
|
||||||
@ -966,7 +966,7 @@ class TTFontFile
|
|||||||
if ($debug) {
|
if ($debug) {
|
||||||
$ver_maj = $this->read_ushort();
|
$ver_maj = $this->read_ushort();
|
||||||
if ($ver_maj != 1) {
|
if ($ver_maj != 1) {
|
||||||
throw new \Mpdf\MpdfException(sprintf('Unknown hhea table version %s', $ver_maj));
|
throw new \Mpdf\Exception\FontException(sprintf('Error loading font: Unknown hhea table version %s', $ver_maj));
|
||||||
}
|
}
|
||||||
$this->skip(28);
|
$this->skip(28);
|
||||||
} else {
|
} else {
|
||||||
@ -976,13 +976,13 @@ class TTFontFile
|
|||||||
$metricDataFormat = $this->read_ushort();
|
$metricDataFormat = $this->read_ushort();
|
||||||
|
|
||||||
if ($metricDataFormat != 0) {
|
if ($metricDataFormat != 0) {
|
||||||
throw new \Mpdf\MpdfException(sprintf('Unknown horizontal metric data format "%s"', $metricDataFormat));
|
throw new \Mpdf\Exception\FontException(sprintf('Error loading font: Unknown horizontal metric data format "%s"', $metricDataFormat));
|
||||||
}
|
}
|
||||||
|
|
||||||
$numberOfHMetrics = $this->read_ushort();
|
$numberOfHMetrics = $this->read_ushort();
|
||||||
|
|
||||||
if ($numberOfHMetrics == 0) {
|
if ($numberOfHMetrics == 0) {
|
||||||
throw new \Mpdf\MpdfException('Number of horizontal metrics is 0');
|
throw new \Mpdf\Exception\FontException('Error loading font: Number of horizontal metrics is 0');
|
||||||
}
|
}
|
||||||
|
|
||||||
// maxp - Maximum profile table
|
// maxp - Maximum profile table
|
||||||
@ -990,7 +990,7 @@ class TTFontFile
|
|||||||
if ($debug) {
|
if ($debug) {
|
||||||
$ver_maj = $this->read_ushort();
|
$ver_maj = $this->read_ushort();
|
||||||
if ($ver_maj != 1) {
|
if ($ver_maj != 1) {
|
||||||
throw new \Mpdf\MpdfException(sprintf('Unknown maxp table version ', $ver_maj));
|
throw new \Mpdf\Exception\FontException(sprintf('Error loading font: Unknown maxp table version %s', $ver_maj));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$this->skip(4);
|
$this->skip(4);
|
||||||
@ -1028,7 +1028,7 @@ class TTFontFile
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!$unicode_cmap_offset) {
|
if (!$unicode_cmap_offset) {
|
||||||
throw new \Mpdf\MpdfException(sprintf('Font "%s" does not have cmap for Unicode (platform 3, encoding 1, format 4, or platform 0, any encoding, format 4)', $this->filename));
|
throw new \Mpdf\Exception\FontException(sprintf('Font "%s" does not have cmap for Unicode (platform 3, encoding 1, format 4, or platform 0, any encoding, format 4)', $this->filename));
|
||||||
}
|
}
|
||||||
|
|
||||||
$sipset = false;
|
$sipset = false;
|
||||||
@ -1108,7 +1108,7 @@ class TTFontFile
|
|||||||
$bctr++;
|
$bctr++;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
throw new \Mpdf\MpdfException(sprintf('The font "%s" does not have enough space to map all (unmapped) included glyphs into Private Use Area U+E000-U+F8FF', $names[1]));
|
throw new \Mpdf\Exception\FontException(sprintf('The font "%s" does not have enough space to map all (unmapped) included glyphs into Private Use Area U+E000-U+F8FF', $names[1]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1340,7 +1340,7 @@ class TTFontFile
|
|||||||
$this->MarkGlyphSets = [];
|
$this->MarkGlyphSets = [];
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
throw new \Mpdf\MpdfException(sprintf('Unable to set font "%s" to use OTL as it does not include OTL tables (or at least not a GDEF table).', $this->filename));
|
throw new \Mpdf\Exception\FontException(sprintf('Unable to set font "%s" to use OTL as it does not include OTL tables (or at least not a GDEF table).', $this->filename));
|
||||||
}
|
}
|
||||||
|
|
||||||
$GSUB_offset = 0;
|
$GSUB_offset = 0;
|
||||||
@ -1779,7 +1779,7 @@ class TTFontFile
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
throw new \Mpdf\MpdfException("GPOS Lookup Type " . $Lookup[$i]['Type'] . ", Format " . $SubstFormat . " not supported (ttfontsuni.php).");
|
throw new \Mpdf\Exception\FontException("GPOS Lookup Type " . $Lookup[$i]['Type'] . ", Format " . $SubstFormat . " not supported (ttfontsuni.php).");
|
||||||
}
|
}
|
||||||
} // LookupType 6: Chaining Contextual Substitution Subtable
|
} // LookupType 6: Chaining Contextual Substitution Subtable
|
||||||
elseif ($Lookup[$i]['Type'] == 6) {
|
elseif ($Lookup[$i]['Type'] == 6) {
|
||||||
@ -1831,7 +1831,7 @@ class TTFontFile
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
throw new \Mpdf\MpdfException(sprintf('Lookup Type "%s" not supported.', $Lookup[$i]['Type']));
|
throw new \Mpdf\Exception\FontException(sprintf('Lookup Type "%s" not supported.', $Lookup[$i]['Type']));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1995,7 +1995,7 @@ class TTFontFile
|
|||||||
$glyphs = $this->_getCoverage();
|
$glyphs = $this->_getCoverage();
|
||||||
$Lookup[$i]['Subtable'][$c]['CoverageInputGlyphs'][] = implode("|", $glyphs);
|
$Lookup[$i]['Subtable'][$c]['CoverageInputGlyphs'][] = implode("|", $glyphs);
|
||||||
}
|
}
|
||||||
throw new \Mpdf\MpdfException("Lookup Type 5, SubstFormat 3 not tested. Please report this with the name of font used - " . $this->fontkey);
|
throw new \Mpdf\Exception\FontException("Lookup Type 5, SubstFormat 3 not tested. Please report this with the name of font used - " . $this->fontkey);
|
||||||
}
|
}
|
||||||
} // LookupType 6: Chaining Contextual Substitution Subtable
|
} // LookupType 6: Chaining Contextual Substitution Subtable
|
||||||
elseif ($Lookup[$i]['Type'] == 6) {
|
elseif ($Lookup[$i]['Type'] == 6) {
|
||||||
@ -2960,7 +2960,7 @@ class TTFontFile
|
|||||||
|
|
||||||
// Flag & 0x0010 = UseMarkFilteringSet
|
// Flag & 0x0010 = UseMarkFilteringSet
|
||||||
if ($flag & 0x0010) {
|
if ($flag & 0x0010) {
|
||||||
throw new \Mpdf\MpdfException("This font " . $this->fontkey . " contains MarkGlyphSets - Not tested yet");
|
throw new \Mpdf\Exception\FontException("This font " . $this->fontkey . " contains MarkGlyphSets - Not tested yet");
|
||||||
$str = $this->MarkGlyphSets[$MarkFilteringSet];
|
$str = $this->MarkGlyphSets[$MarkFilteringSet];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3449,7 +3449,7 @@ class TTFontFile
|
|||||||
$this->fh = fopen($file, 'rb');
|
$this->fh = fopen($file, 'rb');
|
||||||
|
|
||||||
if (!$this->fh) {
|
if (!$this->fh) {
|
||||||
throw new \Mpdf\MpdfException(sprintf('Unable to open file %s', $file));
|
throw new \Mpdf\Exception\FontException(sprintf('Unable to open file %s', $file));
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->_pos = 0;
|
$this->_pos = 0;
|
||||||
@ -3470,7 +3470,7 @@ class TTFontFile
|
|||||||
if ($TTCfontID > 0) {
|
if ($TTCfontID > 0) {
|
||||||
$this->version = $version = $this->read_ulong(); // TTC Header version now
|
$this->version = $version = $this->read_ulong(); // TTC Header version now
|
||||||
if (!in_array($version, [0x00010000, 0x00020000], true)) {
|
if (!in_array($version, [0x00010000, 0x00020000], true)) {
|
||||||
throw new \Mpdf\MpdfException(sprintf('Error parsing TrueType Collection: version=%s - %s', $version, $file));
|
throw new \Mpdf\Exception\FontException(sprintf('Error parsing TrueType Collection: version=%s - %s', $version, $file));
|
||||||
}
|
}
|
||||||
$this->numTTCFonts = $this->read_ulong();
|
$this->numTTCFonts = $this->read_ulong();
|
||||||
for ($i = 1; $i <= $this->numTTCFonts; $i++) {
|
for ($i = 1; $i <= $this->numTTCFonts; $i++) {
|
||||||
@ -3519,7 +3519,7 @@ class TTFontFile
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!$unicode_cmap_offset) {
|
if (!$unicode_cmap_offset) {
|
||||||
throw new \Mpdf\MpdfException(sprintf('Font "%s" does not have Unicode cmap (platform 3, encoding 1, format 4, or platform 0 [any encoding] format 4)', $this->filename));
|
throw new \Mpdf\Exception\FontException(sprintf('Font "%s" does not have Unicode cmap (platform 3, encoding 1, format 4, or platform 0 [any encoding] format 4)', $this->filename));
|
||||||
}
|
}
|
||||||
|
|
||||||
$glyphToChar = [];
|
$glyphToChar = [];
|
||||||
@ -3535,7 +3535,7 @@ class TTFontFile
|
|||||||
$bctr++;
|
$bctr++;
|
||||||
} // Avoid overwriting a glyph already mapped in PUA
|
} // Avoid overwriting a glyph already mapped in PUA
|
||||||
if ($bctr > 0xF8FF) {
|
if ($bctr > 0xF8FF) {
|
||||||
throw new \Mpdf\MpdfException($file . " : WARNING - Font cannot map all included glyphs into Private Use Area U+E000 - U+F8FF; cannot use useOTL on this font");
|
throw new \Mpdf\Exception\FontException($file . " : WARNING - Font cannot map all included glyphs into Private Use Area U+E000 - U+F8FF; cannot use useOTL on this font");
|
||||||
}
|
}
|
||||||
$glyphToChar[$gid][] = $bctr;
|
$glyphToChar[$gid][] = $bctr;
|
||||||
$charToGlyph[$bctr] = $gid;
|
$charToGlyph[$bctr] = $gid;
|
||||||
@ -3940,7 +3940,7 @@ class TTFontFile
|
|||||||
$this->fh = fopen($file, 'rb');
|
$this->fh = fopen($file, 'rb');
|
||||||
|
|
||||||
if (!$this->fh) {
|
if (!$this->fh) {
|
||||||
throw new \Mpdf\MpdfException(sprintf('Unable to open file "%s"', $file));
|
throw new \Mpdf\Exception\FontException(sprintf('Unable to open file "%s"', $file));
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->filename = $file;
|
$this->filename = $file;
|
||||||
@ -3962,7 +3962,7 @@ class TTFontFile
|
|||||||
if ($TTCfontID > 0) {
|
if ($TTCfontID > 0) {
|
||||||
$this->version = $version = $this->read_ulong(); // TTC Header version now
|
$this->version = $version = $this->read_ulong(); // TTC Header version now
|
||||||
if (!in_array($version, [0x00010000, 0x00020000])) {
|
if (!in_array($version, [0x00010000, 0x00020000])) {
|
||||||
throw new \Mpdf\MpdfException("ERROR - Error parsing TrueType Collection: version=" . $version . " - " . $file);
|
throw new \Mpdf\Exception\FontException("ERROR - Error parsing TrueType Collection: version=" . $version . " - " . $file);
|
||||||
}
|
}
|
||||||
$this->numTTCFonts = $this->read_ulong();
|
$this->numTTCFonts = $this->read_ulong();
|
||||||
for ($i = 1; $i <= $this->numTTCFonts; $i++) {
|
for ($i = 1; $i <= $this->numTTCFonts; $i++) {
|
||||||
@ -4021,7 +4021,7 @@ class TTFontFile
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!$unicode_cmap_offset) {
|
if (!$unicode_cmap_offset) {
|
||||||
throw new \Mpdf\MpdfException(sprintf('Font "%s" does not have cmap for Unicode (platform 3, encoding 1, format 4, or platform 0, any encoding, format 4)', $file));
|
throw new \Mpdf\Exception\FontException(sprintf('Font "%s" does not have cmap for Unicode (platform 3, encoding 1, format 4, or platform 0, any encoding, format 4)', $file));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Format 12 CMAP does characters above Unicode BMP i.e. some HKCS characters U+20000 and above
|
// Format 12 CMAP does characters above Unicode BMP i.e. some HKCS characters U+20000 and above
|
||||||
@ -4627,7 +4627,7 @@ class TTFontFile
|
|||||||
$this->glyphPos[] = ($arr[$n + 1]);
|
$this->glyphPos[] = ($arr[$n + 1]);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
throw new \Mpdf\MpdfException('Unknown location table format ' . $indexToLocFormat);
|
throw new \Mpdf\Exception\FontException('Unknown location table format ' . $indexToLocFormat);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4753,7 +4753,7 @@ class TTFontFile
|
|||||||
$this->fh = fopen($file, 'rb');
|
$this->fh = fopen($file, 'rb');
|
||||||
|
|
||||||
if (!$this->fh) {
|
if (!$this->fh) {
|
||||||
throw new \Mpdf\MpdfException(sprintf('Unable to open file "%s"', $file));
|
throw new \Mpdf\Exception\FontException(sprintf('Unable to open file "%s"', $file));
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->_pos = 0;
|
$this->_pos = 0;
|
||||||
@ -4774,7 +4774,7 @@ class TTFontFile
|
|||||||
if ($TTCfontID > 0) {
|
if ($TTCfontID > 0) {
|
||||||
$this->version = $version = $this->read_ulong(); // TTC Header version now
|
$this->version = $version = $this->read_ulong(); // TTC Header version now
|
||||||
if (!in_array($version, [0x00010000, 0x00020000], true)) {
|
if (!in_array($version, [0x00010000, 0x00020000], true)) {
|
||||||
throw new \Mpdf\MpdfException(sprintf('Error parsing TrueType Collection: version=%s - %s', $version, $file));
|
throw new \Mpdf\Exception\FontException(sprintf('Error parsing TrueType Collection: version=%s - %s', $version, $file));
|
||||||
}
|
}
|
||||||
$this->numTTCFonts = $this->read_ulong();
|
$this->numTTCFonts = $this->read_ulong();
|
||||||
for ($i = 1; $i <= $this->numTTCFonts; $i++) {
|
for ($i = 1; $i <= $this->numTTCFonts; $i++) {
|
||||||
@ -4821,7 +4821,7 @@ class TTFontFile
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!$unicode_cmap_offset) {
|
if (!$unicode_cmap_offset) {
|
||||||
throw new \Mpdf\MpdfException(sprintf('Font "%s" does not have cmap for Unicode (platform 3, encoding 1, format 4, or platform 0, any encoding, format 4)', $this->filename));
|
throw new \Mpdf\Exception\FontException(sprintf('Font "%s" does not have cmap for Unicode (platform 3, encoding 1, format 4, or platform 0, any encoding, format 4)', $this->filename));
|
||||||
}
|
}
|
||||||
|
|
||||||
$glyphToChar = [];
|
$glyphToChar = [];
|
||||||
@ -4836,7 +4836,7 @@ class TTFontFile
|
|||||||
$bctr++;
|
$bctr++;
|
||||||
} // Avoid overwriting a glyph already mapped in PUA (6,400)
|
} // Avoid overwriting a glyph already mapped in PUA (6,400)
|
||||||
if ($bctr > 0xF8FF) {
|
if ($bctr > 0xF8FF) {
|
||||||
throw new \Mpdf\MpdfException("Problem. Trying to repackage TF file; not enough space for unmapped glyphs");
|
throw new \Mpdf\Exception\FontException("Problem. Trying to repackage TF file; not enough space for unmapped glyphs");
|
||||||
}
|
}
|
||||||
$glyphToChar[$gid][] = $bctr;
|
$glyphToChar[$gid][] = $bctr;
|
||||||
$charToGlyph[$bctr] = $gid;
|
$charToGlyph[$bctr] = $gid;
|
||||||
|
@ -151,7 +151,7 @@ class BarCode extends Tag
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (isset($properties['VERTICAL-ALIGN'])) {
|
if (isset($properties['VERTICAL-ALIGN'])) {
|
||||||
$objattr['vertical-align'] = self::ALIGN[strtolower($properties['VERTICAL-ALIGN'])];
|
$objattr['vertical-align'] = $this->getAlign($properties['VERTICAL-ALIGN']);
|
||||||
}
|
}
|
||||||
if (isset($properties['COLOR']) && $properties['COLOR'] != '') {
|
if (isset($properties['COLOR']) && $properties['COLOR'] != '') {
|
||||||
$objattr['color'] = $this->colorConverter->convert($properties['COLOR'], $this->mpdf->PDFAXwarnings);
|
$objattr['color'] = $this->colorConverter->convert($properties['COLOR'], $this->mpdf->PDFAXwarnings);
|
||||||
@ -205,7 +205,7 @@ class BarCode extends Tag
|
|||||||
$w = ($arrcode['maxw'] * $arrcode['nom-X'] * $objattr['bsize']) + $arrcode['quietL'] + $arrcode['quietR'];
|
$w = ($arrcode['maxw'] * $arrcode['nom-X'] * $objattr['bsize']) + $arrcode['quietL'] + $arrcode['quietR'];
|
||||||
$h = ($arrcode['nom-H'] * $objattr['bsize']) + (2 * $arrcode['quietTB']);
|
$h = ($arrcode['nom-H'] * $objattr['bsize']) + (2 * $arrcode['quietTB']);
|
||||||
|
|
||||||
} elseif (in_array($objattr['btype'], ['C128A', 'C128B', 'C128C', 'EAN128A', 'EAN128B', 'EAN128C',
|
} elseif (in_array($objattr['btype'], ['C128A', 'C128B', 'C128C', 'C128RAW', 'EAN128A', 'EAN128B', 'EAN128C',
|
||||||
'C39', 'C39+', 'C39E', 'C39E+', 'S25', 'S25+', 'I25', 'I25+', 'I25B',
|
'C39', 'C39+', 'C39E', 'C39E+', 'S25', 'S25+', 'I25', 'I25+', 'I25B',
|
||||||
'I25B+', 'C93', 'MSI', 'MSI+', 'CODABAR', 'CODE11'])) {
|
'I25B+', 'C93', 'MSI', 'MSI+', 'CODABAR', 'CODE11'])) {
|
||||||
|
|
||||||
|
@ -126,7 +126,7 @@ abstract class BlockTag extends Tag
|
|||||||
}
|
}
|
||||||
// Cannot set block properties inside table - use Bold to indicate h1-h6
|
// Cannot set block properties inside table - use Bold to indicate h1-h6
|
||||||
if ($tag === 'CENTER' && $this->mpdf->tdbegin) {
|
if ($tag === 'CENTER' && $this->mpdf->tdbegin) {
|
||||||
$this->mpdf->cell[$this->mpdf->row][$this->mpdf->col]['a'] = self::ALIGN['center'];
|
$this->mpdf->cell[$this->mpdf->row][$this->mpdf->col]['a'] = $this->getAlign('center');
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->mpdf->InlineProperties['BLOCKINTABLE'] = $this->mpdf->saveInlineProperties();
|
$this->mpdf->InlineProperties['BLOCKINTABLE'] = $this->mpdf->saveInlineProperties();
|
||||||
@ -398,7 +398,7 @@ abstract class BlockTag extends Tag
|
|||||||
|
|
||||||
// mPDF 6
|
// mPDF 6
|
||||||
if (!empty($attr['ALIGN'])) {
|
if (!empty($attr['ALIGN'])) {
|
||||||
$currblk['block-align'] = self::ALIGN[strtolower($attr['ALIGN'])];
|
$currblk['block-align'] = $this->getAlign($attr['ALIGN']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -447,7 +447,7 @@ abstract class BlockTag extends Tag
|
|||||||
|
|
||||||
// Cancel Keep-Block-together
|
// Cancel Keep-Block-together
|
||||||
$currblk['keep_block_together'] = false;
|
$currblk['keep_block_together'] = false;
|
||||||
$this->mpdf->kt_y00 = '';
|
$this->mpdf->kt_y00 = 0;
|
||||||
$this->mpdf->keep_block_together = 0;
|
$this->mpdf->keep_block_together = 0;
|
||||||
|
|
||||||
$this->mpdf->blockContext++;
|
$this->mpdf->blockContext++;
|
||||||
@ -498,7 +498,7 @@ abstract class BlockTag extends Tag
|
|||||||
} elseif (isset($properties['FLOAT']) && strtoupper($properties['FLOAT']) === 'LEFT' && !$this->mpdf->ColActive) {
|
} elseif (isset($properties['FLOAT']) && strtoupper($properties['FLOAT']) === 'LEFT' && !$this->mpdf->ColActive) {
|
||||||
// Cancel Keep-Block-together
|
// Cancel Keep-Block-together
|
||||||
$currblk['keep_block_together'] = false;
|
$currblk['keep_block_together'] = false;
|
||||||
$this->mpdf->kt_y00 = '';
|
$this->mpdf->kt_y00 = 0;
|
||||||
$this->mpdf->keep_block_together = 0;
|
$this->mpdf->keep_block_together = 0;
|
||||||
|
|
||||||
$this->mpdf->blockContext++;
|
$this->mpdf->blockContext++;
|
||||||
@ -1257,6 +1257,7 @@ abstract class BlockTag extends Tag
|
|||||||
$this->mpdf->pageoutput[$this->mpdf->page] = [];
|
$this->mpdf->pageoutput[$this->mpdf->page] = [];
|
||||||
|
|
||||||
$this->mpdf->y = $this->mpdf->kt_y00;
|
$this->mpdf->y = $this->mpdf->kt_y00;
|
||||||
|
|
||||||
$ihtml = $this->mpdf->blk[$this->mpdf->blklvl]['array_i'] - 1;
|
$ihtml = $this->mpdf->blk[$this->mpdf->blklvl]['array_i'] - 1;
|
||||||
|
|
||||||
$ahtml[$ihtml + 1] .= ' pagebreakavoidchecked="true";'; // avoid re-iterating; read in OpenTag()
|
$ahtml[$ihtml + 1] .= ' pagebreakavoidchecked="true";'; // avoid re-iterating; read in OpenTag()
|
||||||
|
@ -47,7 +47,7 @@ class Columns extends Tag
|
|||||||
if ($attr['VALIGN'] === 'J') {
|
if ($attr['VALIGN'] === 'J') {
|
||||||
$valign = 'J';
|
$valign = 'J';
|
||||||
} else {
|
} else {
|
||||||
$valign = self::ALIGN[$attr['VALIGN']];
|
$valign = $this->getAlign($attr['VALIGN']);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$valign = '';
|
$valign = '';
|
||||||
|
4
lib/MPDF/vendor/mpdf/mpdf/src/Tag/Hr.php
vendored
4
lib/MPDF/vendor/mpdf/mpdf/src/Tag/Hr.php
vendored
@ -54,9 +54,9 @@ class Hr extends Tag
|
|||||||
$objattr['width'] = $this->sizeConverter->convert($attr['WIDTH'], $this->mpdf->blk[$this->mpdf->blklvl]['inner_width']);
|
$objattr['width'] = $this->sizeConverter->convert($attr['WIDTH'], $this->mpdf->blk[$this->mpdf->blklvl]['inner_width']);
|
||||||
}
|
}
|
||||||
if (isset($properties['TEXT-ALIGN'])) {
|
if (isset($properties['TEXT-ALIGN'])) {
|
||||||
$objattr['align'] = self::ALIGN[strtolower($properties['TEXT-ALIGN'])];
|
$objattr['align'] = $this->getAlign($properties['TEXT-ALIGN']);
|
||||||
} elseif (isset($attr['ALIGN']) && $attr['ALIGN'] != '') {
|
} elseif (isset($attr['ALIGN']) && $attr['ALIGN'] != '') {
|
||||||
$objattr['align'] = self::ALIGN[strtolower($attr['ALIGN'])];
|
$objattr['align'] = $this->getAlign($attr['ALIGN']);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($properties['MARGIN-LEFT']) && strtolower($properties['MARGIN-LEFT']) === 'auto') {
|
if (isset($properties['MARGIN-LEFT']) && strtolower($properties['MARGIN-LEFT']) === 'auto') {
|
||||||
|
2
lib/MPDF/vendor/mpdf/mpdf/src/Tag/Img.php
vendored
2
lib/MPDF/vendor/mpdf/mpdf/src/Tag/Img.php
vendored
@ -128,7 +128,7 @@ class Img extends Tag
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (isset($properties['VERTICAL-ALIGN'])) {
|
if (isset($properties['VERTICAL-ALIGN'])) {
|
||||||
$objattr['vertical-align'] = self::ALIGN[strtolower($properties['VERTICAL-ALIGN'])];
|
$objattr['vertical-align'] = $this->getAlign($properties['VERTICAL-ALIGN']);
|
||||||
}
|
}
|
||||||
$w = 0;
|
$w = 0;
|
||||||
$h = 0;
|
$h = 0;
|
||||||
|
8
lib/MPDF/vendor/mpdf/mpdf/src/Tag/Input.php
vendored
8
lib/MPDF/vendor/mpdf/mpdf/src/Tag/Input.php
vendored
@ -81,9 +81,9 @@ class Input extends Tag
|
|||||||
$objattr['fontsize'] = $this->mpdf->FontSizePt;
|
$objattr['fontsize'] = $this->mpdf->FontSizePt;
|
||||||
if ($this->mpdf->useActiveForms) {
|
if ($this->mpdf->useActiveForms) {
|
||||||
if (isset($attr['ALIGN'])) {
|
if (isset($attr['ALIGN'])) {
|
||||||
$objattr['text_align'] = self::ALIGN[strtolower($attr['ALIGN'])];
|
$objattr['text_align'] = $this->getAlign($attr['ALIGN']);
|
||||||
} elseif (isset($properties['TEXT-ALIGN'])) {
|
} elseif (isset($properties['TEXT-ALIGN'])) {
|
||||||
$objattr['text_align'] = self::ALIGN[strtolower($properties['TEXT-ALIGN'])];
|
$objattr['text_align'] = $this->getAlign($properties['TEXT-ALIGN']);
|
||||||
}
|
}
|
||||||
if (isset($properties['BORDER-TOP-COLOR'])) {
|
if (isset($properties['BORDER-TOP-COLOR'])) {
|
||||||
$objattr['border-col'] = $this->colorConverter->convert($properties['BORDER-TOP-COLOR'], $this->mpdf->PDFAXwarnings);
|
$objattr['border-col'] = $this->colorConverter->convert($properties['BORDER-TOP-COLOR'], $this->mpdf->PDFAXwarnings);
|
||||||
@ -105,7 +105,7 @@ class Input extends Tag
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($properties['VERTICAL-ALIGN']) {
|
if ($properties['VERTICAL-ALIGN']) {
|
||||||
$objattr['vertical-align'] = self::ALIGN[strtolower($properties['VERTICAL-ALIGN'])];
|
$objattr['vertical-align'] = $this->getAlign($properties['VERTICAL-ALIGN']);
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (strtoupper($attr['TYPE'])) {
|
switch (strtoupper($attr['TYPE'])) {
|
||||||
@ -199,7 +199,7 @@ class Input extends Tag
|
|||||||
$objattr['padding_right'] = 0;
|
$objattr['padding_right'] = 0;
|
||||||
|
|
||||||
if (isset($properties['VERTICAL-ALIGN'])) {
|
if (isset($properties['VERTICAL-ALIGN'])) {
|
||||||
$objattr['vertical-align'] = self::ALIGN[strtolower($properties['VERTICAL-ALIGN'])];
|
$objattr['vertical-align'] = $this->getAlign($properties['VERTICAL-ALIGN']);
|
||||||
}
|
}
|
||||||
|
|
||||||
$w = 0;
|
$w = 0;
|
||||||
|
2
lib/MPDF/vendor/mpdf/mpdf/src/Tag/Meter.php
vendored
2
lib/MPDF/vendor/mpdf/mpdf/src/Tag/Meter.php
vendored
@ -176,7 +176,7 @@ class Meter extends InlineTag
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (isset($properties['VERTICAL-ALIGN'])) {
|
if (isset($properties['VERTICAL-ALIGN'])) {
|
||||||
$objattr['vertical-align'] = self::ALIGN[strtolower($properties['VERTICAL-ALIGN'])];
|
$objattr['vertical-align'] = $this->getAlign($properties['VERTICAL-ALIGN']);
|
||||||
}
|
}
|
||||||
$w = 0;
|
$w = 0;
|
||||||
$h = 0;
|
$h = 0;
|
||||||
|
6
lib/MPDF/vendor/mpdf/mpdf/src/Tag/Table.php
vendored
6
lib/MPDF/vendor/mpdf/mpdf/src/Tag/Table.php
vendored
@ -163,7 +163,7 @@ class Table extends Tag
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (isset($attr['ALIGN']) && array_key_exists(strtolower($attr['ALIGN']), self::ALIGN)) {
|
if (isset($attr['ALIGN']) && array_key_exists(strtolower($attr['ALIGN']), self::ALIGN)) {
|
||||||
$table['a'] = self::ALIGN[strtolower($attr['ALIGN'])];
|
$table['a'] = $this->getAlign($attr['ALIGN']);
|
||||||
}
|
}
|
||||||
if (!$table['a']) {
|
if (!$table['a']) {
|
||||||
if ($table['direction'] === 'rtl') {
|
if ($table['direction'] === 'rtl') {
|
||||||
@ -190,10 +190,10 @@ class Table extends Tag
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (isset($properties['VERTICAL-ALIGN']) && array_key_exists(strtolower($properties['VERTICAL-ALIGN']), self::ALIGN)) {
|
if (isset($properties['VERTICAL-ALIGN']) && array_key_exists(strtolower($properties['VERTICAL-ALIGN']), self::ALIGN)) {
|
||||||
$table['va'] = self::ALIGN[strtolower($properties['VERTICAL-ALIGN'])];
|
$table['va'] = $this->getAlign($properties['VERTICAL-ALIGN']);
|
||||||
}
|
}
|
||||||
if (isset($properties['TEXT-ALIGN']) && array_key_exists(strtolower($properties['TEXT-ALIGN']), self::ALIGN)) {
|
if (isset($properties['TEXT-ALIGN']) && array_key_exists(strtolower($properties['TEXT-ALIGN']), self::ALIGN)) {
|
||||||
$table['txta'] = self::ALIGN[strtolower($properties['TEXT-ALIGN'])];
|
$table['txta'] = $this->getAlign($properties['TEXT-ALIGN']);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($properties['AUTOSIZE']) && $this->mpdf->tableLevel == 1) {
|
if (!empty($properties['AUTOSIZE']) && $this->mpdf->tableLevel == 1) {
|
||||||
|
6
lib/MPDF/vendor/mpdf/mpdf/src/Tag/Tag.php
vendored
6
lib/MPDF/vendor/mpdf/mpdf/src/Tag/Tag.php
vendored
@ -114,6 +114,12 @@ abstract class Tag
|
|||||||
return strtoupper(str_replace('Mpdf\Tag\\', '', $tag));
|
return strtoupper(str_replace('Mpdf\Tag\\', '', $tag));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function getAlign($property)
|
||||||
|
{
|
||||||
|
$property = strtolower($property);
|
||||||
|
return array_key_exists($property, self::ALIGN) ? self::ALIGN[$property] : '';
|
||||||
|
}
|
||||||
|
|
||||||
abstract public function open($attr, &$ahtml, &$ihtml);
|
abstract public function open($attr, &$ahtml, &$ihtml);
|
||||||
|
|
||||||
abstract public function close(&$ahtml, &$ihtml);
|
abstract public function close(&$ahtml, &$ihtml);
|
||||||
|
22
lib/MPDF/vendor/mpdf/mpdf/src/Tag/Td.php
vendored
22
lib/MPDF/vendor/mpdf/mpdf/src/Tag/Td.php
vendored
@ -12,19 +12,23 @@ class Td extends Tag
|
|||||||
public function open($attr, &$ahtml, &$ihtml)
|
public function open($attr, &$ahtml, &$ihtml)
|
||||||
{
|
{
|
||||||
$tag = $this->getTagName();
|
$tag = $this->getTagName();
|
||||||
|
|
||||||
$this->mpdf->ignorefollowingspaces = true;
|
$this->mpdf->ignorefollowingspaces = true;
|
||||||
$this->mpdf->lastoptionaltag = $tag; // Save current HTML specified optional endtag
|
$this->mpdf->lastoptionaltag = $tag; // Save current HTML specified optional endtag
|
||||||
|
|
||||||
$this->cssManager->tbCSSlvl++;
|
$this->cssManager->tbCSSlvl++;
|
||||||
|
|
||||||
$this->mpdf->InlineProperties = [];
|
$this->mpdf->InlineProperties = [];
|
||||||
$this->mpdf->InlineBDF = []; // mPDF 6
|
$this->mpdf->InlineBDF = []; // mPDF 6
|
||||||
$this->mpdf->InlineBDFctr = 0; // mPDF 6
|
$this->mpdf->InlineBDFctr = 0; // mPDF 6
|
||||||
$this->mpdf->tdbegin = true;
|
$this->mpdf->tdbegin = true;
|
||||||
$this->mpdf->col++;
|
$this->mpdf->col++;
|
||||||
|
|
||||||
while (isset($this->mpdf->cell[$this->mpdf->row][$this->mpdf->col])) {
|
while (isset($this->mpdf->cell[$this->mpdf->row][$this->mpdf->col])) {
|
||||||
$this->mpdf->col++;
|
$this->mpdf->col++;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Update number column
|
// Update number column
|
||||||
if ($this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['nc'] < $this->mpdf->col + 1) {
|
if ($this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['nc'] < $this->mpdf->col + 1) {
|
||||||
$this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['nc'] = $this->mpdf->col + 1;
|
$this->mpdf->table[$this->mpdf->tableLevel][$this->mpdf->tbctr[$this->mpdf->tableLevel]]['nc'] = $this->mpdf->col + 1;
|
||||||
}
|
}
|
||||||
@ -114,10 +118,10 @@ class Td extends Tag
|
|||||||
// INHERITED THEAD CSS Properties
|
// INHERITED THEAD CSS Properties
|
||||||
if ($this->mpdf->tablethead) {
|
if ($this->mpdf->tablethead) {
|
||||||
if ($this->mpdf->thead_valign_default) {
|
if ($this->mpdf->thead_valign_default) {
|
||||||
$c['va'] = self::ALIGN[strtolower($this->mpdf->thead_valign_default)];
|
$c['va'] = $this->getAlign($this->mpdf->thead_valign_default);
|
||||||
}
|
}
|
||||||
if ($this->mpdf->thead_textalign_default) {
|
if ($this->mpdf->thead_textalign_default) {
|
||||||
$c['a'] = self::ALIGN[strtolower($this->mpdf->thead_textalign_default)];
|
$c['a'] = $this->getAlign($this->mpdf->thead_textalign_default);
|
||||||
}
|
}
|
||||||
if ($this->mpdf->thead_font_weight === 'B') {
|
if ($this->mpdf->thead_font_weight === 'B') {
|
||||||
$this->mpdf->SetStyle('B', true);
|
$this->mpdf->SetStyle('B', true);
|
||||||
@ -133,10 +137,10 @@ class Td extends Tag
|
|||||||
// INHERITED TFOOT CSS Properties
|
// INHERITED TFOOT CSS Properties
|
||||||
if ($this->mpdf->tabletfoot) {
|
if ($this->mpdf->tabletfoot) {
|
||||||
if ($this->mpdf->tfoot_valign_default) {
|
if ($this->mpdf->tfoot_valign_default) {
|
||||||
$c['va'] = self::ALIGN[strtolower($this->mpdf->tfoot_valign_default)];
|
$c['va'] = $this->getAlign($this->mpdf->tfoot_valign_default);
|
||||||
}
|
}
|
||||||
if ($this->mpdf->tfoot_textalign_default) {
|
if ($this->mpdf->tfoot_textalign_default) {
|
||||||
$c['a'] = self::ALIGN[strtolower($this->mpdf->tfoot_textalign_default)];
|
$c['a'] = $this->getAlign($this->mpdf->tfoot_textalign_default);
|
||||||
}
|
}
|
||||||
if ($this->mpdf->tfoot_font_weight === 'B') {
|
if ($this->mpdf->tfoot_font_weight === 'B') {
|
||||||
$this->mpdf->SetStyle('B', true);
|
$this->mpdf->SetStyle('B', true);
|
||||||
@ -195,9 +199,9 @@ class Td extends Tag
|
|||||||
}
|
}
|
||||||
/* -- END BACKGROUNDS -- */
|
/* -- END BACKGROUNDS -- */
|
||||||
if (isset($properties['VERTICAL-ALIGN'])) {
|
if (isset($properties['VERTICAL-ALIGN'])) {
|
||||||
$c['va'] = self::ALIGN[strtolower($properties['VERTICAL-ALIGN'])];
|
$c['va'] = $this->getAlign($properties['VERTICAL-ALIGN']);
|
||||||
} elseif (isset($attr['VALIGN'])) {
|
} elseif (isset($attr['VALIGN'])) {
|
||||||
$c['va'] = self::ALIGN[strtolower($attr['VALIGN'])];
|
$c['va'] = $this->getAlign($attr['VALIGN']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -205,7 +209,7 @@ class Td extends Tag
|
|||||||
if (0 === strpos($properties['TEXT-ALIGN'], 'D')) {
|
if (0 === strpos($properties['TEXT-ALIGN'], 'D')) {
|
||||||
$c['a'] = $properties['TEXT-ALIGN'];
|
$c['a'] = $properties['TEXT-ALIGN'];
|
||||||
} else {
|
} else {
|
||||||
$c['a'] = self::ALIGN[strtolower($properties['TEXT-ALIGN'])];
|
$c['a'] = $this->getAlign($properties['TEXT-ALIGN']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!empty($attr['ALIGN'])) {
|
if (!empty($attr['ALIGN'])) {
|
||||||
@ -221,7 +225,7 @@ class Td extends Tag
|
|||||||
$c['a'] = 'DPR';
|
$c['a'] = 'DPR';
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$c['a'] = self::ALIGN[strtolower($attr['ALIGN'])];
|
$c['a'] = $this->getAlign($attr['ALIGN']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -75,9 +75,9 @@ class TextArea extends Tag
|
|||||||
$objattr['fontsize'] = $this->mpdf->FontSizePt;
|
$objattr['fontsize'] = $this->mpdf->FontSizePt;
|
||||||
if ($this->mpdf->useActiveForms) {
|
if ($this->mpdf->useActiveForms) {
|
||||||
if (isset($properties['TEXT-ALIGN'])) {
|
if (isset($properties['TEXT-ALIGN'])) {
|
||||||
$objattr['text_align'] = self::ALIGN[strtolower($properties['TEXT-ALIGN'])];
|
$objattr['text_align'] = $this->getAlign($properties['TEXT-ALIGN']);
|
||||||
} elseif (isset($attr['ALIGN'])) {
|
} elseif (isset($attr['ALIGN'])) {
|
||||||
$objattr['text_align'] = self::ALIGN[strtolower($attr['ALIGN'])];
|
$objattr['text_align'] = $this->getAlign($attr['ALIGN']);
|
||||||
}
|
}
|
||||||
if (isset($properties['OVERFLOW']) && strtolower($properties['OVERFLOW']) === 'hidden') {
|
if (isset($properties['OVERFLOW']) && strtolower($properties['OVERFLOW']) === 'hidden') {
|
||||||
$objattr['donotscroll'] = true;
|
$objattr['donotscroll'] = true;
|
||||||
@ -110,7 +110,7 @@ class TextArea extends Tag
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
if (isset($properties['VERTICAL-ALIGN'])) {
|
if (isset($properties['VERTICAL-ALIGN'])) {
|
||||||
$objattr['vertical-align'] = self::ALIGN[strtolower($properties['VERTICAL-ALIGN'])];
|
$objattr['vertical-align'] = $this->getAlign($properties['VERTICAL-ALIGN']);
|
||||||
}
|
}
|
||||||
|
|
||||||
$colsize = 20; //HTML default value
|
$colsize = 20; //HTML default value
|
||||||
|
@ -54,7 +54,7 @@ class MetadataWriter implements \Psr\Log\LoggerAwareInterface
|
|||||||
{
|
{
|
||||||
$this->writer->object();
|
$this->writer->object();
|
||||||
$this->mpdf->MetadataRoot = $this->mpdf->n;
|
$this->mpdf->MetadataRoot = $this->mpdf->n;
|
||||||
$Producer = 'mPDF ' . Mpdf::VERSION;
|
$Producer = 'mPDF' . ($this->mpdf->exposeVersion ? (' ' . Mpdf::VERSION) : '');
|
||||||
$z = date('O'); // +0200
|
$z = date('O'); // +0200
|
||||||
$offset = substr($z, 0, 3) . ':' . substr($z, 3, 2);
|
$offset = substr($z, 0, 3) . ':' . substr($z, 3, 2);
|
||||||
$CreationDate = date('Y-m-d\TH:i:s') . $offset; // 2006-03-10T10:47:26-05:00 2006-06-19T09:05:17Z
|
$CreationDate = date('Y-m-d\TH:i:s') . $offset; // 2006-03-10T10:47:26-05:00 2006-06-19T09:05:17Z
|
||||||
@ -151,7 +151,7 @@ class MetadataWriter implements \Psr\Log\LoggerAwareInterface
|
|||||||
|
|
||||||
public function writeInfo() // _putinfo
|
public function writeInfo() // _putinfo
|
||||||
{
|
{
|
||||||
$this->writer->write('/Producer ' . $this->writer->utf16BigEndianTextString('mPDF ' . $this->getVersionString()));
|
$this->writer->write('/Producer ' . $this->writer->utf16BigEndianTextString('mPDF' . ($this->mpdf->exposeVersion ? (' ' . $this->getVersionString()) : '')));
|
||||||
|
|
||||||
if (!empty($this->mpdf->title)) {
|
if (!empty($this->mpdf->title)) {
|
||||||
$this->writer->write('/Title ' . $this->writer->utf16BigEndianTextString($this->mpdf->title));
|
$this->writer->write('/Title ' . $this->writer->utf16BigEndianTextString($this->mpdf->title));
|
||||||
@ -455,23 +455,29 @@ class MetadataWriter implements \Psr\Log\LoggerAwareInterface
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($this->mpdf->hasOC || count($this->mpdf->layers)) {
|
if ($this->mpdf->hasOC || count($this->mpdf->layers)) {
|
||||||
|
|
||||||
$p = $v = $h = $l = $loff = $lall = $as = '';
|
$p = $v = $h = $l = $loff = $lall = $as = '';
|
||||||
|
|
||||||
if ($this->mpdf->hasOC) {
|
if ($this->mpdf->hasOC) {
|
||||||
|
|
||||||
if (($this->mpdf->hasOC & 1) === 1) {
|
if (($this->mpdf->hasOC & 1) === 1) {
|
||||||
$p = $this->mpdf->n_ocg_print . ' 0 R';
|
$p = $this->mpdf->n_ocg_print . ' 0 R';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (($this->mpdf->hasOC & 2) === 2) {
|
if (($this->mpdf->hasOC & 2) === 2) {
|
||||||
$v = $this->mpdf->n_ocg_view . ' 0 R';
|
$v = $this->mpdf->n_ocg_view . ' 0 R';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (($this->mpdf->hasOC & 4) === 4) {
|
if (($this->mpdf->hasOC & 4) === 4) {
|
||||||
$h = $this->mpdf->n_ocg_hidden . ' 0 R';
|
$h = $this->mpdf->n_ocg_hidden . ' 0 R';
|
||||||
}
|
}
|
||||||
|
|
||||||
$as = "<</Event /Print /OCGs [$p $v $h] /Category [/Print]>> <</Event /View /OCGs [$p $v $h] /Category [/View]>>";
|
$as = "<</Event /Print /OCGs [$p $v $h] /Category [/Print]>> <</Event /View /OCGs [$p $v $h] /Category [/View]>>";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (count($this->mpdf->layers)) {
|
if (count($this->mpdf->layers)) {
|
||||||
foreach ($this->mpdf->layers as $k => $layer) {
|
foreach ($this->mpdf->layers as $k => $layer) {
|
||||||
if (strtolower($this->mpdf->layerDetails[$k]['state']) === 'hidden') {
|
if (isset($this->mpdf->layerDetails[$k]) && strtolower($this->mpdf->layerDetails[$k]['state']) === 'hidden') {
|
||||||
$loff .= $layer['n'] . ' 0 R ';
|
$loff .= $layer['n'] . ' 0 R ';
|
||||||
} else {
|
} else {
|
||||||
$l .= $layer['n'] . ' 0 R ';
|
$l .= $layer['n'] . ' 0 R ';
|
||||||
@ -479,11 +485,14 @@ class MetadataWriter implements \Psr\Log\LoggerAwareInterface
|
|||||||
$lall .= $layer['n'] . ' 0 R ';
|
$lall .= $layer['n'] . ' 0 R ';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->writer->write("/OCProperties <</OCGs [$p $v $h $lall] /D <</ON [$p $l] /OFF [$v $h $loff] ");
|
$this->writer->write("/OCProperties <</OCGs [$p $v $h $lall] /D <</ON [$p $l] /OFF [$v $h $loff] ");
|
||||||
$this->writer->write("/Order [$v $p $h $lall] ");
|
$this->writer->write("/Order [$v $p $h $lall] ");
|
||||||
|
|
||||||
if ($as) {
|
if ($as) {
|
||||||
$this->writer->write("/AS [$as] ");
|
$this->writer->write("/AS [$as] ");
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->writer->write('>>>>');
|
$this->writer->write('>>>>');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/AboriginalSansREGULAR.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/AboriginalSansREGULAR.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Abyssinica_SIL.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Abyssinica_SIL.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Aegean.otf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Aegean.otf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Aegyptus.otf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Aegyptus.otf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Akkadian.otf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Akkadian.otf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/DBSILBR.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/DBSILBR.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/DejaVuSansCondensed-Bold.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/DejaVuSansCondensed-Bold.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/DejaVuSansCondensed-BoldOblique.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/DejaVuSansCondensed-BoldOblique.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/DejaVuSansCondensed-Oblique.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/DejaVuSansCondensed-Oblique.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/DejaVuSansCondensed.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/DejaVuSansCondensed.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/DejaVuSansMono-Bold.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/DejaVuSansMono-Bold.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/DejaVuSansMono-BoldOblique.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/DejaVuSansMono-BoldOblique.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/DejaVuSansMono-Oblique.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/DejaVuSansMono-Oblique.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/DejaVuSansMono.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/DejaVuSansMono.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/DejaVuSerif-Bold.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/DejaVuSerif-Bold.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/DejaVuSerif-BoldItalic.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/DejaVuSerif-BoldItalic.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/DejaVuSerif-Italic.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/DejaVuSerif-Italic.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/DejaVuSerif.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/DejaVuSerif.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/DejaVuSerifCondensed-Bold.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/DejaVuSerifCondensed-Bold.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/DejaVuSerifCondensed-BoldItalic.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/DejaVuSerifCondensed-BoldItalic.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/DejaVuSerifCondensed-Italic.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/DejaVuSerifCondensed-Italic.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/DejaVuSerifCondensed.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/DejaVuSerifCondensed.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Dhyana-Bold.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Dhyana-Bold.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Dhyana-Regular.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Dhyana-Regular.ttf
vendored
Normal file
Binary file not shown.
94
lib/MPDF/vendor/mpdf/mpdf/ttfonts/DhyanaOFL.txt
vendored
Normal file
94
lib/MPDF/vendor/mpdf/mpdf/ttfonts/DhyanaOFL.txt
vendored
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
Copyright (c) 2010, Vernon Adams (vern@newtypography.co.uk),
|
||||||
|
with Reserved Font Names "Dhyana".
|
||||||
|
|
||||||
|
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||||
|
This license is copied below, and is also available with a FAQ at:
|
||||||
|
http://scripts.sil.org/OFL
|
||||||
|
|
||||||
|
|
||||||
|
-----------------------------------------------------------
|
||||||
|
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||||
|
-----------------------------------------------------------
|
||||||
|
|
||||||
|
PREAMBLE
|
||||||
|
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||||
|
development of collaborative font projects, to support the font creation
|
||||||
|
efforts of academic and linguistic communities, and to provide a free and
|
||||||
|
open framework in which fonts may be shared and improved in partnership
|
||||||
|
with others.
|
||||||
|
|
||||||
|
The OFL allows the licensed fonts to be used, studied, modified and
|
||||||
|
redistributed freely as long as they are not sold by themselves. The
|
||||||
|
fonts, including any derivative works, can be bundled, embedded,
|
||||||
|
redistributed and/or sold with any software provided that any reserved
|
||||||
|
names are not used by derivative works. The fonts and derivatives,
|
||||||
|
however, cannot be released under any other type of license. The
|
||||||
|
requirement for fonts to remain under this license does not apply
|
||||||
|
to any document created using the fonts or their derivatives.
|
||||||
|
|
||||||
|
DEFINITIONS
|
||||||
|
"Font Software" refers to the set of files released by the Copyright
|
||||||
|
Holder(s) under this license and clearly marked as such. This may
|
||||||
|
include source files, build scripts and documentation.
|
||||||
|
|
||||||
|
"Reserved Font Name" refers to any names specified as such after the
|
||||||
|
copyright statement(s).
|
||||||
|
|
||||||
|
"Original Version" refers to the collection of Font Software components as
|
||||||
|
distributed by the Copyright Holder(s).
|
||||||
|
|
||||||
|
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||||
|
or substituting -- in part or in whole -- any of the components of the
|
||||||
|
Original Version, by changing formats or by porting the Font Software to a
|
||||||
|
new environment.
|
||||||
|
|
||||||
|
"Author" refers to any designer, engineer, programmer, technical
|
||||||
|
writer or other person who contributed to the Font Software.
|
||||||
|
|
||||||
|
PERMISSION & CONDITIONS
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||||
|
redistribute, and sell modified and unmodified copies of the Font
|
||||||
|
Software, subject to the following conditions:
|
||||||
|
|
||||||
|
1) Neither the Font Software nor any of its individual components,
|
||||||
|
in Original or Modified Versions, may be sold by itself.
|
||||||
|
|
||||||
|
2) Original or Modified Versions of the Font Software may be bundled,
|
||||||
|
redistributed and/or sold with any software, provided that each copy
|
||||||
|
contains the above copyright notice and this license. These can be
|
||||||
|
included either as stand-alone text files, human-readable headers or
|
||||||
|
in the appropriate machine-readable metadata fields within text or
|
||||||
|
binary files as long as those fields can be easily viewed by the user.
|
||||||
|
|
||||||
|
3) No Modified Version of the Font Software may use the Reserved Font
|
||||||
|
Name(s) unless explicit written permission is granted by the corresponding
|
||||||
|
Copyright Holder. This restriction only applies to the primary font name as
|
||||||
|
presented to the users.
|
||||||
|
|
||||||
|
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||||
|
Software shall not be used to promote, endorse or advertise any
|
||||||
|
Modified Version, except to acknowledge the contribution(s) of the
|
||||||
|
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||||
|
permission.
|
||||||
|
|
||||||
|
5) The Font Software, modified or unmodified, in part or in whole,
|
||||||
|
must be distributed entirely under this license, and must not be
|
||||||
|
distributed under any other license. The requirement for fonts to
|
||||||
|
remain under this license does not apply to any document created
|
||||||
|
using the Font Software.
|
||||||
|
|
||||||
|
TERMINATION
|
||||||
|
This license becomes null and void if any of the above conditions are
|
||||||
|
not met.
|
||||||
|
|
||||||
|
DISCLAIMER
|
||||||
|
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||||
|
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||||
|
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||||
|
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||||
|
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||||
|
OTHER DEALINGS IN THE FONT SOFTWARE.
|
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/FreeMono.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/FreeMono.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/FreeMonoBold.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/FreeMonoBold.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/FreeMonoBoldOblique.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/FreeMonoBoldOblique.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/FreeMonoOblique.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/FreeMonoOblique.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/FreeSans.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/FreeSans.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/FreeSansBold.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/FreeSansBold.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/FreeSansBoldOblique.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/FreeSansBoldOblique.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/FreeSansOblique.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/FreeSansOblique.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/FreeSerif.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/FreeSerif.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/FreeSerifBold.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/FreeSerifBold.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/FreeSerifBoldItalic.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/FreeSerifBoldItalic.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/FreeSerifItalic.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/FreeSerifItalic.ttf
vendored
Normal file
Binary file not shown.
108
lib/MPDF/vendor/mpdf/mpdf/ttfonts/GNUFreeFontinfo.txt
vendored
Normal file
108
lib/MPDF/vendor/mpdf/mpdf/ttfonts/GNUFreeFontinfo.txt
vendored
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
-*-text-*-
|
||||||
|
GNU FreeFont
|
||||||
|
|
||||||
|
The GNU FreeFont project aims to provide a useful set of free scalable
|
||||||
|
(i.e., OpenType) fonts covering as much as possible of the ISO 10646/Unicode
|
||||||
|
UCS (Universal Character Set).
|
||||||
|
|
||||||
|
Statement of Purpose
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
The practical reason for putting glyphs together in a single font face is
|
||||||
|
to conveniently mix symbols and characters from different writing systems,
|
||||||
|
without having to switch fonts.
|
||||||
|
|
||||||
|
Coverage
|
||||||
|
--------
|
||||||
|
|
||||||
|
FreeFont covers the following character sets
|
||||||
|
|
||||||
|
* ISO 8859 parts 1-15
|
||||||
|
* CEN MES-3 European Unicode Subset
|
||||||
|
http://www.evertype.com/standards/iso10646/pdf/cwa13873.pdf
|
||||||
|
* IBM/Microsoft code pages 437, 850, 852, 1250, 1252 and more
|
||||||
|
* Microsoft/Adobe Windows Glyph List 4 (WGL4)
|
||||||
|
http://www.microsoft.com/typography/otspec/WGL4.htm
|
||||||
|
* KOI8-R and KOI8-RU
|
||||||
|
* DEC VT100 graphics symbols
|
||||||
|
* International Phonetic Alphabet
|
||||||
|
* Arabic, Hebrew, Armenian, Georgian, Ethiopian and Thai alphabets,
|
||||||
|
including Arabic presentation forms A/B
|
||||||
|
* mathematical symbols, including the whole TeX repertoire of symbols
|
||||||
|
* APL symbols
|
||||||
|
etc.
|
||||||
|
|
||||||
|
Editing
|
||||||
|
-------
|
||||||
|
|
||||||
|
The free outline font editor, George Williams's FontForge
|
||||||
|
<http://fontforge.sourceforge.net/> is used for editing the fonts.
|
||||||
|
|
||||||
|
Design Issues
|
||||||
|
-------------
|
||||||
|
|
||||||
|
Which font shapes should be made? Historical style terms like Renaissance
|
||||||
|
or Baroque letterforms cannot be applied beyond Latin/Cyrillic/Greek
|
||||||
|
scripts to any greater extent than Kufi or Nashki can be applied beyond
|
||||||
|
Arabic script; "italic" is really only meaningful for Latin letters.
|
||||||
|
|
||||||
|
However, most modern writing systems have typographic formulations for
|
||||||
|
contrasting uniform and modulated character stroke widths, and have some
|
||||||
|
history with "oblique", faces. Since the advent of the typewriter, most
|
||||||
|
have developed a typographic style with uniform-width characters.
|
||||||
|
|
||||||
|
Accordingly, the FreeFont family has one monospaced - FreeMono - and two
|
||||||
|
proportional faces (one with uniform stroke - FreeSans - and one with
|
||||||
|
modulated stroke - FreeSerif).
|
||||||
|
|
||||||
|
To make text from different writing systems look good side-by-side, each
|
||||||
|
FreeFont face is meant to contain characters of similar style and weight.
|
||||||
|
|
||||||
|
Licensing
|
||||||
|
---------
|
||||||
|
|
||||||
|
Free UCS scalable fonts is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU General Public License as published
|
||||||
|
by the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
The fonts are distributed in the hope that they will be useful, but
|
||||||
|
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
|
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along
|
||||||
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
|
||||||
|
As a special exception, if you create a document which uses this font, and
|
||||||
|
embed this font or unaltered portions of this font into the document, this
|
||||||
|
font does not by itself cause the resulting document to be covered by the
|
||||||
|
GNU General Public License. This exception does not however invalidate any
|
||||||
|
other reasons why the document might be covered by the GNU General Public
|
||||||
|
License. If you modify this font, you may extend this exception to your
|
||||||
|
version of the font, but you are not obligated to do so. If you do not
|
||||||
|
wish to do so, delete this exception statement from your version.
|
||||||
|
|
||||||
|
|
||||||
|
Files and their suffixes
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
The files with .sfd (Spline Font Database) are in FontForge's native format.
|
||||||
|
Please use these if you plan to modify the font files.
|
||||||
|
|
||||||
|
TrueType fonts for immediate consumption are the files with the .ttf
|
||||||
|
(TrueType Font) suffix. These are ready to use in Xwindows based
|
||||||
|
systems using FreeType, on Mac OS, and on older Windows systems.
|
||||||
|
|
||||||
|
OpenType fonts (with suffix .otf) are for use in Windows Vista.
|
||||||
|
Note that although they can be installed on Linux, but many applications
|
||||||
|
in Linux still don't support them.
|
||||||
|
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------
|
||||||
|
Primoz Peterlin, <primoz.peterlin@biofiz.mf.uni-lj.si>
|
||||||
|
Steve White <stevan.white@googlemail.com>
|
||||||
|
|
||||||
|
Free UCS scalable fonts: http://savannah.gnu.org/projects/freefont/
|
||||||
|
$Id: README,v 1.6 2008/12/25 12:51:41 Stevan_White Exp $
|
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Garuda-Bold.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Garuda-Bold.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Garuda-BoldOblique.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Garuda-BoldOblique.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Garuda-Oblique.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Garuda-Oblique.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Garuda.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Garuda.ttf
vendored
Normal file
Binary file not shown.
98
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Jomolhari-OFL.txt
vendored
Normal file
98
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Jomolhari-OFL.txt
vendored
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
This Font Software is Copyright (c) 2006, Christopher J Fynn
|
||||||
|
All Rights Reserved.
|
||||||
|
|
||||||
|
"Jomolhari" is a Reserved Font Name for this Font Software.
|
||||||
|
|
||||||
|
This Font Software is licensed under the SIL Open Font License, Version 1.0.
|
||||||
|
No modification of the license is permitted, only verbatim copy is allowed.
|
||||||
|
This license is copied below, and is also available with a FAQ at:
|
||||||
|
http://scripts.sil.org/OFL
|
||||||
|
|
||||||
|
|
||||||
|
-----------------------------------------------------------
|
||||||
|
SIL OPEN FONT LICENSE Version 1.0 - 22 November 2005
|
||||||
|
-----------------------------------------------------------
|
||||||
|
|
||||||
|
PREAMBLE
|
||||||
|
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||||
|
development of cooperative font projects, to support the font creation
|
||||||
|
efforts of academic and linguistic communities, and to provide an open
|
||||||
|
framework in which fonts may be shared and improved in partnership with
|
||||||
|
others.
|
||||||
|
|
||||||
|
The OFL allows the licensed fonts to be used, studied, modified and
|
||||||
|
redistributed freely as long as they are not sold by themselves. The
|
||||||
|
fonts, including any derivative works, can be bundled, embedded,
|
||||||
|
redistributed and sold with any software provided that the font
|
||||||
|
names of derivative works are changed. The fonts and derivatives,
|
||||||
|
however, cannot be released under any other type of license.
|
||||||
|
|
||||||
|
DEFINITIONS
|
||||||
|
"Font Software" refers to any and all of the following:
|
||||||
|
- font files
|
||||||
|
- data files
|
||||||
|
- source code
|
||||||
|
- build scripts
|
||||||
|
- documentation
|
||||||
|
|
||||||
|
"Reserved Font Name" refers to the Font Software name as seen by
|
||||||
|
users and any other names as specified after the copyright statement.
|
||||||
|
|
||||||
|
"Standard Version" refers to the collection of Font Software
|
||||||
|
components as distributed by the Copyright Holder.
|
||||||
|
|
||||||
|
"Modified Version" refers to any derivative font software made by
|
||||||
|
adding to, deleting, or substituting -- in part or in whole --
|
||||||
|
any of the components of the Standard Version, by changing formats
|
||||||
|
or by porting the Font Software to a new environment.
|
||||||
|
|
||||||
|
"Author" refers to any designer, engineer, programmer, technical
|
||||||
|
writer or other person who contributed to the Font Software.
|
||||||
|
|
||||||
|
PERMISSION & CONDITIONS
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||||
|
redistribute, and sell modified and unmodified copies of the Font
|
||||||
|
Software, subject to the following conditions:
|
||||||
|
|
||||||
|
1) Neither the Font Software nor any of its individual components,
|
||||||
|
in Standard or Modified Versions, may be sold by itself.
|
||||||
|
|
||||||
|
2) Standard or Modified Versions of the Font Software may be bundled,
|
||||||
|
redistributed and sold with any software, provided that each copy
|
||||||
|
contains the above copyright notice and this license. These can be
|
||||||
|
included either as stand-alone text files, human-readable headers or
|
||||||
|
in the appropriate machine-readable metadata fields within text or
|
||||||
|
binary files as long as those fields can be easily viewed by the user.
|
||||||
|
|
||||||
|
3) No Modified Version of the Font Software may use the Reserved Font
|
||||||
|
Name(s), in part or in whole, unless explicit written permission is
|
||||||
|
granted by the Copyright Holder. This restriction applies to all
|
||||||
|
references stored in the Font Software, such as the font menu name and
|
||||||
|
other font description fields, which are used to differentiate the
|
||||||
|
font from others.
|
||||||
|
|
||||||
|
4) The name(s) of the Copyright Holder or the Author(s) of the Font
|
||||||
|
Software shall not be used to promote, endorse or advertise any
|
||||||
|
Modified Version, except to acknowledge the contribution(s) of the
|
||||||
|
Copyright Holder and the Author(s) or with their explicit written
|
||||||
|
permission.
|
||||||
|
|
||||||
|
5) The Font Software, modified or unmodified, in part or in whole,
|
||||||
|
must be distributed using this license, and may not be distributed
|
||||||
|
under any other license.
|
||||||
|
|
||||||
|
TERMINATION
|
||||||
|
This license becomes null and void if any of the above conditions are
|
||||||
|
not met.
|
||||||
|
|
||||||
|
DISCLAIMER
|
||||||
|
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||||
|
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||||
|
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||||
|
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||||
|
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||||
|
OTHER DEALINGS IN THE FONT SOFTWARE.
|
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Jomolhari.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Jomolhari.ttf
vendored
Normal file
Binary file not shown.
93
lib/MPDF/vendor/mpdf/mpdf/ttfonts/KhmerOFL.txt
vendored
Normal file
93
lib/MPDF/vendor/mpdf/mpdf/ttfonts/KhmerOFL.txt
vendored
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
Copyright (c) 2010, Danh Hong (khmertype.blogspot.com),
|
||||||
|
with Reserved Font Name Khmer.
|
||||||
|
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||||
|
This license is copied below, and is also available with a FAQ at:
|
||||||
|
http://scripts.sil.org/OFL
|
||||||
|
|
||||||
|
|
||||||
|
-----------------------------------------------------------
|
||||||
|
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||||
|
-----------------------------------------------------------
|
||||||
|
|
||||||
|
PREAMBLE
|
||||||
|
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||||
|
development of collaborative font projects, to support the font creation
|
||||||
|
efforts of academic and linguistic communities, and to provide a free and
|
||||||
|
open framework in which fonts may be shared and improved in partnership
|
||||||
|
with others.
|
||||||
|
|
||||||
|
The OFL allows the licensed fonts to be used, studied, modified and
|
||||||
|
redistributed freely as long as they are not sold by themselves. The
|
||||||
|
fonts, including any derivative works, can be bundled, embedded,
|
||||||
|
redistributed and/or sold with any software provided that any reserved
|
||||||
|
names are not used by derivative works. The fonts and derivatives,
|
||||||
|
however, cannot be released under any other type of license. The
|
||||||
|
requirement for fonts to remain under this license does not apply
|
||||||
|
to any document created using the fonts or their derivatives.
|
||||||
|
|
||||||
|
DEFINITIONS
|
||||||
|
"Font Software" refers to the set of files released by the Copyright
|
||||||
|
Holder(s) under this license and clearly marked as such. This may
|
||||||
|
include source files, build scripts and documentation.
|
||||||
|
|
||||||
|
"Reserved Font Name" refers to any names specified as such after the
|
||||||
|
copyright statement(s).
|
||||||
|
|
||||||
|
"Original Version" refers to the collection of Font Software components as
|
||||||
|
distributed by the Copyright Holder(s).
|
||||||
|
|
||||||
|
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||||
|
or substituting -- in part or in whole -- any of the components of the
|
||||||
|
Original Version, by changing formats or by porting the Font Software to a
|
||||||
|
new environment.
|
||||||
|
|
||||||
|
"Author" refers to any designer, engineer, programmer, technical
|
||||||
|
writer or other person who contributed to the Font Software.
|
||||||
|
|
||||||
|
PERMISSION & CONDITIONS
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||||
|
redistribute, and sell modified and unmodified copies of the Font
|
||||||
|
Software, subject to the following conditions:
|
||||||
|
|
||||||
|
1) Neither the Font Software nor any of its individual components,
|
||||||
|
in Original or Modified Versions, may be sold by itself.
|
||||||
|
|
||||||
|
2) Original or Modified Versions of the Font Software may be bundled,
|
||||||
|
redistributed and/or sold with any software, provided that each copy
|
||||||
|
contains the above copyright notice and this license. These can be
|
||||||
|
included either as stand-alone text files, human-readable headers or
|
||||||
|
in the appropriate machine-readable metadata fields within text or
|
||||||
|
binary files as long as those fields can be easily viewed by the user.
|
||||||
|
|
||||||
|
3) No Modified Version of the Font Software may use the Reserved Font
|
||||||
|
Name(s) unless explicit written permission is granted by the corresponding
|
||||||
|
Copyright Holder. This restriction only applies to the primary font name as
|
||||||
|
presented to the users.
|
||||||
|
|
||||||
|
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||||
|
Software shall not be used to promote, endorse or advertise any
|
||||||
|
Modified Version, except to acknowledge the contribution(s) of the
|
||||||
|
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||||
|
permission.
|
||||||
|
|
||||||
|
5) The Font Software, modified or unmodified, in part or in whole,
|
||||||
|
must be distributed entirely under this license, and must not be
|
||||||
|
distributed under any other license. The requirement for fonts to
|
||||||
|
remain under this license does not apply to any document created
|
||||||
|
using the Font Software.
|
||||||
|
|
||||||
|
TERMINATION
|
||||||
|
This license becomes null and void if any of the above conditions are
|
||||||
|
not met.
|
||||||
|
|
||||||
|
DISCLAIMER
|
||||||
|
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||||
|
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||||
|
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||||
|
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||||
|
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||||
|
OTHER DEALINGS IN THE FONT SOFTWARE.
|
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/KhmerOS.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/KhmerOS.ttf
vendored
Normal file
Binary file not shown.
93
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Lateef font OFL.txt
vendored
Normal file
93
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Lateef font OFL.txt
vendored
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
Copyright (c) 2004-2011, SIL International (http://www.sil.org/),
|
||||||
|
with Reserved Font Names "Scheherazade" and "SIL".
|
||||||
|
|
||||||
|
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||||
|
This license is copied below, and is also available with a FAQ at:
|
||||||
|
http://scripts.sil.org/OFL
|
||||||
|
|
||||||
|
-----------------------------------------------------------
|
||||||
|
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||||
|
-----------------------------------------------------------
|
||||||
|
|
||||||
|
PREAMBLE
|
||||||
|
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||||
|
development of collaborative font projects, to support the font creation
|
||||||
|
efforts of academic and linguistic communities, and to provide a free and
|
||||||
|
open framework in which fonts may be shared and improved in partnership
|
||||||
|
with others.
|
||||||
|
|
||||||
|
The OFL allows the licensed fonts to be used, studied, modified and
|
||||||
|
redistributed freely as long as they are not sold by themselves. The
|
||||||
|
fonts, including any derivative works, can be bundled, embedded,
|
||||||
|
redistributed and/or sold with any software provided that any reserved
|
||||||
|
names are not used by derivative works. The fonts and derivatives,
|
||||||
|
however, cannot be released under any other type of license. The
|
||||||
|
requirement for fonts to remain under this license does not apply
|
||||||
|
to any document created using the fonts or their derivatives.
|
||||||
|
|
||||||
|
DEFINITIONS
|
||||||
|
"Font Software" refers to the set of files released by the Copyright
|
||||||
|
Holder(s) under this license and clearly marked as such. This may
|
||||||
|
include source files, build scripts and documentation.
|
||||||
|
|
||||||
|
"Reserved Font Name" refers to any names specified as such after the
|
||||||
|
copyright statement(s).
|
||||||
|
|
||||||
|
"Original Version" refers to the collection of Font Software components as
|
||||||
|
distributed by the Copyright Holder(s).
|
||||||
|
|
||||||
|
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||||
|
or substituting -- in part or in whole -- any of the components of the
|
||||||
|
Original Version, by changing formats or by porting the Font Software to a
|
||||||
|
new environment.
|
||||||
|
|
||||||
|
"Author" refers to any designer, engineer, programmer, technical
|
||||||
|
writer or other person who contributed to the Font Software.
|
||||||
|
|
||||||
|
PERMISSION & CONDITIONS
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||||
|
redistribute, and sell modified and unmodified copies of the Font
|
||||||
|
Software, subject to the following conditions:
|
||||||
|
|
||||||
|
1) Neither the Font Software nor any of its individual components,
|
||||||
|
in Original or Modified Versions, may be sold by itself.
|
||||||
|
|
||||||
|
2) Original or Modified Versions of the Font Software may be bundled,
|
||||||
|
redistributed and/or sold with any software, provided that each copy
|
||||||
|
contains the above copyright notice and this license. These can be
|
||||||
|
included either as stand-alone text files, human-readable headers or
|
||||||
|
in the appropriate machine-readable metadata fields within text or
|
||||||
|
binary files as long as those fields can be easily viewed by the user.
|
||||||
|
|
||||||
|
3) No Modified Version of the Font Software may use the Reserved Font
|
||||||
|
Name(s) unless explicit written permission is granted by the corresponding
|
||||||
|
Copyright Holder. This restriction only applies to the primary font name as
|
||||||
|
presented to the users.
|
||||||
|
|
||||||
|
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||||
|
Software shall not be used to promote, endorse or advertise any
|
||||||
|
Modified Version, except to acknowledge the contribution(s) of the
|
||||||
|
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||||
|
permission.
|
||||||
|
|
||||||
|
5) The Font Software, modified or unmodified, in part or in whole,
|
||||||
|
must be distributed entirely under this license, and must not be
|
||||||
|
distributed under any other license. The requirement for fonts to
|
||||||
|
remain under this license does not apply to any document created
|
||||||
|
using the Font Software.
|
||||||
|
|
||||||
|
TERMINATION
|
||||||
|
This license becomes null and void if any of the above conditions are
|
||||||
|
not met.
|
||||||
|
|
||||||
|
DISCLAIMER
|
||||||
|
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||||
|
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||||
|
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||||
|
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||||
|
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||||
|
OTHER DEALINGS IN THE FONT SOFTWARE.
|
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/LateefRegOT.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/LateefRegOT.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Lohit-Kannada.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Lohit-Kannada.ttf
vendored
Normal file
Binary file not shown.
94
lib/MPDF/vendor/mpdf/mpdf/ttfonts/LohitKannadaOFL.txt
vendored
Normal file
94
lib/MPDF/vendor/mpdf/mpdf/ttfonts/LohitKannadaOFL.txt
vendored
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
Copyright 2011-12 Lohit Fonts Project contributors
|
||||||
|
<http://fedorahosted.org/lohit>
|
||||||
|
|
||||||
|
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||||
|
This license is copied below, and is also available with a FAQ at:
|
||||||
|
http://scripts.sil.org/OFL
|
||||||
|
|
||||||
|
|
||||||
|
-----------------------------------------------------------
|
||||||
|
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||||
|
-----------------------------------------------------------
|
||||||
|
|
||||||
|
PREAMBLE
|
||||||
|
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||||
|
development of collaborative font projects, to support the font creation
|
||||||
|
efforts of academic and linguistic communities, and to provide a free and
|
||||||
|
open framework in which fonts may be shared and improved in partnership
|
||||||
|
with others.
|
||||||
|
|
||||||
|
The OFL allows the licensed fonts to be used, studied, modified and
|
||||||
|
redistributed freely as long as they are not sold by themselves. The
|
||||||
|
fonts, including any derivative works, can be bundled, embedded,
|
||||||
|
redistributed and/or sold with any software provided that any reserved
|
||||||
|
names are not used by derivative works. The fonts and derivatives,
|
||||||
|
however, cannot be released under any other type of license. The
|
||||||
|
requirement for fonts to remain under this license does not apply
|
||||||
|
to any document created using the fonts or their derivatives.
|
||||||
|
|
||||||
|
DEFINITIONS
|
||||||
|
"Font Software" refers to the set of files released by the Copyright
|
||||||
|
Holder(s) under this license and clearly marked as such. This may
|
||||||
|
include source files, build scripts and documentation.
|
||||||
|
|
||||||
|
"Reserved Font Name" refers to any names specified as such after the
|
||||||
|
copyright statement(s).
|
||||||
|
|
||||||
|
"Original Version" refers to the collection of Font Software components as
|
||||||
|
distributed by the Copyright Holder(s).
|
||||||
|
|
||||||
|
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||||
|
or substituting -- in part or in whole -- any of the components of the
|
||||||
|
Original Version, by changing formats or by porting the Font Software to a
|
||||||
|
new environment.
|
||||||
|
|
||||||
|
"Author" refers to any designer, engineer, programmer, technical
|
||||||
|
writer or other person who contributed to the Font Software.
|
||||||
|
|
||||||
|
PERMISSION & CONDITIONS
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||||
|
redistribute, and sell modified and unmodified copies of the Font
|
||||||
|
Software, subject to the following conditions:
|
||||||
|
|
||||||
|
1) Neither the Font Software nor any of its individual components,
|
||||||
|
in Original or Modified Versions, may be sold by itself.
|
||||||
|
|
||||||
|
2) Original or Modified Versions of the Font Software may be bundled,
|
||||||
|
redistributed and/or sold with any software, provided that each copy
|
||||||
|
contains the above copyright notice and this license. These can be
|
||||||
|
included either as stand-alone text files, human-readable headers or
|
||||||
|
in the appropriate machine-readable metadata fields within text or
|
||||||
|
binary files as long as those fields can be easily viewed by the user.
|
||||||
|
|
||||||
|
3) No Modified Version of the Font Software may use the Reserved Font
|
||||||
|
Name(s) unless explicit written permission is granted by the corresponding
|
||||||
|
Copyright Holder. This restriction only applies to the primary font name as
|
||||||
|
presented to the users.
|
||||||
|
|
||||||
|
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||||
|
Software shall not be used to promote, endorse or advertise any
|
||||||
|
Modified Version, except to acknowledge the contribution(s) of the
|
||||||
|
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||||
|
permission.
|
||||||
|
|
||||||
|
5) The Font Software, modified or unmodified, in part or in whole,
|
||||||
|
must be distributed entirely under this license, and must not be
|
||||||
|
distributed under any other license. The requirement for fonts to
|
||||||
|
remain under this license does not apply to any document created
|
||||||
|
using the Font Software.
|
||||||
|
|
||||||
|
TERMINATION
|
||||||
|
This license becomes null and void if any of the above conditions are
|
||||||
|
not met.
|
||||||
|
|
||||||
|
DISCLAIMER
|
||||||
|
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||||
|
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||||
|
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||||
|
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||||
|
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||||
|
OTHER DEALINGS IN THE FONT SOFTWARE.
|
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Padauk-book.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Padauk-book.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Pothana2000.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Pothana2000.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Quivira.otf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Quivira.otf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Sun-ExtA.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Sun-ExtA.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Sun-ExtB.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Sun-ExtB.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/SundaneseUnicode-1.0.5.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/SundaneseUnicode-1.0.5.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/SyrCOMEdessa.otf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/SyrCOMEdessa.otf
vendored
Normal file
Binary file not shown.
61
lib/MPDF/vendor/mpdf/mpdf/ttfonts/SyrCOMEdessa_license.txt
vendored
Normal file
61
lib/MPDF/vendor/mpdf/mpdf/ttfonts/SyrCOMEdessa_license.txt
vendored
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
This license is derived from the Bigelow & Holmes Font License
|
||||||
|
found at http://www.xfree86.org/current/LICENSE2.html
|
||||||
|
|
||||||
|
The following reasonable modifications have been made to the
|
||||||
|
Bigelow & Holmes Font License:
|
||||||
|
|
||||||
|
* All references to Luxi have been replaced with Meltho
|
||||||
|
|
||||||
|
* All references to Bigelow & Holmes Inc. and URW++ GmbH haven
|
||||||
|
been replaced with Beth Mardutho: The Syriac Institute
|
||||||
|
|
||||||
|
* The registered trademark notice belonging to Bigelow & Holmes
|
||||||
|
Inc. has been removed
|
||||||
|
|
||||||
|
* Contact information has been modified to show that the
|
||||||
|
contact person for these fonts is the Director of the
|
||||||
|
Institute, George Kiraz.
|
||||||
|
|
||||||
|
-------------------------------------------------------------
|
||||||
|
|
||||||
|
Meltho fonts and font code copyright © 2002 by Beth Mardutho:
|
||||||
|
The Syriac Institute. All Right Reserved.
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person
|
||||||
|
obtaining a copy of these Fonts and associated documentation
|
||||||
|
files (the "Font Software"), to deal in the Font Software,
|
||||||
|
including without limitation the rights to use, copy, merge,
|
||||||
|
publish, distribute, sublicense, and/or sell copies of the
|
||||||
|
Font Software, and to permit persons to whom the Font Software
|
||||||
|
is furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright and trademark notices and this permission
|
||||||
|
notice shall be included in all copies of one or more of the
|
||||||
|
Font Software.
|
||||||
|
|
||||||
|
The Font Software may not be modified, altered, or added to,
|
||||||
|
and in particular the designs of glyphs or characters in the
|
||||||
|
Fonts may not be modified nor may additional glyphs or
|
||||||
|
characters be added to the Fonts. This License becomes null
|
||||||
|
and void when the Fonts or Font Software have been modified.
|
||||||
|
|
||||||
|
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||||
|
KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY
|
||||||
|
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER
|
||||||
|
RIGHT. IN NO EVENT SHALL BETH MARDUTHO: THE SYRIAC INSTITUTE BE
|
||||||
|
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY
|
||||||
|
GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,
|
||||||
|
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR
|
||||||
|
FROM OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||||
|
|
||||||
|
Except as contained in this notice, the name of Beth Mardutho:
|
||||||
|
The Syriac Institute shall not be used in advertising or otherwise
|
||||||
|
to promote the sale, use or other dealings in this Font Software
|
||||||
|
without prior written authorization from Beth Mardutho: The
|
||||||
|
Syriac Institute.
|
||||||
|
|
||||||
|
For further information, contact:
|
||||||
|
George Kiraz, Director of Beth Mardutho
|
||||||
|
gkiraz@bethmardutho.org
|
17
lib/MPDF/vendor/mpdf/mpdf/ttfonts/TaameyDavidCLM-LICENSE.txt
vendored
Normal file
17
lib/MPDF/vendor/mpdf/mpdf/ttfonts/TaameyDavidCLM-LICENSE.txt
vendored
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
This package is distributed under the terms of GNU General Public License
|
||||||
|
version 2 (see file GNU-GPL).
|
||||||
|
---------------------------------------------------------------------
|
||||||
|
|
||||||
|
"Taamey David CLM" fonts are copyright (C) 2010 by Yoram Gnat
|
||||||
|
(gyoramg@users.sourceforge.net). All rights reserved.
|
||||||
|
|
||||||
|
As a special exception, if you create a document which uses
|
||||||
|
this font, and embed this font or unaltered portions of this
|
||||||
|
font into the document, this font does not by itself cause
|
||||||
|
the resulting document to be covered by the
|
||||||
|
GNU General Public License. This exception does not however
|
||||||
|
invalidate any other reasons why the document might be covered
|
||||||
|
by the GNU General Public License. If you modify this font,
|
||||||
|
you may extend this exception to your version of the font,
|
||||||
|
but you are not obligated to do so. If you do not wish to do so,
|
||||||
|
delete this exception statement from your version.
|
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/TaameyDavidCLM-Medium.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/TaameyDavidCLM-Medium.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/TaiHeritagePro.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/TaiHeritagePro.ttf
vendored
Normal file
Binary file not shown.
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Tharlon-Regular.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/Tharlon-Regular.ttf
vendored
Normal file
Binary file not shown.
93
lib/MPDF/vendor/mpdf/mpdf/ttfonts/TharlonOFL.txt
vendored
Normal file
93
lib/MPDF/vendor/mpdf/mpdf/ttfonts/TharlonOFL.txt
vendored
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
Copyright (c) 2010-2012, Sai Zin Di Di Zone (www.yunghkio.com/unicode|saiddzone@gmail.com), with Reserved Font Name 'Yunghkio'. Copyright (c) 2012, Google, Inc (http://code.google.com/p/googlefontdirectory/), with Reserved Font Name 'Arimo'. Copyright (c) 2012, Sun Tun, Ngwe Tun, Solveware Solution (http://code.google.com/p/tharlon-font|info@parabaik.info), with Reserved Font Name 'TharLon'.
|
||||||
|
|
||||||
|
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||||
|
This license is copied below, and is also available with a FAQ at:
|
||||||
|
http://scripts.sil.org/OFL
|
||||||
|
|
||||||
|
|
||||||
|
-----------------------------------------------------------
|
||||||
|
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||||
|
-----------------------------------------------------------
|
||||||
|
|
||||||
|
PREAMBLE
|
||||||
|
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||||
|
development of collaborative font projects, to support the font creation
|
||||||
|
efforts of academic and linguistic communities, and to provide a free and
|
||||||
|
open framework in which fonts may be shared and improved in partnership
|
||||||
|
with others.
|
||||||
|
|
||||||
|
The OFL allows the licensed fonts to be used, studied, modified and
|
||||||
|
redistributed freely as long as they are not sold by themselves. The
|
||||||
|
fonts, including any derivative works, can be bundled, embedded,
|
||||||
|
redistributed and/or sold with any software provided that any reserved
|
||||||
|
names are not used by derivative works. The fonts and derivatives,
|
||||||
|
however, cannot be released under any other type of license. The
|
||||||
|
requirement for fonts to remain under this license does not apply
|
||||||
|
to any document created using the fonts or their derivatives.
|
||||||
|
|
||||||
|
DEFINITIONS
|
||||||
|
"Font Software" refers to the set of files released by the Copyright
|
||||||
|
Holder(s) under this license and clearly marked as such. This may
|
||||||
|
include source files, build scripts and documentation.
|
||||||
|
|
||||||
|
"Reserved Font Name" refers to any names specified as such after the
|
||||||
|
copyright statement(s).
|
||||||
|
|
||||||
|
"Original Version" refers to the collection of Font Software components as
|
||||||
|
distributed by the Copyright Holder(s).
|
||||||
|
|
||||||
|
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||||
|
or substituting -- in part or in whole -- any of the components of the
|
||||||
|
Original Version, by changing formats or by porting the Font Software to a
|
||||||
|
new environment.
|
||||||
|
|
||||||
|
"Author" refers to any designer, engineer, programmer, technical
|
||||||
|
writer or other person who contributed to the Font Software.
|
||||||
|
|
||||||
|
PERMISSION & CONDITIONS
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||||
|
redistribute, and sell modified and unmodified copies of the Font
|
||||||
|
Software, subject to the following conditions:
|
||||||
|
|
||||||
|
1) Neither the Font Software nor any of its individual components,
|
||||||
|
in Original or Modified Versions, may be sold by itself.
|
||||||
|
|
||||||
|
2) Original or Modified Versions of the Font Software may be bundled,
|
||||||
|
redistributed and/or sold with any software, provided that each copy
|
||||||
|
contains the above copyright notice and this license. These can be
|
||||||
|
included either as stand-alone text files, human-readable headers or
|
||||||
|
in the appropriate machine-readable metadata fields within text or
|
||||||
|
binary files as long as those fields can be easily viewed by the user.
|
||||||
|
|
||||||
|
3) No Modified Version of the Font Software may use the Reserved Font
|
||||||
|
Name(s) unless explicit written permission is granted by the corresponding
|
||||||
|
Copyright Holder. This restriction only applies to the primary font name as
|
||||||
|
presented to the users.
|
||||||
|
|
||||||
|
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||||
|
Software shall not be used to promote, endorse or advertise any
|
||||||
|
Modified Version, except to acknowledge the contribution(s) of the
|
||||||
|
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||||
|
permission.
|
||||||
|
|
||||||
|
5) The Font Software, modified or unmodified, in part or in whole,
|
||||||
|
must be distributed entirely under this license, and must not be
|
||||||
|
distributed under any other license. The requirement for fonts to
|
||||||
|
remain under this license does not apply to any document created
|
||||||
|
using the Font Software.
|
||||||
|
|
||||||
|
TERMINATION
|
||||||
|
This license becomes null and void if any of the above conditions are
|
||||||
|
not met.
|
||||||
|
|
||||||
|
DISCLAIMER
|
||||||
|
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||||
|
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||||
|
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||||
|
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||||
|
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||||
|
OTHER DEALINGS IN THE FONT SOFTWARE.
|
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/UnBatang_0613.ttf
vendored
Normal file
BIN
lib/MPDF/vendor/mpdf/mpdf/ttfonts/UnBatang_0613.ttf
vendored
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user