Re: Re: CreateFontPAckage Error: 1100

edited January 2016 in Devices
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.

Comments

  • edited January 2016
    Hi Mike,

    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.

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
This discussion has been closed.