FOray Users
Module Users

FOray: Notes, Unreleased Changes

Unreleased changes can be obtained from the root of the source code repository.

Changes of Interest to Users

  • FOray is now dependent on Java Standard Edition 6.
  • PDF output now contains page number range labels, which allows viewer applications to show the printed page number within the viewer application itself. For example, consider a 29-page document that starts with eight pages of front-matter that are numbered using Roman numerals (i - viii), followed by 21 pages of content that is numbered using Arabic numerals (1 - 21). Before this change, Acrobat Reader would have displayed the fourth page as "4 / 29", and the ninth page as "9 / 29". It now shows the fourth page as "iv (4 of 29)", and the ninth page as "1 (9 of 29)".
  • MathML documents are now supported inside fo:instream-foreign-object. Previously they were supported only within fo:external-graphic.
  • Bugfix: Pioneer layout was not properly nesting inline elements in the AreaTree.
  • Bugfix: Not all descenants of a LineArea were considered for word-spacing and other spacing adjustments.
  • Miscellaneous improvements to the Panose class, thanks to Jason Harrop. These include greatly improved Panose matching, and methods to return bold and italic Panose instances.
  • Some minor changes have been made to the command-line options. Previously, assumptions were made that the input file was and FO file and that the output was PDF. These options must now be explicitly set on the command-line. For example, previously "FOray foo.pdf" would have parsed an FO file and produced a PDF. To get the same results now, use "FOray -fo -pdf foo.pdf". Option "awt" was changed to "screen". Option "at" was changed to "area".
  • FOray now provides support for ligatures in OpenType fonts. Support for OpenType features is a work in progress.

Changes of Interest to Developers

  • Please review the list of unreleased changes to aXSL. FOray maintains its API to conform to aXSL's, even between releases.
  • Removed the "xml-apis" jar files from the distribution, as these are now included in standard java.
  • Added a new flexible scheme for converting graphics to various output formats. This change was made possible by API changes in aXSL. Just as graphic factories can be registered with the GraphicServer to override the standard factories or support additional formats, output factories can be registered with the GraphicServer to do similar things for the supported output formats. See GraphicServer4a.registerGraphicOutputFactory(GraphicOutputFactory factory) for details.
  • Renamed many classes that implement aXSL interfaces so that they end with "4a" instead of starting with "FOray". This has the same general meaning that "Impl" has in some other products.
  • Upgraded Apache Commons IO dependency from release 1.2 to release 1.4.
  • Upgraded Apache XML Graphics dependency from release 1.2 to release 1.3.1.