DjVu Plugin 4.1 offers Outlines, Section 508 Compliance
a news report by PlanetDjVu, July 12, 2003
LizardTech has posted an upgrade to the DjVu Browser Plugin for Windows on July 8th, 2003. The upgrade version is 18.104.22.1683. The previous 4.0 upgrade to the Windows plugin occured March 22, 2003.
The plugins for MAC have not been updated. The LizardTech plugin for Unix has been abandoned and, as reported earlier, the LizardTech plugin download page now sends you to the DjVuLibre site.
The Windows plugin update contains two new features:
1. Support for "Outlines" (a new form of metadata)
2. Section 508 Compliance (the ability of screen readers to read the Unicode text of DjVu)
The readme file also states that performance under Windows 98 has been improved.
The bitonal printing problem and the opening magnification problem in the previous release are not mentioned in the readme file, but our testing of the upgrade indicates that these problems have been fixed.
The PluginWindowProc error is fixed. This file produces errors in the previous version of the plugin but opens fine now in the update.
The size of the DjVu Windows Plugin is now 4.41 Mb. The LizardTech download page still does not report the size correctly, reporting it in one place as 5.0 Mb and in another as 1.75 Mb.
As before, you can either auto-load the plugin or download it. The download option for non-english languages does not work. You end up downloading the English version in each case. We did not try the auto-install method for non-english languages.
Other problems with the Windows plugin for DjVu that have long been reported here at PlanetDjVu, but never acknowledged by LizardTech, have not been fixed. These include:
1. When a DjVu is embedded in an HTML page, some navigation keys do not work including Page Up and Page Down. Not a problem in the DjVuLibre plugin.
2. When printing, you cannot print just the Foreground or Background layers, as claimed. The entire composite image is printed regardless of what display mode you are in. Not a problem in the DjVuLibre plugin.
3. Headers and Footers do not print correctly (but the root of this problem is bad Lisp syntax when Headers and Footers are created in DjVu Editor). Headers and footers are not supported in the DjVuLibre plugin.
The help file section on toolbar customizing via CGI arguments is still missing. It disappeared in with the 4.0 version. We again refer you to our Toolbar Customizing Chart to get the missing information.
New Outline Feature
The right-click menu of the plugin now has a "Navigation Pane" menu item. From this, you can select either or the pop-up menu commands "Navigation Pane>Thumbnails" or "Navigation Pane>Outline".
Selecting "Navigation Pane>Outline" opens a frame on the left, within the plugin, in which an expandable hyperlink tree is displayed, against a light blue background.
According to the plugin help file, "Some DjVu documents contain outline information. This is a hierarchical "tree" display showing the organization of the document. If not present, a single layer hierarchy of page/filenames is displayed."
The "Outline" feature is very similar to the "Bookmarks" feature of Adobe Acrobat. One difference is that PDF does not have an internal page directory structure that can be displayed by default.
In PDF files, Bookmarks are created in Adobe Acrobat Exchange (the full version), and they can also be generated automatically from Word, Framemaker and a few other file formats that natively support document outlines. A variety of third-party applications can import and export Bookmarks structures too. An example is ISIToolbox from Image Solutions, Inc. You can export bookmarks and export hyperlinks into a comma separated value (csv) file data format, which can be imported either into a spreadsheet application or word processor where spell check can easily be performed. This tool is also available in Batch Mode.
For DjVu files, we don't know yet how Outlines will be created, or what the storage structure will look like. LizardTech has not made any announcement about the Outline feature. In the JRAPublish application, we implemented an XML file structure for importing and exporting Outlines, as opposed to the CSV format used by ISIToolbox.
To learn about Bookmarks/Outlines and what they can do in a digital document, click here to open The Power of PDF Bookmarks (in PDF format, of course!). You will see that PDF Bookmarks can do more than DjVu Outlines can possibly do.
One fundamental thing that PDF Bookmarks do is to link to a VIEW of a page, and not just automatically to the top of the page, which is what DjVu hyperlinks currently do. A View in PDF is a region of the page that will be displayed. This makes the the text or object that the Bookmark is linking to will alway be initially visible. A VIEW is also important to full-text searching.
There is no reason that VIEWs for DjVu cannot be implemented at the same that Outlines are implemented. Basically, VIEWs are just X,Y coordinates added to the hyperlink which the plugin will repond to when the opening view of the page is displayed. VIEWs can be calculated for full-text searching, but for custom VIEWs they should be supported by the interactive editor for creating bookmarks and hyperlinks, whatever the editing application might be.
Undocumented "Outline" Embed Tag
Although not documented in the help file of the plugin, we have discovered that "outline" has been added as an Embed tag and as a CGI-Style argument. The valid arguments are the same as for thumbnails: "Yes, Left, Right, Top and Bottom. Try the following examples (if you are on Windows and have installed the 4.1 plugin:
Our JRAPublish application has been embedding "outlines" in DjVu files for over a year. Since the plugin could not display them, we developed a COM object to read them out of the DjVu document on the server, and to display them in a separate HTML frame. We developed an outline storage format that is compatable with PDF Bookmarks, so that PDF Bookmarks can be transferred to DjVu. JRAPublish does not have an interactive outline editor, rather it is designed to to import common outline trees into a DjVu document collection.
Unfortunately, JRAPublish and the JRMDLibrary products were never released due to licensing obstacles with LizardTech.
LizardTech has not consulted with us about our existing Outline embedding feature for DjVu. It would be nice if the Outline structure supported by the plugin would be compatable both with our structure and with the structure of PDF, particularly with the extended attributes introduced with Acrobat 6. It would also be great if the volunteers at DjVuLibre were involved, so that outlines can be implemented in the DjVuLibre viewer. All this requires is some good communication.
Section 508 Compliance (for Accessibility and Screen Readers)
The DjVu Browser Plugin supports the Microsoft Active Accessibility (MSAA) interfaces used by Windows-based screen readers and other assistive technologies. These applications allow visually impaired users to interact with computer applications. Such support is required by certain U.S. Government Agencies which desire to comply with the United States Federal Rehabilitation Act's Section 508. Once an MSAA-based screen reader is installed and activated, the entire user interface of the Plugin is exposed (menus, dialog boxes, tooltips, etc) to the reader.
If text is embedded in a DjVu document, it is exposed to the reader. By selecting text with the mouse, you can specify which text you want the reader to vocalize. If there is no selection (and text exists), the vocalization begins with the start of the page.
Due to limitations in popular MSAA-based screen readers, only the first 256 characters of available text are exposed. For users who require more complete access, the "H" key will bring up a dialog box that exposes all the selected text. Note that this hot key is available only if a screen reader is installed and activated.
According to LizardTech "The DjVu Browser Plugin has been tested with the following MSAA-based screen readers: Window Eyes (www.gwmicro.com) and JAWS (www.dolphinuk.co.uk)"
We have not conducted any tests of our own at the time of this writing.
MAC Users are Left Trailing Behind
Neither the 3.5.1 version of the plugin for MAC OS 9 or the 4.0 version of the plugin for MAC OS X have been updated. The problem with not being able to save large DjVu files, and various install problems remain. We still don't know if these plugins will display the Annotations that can now be created in DjVu Editor 4.0. We think not, because we think that the Leadtools Annotation Library that LizardTech used is compiled for Windows only. If you are a Mac user, please open the following DjVu file that contains Annotations: http://www.planetdjvu.com/gallery/version24/demo.djvu
Then report your findings in the Plugin Support Forum of PlanetDjVu.
UNIX Users are "Abandoned" to DjVuLibre
LizardTech has apparently given up on maintaining its own plugin for Unix. There is now an auto-fowarding link to DjVuLibre if you try to download the Unix plugin advertised by LizardTech. No explanation or credit is given to DjVuLibre. To do so, they would also have to account for why they have removed all other references to the open-source side of DjVu from their website.
The DjVuLibre plugin is called "nsdejavu", and it must downloaded in source code form along with the rest of DjVuLibre, and then compiled. You will need to also get the QT library before compiling the plugin. We think that Nsdejavu should be offered in precompiled binaries now that it has become the defacto plugin for Unix.
Recommendations to LizardTech
1. Work with DjVuLibre now on the defining the standard for Outlines in DjVu.
2. Allow DjVuLibre to add support for Outlines to to both the DjVuLibre library and the viewer.
3. Work with JRA/PlanetDjVu on compatability with JRAPublish and with Acrobat 6.
4. Upgrade DjVu Editor to support the creation of Outlines, just as the full Acrobat product
supports the creation of Bookmarks in PDF.
5. Continue working with DjVuLibre and JRA on the definition of DjVu Document Metadata
(index fields stored in DjVu).
6. Perform beta testing prior to releasing software. This will result in fewer problems, for sure.
7. Do final QA before releasing software.
8. Publish consumer information to keep the user community informed of new developments.
9. Reform product licensing and prices, and get third-party invoved to extend the format reach.
Will this advice be followed? If not, it is a clear indication that LizardTech wants DjVu to be completely proprietary, which LizardTech already indicated when proprietary Annotiations were added to the format in March, breaking compatability with the open source version of DjVu.
The introduction this coming fall of the JP2 format (JPEG2000/Part 6), which is very similar to DjVu and which is an open international ISO format, will be competing directly with DjVu with the banner of being entirely "OPEN". DjVu is accused of being completely "PROPRIETARY". Can DjVu be sucessfully defended as being "OPEN"? Stay tuned and we shall see...
Planned Upgrade to JRAPublish for "Outlines"
A year ago, we used the term "Bookmarks" in JRAPublish, the term that is used in PDF. We can easily change this now to "Outlines". For this to work, there must be an external file representation for DjVu Outlines, such as CSV or XML formats..
In the CGI-Style Argument Section, we allow for the embedding of CGI-style arguments that normally can only be applied by the Server. The web server extacts the CGI-style arguments that are embedded in the DjVu file and then applies them, with the assistance of the JRMD Library COM object. To see a representation of how this will appear to the user, check the following DjVu book example which features a bookmark frame: http://djvued.libs.uga.edu/scb/scbfr.html
We can add the following now to the CGI-Style Argument Section:
Outlines Visible o Yes o No
Outlines Position o Left o Right o Top o Bottom
We will make these enhancements if Outlines for DjVu becomes an open standard, and if the owners of DjVuLibre are willing to license the DjVu Reference Library to us as a third-party developer, so that JRAPublish can finally be released as a commercial application. And then made available to you!