123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234 |
- <?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;
- //==============================================================
- //==============================================================
- //==============================================================
- //==============================================================
|