PO pdf changes
This commit is contained in:
parent
9828d77cec
commit
b0668ec8f3
@ -452,7 +452,7 @@ class purchaseorder extends BaseController
|
|||||||
$CapitalRange = $_GET['CapitalRange'];
|
$CapitalRange = $_GET['CapitalRange'];
|
||||||
|
|
||||||
$CapitalAvlBudget = $this->purchaseorder_model->GetAvailableCapitalBudgetAmount($CostCode,$FYdt,$ReqType);
|
$CapitalAvlBudget = $this->purchaseorder_model->GetAvailableCapitalBudgetAmount($CostCode,$FYdt,$ReqType);
|
||||||
print_r($CapitalAvlBudget);die();
|
|
||||||
|
|
||||||
if(count($CapitalAvlBudget)>0)
|
if(count($CapitalAvlBudget)>0)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -169,7 +169,7 @@ class storerequisitionlist extends BaseController
|
|||||||
$Remarks=$this->input->post('Remarks'.$i);
|
$Remarks=$this->input->post('Remarks'.$i);
|
||||||
$Request = array('MaterialCode'=>$MaterialCode,'Status'=>$StoreItemStatus ,'QuantityRequired'=>$QuantityRequired,'Remarks'=>$Remarks,'StoreReqNo'=>$StoreReqNo);
|
$Request = array('MaterialCode'=>$MaterialCode,'Status'=>$StoreItemStatus ,'QuantityRequired'=>$QuantityRequired,'Remarks'=>$Remarks,'StoreReqNo'=>$StoreReqNo);
|
||||||
|
|
||||||
print_r($Request);
|
|
||||||
|
|
||||||
$addReq=$this->storerequistion_model->addstoreRequistion($Request);
|
$addReq=$this->storerequistion_model->addstoreRequistion($Request);
|
||||||
}
|
}
|
||||||
|
|||||||
479
application/logs/log-2017-09-18.php
Normal file
479
application/logs/log-2017-09-18.php
Normal file
@ -0,0 +1,479 @@
|
|||||||
|
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); ?>
|
||||||
|
|
||||||
|
ERROR - 2017-09-18 09:08:03 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:08:03 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:09:50 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:09:50 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:15:04 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:15:04 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:15:52 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:15:52 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:18:11 --> Severity: Warning --> mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given /opt/lampp/htdocs/18septsymbol/siddharth_application/system/database/drivers/mysqli/mysqli_result.php 38
|
||||||
|
ERROR - 2017-09-18 09:19:40 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 409
|
||||||
|
ERROR - 2017-09-18 09:19:40 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 409
|
||||||
|
ERROR - 2017-09-18 09:19:40 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 409
|
||||||
|
ERROR - 2017-09-18 09:19:40 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 410
|
||||||
|
ERROR - 2017-09-18 09:19:40 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 410
|
||||||
|
ERROR - 2017-09-18 09:19:40 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 410
|
||||||
|
ERROR - 2017-09-18 09:19:40 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 417
|
||||||
|
ERROR - 2017-09-18 09:19:40 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 417
|
||||||
|
ERROR - 2017-09-18 09:19:40 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 417
|
||||||
|
ERROR - 2017-09-18 09:19:40 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 417
|
||||||
|
ERROR - 2017-09-18 09:19:40 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 417
|
||||||
|
ERROR - 2017-09-18 09:19:40 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 409
|
||||||
|
ERROR - 2017-09-18 09:19:40 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 409
|
||||||
|
ERROR - 2017-09-18 09:19:40 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 409
|
||||||
|
ERROR - 2017-09-18 09:19:40 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 410
|
||||||
|
ERROR - 2017-09-18 09:19:40 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 410
|
||||||
|
ERROR - 2017-09-18 09:19:40 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 410
|
||||||
|
ERROR - 2017-09-18 09:19:40 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 417
|
||||||
|
ERROR - 2017-09-18 09:19:40 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 417
|
||||||
|
ERROR - 2017-09-18 09:19:40 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 417
|
||||||
|
ERROR - 2017-09-18 09:19:40 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 417
|
||||||
|
ERROR - 2017-09-18 09:19:40 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 417
|
||||||
|
ERROR - 2017-09-18 09:19:40 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:19:40 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:20:54 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 409
|
||||||
|
ERROR - 2017-09-18 09:20:54 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 409
|
||||||
|
ERROR - 2017-09-18 09:20:54 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 409
|
||||||
|
ERROR - 2017-09-18 09:20:54 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 410
|
||||||
|
ERROR - 2017-09-18 09:20:54 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 410
|
||||||
|
ERROR - 2017-09-18 09:20:54 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 410
|
||||||
|
ERROR - 2017-09-18 09:20:54 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 417
|
||||||
|
ERROR - 2017-09-18 09:20:54 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 417
|
||||||
|
ERROR - 2017-09-18 09:20:54 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 417
|
||||||
|
ERROR - 2017-09-18 09:20:54 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 417
|
||||||
|
ERROR - 2017-09-18 09:20:54 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 417
|
||||||
|
ERROR - 2017-09-18 09:20:54 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 409
|
||||||
|
ERROR - 2017-09-18 09:20:54 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 409
|
||||||
|
ERROR - 2017-09-18 09:20:54 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 409
|
||||||
|
ERROR - 2017-09-18 09:20:54 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 410
|
||||||
|
ERROR - 2017-09-18 09:20:54 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 410
|
||||||
|
ERROR - 2017-09-18 09:20:54 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 410
|
||||||
|
ERROR - 2017-09-18 09:20:54 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 417
|
||||||
|
ERROR - 2017-09-18 09:20:54 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 417
|
||||||
|
ERROR - 2017-09-18 09:20:54 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 417
|
||||||
|
ERROR - 2017-09-18 09:20:54 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 417
|
||||||
|
ERROR - 2017-09-18 09:20:54 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 417
|
||||||
|
ERROR - 2017-09-18 09:20:54 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:20:54 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:21:16 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 409
|
||||||
|
ERROR - 2017-09-18 09:21:16 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 409
|
||||||
|
ERROR - 2017-09-18 09:21:16 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 409
|
||||||
|
ERROR - 2017-09-18 09:21:16 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 410
|
||||||
|
ERROR - 2017-09-18 09:21:16 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 410
|
||||||
|
ERROR - 2017-09-18 09:21:16 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 410
|
||||||
|
ERROR - 2017-09-18 09:21:16 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 417
|
||||||
|
ERROR - 2017-09-18 09:21:16 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 417
|
||||||
|
ERROR - 2017-09-18 09:21:16 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 417
|
||||||
|
ERROR - 2017-09-18 09:21:16 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 417
|
||||||
|
ERROR - 2017-09-18 09:21:16 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 417
|
||||||
|
ERROR - 2017-09-18 09:21:16 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 409
|
||||||
|
ERROR - 2017-09-18 09:21:16 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 409
|
||||||
|
ERROR - 2017-09-18 09:21:16 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 409
|
||||||
|
ERROR - 2017-09-18 09:21:16 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 410
|
||||||
|
ERROR - 2017-09-18 09:21:16 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 410
|
||||||
|
ERROR - 2017-09-18 09:21:16 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 410
|
||||||
|
ERROR - 2017-09-18 09:21:16 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 417
|
||||||
|
ERROR - 2017-09-18 09:21:16 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 417
|
||||||
|
ERROR - 2017-09-18 09:21:16 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 417
|
||||||
|
ERROR - 2017-09-18 09:21:16 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 417
|
||||||
|
ERROR - 2017-09-18 09:21:16 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 417
|
||||||
|
ERROR - 2017-09-18 09:21:16 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:21:16 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:21:18 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:21:18 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:22:12 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:22:12 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:23:16 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:23:16 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:24:53 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:24:53 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:25:22 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:25:22 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:25:23 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:25:23 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:25:24 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:25:24 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:25:50 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:25:50 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:25:51 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:25:51 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:25:52 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:25:52 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:25:53 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:25:53 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:27:04 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:27:04 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:27:05 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:27:05 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:27:07 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:27:07 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:27:09 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:27:09 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:27:11 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:27:11 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:37:38 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:37:38 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:40:48 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:40:48 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:41:45 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:41:45 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:42:07 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:42:07 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:43:02 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:43:02 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:43:48 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:43:48 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:44:10 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:44:10 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:44:46 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:44:46 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:45:31 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:45:31 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:46:46 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:46:46 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:47:35 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:47:35 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:48:38 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:48:38 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:49:27 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:49:27 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:49:42 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:49:42 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:50:12 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 409
|
||||||
|
ERROR - 2017-09-18 09:50:12 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 409
|
||||||
|
ERROR - 2017-09-18 09:50:12 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 409
|
||||||
|
ERROR - 2017-09-18 09:50:12 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 410
|
||||||
|
ERROR - 2017-09-18 09:50:12 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 410
|
||||||
|
ERROR - 2017-09-18 09:50:12 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 410
|
||||||
|
ERROR - 2017-09-18 09:50:12 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 417
|
||||||
|
ERROR - 2017-09-18 09:50:12 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 417
|
||||||
|
ERROR - 2017-09-18 09:50:12 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 417
|
||||||
|
ERROR - 2017-09-18 09:50:12 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 417
|
||||||
|
ERROR - 2017-09-18 09:50:12 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 417
|
||||||
|
ERROR - 2017-09-18 09:50:12 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:50:12 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:50:34 --> Severity: Notice --> Undefined variable: index /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/servicepopdf.php 320
|
||||||
|
ERROR - 2017-09-18 09:50:34 --> Severity: Notice --> Undefined variable: PaymentTerms /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/servicepopdf.php 431
|
||||||
|
ERROR - 2017-09-18 09:50:34 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:50:34 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:50:52 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:50:52 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:54:41 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:54:41 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:55:07 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 426
|
||||||
|
ERROR - 2017-09-18 09:55:07 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 426
|
||||||
|
ERROR - 2017-09-18 09:55:07 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 426
|
||||||
|
ERROR - 2017-09-18 09:55:07 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 427
|
||||||
|
ERROR - 2017-09-18 09:55:07 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 427
|
||||||
|
ERROR - 2017-09-18 09:55:07 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 427
|
||||||
|
ERROR - 2017-09-18 09:55:07 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 434
|
||||||
|
ERROR - 2017-09-18 09:55:07 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 434
|
||||||
|
ERROR - 2017-09-18 09:55:07 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 434
|
||||||
|
ERROR - 2017-09-18 09:55:07 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 434
|
||||||
|
ERROR - 2017-09-18 09:55:07 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 434
|
||||||
|
ERROR - 2017-09-18 09:55:07 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 426
|
||||||
|
ERROR - 2017-09-18 09:55:07 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 426
|
||||||
|
ERROR - 2017-09-18 09:55:07 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 426
|
||||||
|
ERROR - 2017-09-18 09:55:07 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 427
|
||||||
|
ERROR - 2017-09-18 09:55:07 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 427
|
||||||
|
ERROR - 2017-09-18 09:55:07 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 427
|
||||||
|
ERROR - 2017-09-18 09:55:07 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 434
|
||||||
|
ERROR - 2017-09-18 09:55:07 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 434
|
||||||
|
ERROR - 2017-09-18 09:55:07 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 434
|
||||||
|
ERROR - 2017-09-18 09:55:07 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 434
|
||||||
|
ERROR - 2017-09-18 09:55:07 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 434
|
||||||
|
ERROR - 2017-09-18 09:55:08 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:55:08 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:55:33 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 426
|
||||||
|
ERROR - 2017-09-18 09:55:33 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 426
|
||||||
|
ERROR - 2017-09-18 09:55:33 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 426
|
||||||
|
ERROR - 2017-09-18 09:55:33 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 427
|
||||||
|
ERROR - 2017-09-18 09:55:33 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 427
|
||||||
|
ERROR - 2017-09-18 09:55:33 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 427
|
||||||
|
ERROR - 2017-09-18 09:55:33 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 434
|
||||||
|
ERROR - 2017-09-18 09:55:33 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 434
|
||||||
|
ERROR - 2017-09-18 09:55:33 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 434
|
||||||
|
ERROR - 2017-09-18 09:55:33 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 434
|
||||||
|
ERROR - 2017-09-18 09:55:33 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 434
|
||||||
|
ERROR - 2017-09-18 09:55:33 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 426
|
||||||
|
ERROR - 2017-09-18 09:55:33 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 426
|
||||||
|
ERROR - 2017-09-18 09:55:33 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 426
|
||||||
|
ERROR - 2017-09-18 09:55:33 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 427
|
||||||
|
ERROR - 2017-09-18 09:55:33 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 427
|
||||||
|
ERROR - 2017-09-18 09:55:33 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 427
|
||||||
|
ERROR - 2017-09-18 09:55:33 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 434
|
||||||
|
ERROR - 2017-09-18 09:55:33 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 434
|
||||||
|
ERROR - 2017-09-18 09:55:33 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 434
|
||||||
|
ERROR - 2017-09-18 09:55:33 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 434
|
||||||
|
ERROR - 2017-09-18 09:55:33 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 434
|
||||||
|
ERROR - 2017-09-18 09:55:33 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:55:33 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:55:36 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 426
|
||||||
|
ERROR - 2017-09-18 09:55:36 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 426
|
||||||
|
ERROR - 2017-09-18 09:55:36 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 426
|
||||||
|
ERROR - 2017-09-18 09:55:36 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 427
|
||||||
|
ERROR - 2017-09-18 09:55:36 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 427
|
||||||
|
ERROR - 2017-09-18 09:55:36 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 427
|
||||||
|
ERROR - 2017-09-18 09:55:36 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 434
|
||||||
|
ERROR - 2017-09-18 09:55:36 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 434
|
||||||
|
ERROR - 2017-09-18 09:55:36 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 434
|
||||||
|
ERROR - 2017-09-18 09:55:36 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 434
|
||||||
|
ERROR - 2017-09-18 09:55:36 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 434
|
||||||
|
ERROR - 2017-09-18 09:55:36 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:55:36 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:56:31 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 424
|
||||||
|
ERROR - 2017-09-18 09:56:31 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 424
|
||||||
|
ERROR - 2017-09-18 09:56:31 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 424
|
||||||
|
ERROR - 2017-09-18 09:56:31 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 425
|
||||||
|
ERROR - 2017-09-18 09:56:31 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 425
|
||||||
|
ERROR - 2017-09-18 09:56:31 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 425
|
||||||
|
ERROR - 2017-09-18 09:56:31 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 432
|
||||||
|
ERROR - 2017-09-18 09:56:31 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 432
|
||||||
|
ERROR - 2017-09-18 09:56:31 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 432
|
||||||
|
ERROR - 2017-09-18 09:56:31 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 432
|
||||||
|
ERROR - 2017-09-18 09:56:31 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 432
|
||||||
|
ERROR - 2017-09-18 09:56:31 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 424
|
||||||
|
ERROR - 2017-09-18 09:56:31 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 424
|
||||||
|
ERROR - 2017-09-18 09:56:31 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 424
|
||||||
|
ERROR - 2017-09-18 09:56:31 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 425
|
||||||
|
ERROR - 2017-09-18 09:56:31 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 425
|
||||||
|
ERROR - 2017-09-18 09:56:31 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 425
|
||||||
|
ERROR - 2017-09-18 09:56:31 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 432
|
||||||
|
ERROR - 2017-09-18 09:56:31 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 432
|
||||||
|
ERROR - 2017-09-18 09:56:31 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 432
|
||||||
|
ERROR - 2017-09-18 09:56:31 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 432
|
||||||
|
ERROR - 2017-09-18 09:56:31 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 432
|
||||||
|
ERROR - 2017-09-18 09:56:32 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:56:32 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:57:44 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 424
|
||||||
|
ERROR - 2017-09-18 09:57:44 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 424
|
||||||
|
ERROR - 2017-09-18 09:57:44 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 424
|
||||||
|
ERROR - 2017-09-18 09:57:44 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 425
|
||||||
|
ERROR - 2017-09-18 09:57:44 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 425
|
||||||
|
ERROR - 2017-09-18 09:57:44 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 425
|
||||||
|
ERROR - 2017-09-18 09:57:44 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 432
|
||||||
|
ERROR - 2017-09-18 09:57:44 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 432
|
||||||
|
ERROR - 2017-09-18 09:57:44 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 432
|
||||||
|
ERROR - 2017-09-18 09:57:44 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 432
|
||||||
|
ERROR - 2017-09-18 09:57:44 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 432
|
||||||
|
ERROR - 2017-09-18 09:57:44 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 424
|
||||||
|
ERROR - 2017-09-18 09:57:44 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 424
|
||||||
|
ERROR - 2017-09-18 09:57:44 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 424
|
||||||
|
ERROR - 2017-09-18 09:57:44 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 425
|
||||||
|
ERROR - 2017-09-18 09:57:44 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 425
|
||||||
|
ERROR - 2017-09-18 09:57:44 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 425
|
||||||
|
ERROR - 2017-09-18 09:57:44 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 432
|
||||||
|
ERROR - 2017-09-18 09:57:44 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 432
|
||||||
|
ERROR - 2017-09-18 09:57:44 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 432
|
||||||
|
ERROR - 2017-09-18 09:57:44 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 432
|
||||||
|
ERROR - 2017-09-18 09:57:44 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 432
|
||||||
|
ERROR - 2017-09-18 09:57:44 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:57:44 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:59:43 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 09:59:43 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 09:59:43 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 09:59:43 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 09:59:43 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 09:59:43 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 09:59:43 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 09:59:43 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 09:59:43 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 09:59:43 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 09:59:43 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 09:59:43 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 09:59:43 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 09:59:43 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 09:59:43 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 09:59:43 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 09:59:43 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 09:59:43 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 09:59:43 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 09:59:43 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 09:59:43 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 09:59:43 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 09:59:44 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 09:59:44 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 10:00:18 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:00:18 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:00:18 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:00:18 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:00:18 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:00:18 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:00:18 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:00:18 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:00:18 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:00:18 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:00:18 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:00:18 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:00:18 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:00:18 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:00:18 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:00:18 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:00:18 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:00:18 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:00:18 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:00:18 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:00:18 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:00:18 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:00:18 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 10:00:18 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 10:01:01 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:01:01 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:01:01 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:01:01 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:01:01 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:01:01 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:01:01 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:01:01 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:01:01 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:01:01 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:01:01 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:01:01 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:01:01 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:01:01 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:01:01 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:01:01 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:01:01 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:01:01 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:01:01 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:01:01 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:01:01 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:01:01 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:01:01 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 10:01:01 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 10:02:22 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:02:22 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:02:22 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:02:22 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:02:22 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:02:22 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:02:22 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:02:22 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:02:22 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:02:22 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:02:22 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:02:22 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:02:22 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:02:22 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:02:22 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:02:22 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:02:22 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:02:22 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:02:22 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:02:22 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:02:22 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:02:22 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:02:22 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 10:02:22 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 10:02:46 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:02:46 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:02:46 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:02:46 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:02:46 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:02:46 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:02:46 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:02:46 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:02:46 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:02:46 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:02:46 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:02:46 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:02:46 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:02:46 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:02:46 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:02:46 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:02:46 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:02:46 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:02:46 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:02:46 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:02:46 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:02:46 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:02:46 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 10:02:46 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 10:03:29 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:03:29 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:03:29 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:03:29 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:03:29 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:03:29 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:03:29 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:03:29 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:03:29 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:03:29 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:03:29 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:03:29 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:03:29 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:03:29 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:03:29 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:03:29 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:03:29 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:03:29 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:03:29 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:03:29 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:03:29 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:03:29 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:03:29 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 10:03:29 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 10:07:56 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:07:56 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:07:56 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:07:56 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:07:56 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:07:56 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:07:56 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:07:56 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:07:56 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:07:56 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:07:56 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:07:56 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:07:56 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:07:56 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:07:56 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:07:56 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:07:56 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:07:56 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:07:56 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:07:56 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:07:56 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:07:56 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:07:56 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 10:07:56 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 10:07:58 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 10:07:58 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 10:08:05 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 10:08:05 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 10:08:45 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 10:08:45 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 10:09:50 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 10:09:50 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 10:10:21 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 10:10:21 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 10:11:55 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 10:11:55 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 10:11:57 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:11:57 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:11:57 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:11:57 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:11:57 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:11:57 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:11:57 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:11:57 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:11:57 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:11:57 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:11:57 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:11:57 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:11:57 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:11:57 --> Severity: Notice --> Undefined property: stdClass::$DiscountType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 429
|
||||||
|
ERROR - 2017-09-18 10:11:57 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:11:57 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:11:57 --> Severity: Notice --> Undefined property: stdClass::$PackagingType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 430
|
||||||
|
ERROR - 2017-09-18 10:11:57 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:11:57 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:11:57 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:11:57 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:11:57 --> Severity: Notice --> Undefined property: stdClass::$FreightType /opt/lampp/htdocs/18septsymbol/siddharth_application/application/views/revenuepopdf.php 437
|
||||||
|
ERROR - 2017-09-18 10:11:57 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 10:11:57 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 10:11:58 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
|
ERROR - 2017-09-18 10:11:58 --> Severity: Warning --> DOMXPath::query(): Invalid expression /opt/lampp/htdocs/18septsymbol/siddharth_application/application/third_party/dompdf/include/stylesheet.cls.php 697
|
||||||
4022
application/third_party/dompdf/lib/class.pdf.php
vendored
4022
application/third_party/dompdf/lib/class.pdf.php
vendored
File diff suppressed because it is too large
Load Diff
BIN
application/third_party/dompdf/lib/fonts/DejaVuSans-Bold.ttf
vendored
Executable file
BIN
application/third_party/dompdf/lib/fonts/DejaVuSans-Bold.ttf
vendored
Executable file
Binary file not shown.
5734
application/third_party/dompdf/lib/fonts/DejaVuSans-Bold.ufm
vendored
Executable file
5734
application/third_party/dompdf/lib/fonts/DejaVuSans-Bold.ufm
vendored
Executable file
File diff suppressed because it is too large
Load Diff
5658
application/third_party/dompdf/lib/fonts/DejaVuSans-Bold.ufm.php
vendored
Executable file
5658
application/third_party/dompdf/lib/fonts/DejaVuSans-Bold.ufm.php
vendored
Executable file
File diff suppressed because one or more lines are too long
BIN
application/third_party/dompdf/lib/fonts/DejaVuSans-BoldOblique.ttf
vendored
Executable file
BIN
application/third_party/dompdf/lib/fonts/DejaVuSans-BoldOblique.ttf
vendored
Executable file
Binary file not shown.
5434
application/third_party/dompdf/lib/fonts/DejaVuSans-BoldOblique.ufm
vendored
Executable file
5434
application/third_party/dompdf/lib/fonts/DejaVuSans-BoldOblique.ufm
vendored
Executable file
File diff suppressed because it is too large
Load Diff
BIN
application/third_party/dompdf/lib/fonts/DejaVuSans-ExtraLight.ttf
vendored
Executable file
BIN
application/third_party/dompdf/lib/fonts/DejaVuSans-ExtraLight.ttf
vendored
Executable file
Binary file not shown.
7580
application/third_party/dompdf/lib/fonts/DejaVuSans-ExtraLight.ufm
vendored
Executable file
7580
application/third_party/dompdf/lib/fonts/DejaVuSans-ExtraLight.ufm
vendored
Executable file
File diff suppressed because it is too large
Load Diff
BIN
application/third_party/dompdf/lib/fonts/DejaVuSans-Oblique.ttf
vendored
Executable file
BIN
application/third_party/dompdf/lib/fonts/DejaVuSans-Oblique.ttf
vendored
Executable file
Binary file not shown.
5073
application/third_party/dompdf/lib/fonts/DejaVuSans-Oblique.ufm
vendored
Executable file
5073
application/third_party/dompdf/lib/fonts/DejaVuSans-Oblique.ufm
vendored
Executable file
File diff suppressed because it is too large
Load Diff
BIN
application/third_party/dompdf/lib/fonts/DejaVuSans.ttf
vendored
Executable file
BIN
application/third_party/dompdf/lib/fonts/DejaVuSans.ttf
vendored
Executable file
Binary file not shown.
6454
application/third_party/dompdf/lib/fonts/DejaVuSans.ufm
vendored
Executable file
6454
application/third_party/dompdf/lib/fonts/DejaVuSans.ufm
vendored
Executable file
File diff suppressed because it is too large
Load Diff
BIN
application/third_party/dompdf/lib/fonts/DejaVuSansCondensed-Bold.ttf
vendored
Executable file
BIN
application/third_party/dompdf/lib/fonts/DejaVuSansCondensed-Bold.ttf
vendored
Executable file
Binary file not shown.
5734
application/third_party/dompdf/lib/fonts/DejaVuSansCondensed-Bold.ufm
vendored
Executable file
5734
application/third_party/dompdf/lib/fonts/DejaVuSansCondensed-Bold.ufm
vendored
Executable file
File diff suppressed because it is too large
Load Diff
BIN
application/third_party/dompdf/lib/fonts/DejaVuSansCondensed-BoldOblique.ttf
vendored
Executable file
BIN
application/third_party/dompdf/lib/fonts/DejaVuSansCondensed-BoldOblique.ttf
vendored
Executable file
Binary file not shown.
5434
application/third_party/dompdf/lib/fonts/DejaVuSansCondensed-BoldOblique.ufm
vendored
Executable file
5434
application/third_party/dompdf/lib/fonts/DejaVuSansCondensed-BoldOblique.ufm
vendored
Executable file
File diff suppressed because it is too large
Load Diff
BIN
application/third_party/dompdf/lib/fonts/DejaVuSansCondensed-Oblique.ttf
vendored
Executable file
BIN
application/third_party/dompdf/lib/fonts/DejaVuSansCondensed-Oblique.ttf
vendored
Executable file
Binary file not shown.
5073
application/third_party/dompdf/lib/fonts/DejaVuSansCondensed-Oblique.ufm
vendored
Executable file
5073
application/third_party/dompdf/lib/fonts/DejaVuSansCondensed-Oblique.ufm
vendored
Executable file
File diff suppressed because it is too large
Load Diff
BIN
application/third_party/dompdf/lib/fonts/DejaVuSansCondensed.ttf
vendored
Executable file
BIN
application/third_party/dompdf/lib/fonts/DejaVuSansCondensed.ttf
vendored
Executable file
Binary file not shown.
6454
application/third_party/dompdf/lib/fonts/DejaVuSansCondensed.ufm
vendored
Executable file
6454
application/third_party/dompdf/lib/fonts/DejaVuSansCondensed.ufm
vendored
Executable file
File diff suppressed because it is too large
Load Diff
BIN
application/third_party/dompdf/lib/fonts/DejaVuSansMono-Bold.ttf
vendored
Executable file
BIN
application/third_party/dompdf/lib/fonts/DejaVuSansMono-Bold.ttf
vendored
Executable file
Binary file not shown.
2974
application/third_party/dompdf/lib/fonts/DejaVuSansMono-Bold.ufm
vendored
Executable file
2974
application/third_party/dompdf/lib/fonts/DejaVuSansMono-Bold.ufm
vendored
Executable file
File diff suppressed because it is too large
Load Diff
BIN
application/third_party/dompdf/lib/fonts/DejaVuSansMono-BoldOblique.ttf
vendored
Executable file
BIN
application/third_party/dompdf/lib/fonts/DejaVuSansMono-BoldOblique.ttf
vendored
Executable file
Binary file not shown.
2396
application/third_party/dompdf/lib/fonts/DejaVuSansMono-BoldOblique.ufm
vendored
Executable file
2396
application/third_party/dompdf/lib/fonts/DejaVuSansMono-BoldOblique.ufm
vendored
Executable file
File diff suppressed because it is too large
Load Diff
BIN
application/third_party/dompdf/lib/fonts/DejaVuSansMono-Oblique.ttf
vendored
Executable file
BIN
application/third_party/dompdf/lib/fonts/DejaVuSansMono-Oblique.ttf
vendored
Executable file
Binary file not shown.
2524
application/third_party/dompdf/lib/fonts/DejaVuSansMono-Oblique.ufm
vendored
Executable file
2524
application/third_party/dompdf/lib/fonts/DejaVuSansMono-Oblique.ufm
vendored
Executable file
File diff suppressed because it is too large
Load Diff
BIN
application/third_party/dompdf/lib/fonts/DejaVuSansMono.ttf
vendored
Executable file
BIN
application/third_party/dompdf/lib/fonts/DejaVuSansMono.ttf
vendored
Executable file
Binary file not shown.
3101
application/third_party/dompdf/lib/fonts/DejaVuSansMono.ufm
vendored
Executable file
3101
application/third_party/dompdf/lib/fonts/DejaVuSansMono.ufm
vendored
Executable file
File diff suppressed because it is too large
Load Diff
BIN
application/third_party/dompdf/lib/fonts/DejaVuSerif-Bold.ttf
vendored
Executable file
BIN
application/third_party/dompdf/lib/fonts/DejaVuSerif-Bold.ttf
vendored
Executable file
Binary file not shown.
3636
application/third_party/dompdf/lib/fonts/DejaVuSerif-Bold.ufm
vendored
Executable file
3636
application/third_party/dompdf/lib/fonts/DejaVuSerif-Bold.ufm
vendored
Executable file
File diff suppressed because it is too large
Load Diff
BIN
application/third_party/dompdf/lib/fonts/DejaVuSerif-BoldItalic.ttf
vendored
Executable file
BIN
application/third_party/dompdf/lib/fonts/DejaVuSerif-BoldItalic.ttf
vendored
Executable file
Binary file not shown.
3515
application/third_party/dompdf/lib/fonts/DejaVuSerif-BoldItalic.ufm
vendored
Executable file
3515
application/third_party/dompdf/lib/fonts/DejaVuSerif-BoldItalic.ufm
vendored
Executable file
File diff suppressed because it is too large
Load Diff
BIN
application/third_party/dompdf/lib/fonts/DejaVuSerif-Italic.ttf
vendored
Executable file
BIN
application/third_party/dompdf/lib/fonts/DejaVuSerif-Italic.ttf
vendored
Executable file
Binary file not shown.
3634
application/third_party/dompdf/lib/fonts/DejaVuSerif-Italic.ufm
vendored
Executable file
3634
application/third_party/dompdf/lib/fonts/DejaVuSerif-Italic.ufm
vendored
Executable file
File diff suppressed because it is too large
Load Diff
BIN
application/third_party/dompdf/lib/fonts/DejaVuSerif.ttf
vendored
Executable file
BIN
application/third_party/dompdf/lib/fonts/DejaVuSerif.ttf
vendored
Executable file
Binary file not shown.
3762
application/third_party/dompdf/lib/fonts/DejaVuSerif.ufm
vendored
Executable file
3762
application/third_party/dompdf/lib/fonts/DejaVuSerif.ufm
vendored
Executable file
File diff suppressed because it is too large
Load Diff
BIN
application/third_party/dompdf/lib/fonts/DejaVuSerifCondensed-Bold.ttf
vendored
Executable file
BIN
application/third_party/dompdf/lib/fonts/DejaVuSerifCondensed-Bold.ttf
vendored
Executable file
Binary file not shown.
3636
application/third_party/dompdf/lib/fonts/DejaVuSerifCondensed-Bold.ufm
vendored
Executable file
3636
application/third_party/dompdf/lib/fonts/DejaVuSerifCondensed-Bold.ufm
vendored
Executable file
File diff suppressed because it is too large
Load Diff
BIN
application/third_party/dompdf/lib/fonts/DejaVuSerifCondensed-BoldItalic.ttf
vendored
Executable file
BIN
application/third_party/dompdf/lib/fonts/DejaVuSerifCondensed-BoldItalic.ttf
vendored
Executable file
Binary file not shown.
3515
application/third_party/dompdf/lib/fonts/DejaVuSerifCondensed-BoldItalic.ufm
vendored
Executable file
3515
application/third_party/dompdf/lib/fonts/DejaVuSerifCondensed-BoldItalic.ufm
vendored
Executable file
File diff suppressed because it is too large
Load Diff
BIN
application/third_party/dompdf/lib/fonts/DejaVuSerifCondensed-Italic.ttf
vendored
Executable file
BIN
application/third_party/dompdf/lib/fonts/DejaVuSerifCondensed-Italic.ttf
vendored
Executable file
Binary file not shown.
3634
application/third_party/dompdf/lib/fonts/DejaVuSerifCondensed-Italic.ufm
vendored
Executable file
3634
application/third_party/dompdf/lib/fonts/DejaVuSerifCondensed-Italic.ufm
vendored
Executable file
File diff suppressed because it is too large
Load Diff
BIN
application/third_party/dompdf/lib/fonts/DejaVuSerifCondensed.ttf
vendored
Executable file
BIN
application/third_party/dompdf/lib/fonts/DejaVuSerifCondensed.ttf
vendored
Executable file
Binary file not shown.
3762
application/third_party/dompdf/lib/fonts/DejaVuSerifCondensed.ufm
vendored
Executable file
3762
application/third_party/dompdf/lib/fonts/DejaVuSerifCondensed.ufm
vendored
Executable file
File diff suppressed because it is too large
Load Diff
@ -566,5 +566,5 @@
|
|||||||
),
|
),
|
||||||
'CIDtoGID_Compressed' => true,
|
'CIDtoGID_Compressed' => true,
|
||||||
'CIDtoGID' => 'eJwDAAAAAAE=',
|
'CIDtoGID' => 'eJwDAAAAAAE=',
|
||||||
'_version_' => 4,
|
'_version_' => 6,
|
||||||
);
|
);
|
||||||
@ -566,5 +566,5 @@
|
|||||||
),
|
),
|
||||||
'CIDtoGID_Compressed' => true,
|
'CIDtoGID_Compressed' => true,
|
||||||
'CIDtoGID' => 'eJwDAAAAAAE=',
|
'CIDtoGID' => 'eJwDAAAAAAE=',
|
||||||
'_version_' => 4,
|
'_version_' => 6,
|
||||||
);
|
);
|
||||||
@ -1,92 +1,111 @@
|
|||||||
<?php return array (
|
<?php return array (
|
||||||
'sans-serif' => array (
|
'sans-serif' =>
|
||||||
'normal' => DOMPDF_FONT_DIR . 'Helvetica',
|
array (
|
||||||
'bold' => DOMPDF_FONT_DIR . 'Helvetica-Bold',
|
'normal' => DOMPDF_DIR . '/lib/fonts/Helvetica',
|
||||||
'italic' => DOMPDF_FONT_DIR . 'Helvetica-Oblique',
|
'bold' => DOMPDF_DIR . '/lib/fonts/Helvetica-Bold',
|
||||||
'bold_italic' => DOMPDF_FONT_DIR . 'Helvetica-BoldOblique'
|
'italic' => DOMPDF_DIR . '/lib/fonts/Helvetica-Oblique',
|
||||||
|
'bold_italic' => DOMPDF_DIR . '/lib/fonts/Helvetica-BoldOblique',
|
||||||
),
|
),
|
||||||
'times' => array (
|
'times' =>
|
||||||
'normal' => DOMPDF_FONT_DIR . 'Times-Roman',
|
array (
|
||||||
'bold' => DOMPDF_FONT_DIR . 'Times-Bold',
|
'normal' => DOMPDF_DIR . '/lib/fonts/Times-Roman',
|
||||||
'italic' => DOMPDF_FONT_DIR . 'Times-Italic',
|
'bold' => DOMPDF_DIR . '/lib/fonts/Times-Bold',
|
||||||
'bold_italic' => DOMPDF_FONT_DIR . 'Times-BoldItalic'
|
'italic' => DOMPDF_DIR . '/lib/fonts/Times-Italic',
|
||||||
|
'bold_italic' => DOMPDF_DIR . '/lib/fonts/Times-BoldItalic',
|
||||||
),
|
),
|
||||||
'times-roman' => array (
|
'times-roman' =>
|
||||||
'normal' => DOMPDF_FONT_DIR . 'Times-Roman',
|
array (
|
||||||
'bold' => DOMPDF_FONT_DIR . 'Times-Bold',
|
'normal' => DOMPDF_DIR . '/lib/fonts/Times-Roman',
|
||||||
'italic' => DOMPDF_FONT_DIR . 'Times-Italic',
|
'bold' => DOMPDF_DIR . '/lib/fonts/Times-Bold',
|
||||||
'bold_italic' => DOMPDF_FONT_DIR . 'Times-BoldItalic'
|
'italic' => DOMPDF_DIR . '/lib/fonts/Times-Italic',
|
||||||
|
'bold_italic' => DOMPDF_DIR . '/lib/fonts/Times-BoldItalic',
|
||||||
),
|
),
|
||||||
'courier' => array (
|
'courier' =>
|
||||||
'normal' => DOMPDF_FONT_DIR . 'Courier',
|
array (
|
||||||
'bold' => DOMPDF_FONT_DIR . 'Courier-Bold',
|
'normal' => DOMPDF_DIR . '/lib/fonts/Courier',
|
||||||
'italic' => DOMPDF_FONT_DIR . 'Courier-Oblique',
|
'bold' => DOMPDF_DIR . '/lib/fonts/Courier-Bold',
|
||||||
'bold_italic' => DOMPDF_FONT_DIR . 'Courier-BoldOblique'
|
'italic' => DOMPDF_DIR . '/lib/fonts/Courier-Oblique',
|
||||||
|
'bold_italic' => DOMPDF_DIR . '/lib/fonts/Courier-BoldOblique',
|
||||||
),
|
),
|
||||||
'helvetica' => array (
|
'helvetica' =>
|
||||||
'normal' => DOMPDF_FONT_DIR . 'Helvetica',
|
array (
|
||||||
'bold' => DOMPDF_FONT_DIR . 'Helvetica-Bold',
|
'normal' => DOMPDF_DIR . '/lib/fonts/Helvetica',
|
||||||
'italic' => DOMPDF_FONT_DIR . 'Helvetica-Oblique',
|
'bold' => DOMPDF_DIR . '/lib/fonts/Helvetica-Bold',
|
||||||
'bold_italic' => DOMPDF_FONT_DIR . 'Helvetica-BoldOblique'
|
'italic' => DOMPDF_DIR . '/lib/fonts/Helvetica-Oblique',
|
||||||
|
'bold_italic' => DOMPDF_DIR . '/lib/fonts/Helvetica-BoldOblique',
|
||||||
),
|
),
|
||||||
'zapfdingbats' => array (
|
'zapfdingbats' =>
|
||||||
'normal' => DOMPDF_FONT_DIR . 'ZapfDingbats',
|
array (
|
||||||
'bold' => DOMPDF_FONT_DIR . 'ZapfDingbats',
|
'normal' => DOMPDF_DIR . '/lib/fonts/ZapfDingbats',
|
||||||
'italic' => DOMPDF_FONT_DIR . 'ZapfDingbats',
|
'bold' => DOMPDF_DIR . '/lib/fonts/ZapfDingbats',
|
||||||
'bold_italic' => DOMPDF_FONT_DIR . 'ZapfDingbats'
|
'italic' => DOMPDF_DIR . '/lib/fonts/ZapfDingbats',
|
||||||
|
'bold_italic' => DOMPDF_DIR . '/lib/fonts/ZapfDingbats',
|
||||||
),
|
),
|
||||||
'symbol' => array (
|
'symbol' =>
|
||||||
'normal' => DOMPDF_FONT_DIR . 'Symbol',
|
array (
|
||||||
'bold' => DOMPDF_FONT_DIR . 'Symbol',
|
'normal' => DOMPDF_DIR . '/lib/fonts/Symbol',
|
||||||
'italic' => DOMPDF_FONT_DIR . 'Symbol',
|
'bold' => DOMPDF_DIR . '/lib/fonts/Symbol',
|
||||||
'bold_italic' => DOMPDF_FONT_DIR . 'Symbol'
|
'italic' => DOMPDF_DIR . '/lib/fonts/Symbol',
|
||||||
|
'bold_italic' => DOMPDF_DIR . '/lib/fonts/Symbol',
|
||||||
),
|
),
|
||||||
'serif' => array (
|
'serif' =>
|
||||||
'normal' => DOMPDF_FONT_DIR . 'Times-Roman',
|
array (
|
||||||
'bold' => DOMPDF_FONT_DIR . 'Times-Bold',
|
'normal' => DOMPDF_DIR . '/lib/fonts/Times-Roman',
|
||||||
'italic' => DOMPDF_FONT_DIR . 'Times-Italic',
|
'bold' => DOMPDF_DIR . '/lib/fonts/Times-Bold',
|
||||||
'bold_italic' => DOMPDF_FONT_DIR . 'Times-BoldItalic'
|
'italic' => DOMPDF_DIR . '/lib/fonts/Times-Italic',
|
||||||
|
'bold_italic' => DOMPDF_DIR . '/lib/fonts/Times-BoldItalic',
|
||||||
),
|
),
|
||||||
'monospace' => array (
|
'monospace' =>
|
||||||
'normal' => DOMPDF_FONT_DIR . 'Courier',
|
array (
|
||||||
'bold' => DOMPDF_FONT_DIR . 'Courier-Bold',
|
'normal' => DOMPDF_DIR . '/lib/fonts/Courier',
|
||||||
'italic' => DOMPDF_FONT_DIR . 'Courier-Oblique',
|
'bold' => DOMPDF_DIR . '/lib/fonts/Courier-Bold',
|
||||||
'bold_italic' => DOMPDF_FONT_DIR . 'Courier-BoldOblique'
|
'italic' => DOMPDF_DIR . '/lib/fonts/Courier-Oblique',
|
||||||
|
'bold_italic' => DOMPDF_DIR . '/lib/fonts/Courier-BoldOblique',
|
||||||
),
|
),
|
||||||
'fixed' => array (
|
'fixed' =>
|
||||||
'normal' => DOMPDF_FONT_DIR . 'Courier',
|
array (
|
||||||
'bold' => DOMPDF_FONT_DIR . 'Courier-Bold',
|
'normal' => DOMPDF_DIR . '/lib/fonts/Courier',
|
||||||
'italic' => DOMPDF_FONT_DIR . 'Courier-Oblique',
|
'bold' => DOMPDF_DIR . '/lib/fonts/Courier-Bold',
|
||||||
'bold_italic' => DOMPDF_FONT_DIR . 'Courier-BoldOblique'
|
'italic' => DOMPDF_DIR . '/lib/fonts/Courier-Oblique',
|
||||||
)
|
'bold_italic' => DOMPDF_DIR . '/lib/fonts/Courier-BoldOblique',
|
||||||
)
|
),
|
||||||
|
'dejavu sans' =>
|
||||||
/* The proper way for web browser environment independent font handling in html/css is,
|
array (
|
||||||
* to defining a font search path ending in serif, sans-serif, or monospace, e.g.:
|
'bold' => DOMPDF_DIR . '/lib/fonts/DejaVuSans-Bold',
|
||||||
* <style>body {font-family: Verdana,Arial,Helvetica,sans-serif;}</style>
|
'bold_italic' => DOMPDF_DIR . '/lib/fonts/DejaVuSans-BoldOblique',
|
||||||
*
|
'italic' => DOMPDF_DIR . '/lib/fonts/DejaVuSans-Oblique',
|
||||||
* For more satisfying results on html files without proper font search path,
|
'normal' => DOMPDF_DIR . '/lib/fonts/DejaVuSans',
|
||||||
* popular fonts which are candidates for further font aliases similar to
|
),
|
||||||
* 'sans-serif' and 'helvetica' above might be:
|
'dejavu sans light' =>
|
||||||
*
|
array (
|
||||||
* See
|
'normal' => DOMPDF_DIR . '/lib/fonts/DejaVuSans-ExtraLight',
|
||||||
* http://www.codestyle.org/css/font-family/index.shtml
|
),
|
||||||
* http://mondaybynoon.com/2007/04/02/linux-font-equivalents-to-popular-web-typefaces/
|
'dejavu sans condensed' =>
|
||||||
* C:\Windows\Fonts
|
array (
|
||||||
*
|
'bold' => DOMPDF_DIR . '/lib/fonts/DejaVuSansCondensed-Bold',
|
||||||
* Times:
|
'bold_italic' => DOMPDF_DIR . '/lib/fonts/DejaVuSansCondensed-BoldOblique',
|
||||||
* serif, times, times-roman, times, times new roman, georgia, garamond, ms reference serif,
|
'italic' => DOMPDF_DIR . '/lib/fonts/DejaVuSansCondensed-Oblique',
|
||||||
* palatino, palatino linotype, dejavu serif, freeserif, liberation serif, luxi serif,
|
'normal' => DOMPDF_DIR . '/lib/fonts/DejaVuSansCondensed',
|
||||||
* century schoolbook, new century schoolbook
|
),
|
||||||
*
|
'dejavu sans mono' =>
|
||||||
* Helvetica:
|
array (
|
||||||
* sans-serif, helvetica, helvetica, microsoft sans serif, verdana, arial, tahoma,
|
'bold' => DOMPDF_DIR . '/lib/fonts/DejaVuSansMono-Bold',
|
||||||
* trebuchet ms, lucida sans, ms reference sans serif, lucida grande, freesans,
|
'bold_italic' => DOMPDF_DIR . '/lib/fonts/DejaVuSansMono-BoldOblique',
|
||||||
* liberation sans, dejavu sans, luxi sans, lucida
|
'italic' => DOMPDF_DIR . '/lib/fonts/DejaVuSansMono-Oblique',
|
||||||
*
|
'normal' => DOMPDF_DIR . '/lib/fonts/DejaVuSansMono',
|
||||||
* Courier:
|
),
|
||||||
* monospace, fixed, courier, courier new, lucida console, lucida sans typewriter, freeMono,
|
'dejavu serif' =>
|
||||||
* fixed, terminal, dejavu sans mono, liberation mono, luxi mono
|
array (
|
||||||
*/
|
'bold' => DOMPDF_DIR . '/lib/fonts/DejaVuSerif-Bold',
|
||||||
|
'bold_italic' => DOMPDF_DIR . '/lib/fonts/DejaVuSerif-BoldItalic',
|
||||||
?>
|
'italic' => DOMPDF_DIR . '/lib/fonts/DejaVuSerif-Italic',
|
||||||
|
'normal' => DOMPDF_DIR . '/lib/fonts/DejaVuSerif',
|
||||||
|
),
|
||||||
|
'dejavu serif condensed' =>
|
||||||
|
array (
|
||||||
|
'bold' => DOMPDF_DIR . '/lib/fonts/DejaVuSerifCondensed-Bold',
|
||||||
|
'bold_italic' => DOMPDF_DIR . '/lib/fonts/DejaVuSerifCondensed-BoldItalic',
|
||||||
|
'italic' => DOMPDF_DIR . '/lib/fonts/DejaVuSerifCondensed-Italic',
|
||||||
|
'normal' => DOMPDF_DIR . '/lib/fonts/DejaVuSerifCondensed',
|
||||||
|
),
|
||||||
|
) ?>
|
||||||
@ -1 +1 @@
|
|||||||
<span style='color: #900'>8,192 KB</span> <span style='color: #090'>238.9209 ms</span><br />
|
<span style='color: #900'>2,048 KB</span> <span style='color: #090'>577.3940 ms</span><br />
|
||||||
114
application/third_party/dompdf/lib/html5lib/Data.php
vendored
Executable file
114
application/third_party/dompdf/lib/html5lib/Data.php
vendored
Executable file
@ -0,0 +1,114 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
// warning: this file is encoded in UTF-8!
|
||||||
|
|
||||||
|
class HTML5_Data
|
||||||
|
{
|
||||||
|
|
||||||
|
// at some point this should be moved to a .ser file. Another
|
||||||
|
// possible optimization is to give UTF-8 bytes, not Unicode
|
||||||
|
// codepoints
|
||||||
|
// XXX: Not quite sure why it's named this; this is
|
||||||
|
// actually the numeric entity dereference table.
|
||||||
|
protected static $realCodepointTable = array(
|
||||||
|
0x00 => 0xFFFD, // REPLACEMENT CHARACTER
|
||||||
|
0x0D => 0x000A, // LINE FEED (LF)
|
||||||
|
0x80 => 0x20AC, // EURO SIGN ('€')
|
||||||
|
0x81 => 0x0081, // <control>
|
||||||
|
0x82 => 0x201A, // SINGLE LOW-9 QUOTATION MARK ('‚')
|
||||||
|
0x83 => 0x0192, // LATIN SMALL LETTER F WITH HOOK ('ƒ')
|
||||||
|
0x84 => 0x201E, // DOUBLE LOW-9 QUOTATION MARK ('„')
|
||||||
|
0x85 => 0x2026, // HORIZONTAL ELLIPSIS ('…')
|
||||||
|
0x86 => 0x2020, // DAGGER ('†')
|
||||||
|
0x87 => 0x2021, // DOUBLE DAGGER ('‡')
|
||||||
|
0x88 => 0x02C6, // MODIFIER LETTER CIRCUMFLEX ACCENT ('ˆ')
|
||||||
|
0x89 => 0x2030, // PER MILLE SIGN ('‰')
|
||||||
|
0x8A => 0x0160, // LATIN CAPITAL LETTER S WITH CARON ('Š')
|
||||||
|
0x8B => 0x2039, // SINGLE LEFT-POINTING ANGLE QUOTATION MARK ('‹')
|
||||||
|
0x8C => 0x0152, // LATIN CAPITAL LIGATURE OE ('Œ')
|
||||||
|
0x8D => 0x008D, // <control>
|
||||||
|
0x8E => 0x017D, // LATIN CAPITAL LETTER Z WITH CARON ('Ž')
|
||||||
|
0x8F => 0x008F, // <control>
|
||||||
|
0x90 => 0x0090, // <control>
|
||||||
|
0x91 => 0x2018, // LEFT SINGLE QUOTATION MARK ('‘')
|
||||||
|
0x92 => 0x2019, // RIGHT SINGLE QUOTATION MARK ('’')
|
||||||
|
0x93 => 0x201C, // LEFT DOUBLE QUOTATION MARK ('“')
|
||||||
|
0x94 => 0x201D, // RIGHT DOUBLE QUOTATION MARK ('”')
|
||||||
|
0x95 => 0x2022, // BULLET ('•')
|
||||||
|
0x96 => 0x2013, // EN DASH ('–')
|
||||||
|
0x97 => 0x2014, // EM DASH ('—')
|
||||||
|
0x98 => 0x02DC, // SMALL TILDE ('˜')
|
||||||
|
0x99 => 0x2122, // TRADE MARK SIGN ('™')
|
||||||
|
0x9A => 0x0161, // LATIN SMALL LETTER S WITH CARON ('š')
|
||||||
|
0x9B => 0x203A, // SINGLE RIGHT-POINTING ANGLE QUOTATION MARK ('›')
|
||||||
|
0x9C => 0x0153, // LATIN SMALL LIGATURE OE ('œ')
|
||||||
|
0x9D => 0x009D, // <control>
|
||||||
|
0x9E => 0x017E, // LATIN SMALL LETTER Z WITH CARON ('ž')
|
||||||
|
0x9F => 0x0178, // LATIN CAPITAL LETTER Y WITH DIAERESIS ('Ÿ')
|
||||||
|
);
|
||||||
|
|
||||||
|
protected static $namedCharacterReferences;
|
||||||
|
|
||||||
|
protected static $namedCharacterReferenceMaxLength;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the "real" Unicode codepoint of a malformed character
|
||||||
|
* reference.
|
||||||
|
*/
|
||||||
|
public static function getRealCodepoint($ref) {
|
||||||
|
if (!isset(self::$realCodepointTable[$ref])) return false;
|
||||||
|
else return self::$realCodepointTable[$ref];
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function getNamedCharacterReferences() {
|
||||||
|
if (!self::$namedCharacterReferences) {
|
||||||
|
self::$namedCharacterReferences = unserialize(
|
||||||
|
file_get_contents(dirname(__FILE__) . '/named-character-references.ser'));
|
||||||
|
}
|
||||||
|
return self::$namedCharacterReferences;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Converts a Unicode codepoint to sequence of UTF-8 bytes.
|
||||||
|
* @note Shamelessly stolen from HTML Purifier, which is also
|
||||||
|
* shamelessly stolen from Feyd (which is in public domain).
|
||||||
|
*/
|
||||||
|
public static function utf8chr($code) {
|
||||||
|
/* We don't care: we live dangerously
|
||||||
|
* if($code > 0x10FFFF or $code < 0x0 or
|
||||||
|
($code >= 0xD800 and $code <= 0xDFFF) ) {
|
||||||
|
// bits are set outside the "valid" range as defined
|
||||||
|
// by UNICODE 4.1.0
|
||||||
|
return "\xEF\xBF\xBD";
|
||||||
|
}*/
|
||||||
|
|
||||||
|
$x = $y = $z = $w = 0;
|
||||||
|
if ($code < 0x80) {
|
||||||
|
// regular ASCII character
|
||||||
|
$x = $code;
|
||||||
|
} else {
|
||||||
|
// set up bits for UTF-8
|
||||||
|
$x = ($code & 0x3F) | 0x80;
|
||||||
|
if ($code < 0x800) {
|
||||||
|
$y = (($code & 0x7FF) >> 6) | 0xC0;
|
||||||
|
} else {
|
||||||
|
$y = (($code & 0xFC0) >> 6) | 0x80;
|
||||||
|
if($code < 0x10000) {
|
||||||
|
$z = (($code >> 12) & 0x0F) | 0xE0;
|
||||||
|
} else {
|
||||||
|
$z = (($code >> 12) & 0x3F) | 0x80;
|
||||||
|
$w = (($code >> 18) & 0x07) | 0xF0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// set up the actual character
|
||||||
|
$ret = '';
|
||||||
|
if($w) $ret .= chr($w);
|
||||||
|
if($z) $ret .= chr($z);
|
||||||
|
if($y) $ret .= chr($y);
|
||||||
|
$ret .= chr($x);
|
||||||
|
|
||||||
|
return $ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
284
application/third_party/dompdf/lib/html5lib/InputStream.php
vendored
Executable file
284
application/third_party/dompdf/lib/html5lib/InputStream.php
vendored
Executable file
@ -0,0 +1,284 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
|
||||||
|
Copyright 2009 Geoffrey Sneddon <http://gsnedders.com/>
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
copy of this software and associated documentation files (the
|
||||||
|
"Software"), to deal in the Software without restriction, including
|
||||||
|
without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included
|
||||||
|
in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
|
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||||
|
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Some conventions:
|
||||||
|
// /* */ indicates verbatim text from the HTML 5 specification
|
||||||
|
// // indicates regular comments
|
||||||
|
|
||||||
|
class HTML5_InputStream {
|
||||||
|
/**
|
||||||
|
* The string data we're parsing.
|
||||||
|
*/
|
||||||
|
private $data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The current integer byte position we are in $data
|
||||||
|
*/
|
||||||
|
private $char;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Length of $data; when $char === $data, we are at the end-of-file.
|
||||||
|
*/
|
||||||
|
private $EOF;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Parse errors.
|
||||||
|
*/
|
||||||
|
public $errors = array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param $data Data to parse
|
||||||
|
*/
|
||||||
|
public function __construct($data) {
|
||||||
|
|
||||||
|
/* Given an encoding, the bytes in the input stream must be
|
||||||
|
converted to Unicode characters for the tokeniser, as
|
||||||
|
described by the rules for that encoding, except that the
|
||||||
|
leading U+FEFF BYTE ORDER MARK character, if any, must not
|
||||||
|
be stripped by the encoding layer (it is stripped by the rule below).
|
||||||
|
|
||||||
|
Bytes or sequences of bytes in the original byte stream that
|
||||||
|
could not be converted to Unicode characters must be converted
|
||||||
|
to U+FFFD REPLACEMENT CHARACTER code points. */
|
||||||
|
|
||||||
|
// XXX currently assuming input data is UTF-8; once we
|
||||||
|
// build encoding detection this will no longer be the case
|
||||||
|
//
|
||||||
|
// We previously had an mbstring implementation here, but that
|
||||||
|
// implementation is heavily non-conforming, so it's been
|
||||||
|
// omitted.
|
||||||
|
if (extension_loaded('iconv')) {
|
||||||
|
// non-conforming
|
||||||
|
$data = @iconv('UTF-8', 'UTF-8//IGNORE', $data);
|
||||||
|
} else {
|
||||||
|
// we can make a conforming native implementation
|
||||||
|
throw new Exception('Not implemented, please install mbstring or iconv');
|
||||||
|
}
|
||||||
|
|
||||||
|
/* One leading U+FEFF BYTE ORDER MARK character must be
|
||||||
|
ignored if any are present. */
|
||||||
|
if (substr($data, 0, 3) === "\xEF\xBB\xBF") {
|
||||||
|
$data = substr($data, 3);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* All U+0000 NULL characters in the input must be replaced
|
||||||
|
by U+FFFD REPLACEMENT CHARACTERs. Any occurrences of such
|
||||||
|
characters is a parse error. */
|
||||||
|
for ($i = 0, $count = substr_count($data, "\0"); $i < $count; $i++) {
|
||||||
|
$this->errors[] = array(
|
||||||
|
'type' => HTML5_Tokenizer::PARSEERROR,
|
||||||
|
'data' => 'null-character'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
/* U+000D CARRIAGE RETURN (CR) characters and U+000A LINE FEED
|
||||||
|
(LF) characters are treated specially. Any CR characters
|
||||||
|
that are followed by LF characters must be removed, and any
|
||||||
|
CR characters not followed by LF characters must be converted
|
||||||
|
to LF characters. Thus, newlines in HTML DOMs are represented
|
||||||
|
by LF characters, and there are never any CR characters in the
|
||||||
|
input to the tokenization stage. */
|
||||||
|
$data = str_replace(
|
||||||
|
array(
|
||||||
|
"\0",
|
||||||
|
"\r\n",
|
||||||
|
"\r"
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
"\xEF\xBF\xBD",
|
||||||
|
"\n",
|
||||||
|
"\n"
|
||||||
|
),
|
||||||
|
$data
|
||||||
|
);
|
||||||
|
|
||||||
|
/* Any occurrences of any characters in the ranges U+0001 to
|
||||||
|
U+0008, U+000B, U+000E to U+001F, U+007F to U+009F,
|
||||||
|
U+D800 to U+DFFF , U+FDD0 to U+FDEF, and
|
||||||
|
characters U+FFFE, U+FFFF, U+1FFFE, U+1FFFF, U+2FFFE, U+2FFFF,
|
||||||
|
U+3FFFE, U+3FFFF, U+4FFFE, U+4FFFF, U+5FFFE, U+5FFFF, U+6FFFE,
|
||||||
|
U+6FFFF, U+7FFFE, U+7FFFF, U+8FFFE, U+8FFFF, U+9FFFE, U+9FFFF,
|
||||||
|
U+AFFFE, U+AFFFF, U+BFFFE, U+BFFFF, U+CFFFE, U+CFFFF, U+DFFFE,
|
||||||
|
U+DFFFF, U+EFFFE, U+EFFFF, U+FFFFE, U+FFFFF, U+10FFFE, and
|
||||||
|
U+10FFFF are parse errors. (These are all control characters
|
||||||
|
or permanently undefined Unicode characters.) */
|
||||||
|
// Check PCRE is loaded.
|
||||||
|
if (extension_loaded('pcre')) {
|
||||||
|
$count = preg_match_all(
|
||||||
|
'/(?:
|
||||||
|
[\x01-\x08\x0B\x0E-\x1F\x7F] # U+0001 to U+0008, U+000B, U+000E to U+001F and U+007F
|
||||||
|
|
|
||||||
|
\xC2[\x80-\x9F] # U+0080 to U+009F
|
||||||
|
|
|
||||||
|
\xED(?:\xA0[\x80-\xFF]|[\xA1-\xBE][\x00-\xFF]|\xBF[\x00-\xBF]) # U+D800 to U+DFFFF
|
||||||
|
|
|
||||||
|
\xEF\xB7[\x90-\xAF] # U+FDD0 to U+FDEF
|
||||||
|
|
|
||||||
|
\xEF\xBF[\xBE\xBF] # U+FFFE and U+FFFF
|
||||||
|
|
|
||||||
|
[\xF0-\xF4][\x8F-\xBF]\xBF[\xBE\xBF] # U+nFFFE and U+nFFFF (1 <= n <= 10_{16})
|
||||||
|
)/x',
|
||||||
|
$data,
|
||||||
|
$matches
|
||||||
|
);
|
||||||
|
for ($i = 0; $i < $count; $i++) {
|
||||||
|
$this->errors[] = array(
|
||||||
|
'type' => HTML5_Tokenizer::PARSEERROR,
|
||||||
|
'data' => 'invalid-codepoint'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// XXX: Need non-PCRE impl, probably using substr_count
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->data = $data;
|
||||||
|
$this->char = 0;
|
||||||
|
$this->EOF = strlen($data);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the current line that the tokenizer is at.
|
||||||
|
*/
|
||||||
|
public function getCurrentLine() {
|
||||||
|
// Check the string isn't empty
|
||||||
|
if($this->EOF) {
|
||||||
|
// Add one to $this->char because we want the number for the next
|
||||||
|
// byte to be processed.
|
||||||
|
return substr_count($this->data, "\n", 0, min($this->char, $this->EOF)) + 1;
|
||||||
|
} else {
|
||||||
|
// If the string is empty, we are on the first line (sorta).
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the current column of the current line that the tokenizer is at.
|
||||||
|
*/
|
||||||
|
public function getColumnOffset() {
|
||||||
|
// strrpos is weird, and the offset needs to be negative for what we
|
||||||
|
// want (i.e., the last \n before $this->char). This needs to not have
|
||||||
|
// one (to make it point to the next character, the one we want the
|
||||||
|
// position of) added to it because strrpos's behaviour includes the
|
||||||
|
// final offset byte.
|
||||||
|
$lastLine = strrpos($this->data, "\n", $this->char - 1 - strlen($this->data));
|
||||||
|
|
||||||
|
// However, for here we want the length up until the next byte to be
|
||||||
|
// processed, so add one to the current byte ($this->char).
|
||||||
|
if($lastLine !== false) {
|
||||||
|
$findLengthOf = substr($this->data, $lastLine + 1, $this->char - 1 - $lastLine);
|
||||||
|
} else {
|
||||||
|
$findLengthOf = substr($this->data, 0, $this->char);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get the length for the string we need.
|
||||||
|
if(extension_loaded('iconv')) {
|
||||||
|
return iconv_strlen($findLengthOf, 'utf-8');
|
||||||
|
} elseif(extension_loaded('mbstring')) {
|
||||||
|
return mb_strlen($findLengthOf, 'utf-8');
|
||||||
|
} elseif(extension_loaded('xml')) {
|
||||||
|
return strlen(utf8_decode($findLengthOf));
|
||||||
|
} else {
|
||||||
|
$count = count_chars($findLengthOf);
|
||||||
|
// 0x80 = 0x7F - 0 + 1 (one added to get inclusive range)
|
||||||
|
// 0x33 = 0xF4 - 0x2C + 1 (one added to get inclusive range)
|
||||||
|
return array_sum(array_slice($count, 0, 0x80)) +
|
||||||
|
array_sum(array_slice($count, 0xC2, 0x33));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve the currently consume character.
|
||||||
|
* @note This performs bounds checking
|
||||||
|
*/
|
||||||
|
public function char() {
|
||||||
|
return ($this->char++ < $this->EOF)
|
||||||
|
? $this->data[$this->char - 1]
|
||||||
|
: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get all characters until EOF.
|
||||||
|
* @note This performs bounds checking
|
||||||
|
*/
|
||||||
|
public function remainingChars() {
|
||||||
|
if($this->char < $this->EOF) {
|
||||||
|
$data = substr($this->data, $this->char);
|
||||||
|
$this->char = $this->EOF;
|
||||||
|
return $data;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Matches as far as possible until we reach a certain set of bytes
|
||||||
|
* and returns the matched substring.
|
||||||
|
* @param $bytes Bytes to match.
|
||||||
|
*/
|
||||||
|
public function charsUntil($bytes, $max = null) {
|
||||||
|
if ($this->char < $this->EOF) {
|
||||||
|
if ($max === 0 || $max) {
|
||||||
|
$len = strcspn($this->data, $bytes, $this->char, $max);
|
||||||
|
} else {
|
||||||
|
$len = strcspn($this->data, $bytes, $this->char);
|
||||||
|
}
|
||||||
|
$string = (string) substr($this->data, $this->char, $len);
|
||||||
|
$this->char += $len;
|
||||||
|
return $string;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Matches as far as possible with a certain set of bytes
|
||||||
|
* and returns the matched substring.
|
||||||
|
* @param $bytes Bytes to match.
|
||||||
|
*/
|
||||||
|
public function charsWhile($bytes, $max = null) {
|
||||||
|
if ($this->char < $this->EOF) {
|
||||||
|
if ($max === 0 || $max) {
|
||||||
|
$len = strspn($this->data, $bytes, $this->char, $max);
|
||||||
|
} else {
|
||||||
|
$len = strspn($this->data, $bytes, $this->char);
|
||||||
|
}
|
||||||
|
$string = (string) substr($this->data, $this->char, $len);
|
||||||
|
$this->char += $len;
|
||||||
|
return $string;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unconsume one character.
|
||||||
|
*/
|
||||||
|
public function unget() {
|
||||||
|
if ($this->char <= $this->EOF) {
|
||||||
|
$this->char--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
36
application/third_party/dompdf/lib/html5lib/Parser.php
vendored
Executable file
36
application/third_party/dompdf/lib/html5lib/Parser.php
vendored
Executable file
@ -0,0 +1,36 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
require_once dirname(__FILE__) . '/Data.php';
|
||||||
|
require_once dirname(__FILE__) . '/InputStream.php';
|
||||||
|
require_once dirname(__FILE__) . '/TreeBuilder.php';
|
||||||
|
require_once dirname(__FILE__) . '/Tokenizer.php';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Outwards facing interface for HTML5.
|
||||||
|
*/
|
||||||
|
class HTML5_Parser
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Parses a full HTML document.
|
||||||
|
* @param $text HTML text to parse
|
||||||
|
* @param $builder Custom builder implementation
|
||||||
|
* @return Parsed HTML as DOMDocument
|
||||||
|
*/
|
||||||
|
static public function parse($text, $builder = null) {
|
||||||
|
$tokenizer = new HTML5_Tokenizer($text, $builder);
|
||||||
|
$tokenizer->parse();
|
||||||
|
return $tokenizer->save();
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Parses an HTML fragment.
|
||||||
|
* @param $text HTML text to parse
|
||||||
|
* @param $context String name of context element to pretend parsing is in.
|
||||||
|
* @param $builder Custom builder implementation
|
||||||
|
* @return Parsed HTML as DOMDocument
|
||||||
|
*/
|
||||||
|
static public function parseFragment($text, $context = null, $builder = null) {
|
||||||
|
$tokenizer = new HTML5_Tokenizer($text, $builder);
|
||||||
|
$tokenizer->parseFragment($context);
|
||||||
|
return $tokenizer->save();
|
||||||
|
}
|
||||||
|
}
|
||||||
2429
application/third_party/dompdf/lib/html5lib/Tokenizer.php
vendored
Executable file
2429
application/third_party/dompdf/lib/html5lib/Tokenizer.php
vendored
Executable file
File diff suppressed because it is too large
Load Diff
3844
application/third_party/dompdf/lib/html5lib/TreeBuilder.php
vendored
Executable file
3844
application/third_party/dompdf/lib/html5lib/TreeBuilder.php
vendored
Executable file
File diff suppressed because it is too large
Load Diff
1
application/third_party/dompdf/lib/html5lib/named-character-references.ser
vendored
Executable file
1
application/third_party/dompdf/lib/html5lib/named-character-references.ser
vendored
Executable file
File diff suppressed because one or more lines are too long
217
application/third_party/dompdf/lib/php-font-lib/classes/AdobeFontMetrics.php
vendored
Executable file
217
application/third_party/dompdf/lib/php-font-lib/classes/AdobeFontMetrics.php
vendored
Executable file
@ -0,0 +1,217 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package php-font-lib
|
||||||
|
* @link https://github.com/PhenX/php-font-lib
|
||||||
|
* @author Fabien Ménager <fabien.menager@gmail.com>
|
||||||
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FontLib;
|
||||||
|
|
||||||
|
use FontLib\Table\Type\name;
|
||||||
|
use FontLib\TrueType\File;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adobe Font Metrics file creation utility class.
|
||||||
|
*
|
||||||
|
* @package php-font-lib
|
||||||
|
*/
|
||||||
|
class AdobeFontMetrics {
|
||||||
|
private $f;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var File
|
||||||
|
*/
|
||||||
|
private $font;
|
||||||
|
|
||||||
|
function __construct(File $font) {
|
||||||
|
$this->font = $font;
|
||||||
|
}
|
||||||
|
|
||||||
|
function write($file, $encoding = null) {
|
||||||
|
$map_data = array();
|
||||||
|
|
||||||
|
if ($encoding) {
|
||||||
|
$encoding = preg_replace("/[^a-z0-9-_]/", "", $encoding);
|
||||||
|
$map_file = dirname(__FILE__) . "/../maps/$encoding.map";
|
||||||
|
if (!file_exists($map_file)) {
|
||||||
|
throw new \Exception("Unkown encoding ($encoding)");
|
||||||
|
}
|
||||||
|
|
||||||
|
$map = new EncodingMap($map_file);
|
||||||
|
$map_data = $map->parse();
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->f = fopen($file, "w+");
|
||||||
|
|
||||||
|
$font = $this->font;
|
||||||
|
|
||||||
|
$this->startSection("FontMetrics", 4.1);
|
||||||
|
$this->addPair("Notice", "Converted by PHP-font-lib");
|
||||||
|
$this->addPair("Comment", "https://github.com/PhenX/php-font-lib");
|
||||||
|
|
||||||
|
$encoding_scheme = ($encoding ? $encoding : "FontSpecific");
|
||||||
|
$this->addPair("EncodingScheme", $encoding_scheme);
|
||||||
|
|
||||||
|
$records = $font->getData("name", "records");
|
||||||
|
foreach ($records as $id => $record) {
|
||||||
|
if (!isset(name::$nameIdCodes[$id]) || preg_match("/[\r\n]/", $record->string)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->addPair(name::$nameIdCodes[$id], $record->string);
|
||||||
|
}
|
||||||
|
|
||||||
|
$os2 = $font->getData("OS/2");
|
||||||
|
$this->addPair("Weight", ($os2["usWeightClass"] > 400 ? "Bold" : "Medium"));
|
||||||
|
|
||||||
|
$post = $font->getData("post");
|
||||||
|
$this->addPair("ItalicAngle", $post["italicAngle"]);
|
||||||
|
$this->addPair("IsFixedPitch", ($post["isFixedPitch"] ? "true" : "false"));
|
||||||
|
$this->addPair("UnderlineThickness", $font->normalizeFUnit($post["underlineThickness"]));
|
||||||
|
$this->addPair("UnderlinePosition", $font->normalizeFUnit($post["underlinePosition"]));
|
||||||
|
|
||||||
|
$hhea = $font->getData("hhea");
|
||||||
|
|
||||||
|
if (isset($hhea["ascent"])) {
|
||||||
|
$this->addPair("FontHeightOffset", $font->normalizeFUnit($hhea["lineGap"]));
|
||||||
|
$this->addPair("Ascender", $font->normalizeFUnit($hhea["ascent"]));
|
||||||
|
$this->addPair("Descender", $font->normalizeFUnit($hhea["descent"]));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$this->addPair("FontHeightOffset", $font->normalizeFUnit($os2["typoLineGap"]));
|
||||||
|
$this->addPair("Ascender", $font->normalizeFUnit($os2["typoAscender"]));
|
||||||
|
$this->addPair("Descender", -abs($font->normalizeFUnit($os2["typoDescender"])));
|
||||||
|
}
|
||||||
|
|
||||||
|
$head = $font->getData("head");
|
||||||
|
$this->addArray("FontBBox", array(
|
||||||
|
$font->normalizeFUnit($head["xMin"]),
|
||||||
|
$font->normalizeFUnit($head["yMin"]),
|
||||||
|
$font->normalizeFUnit($head["xMax"]),
|
||||||
|
$font->normalizeFUnit($head["yMax"]),
|
||||||
|
));
|
||||||
|
|
||||||
|
$glyphIndexArray = $font->getUnicodeCharMap();
|
||||||
|
|
||||||
|
if ($glyphIndexArray) {
|
||||||
|
$hmtx = $font->getData("hmtx");
|
||||||
|
$names = $font->getData("post", "names");
|
||||||
|
|
||||||
|
$this->startSection("CharMetrics", count($hmtx));
|
||||||
|
|
||||||
|
if ($encoding) {
|
||||||
|
foreach ($map_data as $code => $value) {
|
||||||
|
list($c, $name) = $value;
|
||||||
|
|
||||||
|
if (!isset($glyphIndexArray[$c])) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$g = $glyphIndexArray[$c];
|
||||||
|
|
||||||
|
if (!isset($hmtx[$g])) {
|
||||||
|
$hmtx[$g] = $hmtx[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->addMetric(array(
|
||||||
|
"C" => ($code > 255 ? -1 : $code),
|
||||||
|
"WX" => $font->normalizeFUnit($hmtx[$g][0]),
|
||||||
|
"N" => $name,
|
||||||
|
));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
foreach ($glyphIndexArray as $c => $g) {
|
||||||
|
if (!isset($hmtx[$g])) {
|
||||||
|
$hmtx[$g] = $hmtx[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->addMetric(array(
|
||||||
|
"U" => $c,
|
||||||
|
"WX" => $font->normalizeFUnit($hmtx[$g][0]),
|
||||||
|
"N" => (isset($names[$g]) ? $names[$g] : sprintf("uni%04x", $c)),
|
||||||
|
"G" => $g,
|
||||||
|
));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->endSection("CharMetrics");
|
||||||
|
|
||||||
|
$kern = $font->getData("kern", "subtable");
|
||||||
|
$tree = $kern["tree"];
|
||||||
|
|
||||||
|
if (!$encoding && is_array($tree)) {
|
||||||
|
$this->startSection("KernData");
|
||||||
|
$this->startSection("KernPairs", count($tree, COUNT_RECURSIVE) - count($tree));
|
||||||
|
|
||||||
|
foreach ($tree as $left => $values) {
|
||||||
|
if (!is_array($values)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (!isset($glyphIndexArray[$left])) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$left_gid = $glyphIndexArray[$left];
|
||||||
|
|
||||||
|
if (!isset($names[$left_gid])) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$left_name = $names[$left_gid];
|
||||||
|
|
||||||
|
$this->addLine("");
|
||||||
|
|
||||||
|
foreach ($values as $right => $value) {
|
||||||
|
if (!isset($glyphIndexArray[$right])) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$right_gid = $glyphIndexArray[$right];
|
||||||
|
|
||||||
|
if (!isset($names[$right_gid])) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$right_name = $names[$right_gid];
|
||||||
|
$this->addPair("KPX", "$left_name $right_name $value");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->endSection("KernPairs");
|
||||||
|
$this->endSection("KernData");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->endSection("FontMetrics");
|
||||||
|
}
|
||||||
|
|
||||||
|
function addLine($line) {
|
||||||
|
fwrite($this->f, "$line\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
function addPair($key, $value) {
|
||||||
|
$this->addLine("$key $value");
|
||||||
|
}
|
||||||
|
|
||||||
|
function addArray($key, $array) {
|
||||||
|
$this->addLine("$key " . implode(" ", $array));
|
||||||
|
}
|
||||||
|
|
||||||
|
function addMetric($data) {
|
||||||
|
$array = array();
|
||||||
|
foreach ($data as $key => $value) {
|
||||||
|
$array[] = "$key $value";
|
||||||
|
}
|
||||||
|
$this->addLine(implode(" ; ", $array));
|
||||||
|
}
|
||||||
|
|
||||||
|
function startSection($name, $value = "") {
|
||||||
|
$this->addLine("Start$name $value");
|
||||||
|
}
|
||||||
|
|
||||||
|
function endSection($name) {
|
||||||
|
$this->addLine("End$name");
|
||||||
|
}
|
||||||
|
}
|
||||||
43
application/third_party/dompdf/lib/php-font-lib/classes/Autoloader.php
vendored
Executable file
43
application/third_party/dompdf/lib/php-font-lib/classes/Autoloader.php
vendored
Executable file
@ -0,0 +1,43 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package php-font-lib
|
||||||
|
* @link https://github.com/PhenX/php-font-lib
|
||||||
|
* @author Fabien Ménager <fabien.menager@gmail.com>
|
||||||
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FontLib;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Autoloads FontLib classes
|
||||||
|
*
|
||||||
|
* @package php-font-lib
|
||||||
|
*/
|
||||||
|
class Autoloader {
|
||||||
|
const PREFIX = 'FontLib';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register the autoloader
|
||||||
|
*/
|
||||||
|
public static function register() {
|
||||||
|
spl_autoload_register(array(new self, 'autoload'));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Autoloader
|
||||||
|
*
|
||||||
|
* @param string
|
||||||
|
*/
|
||||||
|
public static function autoload($class) {
|
||||||
|
$prefixLength = strlen(self::PREFIX);
|
||||||
|
if (0 === strncmp(self::PREFIX, $class, $prefixLength)) {
|
||||||
|
$file = str_replace('\\', DIRECTORY_SEPARATOR, substr($class, $prefixLength));
|
||||||
|
$file = realpath(__DIR__ . (empty($file) ? '' : DIRECTORY_SEPARATOR) . $file . '.php');
|
||||||
|
if (file_exists($file)) {
|
||||||
|
require_once $file;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Autoloader::register();
|
||||||
444
application/third_party/dompdf/lib/php-font-lib/classes/BinaryStream.php
vendored
Executable file
444
application/third_party/dompdf/lib/php-font-lib/classes/BinaryStream.php
vendored
Executable file
@ -0,0 +1,444 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package php-font-lib
|
||||||
|
* @link https://github.com/PhenX/php-font-lib
|
||||||
|
* @author Fabien Ménager <fabien.menager@gmail.com>
|
||||||
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FontLib;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generic font file binary stream.
|
||||||
|
*
|
||||||
|
* @package php-font-lib
|
||||||
|
*/
|
||||||
|
class BinaryStream {
|
||||||
|
/**
|
||||||
|
* @var resource The file pointer
|
||||||
|
*/
|
||||||
|
protected $f;
|
||||||
|
|
||||||
|
const uint8 = 1;
|
||||||
|
const int8 = 2;
|
||||||
|
const uint16 = 3;
|
||||||
|
const int16 = 4;
|
||||||
|
const uint32 = 5;
|
||||||
|
const int32 = 6;
|
||||||
|
const shortFrac = 7;
|
||||||
|
const Fixed = 8;
|
||||||
|
const FWord = 9;
|
||||||
|
const uFWord = 10;
|
||||||
|
const F2Dot14 = 11;
|
||||||
|
const longDateTime = 12;
|
||||||
|
const char = 13;
|
||||||
|
|
||||||
|
const modeRead = "rb";
|
||||||
|
const modeWrite = "wb";
|
||||||
|
const modeReadWrite = "rb+";
|
||||||
|
|
||||||
|
static function backtrace() {
|
||||||
|
var_dump(debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Open a font file in read mode
|
||||||
|
*
|
||||||
|
* @param string $filename The file name of the font to open
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function load($filename) {
|
||||||
|
return $this->open($filename, self::modeRead);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Open a font file in a chosen mode
|
||||||
|
*
|
||||||
|
* @param string $filename The file name of the font to open
|
||||||
|
* @param string $mode The opening mode
|
||||||
|
*
|
||||||
|
* @throws \Exception
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function open($filename, $mode = self::modeRead) {
|
||||||
|
if (!in_array($mode, array(self::modeRead, self::modeWrite, self::modeReadWrite))) {
|
||||||
|
throw new \Exception("Unkown file open mode");
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->f = fopen($filename, $mode);
|
||||||
|
|
||||||
|
return $this->f != false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Close the internal file pointer
|
||||||
|
*/
|
||||||
|
public function close() {
|
||||||
|
return fclose($this->f) != false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Change the internal file pointer
|
||||||
|
*
|
||||||
|
* @param resource $fp
|
||||||
|
*
|
||||||
|
* @throws \Exception
|
||||||
|
*/
|
||||||
|
public function setFile($fp) {
|
||||||
|
if (!is_resource($fp)) {
|
||||||
|
throw new \Exception('$fp is not a valid resource');
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->f = $fp;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a temporary file in write mode
|
||||||
|
*
|
||||||
|
* @param bool $allow_memory Allow in-memory files
|
||||||
|
*
|
||||||
|
* @return resource the temporary file pointer resource
|
||||||
|
*/
|
||||||
|
public static function getTempFile($allow_memory = true) {
|
||||||
|
$f = null;
|
||||||
|
|
||||||
|
if ($allow_memory) {
|
||||||
|
$f = fopen("php://temp", "rb+");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$f = fopen(tempnam(sys_get_temp_dir(), "fnt"), "rb+");
|
||||||
|
}
|
||||||
|
|
||||||
|
return $f;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Move the internal file pinter to $offset bytes
|
||||||
|
*
|
||||||
|
* @param int $offset
|
||||||
|
*
|
||||||
|
* @return bool True if the $offset position exists in the file
|
||||||
|
*/
|
||||||
|
public function seek($offset) {
|
||||||
|
return fseek($this->f, $offset, SEEK_SET) == 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gives the current position in the file
|
||||||
|
*
|
||||||
|
* @return int The current position
|
||||||
|
*/
|
||||||
|
public function pos() {
|
||||||
|
return ftell($this->f);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function skip($n) {
|
||||||
|
fseek($this->f, $n, SEEK_CUR);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function read($n) {
|
||||||
|
if ($n < 1) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
return fread($this->f, $n);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function write($data, $length = null) {
|
||||||
|
if ($data === null || $data === "" || $data === false) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return fwrite($this->f, $data, $length);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function readUInt8() {
|
||||||
|
return ord($this->read(1));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function readUInt8Many($count) {
|
||||||
|
return array_values(unpack("C*", $this->read($count)));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function writeUInt8($data) {
|
||||||
|
return $this->write(chr($data), 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function readInt8() {
|
||||||
|
$v = $this->readUInt8();
|
||||||
|
|
||||||
|
if ($v >= 0x80) {
|
||||||
|
$v -= 0x100;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $v;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function readInt8Many($count) {
|
||||||
|
return array_values(unpack("c*", $this->read($count)));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function writeInt8($data) {
|
||||||
|
if ($data < 0) {
|
||||||
|
$data += 0x100;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->writeUInt8($data);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function readUInt16() {
|
||||||
|
$a = unpack("nn", $this->read(2));
|
||||||
|
|
||||||
|
return $a["n"];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function readUInt16Many($count) {
|
||||||
|
return array_values(unpack("n*", $this->read($count * 2)));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function readUFWord() {
|
||||||
|
return $this->readUInt16();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function writeUInt16($data) {
|
||||||
|
return $this->write(pack("n", $data), 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function writeUFWord($data) {
|
||||||
|
return $this->writeUInt16($data);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function readInt16() {
|
||||||
|
$a = unpack("nn", $this->read(2));
|
||||||
|
$v = $a["n"];
|
||||||
|
|
||||||
|
if ($v >= 0x8000) {
|
||||||
|
$v -= 0x10000;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $v;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function readInt16Many($count) {
|
||||||
|
$vals = array_values(unpack("n*", $this->read($count * 2)));
|
||||||
|
foreach ($vals as &$v) {
|
||||||
|
if ($v >= 0x8000) {
|
||||||
|
$v -= 0x10000;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $vals;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function readFWord() {
|
||||||
|
return $this->readInt16();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function writeInt16($data) {
|
||||||
|
if ($data < 0) {
|
||||||
|
$data += 0x10000;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->writeUInt16($data);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function writeFWord($data) {
|
||||||
|
return $this->writeInt16($data);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function readUInt32() {
|
||||||
|
$a = unpack("NN", $this->read(4));
|
||||||
|
|
||||||
|
return $a["N"];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function writeUInt32($data) {
|
||||||
|
return $this->write(pack("N", $data), 4);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function readFixed() {
|
||||||
|
$d = $this->readInt16();
|
||||||
|
$d2 = $this->readUInt16();
|
||||||
|
|
||||||
|
return round($d + $d2 / 0x10000, 4);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function writeFixed($data) {
|
||||||
|
$left = floor($data);
|
||||||
|
$right = ($data - $left) * 0x10000;
|
||||||
|
|
||||||
|
return $this->writeInt16($left) + $this->writeUInt16($right);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function readLongDateTime() {
|
||||||
|
$this->readUInt32(); // ignored
|
||||||
|
$date = $this->readUInt32() - 2082844800;
|
||||||
|
|
||||||
|
# PHP_INT_MIN isn't defined in PHP < 7.0
|
||||||
|
$php_int_min = defined("PHP_INT_MIN") ? PHP_INT_MIN : ~PHP_INT_MAX;
|
||||||
|
|
||||||
|
if (is_string($date) || $date > PHP_INT_MAX || $date < $php_int_min) {
|
||||||
|
$date = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return strftime("%Y-%m-%d %H:%M:%S", $date);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function writeLongDateTime($data) {
|
||||||
|
$date = strtotime($data);
|
||||||
|
$date += 2082844800;
|
||||||
|
|
||||||
|
return $this->writeUInt32(0) + $this->writeUInt32($date);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function unpack($def) {
|
||||||
|
$d = array();
|
||||||
|
foreach ($def as $name => $type) {
|
||||||
|
$d[$name] = $this->r($type);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $d;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function pack($def, $data) {
|
||||||
|
$bytes = 0;
|
||||||
|
foreach ($def as $name => $type) {
|
||||||
|
$bytes += $this->w($type, $data[$name]);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $bytes;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Read a data of type $type in the file from the current position
|
||||||
|
*
|
||||||
|
* @param mixed $type The data type to read
|
||||||
|
*
|
||||||
|
* @return mixed The data that was read
|
||||||
|
*/
|
||||||
|
public function r($type) {
|
||||||
|
switch ($type) {
|
||||||
|
case self::uint8:
|
||||||
|
return $this->readUInt8();
|
||||||
|
case self::int8:
|
||||||
|
return $this->readInt8();
|
||||||
|
case self::uint16:
|
||||||
|
return $this->readUInt16();
|
||||||
|
case self::int16:
|
||||||
|
return $this->readInt16();
|
||||||
|
case self::uint32:
|
||||||
|
return $this->readUInt32();
|
||||||
|
case self::int32:
|
||||||
|
return $this->readUInt32();
|
||||||
|
case self::shortFrac:
|
||||||
|
return $this->readFixed();
|
||||||
|
case self::Fixed:
|
||||||
|
return $this->readFixed();
|
||||||
|
case self::FWord:
|
||||||
|
return $this->readInt16();
|
||||||
|
case self::uFWord:
|
||||||
|
return $this->readUInt16();
|
||||||
|
case self::F2Dot14:
|
||||||
|
return $this->readInt16();
|
||||||
|
case self::longDateTime:
|
||||||
|
return $this->readLongDateTime();
|
||||||
|
case self::char:
|
||||||
|
return $this->read(1);
|
||||||
|
default:
|
||||||
|
if (is_array($type)) {
|
||||||
|
if ($type[0] == self::char) {
|
||||||
|
return $this->read($type[1]);
|
||||||
|
}
|
||||||
|
if ($type[0] == self::uint16) {
|
||||||
|
return $this->readUInt16Many($type[1]);
|
||||||
|
}
|
||||||
|
if ($type[0] == self::int16) {
|
||||||
|
return $this->readInt16Many($type[1]);
|
||||||
|
}
|
||||||
|
if ($type[0] == self::uint8) {
|
||||||
|
return $this->readUInt8Many($type[1]);
|
||||||
|
}
|
||||||
|
if ($type[0] == self::int8) {
|
||||||
|
return $this->readInt8Many($type[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$ret = array();
|
||||||
|
for ($i = 0; $i < $type[1]; $i++) {
|
||||||
|
$ret[] = $this->r($type[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Write $data of type $type in the file from the current position
|
||||||
|
*
|
||||||
|
* @param mixed $type The data type to write
|
||||||
|
* @param mixed $data The data to write
|
||||||
|
*
|
||||||
|
* @return int The number of bytes read
|
||||||
|
*/
|
||||||
|
public function w($type, $data) {
|
||||||
|
switch ($type) {
|
||||||
|
case self::uint8:
|
||||||
|
return $this->writeUInt8($data);
|
||||||
|
case self::int8:
|
||||||
|
return $this->writeInt8($data);
|
||||||
|
case self::uint16:
|
||||||
|
return $this->writeUInt16($data);
|
||||||
|
case self::int16:
|
||||||
|
return $this->writeInt16($data);
|
||||||
|
case self::uint32:
|
||||||
|
return $this->writeUInt32($data);
|
||||||
|
case self::int32:
|
||||||
|
return $this->writeUInt32($data);
|
||||||
|
case self::shortFrac:
|
||||||
|
return $this->writeFixed($data);
|
||||||
|
case self::Fixed:
|
||||||
|
return $this->writeFixed($data);
|
||||||
|
case self::FWord:
|
||||||
|
return $this->writeInt16($data);
|
||||||
|
case self::uFWord:
|
||||||
|
return $this->writeUInt16($data);
|
||||||
|
case self::F2Dot14:
|
||||||
|
return $this->writeInt16($data);
|
||||||
|
case self::longDateTime:
|
||||||
|
return $this->writeLongDateTime($data);
|
||||||
|
case self::char:
|
||||||
|
return $this->write($data, 1);
|
||||||
|
default:
|
||||||
|
if (is_array($type)) {
|
||||||
|
if ($type[0] == self::char) {
|
||||||
|
return $this->write($data, $type[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$ret = 0;
|
||||||
|
for ($i = 0; $i < $type[1]; $i++) {
|
||||||
|
if (isset($data[$i])) {
|
||||||
|
$ret += $this->w($type[0], $data[$i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Converts a Uint32 value to string
|
||||||
|
*
|
||||||
|
* @param int $uint32
|
||||||
|
*
|
||||||
|
* @return string The string
|
||||||
|
*/
|
||||||
|
public function convertUInt32ToStr($uint32) {
|
||||||
|
return chr(($uint32 >> 24) & 0xFF) . chr(($uint32 >> 16) & 0xFF) . chr(($uint32 >> 8) & 0xFF) . chr($uint32 & 0xFF);
|
||||||
|
}
|
||||||
|
}
|
||||||
160
application/third_party/dompdf/lib/php-font-lib/classes/EOT/File.php
vendored
Executable file
160
application/third_party/dompdf/lib/php-font-lib/classes/EOT/File.php
vendored
Executable file
@ -0,0 +1,160 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package php-font-lib
|
||||||
|
* @link https://github.com/PhenX/php-font-lib
|
||||||
|
* @author Fabien Ménager <fabien.menager@gmail.com>
|
||||||
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FontLib\EOT;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* EOT font file.
|
||||||
|
*
|
||||||
|
* @package php-font-lib
|
||||||
|
*/
|
||||||
|
class File extends \FontLib\TrueType\File {
|
||||||
|
const TTEMBED_SUBSET = 0x00000001;
|
||||||
|
const TTEMBED_TTCOMPRESSED = 0x00000004;
|
||||||
|
const TTEMBED_FAILIFVARIATIONSIMULATED = 0x00000010;
|
||||||
|
const TTMBED_EMBEDEUDC = 0x00000020;
|
||||||
|
const TTEMBED_VALIDATIONTESTS = 0x00000040; // Deprecated
|
||||||
|
const TTEMBED_WEBOBJECT = 0x00000080;
|
||||||
|
const TTEMBED_XORENCRYPTDATA = 0x10000000;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var Header
|
||||||
|
*/
|
||||||
|
public $header;
|
||||||
|
|
||||||
|
function parseHeader() {
|
||||||
|
if (!empty($this->header)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->header = new Header($this);
|
||||||
|
$this->header->parse();
|
||||||
|
}
|
||||||
|
|
||||||
|
function parse() {
|
||||||
|
$this->parseHeader();
|
||||||
|
|
||||||
|
$flags = $this->header->data["Flags"];
|
||||||
|
|
||||||
|
if ($flags & self::TTEMBED_TTCOMPRESSED) {
|
||||||
|
$mtx_version = $this->readUInt8();
|
||||||
|
$mtx_copy_limit = $this->readUInt8() << 16 | $this->readUInt8() << 8 | $this->readUInt8();
|
||||||
|
$mtx_offset_1 = $this->readUInt8() << 16 | $this->readUInt8() << 8 | $this->readUInt8();
|
||||||
|
$mtx_offset_2 = $this->readUInt8() << 16 | $this->readUInt8() << 8 | $this->readUInt8();
|
||||||
|
/*
|
||||||
|
var_dump("$mtx_version $mtx_copy_limit $mtx_offset_1 $mtx_offset_2");
|
||||||
|
|
||||||
|
$pos = $this->pos();
|
||||||
|
$size = $mtx_offset_1 - $pos;
|
||||||
|
var_dump("pos: $pos");
|
||||||
|
var_dump("size: $size");*/
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($flags & self::TTEMBED_XORENCRYPTDATA) {
|
||||||
|
// Process XOR
|
||||||
|
}
|
||||||
|
// TODO Read font data ...
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Little endian version of the read method
|
||||||
|
*
|
||||||
|
* @param int $n The number of bytes to read
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function read($n) {
|
||||||
|
if ($n < 1) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
$string = fread($this->f, $n);
|
||||||
|
$chunks = str_split($string, 2);
|
||||||
|
$chunks = array_map("strrev", $chunks);
|
||||||
|
|
||||||
|
return implode("", $chunks);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function readUInt32() {
|
||||||
|
$uint32 = parent::readUInt32();
|
||||||
|
|
||||||
|
return $uint32 >> 16 & 0x0000FFFF | $uint32 << 16 & 0xFFFF0000;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get font copyright
|
||||||
|
*
|
||||||
|
* @return string|null
|
||||||
|
*/
|
||||||
|
function getFontCopyright() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get font name
|
||||||
|
*
|
||||||
|
* @return string|null
|
||||||
|
*/
|
||||||
|
function getFontName() {
|
||||||
|
return $this->header->data["FamilyName"];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get font subfamily
|
||||||
|
*
|
||||||
|
* @return string|null
|
||||||
|
*/
|
||||||
|
function getFontSubfamily() {
|
||||||
|
return $this->header->data["StyleName"];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get font subfamily ID
|
||||||
|
*
|
||||||
|
* @return string|null
|
||||||
|
*/
|
||||||
|
function getFontSubfamilyID() {
|
||||||
|
return $this->header->data["StyleName"];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get font full name
|
||||||
|
*
|
||||||
|
* @return string|null
|
||||||
|
*/
|
||||||
|
function getFontFullName() {
|
||||||
|
return $this->header->data["FullName"];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get font version
|
||||||
|
*
|
||||||
|
* @return string|null
|
||||||
|
*/
|
||||||
|
function getFontVersion() {
|
||||||
|
return $this->header->data["VersionName"];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get font weight
|
||||||
|
*
|
||||||
|
* @return string|null
|
||||||
|
*/
|
||||||
|
function getFontWeight() {
|
||||||
|
return $this->header->data["Weight"];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get font Postscript name
|
||||||
|
*
|
||||||
|
* @return string|null
|
||||||
|
*/
|
||||||
|
function getFontPostscriptName() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
113
application/third_party/dompdf/lib/php-font-lib/classes/EOT/Header.php
vendored
Executable file
113
application/third_party/dompdf/lib/php-font-lib/classes/EOT/Header.php
vendored
Executable file
@ -0,0 +1,113 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package php-font-lib
|
||||||
|
* @link https://github.com/PhenX/php-font-lib
|
||||||
|
* @author Fabien Ménager <fabien.menager@gmail.com>
|
||||||
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FontLib\EOT;
|
||||||
|
|
||||||
|
use Exception;
|
||||||
|
use FontLib\Font;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TrueType font file header.
|
||||||
|
*
|
||||||
|
* @package php-font-lib
|
||||||
|
*
|
||||||
|
* @property File $font
|
||||||
|
*/
|
||||||
|
class Header extends \FontLib\Header {
|
||||||
|
protected $def = array(
|
||||||
|
"format" => self::uint32,
|
||||||
|
"numTables" => self::uint16,
|
||||||
|
"searchRange" => self::uint16,
|
||||||
|
"entrySelector" => self::uint16,
|
||||||
|
"rangeShift" => self::uint16,
|
||||||
|
);
|
||||||
|
|
||||||
|
public function parse() {
|
||||||
|
$font = $this->font;
|
||||||
|
|
||||||
|
$this->data = $font->unpack(array(
|
||||||
|
"EOTSize" => self::uint32,
|
||||||
|
"FontDataSize" => self::uint32,
|
||||||
|
"Version" => self::uint32,
|
||||||
|
"Flags" => self::uint32,
|
||||||
|
"FontPANOSE" => array(self::uint8, 10),
|
||||||
|
"Charset" => self::uint8,
|
||||||
|
"Italic" => self::uint8,
|
||||||
|
"Weight" => self::uint32,
|
||||||
|
"fsType" => self::uint16,
|
||||||
|
"MagicNumber" => self::uint16,
|
||||||
|
"UnicodeRange1" => self::uint32,
|
||||||
|
"UnicodeRange2" => self::uint32,
|
||||||
|
"UnicodeRange3" => self::uint32,
|
||||||
|
"UnicodeRange4" => self::uint32,
|
||||||
|
"CodePageRange1" => self::uint32,
|
||||||
|
"CodePageRange2" => self::uint32,
|
||||||
|
"CheckSumAdjustment" => self::uint32,
|
||||||
|
"Reserved1" => self::uint32,
|
||||||
|
"Reserved2" => self::uint32,
|
||||||
|
"Reserved3" => self::uint32,
|
||||||
|
"Reserved4" => self::uint32,
|
||||||
|
));
|
||||||
|
|
||||||
|
$this->data["Padding1"] = $font->readUInt16();
|
||||||
|
$this->readString("FamilyName");
|
||||||
|
|
||||||
|
$this->data["Padding2"] = $font->readUInt16();
|
||||||
|
$this->readString("StyleName");
|
||||||
|
|
||||||
|
$this->data["Padding3"] = $font->readUInt16();
|
||||||
|
$this->readString("VersionName");
|
||||||
|
|
||||||
|
$this->data["Padding4"] = $font->readUInt16();
|
||||||
|
$this->readString("FullName");
|
||||||
|
|
||||||
|
switch ($this->data["Version"]) {
|
||||||
|
default:
|
||||||
|
throw new Exception("Unknown EOT version " . $this->data["Version"]);
|
||||||
|
|
||||||
|
case 0x00010000:
|
||||||
|
// Nothing to do more
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 0x00020001:
|
||||||
|
$this->data["Padding5"] = $font->readUInt16();
|
||||||
|
$this->readString("RootString");
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 0x00020002:
|
||||||
|
$this->data["Padding5"] = $font->readUInt16();
|
||||||
|
$this->readString("RootString");
|
||||||
|
|
||||||
|
$this->data["RootStringCheckSum"] = $font->readUInt32();
|
||||||
|
$this->data["EUDCCodePage"] = $font->readUInt32();
|
||||||
|
|
||||||
|
$this->data["Padding6"] = $font->readUInt16();
|
||||||
|
$this->readString("Signature");
|
||||||
|
|
||||||
|
$this->data["EUDCFlags"] = $font->readUInt32();
|
||||||
|
$this->data["EUDCFontSize"] = $font->readUInt32();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!empty($this->data["RootString"])) {
|
||||||
|
$this->data["RootString"] = explode("\0", $this->data["RootString"]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function readString($name) {
|
||||||
|
$font = $this->font;
|
||||||
|
$size = $font->readUInt16();
|
||||||
|
|
||||||
|
$this->data["{$name}Size"] = $size;
|
||||||
|
$this->data[$name] = Font::UTF16ToUTF8($font->read($size));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function encode() {
|
||||||
|
//return $this->font->pack($this->def, $this->data);
|
||||||
|
}
|
||||||
|
}
|
||||||
37
application/third_party/dompdf/lib/php-font-lib/classes/EncodingMap.php
vendored
Executable file
37
application/third_party/dompdf/lib/php-font-lib/classes/EncodingMap.php
vendored
Executable file
@ -0,0 +1,37 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package php-font-lib
|
||||||
|
* @link https://github.com/PhenX/php-font-lib
|
||||||
|
* @author Fabien Ménager <fabien.menager@gmail.com>
|
||||||
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FontLib;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Encoding map used to map a code point to a Unicode char.
|
||||||
|
*
|
||||||
|
* @package php-font-lib
|
||||||
|
*/
|
||||||
|
class EncodingMap {
|
||||||
|
private $f;
|
||||||
|
|
||||||
|
function __construct($file) {
|
||||||
|
$this->f = fopen($file, "r");
|
||||||
|
}
|
||||||
|
|
||||||
|
function parse() {
|
||||||
|
$map = array();
|
||||||
|
|
||||||
|
while ($line = fgets($this->f)) {
|
||||||
|
if (preg_match('/^[\!\=]([0-9A-F]{2,})\s+U\+([0-9A-F]{2})([0-9A-F]{2})\s+([^\s]+)/', $line, $matches)) {
|
||||||
|
$unicode = (hexdec($matches[2]) << 8) + hexdec($matches[3]);
|
||||||
|
$map[hexdec($matches[1])] = array($unicode, $matches[4]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ksort($map);
|
||||||
|
|
||||||
|
return $map;
|
||||||
|
}
|
||||||
|
}
|
||||||
11
application/third_party/dompdf/lib/php-font-lib/classes/Exception/FontNotFoundException.php
vendored
Executable file
11
application/third_party/dompdf/lib/php-font-lib/classes/Exception/FontNotFoundException.php
vendored
Executable file
@ -0,0 +1,11 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace FontLib\Exception;
|
||||||
|
|
||||||
|
class FontNotFoundException extends \Exception
|
||||||
|
{
|
||||||
|
public function __construct($fontPath)
|
||||||
|
{
|
||||||
|
$this->message = 'Font not found in: ' . $fontPath;
|
||||||
|
}
|
||||||
|
}
|
||||||
89
application/third_party/dompdf/lib/php-font-lib/classes/Font.php
vendored
Executable file
89
application/third_party/dompdf/lib/php-font-lib/classes/Font.php
vendored
Executable file
@ -0,0 +1,89 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package php-font-lib
|
||||||
|
* @link https://github.com/PhenX/php-font-lib
|
||||||
|
* @author Fabien Ménager <fabien.menager@gmail.com>
|
||||||
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FontLib;
|
||||||
|
|
||||||
|
use FontLib\Exception\FontNotFoundException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generic font file.
|
||||||
|
*
|
||||||
|
* @package php-font-lib
|
||||||
|
*/
|
||||||
|
class Font {
|
||||||
|
static $debug = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $file The font file
|
||||||
|
*
|
||||||
|
* @return TrueType\File|null $file
|
||||||
|
*/
|
||||||
|
public static function load($file) {
|
||||||
|
if(!file_exists($file)){
|
||||||
|
throw new FontNotFoundException($file);
|
||||||
|
}
|
||||||
|
|
||||||
|
$header = file_get_contents($file, false, null, null, 4);
|
||||||
|
$class = null;
|
||||||
|
|
||||||
|
switch ($header) {
|
||||||
|
case "\x00\x01\x00\x00":
|
||||||
|
case "true":
|
||||||
|
case "typ1":
|
||||||
|
$class = "TrueType\\File";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "OTTO":
|
||||||
|
$class = "OpenType\\File";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "wOFF":
|
||||||
|
$class = "WOFF\\File";
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "ttcf":
|
||||||
|
$class = "TrueType\\Collection";
|
||||||
|
break;
|
||||||
|
|
||||||
|
// Unknown type or EOT
|
||||||
|
default:
|
||||||
|
$magicNumber = file_get_contents($file, false, null, 34, 2);
|
||||||
|
|
||||||
|
if ($magicNumber === "LP") {
|
||||||
|
$class = "EOT\\File";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($class) {
|
||||||
|
$class = "FontLib\\$class";
|
||||||
|
|
||||||
|
/** @var TrueType\File $obj */
|
||||||
|
$obj = new $class;
|
||||||
|
$obj->load($file);
|
||||||
|
|
||||||
|
return $obj;
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
static function d($str) {
|
||||||
|
if (!self::$debug) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
echo "$str\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
static function UTF16ToUTF8($str) {
|
||||||
|
return mb_convert_encoding($str, "utf-8", "utf-16");
|
||||||
|
}
|
||||||
|
|
||||||
|
static function UTF8ToUTF16($str) {
|
||||||
|
return mb_convert_encoding($str, "utf-16", "utf-8");
|
||||||
|
}
|
||||||
|
}
|
||||||
110
application/third_party/dompdf/lib/php-font-lib/classes/Glyph/Outline.php
vendored
Executable file
110
application/third_party/dompdf/lib/php-font-lib/classes/Glyph/Outline.php
vendored
Executable file
@ -0,0 +1,110 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package php-font-lib
|
||||||
|
* @link https://github.com/PhenX/php-font-lib
|
||||||
|
* @author Fabien Ménager <fabien.menager@gmail.com>
|
||||||
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||||
|
* @version $Id: Font_Table_glyf.php 46 2012-04-02 20:22:38Z fabien.menager $
|
||||||
|
*/
|
||||||
|
namespace FontLib\Glyph;
|
||||||
|
|
||||||
|
use FontLib\Table\Type\glyf;
|
||||||
|
use FontLib\TrueType\File;
|
||||||
|
use FontLib\BinaryStream;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* `glyf` font table.
|
||||||
|
*
|
||||||
|
* @package php-font-lib
|
||||||
|
*/
|
||||||
|
class Outline extends BinaryStream {
|
||||||
|
/**
|
||||||
|
* @var \FontLib\Table\Type\glyf
|
||||||
|
*/
|
||||||
|
protected $table;
|
||||||
|
|
||||||
|
protected $offset;
|
||||||
|
protected $size;
|
||||||
|
|
||||||
|
// Data
|
||||||
|
public $numberOfContours;
|
||||||
|
public $xMin;
|
||||||
|
public $yMin;
|
||||||
|
public $xMax;
|
||||||
|
public $yMax;
|
||||||
|
|
||||||
|
public $raw;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param glyf $table
|
||||||
|
* @param $offset
|
||||||
|
* @param $size
|
||||||
|
*
|
||||||
|
* @return Outline
|
||||||
|
*/
|
||||||
|
static function init(glyf $table, $offset, $size, BinaryStream $font) {
|
||||||
|
$font->seek($offset);
|
||||||
|
|
||||||
|
if ($font->readInt16() > -1) {
|
||||||
|
/** @var OutlineSimple $glyph */
|
||||||
|
$glyph = new OutlineSimple($table, $offset, $size);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
/** @var OutlineComposite $glyph */
|
||||||
|
$glyph = new OutlineComposite($table, $offset, $size);
|
||||||
|
}
|
||||||
|
|
||||||
|
$glyph->parse($font);
|
||||||
|
|
||||||
|
return $glyph;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return File
|
||||||
|
*/
|
||||||
|
function getFont() {
|
||||||
|
return $this->table->getFont();
|
||||||
|
}
|
||||||
|
|
||||||
|
function __construct(glyf $table, $offset = null, $size = null) {
|
||||||
|
$this->table = $table;
|
||||||
|
$this->offset = $offset;
|
||||||
|
$this->size = $size;
|
||||||
|
}
|
||||||
|
|
||||||
|
function parse(BinaryStream $font) {
|
||||||
|
$font->seek($this->offset);
|
||||||
|
|
||||||
|
if (!$this->size) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->raw = $font->read($this->size);
|
||||||
|
}
|
||||||
|
|
||||||
|
function parseData() {
|
||||||
|
$font = $this->getFont();
|
||||||
|
$font->seek($this->offset);
|
||||||
|
|
||||||
|
$this->numberOfContours = $font->readInt16();
|
||||||
|
$this->xMin = $font->readFWord();
|
||||||
|
$this->yMin = $font->readFWord();
|
||||||
|
$this->xMax = $font->readFWord();
|
||||||
|
$this->yMax = $font->readFWord();
|
||||||
|
}
|
||||||
|
|
||||||
|
function encode() {
|
||||||
|
$font = $this->getFont();
|
||||||
|
|
||||||
|
return $font->write($this->raw, strlen($this->raw));
|
||||||
|
}
|
||||||
|
|
||||||
|
function getSVGContours() {
|
||||||
|
// Inherit
|
||||||
|
}
|
||||||
|
|
||||||
|
function getGlyphIDs() {
|
||||||
|
return array();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
31
application/third_party/dompdf/lib/php-font-lib/classes/Glyph/OutlineComponent.php
vendored
Executable file
31
application/third_party/dompdf/lib/php-font-lib/classes/Glyph/OutlineComponent.php
vendored
Executable file
@ -0,0 +1,31 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package php-font-lib
|
||||||
|
* @link https://github.com/PhenX/php-font-lib
|
||||||
|
* @author Fabien Ménager <fabien.menager@gmail.com>
|
||||||
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||||
|
* @version $Id: Font_Table_glyf.php 46 2012-04-02 20:22:38Z fabien.menager $
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FontLib\Glyph;
|
||||||
|
/**
|
||||||
|
* Glyph outline component
|
||||||
|
*
|
||||||
|
* @package php-font-lib
|
||||||
|
*/
|
||||||
|
class OutlineComponent {
|
||||||
|
public $flags;
|
||||||
|
public $glyphIndex;
|
||||||
|
public $a, $b, $c, $d, $e, $f;
|
||||||
|
public $point_compound;
|
||||||
|
public $point_component;
|
||||||
|
public $instructions;
|
||||||
|
|
||||||
|
function getMatrix() {
|
||||||
|
return array(
|
||||||
|
$this->a, $this->b,
|
||||||
|
$this->c, $this->d,
|
||||||
|
$this->e, $this->f,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
242
application/third_party/dompdf/lib/php-font-lib/classes/Glyph/OutlineComposite.php
vendored
Executable file
242
application/third_party/dompdf/lib/php-font-lib/classes/Glyph/OutlineComposite.php
vendored
Executable file
@ -0,0 +1,242 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package php-font-lib
|
||||||
|
* @link https://github.com/PhenX/php-font-lib
|
||||||
|
* @author Fabien Ménager <fabien.menager@gmail.com>
|
||||||
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||||
|
* @version $Id: Font_Table_glyf.php 46 2012-04-02 20:22:38Z fabien.menager $
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FontLib\Glyph;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Composite glyph outline
|
||||||
|
*
|
||||||
|
* @package php-font-lib
|
||||||
|
*/
|
||||||
|
class OutlineComposite extends Outline {
|
||||||
|
const ARG_1_AND_2_ARE_WORDS = 0x0001;
|
||||||
|
const ARGS_ARE_XY_VALUES = 0x0002;
|
||||||
|
const ROUND_XY_TO_GRID = 0x0004;
|
||||||
|
const WE_HAVE_A_SCALE = 0x0008;
|
||||||
|
const MORE_COMPONENTS = 0x0020;
|
||||||
|
const WE_HAVE_AN_X_AND_Y_SCALE = 0x0040;
|
||||||
|
const WE_HAVE_A_TWO_BY_TWO = 0x0080;
|
||||||
|
const WE_HAVE_INSTRUCTIONS = 0x0100;
|
||||||
|
const USE_MY_METRICS = 0x0200;
|
||||||
|
const OVERLAP_COMPOUND = 0x0400;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var OutlineComponent[]
|
||||||
|
*/
|
||||||
|
public $components = array();
|
||||||
|
|
||||||
|
function getGlyphIDs() {
|
||||||
|
if (empty($this->components)) {
|
||||||
|
$this->parseData();
|
||||||
|
}
|
||||||
|
|
||||||
|
$glyphIDs = array();
|
||||||
|
foreach ($this->components as $_component) {
|
||||||
|
$glyphIDs[] = $_component->glyphIndex;
|
||||||
|
|
||||||
|
$_glyph = $this->table->data[$_component->glyphIndex];
|
||||||
|
|
||||||
|
if ($_glyph !== $this) {
|
||||||
|
$glyphIDs = array_merge($glyphIDs, $_glyph->getGlyphIDs());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $glyphIDs;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*function parse() {
|
||||||
|
//$this->parseData();
|
||||||
|
}*/
|
||||||
|
|
||||||
|
function parseData() {
|
||||||
|
parent::parseData();
|
||||||
|
|
||||||
|
$font = $this->getFont();
|
||||||
|
|
||||||
|
do {
|
||||||
|
$flags = $font->readUInt16();
|
||||||
|
$glyphIndex = $font->readUInt16();
|
||||||
|
|
||||||
|
$a = 1.0;
|
||||||
|
$b = 0.0;
|
||||||
|
$c = 0.0;
|
||||||
|
$d = 1.0;
|
||||||
|
$e = 0.0;
|
||||||
|
$f = 0.0;
|
||||||
|
|
||||||
|
$point_compound = null;
|
||||||
|
$point_component = null;
|
||||||
|
|
||||||
|
$instructions = null;
|
||||||
|
|
||||||
|
if ($flags & self::ARG_1_AND_2_ARE_WORDS) {
|
||||||
|
if ($flags & self::ARGS_ARE_XY_VALUES) {
|
||||||
|
$e = $font->readInt16();
|
||||||
|
$f = $font->readInt16();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$point_compound = $font->readUInt16();
|
||||||
|
$point_component = $font->readUInt16();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if ($flags & self::ARGS_ARE_XY_VALUES) {
|
||||||
|
$e = $font->readInt8();
|
||||||
|
$f = $font->readInt8();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$point_compound = $font->readUInt8();
|
||||||
|
$point_component = $font->readUInt8();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($flags & self::WE_HAVE_A_SCALE) {
|
||||||
|
$a = $d = $font->readInt16();
|
||||||
|
}
|
||||||
|
elseif ($flags & self::WE_HAVE_AN_X_AND_Y_SCALE) {
|
||||||
|
$a = $font->readInt16();
|
||||||
|
$d = $font->readInt16();
|
||||||
|
}
|
||||||
|
elseif ($flags & self::WE_HAVE_A_TWO_BY_TWO) {
|
||||||
|
$a = $font->readInt16();
|
||||||
|
$b = $font->readInt16();
|
||||||
|
$c = $font->readInt16();
|
||||||
|
$d = $font->readInt16();
|
||||||
|
}
|
||||||
|
|
||||||
|
//if ($flags & self::WE_HAVE_INSTRUCTIONS) {
|
||||||
|
//
|
||||||
|
//}
|
||||||
|
|
||||||
|
$component = new OutlineComponent();
|
||||||
|
$component->flags = $flags;
|
||||||
|
$component->glyphIndex = $glyphIndex;
|
||||||
|
$component->a = $a;
|
||||||
|
$component->b = $b;
|
||||||
|
$component->c = $c;
|
||||||
|
$component->d = $d;
|
||||||
|
$component->e = $e;
|
||||||
|
$component->f = $f;
|
||||||
|
$component->point_compound = $point_compound;
|
||||||
|
$component->point_component = $point_component;
|
||||||
|
$component->instructions = $instructions;
|
||||||
|
|
||||||
|
$this->components[] = $component;
|
||||||
|
} while ($flags & self::MORE_COMPONENTS);
|
||||||
|
}
|
||||||
|
|
||||||
|
function encode() {
|
||||||
|
$font = $this->getFont();
|
||||||
|
|
||||||
|
$gids = $font->getSubset();
|
||||||
|
|
||||||
|
$size = $font->writeInt16(-1);
|
||||||
|
$size += $font->writeFWord($this->xMin);
|
||||||
|
$size += $font->writeFWord($this->yMin);
|
||||||
|
$size += $font->writeFWord($this->xMax);
|
||||||
|
$size += $font->writeFWord($this->yMax);
|
||||||
|
|
||||||
|
foreach ($this->components as $_i => $_component) {
|
||||||
|
$flags = 0;
|
||||||
|
if ($_component->point_component === null && $_component->point_compound === null) {
|
||||||
|
$flags |= self::ARGS_ARE_XY_VALUES;
|
||||||
|
|
||||||
|
if (abs($_component->e) > 0x7F || abs($_component->f) > 0x7F) {
|
||||||
|
$flags |= self::ARG_1_AND_2_ARE_WORDS;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
elseif ($_component->point_component > 0xFF || $_component->point_compound > 0xFF) {
|
||||||
|
$flags |= self::ARG_1_AND_2_ARE_WORDS;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($_component->b == 0 && $_component->c == 0) {
|
||||||
|
if ($_component->a == $_component->d) {
|
||||||
|
if ($_component->a != 1.0) {
|
||||||
|
$flags |= self::WE_HAVE_A_SCALE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$flags |= self::WE_HAVE_AN_X_AND_Y_SCALE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$flags |= self::WE_HAVE_A_TWO_BY_TWO;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($_i < count($this->components) - 1) {
|
||||||
|
$flags |= self::MORE_COMPONENTS;
|
||||||
|
}
|
||||||
|
|
||||||
|
$size += $font->writeUInt16($flags);
|
||||||
|
|
||||||
|
$new_gid = array_search($_component->glyphIndex, $gids);
|
||||||
|
$size += $font->writeUInt16($new_gid);
|
||||||
|
|
||||||
|
if ($flags & self::ARG_1_AND_2_ARE_WORDS) {
|
||||||
|
if ($flags & self::ARGS_ARE_XY_VALUES) {
|
||||||
|
$size += $font->writeInt16($_component->e);
|
||||||
|
$size += $font->writeInt16($_component->f);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$size += $font->writeUInt16($_component->point_compound);
|
||||||
|
$size += $font->writeUInt16($_component->point_component);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if ($flags & self::ARGS_ARE_XY_VALUES) {
|
||||||
|
$size += $font->writeInt8($_component->e);
|
||||||
|
$size += $font->writeInt8($_component->f);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$size += $font->writeUInt8($_component->point_compound);
|
||||||
|
$size += $font->writeUInt8($_component->point_component);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($flags & self::WE_HAVE_A_SCALE) {
|
||||||
|
$size += $font->writeInt16($_component->a);
|
||||||
|
}
|
||||||
|
elseif ($flags & self::WE_HAVE_AN_X_AND_Y_SCALE) {
|
||||||
|
$size += $font->writeInt16($_component->a);
|
||||||
|
$size += $font->writeInt16($_component->d);
|
||||||
|
}
|
||||||
|
elseif ($flags & self::WE_HAVE_A_TWO_BY_TWO) {
|
||||||
|
$size += $font->writeInt16($_component->a);
|
||||||
|
$size += $font->writeInt16($_component->b);
|
||||||
|
$size += $font->writeInt16($_component->c);
|
||||||
|
$size += $font->writeInt16($_component->d);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $size;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getSVGContours() {
|
||||||
|
$contours = array();
|
||||||
|
|
||||||
|
/** @var \FontLib\Table\Type\glyf $glyph_data */
|
||||||
|
$glyph_data = $this->getFont()->getTableObject("glyf");
|
||||||
|
|
||||||
|
/** @var Outline[] $glyphs */
|
||||||
|
$glyphs = $glyph_data->data;
|
||||||
|
|
||||||
|
foreach ($this->components as $component) {
|
||||||
|
$_glyph = $glyphs[$component->glyphIndex];
|
||||||
|
|
||||||
|
if ($_glyph !== $this) {
|
||||||
|
$contours[] = array(
|
||||||
|
"contours" => $_glyph->getSVGContours(),
|
||||||
|
"transform" => $component->getMatrix(),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $contours;
|
||||||
|
}
|
||||||
|
}
|
||||||
335
application/third_party/dompdf/lib/php-font-lib/classes/Glyph/OutlineSimple.php
vendored
Executable file
335
application/third_party/dompdf/lib/php-font-lib/classes/Glyph/OutlineSimple.php
vendored
Executable file
@ -0,0 +1,335 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package php-font-lib
|
||||||
|
* @link https://github.com/PhenX/php-font-lib
|
||||||
|
* @author Fabien Ménager <fabien.menager@gmail.com>
|
||||||
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||||
|
* @version $Id: Font_Table_glyf.php 46 2012-04-02 20:22:38Z fabien.menager $
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FontLib\Glyph;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* `glyf` font table.
|
||||||
|
*
|
||||||
|
* @package php-font-lib
|
||||||
|
*/
|
||||||
|
class OutlineSimple extends Outline {
|
||||||
|
const ON_CURVE = 0x01;
|
||||||
|
const X_SHORT_VECTOR = 0x02;
|
||||||
|
const Y_SHORT_VECTOR = 0x04;
|
||||||
|
const REPEAT = 0x08;
|
||||||
|
const THIS_X_IS_SAME = 0x10;
|
||||||
|
const THIS_Y_IS_SAME = 0x20;
|
||||||
|
|
||||||
|
public $instructions;
|
||||||
|
public $points;
|
||||||
|
|
||||||
|
function parseData() {
|
||||||
|
parent::parseData();
|
||||||
|
|
||||||
|
if (!$this->size) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$font = $this->getFont();
|
||||||
|
|
||||||
|
$noc = $this->numberOfContours;
|
||||||
|
|
||||||
|
if ($noc == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$endPtsOfContours = $font->r(array(self::uint16, $noc));
|
||||||
|
|
||||||
|
$instructionLength = $font->readUInt16();
|
||||||
|
$this->instructions = $font->r(array(self::uint8, $instructionLength));
|
||||||
|
|
||||||
|
$count = $endPtsOfContours[$noc - 1] + 1;
|
||||||
|
|
||||||
|
// Flags
|
||||||
|
$flags = array();
|
||||||
|
for ($index = 0; $index < $count; $index++) {
|
||||||
|
$flags[$index] = $font->readUInt8();
|
||||||
|
|
||||||
|
if ($flags[$index] & self::REPEAT) {
|
||||||
|
$repeats = $font->readUInt8();
|
||||||
|
|
||||||
|
for ($i = 1; $i <= $repeats; $i++) {
|
||||||
|
$flags[$index + $i] = $flags[$index];
|
||||||
|
}
|
||||||
|
|
||||||
|
$index += $repeats;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$points = array();
|
||||||
|
foreach ($flags as $i => $flag) {
|
||||||
|
$points[$i]["onCurve"] = $flag & self::ON_CURVE;
|
||||||
|
$points[$i]["endOfContour"] = in_array($i, $endPtsOfContours);
|
||||||
|
}
|
||||||
|
|
||||||
|
// X Coords
|
||||||
|
$x = 0;
|
||||||
|
for ($i = 0; $i < $count; $i++) {
|
||||||
|
$flag = $flags[$i];
|
||||||
|
|
||||||
|
if ($flag & self::THIS_X_IS_SAME) {
|
||||||
|
if ($flag & self::X_SHORT_VECTOR) {
|
||||||
|
$x += $font->readUInt8();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if ($flag & self::X_SHORT_VECTOR) {
|
||||||
|
$x -= $font->readUInt8();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$x += $font->readInt16();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$points[$i]["x"] = $x;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Y Coords
|
||||||
|
$y = 0;
|
||||||
|
for ($i = 0; $i < $count; $i++) {
|
||||||
|
$flag = $flags[$i];
|
||||||
|
|
||||||
|
if ($flag & self::THIS_Y_IS_SAME) {
|
||||||
|
if ($flag & self::Y_SHORT_VECTOR) {
|
||||||
|
$y += $font->readUInt8();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if ($flag & self::Y_SHORT_VECTOR) {
|
||||||
|
$y -= $font->readUInt8();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$y += $font->readInt16();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$points[$i]["y"] = $y;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->points = $points;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function splitSVGPath($path) {
|
||||||
|
preg_match_all('/([a-z])|(-?\d+(?:\.\d+)?)/i', $path, $matches, PREG_PATTERN_ORDER);
|
||||||
|
|
||||||
|
return $matches[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function makePoints($path) {
|
||||||
|
$path = $this->splitSVGPath($path);
|
||||||
|
$l = count($path);
|
||||||
|
$i = 0;
|
||||||
|
|
||||||
|
$points = array();
|
||||||
|
|
||||||
|
while ($i < $l) {
|
||||||
|
switch ($path[$i]) {
|
||||||
|
// moveTo
|
||||||
|
case "M":
|
||||||
|
$points[] = array(
|
||||||
|
"onCurve" => true,
|
||||||
|
"x" => $path[++$i],
|
||||||
|
"y" => $path[++$i],
|
||||||
|
"endOfContour" => false,
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
// lineTo
|
||||||
|
case "L":
|
||||||
|
$points[] = array(
|
||||||
|
"onCurve" => true,
|
||||||
|
"x" => $path[++$i],
|
||||||
|
"y" => $path[++$i],
|
||||||
|
"endOfContour" => false,
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
// quadraticCurveTo
|
||||||
|
case "Q":
|
||||||
|
$points[] = array(
|
||||||
|
"onCurve" => false,
|
||||||
|
"x" => $path[++$i],
|
||||||
|
"y" => $path[++$i],
|
||||||
|
"endOfContour" => false,
|
||||||
|
);
|
||||||
|
$points[] = array(
|
||||||
|
"onCurve" => true,
|
||||||
|
"x" => $path[++$i],
|
||||||
|
"y" => $path[++$i],
|
||||||
|
"endOfContour" => false,
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
// closePath
|
||||||
|
/** @noinspection PhpMissingBreakStatementInspection */
|
||||||
|
case "z":
|
||||||
|
$points[count($points) - 1]["endOfContour"] = true;
|
||||||
|
|
||||||
|
default:
|
||||||
|
$i++;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $points;
|
||||||
|
}
|
||||||
|
|
||||||
|
function encode() {
|
||||||
|
if (empty($this->points)) {
|
||||||
|
return parent::encode();
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->size = $this->encodePoints($this->points);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function encodePoints($points) {
|
||||||
|
$endPtsOfContours = array();
|
||||||
|
$flags = array();
|
||||||
|
$coords_x = array();
|
||||||
|
$coords_y = array();
|
||||||
|
|
||||||
|
$last_x = 0;
|
||||||
|
$last_y = 0;
|
||||||
|
$xMin = $yMin = 0xFFFF;
|
||||||
|
$xMax = $yMax = -0xFFFF;
|
||||||
|
foreach ($points as $i => $point) {
|
||||||
|
$flag = 0;
|
||||||
|
if ($point["onCurve"]) {
|
||||||
|
$flag |= self::ON_CURVE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($point["endOfContour"]) {
|
||||||
|
$endPtsOfContours[] = $i;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Simplified, we could do some optimizations
|
||||||
|
if ($point["x"] == $last_x) {
|
||||||
|
$flag |= self::THIS_X_IS_SAME;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$x = intval($point["x"]);
|
||||||
|
$xMin = min($x, $xMin);
|
||||||
|
$xMax = max($x, $xMax);
|
||||||
|
$coords_x[] = $x - $last_x; // int16
|
||||||
|
}
|
||||||
|
|
||||||
|
// Simplified, we could do some optimizations
|
||||||
|
if ($point["y"] == $last_y) {
|
||||||
|
$flag |= self::THIS_Y_IS_SAME;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$y = intval($point["y"]);
|
||||||
|
$yMin = min($y, $yMin);
|
||||||
|
$yMax = max($y, $yMax);
|
||||||
|
$coords_y[] = $y - $last_y; // int16
|
||||||
|
}
|
||||||
|
|
||||||
|
$flags[] = $flag;
|
||||||
|
$last_x = $point["x"];
|
||||||
|
$last_y = $point["y"];
|
||||||
|
}
|
||||||
|
|
||||||
|
$font = $this->getFont();
|
||||||
|
|
||||||
|
$l = 0;
|
||||||
|
$l += $font->writeInt16(count($endPtsOfContours)); // endPtsOfContours
|
||||||
|
$l += $font->writeFWord(isset($this->xMin) ? $this->xMin : $xMin); // xMin
|
||||||
|
$l += $font->writeFWord(isset($this->yMin) ? $this->yMin : $yMin); // yMin
|
||||||
|
$l += $font->writeFWord(isset($this->xMax) ? $this->xMax : $xMax); // xMax
|
||||||
|
$l += $font->writeFWord(isset($this->yMax) ? $this->yMax : $yMax); // yMax
|
||||||
|
|
||||||
|
// Simple glyf
|
||||||
|
$l += $font->w(array(self::uint16, count($endPtsOfContours)), $endPtsOfContours); // endPtsOfContours
|
||||||
|
$l += $font->writeUInt16(0); // instructionLength
|
||||||
|
$l += $font->w(array(self::uint8, count($flags)), $flags); // flags
|
||||||
|
$l += $font->w(array(self::int16, count($coords_x)), $coords_x); // xCoordinates
|
||||||
|
$l += $font->w(array(self::int16, count($coords_y)), $coords_y); // yCoordinates
|
||||||
|
return $l;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getSVGContours($points = null) {
|
||||||
|
$path = "";
|
||||||
|
|
||||||
|
if (!$points) {
|
||||||
|
if (empty($this->points)) {
|
||||||
|
$this->parseData();
|
||||||
|
}
|
||||||
|
|
||||||
|
$points = $this->points;
|
||||||
|
}
|
||||||
|
|
||||||
|
$length = count($points);
|
||||||
|
$firstIndex = 0;
|
||||||
|
$count = 0;
|
||||||
|
|
||||||
|
for ($i = 0; $i < $length; $i++) {
|
||||||
|
$count++;
|
||||||
|
|
||||||
|
if ($points[$i]["endOfContour"]) {
|
||||||
|
$path .= $this->getSVGPath($points, $firstIndex, $count);
|
||||||
|
$firstIndex = $i + 1;
|
||||||
|
$count = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $path;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function getSVGPath($points, $startIndex, $count) {
|
||||||
|
$offset = 0;
|
||||||
|
$path = "";
|
||||||
|
|
||||||
|
while ($offset < $count) {
|
||||||
|
$point = $points[$startIndex + $offset % $count];
|
||||||
|
$point_p1 = $points[$startIndex + ($offset + 1) % $count];
|
||||||
|
|
||||||
|
if ($offset == 0) {
|
||||||
|
$path .= "M{$point['x']},{$point['y']} ";
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($point["onCurve"]) {
|
||||||
|
if ($point_p1["onCurve"]) {
|
||||||
|
$path .= "L{$point_p1['x']},{$point_p1['y']} ";
|
||||||
|
$offset++;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$point_p2 = $points[$startIndex + ($offset + 2) % $count];
|
||||||
|
|
||||||
|
if ($point_p2["onCurve"]) {
|
||||||
|
$path .= "Q{$point_p1['x']},{$point_p1['y']},{$point_p2['x']},{$point_p2['y']} ";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$path .= "Q{$point_p1['x']},{$point_p1['y']}," . $this->midValue($point_p1['x'], $point_p2['x']) . "," . $this->midValue($point_p1['y'], $point_p2['y']) . " ";
|
||||||
|
}
|
||||||
|
|
||||||
|
$offset += 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if ($point_p1["onCurve"]) {
|
||||||
|
$path .= "Q{$point['x']},{$point['y']},{$point_p1['x']},{$point_p1['y']} ";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$path .= "Q{$point['x']},{$point['y']}," . $this->midValue($point['x'], $point_p1['x']) . "," . $this->midValue($point['y'], $point_p1['y']) . " ";
|
||||||
|
}
|
||||||
|
|
||||||
|
$offset++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$path .= "z ";
|
||||||
|
|
||||||
|
return $path;
|
||||||
|
}
|
||||||
|
|
||||||
|
function midValue($a, $b) {
|
||||||
|
return $a + ($b - $a) / 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
37
application/third_party/dompdf/lib/php-font-lib/classes/Header.php
vendored
Executable file
37
application/third_party/dompdf/lib/php-font-lib/classes/Header.php
vendored
Executable file
@ -0,0 +1,37 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package php-font-lib
|
||||||
|
* @link https://github.com/PhenX/php-font-lib
|
||||||
|
* @author Fabien Ménager <fabien.menager@gmail.com>
|
||||||
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||||
|
*/
|
||||||
|
namespace FontLib;
|
||||||
|
|
||||||
|
use FontLib\TrueType\File;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Font header container.
|
||||||
|
*
|
||||||
|
* @package php-font-lib
|
||||||
|
*/
|
||||||
|
abstract class Header extends BinaryStream {
|
||||||
|
/**
|
||||||
|
* @var File
|
||||||
|
*/
|
||||||
|
protected $font;
|
||||||
|
protected $def = array();
|
||||||
|
|
||||||
|
public $data;
|
||||||
|
|
||||||
|
public function __construct(File $font) {
|
||||||
|
$this->font = $font;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function encode() {
|
||||||
|
return $this->font->pack($this->def, $this->data);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function parse() {
|
||||||
|
$this->data = $this->font->unpack($this->def);
|
||||||
|
}
|
||||||
|
}
|
||||||
18
application/third_party/dompdf/lib/php-font-lib/classes/OpenType/File.php
vendored
Executable file
18
application/third_party/dompdf/lib/php-font-lib/classes/OpenType/File.php
vendored
Executable file
@ -0,0 +1,18 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package php-font-lib
|
||||||
|
* @link https://github.com/PhenX/php-font-lib
|
||||||
|
* @author Fabien Ménager <fabien.menager@gmail.com>
|
||||||
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FontLib\OpenType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Open Type font, the same as a TrueType one.
|
||||||
|
*
|
||||||
|
* @package php-font-lib
|
||||||
|
*/
|
||||||
|
class File extends \FontLib\TrueType\File {
|
||||||
|
//
|
||||||
|
}
|
||||||
18
application/third_party/dompdf/lib/php-font-lib/classes/OpenType/TableDirectoryEntry.php
vendored
Executable file
18
application/third_party/dompdf/lib/php-font-lib/classes/OpenType/TableDirectoryEntry.php
vendored
Executable file
@ -0,0 +1,18 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package php-font-lib
|
||||||
|
* @link https://github.com/PhenX/php-font-lib
|
||||||
|
* @author Fabien Ménager <fabien.menager@gmail.com>
|
||||||
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FontLib\OpenType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Open Type Table directory entry, the same as a TrueType one.
|
||||||
|
*
|
||||||
|
* @package php-font-lib
|
||||||
|
*/
|
||||||
|
class TableDirectoryEntry extends \FontLib\TrueType\TableDirectoryEntry {
|
||||||
|
|
||||||
|
}
|
||||||
129
application/third_party/dompdf/lib/php-font-lib/classes/Table/DirectoryEntry.php
vendored
Executable file
129
application/third_party/dompdf/lib/php-font-lib/classes/Table/DirectoryEntry.php
vendored
Executable file
@ -0,0 +1,129 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package php-font-lib
|
||||||
|
* @link https://github.com/PhenX/php-font-lib
|
||||||
|
* @author Fabien Ménager <fabien.menager@gmail.com>
|
||||||
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||||
|
*/
|
||||||
|
namespace FontLib\Table;
|
||||||
|
|
||||||
|
use FontLib\TrueType\File;
|
||||||
|
use FontLib\Font;
|
||||||
|
use FontLib\BinaryStream;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generic Font table directory entry.
|
||||||
|
*
|
||||||
|
* @package php-font-lib
|
||||||
|
*/
|
||||||
|
class DirectoryEntry extends BinaryStream {
|
||||||
|
/**
|
||||||
|
* @var File
|
||||||
|
*/
|
||||||
|
protected $font;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var Table
|
||||||
|
*/
|
||||||
|
protected $font_table;
|
||||||
|
|
||||||
|
public $entryLength = 4;
|
||||||
|
|
||||||
|
public $tag;
|
||||||
|
public $checksum;
|
||||||
|
public $offset;
|
||||||
|
public $length;
|
||||||
|
|
||||||
|
protected $origF;
|
||||||
|
|
||||||
|
static function computeChecksum($data) {
|
||||||
|
$len = strlen($data);
|
||||||
|
$mod = $len % 4;
|
||||||
|
|
||||||
|
if ($mod) {
|
||||||
|
$data = str_pad($data, $len + (4 - $mod), "\0");
|
||||||
|
}
|
||||||
|
|
||||||
|
$len = strlen($data);
|
||||||
|
|
||||||
|
$hi = 0x0000;
|
||||||
|
$lo = 0x0000;
|
||||||
|
|
||||||
|
for ($i = 0; $i < $len; $i += 4) {
|
||||||
|
$hi += (ord($data[$i]) << 8) + ord($data[$i + 1]);
|
||||||
|
$lo += (ord($data[$i + 2]) << 8) + ord($data[$i + 3]);
|
||||||
|
$hi += $lo >> 16;
|
||||||
|
$lo = $lo & 0xFFFF;
|
||||||
|
$hi = $hi & 0xFFFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ($hi << 8) + $lo;
|
||||||
|
}
|
||||||
|
|
||||||
|
function __construct(File $font) {
|
||||||
|
$this->font = $font;
|
||||||
|
$this->f = $font->f;
|
||||||
|
}
|
||||||
|
|
||||||
|
function parse() {
|
||||||
|
$this->tag = $this->font->read(4);
|
||||||
|
}
|
||||||
|
|
||||||
|
function open($filename, $mode = self::modeRead) {
|
||||||
|
// void
|
||||||
|
}
|
||||||
|
|
||||||
|
function setTable(Table $font_table) {
|
||||||
|
$this->font_table = $font_table;
|
||||||
|
}
|
||||||
|
|
||||||
|
function encode($entry_offset) {
|
||||||
|
Font::d("\n==== $this->tag ====");
|
||||||
|
//Font::d("Entry offset = $entry_offset");
|
||||||
|
|
||||||
|
$data = $this->font_table;
|
||||||
|
$font = $this->font;
|
||||||
|
|
||||||
|
$table_offset = $font->pos();
|
||||||
|
$this->offset = $table_offset;
|
||||||
|
$table_length = $data->encode();
|
||||||
|
|
||||||
|
$font->seek($table_offset);
|
||||||
|
$table_data = $font->read($table_length);
|
||||||
|
|
||||||
|
$font->seek($entry_offset);
|
||||||
|
|
||||||
|
$font->write($this->tag, 4);
|
||||||
|
$font->writeUInt32(self::computeChecksum($table_data));
|
||||||
|
$font->writeUInt32($table_offset);
|
||||||
|
$font->writeUInt32($table_length);
|
||||||
|
|
||||||
|
Font::d("Bytes written = $table_length");
|
||||||
|
|
||||||
|
$font->seek($table_offset + $table_length);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return File
|
||||||
|
*/
|
||||||
|
function getFont() {
|
||||||
|
return $this->font;
|
||||||
|
}
|
||||||
|
|
||||||
|
function startRead() {
|
||||||
|
$this->font->seek($this->offset);
|
||||||
|
}
|
||||||
|
|
||||||
|
function endRead() {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
function startWrite() {
|
||||||
|
$this->font->seek($this->offset);
|
||||||
|
}
|
||||||
|
|
||||||
|
function endWrite() {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
93
application/third_party/dompdf/lib/php-font-lib/classes/Table/Table.php
vendored
Executable file
93
application/third_party/dompdf/lib/php-font-lib/classes/Table/Table.php
vendored
Executable file
@ -0,0 +1,93 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package php-font-lib
|
||||||
|
* @link https://github.com/PhenX/php-font-lib
|
||||||
|
* @author Fabien Ménager <fabien.menager@gmail.com>
|
||||||
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||||
|
*/
|
||||||
|
namespace FontLib\Table;
|
||||||
|
|
||||||
|
use FontLib\TrueType\File;
|
||||||
|
use FontLib\Font;
|
||||||
|
use FontLib\BinaryStream;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generic font table.
|
||||||
|
*
|
||||||
|
* @package php-font-lib
|
||||||
|
*/
|
||||||
|
class Table extends BinaryStream {
|
||||||
|
/**
|
||||||
|
* @var DirectoryEntry
|
||||||
|
*/
|
||||||
|
protected $entry;
|
||||||
|
protected $def = array();
|
||||||
|
|
||||||
|
public $data;
|
||||||
|
|
||||||
|
final public function __construct(DirectoryEntry $entry) {
|
||||||
|
$this->entry = $entry;
|
||||||
|
$entry->setTable($this);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return File
|
||||||
|
*/
|
||||||
|
public function getFont() {
|
||||||
|
return $this->entry->getFont();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function _encode() {
|
||||||
|
if (empty($this->data)) {
|
||||||
|
Font::d(" >> Table is empty");
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->getFont()->pack($this->def, $this->data);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function _parse() {
|
||||||
|
$this->data = $this->getFont()->unpack($this->def);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function _parseRaw() {
|
||||||
|
$this->data = $this->getFont()->read($this->entry->length);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function _encodeRaw() {
|
||||||
|
return $this->getFont()->write($this->data, $this->entry->length);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function toHTML() {
|
||||||
|
return "<pre>" . var_export($this->data, true) . "</pre>";
|
||||||
|
}
|
||||||
|
|
||||||
|
final public function encode() {
|
||||||
|
$this->entry->startWrite();
|
||||||
|
|
||||||
|
if (false && empty($this->def)) {
|
||||||
|
$length = $this->_encodeRaw();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$length = $this->_encode();
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->entry->endWrite();
|
||||||
|
|
||||||
|
return $length;
|
||||||
|
}
|
||||||
|
|
||||||
|
final public function parse() {
|
||||||
|
$this->entry->startRead();
|
||||||
|
|
||||||
|
if (false && empty($this->def)) {
|
||||||
|
$this->_parseRaw();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$this->_parse();
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->entry->endRead();
|
||||||
|
}
|
||||||
|
}
|
||||||
298
application/third_party/dompdf/lib/php-font-lib/classes/Table/Type/cmap.php
vendored
Executable file
298
application/third_party/dompdf/lib/php-font-lib/classes/Table/Type/cmap.php
vendored
Executable file
@ -0,0 +1,298 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package php-font-lib
|
||||||
|
* @link https://github.com/PhenX/php-font-lib
|
||||||
|
* @author Fabien Ménager <fabien.menager@gmail.com>
|
||||||
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FontLib\Table\Type;
|
||||||
|
use FontLib\Table\Table;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* `cmap` font table.
|
||||||
|
*
|
||||||
|
* @package php-font-lib
|
||||||
|
*/
|
||||||
|
class cmap extends Table {
|
||||||
|
private static $header_format = array(
|
||||||
|
"version" => self::uint16,
|
||||||
|
"numberSubtables" => self::uint16,
|
||||||
|
);
|
||||||
|
|
||||||
|
private static $subtable_header_format = array(
|
||||||
|
"platformID" => self::uint16,
|
||||||
|
"platformSpecificID" => self::uint16,
|
||||||
|
"offset" => self::uint32,
|
||||||
|
);
|
||||||
|
|
||||||
|
private static $subtable_v4_format = array(
|
||||||
|
"length" => self::uint16,
|
||||||
|
"language" => self::uint16,
|
||||||
|
"segCountX2" => self::uint16,
|
||||||
|
"searchRange" => self::uint16,
|
||||||
|
"entrySelector" => self::uint16,
|
||||||
|
"rangeShift" => self::uint16,
|
||||||
|
);
|
||||||
|
|
||||||
|
private static $subtable_v12_format = array(
|
||||||
|
"length" => self::uint32,
|
||||||
|
"language" => self::uint32,
|
||||||
|
"ngroups" => self::uint32
|
||||||
|
);
|
||||||
|
|
||||||
|
protected function _parse() {
|
||||||
|
$font = $this->getFont();
|
||||||
|
|
||||||
|
$cmap_offset = $font->pos();
|
||||||
|
|
||||||
|
$data = $font->unpack(self::$header_format);
|
||||||
|
|
||||||
|
$subtables = array();
|
||||||
|
for ($i = 0; $i < $data["numberSubtables"]; $i++) {
|
||||||
|
$subtables[] = $font->unpack(self::$subtable_header_format);
|
||||||
|
}
|
||||||
|
|
||||||
|
$data["subtables"] = $subtables;
|
||||||
|
|
||||||
|
foreach ($data["subtables"] as $i => &$subtable) {
|
||||||
|
$font->seek($cmap_offset + $subtable["offset"]);
|
||||||
|
|
||||||
|
$subtable["format"] = $font->readUInt16();
|
||||||
|
|
||||||
|
// @todo Only CMAP version 4 and 12
|
||||||
|
if (($subtable["format"] != 4) && ($subtable["format"] != 12)) {
|
||||||
|
unset($data["subtables"][$i]);
|
||||||
|
$data["numberSubtables"]--;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($subtable["format"] == 12) {
|
||||||
|
|
||||||
|
$font->readUInt16();
|
||||||
|
|
||||||
|
$subtable += $font->unpack(self::$subtable_v12_format);
|
||||||
|
|
||||||
|
$glyphIndexArray = array();
|
||||||
|
$endCodes = array();
|
||||||
|
$startCodes = array();
|
||||||
|
|
||||||
|
for ($p = 0; $p < $subtable['ngroups']; $p++) {
|
||||||
|
|
||||||
|
$startCode = $startCodes[] = $font->readUInt32();
|
||||||
|
$endCode = $endCodes[] = $font->readUInt32();
|
||||||
|
$startGlyphCode = $font->readUInt32();
|
||||||
|
|
||||||
|
for ($c = $startCode; $c <= $endCode; $c++) {
|
||||||
|
$glyphIndexArray[$c] = $startGlyphCode;
|
||||||
|
$startGlyphCode++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$subtable += array(
|
||||||
|
"startCode" => $startCodes,
|
||||||
|
"endCode" => $endCodes,
|
||||||
|
"glyphIndexArray" => $glyphIndexArray,
|
||||||
|
);
|
||||||
|
|
||||||
|
}
|
||||||
|
else if ($subtable["format"] == 4) {
|
||||||
|
|
||||||
|
$subtable += $font->unpack(self::$subtable_v4_format);
|
||||||
|
|
||||||
|
$segCount = $subtable["segCountX2"] / 2;
|
||||||
|
$subtable["segCount"] = $segCount;
|
||||||
|
|
||||||
|
$endCode = $font->readUInt16Many($segCount);
|
||||||
|
|
||||||
|
$font->readUInt16(); // reservedPad
|
||||||
|
|
||||||
|
$startCode = $font->readUInt16Many($segCount);
|
||||||
|
$idDelta = $font->readInt16Many($segCount);
|
||||||
|
|
||||||
|
$ro_start = $font->pos();
|
||||||
|
$idRangeOffset = $font->readUInt16Many($segCount);
|
||||||
|
|
||||||
|
$glyphIndexArray = array();
|
||||||
|
for ($i = 0; $i < $segCount; $i++) {
|
||||||
|
$c1 = $startCode[$i];
|
||||||
|
$c2 = $endCode[$i];
|
||||||
|
$d = $idDelta[$i];
|
||||||
|
$ro = $idRangeOffset[$i];
|
||||||
|
|
||||||
|
if ($ro > 0) {
|
||||||
|
$font->seek($subtable["offset"] + 2 * $i + $ro);
|
||||||
|
}
|
||||||
|
|
||||||
|
for ($c = $c1; $c <= $c2; $c++) {
|
||||||
|
if ($ro == 0) {
|
||||||
|
$gid = ($c + $d) & 0xFFFF;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$offset = ($c - $c1) * 2 + $ro;
|
||||||
|
$offset = $ro_start + 2 * $i + $offset;
|
||||||
|
|
||||||
|
$font->seek($offset);
|
||||||
|
$gid = $font->readUInt16();
|
||||||
|
|
||||||
|
if ($gid != 0) {
|
||||||
|
$gid = ($gid + $d) & 0xFFFF;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($gid > 0) {
|
||||||
|
$glyphIndexArray[$c] = $gid;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$subtable += array(
|
||||||
|
"endCode" => $endCode,
|
||||||
|
"startCode" => $startCode,
|
||||||
|
"idDelta" => $idDelta,
|
||||||
|
"idRangeOffset" => $idRangeOffset,
|
||||||
|
"glyphIndexArray" => $glyphIndexArray,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->data = $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
function _encode() {
|
||||||
|
$font = $this->getFont();
|
||||||
|
|
||||||
|
$subset = $font->getSubset();
|
||||||
|
$glyphIndexArray = $font->getUnicodeCharMap();
|
||||||
|
|
||||||
|
$newGlyphIndexArray = array();
|
||||||
|
foreach ($glyphIndexArray as $code => $gid) {
|
||||||
|
$new_gid = array_search($gid, $subset);
|
||||||
|
if ($new_gid !== false) {
|
||||||
|
$newGlyphIndexArray[$code] = $new_gid;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ksort($newGlyphIndexArray); // Sort by char code
|
||||||
|
|
||||||
|
$segments = array();
|
||||||
|
|
||||||
|
$i = -1;
|
||||||
|
$prevCode = 0xFFFF;
|
||||||
|
$prevGid = 0xFFFF;
|
||||||
|
|
||||||
|
foreach ($newGlyphIndexArray as $code => $gid) {
|
||||||
|
if (
|
||||||
|
$prevCode + 1 != $code ||
|
||||||
|
$prevGid + 1 != $gid
|
||||||
|
) {
|
||||||
|
$i++;
|
||||||
|
$segments[$i] = array();
|
||||||
|
}
|
||||||
|
|
||||||
|
$segments[$i][] = array($code, $gid);
|
||||||
|
|
||||||
|
$prevCode = $code;
|
||||||
|
$prevGid = $gid;
|
||||||
|
}
|
||||||
|
|
||||||
|
$segments[][] = array(0xFFFF, 0xFFFF);
|
||||||
|
|
||||||
|
$startCode = array();
|
||||||
|
$endCode = array();
|
||||||
|
$idDelta = array();
|
||||||
|
|
||||||
|
foreach ($segments as $codes) {
|
||||||
|
$start = reset($codes);
|
||||||
|
$end = end($codes);
|
||||||
|
|
||||||
|
$startCode[] = $start[0];
|
||||||
|
$endCode[] = $end[0];
|
||||||
|
$idDelta[] = $start[1] - $start[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
$segCount = count($startCode);
|
||||||
|
$idRangeOffset = array_fill(0, $segCount, 0);
|
||||||
|
|
||||||
|
$searchRange = 1;
|
||||||
|
$entrySelector = 0;
|
||||||
|
while ($searchRange * 2 <= $segCount) {
|
||||||
|
$searchRange *= 2;
|
||||||
|
$entrySelector++;
|
||||||
|
}
|
||||||
|
$searchRange *= 2;
|
||||||
|
$rangeShift = $segCount * 2 - $searchRange;
|
||||||
|
|
||||||
|
$subtables = array(
|
||||||
|
array(
|
||||||
|
// header
|
||||||
|
"platformID" => 3, // Unicode
|
||||||
|
"platformSpecificID" => 1,
|
||||||
|
"offset" => null,
|
||||||
|
|
||||||
|
// subtable
|
||||||
|
"format" => 4,
|
||||||
|
"length" => null,
|
||||||
|
"language" => 0,
|
||||||
|
"segCount" => $segCount,
|
||||||
|
"segCountX2" => $segCount * 2,
|
||||||
|
"searchRange" => $searchRange,
|
||||||
|
"entrySelector" => $entrySelector,
|
||||||
|
"rangeShift" => $rangeShift,
|
||||||
|
"startCode" => $startCode,
|
||||||
|
"endCode" => $endCode,
|
||||||
|
"idDelta" => $idDelta,
|
||||||
|
"idRangeOffset" => $idRangeOffset,
|
||||||
|
"glyphIndexArray" => $newGlyphIndexArray,
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
$data = array(
|
||||||
|
"version" => 0,
|
||||||
|
"numberSubtables" => count($subtables),
|
||||||
|
"subtables" => $subtables,
|
||||||
|
);
|
||||||
|
|
||||||
|
$length = $font->pack(self::$header_format, $data);
|
||||||
|
|
||||||
|
$subtable_headers_size = $data["numberSubtables"] * 8; // size of self::$subtable_header_format
|
||||||
|
$subtable_headers_offset = $font->pos();
|
||||||
|
|
||||||
|
$length += $font->write(str_repeat("\0", $subtable_headers_size), $subtable_headers_size);
|
||||||
|
|
||||||
|
// write subtables data
|
||||||
|
foreach ($data["subtables"] as $i => $subtable) {
|
||||||
|
$length_before = $length;
|
||||||
|
$data["subtables"][$i]["offset"] = $length;
|
||||||
|
|
||||||
|
$length += $font->writeUInt16($subtable["format"]);
|
||||||
|
|
||||||
|
$before_subheader = $font->pos();
|
||||||
|
$length += $font->pack(self::$subtable_v4_format, $subtable);
|
||||||
|
|
||||||
|
$segCount = $subtable["segCount"];
|
||||||
|
$length += $font->w(array(self::uint16, $segCount), $subtable["endCode"]);
|
||||||
|
$length += $font->writeUInt16(0); // reservedPad
|
||||||
|
$length += $font->w(array(self::uint16, $segCount), $subtable["startCode"]);
|
||||||
|
$length += $font->w(array(self::int16, $segCount), $subtable["idDelta"]);
|
||||||
|
$length += $font->w(array(self::uint16, $segCount), $subtable["idRangeOffset"]);
|
||||||
|
$length += $font->w(array(self::uint16, $segCount), array_values($subtable["glyphIndexArray"]));
|
||||||
|
|
||||||
|
$after_subtable = $font->pos();
|
||||||
|
|
||||||
|
$subtable["length"] = $length - $length_before;
|
||||||
|
$font->seek($before_subheader);
|
||||||
|
$length += $font->pack(self::$subtable_v4_format, $subtable);
|
||||||
|
|
||||||
|
$font->seek($after_subtable);
|
||||||
|
}
|
||||||
|
|
||||||
|
// write subtables headers
|
||||||
|
$font->seek($subtable_headers_offset);
|
||||||
|
foreach ($data["subtables"] as $subtable) {
|
||||||
|
$font->pack(self::$subtable_header_format, $subtable);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $length;
|
||||||
|
}
|
||||||
|
}
|
||||||
154
application/third_party/dompdf/lib/php-font-lib/classes/Table/Type/glyf.php
vendored
Executable file
154
application/third_party/dompdf/lib/php-font-lib/classes/Table/Type/glyf.php
vendored
Executable file
@ -0,0 +1,154 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package php-font-lib
|
||||||
|
* @link https://github.com/PhenX/php-font-lib
|
||||||
|
* @author Fabien Ménager <fabien.menager@gmail.com>
|
||||||
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FontLib\Table\Type;
|
||||||
|
|
||||||
|
use FontLib\Table\Table;
|
||||||
|
use FontLib\Glyph\Outline;
|
||||||
|
use FontLib\Glyph\OutlineSimple;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* `glyf` font table.
|
||||||
|
*
|
||||||
|
* @package php-font-lib
|
||||||
|
* @property Outline[] $data
|
||||||
|
*/
|
||||||
|
class glyf extends Table {
|
||||||
|
protected function _parse() {
|
||||||
|
$font = $this->getFont();
|
||||||
|
$offset = $font->pos();
|
||||||
|
|
||||||
|
$loca = $font->getData("loca");
|
||||||
|
$real_loca = array_slice($loca, 0, -1); // Not the last dummy loca entry
|
||||||
|
|
||||||
|
$data = array();
|
||||||
|
|
||||||
|
foreach ($real_loca as $gid => $location) {
|
||||||
|
$_offset = $offset + $loca[$gid];
|
||||||
|
$_size = $loca[$gid + 1] - $loca[$gid];
|
||||||
|
$data[$gid] = Outline::init($this, $_offset, $_size, $font);
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->data = $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getGlyphIDs($gids = array()) {
|
||||||
|
$glyphIDs = array();
|
||||||
|
|
||||||
|
foreach ($gids as $_gid) {
|
||||||
|
$_glyph = $this->data[$_gid];
|
||||||
|
$glyphIDs = array_merge($glyphIDs, $_glyph->getGlyphIDs());
|
||||||
|
}
|
||||||
|
|
||||||
|
return array_unique(array_merge($gids, $glyphIDs));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function toHTML() {
|
||||||
|
$max = 160;
|
||||||
|
$font = $this->getFont();
|
||||||
|
|
||||||
|
$head = $font->getData("head");
|
||||||
|
$head_json = json_encode($head);
|
||||||
|
|
||||||
|
$os2 = $font->getData("OS/2");
|
||||||
|
$os2_json = json_encode($os2);
|
||||||
|
|
||||||
|
$hmtx = $font->getData("hmtx");
|
||||||
|
$hmtx_json = json_encode($hmtx);
|
||||||
|
|
||||||
|
$names = $font->getData("post", "names");
|
||||||
|
$glyphIndexArray = array_flip($font->getUnicodeCharMap());
|
||||||
|
|
||||||
|
$width = (abs($head["xMin"]) + $head["xMax"]);
|
||||||
|
$height = (abs($head["yMin"]) + $head["yMax"]);
|
||||||
|
|
||||||
|
$ratio = 1;
|
||||||
|
if ($width > $max || $height > $max) {
|
||||||
|
$ratio = max($width, $height) / $max;
|
||||||
|
$width = round($width / $ratio);
|
||||||
|
$height = round($height / $ratio);
|
||||||
|
}
|
||||||
|
|
||||||
|
$n = 500;
|
||||||
|
|
||||||
|
$s = "<h3>" . "Only the first $n simple glyphs are shown (" . count($this->data) . " total)
|
||||||
|
<div class='glyph-view simple'>Simple glyph</div>
|
||||||
|
<div class='glyph-view composite'>Composite glyph</div>
|
||||||
|
Zoom: <input type='range' value='100' max='400' onchange='Glyph.resize(this.value)' />
|
||||||
|
</h3>
|
||||||
|
<script>
|
||||||
|
Glyph.ratio = $ratio;
|
||||||
|
Glyph.head = $head_json;
|
||||||
|
Glyph.os2 = $os2_json;
|
||||||
|
Glyph.hmtx = $hmtx_json;
|
||||||
|
Glyph.width = $width;
|
||||||
|
Glyph.height = $height;
|
||||||
|
</script>";
|
||||||
|
|
||||||
|
foreach ($this->data as $g => $glyph) {
|
||||||
|
if ($n-- <= 0) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
$glyph->parseData();
|
||||||
|
|
||||||
|
$shape = array(
|
||||||
|
"SVGContours" => $glyph->getSVGContours(),
|
||||||
|
"xMin" => $glyph->xMin,
|
||||||
|
"yMin" => $glyph->yMin,
|
||||||
|
"xMax" => $glyph->xMax,
|
||||||
|
"yMax" => $glyph->yMax,
|
||||||
|
);
|
||||||
|
$shape_json = json_encode($shape);
|
||||||
|
|
||||||
|
$type = ($glyph instanceof OutlineSimple ? "simple" : "composite");
|
||||||
|
$char = isset($glyphIndexArray[$g]) ? $glyphIndexArray[$g] : 0;
|
||||||
|
$name = isset($names[$g]) ? $names[$g] : sprintf("uni%04x", $char);
|
||||||
|
$char = $char ? "&#{$glyphIndexArray[$g]};" : "";
|
||||||
|
|
||||||
|
$s .= "<div class='glyph-view $type' id='glyph-$g'>
|
||||||
|
<span class='glyph-id'>$g</span>
|
||||||
|
<span class='char'>$char</span>
|
||||||
|
<span class='char-name'>$name</span>
|
||||||
|
";
|
||||||
|
|
||||||
|
if ($type == "composite") {
|
||||||
|
foreach ($glyph->getGlyphIDs() as $_id) {
|
||||||
|
$s .= "<a href='#glyph-$_id' class='glyph-component-id'>$_id</a> ";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$s .= "<br />
|
||||||
|
<canvas width='$width' height='$height' id='glyph-canvas-$g'></canvas>
|
||||||
|
</div>
|
||||||
|
<script>Glyph.glyphs.push([$g,$shape_json]);</script>";
|
||||||
|
}
|
||||||
|
|
||||||
|
return $s;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
protected function _encode() {
|
||||||
|
$font = $this->getFont();
|
||||||
|
$subset = $font->getSubset();
|
||||||
|
$data = $this->data;
|
||||||
|
|
||||||
|
$loca = array();
|
||||||
|
|
||||||
|
$length = 0;
|
||||||
|
foreach ($subset as $gid) {
|
||||||
|
$loca[] = $length;
|
||||||
|
$length += $data[$gid]->encode();
|
||||||
|
}
|
||||||
|
|
||||||
|
$loca[] = $length; // dummy loca
|
||||||
|
$font->getTableObject("loca")->data = $loca;
|
||||||
|
|
||||||
|
return $length;
|
||||||
|
}
|
||||||
|
}
|
||||||
46
application/third_party/dompdf/lib/php-font-lib/classes/Table/Type/head.php
vendored
Executable file
46
application/third_party/dompdf/lib/php-font-lib/classes/Table/Type/head.php
vendored
Executable file
@ -0,0 +1,46 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package php-font-lib
|
||||||
|
* @link https://github.com/PhenX/php-font-lib
|
||||||
|
* @author Fabien Ménager <fabien.menager@gmail.com>
|
||||||
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FontLib\Table\Type;
|
||||||
|
use FontLib\Table\Table;
|
||||||
|
use Exception;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* `head` font table.
|
||||||
|
*
|
||||||
|
* @package php-font-lib
|
||||||
|
*/
|
||||||
|
class head extends Table {
|
||||||
|
protected $def = array(
|
||||||
|
"tableVersion" => self::Fixed,
|
||||||
|
"fontRevision" => self::Fixed,
|
||||||
|
"checkSumAdjustment" => self::uint32,
|
||||||
|
"magicNumber" => self::uint32,
|
||||||
|
"flags" => self::uint16,
|
||||||
|
"unitsPerEm" => self::uint16,
|
||||||
|
"created" => self::longDateTime,
|
||||||
|
"modified" => self::longDateTime,
|
||||||
|
"xMin" => self::FWord,
|
||||||
|
"yMin" => self::FWord,
|
||||||
|
"xMax" => self::FWord,
|
||||||
|
"yMax" => self::FWord,
|
||||||
|
"macStyle" => self::uint16,
|
||||||
|
"lowestRecPPEM" => self::uint16,
|
||||||
|
"fontDirectionHint" => self::int16,
|
||||||
|
"indexToLocFormat" => self::int16,
|
||||||
|
"glyphDataFormat" => self::int16,
|
||||||
|
);
|
||||||
|
|
||||||
|
protected function _parse() {
|
||||||
|
parent::_parse();
|
||||||
|
|
||||||
|
if ($this->data["magicNumber"] != 0x5F0F3CF5) {
|
||||||
|
throw new Exception("Incorrect magic number (" . dechex($this->data["magicNumber"]) . ")");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
44
application/third_party/dompdf/lib/php-font-lib/classes/Table/Type/hhea.php
vendored
Executable file
44
application/third_party/dompdf/lib/php-font-lib/classes/Table/Type/hhea.php
vendored
Executable file
@ -0,0 +1,44 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package php-font-lib
|
||||||
|
* @link https://github.com/PhenX/php-font-lib
|
||||||
|
* @author Fabien Ménager <fabien.menager@gmail.com>
|
||||||
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FontLib\Table\Type;
|
||||||
|
use FontLib\Table\Table;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* `hhea` font table.
|
||||||
|
*
|
||||||
|
* @package php-font-lib
|
||||||
|
*/
|
||||||
|
class hhea extends Table {
|
||||||
|
protected $def = array(
|
||||||
|
"version" => self::Fixed,
|
||||||
|
"ascent" => self::FWord,
|
||||||
|
"descent" => self::FWord,
|
||||||
|
"lineGap" => self::FWord,
|
||||||
|
"advanceWidthMax" => self::uFWord,
|
||||||
|
"minLeftSideBearing" => self::FWord,
|
||||||
|
"minRightSideBearing" => self::FWord,
|
||||||
|
"xMaxExtent" => self::FWord,
|
||||||
|
"caretSlopeRise" => self::int16,
|
||||||
|
"caretSlopeRun" => self::int16,
|
||||||
|
"caretOffset" => self::FWord,
|
||||||
|
self::int16,
|
||||||
|
self::int16,
|
||||||
|
self::int16,
|
||||||
|
self::int16,
|
||||||
|
"metricDataFormat" => self::int16,
|
||||||
|
"numOfLongHorMetrics" => self::uint16,
|
||||||
|
);
|
||||||
|
|
||||||
|
function _encode() {
|
||||||
|
$font = $this->getFont();
|
||||||
|
$this->data["numOfLongHorMetrics"] = count($font->getSubset());
|
||||||
|
|
||||||
|
return parent::_encode();
|
||||||
|
}
|
||||||
|
}
|
||||||
59
application/third_party/dompdf/lib/php-font-lib/classes/Table/Type/hmtx.php
vendored
Executable file
59
application/third_party/dompdf/lib/php-font-lib/classes/Table/Type/hmtx.php
vendored
Executable file
@ -0,0 +1,59 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package php-font-lib
|
||||||
|
* @link https://github.com/PhenX/php-font-lib
|
||||||
|
* @author Fabien Ménager <fabien.menager@gmail.com>
|
||||||
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FontLib\Table\Type;
|
||||||
|
use FontLib\Table\Table;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* `hmtx` font table.
|
||||||
|
*
|
||||||
|
* @package php-font-lib
|
||||||
|
*/
|
||||||
|
class hmtx extends Table {
|
||||||
|
protected function _parse() {
|
||||||
|
$font = $this->getFont();
|
||||||
|
$offset = $font->pos();
|
||||||
|
|
||||||
|
$numOfLongHorMetrics = $font->getData("hhea", "numOfLongHorMetrics");
|
||||||
|
$numGlyphs = $font->getData("maxp", "numGlyphs");
|
||||||
|
|
||||||
|
$font->seek($offset);
|
||||||
|
|
||||||
|
$data = array();
|
||||||
|
$metrics = $font->readUInt16Many($numOfLongHorMetrics * 2);
|
||||||
|
for ($gid = 0, $mid = 0; $gid < $numOfLongHorMetrics; $gid++) {
|
||||||
|
$advanceWidth = isset($metrics[$mid]) ? $metrics[$mid] : 0;
|
||||||
|
$mid += 1;
|
||||||
|
$leftSideBearing = isset($metrics[$mid]) ? $metrics[$mid] : 0;
|
||||||
|
$mid += 1;
|
||||||
|
$data[$gid] = array($advanceWidth, $leftSideBearing);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($numOfLongHorMetrics < $numGlyphs) {
|
||||||
|
$lastWidth = end($data);
|
||||||
|
$data = array_pad($data, $numGlyphs, $lastWidth);
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->data = $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function _encode() {
|
||||||
|
$font = $this->getFont();
|
||||||
|
$subset = $font->getSubset();
|
||||||
|
$data = $this->data;
|
||||||
|
|
||||||
|
$length = 0;
|
||||||
|
|
||||||
|
foreach ($subset as $gid) {
|
||||||
|
$length += $font->writeUInt16($data[$gid][0]);
|
||||||
|
$length += $font->writeUInt16($data[$gid][1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $length;
|
||||||
|
}
|
||||||
|
}
|
||||||
80
application/third_party/dompdf/lib/php-font-lib/classes/Table/Type/kern.php
vendored
Executable file
80
application/third_party/dompdf/lib/php-font-lib/classes/Table/Type/kern.php
vendored
Executable file
@ -0,0 +1,80 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package php-font-lib
|
||||||
|
* @link https://github.com/PhenX/php-font-lib
|
||||||
|
* @author Fabien Ménager <fabien.menager@gmail.com>
|
||||||
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FontLib\Table\Type;
|
||||||
|
use FontLib\Table\Table;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* `kern` font table.
|
||||||
|
*
|
||||||
|
* @package php-font-lib
|
||||||
|
*/
|
||||||
|
class kern extends Table {
|
||||||
|
protected function _parse() {
|
||||||
|
$font = $this->getFont();
|
||||||
|
|
||||||
|
$data = $font->unpack(array(
|
||||||
|
"version" => self::uint16,
|
||||||
|
"nTables" => self::uint16,
|
||||||
|
|
||||||
|
// only the first subtable will be parsed
|
||||||
|
"subtableVersion" => self::uint16,
|
||||||
|
"length" => self::uint16,
|
||||||
|
"coverage" => self::uint16,
|
||||||
|
));
|
||||||
|
|
||||||
|
$data["format"] = ($data["coverage"] >> 8);
|
||||||
|
|
||||||
|
$subtable = array();
|
||||||
|
|
||||||
|
switch ($data["format"]) {
|
||||||
|
case 0:
|
||||||
|
$subtable = $font->unpack(array(
|
||||||
|
"nPairs" => self::uint16,
|
||||||
|
"searchRange" => self::uint16,
|
||||||
|
"entrySelector" => self::uint16,
|
||||||
|
"rangeShift" => self::uint16,
|
||||||
|
));
|
||||||
|
|
||||||
|
$pairs = array();
|
||||||
|
$tree = array();
|
||||||
|
|
||||||
|
$values = $font->readUInt16Many($subtable["nPairs"] * 3);
|
||||||
|
for ($i = 0, $idx = 0; $i < $subtable["nPairs"]; $i++) {
|
||||||
|
$left = $values[$idx++];
|
||||||
|
$right = $values[$idx++];
|
||||||
|
$value = $values[$idx++];
|
||||||
|
|
||||||
|
if ($value >= 0x8000) {
|
||||||
|
$value -= 0x10000;
|
||||||
|
}
|
||||||
|
|
||||||
|
$pairs[] = array(
|
||||||
|
"left" => $left,
|
||||||
|
"right" => $right,
|
||||||
|
"value" => $value,
|
||||||
|
);
|
||||||
|
|
||||||
|
$tree[$left][$right] = $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
//$subtable["pairs"] = $pairs;
|
||||||
|
$subtable["tree"] = $tree;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 1:
|
||||||
|
case 2:
|
||||||
|
case 3:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
$data["subtable"] = $subtable;
|
||||||
|
|
||||||
|
$this->data = $data;
|
||||||
|
}
|
||||||
|
}
|
||||||
80
application/third_party/dompdf/lib/php-font-lib/classes/Table/Type/loca.php
vendored
Executable file
80
application/third_party/dompdf/lib/php-font-lib/classes/Table/Type/loca.php
vendored
Executable file
@ -0,0 +1,80 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package php-font-lib
|
||||||
|
* @link https://github.com/PhenX/php-font-lib
|
||||||
|
* @author Fabien Ménager <fabien.menager@gmail.com>
|
||||||
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FontLib\Table\Type;
|
||||||
|
use FontLib\Table\Table;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* `loca` font table.
|
||||||
|
*
|
||||||
|
* @package php-font-lib
|
||||||
|
*/
|
||||||
|
class loca extends Table {
|
||||||
|
protected function _parse() {
|
||||||
|
$font = $this->getFont();
|
||||||
|
$offset = $font->pos();
|
||||||
|
|
||||||
|
$indexToLocFormat = $font->getData("head", "indexToLocFormat");
|
||||||
|
$numGlyphs = $font->getData("maxp", "numGlyphs");
|
||||||
|
|
||||||
|
$font->seek($offset);
|
||||||
|
|
||||||
|
$data = array();
|
||||||
|
|
||||||
|
// 2 bytes
|
||||||
|
if ($indexToLocFormat == 0) {
|
||||||
|
$d = $font->read(($numGlyphs + 1) * 2);
|
||||||
|
$loc = unpack("n*", $d);
|
||||||
|
|
||||||
|
for ($i = 0; $i <= $numGlyphs; $i++) {
|
||||||
|
$data[] = isset($loc[$i + 1]) ? $loc[$i + 1] * 2 : 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 4 bytes
|
||||||
|
else {
|
||||||
|
if ($indexToLocFormat == 1) {
|
||||||
|
$d = $font->read(($numGlyphs + 1) * 4);
|
||||||
|
$loc = unpack("N*", $d);
|
||||||
|
|
||||||
|
for ($i = 0; $i <= $numGlyphs; $i++) {
|
||||||
|
$data[] = isset($loc[$i + 1]) ? $loc[$i + 1] : 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->data = $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
function _encode() {
|
||||||
|
$font = $this->getFont();
|
||||||
|
$data = $this->data;
|
||||||
|
|
||||||
|
$indexToLocFormat = $font->getData("head", "indexToLocFormat");
|
||||||
|
$numGlyphs = $font->getData("maxp", "numGlyphs");
|
||||||
|
$length = 0;
|
||||||
|
|
||||||
|
// 2 bytes
|
||||||
|
if ($indexToLocFormat == 0) {
|
||||||
|
for ($i = 0; $i <= $numGlyphs; $i++) {
|
||||||
|
$length += $font->writeUInt16($data[$i] / 2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 4 bytes
|
||||||
|
else {
|
||||||
|
if ($indexToLocFormat == 1) {
|
||||||
|
for ($i = 0; $i <= $numGlyphs; $i++) {
|
||||||
|
$length += $font->writeUInt32($data[$i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $length;
|
||||||
|
}
|
||||||
|
}
|
||||||
42
application/third_party/dompdf/lib/php-font-lib/classes/Table/Type/maxp.php
vendored
Executable file
42
application/third_party/dompdf/lib/php-font-lib/classes/Table/Type/maxp.php
vendored
Executable file
@ -0,0 +1,42 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package php-font-lib
|
||||||
|
* @link https://github.com/PhenX/php-font-lib
|
||||||
|
* @author Fabien Ménager <fabien.menager@gmail.com>
|
||||||
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FontLib\Table\Type;
|
||||||
|
use FontLib\Table\Table;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* `maxp` font table.
|
||||||
|
*
|
||||||
|
* @package php-font-lib
|
||||||
|
*/
|
||||||
|
class maxp extends Table {
|
||||||
|
protected $def = array(
|
||||||
|
"version" => self::Fixed,
|
||||||
|
"numGlyphs" => self::uint16,
|
||||||
|
"maxPoints" => self::uint16,
|
||||||
|
"maxContours" => self::uint16,
|
||||||
|
"maxComponentPoints" => self::uint16,
|
||||||
|
"maxComponentContours" => self::uint16,
|
||||||
|
"maxZones" => self::uint16,
|
||||||
|
"maxTwilightPoints" => self::uint16,
|
||||||
|
"maxStorage" => self::uint16,
|
||||||
|
"maxFunctionDefs" => self::uint16,
|
||||||
|
"maxInstructionDefs" => self::uint16,
|
||||||
|
"maxStackElements" => self::uint16,
|
||||||
|
"maxSizeOfInstructions" => self::uint16,
|
||||||
|
"maxComponentElements" => self::uint16,
|
||||||
|
"maxComponentDepth" => self::uint16,
|
||||||
|
);
|
||||||
|
|
||||||
|
function _encode() {
|
||||||
|
$font = $this->getFont();
|
||||||
|
$this->data["numGlyphs"] = count($font->getSubset());
|
||||||
|
|
||||||
|
return parent::_encode();
|
||||||
|
}
|
||||||
|
}
|
||||||
193
application/third_party/dompdf/lib/php-font-lib/classes/Table/Type/name.php
vendored
Executable file
193
application/third_party/dompdf/lib/php-font-lib/classes/Table/Type/name.php
vendored
Executable file
@ -0,0 +1,193 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package php-font-lib
|
||||||
|
* @link https://github.com/PhenX/php-font-lib
|
||||||
|
* @author Fabien Ménager <fabien.menager@gmail.com>
|
||||||
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FontLib\Table\Type;
|
||||||
|
|
||||||
|
use FontLib\Table\Table;
|
||||||
|
use FontLib\Font;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* `name` font table.
|
||||||
|
*
|
||||||
|
* @package php-font-lib
|
||||||
|
*/
|
||||||
|
class name extends Table {
|
||||||
|
private static $header_format = array(
|
||||||
|
"format" => self::uint16,
|
||||||
|
"count" => self::uint16,
|
||||||
|
"stringOffset" => self::uint16,
|
||||||
|
);
|
||||||
|
|
||||||
|
const NAME_COPYRIGHT = 0;
|
||||||
|
const NAME_NAME = 1;
|
||||||
|
const NAME_SUBFAMILY = 2;
|
||||||
|
const NAME_SUBFAMILY_ID = 3;
|
||||||
|
const NAME_FULL_NAME = 4;
|
||||||
|
const NAME_VERSION = 5;
|
||||||
|
const NAME_POSTSCRIPT_NAME = 6;
|
||||||
|
const NAME_TRADEMARK = 7;
|
||||||
|
const NAME_MANUFACTURER = 8;
|
||||||
|
const NAME_DESIGNER = 9;
|
||||||
|
const NAME_DESCRIPTION = 10;
|
||||||
|
const NAME_VENDOR_URL = 11;
|
||||||
|
const NAME_DESIGNER_URL = 12;
|
||||||
|
const NAME_LICENSE = 13;
|
||||||
|
const NAME_LICENSE_URL = 14;
|
||||||
|
const NAME_PREFERRE_FAMILY = 16;
|
||||||
|
const NAME_PREFERRE_SUBFAMILY = 17;
|
||||||
|
const NAME_COMPAT_FULL_NAME = 18;
|
||||||
|
const NAME_SAMPLE_TEXT = 19;
|
||||||
|
|
||||||
|
static $nameIdCodes = array(
|
||||||
|
0 => "Copyright",
|
||||||
|
1 => "FontName",
|
||||||
|
2 => "FontSubfamily",
|
||||||
|
3 => "UniqueID",
|
||||||
|
4 => "FullName",
|
||||||
|
5 => "Version",
|
||||||
|
6 => "PostScriptName",
|
||||||
|
7 => "Trademark",
|
||||||
|
8 => "Manufacturer",
|
||||||
|
9 => "Designer",
|
||||||
|
10 => "Description",
|
||||||
|
11 => "FontVendorURL",
|
||||||
|
12 => "FontDesignerURL",
|
||||||
|
13 => "LicenseDescription",
|
||||||
|
14 => "LicenseURL",
|
||||||
|
// 15
|
||||||
|
16 => "PreferredFamily",
|
||||||
|
17 => "PreferredSubfamily",
|
||||||
|
18 => "CompatibleFullName",
|
||||||
|
19 => "SampleText",
|
||||||
|
);
|
||||||
|
|
||||||
|
static $platforms = array(
|
||||||
|
0 => "Unicode",
|
||||||
|
1 => "Macintosh",
|
||||||
|
// 2 => Reserved
|
||||||
|
3 => "Microsoft",
|
||||||
|
);
|
||||||
|
|
||||||
|
static $platformSpecific = array(
|
||||||
|
// Unicode
|
||||||
|
0 => array(
|
||||||
|
0 => "Default semantics",
|
||||||
|
1 => "Version 1.1 semantics",
|
||||||
|
2 => "ISO 10646 1993 semantics (deprecated)",
|
||||||
|
3 => "Unicode 2.0 or later semantics",
|
||||||
|
),
|
||||||
|
|
||||||
|
// Macintosh
|
||||||
|
1 => array(
|
||||||
|
0 => "Roman",
|
||||||
|
1 => "Japanese",
|
||||||
|
2 => "Traditional Chinese",
|
||||||
|
3 => "Korean",
|
||||||
|
4 => "Arabic",
|
||||||
|
5 => "Hebrew",
|
||||||
|
6 => "Greek",
|
||||||
|
7 => "Russian",
|
||||||
|
8 => "RSymbol",
|
||||||
|
9 => "Devanagari",
|
||||||
|
10 => "Gurmukhi",
|
||||||
|
11 => "Gujarati",
|
||||||
|
12 => "Oriya",
|
||||||
|
13 => "Bengali",
|
||||||
|
14 => "Tamil",
|
||||||
|
15 => "Telugu",
|
||||||
|
16 => "Kannada",
|
||||||
|
17 => "Malayalam",
|
||||||
|
18 => "Sinhalese",
|
||||||
|
19 => "Burmese",
|
||||||
|
20 => "Khmer",
|
||||||
|
21 => "Thai",
|
||||||
|
22 => "Laotian",
|
||||||
|
23 => "Georgian",
|
||||||
|
24 => "Armenian",
|
||||||
|
25 => "Simplified Chinese",
|
||||||
|
26 => "Tibetan",
|
||||||
|
27 => "Mongolian",
|
||||||
|
28 => "Geez",
|
||||||
|
29 => "Slavic",
|
||||||
|
30 => "Vietnamese",
|
||||||
|
31 => "Sindhi",
|
||||||
|
),
|
||||||
|
|
||||||
|
// Microsoft
|
||||||
|
3 => array(
|
||||||
|
0 => "Symbol",
|
||||||
|
1 => "Unicode BMP (UCS-2)",
|
||||||
|
2 => "ShiftJIS",
|
||||||
|
3 => "PRC",
|
||||||
|
4 => "Big5",
|
||||||
|
5 => "Wansung",
|
||||||
|
6 => "Johab",
|
||||||
|
// 7 => Reserved
|
||||||
|
// 8 => Reserved
|
||||||
|
// 9 => Reserved
|
||||||
|
10 => "Unicode UCS-4",
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
protected function _parse() {
|
||||||
|
$font = $this->getFont();
|
||||||
|
|
||||||
|
$tableOffset = $font->pos();
|
||||||
|
|
||||||
|
$data = $font->unpack(self::$header_format);
|
||||||
|
|
||||||
|
$records = array();
|
||||||
|
for ($i = 0; $i < $data["count"]; $i++) {
|
||||||
|
$record = new nameRecord();
|
||||||
|
$record_data = $font->unpack(nameRecord::$format);
|
||||||
|
$record->map($record_data);
|
||||||
|
|
||||||
|
$records[] = $record;
|
||||||
|
}
|
||||||
|
|
||||||
|
$names = array();
|
||||||
|
foreach ($records as $record) {
|
||||||
|
$font->seek($tableOffset + $data["stringOffset"] + $record->offset);
|
||||||
|
$s = $font->read($record->length);
|
||||||
|
$record->string = Font::UTF16ToUTF8($s);
|
||||||
|
$names[$record->nameID] = $record;
|
||||||
|
}
|
||||||
|
|
||||||
|
$data["records"] = $names;
|
||||||
|
|
||||||
|
$this->data = $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function _encode() {
|
||||||
|
$font = $this->getFont();
|
||||||
|
|
||||||
|
/** @var nameRecord[] $records */
|
||||||
|
$records = $this->data["records"];
|
||||||
|
$count_records = count($records);
|
||||||
|
|
||||||
|
$this->data["count"] = $count_records;
|
||||||
|
$this->data["stringOffset"] = 6 + $count_records * 12; // 6 => uint16 * 3, 12 => sizeof self::$record_format
|
||||||
|
|
||||||
|
$length = $font->pack(self::$header_format, $this->data);
|
||||||
|
|
||||||
|
$offset = 0;
|
||||||
|
foreach ($records as $record) {
|
||||||
|
$record->length = mb_strlen($record->getUTF16(), "8bit");
|
||||||
|
$record->offset = $offset;
|
||||||
|
$offset += $record->length;
|
||||||
|
$length += $font->pack(nameRecord::$format, (array)$record);
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($records as $record) {
|
||||||
|
$str = $record->getUTF16();
|
||||||
|
$length += $font->write($str, mb_strlen($str, "8bit"));
|
||||||
|
}
|
||||||
|
|
||||||
|
return $length;
|
||||||
|
}
|
||||||
|
}
|
||||||
53
application/third_party/dompdf/lib/php-font-lib/classes/Table/Type/nameRecord.php
vendored
Executable file
53
application/third_party/dompdf/lib/php-font-lib/classes/Table/Type/nameRecord.php
vendored
Executable file
@ -0,0 +1,53 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package php-font-lib
|
||||||
|
* @link https://github.com/PhenX/php-font-lib
|
||||||
|
* @author Fabien Ménager <fabien.menager@gmail.com>
|
||||||
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||||
|
*/
|
||||||
|
namespace FontLib\Table\Type;
|
||||||
|
|
||||||
|
use FontLib\Font;
|
||||||
|
use FontLib\BinaryStream;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Font table name record.
|
||||||
|
*
|
||||||
|
* @package php-font-lib
|
||||||
|
*/
|
||||||
|
class nameRecord extends BinaryStream {
|
||||||
|
public $platformID;
|
||||||
|
public $platformSpecificID;
|
||||||
|
public $languageID;
|
||||||
|
public $nameID;
|
||||||
|
public $length;
|
||||||
|
public $offset;
|
||||||
|
public $string;
|
||||||
|
|
||||||
|
public static $format = array(
|
||||||
|
"platformID" => self::uint16,
|
||||||
|
"platformSpecificID" => self::uint16,
|
||||||
|
"languageID" => self::uint16,
|
||||||
|
"nameID" => self::uint16,
|
||||||
|
"length" => self::uint16,
|
||||||
|
"offset" => self::uint16,
|
||||||
|
);
|
||||||
|
|
||||||
|
public function map($data) {
|
||||||
|
foreach ($data as $key => $value) {
|
||||||
|
$this->$key = $value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getUTF8() {
|
||||||
|
return $this->string;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getUTF16() {
|
||||||
|
return Font::UTF8ToUTF16($this->string);
|
||||||
|
}
|
||||||
|
|
||||||
|
function __toString() {
|
||||||
|
return $this->string;
|
||||||
|
}
|
||||||
|
}
|
||||||
47
application/third_party/dompdf/lib/php-font-lib/classes/Table/Type/os2.php
vendored
Executable file
47
application/third_party/dompdf/lib/php-font-lib/classes/Table/Type/os2.php
vendored
Executable file
@ -0,0 +1,47 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package php-font-lib
|
||||||
|
* @link https://github.com/PhenX/php-font-lib
|
||||||
|
* @author Fabien Ménager <fabien.menager@gmail.com>
|
||||||
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FontLib\Table\Type;
|
||||||
|
use FontLib\Table\Table;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* `OS/2` font table.
|
||||||
|
*
|
||||||
|
* @package php-font-lib
|
||||||
|
*/
|
||||||
|
class os2 extends Table {
|
||||||
|
protected $def = array(
|
||||||
|
"version" => self::uint16,
|
||||||
|
"xAvgCharWidth" => self::int16,
|
||||||
|
"usWeightClass" => self::uint16,
|
||||||
|
"usWidthClass" => self::uint16,
|
||||||
|
"fsType" => self::int16,
|
||||||
|
"ySubscriptXSize" => self::int16,
|
||||||
|
"ySubscriptYSize" => self::int16,
|
||||||
|
"ySubscriptXOffset" => self::int16,
|
||||||
|
"ySubscriptYOffset" => self::int16,
|
||||||
|
"ySuperscriptXSize" => self::int16,
|
||||||
|
"ySuperscriptYSize" => self::int16,
|
||||||
|
"ySuperscriptXOffset" => self::int16,
|
||||||
|
"ySuperscriptYOffset" => self::int16,
|
||||||
|
"yStrikeoutSize" => self::int16,
|
||||||
|
"yStrikeoutPosition" => self::int16,
|
||||||
|
"sFamilyClass" => self::int16,
|
||||||
|
"panose" => array(self::uint8, 10),
|
||||||
|
"ulCharRange" => array(self::uint32, 4),
|
||||||
|
"achVendID" => array(self::char, 4),
|
||||||
|
"fsSelection" => self::uint16,
|
||||||
|
"fsFirstCharIndex" => self::uint16,
|
||||||
|
"fsLastCharIndex" => self::uint16,
|
||||||
|
"typoAscender" => self::int16,
|
||||||
|
"typoDescender" => self::int16,
|
||||||
|
"typoLineGap" => self::int16,
|
||||||
|
"winAscent" => self::int16,
|
||||||
|
"winDescent" => self::int16,
|
||||||
|
);
|
||||||
|
}
|
||||||
141
application/third_party/dompdf/lib/php-font-lib/classes/Table/Type/post.php
vendored
Executable file
141
application/third_party/dompdf/lib/php-font-lib/classes/Table/Type/post.php
vendored
Executable file
@ -0,0 +1,141 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package php-font-lib
|
||||||
|
* @link https://github.com/PhenX/php-font-lib
|
||||||
|
* @author Fabien Ménager <fabien.menager@gmail.com>
|
||||||
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FontLib\Table\Type;
|
||||||
|
use FontLib\Table\Table;
|
||||||
|
use FontLib\TrueType\File;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* `post` font table.
|
||||||
|
*
|
||||||
|
* @package php-font-lib
|
||||||
|
*/
|
||||||
|
class post extends Table {
|
||||||
|
protected $def = array(
|
||||||
|
"format" => self::Fixed,
|
||||||
|
"italicAngle" => self::Fixed,
|
||||||
|
"underlinePosition" => self::FWord,
|
||||||
|
"underlineThickness" => self::FWord,
|
||||||
|
"isFixedPitch" => self::uint32,
|
||||||
|
"minMemType42" => self::uint32,
|
||||||
|
"maxMemType42" => self::uint32,
|
||||||
|
"minMemType1" => self::uint32,
|
||||||
|
"maxMemType1" => self::uint32,
|
||||||
|
);
|
||||||
|
|
||||||
|
protected function _parse() {
|
||||||
|
$font = $this->getFont();
|
||||||
|
$data = $font->unpack($this->def);
|
||||||
|
|
||||||
|
$names = array();
|
||||||
|
|
||||||
|
switch ($data["format"]) {
|
||||||
|
case 1:
|
||||||
|
$names = File::$macCharNames;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
$data["numberOfGlyphs"] = $font->readUInt16();
|
||||||
|
|
||||||
|
$glyphNameIndex = $font->readUInt16Many($data["numberOfGlyphs"]);
|
||||||
|
|
||||||
|
$data["glyphNameIndex"] = $glyphNameIndex;
|
||||||
|
|
||||||
|
$namesPascal = array();
|
||||||
|
for ($i = 0; $i < $data["numberOfGlyphs"]; $i++) {
|
||||||
|
$len = $font->readUInt8();
|
||||||
|
$namesPascal[] = $font->read($len);
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($glyphNameIndex as $g => $index) {
|
||||||
|
if ($index < 258) {
|
||||||
|
$names[$g] = File::$macCharNames[$index];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$names[$g] = $namesPascal[$index - 258];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 2.5:
|
||||||
|
// TODO
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 3:
|
||||||
|
// nothing
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 4:
|
||||||
|
// TODO
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
$data["names"] = $names;
|
||||||
|
|
||||||
|
$this->data = $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
function _encode() {
|
||||||
|
$font = $this->getFont();
|
||||||
|
$data = $this->data;
|
||||||
|
$data["format"] = 3;
|
||||||
|
|
||||||
|
$length = $font->pack($this->def, $data);
|
||||||
|
|
||||||
|
return $length;
|
||||||
|
/*
|
||||||
|
$subset = $font->getSubset();
|
||||||
|
|
||||||
|
switch($data["format"]) {
|
||||||
|
case 1:
|
||||||
|
// nothing to do
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
$old_names = $data["names"];
|
||||||
|
|
||||||
|
$glyphNameIndex = range(0, count($subset));
|
||||||
|
|
||||||
|
$names = array();
|
||||||
|
foreach($subset as $gid) {
|
||||||
|
$names[] = $data["names"][$data["glyphNameIndex"][$gid]];
|
||||||
|
}
|
||||||
|
|
||||||
|
$numberOfGlyphs = count($names);
|
||||||
|
$length += $font->writeUInt16($numberOfGlyphs);
|
||||||
|
|
||||||
|
foreach($glyphNameIndex as $gni) {
|
||||||
|
$length += $font->writeUInt16($gni);
|
||||||
|
}
|
||||||
|
|
||||||
|
//$names = array_slice($names, 257);
|
||||||
|
foreach($names as $name) {
|
||||||
|
$len = strlen($name);
|
||||||
|
$length += $font->writeUInt8($len);
|
||||||
|
$length += $font->write($name, $len);
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 2.5:
|
||||||
|
// TODO
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 3:
|
||||||
|
// nothing
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 4:
|
||||||
|
// TODO
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $length;*/
|
||||||
|
}
|
||||||
|
}
|
||||||
100
application/third_party/dompdf/lib/php-font-lib/classes/TrueType/Collection.php
vendored
Executable file
100
application/third_party/dompdf/lib/php-font-lib/classes/TrueType/Collection.php
vendored
Executable file
@ -0,0 +1,100 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package php-font-lib
|
||||||
|
* @link https://github.com/PhenX/php-font-lib
|
||||||
|
* @author Fabien Ménager <fabien.menager@gmail.com>
|
||||||
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FontLib\TrueType;
|
||||||
|
|
||||||
|
use Countable;
|
||||||
|
use FontLib\BinaryStream;
|
||||||
|
use Iterator;
|
||||||
|
use OutOfBoundsException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TrueType collection font file.
|
||||||
|
*
|
||||||
|
* @package php-font-lib
|
||||||
|
*/
|
||||||
|
class Collection extends BinaryStream implements Iterator, Countable {
|
||||||
|
/**
|
||||||
|
* Current iterator position.
|
||||||
|
*
|
||||||
|
* @var integer
|
||||||
|
*/
|
||||||
|
private $position = 0;
|
||||||
|
|
||||||
|
protected $collectionOffsets = array();
|
||||||
|
protected $collection = array();
|
||||||
|
protected $version;
|
||||||
|
protected $numFonts;
|
||||||
|
|
||||||
|
function parse() {
|
||||||
|
if (isset($this->numFonts)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->read(4); // tag name
|
||||||
|
|
||||||
|
$this->version = $this->readFixed();
|
||||||
|
$this->numFonts = $this->readUInt32();
|
||||||
|
|
||||||
|
for ($i = 0; $i < $this->numFonts; $i++) {
|
||||||
|
$this->collectionOffsets[] = $this->readUInt32();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param int $fontId
|
||||||
|
*
|
||||||
|
* @throws OutOfBoundsException
|
||||||
|
* @return File
|
||||||
|
*/
|
||||||
|
function getFont($fontId) {
|
||||||
|
$this->parse();
|
||||||
|
|
||||||
|
if (!isset($this->collectionOffsets[$fontId])) {
|
||||||
|
throw new OutOfBoundsException();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($this->collection[$fontId])) {
|
||||||
|
return $this->collection[$fontId];
|
||||||
|
}
|
||||||
|
|
||||||
|
$font = new File();
|
||||||
|
$font->f = $this->f;
|
||||||
|
$font->setTableOffset($this->collectionOffsets[$fontId]);
|
||||||
|
|
||||||
|
return $this->collection[$fontId] = $font;
|
||||||
|
}
|
||||||
|
|
||||||
|
function current() {
|
||||||
|
return $this->getFont($this->position);
|
||||||
|
}
|
||||||
|
|
||||||
|
function key() {
|
||||||
|
return $this->position;
|
||||||
|
}
|
||||||
|
|
||||||
|
function next() {
|
||||||
|
return ++$this->position;
|
||||||
|
}
|
||||||
|
|
||||||
|
function rewind() {
|
||||||
|
$this->position = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
function valid() {
|
||||||
|
$this->parse();
|
||||||
|
|
||||||
|
return isset($this->collectionOffsets[$this->position]);
|
||||||
|
}
|
||||||
|
|
||||||
|
function count() {
|
||||||
|
$this->parse();
|
||||||
|
|
||||||
|
return $this->numFonts;
|
||||||
|
}
|
||||||
|
}
|
||||||
471
application/third_party/dompdf/lib/php-font-lib/classes/TrueType/File.php
vendored
Executable file
471
application/third_party/dompdf/lib/php-font-lib/classes/TrueType/File.php
vendored
Executable file
@ -0,0 +1,471 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package php-font-lib
|
||||||
|
* @link https://github.com/PhenX/php-font-lib
|
||||||
|
* @author Fabien Ménager <fabien.menager@gmail.com>
|
||||||
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FontLib\TrueType;
|
||||||
|
|
||||||
|
use FontLib\AdobeFontMetrics;
|
||||||
|
use FontLib\Font;
|
||||||
|
use FontLib\BinaryStream;
|
||||||
|
use FontLib\Table\Table;
|
||||||
|
use FontLib\Table\DirectoryEntry;
|
||||||
|
use FontLib\Table\Type\glyf;
|
||||||
|
use FontLib\Table\Type\name;
|
||||||
|
use FontLib\Table\Type\nameRecord;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TrueType font file.
|
||||||
|
*
|
||||||
|
* @package php-font-lib
|
||||||
|
*/
|
||||||
|
class File extends BinaryStream {
|
||||||
|
/**
|
||||||
|
* @var Header
|
||||||
|
*/
|
||||||
|
public $header = array();
|
||||||
|
|
||||||
|
private $tableOffset = 0; // Used for TTC
|
||||||
|
|
||||||
|
private static $raw = false;
|
||||||
|
|
||||||
|
protected $directory = array();
|
||||||
|
protected $data = array();
|
||||||
|
|
||||||
|
protected $glyph_subset = array();
|
||||||
|
|
||||||
|
public $glyph_all = array();
|
||||||
|
|
||||||
|
static $macCharNames = array(
|
||||||
|
".notdef", ".null", "CR",
|
||||||
|
"space", "exclam", "quotedbl", "numbersign",
|
||||||
|
"dollar", "percent", "ampersand", "quotesingle",
|
||||||
|
"parenleft", "parenright", "asterisk", "plus",
|
||||||
|
"comma", "hyphen", "period", "slash",
|
||||||
|
"zero", "one", "two", "three",
|
||||||
|
"four", "five", "six", "seven",
|
||||||
|
"eight", "nine", "colon", "semicolon",
|
||||||
|
"less", "equal", "greater", "question",
|
||||||
|
"at", "A", "B", "C", "D", "E", "F", "G",
|
||||||
|
"H", "I", "J", "K", "L", "M", "N", "O",
|
||||||
|
"P", "Q", "R", "S", "T", "U", "V", "W",
|
||||||
|
"X", "Y", "Z", "bracketleft",
|
||||||
|
"backslash", "bracketright", "asciicircum", "underscore",
|
||||||
|
"grave", "a", "b", "c", "d", "e", "f", "g",
|
||||||
|
"h", "i", "j", "k", "l", "m", "n", "o",
|
||||||
|
"p", "q", "r", "s", "t", "u", "v", "w",
|
||||||
|
"x", "y", "z", "braceleft",
|
||||||
|
"bar", "braceright", "asciitilde", "Adieresis",
|
||||||
|
"Aring", "Ccedilla", "Eacute", "Ntilde",
|
||||||
|
"Odieresis", "Udieresis", "aacute", "agrave",
|
||||||
|
"acircumflex", "adieresis", "atilde", "aring",
|
||||||
|
"ccedilla", "eacute", "egrave", "ecircumflex",
|
||||||
|
"edieresis", "iacute", "igrave", "icircumflex",
|
||||||
|
"idieresis", "ntilde", "oacute", "ograve",
|
||||||
|
"ocircumflex", "odieresis", "otilde", "uacute",
|
||||||
|
"ugrave", "ucircumflex", "udieresis", "dagger",
|
||||||
|
"degree", "cent", "sterling", "section",
|
||||||
|
"bullet", "paragraph", "germandbls", "registered",
|
||||||
|
"copyright", "trademark", "acute", "dieresis",
|
||||||
|
"notequal", "AE", "Oslash", "infinity",
|
||||||
|
"plusminus", "lessequal", "greaterequal", "yen",
|
||||||
|
"mu", "partialdiff", "summation", "product",
|
||||||
|
"pi", "integral", "ordfeminine", "ordmasculine",
|
||||||
|
"Omega", "ae", "oslash", "questiondown",
|
||||||
|
"exclamdown", "logicalnot", "radical", "florin",
|
||||||
|
"approxequal", "increment", "guillemotleft", "guillemotright",
|
||||||
|
"ellipsis", "nbspace", "Agrave", "Atilde",
|
||||||
|
"Otilde", "OE", "oe", "endash",
|
||||||
|
"emdash", "quotedblleft", "quotedblright", "quoteleft",
|
||||||
|
"quoteright", "divide", "lozenge", "ydieresis",
|
||||||
|
"Ydieresis", "fraction", "currency", "guilsinglleft",
|
||||||
|
"guilsinglright", "fi", "fl", "daggerdbl",
|
||||||
|
"periodcentered", "quotesinglbase", "quotedblbase", "perthousand",
|
||||||
|
"Acircumflex", "Ecircumflex", "Aacute", "Edieresis",
|
||||||
|
"Egrave", "Iacute", "Icircumflex", "Idieresis",
|
||||||
|
"Igrave", "Oacute", "Ocircumflex", "applelogo",
|
||||||
|
"Ograve", "Uacute", "Ucircumflex", "Ugrave",
|
||||||
|
"dotlessi", "circumflex", "tilde", "macron",
|
||||||
|
"breve", "dotaccent", "ring", "cedilla",
|
||||||
|
"hungarumlaut", "ogonek", "caron", "Lslash",
|
||||||
|
"lslash", "Scaron", "scaron", "Zcaron",
|
||||||
|
"zcaron", "brokenbar", "Eth", "eth",
|
||||||
|
"Yacute", "yacute", "Thorn", "thorn",
|
||||||
|
"minus", "multiply", "onesuperior", "twosuperior",
|
||||||
|
"threesuperior", "onehalf", "onequarter", "threequarters",
|
||||||
|
"franc", "Gbreve", "gbreve", "Idot",
|
||||||
|
"Scedilla", "scedilla", "Cacute", "cacute",
|
||||||
|
"Ccaron", "ccaron", "dmacron"
|
||||||
|
);
|
||||||
|
|
||||||
|
function getTable() {
|
||||||
|
$this->parseTableEntries();
|
||||||
|
|
||||||
|
return $this->directory;
|
||||||
|
}
|
||||||
|
|
||||||
|
function setTableOffset($offset) {
|
||||||
|
$this->tableOffset = $offset;
|
||||||
|
}
|
||||||
|
|
||||||
|
function parse() {
|
||||||
|
$this->parseTableEntries();
|
||||||
|
|
||||||
|
$this->data = array();
|
||||||
|
|
||||||
|
foreach ($this->directory as $tag => $table) {
|
||||||
|
if (empty($this->data[$tag])) {
|
||||||
|
$this->readTable($tag);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function utf8toUnicode($str) {
|
||||||
|
$len = strlen($str);
|
||||||
|
$out = array();
|
||||||
|
|
||||||
|
for ($i = 0; $i < $len; $i++) {
|
||||||
|
$uni = -1;
|
||||||
|
$h = ord($str[$i]);
|
||||||
|
|
||||||
|
if ($h <= 0x7F) {
|
||||||
|
$uni = $h;
|
||||||
|
}
|
||||||
|
elseif ($h >= 0xC2) {
|
||||||
|
if (($h <= 0xDF) && ($i < $len - 1)) {
|
||||||
|
$uni = ($h & 0x1F) << 6 | (ord($str[++$i]) & 0x3F);
|
||||||
|
}
|
||||||
|
elseif (($h <= 0xEF) && ($i < $len - 2)) {
|
||||||
|
$uni = ($h & 0x0F) << 12 | (ord($str[++$i]) & 0x3F) << 6 | (ord($str[++$i]) & 0x3F);
|
||||||
|
}
|
||||||
|
elseif (($h <= 0xF4) && ($i < $len - 3)) {
|
||||||
|
$uni = ($h & 0x0F) << 18 | (ord($str[++$i]) & 0x3F) << 12 | (ord($str[++$i]) & 0x3F) << 6 | (ord($str[++$i]) & 0x3F);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($uni >= 0) {
|
||||||
|
$out[] = $uni;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $out;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getUnicodeCharMap() {
|
||||||
|
$subtable = null;
|
||||||
|
foreach ($this->getData("cmap", "subtables") as $_subtable) {
|
||||||
|
if ($_subtable["platformID"] == 0 || $_subtable["platformID"] == 3 && $_subtable["platformSpecificID"] == 1) {
|
||||||
|
$subtable = $_subtable;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($subtable) {
|
||||||
|
return $subtable["glyphIndexArray"];
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
function setSubset($subset) {
|
||||||
|
if (!is_array($subset)) {
|
||||||
|
$subset = $this->utf8toUnicode($subset);
|
||||||
|
}
|
||||||
|
|
||||||
|
$subset = array_unique($subset);
|
||||||
|
|
||||||
|
$glyphIndexArray = $this->getUnicodeCharMap();
|
||||||
|
|
||||||
|
if (!$glyphIndexArray) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$gids = array(
|
||||||
|
0, // .notdef
|
||||||
|
1, // .null
|
||||||
|
);
|
||||||
|
|
||||||
|
foreach ($subset as $code) {
|
||||||
|
if (!isset($glyphIndexArray[$code])) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$gid = $glyphIndexArray[$code];
|
||||||
|
$gids[$gid] = $gid;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @var glyf $glyf */
|
||||||
|
$glyf = $this->getTableObject("glyf");
|
||||||
|
$gids = $glyf->getGlyphIDs($gids);
|
||||||
|
|
||||||
|
sort($gids);
|
||||||
|
|
||||||
|
$this->glyph_subset = $gids;
|
||||||
|
$this->glyph_all = array_values($glyphIndexArray); // FIXME
|
||||||
|
}
|
||||||
|
|
||||||
|
function getSubset() {
|
||||||
|
if (empty($this->glyph_subset)) {
|
||||||
|
return $this->glyph_all;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->glyph_subset;
|
||||||
|
}
|
||||||
|
|
||||||
|
function encode($tags = array()) {
|
||||||
|
if (!self::$raw) {
|
||||||
|
$tags = array_merge(array("head", "hhea", "cmap", "hmtx", "maxp", "glyf", "loca", "name", "post"), $tags);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$tags = array_keys($this->directory);
|
||||||
|
}
|
||||||
|
|
||||||
|
$num_tables = count($tags);
|
||||||
|
$n = 16; // @todo
|
||||||
|
|
||||||
|
Font::d("Tables : " . implode(", ", $tags));
|
||||||
|
|
||||||
|
/** @var DirectoryEntry[] $entries */
|
||||||
|
$entries = array();
|
||||||
|
foreach ($tags as $tag) {
|
||||||
|
if (!isset($this->directory[$tag])) {
|
||||||
|
Font::d(" >> '$tag' table doesn't exist");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$entries[$tag] = $this->directory[$tag];
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->header->data["numTables"] = $num_tables;
|
||||||
|
$this->header->encode();
|
||||||
|
|
||||||
|
$directory_offset = $this->pos();
|
||||||
|
$offset = $directory_offset + $num_tables * $n;
|
||||||
|
$this->seek($offset);
|
||||||
|
|
||||||
|
$i = 0;
|
||||||
|
foreach ($entries as $entry) {
|
||||||
|
$entry->encode($directory_offset + $i * $n);
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function parseHeader() {
|
||||||
|
if (!empty($this->header)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->seek($this->tableOffset);
|
||||||
|
|
||||||
|
$this->header = new Header($this);
|
||||||
|
$this->header->parse();
|
||||||
|
}
|
||||||
|
|
||||||
|
function getFontType(){
|
||||||
|
$class_parts = explode("\\", get_class($this));
|
||||||
|
return $class_parts[1];
|
||||||
|
}
|
||||||
|
|
||||||
|
function parseTableEntries() {
|
||||||
|
$this->parseHeader();
|
||||||
|
|
||||||
|
if (!empty($this->directory)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (empty($this->header->data["numTables"])) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$type = $this->getFontType();
|
||||||
|
$class = "FontLib\\$type\\TableDirectoryEntry";
|
||||||
|
|
||||||
|
for ($i = 0; $i < $this->header->data["numTables"]; $i++) {
|
||||||
|
/** @var TableDirectoryEntry $entry */
|
||||||
|
$entry = new $class($this);
|
||||||
|
$entry->parse();
|
||||||
|
|
||||||
|
$this->directory[$entry->tag] = $entry;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function normalizeFUnit($value, $base = 1000) {
|
||||||
|
return round($value * ($base / $this->getData("head", "unitsPerEm")));
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function readTable($tag) {
|
||||||
|
$this->parseTableEntries();
|
||||||
|
|
||||||
|
if (!self::$raw) {
|
||||||
|
$name_canon = preg_replace("/[^a-z0-9]/", "", strtolower($tag));
|
||||||
|
|
||||||
|
$class = "FontLib\\Table\\Type\\$name_canon";
|
||||||
|
|
||||||
|
if (!isset($this->directory[$tag]) || !@class_exists($class)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$class = "FontLib\\Table\\Table";
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @var Table $table */
|
||||||
|
$table = new $class($this->directory[$tag]);
|
||||||
|
$table->parse();
|
||||||
|
|
||||||
|
$this->data[$tag] = $table;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param $name
|
||||||
|
*
|
||||||
|
* @return Table
|
||||||
|
*/
|
||||||
|
public function getTableObject($name) {
|
||||||
|
return $this->data[$name];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setTableObject($name, Table $data) {
|
||||||
|
$this->data[$name] = $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getData($name, $key = null) {
|
||||||
|
$this->parseTableEntries();
|
||||||
|
|
||||||
|
if (empty($this->data[$name])) {
|
||||||
|
$this->readTable($name);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!isset($this->data[$name])) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$key) {
|
||||||
|
return $this->data[$name]->data;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return $this->data[$name]->data[$key];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function addDirectoryEntry(DirectoryEntry $entry) {
|
||||||
|
$this->directory[$entry->tag] = $entry;
|
||||||
|
}
|
||||||
|
|
||||||
|
function saveAdobeFontMetrics($file, $encoding = null) {
|
||||||
|
$afm = new AdobeFontMetrics($this);
|
||||||
|
$afm->write($file, $encoding);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a specific name table string value from its ID
|
||||||
|
*
|
||||||
|
* @param int $nameID The name ID
|
||||||
|
*
|
||||||
|
* @return string|null
|
||||||
|
*/
|
||||||
|
function getNameTableString($nameID) {
|
||||||
|
/** @var nameRecord[] $records */
|
||||||
|
$records = $this->getData("name", "records");
|
||||||
|
|
||||||
|
if (!isset($records[$nameID])) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $records[$nameID]->string;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get font copyright
|
||||||
|
*
|
||||||
|
* @return string|null
|
||||||
|
*/
|
||||||
|
function getFontCopyright() {
|
||||||
|
return $this->getNameTableString(name::NAME_COPYRIGHT);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get font name
|
||||||
|
*
|
||||||
|
* @return string|null
|
||||||
|
*/
|
||||||
|
function getFontName() {
|
||||||
|
return $this->getNameTableString(name::NAME_NAME);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get font subfamily
|
||||||
|
*
|
||||||
|
* @return string|null
|
||||||
|
*/
|
||||||
|
function getFontSubfamily() {
|
||||||
|
return $this->getNameTableString(name::NAME_SUBFAMILY);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get font subfamily ID
|
||||||
|
*
|
||||||
|
* @return string|null
|
||||||
|
*/
|
||||||
|
function getFontSubfamilyID() {
|
||||||
|
return $this->getNameTableString(name::NAME_SUBFAMILY_ID);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get font full name
|
||||||
|
*
|
||||||
|
* @return string|null
|
||||||
|
*/
|
||||||
|
function getFontFullName() {
|
||||||
|
return $this->getNameTableString(name::NAME_FULL_NAME);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get font version
|
||||||
|
*
|
||||||
|
* @return string|null
|
||||||
|
*/
|
||||||
|
function getFontVersion() {
|
||||||
|
return $this->getNameTableString(name::NAME_VERSION);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get font weight
|
||||||
|
*
|
||||||
|
* @return string|null
|
||||||
|
*/
|
||||||
|
function getFontWeight() {
|
||||||
|
return $this->getTableObject("OS/2")->data["usWeightClass"];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get font Postscript name
|
||||||
|
*
|
||||||
|
* @return string|null
|
||||||
|
*/
|
||||||
|
function getFontPostscriptName() {
|
||||||
|
return $this->getNameTableString(name::NAME_POSTSCRIPT_NAME);
|
||||||
|
}
|
||||||
|
|
||||||
|
function reduce() {
|
||||||
|
$names_to_keep = array(
|
||||||
|
name::NAME_COPYRIGHT,
|
||||||
|
name::NAME_NAME,
|
||||||
|
name::NAME_SUBFAMILY,
|
||||||
|
name::NAME_SUBFAMILY_ID,
|
||||||
|
name::NAME_FULL_NAME,
|
||||||
|
name::NAME_VERSION,
|
||||||
|
name::NAME_POSTSCRIPT_NAME,
|
||||||
|
);
|
||||||
|
|
||||||
|
foreach ($this->data["name"]->data["records"] as $id => $rec) {
|
||||||
|
if (!in_array($id, $names_to_keep)) {
|
||||||
|
unset($this->data["name"]->data["records"][$id]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
31
application/third_party/dompdf/lib/php-font-lib/classes/TrueType/Header.php
vendored
Executable file
31
application/third_party/dompdf/lib/php-font-lib/classes/TrueType/Header.php
vendored
Executable file
@ -0,0 +1,31 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package php-font-lib
|
||||||
|
* @link https://github.com/PhenX/php-font-lib
|
||||||
|
* @author Fabien Ménager <fabien.menager@gmail.com>
|
||||||
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FontLib\TrueType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TrueType font file header.
|
||||||
|
*
|
||||||
|
* @package php-font-lib
|
||||||
|
*/
|
||||||
|
class Header extends \FontLib\Header {
|
||||||
|
protected $def = array(
|
||||||
|
"format" => self::uint32,
|
||||||
|
"numTables" => self::uint16,
|
||||||
|
"searchRange" => self::uint16,
|
||||||
|
"entrySelector" => self::uint16,
|
||||||
|
"rangeShift" => self::uint16,
|
||||||
|
);
|
||||||
|
|
||||||
|
public function parse() {
|
||||||
|
parent::parse();
|
||||||
|
|
||||||
|
$format = $this->data["format"];
|
||||||
|
$this->data["formatText"] = $this->convertUInt32ToStr($format);
|
||||||
|
}
|
||||||
|
}
|
||||||
33
application/third_party/dompdf/lib/php-font-lib/classes/TrueType/TableDirectoryEntry.php
vendored
Executable file
33
application/third_party/dompdf/lib/php-font-lib/classes/TrueType/TableDirectoryEntry.php
vendored
Executable file
@ -0,0 +1,33 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package php-font-lib
|
||||||
|
* @link https://github.com/PhenX/php-font-lib
|
||||||
|
* @author Fabien Ménager <fabien.menager@gmail.com>
|
||||||
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FontLib\TrueType;
|
||||||
|
|
||||||
|
use FontLib\Table\DirectoryEntry;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TrueType table directory entry.
|
||||||
|
*
|
||||||
|
* @package php-font-lib
|
||||||
|
*/
|
||||||
|
class TableDirectoryEntry extends DirectoryEntry {
|
||||||
|
function __construct(File $font) {
|
||||||
|
parent::__construct($font);
|
||||||
|
}
|
||||||
|
|
||||||
|
function parse() {
|
||||||
|
parent::parse();
|
||||||
|
|
||||||
|
$font = $this->font;
|
||||||
|
$this->checksum = $font->readUInt32();
|
||||||
|
$this->offset = $font->readUInt32();
|
||||||
|
$this->length = $font->readUInt32();
|
||||||
|
$this->entryLength += 12;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
81
application/third_party/dompdf/lib/php-font-lib/classes/WOFF/File.php
vendored
Executable file
81
application/third_party/dompdf/lib/php-font-lib/classes/WOFF/File.php
vendored
Executable file
@ -0,0 +1,81 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package php-font-lib
|
||||||
|
* @link https://github.com/PhenX/php-font-lib
|
||||||
|
* @author Fabien Ménager <fabien.menager@gmail.com>
|
||||||
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FontLib\WOFF;
|
||||||
|
|
||||||
|
use FontLib\Table\DirectoryEntry;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* WOFF font file.
|
||||||
|
*
|
||||||
|
* @package php-font-lib
|
||||||
|
*
|
||||||
|
* @property TableDirectoryEntry[] $directory
|
||||||
|
*/
|
||||||
|
class File extends \FontLib\TrueType\File {
|
||||||
|
function parseHeader() {
|
||||||
|
if (!empty($this->header)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->header = new Header($this);
|
||||||
|
$this->header->parse();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function load($file) {
|
||||||
|
parent::load($file);
|
||||||
|
|
||||||
|
$this->parseTableEntries();
|
||||||
|
$dataOffset = $this->pos() + count($this->directory) * 20;
|
||||||
|
|
||||||
|
$fw = $this->getTempFile(false);
|
||||||
|
$fr = $this->f;
|
||||||
|
|
||||||
|
$this->f = $fw;
|
||||||
|
$offset = $this->header->encode();
|
||||||
|
|
||||||
|
foreach ($this->directory as $entry) {
|
||||||
|
// Read ...
|
||||||
|
$this->f = $fr;
|
||||||
|
$this->seek($entry->offset);
|
||||||
|
$data = $this->read($entry->length);
|
||||||
|
|
||||||
|
if ($entry->length < $entry->origLength) {
|
||||||
|
$data = gzuncompress($data);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Prepare data ...
|
||||||
|
$length = strlen($data);
|
||||||
|
$entry->length = $entry->origLength = $length;
|
||||||
|
$entry->offset = $dataOffset;
|
||||||
|
|
||||||
|
// Write ...
|
||||||
|
$this->f = $fw;
|
||||||
|
|
||||||
|
// Woff Entry
|
||||||
|
$this->seek($offset);
|
||||||
|
$offset += $this->write($entry->tag, 4); // tag
|
||||||
|
$offset += $this->writeUInt32($dataOffset); // offset
|
||||||
|
$offset += $this->writeUInt32($length); // length
|
||||||
|
$offset += $this->writeUInt32($length); // origLength
|
||||||
|
$offset += $this->writeUInt32(DirectoryEntry::computeChecksum($data)); // checksum
|
||||||
|
|
||||||
|
// Data
|
||||||
|
$this->seek($dataOffset);
|
||||||
|
$dataOffset += $this->write($data, $length);
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->f = $fw;
|
||||||
|
$this->seek(0);
|
||||||
|
|
||||||
|
// Need to re-parse this, don't know why
|
||||||
|
$this->header = null;
|
||||||
|
$this->directory = array();
|
||||||
|
$this->parseTableEntries();
|
||||||
|
}
|
||||||
|
}
|
||||||
32
application/third_party/dompdf/lib/php-font-lib/classes/WOFF/Header.php
vendored
Executable file
32
application/third_party/dompdf/lib/php-font-lib/classes/WOFF/Header.php
vendored
Executable file
@ -0,0 +1,32 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package php-font-lib
|
||||||
|
* @link https://github.com/PhenX/php-font-lib
|
||||||
|
* @author Fabien Ménager <fabien.menager@gmail.com>
|
||||||
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FontLib\WOFF;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* WOFF font file header.
|
||||||
|
*
|
||||||
|
* @package php-font-lib
|
||||||
|
*/
|
||||||
|
class Header extends \FontLib\TrueType\Header {
|
||||||
|
protected $def = array(
|
||||||
|
"format" => self::uint32,
|
||||||
|
"flavor" => self::uint32,
|
||||||
|
"length" => self::uint32,
|
||||||
|
"numTables" => self::uint16,
|
||||||
|
self::uint16,
|
||||||
|
"totalSfntSize" => self::uint32,
|
||||||
|
"majorVersion" => self::uint16,
|
||||||
|
"minorVersion" => self::uint16,
|
||||||
|
"metaOffset" => self::uint32,
|
||||||
|
"metaLength" => self::uint32,
|
||||||
|
"metaOrigLength" => self::uint32,
|
||||||
|
"privOffset" => self::uint32,
|
||||||
|
"privLength" => self::uint32,
|
||||||
|
);
|
||||||
|
}
|
||||||
34
application/third_party/dompdf/lib/php-font-lib/classes/WOFF/TableDirectoryEntry.php
vendored
Executable file
34
application/third_party/dompdf/lib/php-font-lib/classes/WOFF/TableDirectoryEntry.php
vendored
Executable file
@ -0,0 +1,34 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package php-font-lib
|
||||||
|
* @link https://github.com/PhenX/php-font-lib
|
||||||
|
* @author Fabien Ménager <fabien.menager@gmail.com>
|
||||||
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace FontLib\WOFF;
|
||||||
|
|
||||||
|
use FontLib\Table\DirectoryEntry;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* WOFF font file table directory entry.
|
||||||
|
*
|
||||||
|
* @package php-font-lib
|
||||||
|
*/
|
||||||
|
class TableDirectoryEntry extends DirectoryEntry {
|
||||||
|
public $origLength;
|
||||||
|
|
||||||
|
function __construct(File $font) {
|
||||||
|
parent::__construct($font);
|
||||||
|
}
|
||||||
|
|
||||||
|
function parse() {
|
||||||
|
parent::parse();
|
||||||
|
|
||||||
|
$font = $this->font;
|
||||||
|
$this->offset = $font->readUInt32();
|
||||||
|
$this->length = $font->readUInt32();
|
||||||
|
$this->origLength = $font->readUInt32();
|
||||||
|
$this->checksum = $font->readUInt32();
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 267 B After Width: | Height: | Size: 618 B |
213
application/third_party/dompdf/lib/res/html.css
vendored
213
application/third_party/dompdf/lib/res/html.css
vendored
@ -1,60 +1,28 @@
|
|||||||
/**
|
/**
|
||||||
* DOMPDF - PHP5 HTML to PDF renderer
|
* dompdf default stylesheet.
|
||||||
*
|
|
||||||
* File: $RCSfile: html.css,v $
|
|
||||||
* Created on: 2004-08-04
|
|
||||||
*
|
|
||||||
* Copyright (c) 2004 - Benj Carson <benjcarson@digitaljunkies.ca>
|
|
||||||
* 1998 - Netscape Communications Corporation
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
|
||||||
* License as published by the Free Software Foundation; either
|
|
||||||
* version 2.1 of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This library is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
* Lesser General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public License
|
|
||||||
* along with this library in the file LICENSE.LGPL; if not, write to the
|
|
||||||
* Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
|
||||||
* 02111-1307 USA
|
|
||||||
*
|
|
||||||
* Originally from mozilla (http://www.mozilla.org). Original code was
|
|
||||||
* licensed under the NPL, with the option of release under the GPL or LGPL.
|
|
||||||
* This file is hence released under the LGPL.
|
|
||||||
*
|
*
|
||||||
* The Original Code is mozilla.org code.
|
* The Original Code is mozilla.org code.
|
||||||
*
|
*
|
||||||
* The Initial Developer of the Original Code is
|
* The Initial Developer of the Original Code is Netscape Communications Corporation.
|
||||||
* Netscape Communications Corporation.
|
* Portions created by the Initial Developer are Copyright (C) 1998 the Initial Developer.
|
||||||
* Portions created by the Initial Developer are Copyright (C) 1998
|
* All Rights Reserved.
|
||||||
* the Initial Developer. All Rights Reserved.
|
|
||||||
*
|
*
|
||||||
* Contributor(s):
|
|
||||||
* Blake Ross <BlakeR1234@aol.com>
|
|
||||||
*
|
|
||||||
* The latest version of DOMPDF might be available at:
|
|
||||||
* http://www.dompdf.com/
|
|
||||||
*
|
|
||||||
* @link http://www.dompdf.com/
|
|
||||||
* @copyright 2004 Benj Carson
|
|
||||||
* @author Benj Carson <benjcarson@digitaljunkies.ca>
|
|
||||||
* @package dompdf
|
* @package dompdf
|
||||||
* @version 0.3
|
* @link http://dompdf.github.com/
|
||||||
|
* @author Benj Carson <benjcarson@digitaljunkies.ca>
|
||||||
|
* @author Blake Ross <BlakeR1234@aol.com>
|
||||||
|
* @author Fabien Ménager <fabien.menager@gmail.com>
|
||||||
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
||||||
|
* @version $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: html.css,v 1.4 2006-04-05 20:09:00 benjcarson Exp $ */
|
|
||||||
|
|
||||||
@page {
|
@page {
|
||||||
margin: 1.2cm;
|
margin: 1.2cm;
|
||||||
}
|
}
|
||||||
|
|
||||||
html {
|
html {
|
||||||
display: -dompdf-page;
|
display: -dompdf-page;
|
||||||
counter-increment: page;
|
counter-reset: page;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* blocks */
|
/* blocks */
|
||||||
@ -66,6 +34,7 @@ div, map, dt, isindex {
|
|||||||
body {
|
body {
|
||||||
page-break-before: avoid;
|
page-break-before: avoid;
|
||||||
display: block;
|
display: block;
|
||||||
|
counter-increment: page;
|
||||||
}
|
}
|
||||||
|
|
||||||
p, dl, multicol {
|
p, dl, multicol {
|
||||||
@ -151,6 +120,13 @@ plaintext, xmp, pre {
|
|||||||
margin: 1em 0;
|
margin: 1em 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
article, aside, details,
|
||||||
|
figcaption, figure,
|
||||||
|
footer, header, hgroup,
|
||||||
|
nav, section {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
/* tables */
|
/* tables */
|
||||||
|
|
||||||
table {
|
table {
|
||||||
@ -182,7 +158,7 @@ td, th, tr {
|
|||||||
|
|
||||||
/* caption inherits from table not table-outer */
|
/* caption inherits from table not table-outer */
|
||||||
caption {
|
caption {
|
||||||
display: table-caption;
|
display: block;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -247,7 +223,7 @@ q:after {
|
|||||||
content: close-quote;
|
content: close-quote;
|
||||||
}
|
}
|
||||||
|
|
||||||
a:link {
|
:link {
|
||||||
color: #00c;
|
color: #00c;
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
}
|
}
|
||||||
@ -320,6 +296,12 @@ li {
|
|||||||
display: list-item;
|
display: list-item;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*li:before {
|
||||||
|
display: -dompdf-list-bullet !important;
|
||||||
|
content: counter(-dompdf-default-counter) ". ";
|
||||||
|
padding-right: 0.5em;
|
||||||
|
}*/
|
||||||
|
|
||||||
/* nested lists have no top/bottom margins */
|
/* nested lists have no top/bottom margins */
|
||||||
ul ul, ul ol, ul dir, ul menu, ul dl,
|
ul ul, ul ol, ul dir, ul menu, ul dl,
|
||||||
ol ul, ol ol, ol dir, ol menu, ol dl,
|
ol ul, ol ol, ol dir, ol menu, ol dl,
|
||||||
@ -354,35 +336,134 @@ dir ol dir, dir ul dir, dir menu dir, dir dir dir {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* forms */
|
/* forms */
|
||||||
|
/* From http://dev.w3.org/csswg/css3-ui/#appearance */
|
||||||
/*
|
form {
|
||||||
input[type=text] {
|
display: block;
|
||||||
border: 1pt solid black;
|
|
||||||
background-color: white;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type=text]:before {
|
input, button, select {
|
||||||
|
display: inline-block;
|
||||||
|
font-family: sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type=text],
|
||||||
|
input[type=password],
|
||||||
|
select {
|
||||||
|
width: 12em;
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type=text],
|
||||||
|
input[type=password],
|
||||||
|
input[type=button],
|
||||||
|
input[type=submit],
|
||||||
|
input[type=reset],
|
||||||
|
input[type=file],
|
||||||
|
button,
|
||||||
|
textarea,
|
||||||
|
select {
|
||||||
|
background: #FFF;
|
||||||
|
border: 1px solid #999;
|
||||||
|
padding: 2px;
|
||||||
|
margin: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type=button],
|
||||||
|
input[type=submit],
|
||||||
|
input[type=reset],
|
||||||
|
input[type=file],
|
||||||
|
button {
|
||||||
|
background: #CCC;
|
||||||
|
width: 8em;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type=text]:before,
|
||||||
|
input[type=button]:before,
|
||||||
|
input[type=submit]:before,
|
||||||
|
input[type=reset]:before {
|
||||||
content: attr(value);
|
content: attr(value);
|
||||||
}*/
|
}
|
||||||
|
|
||||||
|
input[type=file]:before {
|
||||||
|
content: "Chose a file";
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type=password][value]:before {
|
||||||
|
font-family: "DejaVu Sans";
|
||||||
|
content: "\2022\2022\2022\2022\2022\2022\2022\2022";
|
||||||
|
line-height: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type=checkbox],
|
||||||
|
input[type=radio],
|
||||||
|
select:after {
|
||||||
|
font-family: "DejaVu Sans";
|
||||||
|
font-size: 18px;
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type=checkbox]:before {
|
||||||
|
content: "\2610";
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type=checkbox][checked]:before {
|
||||||
|
content: "\2611";
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type=radio]:before {
|
||||||
|
content: "\25CB";
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type=radio][checked]:before {
|
||||||
|
content: "\25C9";
|
||||||
|
}
|
||||||
|
|
||||||
|
textarea {
|
||||||
|
display: block;
|
||||||
|
height: 3em;
|
||||||
|
overflow: hidden;
|
||||||
|
font-family: monospace;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
word-wrap: break-word;
|
||||||
|
}
|
||||||
|
|
||||||
|
select {
|
||||||
|
position: relative!important;
|
||||||
|
overflow: hidden!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
select:after {
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
height: 5em;
|
||||||
|
width: 1.4em;
|
||||||
|
text-align: center;
|
||||||
|
background: #CCC;
|
||||||
|
content: "\25BE";
|
||||||
|
}
|
||||||
|
|
||||||
|
select option {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
select option[selected] {
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
|
||||||
fieldset {
|
fieldset {
|
||||||
display: block;
|
display: block;
|
||||||
margin-left: 2px;
|
margin: 0.6em 2px 2px;
|
||||||
margin-right: 2px;
|
padding: 0.75em;
|
||||||
padding: 0.35em 0.625em 0.75em;
|
|
||||||
border: 1pt groove #666;
|
border: 1pt groove #666;
|
||||||
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
fieldset > legend {
|
fieldset > legend {
|
||||||
padding-left: 2px;
|
position: absolute;
|
||||||
padding-right: 2px;
|
top: -0.6em;
|
||||||
min-width: 1em;
|
left: 0.75em;
|
||||||
max-width: none;
|
padding: 0 0.3em;
|
||||||
height: auto;
|
|
||||||
min-height: 0;
|
|
||||||
max-height: none;
|
|
||||||
white-space: nowrap;
|
|
||||||
margin-top: -1.0em;
|
|
||||||
background: white;
|
background: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -390,12 +471,11 @@ legend {
|
|||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* leafs */
|
/* leafs */
|
||||||
|
|
||||||
hr {
|
hr {
|
||||||
display: block;
|
display: block;
|
||||||
height: 2px;
|
height: 0;
|
||||||
border: 1px inset;
|
border: 1px inset;
|
||||||
margin: 0.5em auto 0.5em auto;
|
margin: 0.5em auto 0.5em auto;
|
||||||
}
|
}
|
||||||
@ -424,4 +504,5 @@ dompdf_generated {
|
|||||||
area, base, basefont, head, meta, script, style, title,
|
area, base, basefont, head, meta, script, style, title,
|
||||||
noembed, noscript, param {
|
noembed, noscript, param {
|
||||||
display: none;
|
display: none;
|
||||||
|
-dompdf-keep: yes;
|
||||||
}
|
}
|
||||||
@ -135,8 +135,8 @@
|
|||||||
?>
|
?>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
@page { margin: 294px 25px 210px 25px; }
|
@page { margin: 280px 25px 210px 25px; }
|
||||||
.header { position: fixed; left: 0px; top: -294px; right: 0px; height: 500px;text-align: center; }
|
.header { position: fixed; left: 0px; top: -280px; right: 0px; height: 500px;text-align: center; }
|
||||||
.footer { position: fixed; bottom: 10px;}
|
.footer { position: fixed; bottom: 10px;}
|
||||||
.pagenum:before { content: counter(page); }
|
.pagenum:before { content: counter(page); }
|
||||||
</style>
|
</style>
|
||||||
@ -241,10 +241,10 @@
|
|||||||
{
|
{
|
||||||
?>
|
?>
|
||||||
<tr>
|
<tr>
|
||||||
<td><strong>Indent :</strong></td>
|
<td width="8%"><strong>Indent :</strong></td>
|
||||||
<td><?php echo $ReqDetails['RequistionNo']; ?></td>
|
<td width="11%"><?php echo $ReqDetails['RequistionNo']; ?></td>
|
||||||
<td><?php $date = new DateTime($ReqDetails['ReqDate'],new DateTimeZone('Asia/Kolkata')); $date=$date->format("d-m-Y"); echo $date; ?></td>
|
<td><?php $date = new DateTime($ReqDetails['ReqDate'],new DateTimeZone('Asia/Kolkata')); $date=$date->format("d-m-Y"); echo $date; ?></td>
|
||||||
<td><strong>Dept:</strong> <?php echo $ReqDetails['RequestedDept']; ?></td>
|
<td width="11%"><strong>Dept:</strong> <?php echo $ReqDetails['RequestedDept']; ?></td>
|
||||||
<td><strong>CCD: </strong><?php echo $ReqDetails['CostCenterCode']; ?></td>
|
<td><strong>CCD: </strong><?php echo $ReqDetails['CostCenterCode']; ?></td>
|
||||||
<td><strong>Fin cap:</strong><?php echo $finCap; ?></td>
|
<td><strong>Fin cap:</strong><?php echo $finCap; ?></td>
|
||||||
</tr>
|
</tr>
|
||||||
@ -253,8 +253,8 @@
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="page" style="height:98%;border-right: solid 2px ;
|
<div class="page" style="height:98%;border-right: solid 1.5px ;
|
||||||
border-left: solid 2px;font-size:12px; ">
|
border-left: solid 1.5px;font-size:12px; ">
|
||||||
<br>
|
<br>
|
||||||
<p><strong>Mode of Shipment</strong>: <?php echo $modShp; ?></p>
|
<p><strong>Mode of Shipment</strong>: <?php echo $modShp; ?></p>
|
||||||
<p><strong>Insurance : <?php echo $insNo; ?></strong></p>
|
<p><strong>Insurance : <?php echo $insNo; ?></strong></p>
|
||||||
@ -268,7 +268,7 @@
|
|||||||
<th><strong>HSN</strong></th>
|
<th><strong>HSN</strong></th>
|
||||||
<th> <strong>UOM</strong></th>
|
<th> <strong>UOM</strong></th>
|
||||||
<th><strong> QTY</strong></th>
|
<th><strong> QTY</strong></th>
|
||||||
<th> <strong>RATE Rs</strong></th>
|
<th> <strong>RATE <span style="font-family: DejaVu Sans; sans-serif;">₹</span></strong></th>
|
||||||
<th> <strong>PER</strong></th>
|
<th> <strong>PER</strong></th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
@ -291,7 +291,7 @@
|
|||||||
|
|
||||||
<tr style="line-height: 1.9em;text-align: center;border: none;">
|
<tr style="line-height: 1.9em;text-align: center;border: none;">
|
||||||
<td style="border-right: solid 1px ;
|
<td style="border-right: solid 1px ;
|
||||||
border-left: solid 1px ;"><?php echo $index ; ?></td>
|
border-left: solid 0px ;"><?php echo $index ; ?></td>
|
||||||
<td style="text-align: left;border-right: solid 1px ;
|
<td style="text-align: left;border-right: solid 1px ;
|
||||||
border-left: solid 1px ;"><?php echo $record->MaterialCode;?></td>
|
border-left: solid 1px ;"><?php echo $record->MaterialCode;?></td>
|
||||||
<td style="text-align: left;border-right: solid 1px ;
|
<td style="text-align: left;border-right: solid 1px ;
|
||||||
@ -314,6 +314,26 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
<?php for($index = ++$index;$index <10;$index++) { ?>
|
||||||
|
<tr style="line-height: 1.9em;text-align: center;border: none;">
|
||||||
|
<td style="border-right: solid 1px ;
|
||||||
|
border-left: solid 0px ;"> <br><br></td>
|
||||||
|
<td style="text-align: left;border-right: solid 1px ;
|
||||||
|
border-left: solid 1px ;"> </td>
|
||||||
|
<td style="text-align: left;border-right: solid 1px ;
|
||||||
|
border-left: solid 1px ;"></td>
|
||||||
|
<td style="border-right: solid 1px ;
|
||||||
|
border-left: solid 1px ;"></td>
|
||||||
|
<td style="border-right: solid 1px ;
|
||||||
|
border-left: solid 1px ;"></td>
|
||||||
|
<td style="border-right: solid 1px ;
|
||||||
|
border-left: solid 1px ;"></td>
|
||||||
|
<td style="border-right: solid 1px ;
|
||||||
|
border-left: solid 1px ;"></td>
|
||||||
|
<td style="border-right: solid 1px ;
|
||||||
|
border-left: solid 1px ;"></td>
|
||||||
|
</tr>
|
||||||
|
<?php }?>
|
||||||
|
|
||||||
|
|
||||||
</tbody>
|
</tbody>
|
||||||
@ -468,13 +488,13 @@
|
|||||||
<span><strong>Payment terms :</strong><br><?php echo $PaymentTerms ." ".$PaymentOtherDescription;?></span>
|
<span><strong>Payment terms :</strong><br><?php echo $PaymentTerms ." ".$PaymentOtherDescription;?></span>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td style="text-align: center;"><strong>Total Amount in Rs</strong></td>
|
<td style="text-align: center;"><strong>Total Amount <span style="font-family: DejaVu Sans; sans-serif;">₹</span></strong></td>
|
||||||
<td style="text-align: center;"><strong>Total CGST Amount in Rs</strong></td>
|
<td style="text-align: center;"><strong>Total CGST Amount <span style="font-family: DejaVu Sans; sans-serif;">₹</span></strong></td>
|
||||||
<td style="text-align: center;"><strong>Total SGST Amount in RS</strong></td>
|
<td style="text-align: center;"><strong>Total SGST Amount <span style="font-family: DejaVu Sans; sans-serif;">₹</span></strong></td>
|
||||||
<td style="text-align: center;"><strong>Total IGST Amount in RS</strong></td>
|
<td style="text-align: center;"><strong>Total IGST Amount <span style="font-family: DejaVu Sans; sans-serif;">₹</span></strong></td>
|
||||||
<td style="text-align: center;"><strong>Others in Rs</strong></td>
|
<td style="text-align: center;"><strong>Others <span style="font-family: DejaVu Sans; sans-serif;">₹</span></strong></td>
|
||||||
<td style="text-align: center;"><strong>Total Tax Amount in Rs</strong></td>
|
<td style="text-align: center;"><strong>Total Tax Amount <span style="font-family: DejaVu Sans; sans-serif;">₹</span></strong></td>
|
||||||
<td style="text-align: center;"><strong>Order Value in Rs</strong></td>
|
<td style="text-align: center;"><strong>Order Value <span style="font-family: DejaVu Sans; sans-serif;">₹</span></strong></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr style="text-align: right;">
|
<tr style="text-align: right;">
|
||||||
<td><?php echo number_format(($TotalOrderValue),2); ?></td>
|
<td><?php echo number_format(($TotalOrderValue),2); ?></td>
|
||||||
|
|||||||
0
application/views/capitalpurchaseorder.php
Normal file → Executable file
0
application/views/capitalpurchaseorder.php
Normal file → Executable file
@ -1198,10 +1198,11 @@ $("#PaymentMethod").select2();
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-12" style="padding:0px">
|
<div class="col-md-12" style="padding:2%">
|
||||||
<div class="col-md-12" id="ADDCAPdiv" >
|
<div class="col-md-12" id="ADDCAPdiv" >
|
||||||
<div class="col-md-12" style="border:1px solid #000;">
|
<div class="col-md-12" style="border:1px solid #000;padding:0px" >
|
||||||
<div class="col-md-12"> <div class="col-md-4">
|
<div class="col-md-12">
|
||||||
|
<div class="col-md-4">
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<label>Discount Type </label>
|
<label>Discount Type </label>
|
||||||
@ -1342,7 +1343,7 @@ $("#PaymentMethod").select2();
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<div class="col-md-12" style="padding:1%;" ></div>
|
<div class="col-md-12" style="padding:1%;" ></div>
|
||||||
<div class="col-md-12" style="border:1px solid #000;padding:0px;" id="ModalImportTaxHide" style="display:none;">
|
<div class="col-md-12" style="border:1px solid #000;padding:0px;" id="ModalImportTaxHide" style="display:none;">
|
||||||
<br/>
|
<br/>
|
||||||
@ -1728,7 +1729,7 @@ $("#PaymentMethod").select2();
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -194,7 +194,7 @@
|
|||||||
<td style= "text-align: center;" colspan="12"><center> <span style="font-size:24px;">PURCHASE ORDER </span></center></td>
|
<td style= "text-align: center;" colspan="12"><center> <span style="font-size:24px;">PURCHASE ORDER </span></center></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td style="width:1px;" rowspan="2"><center><img width="100" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA11JREFUeNrsnT9IHEEYxWfFw8rgpUhlo5URi2gTbIUUSrq1ui4oRLRIY9JIKrGKTQrBgJLuuutEi4CtSSOpPIuATdIEcid2YpN9C3sc8c6bf7uZmX0P7k7ultm7337zzXxvZjGaiaIfQoiqoHTUHk6eniSPUbLQUmUoebojB23dDZGBmQiQAAmQAAmQIkACJEACpAiweA3bbvDV5mb6+iKOxfTc3MDjf15dicbBQfr3591d7wBGM1H0J3l9bNLI84UFsby6mkIzFWACJMCafJ9PJyfSx29vbHQuoqJaxl34zc5O+mVtwIPi5EIcXV52IjnoLvx+by/9wXkIF8aHbq0dgYi4vOB1Q7QV2c4BXM4Z3r+RGBTAR9VqmqhVBoZnIyOdx9taTXqQGJ+YUDqXFwBV4WGU69aXRkNsr69LtyEzHfIKIKJCVl9PT3u+/63P+6bnC64SuWm3jdsYn5xkKcdamCJAAiwjQJcHAC8ATs/OBg1Qy0y4ub6WPhb1cuPwUFycn9/77OPWlvXzeQGw2QPGQ9o/PhZrS0v3IPpooFrpwgChYniidq6fnTnvrBSaA3Uc3A/1uvPuSmEA0f0uFLsyBKcZDjaisvSj8DsFW6pbcHPQpV12WQoBCHhri4taEOGwhJAXjeeBgFebn1eyp0LKi1Ym0rCsXieRqLk06HVetFqJwHmWnRz3yotHzabT9n0hpRxGZ0SjjpGKCEQkxgUtWDlbCyMfIi/qTHMgrDf7srCem5mQDS5YQNKRD2vCuQLMhCVM3bwIiK4PLIUYqrp5EXPFeGWFALO8CEdGddId7NYOHWFQUa1cUO4Fty78/fZW6tFrjx7gqfqAT0PbmWAqVCwq+bDUOxMeyokh6L8B1J1kE2BgIkACJMDyAbSx56/cACV3CoyOjfX9rNSrcrI7E/qVYYCnYhKY3LXkJECVOdx+Us51m6Nwm7HVQyUCf4UGEJuFZPMgIhC+XlYfw21WWQ/GxXJ50q09iBS1MSjYW73ww3SXMVXOobsk4MU80GQZc5DQbl5tOzWRRpS8nJqy1tUAzWZ7ecvKDdfdggWfTV0GbdnA4JB1UdhbHjo0LesAS6YWa2GaCQRIgARIESABEiABUgRIgARYRoAVYtBWBfcL/xb8hwS6av8VYADVjF2M5sTWJAAAAABJRU5ErkJggg==" width="80" /></center></td>
|
<td style="width:1px;background-color: #2c0101;" rowspan="2"><center><img width="100" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA11JREFUeNrsnT9IHEEYxWfFw8rgpUhlo5URi2gTbIUUSrq1ui4oRLRIY9JIKrGKTQrBgJLuuutEi4CtSSOpPIuATdIEcid2YpN9C3sc8c6bf7uZmX0P7k7ultm7337zzXxvZjGaiaIfQoiqoHTUHk6eniSPUbLQUmUoebojB23dDZGBmQiQAAmQAAmQIkACJEACpAiweA3bbvDV5mb6+iKOxfTc3MDjf15dicbBQfr3591d7wBGM1H0J3l9bNLI84UFsby6mkIzFWACJMCafJ9PJyfSx29vbHQuoqJaxl34zc5O+mVtwIPi5EIcXV52IjnoLvx+by/9wXkIF8aHbq0dgYi4vOB1Q7QV2c4BXM4Z3r+RGBTAR9VqmqhVBoZnIyOdx9taTXqQGJ+YUDqXFwBV4WGU69aXRkNsr69LtyEzHfIKIKJCVl9PT3u+/63P+6bnC64SuWm3jdsYn5xkKcdamCJAAiwjQJcHAC8ATs/OBg1Qy0y4ub6WPhb1cuPwUFycn9/77OPWlvXzeQGw2QPGQ9o/PhZrS0v3IPpooFrpwgChYniidq6fnTnvrBSaA3Uc3A/1uvPuSmEA0f0uFLsyBKcZDjaisvSj8DsFW6pbcHPQpV12WQoBCHhri4taEOGwhJAXjeeBgFebn1eyp0LKi1Ym0rCsXieRqLk06HVetFqJwHmWnRz3yotHzabT9n0hpRxGZ0SjjpGKCEQkxgUtWDlbCyMfIi/qTHMgrDf7srCem5mQDS5YQNKRD2vCuQLMhCVM3bwIiK4PLIUYqrp5EXPFeGWFALO8CEdGddId7NYOHWFQUa1cUO4Fty78/fZW6tFrjx7gqfqAT0PbmWAqVCwq+bDUOxMeyokh6L8B1J1kE2BgIkACJMDyAbSx56/cACV3CoyOjfX9rNSrcrI7E/qVYYCnYhKY3LXkJECVOdx+Us51m6Nwm7HVQyUCf4UGEJuFZPMgIhC+XlYfw21WWQ/GxXJ50q09iBS1MSjYW73ww3SXMVXOobsk4MU80GQZc5DQbl5tOzWRRpS8nJqy1tUAzWZ7ecvKDdfdggWfTV0GbdnA4JB1UdhbHjo0LesAS6YWa2GaCQRIgARIESABEiABUgRIgARYRoAVYtBWBfcL/xb8hwS6av8VYADVjF2M5sTWJAAAAABJRU5ErkJggg==" width="80" /></center></td>
|
||||||
<td style="text-align: left;" colspan="5" rowspan="2">
|
<td style="text-align: left;" colspan="5" rowspan="2">
|
||||||
<span><strong style="font-size:16px;"> <?php echo $CompanyName; ?> </strong></span><br>
|
<span><strong style="font-size:16px;"> <?php echo $CompanyName; ?> </strong></span><br>
|
||||||
<span><?php echo $CompanyAddress; ?></span><br><br>
|
<span><?php echo $CompanyAddress; ?></span><br><br>
|
||||||
@ -234,10 +234,10 @@
|
|||||||
{
|
{
|
||||||
?>
|
?>
|
||||||
<tr>
|
<tr>
|
||||||
<td><strong>Indent :</strong></td>
|
<td width="8%"><strong>Indent :</strong></td>
|
||||||
<td><?php echo $ReqDetails['RequistionNo']; ?></td>
|
<td width="11%"><?php echo $ReqDetails['RequistionNo']; ?></td>
|
||||||
<td><?php $date = new DateTime($ReqDetails['ReqDate'],new DateTimeZone('Asia/Kolkata')); $date=$date->format("d-m-Y"); echo $date; ?></td>
|
<td><?php $date = new DateTime($ReqDetails['ReqDate'],new DateTimeZone('Asia/Kolkata')); $date=$date->format("d-m-Y"); echo $date; ?></td>
|
||||||
<td><strong>Dept:</strong> <?php echo $ReqDetails['RequestedDept']; ?></td>
|
<td width="11%"><strong>Dept:</strong> <?php echo $ReqDetails['RequestedDept']; ?></td>
|
||||||
<td><strong>CCD: </strong><?php echo $ReqDetails['CostCenterCode']; ?></td>
|
<td><strong>CCD: </strong><?php echo $ReqDetails['CostCenterCode']; ?></td>
|
||||||
<td><strong>Fin cap:</strong><?php echo $finCap; ?></td>
|
<td><strong>Fin cap:</strong><?php echo $finCap; ?></td>
|
||||||
</tr>
|
</tr>
|
||||||
@ -246,8 +246,8 @@
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="page" style="height:98%; border-right: solid 1px ;
|
<div class="page" style="height:98%; border-right: solid 1.5px ;
|
||||||
border-left: solid 1px ;font-size:12px;">
|
border-left: solid 1.5px ;font-size:12px;">
|
||||||
<br>
|
<br>
|
||||||
<p><strong>Mode of Shipment</strong>:<?php echo $modeofshipment;?> </p>
|
<p><strong>Mode of Shipment</strong>:<?php echo $modeofshipment;?> </p>
|
||||||
<p><strong>Insurance : </strong><?php echo $insuranceno;?></p>
|
<p><strong>Insurance : </strong><?php echo $insuranceno;?></p>
|
||||||
@ -262,7 +262,7 @@
|
|||||||
<th style="text-align: center;"><strong>HSN</strong></th>
|
<th style="text-align: center;"><strong>HSN</strong></th>
|
||||||
<th style="text-align: center;"> <strong>UOM</strong></th>
|
<th style="text-align: center;"> <strong>UOM</strong></th>
|
||||||
<th style="text-align: center;"><strong> QTY</strong></th>
|
<th style="text-align: center;"><strong> QTY</strong></th>
|
||||||
<th style="text-align: center;"> <strong>RATE Rs</strong></th>
|
<th style="text-align: center;"> <strong>RATE <span style="font-family: DejaVu Sans; sans-serif;">₹</span></strong></th>
|
||||||
<th style="text-align: center;"> <strong>PER</strong></th>
|
<th style="text-align: center;"> <strong>PER</strong></th>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
@ -291,9 +291,9 @@
|
|||||||
$index = $index + 1;
|
$index = $index + 1;
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<tr style="text-align: center;line-height: 1.5em;border: none;">
|
<tr style="text-align: center;line-height: 1.8em;border: none;">
|
||||||
<td style="border-right: solid 1px ;
|
<td style="border-right: solid 1px ;
|
||||||
border-left: solid 1px ;"><?php echo $index ; ?></td>
|
border-left: solid 0px ;"><?php echo $index ; ?></td>
|
||||||
<td style="text-align: left;border-right: solid 1px ;
|
<td style="text-align: left;border-right: solid 1px ;
|
||||||
border-left: solid 1px ;"><?php echo $record->MaterialCode ; ?></td>
|
border-left: solid 1px ;"><?php echo $record->MaterialCode ; ?></td>
|
||||||
<td style="text-align: left;border-right: solid 1px ;
|
<td style="text-align: left;border-right: solid 1px ;
|
||||||
@ -307,9 +307,8 @@
|
|||||||
<td style="border-right: solid 1px ;
|
<td style="border-right: solid 1px ;
|
||||||
border-left: solid 1px ;"><?php echo number_format(($record->Rate),2) ; ?></td>
|
border-left: solid 1px ;"><?php echo number_format(($record->Rate),2) ; ?></td>
|
||||||
<td style="border-right: solid 1px ;
|
<td style="border-right: solid 1px ;
|
||||||
border-left: solid 1px ;"><?php echo $record->Per ; ?></td><!--per data should be come-->
|
border-left: solid 1px ;"><?php echo $record->Per ; ?></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
$SubTotalAmount = $SubTotalAmount + $record->BasicValue;
|
$SubTotalAmount = $SubTotalAmount + $record->BasicValue;
|
||||||
|
|
||||||
@ -328,6 +327,27 @@
|
|||||||
$OrderValue = (( $SubTotalAmount + $AfterCGST +$AfterIGST+$AfterSGST +$Insurance +$AfterFreightValue+$AfterPackaging) - $AfterDiscount) ;
|
$OrderValue = (( $SubTotalAmount + $AfterCGST +$AfterIGST+$AfterSGST +$Insurance +$AfterFreightValue+$AfterPackaging) - $AfterDiscount) ;
|
||||||
}?>
|
}?>
|
||||||
|
|
||||||
|
<?php for($index = ++$index;$index <10;$index++) { ?>
|
||||||
|
<tr style="text-align: center;line-height: 1.8em;border: none;">
|
||||||
|
<td style="border-right: solid 1px ;
|
||||||
|
border-left: solid 0px ;"> <br><br></td>
|
||||||
|
<td style="text-align: left;border-right: solid 1px ;
|
||||||
|
border-left: solid 1px ;"> </td>
|
||||||
|
<td style="text-align: left;border-right: solid 1px ;
|
||||||
|
border-left: solid 1px ;"> </td>
|
||||||
|
<td style="border-right: solid 1px ;
|
||||||
|
border-left: solid 1px ;"> </td>
|
||||||
|
<td style="border-right: solid 1px ;
|
||||||
|
border-left: solid 1px ;"> </td>
|
||||||
|
<td style="border-right: solid 1px ;
|
||||||
|
border-left: solid 1px ;"> </td>
|
||||||
|
<td style="border-right: solid 1px ;
|
||||||
|
border-left: solid 1px ;"> </td>
|
||||||
|
<td style="border-right: solid 1px ;
|
||||||
|
border-left: solid 1px ;"> </td>
|
||||||
|
</tr>
|
||||||
|
<?php } ?>
|
||||||
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
@ -428,13 +448,13 @@ $OrderValue = (( $SubTotalAmount + $AfterCGST +$AfterIGST+$AfterSGST +$Insuranc
|
|||||||
<td colspan="4" rowspan="3" width="50%">
|
<td colspan="4" rowspan="3" width="50%">
|
||||||
<span><strong>Payment terms</strong> :<br><?php echo $PaymentTerms ." ".$PaymentOtherDescription;?></span>
|
<span><strong>Payment terms</strong> :<br><?php echo $PaymentTerms ." ".$PaymentOtherDescription;?></span>
|
||||||
</td>
|
</td>
|
||||||
<td style="text-align: center;"><strong>Total Amount in Rs</strong></td>
|
<td style="text-align: center;"><strong>Total Amount <span style="font-family: DejaVu Sans; sans-serif;">₹</span></strong></td>
|
||||||
<td style="text-align: center;"><strong>Total CGST Amount in Rs</strong></td>
|
<td style="text-align: center;"><strong>Total CGST Amount <span style="font-family: DejaVu Sans; sans-serif;">₹</span></strong></td>
|
||||||
<td style="text-align: center;"><strong>Total SGST Amount in RS</strong></td>
|
<td style="text-align: center;"><strong>Total SGST Amount <span style="font-family: DejaVu Sans; sans-serif;">₹</span></strong></td>
|
||||||
<td style="text-align: center;"><strong>Total IGST Amount in RS</strong></td>
|
<td style="text-align: center;"><strong>Total IGST Amount <span style="font-family: DejaVu Sans; sans-serif;">₹</span></strong></td>
|
||||||
<td style="text-align: center;"><strong>Others in Rs</strong></td>
|
<td style="text-align: center;"><strong>Others <span style="font-family: DejaVu Sans; sans-serif;">₹</span></strong></td>
|
||||||
<td style="text-align: center;"><strong>Total Tax Amount in Rs</strong></td>
|
<td style="text-align: center;"><strong>Total Tax Amount <span style="font-family: DejaVu Sans; sans-serif;">₹</span></strong></td>
|
||||||
<td style="text-align: center;"><strong>Order Value in Rs</strong></td>
|
<td style="text-align: center;"><strong>Order Value <span style="font-family: DejaVu Sans; sans-serif;">₹</span></strong></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td style="text-align: right;"><?php echo number_format($OrderValue,2);?></td>
|
<td style="text-align: right;"><?php echo number_format($OrderValue,2);?></td>
|
||||||
|
|||||||
@ -131,6 +131,7 @@
|
|||||||
.header { position: fixed; left: 0px; top: -280px; right: 0px; height: 500px;text-align: center; }
|
.header { position: fixed; left: 0px; top: -280px; right: 0px; height: 500px;text-align: center; }
|
||||||
.footer { position: fixed; bottom: 10px;}
|
.footer { position: fixed; bottom: 10px;}
|
||||||
.pagenum:before { content: counter(page); }
|
.pagenum:before { content: counter(page); }
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
@ -191,7 +192,7 @@
|
|||||||
<td style= "text-align: center;" colspan="12"><center> <span style="font-size:24px;">PURCHASE ORDER </span></center></td>
|
<td style= "text-align: center;" colspan="12"><center> <span style="font-size:24px;">PURCHASE ORDER </span></center></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td style="width:1px;" rowspan="2"><center><img width="100" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA11JREFUeNrsnT9IHEEYxWfFw8rgpUhlo5URi2gTbIUUSrq1ui4oRLRIY9JIKrGKTQrBgJLuuutEi4CtSSOpPIuATdIEcid2YpN9C3sc8c6bf7uZmX0P7k7ultm7337zzXxvZjGaiaIfQoiqoHTUHk6eniSPUbLQUmUoebojB23dDZGBmQiQAAmQAAmQIkACJEACpAiweA3bbvDV5mb6+iKOxfTc3MDjf15dicbBQfr3591d7wBGM1H0J3l9bNLI84UFsby6mkIzFWACJMCafJ9PJyfSx29vbHQuoqJaxl34zc5O+mVtwIPi5EIcXV52IjnoLvx+by/9wXkIF8aHbq0dgYi4vOB1Q7QV2c4BXM4Z3r+RGBTAR9VqmqhVBoZnIyOdx9taTXqQGJ+YUDqXFwBV4WGU69aXRkNsr69LtyEzHfIKIKJCVl9PT3u+/63P+6bnC64SuWm3jdsYn5xkKcdamCJAAiwjQJcHAC8ATs/OBg1Qy0y4ub6WPhb1cuPwUFycn9/77OPWlvXzeQGw2QPGQ9o/PhZrS0v3IPpooFrpwgChYniidq6fnTnvrBSaA3Uc3A/1uvPuSmEA0f0uFLsyBKcZDjaisvSj8DsFW6pbcHPQpV12WQoBCHhri4taEOGwhJAXjeeBgFebn1eyp0LKi1Ym0rCsXieRqLk06HVetFqJwHmWnRz3yotHzabT9n0hpRxGZ0SjjpGKCEQkxgUtWDlbCyMfIi/qTHMgrDf7srCem5mQDS5YQNKRD2vCuQLMhCVM3bwIiK4PLIUYqrp5EXPFeGWFALO8CEdGddId7NYOHWFQUa1cUO4Fty78/fZW6tFrjx7gqfqAT0PbmWAqVCwq+bDUOxMeyokh6L8B1J1kE2BgIkACJMDyAbSx56/cACV3CoyOjfX9rNSrcrI7E/qVYYCnYhKY3LXkJECVOdx+Us51m6Nwm7HVQyUCf4UGEJuFZPMgIhC+XlYfw21WWQ/GxXJ50q09iBS1MSjYW73ww3SXMVXOobsk4MU80GQZc5DQbl5tOzWRRpS8nJqy1tUAzWZ7ecvKDdfdggWfTV0GbdnA4JB1UdhbHjo0LesAS6YWa2GaCQRIgARIESABEiABUgRIgARYRoAVYtBWBfcL/xb8hwS6av8VYADVjF2M5sTWJAAAAABJRU5ErkJggg==" width="80" /></center></td>
|
<td style="width:1px;background-color: #2c0101;" rowspan="2"><center><img width="100" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA11JREFUeNrsnT9IHEEYxWfFw8rgpUhlo5URi2gTbIUUSrq1ui4oRLRIY9JIKrGKTQrBgJLuuutEi4CtSSOpPIuATdIEcid2YpN9C3sc8c6bf7uZmX0P7k7ultm7337zzXxvZjGaiaIfQoiqoHTUHk6eniSPUbLQUmUoebojB23dDZGBmQiQAAmQAAmQIkACJEACpAiweA3bbvDV5mb6+iKOxfTc3MDjf15dicbBQfr3591d7wBGM1H0J3l9bNLI84UFsby6mkIzFWACJMCafJ9PJyfSx29vbHQuoqJaxl34zc5O+mVtwIPi5EIcXV52IjnoLvx+by/9wXkIF8aHbq0dgYi4vOB1Q7QV2c4BXM4Z3r+RGBTAR9VqmqhVBoZnIyOdx9taTXqQGJ+YUDqXFwBV4WGU69aXRkNsr69LtyEzHfIKIKJCVl9PT3u+/63P+6bnC64SuWm3jdsYn5xkKcdamCJAAiwjQJcHAC8ATs/OBg1Qy0y4ub6WPhb1cuPwUFycn9/77OPWlvXzeQGw2QPGQ9o/PhZrS0v3IPpooFrpwgChYniidq6fnTnvrBSaA3Uc3A/1uvPuSmEA0f0uFLsyBKcZDjaisvSj8DsFW6pbcHPQpV12WQoBCHhri4taEOGwhJAXjeeBgFebn1eyp0LKi1Ym0rCsXieRqLk06HVetFqJwHmWnRz3yotHzabT9n0hpRxGZ0SjjpGKCEQkxgUtWDlbCyMfIi/qTHMgrDf7srCem5mQDS5YQNKRD2vCuQLMhCVM3bwIiK4PLIUYqrp5EXPFeGWFALO8CEdGddId7NYOHWFQUa1cUO4Fty78/fZW6tFrjx7gqfqAT0PbmWAqVCwq+bDUOxMeyokh6L8B1J1kE2BgIkACJMDyAbSx56/cACV3CoyOjfX9rNSrcrI7E/qVYYCnYhKY3LXkJECVOdx+Us51m6Nwm7HVQyUCf4UGEJuFZPMgIhC+XlYfw21WWQ/GxXJ50q09iBS1MSjYW73ww3SXMVXOobsk4MU80GQZc5DQbl5tOzWRRpS8nJqy1tUAzWZ7ecvKDdfdggWfTV0GbdnA4JB1UdhbHjo0LesAS6YWa2GaCQRIgARIESABEiABUgRIgARYRoAVYtBWBfcL/xb8hwS6av8VYADVjF2M5sTWJAAAAABJRU5ErkJggg==" width="80" /></center></td>
|
||||||
<td style="text-align: left;" colspan="5" rowspan="2">
|
<td style="text-align: left;" colspan="5" rowspan="2">
|
||||||
<span><strong style="font-size:16px;"> <?php echo $CompanyName; ?> </strong></span><br>
|
<span><strong style="font-size:16px;"> <?php echo $CompanyName; ?> </strong></span><br>
|
||||||
<span><?php echo $CompanyAddress; ?></span><br><br>
|
<span><?php echo $CompanyAddress; ?></span><br><br>
|
||||||
@ -231,10 +232,10 @@
|
|||||||
{
|
{
|
||||||
?>
|
?>
|
||||||
<tr>
|
<tr>
|
||||||
<td><strong>Indent :</strong></td>
|
<td width="8%"><strong>Indent :</strong></td>
|
||||||
<td><?php echo $ReqDetails['RequistionNo']; ?></td>
|
<td width="11%"><?php echo $ReqDetails['RequistionNo']; ?></td>
|
||||||
<td><?php $date = new DateTime($ReqDetails['ReqDate'],new DateTimeZone('Asia/Kolkata')); $date=$date->format("d-m-Y"); echo $date; ?></td>
|
<td><?php $date = new DateTime($ReqDetails['ReqDate'],new DateTimeZone('Asia/Kolkata')); $date=$date->format("d-m-Y"); echo $date; ?></td>
|
||||||
<td><strong>Dept:</strong> <?php echo $ReqDetails['RequestedDept']; ?></td>
|
<td width="11%"><strong>Dept:</strong> <?php echo $ReqDetails['RequestedDept']; ?></td>
|
||||||
<td><strong>CCD: </strong><?php echo $ReqDetails['CostCenterCode']; ?></td>
|
<td><strong>CCD: </strong><?php echo $ReqDetails['CostCenterCode']; ?></td>
|
||||||
<td><strong>Fin cap:</strong><?php echo $finCap; ?></td>
|
<td><strong>Fin cap:</strong><?php echo $finCap; ?></td>
|
||||||
</tr>
|
</tr>
|
||||||
@ -243,8 +244,8 @@
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="page" style="height:98%;border-right: solid 2px ;
|
<div class="page" style="height:98%;border-right: solid 1.5px ;
|
||||||
border-left: solid 2px;font-size:12px;">
|
border-left: solid 1.5px;font-size:12px;">
|
||||||
<br>
|
<br>
|
||||||
<p><strong>Mode of Shipment</strong>: <?php echo $modShp; ?></p>
|
<p><strong>Mode of Shipment</strong>: <?php echo $modShp; ?></p>
|
||||||
<p><strong>Insurance </strong>:<?php echo $insNo; ?></p>
|
<p><strong>Insurance </strong>:<?php echo $insNo; ?></p>
|
||||||
@ -257,7 +258,7 @@
|
|||||||
<th style="text-align: center;"><strong>SERVICE DESCRIPTION</strong></th>
|
<th style="text-align: center;"><strong>SERVICE DESCRIPTION</strong></th>
|
||||||
<th style="text-align: center;"><strong>UOM</strong></th>
|
<th style="text-align: center;"><strong>UOM</strong></th>
|
||||||
<th style="text-align: center;"><strong>QTY</strong></th>
|
<th style="text-align: center;"><strong>QTY</strong></th>
|
||||||
<th style="text-align: center;"><strong>RATE Rs</strong></th>
|
<th style="text-align: center;"><strong>RATE <span style="font-family: DejaVu Sans; sans-serif;">₹</span></strong></th>
|
||||||
<th style="text-align: center;"><strong>PER</strong></th>
|
<th style="text-align: center;"><strong>PER</strong></th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
@ -265,7 +266,7 @@
|
|||||||
|
|
||||||
<tr style="border: none;"><td style="border-right: solid 1px ;
|
<tr style="border: none;"><td style="border-right: solid 1px ;
|
||||||
border-left: solid 1px ;"></td><td style="border-right: solid 1px ;
|
border-left: solid 1px ;"></td><td style="border-right: solid 1px ;
|
||||||
border-left: solid 1px ;"> <strong><?php echo $serviceDescription; ?></strong></td><td style="border-right: solid 1px ;
|
border-left: solid 1px ;"> <strong><?php if ($serviceDescription != ''){echo $serviceDescription;} else { echo '<br/>';} ?></strong></td><td style="border-right: solid 1px ;
|
||||||
border-left: solid 1px ;"></td><td style="border-right: solid 1px ;
|
border-left: solid 1px ;"></td><td style="border-right: solid 1px ;
|
||||||
border-left: solid 1px ;"></td><td style="border-right: solid 1px ;
|
border-left: solid 1px ;"></td><td style="border-right: solid 1px ;
|
||||||
border-left: solid 1px ;"></td><td style="border-right: solid 1px ;
|
border-left: solid 1px ;"></td><td style="border-right: solid 1px ;
|
||||||
@ -290,18 +291,19 @@
|
|||||||
?>
|
?>
|
||||||
<tr style="line-height: 1em;border: none;"">
|
<tr style="line-height: 1em;border: none;"">
|
||||||
<td style="text-align: center;border-right: solid 1px ;
|
<td style="text-align: center;border-right: solid 1px ;
|
||||||
border-left: solid 1px ;"><?php echo $index ; ?></td>
|
border-left: solid 0px ;"><?php echo $index ; ?></td>
|
||||||
<td style="border-right: solid 1px ;
|
<td style="border-right: solid 1px ;
|
||||||
border-left: solid 1px ;"><?php echo $record->ServiceMaterialDescription ; ?></td>
|
border-left: solid 1px ;"><?php echo $record->ServiceMaterialDescription ; ?></td>
|
||||||
<td style="text-align: center;border-right: solid 1px ;
|
<td style="text-align: center;border-right: solid 1px ;
|
||||||
border-left: solid 1px ;"><?php echo $record->UOM ; ?></td>
|
border-left: solid 1px ;"><?php echo $record->UOM ; ?></td>
|
||||||
<td style="text-align: center;border-right: solid 1px ;
|
<td style="text-align: center;border-right: solid 1px ;
|
||||||
border-left: solid 1px ;"><?php echo $record->Quantity ; ?> </td>
|
border-left: solid 1px ;"><?php echo $record->Quantity ; ?> </td>
|
||||||
<td style="text-align: center;border-right: solid 1px ;
|
<td style="text-align: center;border-right: solid 1px ;
|
||||||
border-left: solid 1px ;"><?php echo number_format(($record->Rate),2) ; ?> </td>
|
border-left: solid 1px ;"><?php echo number_format(($record->Rate),2) ; ?> </td>
|
||||||
<td style="text-align: center;border-right: solid 1px ;
|
<td style="text-align: center;border-right: solid 1px ;
|
||||||
border-left: solid 1px ;"><?php echo $record->Per; ?></td>
|
border-left: solid 1px ;"><?php echo $record->Per; ?></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
$SubTotalAmount = $SubTotalAmount + $TotalAmount;
|
$SubTotalAmount = $SubTotalAmount + $TotalAmount;
|
||||||
$AfterSGST =$AfterSGST + $record->After_SGST;
|
$AfterSGST =$AfterSGST + $record->After_SGST;
|
||||||
@ -315,6 +317,22 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
<?php for($index = ++$index;$index <10;$index++) { ?>
|
||||||
|
<tr style="line-height: 1em;border: none;">
|
||||||
|
<td style="text-align: center;border-right: solid 1px ;
|
||||||
|
border-left: solid 0px ;"> <br> <br></td>
|
||||||
|
<td style="border-right: solid 1px ;
|
||||||
|
border-left: solid 1px ;"> </td>
|
||||||
|
<td style="text-align: center;border-right: solid 1px ;
|
||||||
|
border-left: solid 1px ;"> </td>
|
||||||
|
<td style="text-align: center;border-right: solid 1px ;
|
||||||
|
border-left: solid 1px ;"> </td>
|
||||||
|
<td style="text-align: center;border-right: solid 1px ;
|
||||||
|
border-left: solid 1px ;"> </td>
|
||||||
|
<td style="text-align: center;border-right: solid 1px ;
|
||||||
|
border-left: solid 1px ;"> </td>
|
||||||
|
</tr>
|
||||||
|
<?php }?>
|
||||||
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
@ -412,13 +430,13 @@
|
|||||||
<td colspan="4" rowspan="3" width="50%">
|
<td colspan="4" rowspan="3" width="50%">
|
||||||
<span><strong>Payment terms :</strong><br><?php echo $PaymentTerms ." ".$PaymentOtherDescription;?></span>
|
<span><strong>Payment terms :</strong><br><?php echo $PaymentTerms ." ".$PaymentOtherDescription;?></span>
|
||||||
</td>
|
</td>
|
||||||
<td style="text-align: center;"><strong>Total Amount in Rs</strong></td>
|
<td style="text-align: center;"><strong>Total Amount <span style="font-family: DejaVu Sans; sans-serif;">₹</span></strong></td>
|
||||||
<td style="text-align: center;"><strong>Total CGST Amount in Rs</strong></td>
|
<td style="text-align: center;"><strong>Total CGST Amount <span style="font-family: DejaVu Sans; sans-serif;">₹</span></strong></td>
|
||||||
<td style="text-align: center;"><strong>Total SGST Amount in Rs</strong></td>
|
<td style="text-align: center;"><strong>Total SGST Amount <span style="font-family: DejaVu Sans; sans-serif;">₹</span></strong></td>
|
||||||
<td style="text-align: center;"><strong>Total IGST Amount in Rs</strong></td>
|
<td style="text-align: center;"><strong>Total IGST Amount <span style="font-family: DejaVu Sans; sans-serif;">₹</span></strong></td>
|
||||||
<td style="text-align: center;"><strong>Others in Rs</strong></td>
|
<td style="text-align: center;"><strong>Others <span style="font-family: DejaVu Sans; sans-serif;">₹</span></strong></td>
|
||||||
<td style="text-align: center;"><strong>Total Tax in Rs</strong></td>
|
<td style="text-align: center;"><strong>Total Tax <span style="font-family: DejaVu Sans; sans-serif;">₹</span></strong></td>
|
||||||
<td style="text-align: center;"><strong>Order value in Rs</strong></td>
|
<td style="text-align: center;"><strong>Order value <span style="font-family: DejaVu Sans; sans-serif;">₹</span></strong></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr style="text-align: right;">
|
<tr style="text-align: right;">
|
||||||
<td><?php echo number_format(($BasicAmount),2 )?> </td>
|
<td><?php echo number_format(($BasicAmount),2 )?> </td>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user