11.4 Generating HTMLCSS, RTF, or Web Output

Table 11-2 shows the cross platform deployment scenario where the destination format is HTMLCSS, RTF, or the Web.

Table 11-2 Cross Platform Deployment - Scenario 1

Development Platform Deployment Platform Destination Format

Windows

UNIX

HTMLCSS, RTF, or Web


This section discusses designing and deploying a report for HTMLCSS, RTF, or Web output in the following subsections:

11.4.1 Designing Your Report

To prepare your report before you deploy it on a UNIX platform:

  1. Create a new report. While creating your report ensure that you leave additional padding space for boilerplate and field objects. This is to ensure that the box's size accounts for any possible increase in the text width when the report is run on the deployment platform.

  2. Use only those fonts in your report that:

    • Are available on UNIX. All font files that are available on Windows (TTF files) may not be available on UNIX (AFM or TFM files). If you have the correct AFM or TFM font file available on the UNIX platform, you can continue to use it (AFM for PostScript and TFM for PCL).

      Note:

      AFM support is extended only to single-byte PostScript file generation, with the exception of Japanese encoding.

      The encoding schemes supported for the AFM files are:

      • AdobeStandardEncoding

      • ExtJIS12-88-CFEncoding

      • FontSpecific

      • HRoman

      • ISOLatinHebrew

      • JIS12-88-CFEncoding

      • JIS12e-88-CFEncoding

    • Can scale well. For example, MS Sans Serif does not scale well to a different size, whereas Tahoma does. The reason is that the MS Sans Serif font is a raster font that does not scale well to any size and usually has rounding issues. On the other hand, Tahoma font is a TrueType font that is very similar in visual appearance to the MS Sans Serif font. Additionally, Tahoma is a vector font that can be scaled to any size and rotated to any angle.

11.4.2 Deploying Your Report

Deploying a Report in 11g that uses the New Font Model

  1. Ensure that the REPORTS_ENHANCED_FONTHANDLING environment variable is set to yes. The default value is yes.

  2. Copy all the TTF and TTC files, which are used in the report, to the REPORTS_FONT_DIRECTORY. The default font directory is $ORACLE_INSTANCE/reports/fonts.

  3. Remove any unnecessary aliasing from the uifont.ali file. For example, Arial is aliased to Helvetica, by default. If your report uses the Arial font, you must remove the aliasing from the uifont.ali file.

  4. Run the Report.

Deploying Reports in Pre-11g Version that uses Motif Tool Kit Mechanism

For fonts with AFM files not readily available on UNIX, or if you encounter any font issues in the report output such as text misalignment, you can convert and generate an AFM file from the Windows TTF file using freely available third party utilities, such as ttf2pt1. Do not attempt to convert to a TFM file, as this may not produce reliable results.

To deploy your report on a UNIX platform when AFM font files are not available:

  1. Locate the TTF files corresponding to the fonts used in your report. Convert these TTF files to AFM to ensure that you will have the AFM files for the fonts used in your report.

    Use a True Type to Type 1 font converter utility to convert the TTF files to AFM files. For example, ttf2pt1.

  2. Post-conversion, remove the .afm extension in the AFM file name. For example:

    Table 11-3 Post Conversion Font File Names

    Before Converting After Converting After Renaming

    arial.ttf

    arial.afm

    Arial

    cour.ttf

    cour.afm

    CourierNew


  3. Copy the converted AFM files to the $ORACLE_HOME/guicommon/tk/admin/AFM directory.

  4. Edit the screenprinter.ppd file with any text editor.

    Note:

    If you have defined a default printer by including an entry in ORACLE_HOME/guicommon/tk/admin/uiprint.txt, you must add the appropriate entries in the printer's PPD file for a PostScript printer or in the HPD file for a PCL printer.

    Beginning with Oracle Reports 10g Release 1 (9.0.4), if you have not set up a default printer:

    • A default printer surface that mimics the screen (screenprinter.ppd) is used for formatting.

    • You must add the necessary font and resolution entries in the screenprinter.ppd file.

    The PPD and HPD files are located at:

    • $ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin

    • $ORACLE_HOME/guicommon/tk/admin

    Oracle Reports searches for HPD or PPD files initially in the Oracle Instance location and then in the Oracle Home location.

    Refer to Section 9.8.1, "ScreenPrinter" for more information on the screenprinter.ppd file.

    Ensure that the PPD/HPD file used contains an entry for each AFM or TFM file that you use in your report. PPD/HPD files are configuration files containing printer driver settings and the list of all the fonts supported by the printer.

    Navigate to the to the Font Information section in the PPD file and add the necessary entries for the font files in the following format:

    *FONTNAME:ENCODING:VERSION:LOCATION
    

    For example:

    *Font Arial: Standard "(Version 2.76)" Standard ROM
    *Font CourierNew: Standard "(Version 2.76)" Standard ROM
    

    Ensure that the AFM file name exactly matches the font name specified in the PPD file as Oracle Reports searches for this file based on the font name in the PPD file.

  5. Ensure that the fonts used in your report are not aliased.

    For example, edit the uifont.ali file and comment the entries in the [Global] section, where Arial and Courier New are aliased to Helvetica and Courier, respectively.

    [ Global ] # Put mappings for all surfaces here.
    # Mapping from MS Windows
    #Arial = helvetica
    #"Courier New" = courier
    

    This ensures that Arial and Courier New are not aliased to any other font.

    Note:

    The uifont.ali file is located in the following directory on Windows and UNIX:

    • On windows: ORACLE_INSTANCE\config\FRComponent\frcommon\tools\common

    • On UNIX: $ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin

    Use font aliasing only if you are unable to generate the AFM file for a particular font. You can then alias the missing font to the closest match. The fonts must be made available on the machine displaying the report output and not necessarily on the machine generating the report output.

  6. Run the report.

    http://mywebserver.com:reports/rwservlet?server=myserver+report="/home/myreports/test.rdf"+authid=hr/hr@mydb+desformat=htmlcss+destype=cache
    

    The HTMLCSS output of your report will look exactly the same as the one generated on Windows.

