JBIG2 Encoder
Shell C++ C Python
Switch branches/tags
Pull request Compare This branch is 6 commits ahead, 29 commits behind agl:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
LEPTONICA_VERSION
Makefile
Makefile.am
Makefile.in
PATENTS
README
aclocal.m4
configure
configure.ac
install-sh
jbig2.cc
jbig2arith.cc
jbig2arith.h
jbig2enc.cc
jbig2enc.h
jbig2enc.html
jbig2segments.h
jbig2structs.h
jbig2sym.cc
jbig2sym.h
missing
pdf.py

README

Welcome, gentle reader.

This is an encoder for JBIG2:
www.jpeg.org/public/fcd14492.pdf

JBIG2 encodes bi-level (1 bpp) images using a number of clever tricks to get
better compression than G4. This encoder can:
   * Generate JBIG2 files, or fragments for embedding in PDFs
   * Generic region encoding
   * Perform symbol extraction, classification and text region coding
   * Perform refinement coding and,
   * Compress multipage documents

It uses the (Apache-ish licensed) Leptonica library:
  http://www.leptonica.com/

You'll need version 1.68.

KNOWN BUGS:

The refinement coding causes Acrobat to crash. It's not known if this is a bug
in Acrobat, though it may well be.

BUILDING:

First, read the file PATENTS in the same directory as this file.

Fetch leptonica from its website and build it. For this you will also
need the standard libtiff, libpng and libjpeg.

jbig2enc now offers a configure script build option. If you're running a Unix-
like OS, such as Linux, BSD, or Mac OS X, you can run the configure script
with './configure' and then type 'make' to build and 'make install' to
install.

The old hardcoded makefile is also still available, if you prefer that
build option. The jbig2enc makefile assumes that Leptonica is installed to your
standard system include and lib paths. (This differs from the original version
of jbig2enc, which used files from the Leptonica tarball.) You may need to
customize the makefile depending on your system's paths.

USAGE:

See the jbig2enc.h header for the high level API, or the jbig2 program for an
example of usage. It's very short and most of it is taken up with argument
parsing.

CHANGES:

0.28: (not yet released)
  * Update to the latest Leptonica (1.68)
  * Forked from agl's original project
  * Add configure script build option
  * pdf.py now correctly retains DPI from input images (thanks to RubyPDF)

0.27:
  * Update to the latest Leptonica (1.58)
  * Fix comments in pdf.py (thanks Dan)

0.26:
  * Update to the latest Leptonica (1.53)

0.25:
   * Should build on Windows if you get a leptonica which does so (thanks to
     Dwight Kelly and a man known only as Dennis)

0.24:
   * Update to leptonica 1.38
   * Add ability to gray symbols but it's commented out because it does little
     good
   * Refinement support broke because of memory savings in leptonica

0.23:
   * Quick release to support leptonica 1.37 (now bundled)

0.22:
   * Added segmentation support to extract text from mixed images
   * Flyspeck removal disabled for now
   * A few minor fixes

0.21:
   * Patch from Alberto Accomazzi to fix the pdf.py script and to output more
     sensible filenames in pdf mode
   * Symbols which are only used once are now included in a per-page dictionary
     (great for scans of old books)
   * Fixed several scale bugs (one at 65K symbols and one at 100K symbols)
   * Page numbers > 256 went wrong