Uploaded image for project: 'FOP'
  1. FOP
  2. FOP-1362

[PATCH] The source-resolution configuration option is not honored

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Resolution: Fixed
    • 0.93
    • None
    • image/unqualified
    • None
    • Operating System: other
      Platform: All
    • 42406

    Description

      The source-resolution configuration option is not honored by FOP 0.93. Hence,
      the default resolution of a bitmap image is hardwired to 72DPI, which is way too
      big (XSL seems to say 90DPI, RenderX XEP uses 120DPI).

      Of course, there is workaround which consists in specifying the size of the
      image in inches or in centimeters. But this workaround is not as handy as
      specifying a proper source-resolution.

      I've made some very straightforward changes to
      src/java/org/apache/fop/image/analyser/BMPReader.java, GIFReader.java,
      JPEGReader.java, PNGReader.java, TIFFReader.java to make FOP honor the
      source-resolution configuration option.

      In all .java files, the changes always look like this:

      [1] Replace the definition of getDimension():

      ---------------------------------------------------------------
      private FopImage.ImageInfo getDimension(byte[] header) {
      FopImage.ImageInfo info = new FopImage.ImageInfo();
      ...
      return info;
      }
      ---------------------------------------------------------------

      by:

      ---------------------------------------------------------------
      private void getDimension(byte[] header, FopImage.ImageInfo info) {
      ...
      }
      ---------------------------------------------------------------

      [2] Replace the invokation of getDimension():

      ---------------------------------------------------------------
      FopImage.ImageInfo info = getDimension(header);
      ---------------------------------------------------------------

      by:

      ---------------------------------------------------------------
      FopImage.ImageInfo info = new FopImage.ImageInfo();
      info.dpiHorizontal = ua.getFactory().getSourceResolution();
      info.dpiVertical = info.dpiHorizontal;

      getDimension(header, info);
      ---------------------------------------------------------------

      If you want a real patch, just send me an email saying so.

      Attachments

        1. patch_fop_image_analyser.diff
          8 kB
          Hussein Shafie

        Activity

          People

            fop-dev@xmlgraphics.apache.org fop-dev
            hussein@xmlmind.com Hussein Shafie
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: