1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
<?php /** * @package php-font-lib * @link https://github.com/PhenX/php-font-lib * @author Fabien Ménager <fabien.menager@gmail.com> * @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License */
/** * Generic font file. * * @package php-font-lib */ class Font { static $debug = false; /** * @param string $file The font file * @return Font_TrueType|null $file */ public static function load($file) { $header = file_get_contents($file, false, null, null, 4); $class = null; switch($header) { case "\x00\x01\x00\x00": case "true": case "typ1": $class = "Font_TrueType"; break; case "OTTO": $class = "Font_OpenType"; break; case "wOFF": $class = "Font_WOFF"; break; case "ttcf": $class = "Font_TrueType_Collection"; break; // Unknown type or EOT default: $magicNumber = file_get_contents($file, false, null, 34, 2); if ($magicNumber === "LP") { $class = "Font_EOT"; } } if ($class) { /** @noinspection PhpIncludeInspection */ require_once dirname(__FILE__)."/$class.php";
/** @var Font_TrueType $obj */ $obj = new $class; $obj->load($file); return $obj; }
return null; } static function d($str) { if (!self::$debug) return; echo "$str\n"; } static function UTF16ToUTF8($str) { return mb_convert_encoding($str, "utf-8", "utf-16"); } static function UTF8ToUTF16($str) { return mb_convert_encoding($str, "utf-16", "utf-8"); } }
|