11.4.2.1 Troubleshooting Information

If you encounter deployment issues, review the following troubleshooting information:

  • If you do not get the correct fonts in the HTMLCSS output, set the environment variable DEBUG_SLFIND to a log file name, for example, debug.txt, and run the report. The font files that are looked up while parsing the PPD file as well as the fonts used will be written to the log file debug.txt. Specifically, check for the following:

    1. The PPD file that you modified should be picked up. If it is not picked up it is a configuration issue. Refer to Chapter 8, "Managing Fonts in Oracle Reports".

    2. The AFM files that you have copied to AFM directory should be picked up next.

    See Chapter 9, "Printing on UNIX with Oracle Reports" for more information on DEBUG_SLFIND.

11.4.3 Frequently Asked Questions

This section covers frequently asked questions (FAQs) pertaining to deploying a report to HTMLCSS, RTF or the Web.

Question

When I design a report on Windows with font styles such as italic and bold, then run the report on UNIX, I do not see the output as it appeared on Windows. Why?

Answer

On UNIX, report formatting is done using fonts' corresponding AFM files. By default, these AFM files are picked from the $ORACLE_HOME/guicommon/tk/admin/AFM directory, provided as part of the installation. If the font style used in report does not have a corresponding AFM file on UNIX, the closest matching AFM file is used. For example, if you design a report on Windows with Courier Italic font, then run the report on UNIX, you may see only plain Courier font in the output. This happens because there is no AFM file available for Courier Italic font in the $ORACLE_HOME/guicommon/tk/admin/AFM directory, so instead Courier is picked. To work around this issue, you can alias your font's style to the same style for some other font that has AFM available. For example, you could alias Courier Italic to Times Italic in the global section of uifont.ali. Moreover, on Windows, there are some fonts that have bold, italic, and bold italic versions; for example, Arial has arialbd.ttf (Arial bold), ariali.ttf (Arial italic), and arialbi.ttf (Arial bold italic). Therefore, if you are using any font that has bold, italic, and bold italic TTF files available, you can generate AFM files from these files using ttf2pt1 and use these AFM files on UNIX.

Question

My report was created in Windows and is deployed on HP-UX 11. Although the font style on HP-UX 11 is correct, the spacing between the lines is inconsistent and some text is unable to fit in the allocated space. How can I fix the spacing so that my text fits correctly?

Answer

Ensure that you have set up the corresponding AFM files for all the fonts used in your document. Refer to Section 11.4.1, "Designing Your Report" for more information.

Question

My report is designed on Windows. When it is deployed on a different platform, it displays garbled output. For example, some fields display, ***** instead of the actual content. Is this a spacing issue?

Answer

Oracle Reports cannot find the AFM files of the font that you have used in your report. You can verify this by opening the report's HTML source and searching for the font that you have used.

Oracle Reports then uses the closest matching font whose metrics are bigger than the original font. Therefore, when the characters cannot fit in the box, a **** is displayed in the field, instead of the actual output.

Ensure that:

  • You have set up the AFM files for all the fonts used in your report. Refer to Section 11.4.1, "Designing Your Report" for more information.

  • You have left approximately 10% extra padding space for fields and text boilerplates.

Question

When my report is run on UNIX, the HTML or the HTMLCSS output looks shrunk. However, the same report run on Windows looks fine. What can I do to ensure that my report looks the same on UNIX as it did on Windows?

Answer

If you see shrinkage or expansion in your HTMLCSS output and you are on Oracle9i Reports, then set the environment variable REPORTS_DEFAULT_PIXEL_SIZE to any value ranging from 72 through 200 in reports.sh and restart the Reports Server.

For example:

REPORTS_DEFAULT_PIXEL_SIZE =72
export REPORTS_DEFAULT_PIXEL_SIZE

There will not be any HTMLCSS output shrinkage/expansion in Oracle Reports 10g as a fixed resolution is picked up from screenprinter.ppd. This resolution is editable.

*DefaultResolution: 96dpi (recommended)

Question

Can I use the overstrike property when I deploy a report in Solaris?

Answer

A limitation of AFM files is that it does not support the overstrike property.

Question

My report contains right-aligned fields that displays both positive and negative numbers. For example, 12345.67, -12345.67. However, when the report is generated to HTMLCSS output, the alignment is not correct. How can I fix the alignment? Is this a platform-specific issue?

Answer

This is not exactly a platform-specific issue. When the spaces in the HTMLCSS output are replaced by   this problem will be resolved. To ensure that you do not face this issue, you must upgrade to the Oracle Reports 11g Release 2 (11.1.2).