Hi,
I am trying work with fpPDF. I can create PDF document, but character
out of ASCII range are displayed wrong (in PDF file they are stored
as UTF8).
Probably it is because I use standard Courier font, which is
expecting only "Latin characters" ? I use:
FontIndex := PDF.AddFont('Courier'); // --> test1.pdf
When I want to use TTF font:
FontIndex := PDF.AddFont('cour.ttf','CourierNew'); // --> test2.pdf
(nothing else this line has changed)
I get strange PDF file (I can open it but content is wrong)
What I am doing wrong? Is there way how to get correct PDF with
characters from Latin2 code page?
Not to my knowledge. You must use unicode for characters outside the
ASCII range.
Seems, that Adobe in
https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/PDF32000_2008.pdf
in Annex D2: "Latin Character Set and Encodings" specifies exactly which
characters are supported (by standard 14 fonts). Characters not listed
there are simply replaced by "X" in Adobe Acrobat Reader. But Foxit
reader displays them correctly (so I can use full range of characters
from CP1250 when I specify appropriate <</Type /Encoding /BaseEncoding
/WinAnsiEncoding /Differences [...] ...
Seems that in case when standard fonts are used fpPDF does not convert
Utf8String on input of WriteText() function CP1252 ...?
Is there way how to get correct PDF file WITHOUT embedding full
Courier font?
You can embed only the needed characters for every font ?
Probably yes, but fpPDF will not handle this automatically? AFAIK I can
not control this.
But why I get unreadable characters? What I am doing wrong ?
-Laco.
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal