Использование шрифта Georgia в PDFLib на Mac (El Capitan)

Я создаю файл PDF с использованием PDFLib, и, к сожалению, я не могу заставить его использовать файл Georgia. Я могу использовать практически любой другой шрифт, кроме этого.

Я попытался загрузить файл, а также изменить путь поиска, но он все еще не работает. Что я пробовал до сих пор:

$searchPath = "/Library/Fonts";
$p->set_option("searchpath= {" . $searchPath . "}");
$scoreFont = $p->load_font("Georgia", "unicode", "");
if ($scoreFont == 0){
    die("Error: " . $p->get_errmsg());
}

Всякий раз, когда я включаю это, я получаю сообщение об ошибке "Страница не работает".

Я не уверен, что это уместно, но я вижу файл Georgia.ttf в каталоге Library/Font, но не в каталоге System/Library/Font. У кого-нибудь есть опыт решения этой проблемы? Любая помощь будет принята с благодарностью.

Заранее спасибо!

РЕДАКТИРОВАТЬ

Я проверил свои журналы apache, и я вижу, что есть ошибка, перечисленная как:

Tue Aug 09 11:23:48 2016] [notice] child pid 11501 exit signal Segmentation fault (11)

Кроме того, я проверил файл журнала PDFLib и вижу:

PDF_load_font[----------------------------------------------------------------   --------------]
[ PDFlib 9.0.5  PHP5 binding on Mac OS X-10.6 64 (le) 2016-08-09 11:23:48      ]
[ Classes: api=1 warning=1                                                     ]
[ Enter in vi to compile it:                                                   ]
[ %s/)$/);/g   and   %s/"(NULL)"/NULL/g   and   %s/\[[^]]*\]//g                ]
[ Program should run on a little-endian platform                               ]
[------------------------------------------------------------------------------]

PDF_set_option(p_0x1097619a8, "searchpath= {/Library/Fonts}")
[New category:resource "SearchPath:/usr/local/PDFlib"]
[New category:resource "SearchPath:/usr/local/PDFlib/PDFlib"]
[New category:resource "SearchPath:/usr/local/PDFlib/PDFlib/9.0"]
[New category:resource "SearchPath:/usr/local/PDFlib/PDFlib/9.0/resource/cmap"]
[New category:resource   "SearchPath:/usr/local/PDFlib/PDFlib/9.0/resource/codelist"]
[New category:resource "SearchPath:/usr/local/PDFlib/PDFlib/9.0/resource/fonts"]
[New category:resource "SearchPath:/usr/local/PDFlib/PDFlib/9.0/resource/glyphlst"]
[New category:resource "SearchPath:/usr/local/PDFlib/PDFlib/9.0/resource/icc"]
[New category:resource "SearchPath:/Users/{username}/PDFlib"]
[New category:resource "SearchPath:/Users/{username}/PDFlib/PDFlib"]
[New category:resource "SearchPath:/Users/{username}/PDFlib/PDFlib/9.0"]
[New category:resource "SearchPath:/Users/{username}/PDFlib/PDFlib/9.0/resource/cmap"]
[New category:resource "SearchPath:/Users/{username}/PDFlib/PDFlib/9.0/resource/codelist"]
[New category:resource "SearchPath:/Users/{username}/PDFlib/PDFlib/9.0/resource/fonts"]
[New category:resource "SearchPath:/Users/{username}/PDFlib/PDFlib/9.0/resource/glyphlst"]
[New category:resource "SearchPath:/Users/{username}/PDFlib/PDFlib/9.0/resource/icc"]
[New category:resource "SearchPath:/Library/Fonts"]

Я не уверен, что на самом деле означают эти записи. В журнале PDFLib единственный каталог, который фактически существует в последнем, /Library/Fonts. И в этом каталоге находится файл Georgia.ttf.

Есть идеи?

Спасибо!

1 ответ

Решение

Быстрый тест с приведенным выше кодом и текущей версией PDFlib 9.0.7 на OSX работает нормально. Так что это может быть хорошей идеей, чтобы проверить файл журнала ошибок вашего веб-сервера /PHP. Возможно, ваш веб-сервер неправильно выдает сообщение в случае die().

Если вы не видите причину ошибки в файле журнала веб-сервера, вы можете включить ведение журнала PDFlib,

$p->set_option("logging {filename {/tmp/PDFlib.log}}");

как ваш первый звонок PDFlib. Тогда вы должны увидеть там, если load_font() fail (0) и возможное сообщение об ошибке.

РЕДАКТИРОВАТЬ: спасибо, что поделились более подробной информацией из ваших файлов журналов. Вход

Tue Aug 09 11:23:48 2016] [notice] child pid 11501 exit signal Segmentation fault (11)

может указывать на проблему HostFont на Mac в сочетании с PHP и веб-сервером. Можете ли вы отключить поддержку hostfont. В образцах PHP PDFlib этот вызов закомментирован, поэтому просто включите вызов:

 /* Enable the following line if you experience crashes on OS X
  * (see PDFlib-in-PHP-HowTo.pdf for details):
  */
  $p->set_option("usehostfonts=false");
Другие вопросы по тегам