ActiveReports 8
Custom Font Factory (Pro Edition)
Show AllShow All
Hide AllHide All

When you use the PDF export filter in a Medium trust environment, ActiveReports does not have access to the System Fonts folder due to security restrictions. So if your reports use special glyphs or non-ASCII characters that are only found in certain fonts, the PDF output may be incorrect on some machines.

The ActiveReports custom font factory allows you to embed any fonts you need in PDF in the Medium trust environment. To deploy the necessary fonts with your Medium trust solution, you must add the used font files in the specific folder and set up your web.config file.

ActiveReports looks for the custom fonts in the order as follows:

  1. A font specified in the control.
  2. A mapped specified font in the Substitute setting.
  3. A font specified in the the AddFontLink setting (Pro Edition only).
  4. A font specified in the SetFallbackFont setting (Pro Edition only).

Notice that you need to copy the required font files (.ttc, .ttf) manually into the font folder you are accessing.

Custom Font Factory in Windows Azure

For your Azure project, you need to set the properties for all fonts in the project Fonts folder as follows:

  1. Set Copy to Output Directory to Copy always.
  2. Set BuildAction to Content.

To add a font factory section group

XML code. Paste INSIDE the configSections tags of the web.config file.
Copy Code
<sectionGroup name="ActiveReports.PdfExport">
     <section name="FontFactory" 
        type="GrapeCity.ActiveReports.Web.FontFactorySectionHandler"
        requirePermission="false"/>
</sectionGroup>

To create a font factory

Required fonts or the folder containing the required fonts are set in the font factory. Paste code like the following after the configSections tag, but before the appSettings tag.

Note: Please make the required changes for the font that you wish to use. In case of the following sample code, create a Font folder and copy the required font files (arial.ttf, tahoma.ttf, msgothic.ttc, simsun.ttc, gulim.ttc, mingliu.ttc, micross.ttf).
XML code. Paste between configSections and appSettings tags of the web.config file.
Copy Code
<ActiveReports.PdfExport>
    <FontFactory Mode="File">
        <AddFolder VirtualPath="~/Fonts" Recurse="true"/>
        <Substitute Font="Helv" To="Helvetica"/>
        <SetFallbackFont Font="Arial"/>
        <!-- font link nodes -->
        <AddFontLink Font="Arial" List="SimSun,gulim,PMingLiU"/>
        <AddFontLink Font="Tahoma" List="MS UI Gothic,SimSun,gulim,PMingLiU"/>
        <AddFontLink Font="MS UI Gothic" List="SimSun,gulim,PMingLiU,Microsoft Sans Serif" IsDefault="true"/>
    </FontFactory>
</ActiveReports.PdfExport>
Note: For the Azure worker role project, use an absolute path instead of a virtual path in the code above: <AddFolder Path="~/Fonts" Recurse="true"/>.
Copy Code

Configuration settings

FontFactory

AddFolder

Substitute

SetFallbackFont (Professional Edition only)

AddFontLink (Professional Edition only)

See Also
Support Forum