Re: Re: CreateFontPAckage Error: 1100
Hi Nico
Thanks for you repsonse. We are using Report Builder 16.2 Build 144 and Delphi XE8. I traced the problem to one control that for some reason referred to the font MS Sans Serif (we used Arial everywhere else).
MS Sans Serif is no longer installed in Windows (it has been replaced by Microsoft Sans Serif). Apparently when previewing or printing a report font substituion occurs as we get no error. When Print to File and either PDF/A or PDF and Embed Font is true, report builder is unable to obtain the font information to embed and crashes with the error 1100. Unfortuately the user usually has to use task manager to kill the application and restart.
It would be good if Report Builder produced a better error message, or even automatically substituted a suitable font.
There may be some options already withjin Report Builder to help in these circumstanes but if there are any, then out the box it does not activate them (we simply upgraded from an early version of RB to 16). I am not an expert on fonts nor how to handle them.
Is there something I am missing?
Thanks Mike
Hi Mike,
This error indicates an issue with the font data for a font you are
using. PDF/A requires all fonts to be embedded so valid font data must
be provided.
1. Which version of ReportBuilder and Delphi are you using?
2. Which fonts are you using in your exported PDF?
3. Try setting PDFSettings.EmbedFontOptions.UseSubset to False.
Thanks for you repsonse. We are using Report Builder 16.2 Build 144 and Delphi XE8. I traced the problem to one control that for some reason referred to the font MS Sans Serif (we used Arial everywhere else).
MS Sans Serif is no longer installed in Windows (it has been replaced by Microsoft Sans Serif). Apparently when previewing or printing a report font substituion occurs as we get no error. When Print to File and either PDF/A or PDF and Embed Font is true, report builder is unable to obtain the font information to embed and crashes with the error 1100. Unfortuately the user usually has to use task manager to kill the application and restart.
It would be good if Report Builder produced a better error message, or even automatically substituted a suitable font.
There may be some options already withjin Report Builder to help in these circumstanes but if there are any, then out the box it does not activate them (we simply upgraded from an early version of RB to 16). I am not an expert on fonts nor how to handle them.
Is there something I am missing?
Thanks Mike
Hi Mike,
This error indicates an issue with the font data for a font you are
using. PDF/A requires all fonts to be embedded so valid font data must
be provided.
1. Which version of ReportBuilder and Delphi are you using?
2. Which fonts are you using in your exported PDF?
3. Try setting PDFSettings.EmbedFontOptions.UseSubset to False.
This discussion has been closed.
Comments
The difference between this and an earlier version of ReportBuilder is
that by default, for later versions of RB, fonts are embedded as a
subset to conserve space. Earlier versions of ReportBuilder embedded
the entire font file.
To do this RB utilizes the CreateFontPackage API call which is part of
the MS FontSub.dll library. This call is very particular about the font
files it receives however we have tested it with all fonts that are
installed with Windows.
If you would like to avoid using font subsetting when exporting to PDF/A
(which requires font embedding) you can set the
EmbedFontOptions.UseSubset property to false as I mentioned in my
previous post. Otherwise, it is up to the creator of the report to
ensure that all fonts used are valid.
I will look into providing more helpful errors when an invalid font is
encountered.
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com