I'm having an issue with an RDLC report printing empty characters when produced as a PDF. It only affects font ligatures which I understand to be letter combinations such as:
My research shows these character combinations are combined into a single glyph, which I see as an empty space when printed out. Example clippings:
On PDF:
Printed:
Therefore the symptoms are:
So far I have narrowed it down to a particular font (Calibri) and a particular server (Windows Server 2003 R2). The PDF has the font embedded:
I order to resolve this I'd be happy with:
I'm not sure how / where I would begin in comparing the font environments, therefore ideas and pointers are much appreciated.
UPDATE:
Thanks to the answers below I have checked the charmaps on both machines but they look identical:
Server (where issue lies):
Local (no issue):
This also reminded me that I installed the font by copying over the font files and installing them directly. Both versions are 5.72, Digitally Signed, TrueType Outlines, however the server displays OpenType Font
whereas local displays OpenType Layout
(could just be different operating system display).
An interesting point is if I use Calibri Regular 48 locally I see the ligature:
whereas the server doesn't use it:
In addition both PDFs are PRINTED on the same machine, but it's only the PDF generated on the server that exhibits the issue, therefore I think printer drivers cannot be the issue?
Can you do a search and replace and break the ligatures by inserting between the characters a word joiner character (U+2060) or on older systems, with a zero width no break space (U+FEFF)? This should force it not to use ligatures.
In general, PDFs generated by ReportViewer and even from Reporting Services won't embed fonts:
The PDF rendering extension does not embed fonts. Fonts that are used in the report must be installed on the report server and on the client computers used to view the report.
Thus I would:
%windir%\fonts
in the two machines, click Calibrì, right-click each ttf file, select Properties
and look for File version
in the Details
tab).gs -dPDFA -dBATCH -dNOPAUSE -dUseCIEColor -dHaveTransparency=false -sProcessColorModel=DeviceCMYK -sDEVICE=pdfwrite -sPDFACompatibilityPolicy=1 -sOutputFile=output_filename.pdf input_filename.pdf
A few side notes:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With