San*_*alp 7 php unicode pdf-generation tcpdf cakephp-2.0
我在pdf上使用印地语文本.虽然印地语文本正在产生,但它显示为错位的matras.假设我有像'ज़िन्दगी'这样的词,但它显示为
如果我复制此文本并粘贴在Libre Office Writer上,那么它打印正确.我用tcpdf尝试了近两种字体.Arial Unicode MS以及Lohit_hi
$tcpdf->SetFont('arialuni', 'B', 15, 'false');
$html = nl2br($result['Song']['hindi']);
$tcpdf->writeHTMLCell(0, 20, 20, 25, $html);
Run Code Online (Sandbox Code Playgroud)
为什么它显示出性格但却错位了它们的位置.
如果我复制并粘贴 \'\xe0\xa4\x9c\xe0\xa4\xbc\xe0\xa4\xbf\xe0\xa4\xa8\xe0\xa5\x8d\xe0\xa4\xa6\xe0\xa4\x97\ xe0\xa5\x80\' 进入microsoft word,默认情况下,它显示如下:
\n\n
它实际上是完全相同的 unicode 字符字符串(即 \xe0\xa4\xbf\xe0\xa4\xa8 后跟 virama,后跟 \xe0\xa4\xa6),但它是只是根据字体以不同的方式呈现。Unicode 字体具有复杂的逻辑来决定何时将特定字符串替换为不同的字形,并且 PDF 使用的字体不支持您想要的特定替换。
\n\n您只需找到一种支持该替换的字体,并确保您的 PDF 使用该字体。(可能的情况是您当前的 setFont 调用无法正常工作,或者您指定的字体在设置时不可用,因此它使用系统的默认印地文字符字体,这不支持您所指的替换)。
\n