コード例 #1
0
function MakeFont($fontfile, $afmfile, $enc = 'cp1252', $patch = array(), $type = 'TrueType')
{
    //Generate a font definition file
    set_magic_quotes_runtime(0);
    ini_set('auto_detect_line_endings', '1');
    if ($enc) {
        $map = ReadMap($enc);
        foreach ($patch as $cc => $gn) {
            $map[$cc] = $gn;
        }
    } else {
        $map = array();
    }
    if (!file_exists($afmfile)) {
        die('<B>Error:</B> AFM file not found: ' . $afmfile);
    }
    $fm = ReadAFM($afmfile, $map);
    if ($enc) {
        $diff = MakeFontEncoding($map);
    } else {
        $diff = '';
    }
    $fd = MakeFontDescriptor($fm, empty($map));
    //Find font type
    if ($fontfile) {
        $ext = strtolower(substr($fontfile, -3));
        if ($ext == 'ttf') {
            $type = 'TrueType';
        } elseif ($ext == 'pfb') {
            $type = 'Type1';
        } else {
            die('<B>Error:</B> unrecognized font file extension: ' . $ext);
        }
    } else {
        if ($type != 'TrueType' and $type != 'Type1') {
            die('<B>Error:</B> incorrect font type: ' . $type);
        }
    }
    //Start generation
    $s = '<?php' . "\n";
    $s .= '$type=\'' . $type . "';\n";
    $s .= '$name=\'' . $fm['FontName'] . "';\n";
    $s .= '$desc=' . $fd . ";\n";
    if (!isset($fm['UnderlinePosition'])) {
        $fm['UnderlinePosition'] = -100;
    }
    if (!isset($fm['UnderlineThickness'])) {
        $fm['UnderlineThickness'] = 50;
    }
    $s .= '$up=' . $fm['UnderlinePosition'] . ";\n";
    $s .= '$ut=' . $fm['UnderlineThickness'] . ";\n";
    $w = MakeWidthArray($fm);
    $s .= '$cw=' . $w . ";\n";
    $s .= '$enc=\'' . $enc . "';\n";
    $s .= '$diff=\'' . $diff . "';\n";
    $basename = substr(basename($afmfile), 0, -4);
    if ($fontfile) {
        //Embedded font
        if (!file_exists($fontfile)) {
            die('<B>Error:</B> font file not found: ' . $fontfile);
        }
        if ($type == 'TrueType') {
            CheckTTF($fontfile);
        }
        $f = fopen($fontfile, 'rb');
        if (!$f) {
            die('<B>Error:</B> Can\'t open ' . $fontfile);
        }
        $file = fread($f, filesize($fontfile));
        fclose($f);
        if ($type == 'Type1') {
            //Find first two sections and discard third one
            $header = ord($file[0]) == 128;
            if ($header) {
                //Strip first binary header
                $file = substr($file, 6);
            }
            $pos = strpos($file, 'eexec');
            if (!$pos) {
                die('<B>Error:</B> font file does not seem to be valid Type1');
            }
            $size1 = $pos + 6;
            if ($header and ord($file[$size1]) == 128) {
                //Strip second binary header
                $file = substr($file, 0, $size1) . substr($file, $size1 + 6);
            }
            $pos = strpos($file, '00000000');
            if (!$pos) {
                die('<B>Error:</B> font file does not seem to be valid Type1');
            }
            $size2 = $pos - $size1;
            $file = substr($file, 0, $size1 + $size2);
        }
        if (function_exists('gzcompress')) {
            $cmp = $basename . '.z';
            SaveToFile($cmp, gzcompress($file), 'b');
            $s .= '$file=\'' . $cmp . "';\n";
            echo 'Font file compressed (' . $cmp . ')<BR>';
        } else {
            $s .= '$file=\'' . basename($fontfile) . "';\n";
            echo '<B>Notice:</B> font file could not be compressed (zlib extension not available)<BR>';
        }
        if ($type == 'Type1') {
            $s .= '$size1=' . $size1 . ";\n";
            $s .= '$size2=' . $size2 . ";\n";
        } else {
            $s .= '$originalsize=' . filesize($fontfile) . ";\n";
        }
    } else {
        //Not embedded font
        $s .= '$file=' . "'';\n";
    }
    $s .= "?>\n";
    SaveToFile($basename . '.php', $s);
    echo 'Font definition file generated (' . $basename . '.php' . ')<BR>';
}
コード例 #2
0
ファイル: makefont.php プロジェクト: nesmaster/msclink
function MakeFont($fontfile, $afmfile, $enc = 'cp1252', $patch = array())
{
    //Generate a font definition file
    set_magic_quotes_runtime(0);
    if ($enc) {
        $map = ReadMap($enc);
        foreach ($patch as $cc => $gn) {
            $map[$cc] = $gn;
        }
    } else {
        $map = array();
    }
    if (!file_exists($afmfile)) {
        die('<B>Error:</B> AFM file not found: ' . $afmfile);
    }
    $fm = ReadAFM($afmfile, $map);
    if ($enc) {
        $diff = MakeFontEncoding($map);
    } else {
        $diff = '';
    }
    $fd = MakeFontDescriptor($fm, empty($map));
    $s = '<?php' . "\n";
    $s .= '$type=\'TrueType' . "';\n";
    $s .= '$name=\'' . $fm['FontName'] . "';\n";
    $s .= '$desc=' . $fd . ";\n";
    if (!isset($fm['UnderlinePosition'])) {
        $fm['UnderlinePosition'] = -100;
    }
    if (!isset($fm['UnderlineThickness'])) {
        $fm['UnderlineThickness'] = 50;
    }
    $s .= '$up=' . $fm['UnderlinePosition'] . ";\n";
    $s .= '$ut=' . $fm['UnderlineThickness'] . ";\n";
    $w = MakeWidthArray($fm);
    $s .= '$cw=' . $w . ";\n";
    $s .= '$enc=\'' . $enc . "';\n";
    $s .= '$diff=\'' . $diff . "';\n";
    $basename = substr(basename($afmfile), 0, -4);
    if ($fontfile) {
        //Embedded font
        if (!file_exists($fontfile)) {
            die('<B>Error:</B> font file not found: ' . $fontfile);
        }
        if (function_exists('gzcompress')) {
            $f = fopen($fontfile, 'rb');
            $ttf = fread($f, filesize($fontfile));
            fclose($f);
            $cmp = $basename . '.z';
            SaveToFile($cmp, gzcompress($ttf), 'b');
            $s .= '$file=\'' . $cmp . "';\n";
            echo 'Font file compressed (' . $cmp . ')<BR>';
        } else {
            echo '<B>Notice:</B> font file could not be compressed (gzcompress not available)<BR>';
            $s .= '$file=\'' . basename($fontfile) . "';\n";
        }
        $s .= '$originalsize=' . filesize($fontfile) . ";\n";
    } else {
        //Not embedded font
        $s .= '$file=' . "'';\n";
    }
    $s .= "?>\n";
    SaveToFile($basename . '.php', $s);
    echo 'Font definition file generated (' . $basename . '.php' . ')<BR>';
}
コード例 #3
0
/**
 * 
 * @param string $fontfile path to font file (TTF or PFB).
 * @param string $fmfile font metrics file (UFM or AFM).
 * @param boolean $embedded Set to false to not embed the font, true otherwise (default).
 * @param string $enc Name of the encoding table to use. Omit this parameter for TrueType Unicode, OpenType Unicode and symbolic fonts like Symbol or ZapfDingBats.
 * @param array $patch Optional modification of the encoding
 */
function MakeFont($fontfile, $fmfile, $embedded = true, $enc = "cp1252", $patch = array())
{
    //Generate a font definition file
    set_magic_quotes_runtime(0);
    ini_set('auto_detect_line_endings', '1');
    if (!file_exists($fontfile)) {
        die('Error: file not found: ' . $fontfile);
    }
    if (!file_exists($fmfile)) {
        die('Error: file not found: ' . $fmfile);
    }
    $cidtogidmap = '';
    $map = array();
    $diff = '';
    $ffext = strtolower(substr($fontfile, -3));
    $fmext = strtolower(substr($fmfile, -3));
    if ($fmext == 'afm') {
        if ($ffext == 'ttf') {
            $type = 'TrueType';
        } elseif ($ffext == 'pfb') {
            $type = 'Type1';
        } else {
            die('Error: unrecognized font file extension: ' . $ext);
        }
        if ($enc) {
            $map = ReadMap($enc);
            foreach ($patch as $cc => $gn) {
                $map[$cc] = $gn;
            }
        }
        $fm = ReadAFM($fmfile, $map);
        if ($enc) {
            $diff = MakeFontEncoding($map);
        }
        $fd = MakeFontDescriptor($fm, empty($map));
    } elseif ($fmext == 'ufm') {
        $enc = "";
        if ($ffext == 'ttf') {
            $type = 'TrueTypeUnicode';
        } else {
            die('Error: not a TrueType font: ' . $ffext);
        }
        $fm = ReadUFM($fmfile, $cidtogidmap);
        $fd = MakeFontDescriptor($fm, false);
    }
    //Start generation
    $s = '<?php' . "\n";
    $s .= '$type=\'' . $type . "';\n";
    $s .= '$name=\'' . $fm['FontName'] . "';\n";
    $s .= '$desc=' . $fd . ";\n";
    if (!isset($fm['UnderlinePosition'])) {
        $fm['UnderlinePosition'] = -100;
    }
    if (!isset($fm['UnderlineThickness'])) {
        $fm['UnderlineThickness'] = 50;
    }
    $s .= '$up=' . $fm['UnderlinePosition'] . ";\n";
    $s .= '$ut=' . $fm['UnderlineThickness'] . ";\n";
    $w = MakeWidthArray($fm);
    $s .= '$cw=' . $w . ";\n";
    $s .= '$enc=\'' . $enc . "';\n";
    $s .= '$diff=\'' . $diff . "';\n";
    $basename = substr(basename($fmfile), 0, -4);
    if ($embedded) {
        //Embedded font
        if ($type == 'TrueType' or $type == 'TrueTypeUnicode') {
            CheckTTF($fontfile);
        }
        $f = fopen($fontfile, 'rb');
        if (!$f) {
            die('Error: Unable to open ' . $fontfile);
        }
        $file = fread($f, filesize($fontfile));
        fclose($f);
        if ($type == 'Type1') {
            //Find first two sections and discard third one
            $header = ord($file[0]) == 128;
            if ($header) {
                //Strip first binary header
                $file = substr($file, 6);
            }
            $pos = strpos($file, 'eexec');
            if (!$pos) {
                die('Error: font file does not seem to be valid Type1');
            }
            $size1 = $pos + 6;
            if ($header and ord($file[$size1]) == 128) {
                //Strip second binary header
                $file = substr($file, 0, $size1) . substr($file, $size1 + 6);
            }
            $pos = strpos($file, '00000000');
            if (!$pos) {
                die('Error: font file does not seem to be valid Type1');
            }
            $size2 = $pos - $size1;
            $file = substr($file, 0, $size1 + $size2);
        }
        if (function_exists('gzcompress')) {
            $cmp = $basename . '.z';
            SaveToFile($cmp, gzcompress($file), 'b');
            $s .= '$file=\'' . $cmp . "';\n";
            print "Font file compressed (" . $cmp . ")\n";
            if (!empty($cidtogidmap)) {
                $cmp = $basename . '.ctg.z';
                SaveToFile($cmp, gzcompress($cidtogidmap), 'b');
                print "CIDToGIDMap created and compressed (" . $cmp . ")\n";
                $s .= '$ctg=\'' . $cmp . "';\n";
            }
        } else {
            $s .= '$file=\'' . basename($fontfile) . "';\n";
            print "Notice: font file could not be compressed (zlib extension not available)\n";
            if (!empty($cidtogidmap)) {
                $cmp = $basename . '.ctg';
                $f = fopen($cmp, 'wb');
                fwrite($f, $cidtogidmap);
                fclose($f);
                print "CIDToGIDMap created (" . $cmp . ")\n";
                $s .= '$ctg=\'' . $cmp . "';\n";
            }
        }
        if ($type == 'Type1') {
            $s .= '$size1=' . $size1 . ";\n";
            $s .= '$size2=' . $size2 . ";\n";
        } else {
            $s .= '$originalsize=' . filesize($fontfile) . ";\n";
        }
    } else {
        //Not embedded font
        $s .= '$file=' . "'';\n";
    }
    $s .= "?>";
    SaveToFile($basename . '.php', $s);
    print "Font definition file generated (" . $basename . ".php)\n";
}
コード例 #4
0
function MakeFont($fontfile, $ufmfile)
{
    //Generate a font definition file
    set_magic_quotes_runtime(0);
    if (!file_exists($ufmfile)) {
        die('<B>Error:</B> UFM file not found: ' . $ufmfile);
    }
    $cidtogidmap = '';
    $fm = ReadUFM($ufmfile, $cidtogidmap);
    $fd = MakeFontDescriptor($fm);
    //Find font type
    if ($fontfile) {
        $ext = strtolower(substr($fontfile, -3));
        if ($ext == 'ttf') {
            $type = 'TrueTypeUnicode';
        } else {
            die('<B>Error:</B> not a truetype font: ' . $ext);
        }
    } else {
        if ($type != 'TrueTypeUnicode') {
            die('<B>Error:</B> incorrect font type: ' . $type);
        }
    }
    //Start generation
    $basename = strtolower(substr(basename($ufmfile), 0, -4));
    $s = 'TCPDFFontDescriptor.define(\'' . $basename . "') do |font|\n";
    $s .= "  font[:type]='" . $type . "'\n";
    $s .= "  font[:name]='" . $fm['FontName'] . "'\n";
    $s .= "  font[:desc]=" . $fd . "\n";
    if (!isset($fm['UnderlinePosition'])) {
        $fm['UnderlinePosition'] = -100;
    }
    if (!isset($fm['UnderlineThickness'])) {
        $fm['UnderlineThickness'] = 50;
    }
    $s .= "  font[:up]=" . $fm['UnderlinePosition'] . "\n";
    $s .= "  font[:ut]=" . $fm['UnderlineThickness'] . "\n";
    $s .= "  font[:cw]=" . MakeWidthArray($fm) . "\n";
    $s .= "  font[:enc]=''\n";
    $s .= "  font[:diff]=''\n";
    if ($fontfile) {
        //Embedded font
        if (!file_exists($fontfile)) {
            die('<B>Error:</B> font file not found: ' . $fontfile);
        }
        CheckTTF($fontfile);
        $f = fopen($fontfile, 'rb');
        if (!$f) {
            die('<B>Error:</B> Can\'t open ' . $fontfile);
        }
        $file = fread($f, filesize($fontfile));
        fclose($f);
        if (function_exists('gzcompress')) {
            $cmp = $basename . '.z';
            SaveToFile($cmp, gzcompress($file), 'b');
            $s .= '  font[:file]=\'' . $cmp . "'\n";
            echo 'Font file compressed (' . $cmp . ')<BR>';
            $cmp = $basename . '.ctg.z';
            SaveToFile($cmp, gzcompress($cidtogidmap), 'b');
            echo 'CIDToGIDMap created and compressed (' . $cmp . ')<BR>';
            $s .= '  font[:ctg]=\'' . $cmp . "'\n";
        } else {
            $s .= '$file=\'' . basename($fontfile) . "'\n";
            echo '<B>Notice:</B> font file could not be compressed (gzcompress not available)<BR>';
            $cmp = $basename . '.ctg';
            $f = fopen($cmp, 'wb');
            fwrite($f, $cidtogidmap);
            fclose($f);
            echo 'CIDToGIDMap created (' . $cmp . ')<BR>';
            $s .= '  font[:ctg]=\'' . $cmp . "'\n";
        }
        if ($type == 'Type1') {
            $s .= '  font[:size1]=' . $size1 . "\n";
            $s .= '  font[:size2]=' . $size2 . "\n";
        } else {
            $s .= '  font[:originalsize]=' . filesize($fontfile) . "\n";
        }
    } else {
        //Not embedded font
        $s .= '  font[:file]=' . "''\n";
    }
    $s .= "end\n";
    SaveToFile($basename . '.rb', $s);
    echo 'Font definition file generated (' . $basename . '.rb' . ')<BR>';
}
コード例 #5
0
ファイル: makefont.php プロジェクト: Grasia/bolotweet
function MakeFont($fontfile, $enc = 'cp1252', $embed = true)
{
    // Generate a font definition file
    if (get_magic_quotes_runtime()) {
        @set_magic_quotes_runtime(0);
    }
    ini_set('auto_detect_line_endings', '1');
    if (!file_exists($fontfile)) {
        Error('Font file not found: ' . $fontfile);
    }
    $ext = strtolower(substr($fontfile, -3));
    if ($ext == 'ttf' || $ext == 'otf') {
        $type = 'TrueType';
    } elseif ($ext == 'pfb') {
        $type = 'Type1';
    } else {
        Error('Unrecognized font file extension: ' . $ext);
    }
    $map = LoadMap($enc);
    if ($type == 'TrueType') {
        $info = GetInfoFromTrueType($fontfile, $embed, $map);
    } else {
        $info = GetInfoFromType1($fontfile, $embed, $map);
    }
    $basename = substr(basename($fontfile), 0, -4);
    if ($embed) {
        if (function_exists('gzcompress')) {
            $file = $basename . '.z';
            SaveToFile($file, gzcompress($info['Data']), 'b');
            $info['File'] = $file;
            Message('Font file compressed: ' . $file);
        } else {
            $info['File'] = basename($fontfile);
            Notice('Font file could not be compressed (zlib extension not available)');
        }
    }
    MakeDefinitionFile($basename . '.php', $type, $enc, $embed, $map, $info);
    Message('Font definition file generated: ' . $basename . '.php');
}
コード例 #6
0
ファイル: Base.php プロジェクト: uwitec/outbuying
 /**
  * @return void
  * @param string $filename 文件名
  * @param array $inputArray 要输出的数组
  * @desc 将数组输出到文件中
  */
 function saveArrayToFile($filename, $inputArray)
 {
     $str = var_export($inputArray);
     SaveToFile($filename, $str, 'w');
 }
