summaryrefslogtreecommitdiffstats
path: root/library/vendor/dompdf/vendor/phenx/php-font-lib/src/FontLib/Font.php
diff options
context:
space:
mode:
Diffstat (limited to 'library/vendor/dompdf/vendor/phenx/php-font-lib/src/FontLib/Font.php')
-rw-r--r--library/vendor/dompdf/vendor/phenx/php-font-lib/src/FontLib/Font.php89
1 files changed, 89 insertions, 0 deletions
diff --git a/library/vendor/dompdf/vendor/phenx/php-font-lib/src/FontLib/Font.php b/library/vendor/dompdf/vendor/phenx/php-font-lib/src/FontLib/Font.php
new file mode 100644
index 0000000..e13a653
--- /dev/null
+++ b/library/vendor/dompdf/vendor/phenx/php-font-lib/src/FontLib/Font.php
@@ -0,0 +1,89 @@
+<?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
+ */
+
+namespace FontLib;
+
+use FontLib\Exception\FontNotFoundException;
+
+/**
+ * Generic font file.
+ *
+ * @package php-font-lib
+ */
+class Font {
+ static $debug = false;
+
+ /**
+ * @param string $file The font file
+ *
+ * @return TrueType\File|null $file
+ */
+ public static function load($file) {
+ if(!file_exists($file)){
+ throw new FontNotFoundException($file);
+ }
+
+ $header = file_get_contents($file, false, null, 0, 4);
+ $class = null;
+
+ switch ($header) {
+ case "\x00\x01\x00\x00":
+ case "true":
+ case "typ1":
+ $class = "TrueType\\File";
+ break;
+
+ case "OTTO":
+ $class = "OpenType\\File";
+ break;
+
+ case "wOFF":
+ $class = "WOFF\\File";
+ break;
+
+ case "ttcf":
+ $class = "TrueType\\Collection";
+ break;
+
+ // Unknown type or EOT
+ default:
+ $magicNumber = file_get_contents($file, false, null, 34, 2);
+
+ if ($magicNumber === "LP") {
+ $class = "EOT\\File";
+ }
+ }
+
+ if ($class) {
+ $class = "FontLib\\$class";
+
+ /** @var TrueType\File $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");
+ }
+}