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
+ $images = array('pnm', 'jpg', 'jpeg', 'png', 'pam');\r
// Fonts conversion\r
$collections = array();\r
while ($file = readdir($dr)) {\r
- if ($file == '.' || $file == '..') {\r
+ if ($file == '.' || $file == '..' || in_array(files::getExtension($file), $images)) {\r
continue;\r
}\r
\r
$collections[$fname][] = $file;\r
}\r
\r
- foreach ($collections as $fontname => $files) {\r
- foreach ($formats as $format) {\r
- if ($format == 'eot') {\r
- $ttf2eot = new cubeCommandLine('ttf2eot', $this->out . '/fonts/web/' . $fontname . '.eot');\r
- $ttf2eot->setPath(CONVERTER_PATH);\r
- $ttf2eot->setManualArg('< ' . $this->out . '/fonts/web/' . $fontname . '.ttf');\r
- $ttf2eot->execute();\r
- } else {\r
- $fontforge = new cubeCommandLine('convert.pe');\r
- $fontforge->setPath(CONVERTER_PATH);\r
- foreach ($files as $file) {\r
- $fontforge->setArg(null, $out . '/' . $file);\r
- }\r
- $fontforge->setArg(null, $this->out . '/fonts/web/' . $fontname . '.' . $format);\r
- $fontforge->execute();\r
- $this->addToLog($fontforge);\r
- }\r
+ foreach ($collections as $fontname => $files) {\r
+ $fontforge = new cubeCommandLine('convert.pe');\r
+ $fontforge->setPath(CONVERTER_PATH);\r
+ foreach ($files as $file) {\r
+ $fontforge->setArg(null, $out . '/' . $file);\r
}\r
+ $fontforge->setArg(null, $this->out . '/fonts/web/' . $fontname . '.ttf');\r
+ $fontforge->execute();\r
+ $this->addToLog($fontforge);\r
}\r
}\r
\r
'controls' => $this->video_controls == '1',
'autoPlay' => $this->video_auto_start == '1',
'loop' => $this->video_loop);
- $res.=cubeMedia::flashObject('data/swf/video.swf', $w, $h, $flashvars, 'swfplayer-' . $basename, '', 9, '#ffffff', '', 'true', 'noscale', 'normal');
+ $res.=cubeMedia::flashObject('swf/video.swf', $w, $h, $flashvars, 'swfplayer-' . $basename, '', 9, '#ffffff', '', 'true', 'noscale', 'normal');
$res.='</video>';
return $res;
}
protected $numerotation;\r
protected static $resolutions = array(36, 72, 150);\r
protected static $uaPrefixes = array('-moz-', '-webkit-', '-o-', '-ms-', '');\r
+ protected $fontDocs = array();\r
\r
public function __construct($book_id) {\r
parent::__construct($book_id);\r
if (isset($pages[$i])) {\r
$c = $pages[$i];\r
}\r
- file_put_contents($this->vdir . '/data/links/pages/p' . $i . '.html', $c);\r
+ file_put_contents($this->vdir . 'data/links/pages/p' . $i . '.html', $c);\r
}\r
return $css;\r
}\r
}\r
\r
protected function writeFonts() {\r
- $fext = array('ttf', 'eot', 'svg', 'svgz', 'woff');\r
+ $formats = array('ttf', 'woff', 'svg', 'svgz', 'eot');\r
+\r
foreach ($this->cssFont as $font => $index) {\r
- list($font, $document_id) = explode('//', $font);\r
- foreach ($fext as $ext) {\r
- copy(WS_DOCS . '/' . $document_id . "/fonts/web/" . $font . '.' . $ext, $this->vdir . '/data/style/F' . $index . '.' . $ext);\r
+\r
+ foreach ($formats as $format) {\r
+ if ($format == 'eot') {\r
+ $ttf2eot = new cubeCommandLine('ttf2eot', $this->vdir . '/data/style/F' . $index . '.' . $format);\r
+ $ttf2eot->setPath(CONVERTER_PATH);\r
+ $ttf2eot->setManualArg('< ' . $this->vdir . '/data/style/F' . $index . '.ttf');\r
+ $ttf2eot->execute();\r
+ } else {\r
+ $fontforge = new cubeCommandLine('convert.pe');\r
+ $fontforge->setPath(CONVERTER_PATH);\r
+ foreach ($this->fontDocs[$font] as $document_id => $dummy) {\r
+ $fontforge->setArg(null, WS_DOCS . '/' . $document_id . '/fonts/web/' . $font . '.ttf');\r
+ }\r
+ $fontforge->setArg(null, $this->vdir . '/data/style/F' . $index . '.' . $format);\r
+ $fontforge->execute();\r
+ }\r
}\r
}\r
}\r
}\r
\r
foreach ($this->cssFont as $font => $index) {\r
- list($font, $document_id) = explode('//', $font);\r
$res[] = "@font-face{font-family:F" . $index . ";src:url('F" . $index . ".eot');src:url('F" . $index . ".eot?#iefix') format('eot'),url('F" . $index . ".ttf') format('truetype'),url('F" . $index . ".svgz#" . $font . "') format('svgz'),url('F" . $index . ".svg#" . $font . "') format('svg')}";\r
$res[] = '.f' . $index . '{font-family:F' . $index . ',Arial,Helvetica}';\r
}\r
$pos+=$span['width'];\r
$first = false;\r
} else {\r
- if ((string) $span == 'MARDI 19') {\r
- fb($span['x'], $newSpan['x']);\r
- }\r
if ((float) $span['x'] < (float) $newSpan['x']) {\r
// On change de groupe\r
$ls = $ws = 0;\r
$res[] = array(\r
'color' => $this->getCSSColor($group['color']),\r
'size' => $this->getCSSSize($group['size']),\r
- 'font' => $this->getCSSFont($group['font'], $document_id),\r
+ 'font' => $this->getCSSFont((string)$group['font'], $document_id),\r
'letterspacing' => $this->getCSSLetterSpacing($ls),\r
'wordspacing' => $this->getCSSLetterSpacing($ws),\r
'y' => 0,\r
}\r
\r
protected function getCSSFont($font, $document_id) {\r
- return $this->getIndex($font . "//" . $document_id, $this->cssFont);\r
+ $font=(string) $font;\r
+ if (!isset($this->fontDocs[$font])) {\r
+ $this->fontDocs[$font] = array();\r
+ }\r
+ $this->fontDocs[$font][$document_id] = true;\r
+\r
+ return $this->getIndex($font, $this->cssFont);\r
}\r
\r
protected function getCSSColor($color) {\r