Стандартные шрифты Zend PDF обычно равны символу Latin1, поэтому для работы с другими языками следует ссылаться на соответствующий шрифт ttf, поэтому я так и делаю ….
return Zend_Pdf_Font :: fontWithPath ($ this -> _ getFontFileDir (). $ fontFile)
Этот шрифт определенно используется, но символы для конкретного языка не отображаются: русский — цдгчкфсшдгч или польский — ñóźżćć
Я пробовал несколько шрифтов с соответствующей поддержкой языков, включая, например, DejaVuSans, который поставляется с библиотекой dompdf.
Я также проверяю кодировку символов перед отправкой -> drawText (
$addressItem = @iconv(mb_detect_encoding($addressItem), "UTF-8", addressItem);
$page->drawText(
$addressItem,
$this->_width,
$this->_height,
'UTF-8'
);
Возможно, кто-то использовал шрифт в этой ситуации, который, как было замечено, работал с вышедшими из строя символами выше?
Это просто вопрос шрифта, так как у меня была одна и та же проблема с рендерингом турецкого и польского текстов: они печатали нормально на экране (повторяя их из PHP), но PDF (с Zend_Pdf) не отображался хорошо, показывая (или не показывая) на всех) квадраты вместо нескольких символов ..
Мне пришлось импортировать и попробовать несколько внешних шрифтов .ttf, прежде чем я нашел тот, который работал: я использовал простой шрифт Arial TTF.
Надеюсь, это поможет!
Других решений пока нет …