From 3d068bb1803582b2ec0eda69ec1a52fefe489e7a Mon Sep 17 00:00:00 2001 From: "vincent@cubedesigners.com" Date: Mon, 7 Mar 2011 14:09:12 +0000 Subject: [PATCH] --- inc/ws/Metier/class.ws.document.php | 39 +++++++++++++++++++++++++++-- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/inc/ws/Metier/class.ws.document.php b/inc/ws/Metier/class.ws.document.php index 605cb94c0..5d99a4564 100644 --- a/inc/ws/Metier/class.ws.document.php +++ b/inc/ws/Metier/class.ws.document.php @@ -92,7 +92,7 @@ class wsDocument extends cubeMetier { public function extractFonts() { - $out = $this->out . 'fonts'; + $out = $this->out . 'fonts/pdf'; if (!file_exists($out)) { mkdir($out, 0777, true); } @@ -105,16 +105,51 @@ class wsDocument extends cubeMetier { $this->addToLog($pdfextract);*/ $gs = new cubeCommandLine('gs'); + $gs->setPath(CONVERTER_PATH); $gs->cd($out); $gs->setArg('-dBATCH'); $gs->setArg('-dNOPAUSE'); $gs->setArg('-dNOPROMPT'); $gs->setArg('-dNODISPLAY'); - $gs->setArg(null, WS_TOOLS.'/extractFonts.ps'); + $gs->setArg(null, WS_TOOLS . '/extractFonts.ps'); $gs->setManualArg('-c "(' . $this->cropped . ') extractFonts quit"'); $gs->execute(); $this->addToLog($gs); + + $dr = opendir($out); + + if (!file_exists($this->out . '/fonts/web')) { + mkdir($this->out . '/fonts/web', 0777, true); + } + $formats = array('ttf', 'woff', 'svg', 'svgz', 'eot'); + // Fonts conversion + while ($file = readdir($dr)) { + if ($file == '.' || $file == '..') { + continue; + } + + $e = explode('.', $file); + array_pop($e); + $fname = implode('.', $e); + + foreach($formats as $format) { + if ($format == 'eot') { + $ttf2eot = new cubeCommandLine('ttf2eot', $this->out . '/fonts/web/' . $fname . '.eot'); + $ttf2eot->setPath(CONVERTER_PATH); + $ttf2eot->setManualArg('< ' . $this->out . '/fonts/web/' . $fname . '.ttf'); + $ttf2eot->execute(); + } else { + $fontforge = new cubeCommandLine('convert.pe'); + $fontforge->setPath(CONVERTER_PATH); + $fontforge->setArg(null, $out . '/' . $file); + $fontforge->setArg(null, $this->out . '/fonts/web/' . $fname . '.' . $format); + $fontforge->execute(); + } + } + + $this->addToLog($fontforge); + } } public function getInfos($in = null, $force = false) -- 2.39.5