]> _ Git - cubeextranet.git/commitdiff
(no commit message)
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Mon, 7 Mar 2011 14:09:12 +0000 (14:09 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Mon, 7 Mar 2011 14:09:12 +0000 (14:09 +0000)
inc/ws/Metier/class.ws.document.php

index 605cb94c0fd7008bfad3f8bb80da20a3690e6483..5d99a4564a3d546e7ac568bad162427c0f483c4e 100644 (file)
@@ -92,7 +92,7 @@ class wsDocument extends cubeMetier {
 \r
        public function extractFonts()\r
        {\r
-               $out = $this->out . 'fonts';\r
+               $out = $this->out . 'fonts/pdf';\r
                if (!file_exists($out)) {\r
                        mkdir($out, 0777, true);\r
                }\r
@@ -105,16 +105,51 @@ class wsDocument extends cubeMetier {
                $this->addToLog($pdfextract);*/\r
 \r
                $gs = new cubeCommandLine('gs');\r
+               $gs->setPath(CONVERTER_PATH);\r
                $gs->cd($out);\r
                $gs->setArg('-dBATCH');\r
                $gs->setArg('-dNOPAUSE');\r
                $gs->setArg('-dNOPROMPT');\r
                $gs->setArg('-dNODISPLAY');\r
-               $gs->setArg(null, WS_TOOLS.'/extractFonts.ps');\r
+               $gs->setArg(null, WS_TOOLS . '/extractFonts.ps');\r
                $gs->setManualArg('-c "(' . $this->cropped . ') extractFonts quit"');\r
 \r
                $gs->execute();\r
                $this->addToLog($gs);\r
+\r
+               $dr = opendir($out);\r
+\r
+               if (!file_exists($this->out . '/fonts/web')) {\r
+                       mkdir($this->out . '/fonts/web', 0777, true);\r
+               }\r
+               $formats = array('ttf', 'woff', 'svg', 'svgz', 'eot');\r
+               // Fonts conversion\r
+               while ($file = readdir($dr)) {\r
+                       if ($file == '.' || $file == '..') {\r
+                               continue;\r
+                       }\r
+\r
+                       $e = explode('.', $file);\r
+                       array_pop($e);\r
+                       $fname = implode('.', $e);\r
+\r
+                       foreach($formats as $format) {\r
+                               if ($format == 'eot') {\r
+                                       $ttf2eot = new cubeCommandLine('ttf2eot', $this->out . '/fonts/web/' . $fname . '.eot');\r
+                                       $ttf2eot->setPath(CONVERTER_PATH);\r
+                                       $ttf2eot->setManualArg('< ' . $this->out . '/fonts/web/' . $fname . '.ttf');\r
+                                       $ttf2eot->execute();\r
+                               } else {\r
+                                       $fontforge = new cubeCommandLine('convert.pe');\r
+                                       $fontforge->setPath(CONVERTER_PATH);\r
+                                       $fontforge->setArg(null, $out . '/' . $file);\r
+                                       $fontforge->setArg(null, $this->out . '/fonts/web/' . $fname . '.' . $format);\r
+                                       $fontforge->execute();\r
+                               }\r
+                       }\r
+\r
+                       $this->addToLog($fontforge);\r
+               }\r
        }\r
 \r
        public function getInfos($in = null, $force = false)\r