コード例 #7
0
ファイル: index.php プロジェクト: laiello/cartonbank
function saveTranslated($out)
{
    SaveToFile("/home/www/cb3/temp/translated.txt", $out);
}
コード例 #8
0
function MakeFont($fontfile, $afmfile, $destdir, $destfile, $enc)
{
    // Generate a font definition file
    set_magic_quotes_runtime(0);
    ini_set('auto_detect_line_endings', '1');
    $manager = ManagerEncoding::get();
    $map = $manager->get_encoding_glyphs($enc);
    $fm = ReadAFM($afmfile, $map);
    if (is_null($fm)) {
        error_log(sprintf("Notice: Missing AFM file '%s'; attempting to parse font file '%s' directly", $afmfile, $fontfile));
        $fm = ReadTTF($fontfile, $manager->getEncodingVector($enc));
        if (is_null($fm)) {
            die(sprintf("Cannot get font metrics for '%s'", $fontfile));
        }
    }
    $diff = MakeFontEncoding($map);
    $cmap = MakeFontCMap($enc);
    $fd = MakeFontDescriptor($fm, empty($map));
    //Find font type
    if ($fontfile) {
        $ext = strtolower(substr($fontfile, -3));
        if ($ext == 'ttf') {
            $type = 'TrueType';
        } elseif ($ext == 'pfb') {
            $type = 'Type1';
        } else {
            die('<B>Error:</B> unrecognized font file extension: ' . $ext);
        }
    } else {
        if ($type != 'TrueType' and $type != 'Type1') {
            die('<B>Error:</B> incorrect font type: ' . $type);
        }
    }
    //Start generation
    $s = '<?php' . "\n";
    $s .= '$type=\'' . $type . "';\n";
    $s .= '$name=\'' . $fm['FontName'] . "';\n";
    $s .= '$desc=' . $fd . ";\n";
    if (!isset($fm['UnderlinePosition'])) {
        $fm['UnderlinePosition'] = -100;
    }
    if (!isset($fm['UnderlineThickness'])) {
        $fm['UnderlineThickness'] = 50;
    }
    $s .= '$up=' . $fm['UnderlinePosition'] . ";\n";
    $s .= '$ut=' . $fm['UnderlineThickness'] . ";\n";
    $w = MakeWidthArray($fm);
    $s .= '$cw=' . $w . ";\n";
    $s .= '$enc=\'' . $enc . "';\n";
    $s .= '$diff=\'' . $diff . "';\n";
    $s .= '$cmap=' . $cmap . ";\n";
    $basename = substr(basename($afmfile), 0, -4);
    if ($fontfile) {
        //Embedded font
        if (!file_exists($fontfile)) {
            die('<B>Error:</B> font file not found: ' . $fontfile);
        }
        if ($type == 'TrueType') {
            CheckTTF($fontfile);
        }
        $f = fopen($fontfile, 'rb');
        if (!$f) {
            die('<B>Error:</B> Can\'t open ' . $fontfile);
        }
        $file = fread($f, filesize($fontfile));
        fclose($f);
        if ($type == 'Type1') {
            //Find first two sections and discard third one
            $header = ord($file[0]) == 128;
            if ($header) {
                //Strip first binary header
                $file = substr($file, 6);
            }
            $pos = strpos($file, 'eexec');
            if (!$pos) {
                die('<B>Error:</B> font file does not seem to be valid Type1');
            }
            $size1 = $pos + 6;
            if ($header and ord($file[$size1]) == 128) {
                //Strip second binary header
                $file = substr($file, 0, $size1) . substr($file, $size1 + 6);
            }
            $pos = strpos($file, '00000000');
            if (!$pos) {
                die('<B>Error:</B> font file does not seem to be valid Type1');
            }
            $size2 = $pos - $size1;
            $file = substr($file, 0, $size1 + $size2);
        }
        $gzcompress_exists = function_exists('gzcompress');
        if ($gzcompress_exists) {
            $cmp = $basename . '.z';
            SaveToFile($destdir . $cmp, gzcompress($file), 'b');
            $s .= '$file=\'' . $cmp . "';\n";
        } else {
            $cmp = $basename . '.ttf';
            SaveToFile($destdir . $cmp, $file, 'b');
            $s .= '$file=\'' . basename($fontfile) . "';\n";
            error_log('Notice: font file could not be compressed (zlib extension not available)');
        }
        if ($type == 'Type1') {
            $s .= '$size1=' . $size1 . ";\n";
            $s .= '$size2=' . $size2 . ";\n";
        } else {
            $s .= '$originalsize=' . filesize($fontfile) . ";\n";
        }
    } else {
        //Not embedded font
        $s .= '$file=' . "'';\n";
    }
    $s .= "?>\n";
    SaveToFile($destdir . $destfile, $s);
}
コード例 #9
0
ファイル: makefont.php プロジェクト: MexinaD/SuiteCRM
/**
 *
 * @param string $fontfile path to font file (TTF, OTF or PFB).
 * @param string $fmfile font metrics file (UFM or AFM).
 * @param boolean $embedded Set to false to not embed the font, true otherwise (default).
 * @param string $enc Name of the encoding table to use. Omit this parameter for TrueType Unicode, OpenType Unicode and symbolic fonts like Symbol or ZapfDingBats.
 * @param array $patch Optional modification of the encoding
 */
