Closed PhilterPaper closed 5 years ago
A few lines before this patch is another section of code that has almost the same patch applied. Perhaps it should have been done in both places?
Also note that although the option is -indent, the variable is $ident. Need to check if this is a typo.
Typo for variable name fixed in BaseFont.pm, CIDFont.pm, UniFont.pm: $ident
should be $indent
.
Investigated reported bug and found that it was a missing parameter on a recursive call to text()
. The last parameter, $indent
, was missing. This fix appears to work OK, and is much cleaner than the suggested fix.
This change will appear in PDF::Builder 3.011 (possibly around end of 2018).
A note if you are looking at the supplied test case (unierror.pl). Be aware that in Helvetica (a corefont), the o+Hungarian-umlaut character doesn't have a listed glyph width, so it gets the "missing glyph" default width, which is quite narrow, resulting in incorrect alignment on text_right and text_center. See RT 57248/ #7 for more on this.
Thu May 16 21:47:24 2019 steve [...] deefs.net - Correspondence added
Thanks for the bug report!
I've incorporated your fix with minor changes, cleaned up the surrounding code, and added a couple of tests. It'll be included in the next release.
On Tue Aug 14 17:29:32 2018, fcc_del@bc.hu wrote:
Thu May 16 21:47:25 2019 steve [...] deefs.net - Status changed from 'open' to 'patched'
On Thu May 16 21:47:24 2019, SSIMMS wrote:
Steve, you may want to read https://github.com/PhilterPaper/Perl-PDF-Builder/issues/96. The fix (missing parameter to text() call) is much simpler than the suggested one. I will look at your changes to see if there's anything I overlooked. I see you have made other changes in this group that may be of interest for Builder.
Tue Aug 14 17:29:32 2018 fcc_del [...] bc.hu - Ticket created Subject: unifont -indent fails if text is not in multiple block Date: Tue, 14 Aug 2018 22:51:46 +0200 (CEST) From: fcc_del [...] bc.hu
methods: text_center, text_right And at lower level, the value of -indent key and variable $ident does not work properly, if the text can be printed using only one font inside unifont.
The attached unierror.pl can demonstrate it. The result is unierror.pdf
I'm using debian, perl 5.10.1 (not relevant for the bug)
package PDF::API2::Resource::UniFont; our $VERSION = '2.023'; # VERSION
The following patch can solve this problem.
Patch:
Thank you for your help
unierror.pl.txt unierror.pdf