I had a similar issue with Japanese characters in the PDFs, and this was what solved the issue for me:
First, the default font in Magento did not support the characters that I was using. I needed to change the font to something else. Fortunately, Magento does come with another font that does support those characters. I used the ArialUni font located at lib/tcpdf/fonts.
To have Magento use this font for the PDFs, you will need to copy Mage_Sales_Model_Order_Pdf_Abstract
to app/code/local/Mage
and modify the _setFontRegular()
, _setFontItalic()
, and _setFontBold()
functions to use the new font.
Next, you will need to fix a transliteration bug in Zend
that fails when using this font. Make a local override of Zend_Pdf_FileParser
and modify the definition of readStringMacRoman()
. The iconv()
function call parameter 1 should use the proper encoding id of "macintosh" instead of the encoding name of "MacRoman".
Normally I wouldn't create a local Mage override. I would make a new module and override via the config.xml
. This is a unique case because the functions we need are defined in the abstract class, and Magento's override system does not allow us to override abstract classes. Our other option would be to make an override of all the classes that extend this abstract and change the function definition in all of those classes. So given the choice between modifying 6 or so classes and modifying one class, I'll modify the one.
Keep in mind that this approach will change the font (and thus the look) of all of your email PDFs.