function MakeFont($fontfile, $fmfile, $embedded = true, $enc = 'cp1252', $patch = array(), $cidInfo = "")
{
    //Generate a font definition file
    set_magic_quotes_runtime(0);
    ini_set('auto_detect_line_endings', '1');
    if (!file_exists($fontfile)) {
        die('Error: file not found: ' . $fontfile);
    }
    if (!file_exists($fmfile)) {
        die('Error: file not found: ' . $fmfile);
    }
    $cidtogidmap = '';
    $map = array();
    $diff = '';
    $dw = 0;
    // default width
    $ffext = strtolower(substr($fontfile, -3));
    $fmext = strtolower(substr($fmfile, -3));
    if ($fmext == 'afm') {
        if ($ffext == 'ttf' or $ffext == 'otf') {
            $type = 'TrueType';
        } elseif ($ffext == 'pfb') {
            $type = 'Type1';
        } else {
            die('Error: unrecognized font file extension: ' . $ffext);
        }
        if ($enc) {
            $map = ReadMap($enc);
            foreach ($patch as $cc => $gn) {
                $map[$cc] = $gn;
            }
        }
        $fm = ReadAFM($fmfile, $map);
        if (isset($widths['.notdef'])) {
            $dw = $widths['.notdef'];
        }
        if ($enc) {
            $diff = MakeFontEncoding($map);
        }
        $fd = MakeFontDescriptor($fm, empty($map));
    } elseif ($fmext == 'ufm') {
        $enc = '';
        if ($ffext == 'ttf' or $ffext == 'otf') {
            $type = 'TrueTypeUnicode';
        } else {
            die('Error: not a TrueType font: ' . $ffext);
        }
        $fm = ReadUFM($fmfile, $cidtogidmap);
        $dw = $fm['MissingWidth'];
        $fd = MakeFontDescriptor($fm, false);
    }
    //Start generation
    $s = '<?php

/*

Modification information for LGPL compliance

r56990 - 2010-06-16 13:05:36 -0700 (Wed, 16 Jun 2010) - kjing - snapshot "Mango" svn branch to a new one for GitHub sync

r56989 - 2010-06-16 13:01:33 -0700 (Wed, 16 Jun 2010) - kjing - defunt "Mango" svn dev branch before github cutover

r55980 - 2010-04-19 13:31:28 -0700 (Mon, 19 Apr 2010) - kjing - create Mango (6.1) based on windex

r51719 - 2009-10-22 10:18:00 -0700 (Thu, 22 Oct 2009) - mitani - Converted to Build 3  tags and updated the build system 

r51634 - 2009-10-19 13:32:22 -0700 (Mon, 19 Oct 2009) - mitani - Windex is the branch for Sugar Sales 1.0 development

r50375 - 2009-08-24 18:07:43 -0700 (Mon, 24 Aug 2009) - dwong - branch kobe2 from tokyo r50372

r47930 - 2009-06-02 16:21:39 -0700 (Tue, 02 Jun 2009) - jenny - Updating with changes from bsoufflet.


*/

' . "\n";
    // BEGIN SUGARCRM SPECIFIC
    if ($embedded) {
        // END SUGARCRM SPECIFIC
        $s .= '$type=\'' . $type . "';\n";
        // BEGIN SUGARCRM SPECIFIC
    } else {
        $s .= '$type=\'' . "cidfont0';\n";
    }
    // END SUGARCRM SPECIFIC
    $s .= '$name=\'' . $fm['FontName'] . "';\n";
    $s .= '$desc=' . $fd . ";\n";
    if (!isset($fm['UnderlinePosition'])) {
        $fm['UnderlinePosition'] = -100;
    }
    if (!isset($fm['UnderlineThickness'])) {
        $fm['UnderlineThickness'] = 50;
    }
    $s .= '$up=' . $fm['UnderlinePosition'] . ";\n";
    $s .= '$ut=' . $fm['UnderlineThickness'] . ";\n";
    if ($dw <= 0) {
        if (isset($fm['Widths'][32]) and $fm['Widths'][32] > 0) {
            // assign default space width
            $dw = $fm['Widths'][32];
        } else {
            $dw = 600;
        }
    }
    // BEGIN SUGARCRM SPECIFIC
    if ($embedded) {
        // END SUGARCRM SPECIFIC
        $s .= '$dw=' . $dw . ";\n";
        // BEGIN SUGARCRM SPECIFIC
    } else {
        $s .= '$dw=' . "1000;\n";
    }
    // END SUGARCRM SPECIFIC
    $w = MakeWidthArray($fm);
    $s .= '$cw=' . $w . ";\n";
    // BEGIN SUGARCRM SPECIFIC
    if ($embedded) {
        // END SUGARCRM SPECIFIC
        $s .= '$enc=\'' . $enc . "';\n";
        // BEGIN SUGARCRM SPECIFIC
    }
    // END SUGARCRM SPECIFIC
    $s .= '$diff=\'' . $diff . "';\n";
    $basename = substr(basename($fmfile), 0, -4);
    // BEGIN SUGARCRM SPECIFIC
    $dirname = dirname($fmfile);
    // END SUGARCRM SPECIFIC
    if ($embedded) {
        //Embedded font
        if ($type == 'TrueType' or $type == 'TrueTypeUnicode') {
            CheckTTF($fontfile);
        }
        $f = fopen($fontfile, 'rb');
        if (!$f) {
            die('Error: Unable to open ' . $fontfile);
        }
        $file = stream_get_contents($f);
        fclose($f);
        if ($type == 'Type1') {
            //Find first two sections and discard third one
            $header = ord($file[0]) == 128;
            if ($header) {
                //Strip first binary header
                $file = substr($file, 6);
            }
            $pos = strpos($file, 'eexec');
            if (!$pos) {
                die('Error: font file does not seem to be valid Type1');
            }
            $size1 = $pos + 6;
            if ($header and ord($file[$size1]) == 128) {
                //Strip second binary header
                $file = substr($file, 0, $size1) . substr($file, $size1 + 6);
            }
            $pos = strpos($file, '00000000');
            if (!$pos) {
                die('Error: font file does not seem to be valid Type1');
            }
            $size2 = $pos - $size1;
            $file = substr($file, 0, $size1 + $size2);
        }
        $basename = strtolower($basename);
        if (function_exists('gzcompress')) {
            $cmp = $basename . '.z';
            // BEGIN SUGARCRM SPECIFIC
            /*
            			// END SUGARCRM SPECIFIC
            			SaveToFile($cmp, gzcompress($file, 9), 'b');
            			// BEGIN SUGARCRM SPECIFIC
            */
            SaveToFile($dirname . "/" . $cmp, gzcompress($file, 9), 'b');
            // END SUGARCRM SPECIFIC
            $s .= '$file=\'' . $cmp . "';\n";
            print "Font file compressed (" . $cmp . ")\n";
            if (!empty($cidtogidmap)) {
                $cmp = $basename . '.ctg.z';
                // BEGIN SUGARCRM SPECIFIC
                /*
                // END SUGARCRM SPECIFIC
                				SaveToFile($cmp, gzcompress($cidtogidmap, 9), 'b');
                // BEGIN SUGARCRM SPECIFIC
                */
                SaveToFile($dirname . "/" . $cmp, gzcompress($cidtogidmap, 9), 'b');
                // END SUGARCRM SPECIFIC
                print "CIDToGIDMap created and compressed (" . $cmp . ")\n";
                $s .= '$ctg=\'' . $cmp . "';\n";
            }
        } else {
            $s .= '$file=\'' . basename($fontfile) . "';\n";
            print "Notice: font file could not be compressed (zlib extension not available)\n";
            if (!empty($cidtogidmap)) {
                $cmp = $basename . '.ctg';
                // BEGIN SUGARCRM SPECIFIC
                /*
                // END SUGARCRM SPECIFIC
                				$f = fopen($cmp, 'wb');
                // BEGIN SUGARCRM SPECIFIC
                */
                $f = fopen($dirname . "/" . $cmp, 'wb');
                // END SUGARCRM SPECIFIC
                fwrite($f, $cidtogidmap);
                fclose($f);
                print "CIDToGIDMap created (" . $cmp . ")\n";
                $s .= '$ctg=\'' . $cmp . "';\n";
            }
        }
        if ($type == 'Type1') {
            $s .= '$size1=' . $size1 . ";\n";
            $s .= '$size2=' . $size2 . ";\n";
        } else {
            $s .= '$originalsize=' . filesize($fontfile) . ";\n";
        }
    } else {
        //Not embedded font
        // BEGIN SUGARCRM SPECIFIC
        /*
        // END SUGARCRM SPECIFIC
        	    $s .= '$file='."'';\n";
            	// BEGIN SUGARCRM SPECIFIC
        */
        $s .= $cidInfo;
        // END SUGARCRM SPECIFIC
    }
    $s .= "?>";
    // BEGIN SUGARCRM SPECIFIC
    /*
    // END SUGARCRM SPECIFIC
    	SaveToFile($basename.'.php',$s);
    // BEGIN SUGARCRM SPECIFIC
    */
    SaveToFile($dirname . "/" . $basename . '.php', $s);
    // END SUGARCRM SPECIFIC
    print "Font definition file generated (" . $basename . ".php)\n";
    // BEGIN SUGARCRM SPECIFIC
    return $dirname . "/" . $basename;
    // END SUGARCRM SPECIFIC
}
コード例 #10
0
ファイル: makefonts.php プロジェクト: shailendra999/hr_admin
function MakeFontTTF($fontfile, $ufmfile)
{
    //Generate a font definition file
    if (ini_get("magic_quotes_runtime")) {
        set_magic_quotes_runtime(0);
    }
    if (!file_exists($ufmfile)) {
        die('<B>Error:</B> UFM file not found: ' . $ufmfile);
    }
    $cidtogidmap = '';
    $fm = ReadUFM($ufmfile, $cidtogidmap);
    $fd = MakeFontDescriptorTTF($fm);
    //Find font type
    if ($fontfile) {
        $ext = strtolower(substr($fontfile, -3));
        if ($ext == 'ttf') {
            $type = 'TrueTypeUnicode';
        } else {
            die('<B>Error:</B> not a truetype font: ' . $ext);
        }
    } else {
        if ($type != 'TrueTypeUnicode') {
            die('<B>Error:</B> incorrect font type: ' . $type);
        }
    }
    //Start generation
    $s = '<?php' . "\n";
    $s .= '$type=\'' . $type . "';\n";
    $s .= '$name=\'' . $fm['FontName'] . "';\n";
    $s .= '$desc=' . $fd . ";\n";
    if (!isset($fm['UnderlinePosition'])) {
        $fm['UnderlinePosition'] = -100;
    }
    if (!isset($fm['UnderlineThickness'])) {
        $fm['UnderlineThickness'] = 50;
    }
    $s .= '$up=' . $fm['UnderlinePosition'] . ";\n";
    $s .= '$ut=' . $fm['UnderlineThickness'] . ";\n";
    $w = MakeWidthArrayTTF($fm);
    $s .= '$cw=' . $w . ";\n";
    $s .= "\$enc='';\n";
    $s .= "\$diff='';\n";
    $basename = substr(basename($ufmfile), 0, -4);
    if ($fontfile) {
        //Embedded font
        if (!file_exists($fontfile)) {
            die('<B>Error:</B> font file not found: ' . $fontfile);
        }
        CheckTTF($fontfile);
        $f = fopen($fontfile, 'rb');
        if (!$f) {
            die('<B>Error:</B> Can\'t open ' . $fontfile);
        }
        $file = fread($f, filesize($fontfile));
        fclose($f);
        if (function_exists('gzcompress')) {
            $cmp = $basename . '.z';
            SaveToFile($cmp, gzcompress($file), 'b');
            $s .= '$file=\'' . $cmp . "';\n";
            // echo 'Font file compressed ('.$cmp.')<BR>';
            $cmp = $basename . '.ctg.z';
            SaveToFile($cmp, gzcompress($cidtogidmap), 'b');
            //echo 'CIDToGIDMap created and compressed ('.$cmp.')<BR>';
            $s .= '$ctg=\'' . $cmp . "';\n";
        } else {
            $s .= '$file=\'' . basename($fontfile) . "';\n";
            echo '<B>Notice:</B> font file could not be compressed (gzcompress not available)<BR>';
            $cmp = $basename . '.ctg';
            $f = fopen($cmp, 'wb');
            fwrite($f, $cidtogidmap);
            fclose($f);
            echo 'CIDToGIDMap created (' . $cmp . ')<BR>';
            $s .= '$ctg=\'' . $cmp . "';\n";
        }
        if ($type == 'Type1') {
            $s .= '$size1=' . $size1 . ";\n";
            $s .= '$size2=' . $size2 . ";\n";
        } else {
            $s .= '$originalsize=' . filesize($fontfile) . ";\n";
        }
    } else {
        //Not embedded font
        $s .= '$file=' . "'';\n";
    }
    $s .= "?>\n";
    SaveToFile($basename . '.php', $s);
    // echo 'Font definition file generated ('.$basename.'.php'.')<BR>';
    return true;
}
コード例 #11
0
 /**
  * Метод выполняет перерасчет стркутуры базы данных хранящейся в конфигурации сайта на основании структур
  * таблиц различных модулей, при этом происходит сохранение сгенерированной структуры.
  */
 function RecountDBStructure()
 {
     if ($arModules = $this->GetList(false, array('active' => 1))) {
         $arResultStructure = array();
         foreach ($arModules as $arModule) {
             if (file_exists(KS_MODULES_DIR . '/' . $arModule['title'] . '/install/db/db_structure.php')) {
                 include KS_MODULES_DIR . '/' . $arModule['title'] . '/install/db/db_structure.php';
                 $arResultStructure = array_merge($arResultStructure, $arStructure);
             }
         }
         if (file_exists(KS_MODULES_DIR . '/koloslib/install/db/db_structure.php')) {
             include KS_MODULES_DIR . '/koloslib/install/db/db_structure.php';
             $arResultStructure = array_merge($arResultStructure, $arStructure);
         }
         SaveToFile(KS_MODULES_DIR . '/koloslib/cache/db_structure.php', '$arStructure', $arResultStructure);
     }
 }
