forked from kevinowino869/mitrobill
PHPMixBill v5.0 - First Upload
This commit is contained in:
237
system/vendors/mpdf/utils/font_dump_OTL.php
vendored
Normal file
237
system/vendors/mpdf/utils/font_dump_OTL.php
vendored
Normal file
@ -0,0 +1,237 @@
|
||||
<?php
|
||||
|
||||
|
||||
|
||||
$family = 'khmeros';
|
||||
//////////////////////////////////
|
||||
$style = ''; // '','B','I','BI'; // At present only works for Regular style
|
||||
//////////////////////////////////
|
||||
//////////////////////////////////
|
||||
|
||||
$script = '';
|
||||
$lang = '';
|
||||
if (isset($_REQUEST['script'])) { $script = $_REQUEST['script']; }
|
||||
if (isset($_REQUEST['lang'])) { $lang = $_REQUEST['lang']; }
|
||||
|
||||
if ($script && strlen($script )<4) { $script = str_pad($script , 4, ' '); }
|
||||
if ($lang && strlen($lang)<4) { $lang = str_pad($lang, 4, ' '); }
|
||||
|
||||
//////////////////////////////////
|
||||
//////////////////////////////////
|
||||
//////////////////////////////////
|
||||
|
||||
set_time_limit(1200);
|
||||
ini_set("memory_limit","512M");
|
||||
|
||||
//==============================================================
|
||||
$overrideTTFFontRestriction = true;
|
||||
//==============================================================
|
||||
include("../mpdf.php");
|
||||
|
||||
$mpdf=new mPDF('');
|
||||
|
||||
$mpdf->simpleTables = true;
|
||||
|
||||
//==============================================================
|
||||
// This generates a .mtx.php file if not already generated
|
||||
$mpdf->SetFont($family,$style);
|
||||
//==============================================================
|
||||
//==============================================================
|
||||
//==============================================================
|
||||
//==============================================================
|
||||
$ff = array();
|
||||
$ffs = '';
|
||||
if ($lang && $script) {
|
||||
$GSUBFeatures = $mpdf->CurrentFont['GSUBFeatures'][$script][$lang];
|
||||
if (is_array($GSUBFeatures)) {
|
||||
foreach($GSUBFeatures AS $tag=>$v) {
|
||||
$ff[] = '"'.$tag.'" 0';
|
||||
}
|
||||
}
|
||||
$GPOSFeatures = $mpdf->CurrentFont['GPOSFeatures'][$script][$lang];
|
||||
if (is_array($GPOSFeatures )) {
|
||||
foreach($GPOSFeatures AS $tag=>$v) {
|
||||
$ff[] = '"'.$tag.'" 0';
|
||||
}
|
||||
}
|
||||
$ffs = implode(', ',$ff);
|
||||
}
|
||||
//==============================================================
|
||||
|
||||
$html = '
|
||||
<style>
|
||||
body {
|
||||
font-family: DejaVuSansCondensed;
|
||||
font-weight: normal;
|
||||
font-size: 11pt;
|
||||
font-feature-settings: '.$ffs.';
|
||||
}
|
||||
h5 {
|
||||
font-size: 1rem;
|
||||
color: #000066;
|
||||
margin-bottom: 0.3em;
|
||||
}
|
||||
.glyphs {
|
||||
font-family: '.$family.';
|
||||
}
|
||||
.subtable {
|
||||
font-size: 0.7rem;
|
||||
}
|
||||
h5.level2 {
|
||||
font-size: 0.85rem;
|
||||
color: #6666AA;
|
||||
}
|
||||
.lookuptype {
|
||||
font-size: 0.7rem;
|
||||
color: #888888;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
.lookuptypesub {
|
||||
font-size: 0.7rem;
|
||||
color: #888888;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
span.unicode {
|
||||
color: #888888;
|
||||
font-size: 0.7rem;
|
||||
}
|
||||
span.changed {
|
||||
font-family: '.$family.';
|
||||
font-size: 1.5rem;
|
||||
color: #FF4444;
|
||||
font-feature-settings: '.$ffs.';
|
||||
}
|
||||
span.unchanged {
|
||||
font-family: '.$family.';
|
||||
font-size: 1.5rem;
|
||||
color: #4444FF;
|
||||
font-feature-settings: '.$ffs.';
|
||||
}
|
||||
span.backtrack {
|
||||
font-family: '.$family.';
|
||||
font-size: 1.5rem;
|
||||
color: #66aa66;
|
||||
font-feature-settings: '.$ffs.';
|
||||
}
|
||||
span.lookahead {
|
||||
font-family: '.$family.';
|
||||
font-size: 1.5rem;
|
||||
color: #66aa66;
|
||||
font-feature-settings: '.$ffs.';
|
||||
}
|
||||
span.inputother {
|
||||
font-family: '.$family.';
|
||||
font-size: 1.5rem;
|
||||
color: #006688;
|
||||
font-feature-settings: '.$ffs.';
|
||||
}
|
||||
div.context {
|
||||
font-size: 0.7rem;
|
||||
color: #888888;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
div.sequenceIndex {
|
||||
font-size: 0.7rem;
|
||||
}
|
||||
div.rule {
|
||||
font-size: 0.7rem;
|
||||
}
|
||||
.ignore {
|
||||
color: #888888;
|
||||
font-size: 0.7rem;
|
||||
}
|
||||
div.level2 {
|
||||
margin-left: 5em;
|
||||
}
|
||||
</style>
|
||||
<body>
|
||||
<h1 style="text-align:center;">'.strtoupper($family.$style).'</h1>
|
||||
';
|
||||
|
||||
if ($lang && $script) {
|
||||
$html .= '<h2 style="text-align:center;">'.$script.' '.$lang.'</h2>';
|
||||
}
|
||||
$mpdf->WriteHTML($html);
|
||||
//==============================================================
|
||||
//==============================================================
|
||||
//==============================================================
|
||||
//==============================================================
|
||||
$mpdf->debugfonts = false;
|
||||
|
||||
$family = strtolower($family);
|
||||
$style=strtoupper($style);
|
||||
if($style=='IB') $style='BI';
|
||||
$fontkey = $family.$style;
|
||||
$stylekey = $style;
|
||||
if (!$style) { $stylekey = 'R'; }
|
||||
|
||||
//==============================================================
|
||||
$mpdf->overrideOTLsettings[$fontkey]['script'] = $script;
|
||||
$mpdf->overrideOTLsettings[$fontkey]['lang'] = $lang;
|
||||
//==============================================================
|
||||
|
||||
|
||||
//include(_MPDF_TTFONTDATAPATH.$fontkey.'.mtx.php');
|
||||
|
||||
$ttffile = '';
|
||||
if (defined('_MPDF_SYSTEM_TTFONTS')) {
|
||||
$ttffile = _MPDF_SYSTEM_TTFONTS.$mpdf->fontdata[$family][$stylekey];
|
||||
if (!file_exists($ttffile)) { $ttffile = ''; }
|
||||
}
|
||||
if (!$ttffile) {
|
||||
$ttffile = _MPDF_TTFONTPATH.$mpdf->fontdata[$family][$stylekey];
|
||||
if (!file_exists($ttffile)) { die("mPDF Error - cannot find TTF TrueType font file - ".$ttffile); }
|
||||
}
|
||||
$ttfstat = stat($ttffile);
|
||||
|
||||
if (isset($mpdf->fontdata[$family]['TTCfontID'][$stylekey])) { $TTCfontID = $mpdf->fontdata[$family]['TTCfontID'][$stylekey]; }
|
||||
else { $TTCfontID = 0; }
|
||||
|
||||
|
||||
$BMPonly = false;
|
||||
if (in_array($family,$mpdf->BMPonly)) { $BMPonly = true; }
|
||||
$useOTL = $mpdf->fontdata[$family]['useOTL'];
|
||||
include(_MPDF_PATH .'classes/otl_dump.php');
|
||||
$ttf = new OTLdump($mpdf);
|
||||
|
||||
$mpdf->OTLscript = $script;
|
||||
$mpdf->OTLlang = $lang;
|
||||
|
||||
//==============================================================
|
||||
//==============================================================
|
||||
//==============================================================
|
||||
//==============================================================
|
||||
//==============================================================
|
||||
//==============================================================
|
||||
if($lang && $script) {
|
||||
|
||||
$ttf->getMetrics($ttffile, $fontkey, $TTCfontID, $mpdf->debugfonts, $BMPonly, true, $useOTL, 'detail');
|
||||
}
|
||||
//==============================================================
|
||||
//==============================================================
|
||||
//==============================================================
|
||||
//==============================================================
|
||||
else { // IF lang and script not defined
|
||||
|
||||
$ttf->getMetrics($ttffile, $fontkey, $TTCfontID, $mpdf->debugfonts, $BMPonly, true, $useOTL, 'summary');
|
||||
|
||||
}
|
||||
|
||||
|
||||
//==============================================================
|
||||
//==============================================================
|
||||
//==============================================================
|
||||
//==============================================================
|
||||
//==============================================================
|
||||
//==============================================================
|
||||
|
||||
$mpdf->Output();
|
||||
exit;
|
||||
|
||||
//==============================================================
|
||||
//==============================================================
|
||||
//==============================================================
|
||||
//==============================================================
|
||||
|
||||
|
||||
?>
|
Reference in New Issue
Block a user