Php tcpdf和区域设置getnumlines计数错误

Php tcpdf和区域设置getnumlines计数错误,php,pdf,tcpdf,Php,Pdf,Tcpdf,我发现了TCPDF库的恼人错误。希望你知道如何帮助我。我使用obj->getNumLines方法来计算文本的行数。它在大多数情况下都很好,但不幸的是,并不总是这样。我使用UTF8编码,我使用许多本地符号(我来自波兰,我们有很多这样的符号)。getNumLines有时返回,即5,尽管multicell显示6行文本 在我的研究中,我发现: $font = $pdf->addTTFfont('/fonts/calibri.ttf', '', '', 32); $pdf->setFont($

我发现了TCPDF库的恼人错误。希望你知道如何帮助我。我使用obj->getNumLines方法来计算文本的行数。它在大多数情况下都很好,但不幸的是,并不总是这样。我使用UTF8编码,我使用许多本地符号(我来自波兰,我们有很多这样的符号)。getNumLines有时返回,即5,尽管multicell显示6行文本

在我的研究中,我发现:

$font = $pdf->addTTFfont('/fonts/calibri.ttf', '', '', 32);
$pdf->setFont($font, '', 13)
$string = 'zażółć gęślą jaźń'; (repeated many times)
echo $pdf->getNumLines($string, 0);
它打印到屏幕上的数字与multicell实际返回pdf文件的行数不同(更小)。正如您在上面看到的,我使用自定义字体,在代码编写过程中边距不会改变


有人知道哪里出了问题或如何修复吗?

这可能是因为unicode字符被保存为两个字节,因此字符计数不等于字节数。检查
mb.*
(例如
mb.\u strlen
)函数,它们应用于正确计算长度。也许这取决于你的配置或者代码中的一些错误。我也有同样的问题,你找到解决方案了吗?