Не работает ufpdf.
, в pdf-файле отображаются "квадратики"
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.29] |
|
|
Дополнения к правилам (только для данного раздела)
Не работает ufpdf.
, в pdf-файле отображаются "квадратики"
|
|
|
|
|
Скачал сабж с оффсайта. Натравил ttf2ufm.exe на arial.ttf и arialuni.ttf.
![]() ![]() ttf2ufm.exe -A -F arial.ttf arial ttf2ufm.exe -A -F arialuni.ttf arialuni Использовалась Windows XP SP2 Pro Полученные файлы перенес на Gentoo Linux (Apache 2.0.58 (сборка), PHP 5.1.6-pl6-gentoo (сборка)). В консоли запустил ![]() ![]() $ php -q makefontuni.php arial.ttf arial.ufm Получил php файл, ctg.z и .z файлы. Их перенес в отдельный каталог. Переместил ufpdf.php в отдельный каталог. Радом с ним положил fpdf.php. Запустил тестовый скрипт: ![]() ![]() define ('FPDF_FONTPATH','./ufont/'); require('./ufpdf/ufpdf.php'); $pdf = new UFPDF(); $pdf->AddPage(); $pdf->AddFont('ArialUnicodeMS','','arialuni.php'); $pdf->SetFont('ArialUnicodeMS','',16); $pdf->Cell(40,10,'Превед мир!'); $pdf->Output('./hello.pdf','F'); $pdf->Close(); Запускаю скрипт. Он выполняется без ошибок, но в PDF файле девять "квадратиков" вместо символов. Кодировка скрипта - UTF-8. Пробовал с arial.ttf и соответственно FPDF. Работает только ISO-8859-5 (кириллица), но и кодировка скрипта должна быть такая же. Меня ломает ради FPDF постоянно юзать iconv например, т.к. у меня и в базе используется UTF-8... В чем проблема с UFPDF? |
|
Сообщ.
#2
,
|
|
|
|
Если долго биться головой об стену, то есть вероятность ее пробить. (ц) Я
Все таки переборол эту ботву. Кароче, рецепт такой: 1. Вытаскиваем из директории C:\windows\fonts файло arialuni.ttf и кладем его рядом с ttf2ufm.exe 2. Запускаем следующую ботву: ![]() ![]() ttf2ufm.exe -A -F -l russian arialuni.ttf arialuni 3. Дальше действуем так, как указано в README. Вопрос решен. |
|
Сообщ.
#3
,
|
|
|
|
Хы. Кстати, подойдут и обычные шрифты. Не обязательно Unicode. Главное в командной строке указать -l russian.
|