コード例 #12
0
 /**
  * Akcja dla	:http://raport/tabelaryczny
  * i			:http://raport/tabelaryczny/ankieta/#id
  */
 public function tabelarycznyAction($excel = 0, $id_ankieta = 0)
 {
     $poll = new Ankiety();
     $db = $poll->getAdapter();
     if (!$excel) {
         $post = new Zend_Filter_Input($_POST);
         $pollId = $this->_getParam('ankieta');
         if (empty($pollId)) {
             $pollId = $post->getInt('ankieta_id');
         }
     } else {
         $pollId = $id_ankieta;
     }
     /*
     $pytanie=false;
     $queId=$this->_getParam('pytanie');
     if  (empty($queId)) $queId = $post->getInt('pytanie_id');
     if (!empty($queId)) {$this->view->queId=$queId; $pytanie=true;}
     */
     $this->view->pollId = $pollId;
     $this->view->pool = $poll->find($pollId);
     $question = new Pytania();
     $this->view->questions = $question->findAllWithAnkietaId($pollId);
     $this->view->qV = array('jednokrotne' => 0, 'wielokrotne' => 1, 'otwarte' => 2);
     $rap = new Raporty();
     $this->view->info = $rap->FindInformationsAboutAnkietaId($pollId);
     $this->view->fill = $rap->AmountOfFilledId($pollId);
     $this->view->ques = $rap->AmountOfQuestionsId($pollId);
     $this->view->body = $this->view->render('/raport/raportTabelaryczny.php');
     /*if ($pytanie) { 
      		$this->view->queInfo=$rap->InfoAboutQuestionId($queId);
      		if ($this->view->queInfo["nazwa_typu"]!='otwarte') {
      			$this->view->ansInfo=$rap->InfoAboutAnswersId($queId);
      			$this->view->body.=$this->view->render('/raport/PytZamkniete.php');
      		} else {
      			$this->view->ansInfo=$rap->AnswersOpened($queId);
      			$this->view->body.=$this->view->render('/raport/PytOtwarte.php');
      		}
      			
      	}
      	*/
     foreach ($this->view->questions as $row) {
         $queId = $row->idPytanie;
         $this->view->queInfo = $rap->InfoAboutQuestionId($queId);
         if ($this->view->queInfo["nazwa_typu"] != 'otwarte') {
             $this->view->ansInfo = $rap->InfoAboutAnswersId($queId);
             $ilResp = $rap->AmountOfRespondentsWhoAnsweredId($queId);
             $this->view->ilResp = $ilResp["ilresp"];
             $this->view->body .= $this->view->render('/raport/PytZamkniete.php');
         } else {
             $this->view->ansInfo = $rap->AnswersOpened($queId);
             $this->view->queId = $queId;
             $this->view->excel = $excel;
             $this->view->limit = 2;
             //tu decydujemy ile ma sie wyswietalc odpowiedzi otwartych
             $this->view->body .= $this->view->render('/raport/PytOtwarte.php');
             SaveToFile("/documents/raporty/OA_{$queId}.txt", $this->view->ansInfo);
         }
     }
     if (!$excel) {
         $this->display();
     } else {
         return $this->view->body;
     }
 }