【发布时间】:2012-09-06 19:33:13
【问题描述】:
我正在使用 dompdf 0.5.2 并且遇到的问题是,当一行有重音时,下一行的第一个字符被移入其中,例如:
This is a first line with áccent. T
his is a second line.
注意第一行末尾的 T,它属于第二行。默认字体和自定义加载字体都会发生这种情况。还尝试了 UTF-8 和 ISO-8859-1 编码。
【问题讨论】:
我正在使用 dompdf 0.5.2 并且遇到的问题是,当一行有重音时,下一行的第一个字符被移入其中,例如:
This is a first line with áccent. T
his is a second line.
注意第一行末尾的 T,它属于第二行。默认字体和自定义加载字体都会发生这种情况。还尝试了 UTF-8 和 ISO-8859-1 编码。
【问题讨论】:
如果有人对 0.7.0-beta 版本有同样的问题,解决方案是将以下行添加到文件 src/Dompdf/FrameReflower/Text.php 的第 272 行(就在 if ($split == 0) { 之前):
$split = mb_strlen(mb_substr($this->_frame->get_text(), 0, $split), 'UTF-8');
【讨论】:
另一个对我有用的解决方案是在您的文本/字符串上使用 wordwrap PHP 函数。
【讨论】:
取自 here 的有效解决方案是将以下代码行添加到 dompdf 文件 include/text_frame_reflower.cls.php 的第 246 行之后:
$split = mb_strlen(mb_substr($this->_frame->get_text(), 0, $split), 'UTF-8');
【讨论】: