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

Font metrics-url and embed-url are aways absolute, fails without good error message

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Resolution: Fixed
    • 2.5
    • None
    • renderer/pdf
    • None
    • Operating System: All
      Platform: All
    • 36729

    Description

      Under 1.0 the metrics-url and embed-url attribites of the <font> element are
      not relative to the specified base directory.

      Therefore they are loading from the working directory of the process (which is
      usually c:\windows\system32 if your server is running as a windows service).

      Under 0.20 one was able to call:

      org.apache.fop.configuration.Configuration.put
      ("fontBaseDir","/absolute/path/to/metrics/directory");

      or put this in your configuration file.

      Is is possible to add a way to specify a base directory for the font metric
      files, or make them relative to the configuration file itself. Otherwise one
      needs to encode system specific paths in the configuration file.

      Also, this fails silently at the moment, and later on throws a null pointer
      error. Logging of the failure to load a metric file is labelled as todo. Since
      this is going to be a common error, a meaningful message will save users hours
      of trying to figure out what is happening....

      Attached is a patch file to log a meaningful error. Also I have moved the flag
      of successfull loading so that the flag is only set if they are really loaded.

      Should the exception propogate up rather than swallowing it?

      Attachments

        1. LazyFont.diff
          2 kB
          Ken Blackler

        Activity

          People

            fop-dev@xmlgraphics.apache.org fop-dev
            ken.blackler@jrc.it Ken Blackler
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: