DjVu File Format Versions

Interact with other DjVu users from around the globe.

DjVu File Format Versions

Postby jrile » Fri Feb 23, 2007 1:08 am

There is not enough understanding of DjVu file format versions and their differences, in my opinion.

So here is a brief overview of the versions:

Versions 1 - 19: 1996 - 1999
These were developmental versions of AT&T labs preceeding the sale of the format to LizardTech.

Version 20: April 1999

DjVu version 3. ìold indirect formatî (initial Multipage support), DjVuAnno chunk added.

Basically, this is the version where DjVu changed from a single-page format to a multipage format.

Version 21: September, 1999

ìnew indirect formatî, DjVuText chunk.

The new and improved Indirect storage format replaced the old one which had shortcomings. The searchable text layer was added.

Version 22: April, 2001

Page Orientation, Color JB2

A page rotation flag was added, allowing pages to be virtually and not physically rotated in DjVu Editor. Color JB2 compression support added for areas of constant color (improved compression).

Version 23: July, 2002

CID chunk (now obsolete)

I don't know what the purpose of the CID chunk was supposed to be. It is no longer supported. If you check any DjVu Document Information summary in the DjVu viewer you will see: " 0.0 Kb 'CIDa' Unrecognized chunk". I have no clue what the CID chunk is even after all these years...

Version 24: February, 2003
LTAnno chunk (now obsolete)

Engineering and editing annotations were added using the Leadtools Annotation SDK. This was a flawed decision because the Leadtools Annotations were written into the Windows System directory, which is a no-no for plugins.

Version 25: May, 2003
NAVM chunk

Support for DjVu bookmarks (outlines) was added. Changes made by Versions 23 and 24 were made obsolete.

Version 26: April, 2005
Text / Line annotations

Text and Line annotation types added. Only created by DjVu Editor 6.0. If a DjVu file is saved with a Text or Line annotation, then it is saved as Version 26. Otherwise, it is saved as Version 25.

Version 27?: July, 2006

"SDjVu" support.

Support for secure DjVu added. But this version upgrade has not been added to the file format specification, so we don't know if it is really "Version 27" or just "Version 25 with secure annotations added". In other words, it seems that LizardTech added new features but didn't bother to upgrade the version.


DjVu Applications and corresponding version support:

DjVuLibre tools (open source) including Any2DjVu server:

Version 21 for encoding.
Any version for decoding.

The version number is now ignored when decoding (it used to be checked). Bookmarks will display in the open source viewer. The rotation flag is honored. Notes and Line annotations are not rendered because LizardTech has added the annotations to open source.

Document Express Enterprise 5.1 and DjVu Mac Plugin:

Version 25 for encoding and decoding.

Document Express Professional (DjVu Editor):

Version 26 for encoding and decoding.

DjVu Windows Plugin 6.x:

Version 27? for decoding.

JRAPublish 3.0

Version 22 for encoding

WinDjView 0.4.3:

Version 25 for decoding.

DjVu Solo 3.1

Version 21 for encoding.
Up to Version 24 for decoding.

Additional notes on Application version support:

As already mentioned, Document Express DjVu Editor 6.0 will write Version 26 DjVu if Text and Line annotations are used, and Version 25 if not.

In contrast, Document Express Enterprise and DjVu Editor 5 will always write Version 25 files even if bookmarks are not used. Where Version 22 files could be written, Version 25 are always written instead.

You cannot view or edit a DjVu file with Version 25 or above in DjVu Solo 3.1, even if it only has the features of a Version 22 or 21 file. So this is why PlanetDjVu has posted a Version reduction utility on the Forum Resources page. Reduce the version number to 22 or 21 and then you will be able to use it in DjVu Solo.

DjVu Solo 3.1 Non-Commercial was offered as a free-for-personal-use-but-limited application in 2001, and support for it was withdrawn in 2003 ("no more freebees allowed" is what was said). Still, there are many active users of this application and it is still a good way to be introduced to DjVu encoding. Note that if you are using DjVu Solo 3.1 for Windows desktop viewing of DjVu files, you are better off upgrading to WinDjView 0.4.3 for viewing.

Notes on Future DjVu File Format Version Upgrades:

I have reported in earlier posts that DjVu has an incomplete set of Initial Viewing Properties, an incomplete set of attributes for bookmarks, arguably an incomplete set of attributes for searchable text, and no support for document metadata. LizardTech has owned the format for 7 years and has not added these, or responded to requests to do so except to promise, but not deliver on, document metadata.

DjVuLibre (open source) cannot upgrade the file format version. They are restricted to working with the Version 21 that was placed into open source.

LizardTech (the format owner) will first have to document what they did last year with "SDjVu" (Version 27 or not?), then put the Version 26 updates into open source so that the linux viewer can support it, then upgrade the Mac plugin so that it supports the Version 26 features, then deal with the fact that secure Version 27 features cannot be placed (by definition) into open source. They might get rid of CID chunks once and for all. Then they can address new features for future version updates, starting with the incomplete feature sets mentioned earlier.

There you have it. A cumulative review of DjVu format versions. Comments and questions invited.

- Jim Rile[/b]
jrile
 
Posts: 217
Joined: Thu Apr 14, 2005 3:23 pm
Location: Phoenixville, PA, USA

Postby leonb » Sun Aug 26, 2007 2:13 pm

The DJVU format is quite extensible by adding new chunk types.
Old viewers will simply ignore them.
As long as the remaining chunks contain enough data,
old viewers can display an image regardless of the
version numbers.

The main use of the version number in DJVU files
was to trigger plugin updates. Early viewers suggest
to download a new version when they see DJVU
documents with a higher version numbers.
This was intended for critical updates and
incompatible format changes.
The system has been disabled in the djvulibre plugins
because unnecessary version number increases
were causing more trouble than necessary.
The djvulibre viewers now ignore the version numbers
and simply try to interpret what they understand.
I suspect the LT viewers no longer inspect the
version number either.


The SDJVU files cannot be confused with DjVu files
because they do not contain any chunk we can read.
In fact this is simply an encapsulation of the
standard DJVU data.

See the file doc/djvuchanges.txt in the djvulibre distribution.
http://djvu.cvs.sourceforge.net/djvu/dj ... ision=HEAD
leonb
 
Posts: 28
Joined: Tue Jun 05, 2007 5:27 pm

Postby pedrito » Sun Apr 11, 2010 6:44 pm

I wonder why it's been said that DjVuLibre uses version 21 for encoding. Actually, current version can encode using jb2 color, outline and text/line annotations. On the other hand, I wonder why my djvu files are encoded with v24 in chuck INFO...
pedrito
 
Posts: 30
Joined: Thu Dec 18, 2008 5:36 pm


Return to Main Forum

Who is online

Users browsing this forum: No registered users and 2 guests