http://www.perlmonks.org?node_id=645040


in reply to Re: PDF::Template and character encodings
in thread PDF::Template and character encodings

i just did, and not only did that setting mangle the PDF output, it didn't address the root problem ... :-\
  • Comment on Re^2: PDF::Template and character encodings

Replies are listed 'Best First'.
Re^3: PDF::Template and character encodings
by shmem (Chancellor) on Oct 15, 2007 at 22:15 UTC
    That might actually be a sign of progress. Is the PDF_findfont error still thrown? If it isnt, if it's different, there might be something wrong with your input files.

    Do you mind posting a condensed example showing the problem? It's far easier to help if there's something to see, and not being forced at stabbing blindfolded into the fog (guessing wildly, that is).

    --shmem

    _($_=" "x(1<<5)."?\n".q·/)Oo.  G°\        /
                                  /\_¯/(q    /
    ----------------------------  \__(m.====·.(_("always off the crowd"))."·
    ");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}
      I've updated the original node with a trimmed-down xml template. Essentially,  <VAR NAME='LAST_NAME'> is the problem; it contains the (misrendered) accented character.

      Changing the encoding to iso8859-1 *does* fix the PDF_findfont error, but it doesn't fix the problem with the accented characters.

        As per your OP, do you really get "~Aj", or is it per chance æ (which is a à á - a grave acute) ?

        If that is the case, you are getting utf-8 from your database - run that data through Encode. Alternatively, try using iso10646-1 (or utf8 without the hyphen).

        Using those fonts might fail since it seems likely that the strings coming from the database don't have the internal UTF8 flag set.

        --shmem

        _($_=" "x(1<<5)."?\n".q·/)Oo.  G°\        /
                                      /\_¯/(q    /
        ----------------------------  \__(m.====·.(_("always off the crowd"))."·
        ");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}