CHANGES.txt - 10/23/2002
CHANGES IN HTMLDOC v1.8.23
- HTMLDOC now supports a full alpha channel in PNG
- HTMLDOC now reports an error when a table, image, or
section of text overflows into an adjacent table cell
or off the right edge of the page.
- The NEW SHEET page comment now breaks on N-up
boundaries when N is greater than 1.
- HTMLDOC tried to format tables with no rows or
columns. While the HTML in technically not in error,
it is not exactly something you'd expect someone to
- HTMLDOC didn't report an error when it could not
find the specified title page file.
- HTMLDOC could crash if it was unable to create its
- HTMLDOC could crash when writing HTML output
containing unknown HTML elements.
- HTMLDOC could crash when writing HTML output if the
output document had no title.
- The htmlGetText() function used a fixed-size (10k)
buffer which allowed for a buffer overflow. The new
code (from HTMLDOC 1.9) allocates its buffer instead.
- The header/footer text was not centered properly if
the header/footer font size was different than the
default body font size.
- The GUI interface incorrectly localized URLs when
doing a "save as" operation.
- The PNG background color was not correct for PNG files
using <= 8 bits per pixel.
- The HTML parser didn't close the current list item if
an intermediate block element (P, PRE, etc.) was
inside the previous, unterminated list item.
CHANGES IN HTMLDOC v1.8.22
- Now support many Windows code pages in addition to ISO
- HTMLDOC could crash when checking if a URL is already
- HTMLDOC didn't adjust the top margin when changing the
page header if the comment didn't appear at the top of
- HTMLDOC didn't initialize the right number of TOC
- When using a logo image in the header, the header was
placed too low on the page.
CHANGES IN HTMLDOC v1.8.21
- HTMLDOC now supports heading levels 1 to 15.
- HTMLDOC now allows the author to omit headings from
the TOC using the _HD_OMIT_TOC attribute.
- HTMLDOC now supports remote book files when running
from the command-line.
- HTMLDOC now supports hexadecimal character constants
- HTMLDOC now calculates the resolution of the body
image using the printable width instead of the page
- HTMLDOC should now compile out-of-the-box using the
- HTMLDOC no longer inserts whitespace between text
inside DIV elements.
- HTMLDOC now supports quoted usernames and passwords in
- HTMLDOC now defaults unknown colors to white for
background colors and black for foreground colors.
This should make documents that use non-standard color
names still appear readable.
- "make install" didn't work in the fonts directory.
- "€" didn't work, while "€" did: the
character name table was not sorted properly...
- Links didn't always point to the right page in PDF
- XRX comment output could crash HTMLDOC.
- Fixed-width columns in tables could be resized by
- When writing PostScript commands, some printers reset
their duplexing state when a new setpagedevice command
is received; we now cache the current duplex state and
change it only as needed.
- The MEDIA SIZE comment didn't adjust the printable
size for the current landscape setting.
- HTMLDOC placed the header one line too high.
- When continuing a chapter onto the next page, H3 and
higher headings would be indented the wrong amount.
CHANGES IN HTMLDOC v1.8.20
- New --nup and NUMBER-UP options for PostScript and PDF
- HTMLDOC now logs HTML errors.
- HTMLDOC now supports the A3, B, Legal, and Tabloid
- HTMLDOC now supports embedding of the base Type1 fonts
in PostScript and PDF output.
- The HTML parser now allows BODY to auto-close HEAD and
- HTMLDOC wouldn't compile using GCC under HP-UX due to
a badly "fixed" system header file (vmtypes.h).
- Generating a book without a table-of-contents would
produce a bad PDF file.
- The Xerox XRX comments used the wrong units for the
media size, points instead of millimeters.
- IMG elements with links that use the ALIGN attribute
didn't get the links.
- Header and footer comments would interfere with the
top and bottom margin settings.
- Fixed a bug in the htmlReadFile() function which
caused user-provided title pages not to be displayed
in PS or PDF output.
- The table-of-contents would inherit the last media
settings in the document, but use the initial settings
CHANGES IN HTMLDOC v1.8.19
- Now support the "subject" meta variable.
- Updated the HTML parser to use HTML 4.0 rules for
embedding elements inside a LI.
- Now check for a TYPE attribute on EMBED elements, so
that embedded Flash files do not get treated as HTML.
- Now put the COPYRIGHT meta data in the Author field in
a PDF file along with the AUTHOR meta data (if any).
- No longer embed the prolog.ps command header when
PostScript commands are not being embedded in the
- HTMLDOC now properly ignores the HTML 4.0 COL element.
- Squeezed tables were not centered or right-aligned
- Cells didn't align properly if they were the first
things on the page, or if there were several
intervening empty cells.
- The preferred cell width handling didn't account for
the minimum cell width, which could cause some tables
to become too large.
- Remote URLs didn't always resolve properly (like the
images from the Google web page...)
- The font width loading code didn't force the
non-breaking space to have the same width as a regular
- PRE text didn't adjust the line height for the tallest
fragment in the line.
- HTMLDOC tried to seek backwards when reading HTML
from the standard input.
- The media margin comments did not work properly when
the current media orientation was landscape.
CHANGES IN HTMLDOC v1.8.18
- Added support for remote HTML title pages.
- Now accept all JPEG files, even if they don't start
with an APPn marker.
- Now only start a new page for a chapter/filter if we
aren't already at the top of a page.
- ROWSPAN handling in tables has been updated to match
the MSIE behavior, where the current rowspan is
reduced by the minimum rowspan in the table; that is,
if you use "ROWSPAN=17" for all cells in a row,
HTMLDOC now treats this as if you did not use ROWSPAN
at all. It is unclear if this is what the W3C
- The "--webpage" option didn't force toc levels to 0,
which caused a bad page object reference to be
inserted in the PDF output file.
- Background colors in nested tables didn't always get
drawn in the right order, resulting in the wrong
colors showing through.
- The HEADER page comment didn't set the correct top
position in landscape orientation.
CHANGES IN HTMLDOC v1.8.17
- Improved table-of-contents generation, with chapter
headings at the top of new TOC pages and page numbers
based on the header/footer string.
- Added new "--no-localfiles" option to disable access
to local files for added security in web services.
- Long lines in book files can not be broken up using
a trailing backslash.
- Added a modern "skin" to the GUI interface.
- Made some changes in how COLSPAN and ROWSPAN are
handled to better match how Netscape and MSIE format
- HTMLDOC now handles .book files with CR, LF, or CR LF
- Changed the TOC numbering to use 32-bit integers
instead of 8-bit integers...
- Now handle local links with quoted (%HH) characters.
- The command-line interface no longer sets PDF output
mode when using --continuous or --webpage.
- HTMLDOC now opens HTML output files in binary mode to
prevent extra CR's under Windows, and strips incoming
CR's from PRE text.
- Now support inserting the current chapter and heading
in the table-of-contents headers and footers.
- The table cell border and background were offset by
the cellpadding when they should only be offset by the
- The buffer used for periods that lead up to the page
number in the table-of-contents was not large enough
for a legal-size document in landscape format.
- If a book only contained chapter headings, the PDF
bookmarks would be missing the last chapter heading.
- Table cells that ended with a break would render
- Fixed the table pre-format sizing code to properly
account for borders, padding, etc.
- Fixed the table squeezing code to honor minimum widths
and properly resize the remaining space.
- The MEDIA SIZE page comment did not reset the printable
width and length of the page.
- Tables that used COLSPAN did not honor WIDTH values in
CHANGES IN HTMLDOC v1.8.16
- Now break before and after DIV groups to match most
browsers (the HTML spec is ambivalent about it...)
- HR elements didn't render properly.
- Background images didn't render properly and could
lock up HTMLDOC.
- The "HALF PAGE" comment would lock up HTMLDOC -
HTMLDOC would keep adding pages until it ran out of
- SUP and SUB used a fixed (reduced) size instead of
using a smaller size from the current one.
- Empty cells could cause unnecessary vertical alignment
on the same row.
CHANGES IN HTMLDOC v1.8.15
- Now support media source, type, and color attributes
in PS output.
- Now support per-page size, margins, headers, footers,
orientation, and duplexing.
- Now support plain text for headers and footers, with $
variables to include page numbers and so forth.
- New device control prolog file for printer-specific
- Now support a new continuous web page mode that
doesn't automatically insert a page break with each
HTML file or URL (--continuous).
- Now draw border around inline images as needed.
- Now support MacOS X (only command-line at present).
- Now support the "page-break-before", "text-align",
"vertical-align" style attributes, but only for style
information in an element's STYLE attribute.
- Now load images into memory only as needed, and unload
them when no longer needed. This provides a dramatic
reduction in memory usage with files that contain a
lot of in-line images.
- Now use the long names for the Flate and DCT filters
in all non-inline PDF streams. This avoids a stupid
bug in Acrobat Reader when printing to PostScript
- HTMLDOC now strips any trailing GET query information
when saving the start of files (target) in a document.
- Unqualified URLs (no leading scheme name, e.g. http:)
now default to the HTTP port (80) instead of the IPP
- Optimized the image writing code to do more efficient
color searching. This provides a significant speed
improvement when including images.
- Now hide all text inside SCRIPT, SELECT, and TEXTAREA
- OS/2 port changes from Alexander Mai.
- If a document started with a heading greater than H1,
HTMLDOC would crash.
- Full justification would incorrectly be applied to
text ending with a break.
- Images using ALIGN="MIDDLE" were not centered properly
on the baseline.
- Table cells that used both ROWSPAN and COLSPAN did not
format properly (the colspan was lost after the first
- Tables that used cells that exclusively used COLSPAN
did not format properly.
- When writing HTML output, image references would
incorrectly be mapped using the current path.
- Images with a width or height of 0 should not be
written to PS or PDF output.
- The CreationDate comment in PostScript output
contained a bad timezone offset (+-0500, for example,
instead of -0500).
- The PHP portal example now verifies that the URL
passed to it contains no illegal characters.
CHANGES IN HTMLDOC v1.8.14
- Added support for 128-bit encryption.
- Added support for GET form request data in the PHP and
Java "portal" examples.
- Most output generation limits have been removed;
HTMLDOC now dynamically allocates memory as needed for
pages, images, headings, and links. This has the
happy side-effect of reducing the initial memory
- Now call setlocale() when it is available to localize
the date and time in the output.
- The table parsing code now checks to see that a
ROWSPAN attribute fits in the table; e.g., a ROWSPAN
of 10 for a table that has only 6 rows remaining needs
to be reduced to 6...
- Tables with a lot of COLSPANs could cause a divide-
by-zero error or bad pages (NAN instead of a number.)
- Table cells with a single render element would not be
- The --quiet option would enable progress messages on
- Table cell widths could be computed incorrectly,
causing unnecessary wrapping.
- The --path option disabled checking for the file
with the original filename.
CHANGES IN HTMLDOC v1.8.13
- Added support for secure (https) URLs via the OpenSSL
- Added support for Acrobat 5.0 (PDF 1.4).
- Added support for transparency in PostScript and
PDF 1.1 and 1.2 output.
- Added a --no-jpeg option (same as --jpeg=0)
- Added support for the CSS2 page-break-before and
- Added a PHP example.
- External file references to non-PDF files now use the
"Launch" action so they can be opened/executed/saved
as allowed by the OS and PDF viewer.
- Changed the indexed/JPEG'd transition point to 256
colors when using Flate compression. This makes PDF
files much smaller in general.
- Changed the in-line image size limit to 64k.
- Now allow "<" followed by whitespace, "=", or "<".
This violates the HTML specification, but we're sick
of people complaining about it.
- Preferences are now stored in a user-specific file
under Windows, just like UNIX. This provides
user-specific preferences and allows preferences to
be kept when upgrading to new versions of HTMLDOC.
- The book loading code now allows for blank lines, even
though these are not a part of the format. (added to
support some scripted apps that include extra
- Changed the leading space handling of blocks to more
closely match the standard browser behavior.
- The table formatting code adding the border width to
the cell width, while Netscape and MSIE don't. This
caused some interesting formatting glitches...
- The table formatting code didn't account for the
preferred width of colspan'd cells.
- The table formatting code tried to enforce the
minimum cell width when squeezing a table to fit on
the page; this caused the table to still exceed the
width of the page.
- The PDF catalog object could contain a reference to
a /Names object of "0 0 R", which is invalid. This
would happen when the "--no-links" option was used.
- Several HTML elements were incorrectly written with
- When piping PDF output, the temporary file that is
created needed to be open for reading and writing,
but HTMLDOC only opened the file for writing.
- Image links did not work.
- The JPEG image loading code did not correctly handle
grayscale JPEG images.
- JPEG images were not encrypted when writing a document
with encryption enabled.
- The user password was not properly encrypted.
- The colormap of indexed images were not encrypted when
writing a document with encryption enabled.
- The temporary file creation and cleanup functions did
not use the same template under Windows, causing
multiple conversions to fail when temporary files were
- Paragraphs could end up with one extra text fragment,
causing the line to be too long.
- The command-line program would clear the error count
after reading all the files/URLs on the command-line,
but before generating the document. If there were
problems reading the files/URLs, HTMLDOC would return
a 0 exit status instead of 1.
- Image objects that were both JPEG and Flate compressed
would not display (filters specified in the wrong
- Images with more than 256 colors would cause a
segfault on some systems.
- Background images would generate the error message
"XObject 'Innn' is unknown".
CHANGES IN HTMLDOC v1.8.12
- Added new "--batch" option to convert HTMLDOC book
files from the command-line.
- Added support for the "-display" option on systems
that use X11.
- Now use image objects in PDF output for images when
the image width * height * depth > 32k.
- Now use JPEG compression when the number of colors
would be > 32 colors or 16 gray shades.
- True transparency support for GIF files in PDF 1.3
- The GUI now automatically changes the extension of the
output filename as needed.
- The GUI now collects all error messages and shows them
once after the document is generated.
- Added support for HSPACE and VSPACE attributes for images
with ALIGN="LEFT" or ALIGN="RIGHT".
- Added new Java interface to HTMLDOC.
- Consolidated temporary file management into new
file_temp() function. The new function also makes use
of the Windows "short lived" open option which may
improve performance with small temporary files.
- Updated book file format and added an appendix
describing the format.
- Now default to PDF 1.3 (Acrobat 4.0) output format.
- Now output length of PDF streams with the stream
object; this offers a modest reduction in file size.
- The HTTP file cache now keeps track of previous URLs
that were downloaded.
- The HTTP code now supports redirections (status codes
301 to 303) to alternate URLs.
- Limit the height check for table rows to 1/8th of the
page length; this seems to provide fairly consistent
wrapping of tables without leaving huge expanses of
blank space at the bottom of pages.
- The HTML output now also includes a font-family style
for PRE text; otherwise the body font would override
the PRE font with some browsers.
- The snprintf/vsnprintf emulation functions were not
included in the HTMLDOC makefile.
- RGB hex colors are now recognized with or without the
leading #. This breaks HTML standards compliance but
should reduce the number of problem reports from buggy
- The stylesheet generated with the HTML output no longer
contains absolute font sizes, just the typefaces and
a relative size for SUB/SUP.
- The title image is no longer scaled to 100% in the
- The web page output was not divided into chapters for
each input file.
- The "make install" target did a clean.
- The configure script would remove the image libraries
if you did not have FLTK installed.
- The fix_filename() function didn't handle relative
URLs for images (e.g. SRC="../images/filename.gif")
- Comments in the source document were being closed by
a </!--> tag in the HTML output.
- The alignment attribute in TR elements was not inherited
by the TD and TH elements.
- The HTML parser added whitespace before the title of a
document (missing check for TITLE element.)
- The table formatter did not reset the column width when
a width was not specified explicitly. This caused the
columns to be formatted with equal widths...
- Paragraphs that didn't use the P element would use the
alignment attribute of the first fragment instead of the
CHANGES IN HTMLDOC v1.8.11
- Added koi8-r character set.
- Added new "TrueType" font option for PDF output. This
(hopefully) should improve support for non-latin
- Added support for "justify" alignment; this is
currently implemented by adding additional space
between characters (no automatic hyphenation...)
- The "make install" target does a "make all" to ensure
that the software is built before installing it. This
should help users that don't read the documentation
build the software.
- Incorporated several OS/2 compile fixes from Alexander
- Tables that exceed the printable width of the page are
now squeezed to fit.
- The temporary file created for PDF output to stdout
was not unique.
- The temporary file created for PDF output to stdout
did not use the GetTempPath() function under Windows.
- The temporary file cleanup code did not use the
GetTempPath() function under Windows.
- The prefs_load() function did not check the
HTMLDOC_DATA environment variable until after loading
the preferences file. This could cause any saved
settings to generate error messages about missing
files (these were reloaded when the document data was
- The first border for a table cell that spanned
multiple pages did not account for the cellpadding or
- Leading whitespace was not eliminated in all cases.
CHANGES IN HTMLDOC v1.8.10
- New "--quiet" option to suppress all messages sent to
- New chapter n/N page number format (:)
- New "--links" and "--no-links" options for PDF output.
- Added "€" character name support.
- Documentation updates.
- If a heading already contains a link, the name assigned for
the heading is stored in the existing link to avoid nested
- The table parsing code now also traverses THEAD and TFOOT
sections and handles multiple TBODY, THEAD, and TFOOT
sections. The THEAD and TFOOT rows are treated as ordinary
- Image alignment should now match W3C recommendations.
- Newlines inside quoted values (e.g. SRC="filename\r\n")
are now ignored.
- The STYLE data generated in HTML output now includes the
- The path support was still broken.
- Embedded files and images did not use path or HTTP
- Table cell borders could be drawn on the wrong page
if not all cells in a row span more than one page.
- Large images could end up covering the footer at the
bottom of the page (wasn't accounting for the line
- Fixed some memory leaks that would affect Windows
CHANGES IN HTMLDOC v1.8.9
- Added a "--no-numbered" option to turn heading numbers
- Added support for "keywords" META data.
- Added support for BMP images.
- Added support for ROWSPAN attribute in tables.
- Added support for HTTP file references.
- Added new sample CGI program that can produce a PDF
file for any page on a server.
- Added new n/N, date, and time formats for the header
- Configuration script changes.
- Now ignore file count in book files; instead, we now
look at the first character of the third and
subsequent lines - a dash (-) indicates the start of
the options. (use a backslash to quote filenames
starting with a dash)
- Multiple-line paragraphs that have only 1 line on the
bottom of the current page are now started on the
- DSC comments in PostScript output were not 100%
conformant with the DSC spec.
- Long table-of-contents entries are now wrapped
(original patch supplied by Richard Pennington)
- New color icon under UNIX when Xpm library available.
- Didn't allow &#nnn; character escapes inside
- Empty TBODY groups would cause parse_table() to
- Comments were incorrectly terminated by ">" instead of
- The command-line and GUI interfaces looked for
"outlines" instead of "outline" for the page mode.
- The HTML output code didn't output closing tags for
- The GUI interface started with the compression
slider enabled, even for HTML output.
- The beginnings of some lines could start with
- Wasn't aligning images and text on lines based on the
- The compression slider was enabled in the GUI even
though HTML output was selected.
- The Perl example code was incorrect.
- Fixed the check for whether or not pages were
- htmlSetCharSet() wasn't reloading the character set
data if the data directory changed.
- The GUI did not reset the default background color.
- The 'C' page number style (chapter page numbers) started
at 3 instead of 1.
- The chapter links were off by 1 or 2 pages when no title
page was included.
CHANGES IN HTMLDOC v1.8.8
- Added support for PDF security/encryption!
- Now support TABLE height attribute.
- Now generate an error message if no pages are
generated (with a suggestion to use the webpage
- New "paths" option to specify additional directories
to search for files. This is useful when the source
files use absolute server paths.
- Added missing casts in htmllib.cxx that were causing a
compile warning with some compilers.
- No longer draw borders around empty cells in tables..
- Now disable the TOC tab when using webpage mode.
- Now scale title image to 100% in HTML output.
- Now handle comments with missing whitespace after the
- Nested tables didn't take into account the table
border width, spacing, or padding values.
- HTMLDOC crashed under Solaris when reading HTML files
from the standard input.
- <ELEM>text</ELEM> <MELE>text</MELE> was rendered
without an intervening space.
CHANGES IN HTMLDOC v1.8.7
- The configure script now uses the local PNG, ZLIB,
and/or JPEG libraries when they are new enough.
- The configure script now uses the -fno-rtti,
-fno-exceptions, and -fpermissive options as needed
with GCC (smaller, faster executables, works around X
header bugs in Solaris.)
- Added a --toctitle option to set the table-of-contents
title from the command-line (was only available in the
GUI in previous releases...)
- New "<!-- NEED amount -->" comment to force a page
feed if there is not sufficient room on the page for
the following text.
- Page comments are now supported in tables.
- Table rows are now allocated dynamically, MAX_ROWS at
- Increased default MAX_PAGES to 10000 (was 5000.)
- File links in book files now point to the top of the
- <TABLE ALIGN=xyz> now aligns the table (previously it
just set the default alignment of cells.)
- Transparent GIFs now use the body color instead of white
for the transparent color.
- Updated to LIBPNG 1.0.6 in source distribution.
- Updated the default cellpadding to be 1 pixel to match
- Updated line and block spacing to match Netscape.
- DL/DT/DD output now matches browsers (was indented from
- Now only output link (A) style if it is set to "none".
Otherwise Netscape would underline all targets as well
- Increased the MAX_COLUMNS constant to 200, and dropped
MAX_ROWS to 200. Note that the new table code now
allocates rows in increments of MAX_ROWS rows, so the
actual maximum number of rows depends on available
- Now ignore illegal HTML in tables.
- The VALIGN code didn't handle empty cells properly.
- Wasn't offsetting the start of each row by the cell
- The JPEG image loading code didn't work for some JPEG
images, particularly those from digital cameras (JPEG
but not JFIF format.)
- The strikethrough line was not being drawn in the
- Wasn't setting the height of BR elements, so <BR><BR>
didn't insert a blank line.
- The table of contents would show the wrong page numbers
if no title page was generated.
- Cell widths did not subtract any border, padding, or
spacing from the "preferred" width, causing formatting
differences between web browsers and HTMLDOC.
- The PNG loading code did not handle interlacing or
- The HTML parsing code did not prevent elements in
embedded files from completing elements in the parent
- The table CELLSPACING amount was being applied twice in
the table sizing calculations.
CHANGES IN HTMLDOC v1.8.6
- New linkcolor and linkstyle options.
- Minor source changes for OS/2 compilation.
- SUP and SUB now raise/lower text more to be consistent with
- Non-breaking space by itself was being output. Now check for
that and ignore strings that consist entirely of whitespace.
- New progress bar.
- Didn't add whitespace after a table caption.
- Nested tables caused formatting problems (flatten_tree()
didn't insert breaks for new rows)
- A cell whose minimum width exceeded the available width
for the table would cause the table to go off the page.
- Cells that spanned more than two pages were drawn with boxes
around them rather than just the sides.
- The stylesheet info in the HTML output specified the H1 size
for all headings.
- The title page was incorrectly formatted when an image was
specified - the text start position was computed using the
pixel height of the title image and not the formatted height.
- 1 color images didn't come out right; the "fix" to work around
an Acrobat Reader bug was being done too soon, so the color
lookups were wrong.
- HTML file links now work properly.
- Now limit all HTML input to the maximum size of input buffers
to avoid potential buffer overflow problems in CGIs.
- If a row had a predefined height, HTMLDOC wasn't making sure
that the row would fit on the current page.
- THEAD, TFOOT, and TBODY caused problems when formatting tables.
Note: THEAD and TFOOT are *still* not supported, however the
code now properly ignores them and parses the rows in the
- The VALIGN code introduced in the 1.8.5 release didn't check
for NULL pointers in all cases.
CHANGES IN HTMLDOC v1.8.5
- New "--titlefile" option to include an HTML file for
the title page(s).
- New 'C' header/footer option to show current page
number within chapter or HTML file.
- Allow adding of .book files to import all HTML files
in the book.
- New "HALF PAGE" page comment to feed 1/2 page.
- Added VALIGN and HEIGHT support in tables.
- Now optimize link objects in PDF files (provides a 40k
reduction in file size for the HTMLDOC manual alone)
- Table rows that cross page boundaries are now rendered
more like Netscape and MSIE.
- Now support HTMLDOC_DATA and HTMLDOC_HELP environment
variables under UNIX (for alternate install directory)
- Now show error messages when HTMLDOC can't open the
AFM, character set, or PostScript glyph files.
- The logo image is now scaled to its "natural" size (as
it would appear in a web browser)
- Now recognize VALIGN="MIDDLE" or VALIGN="CENTER".
- Generation of PDF files to the standard output (i.e.
to the web server + browser) didn't work on some
versions of UNIX. HTMLDOC now writes the PDF output
to a temporary file and then copies it to the standard
output as needed.
- PDF links were missing the first 5 characters in the
filename; the code was trying to skip over the "file:"
prefix, but that prefix was already skipped elsewhere.
- Nested descriptive lists (DL) did not get rendered
- Tables had extra whitespace before and after them.
- Multiple aligned images confused parse_paragraph();
the images would overlap instead of stack on the
CHANGES IN HTMLDOC v1.8.4
- More configure script changes for FLTK DSOs.
- FileIcon.cxx was still using NULL for outline (an
integer), which caused some ANSI C++ compilers to
- The Fonts and Colors tab groups did not extend to
the full width of the tab area, which prevented the
Browse button from working when clicked on the right
- The help dialog window did not scroll all the way to
the bottom of the text.
- The chapter ("c") header/footer string did not work.
- The heading ("h") header/footer string did not always
match the first heading on a page.
- The header and footer fonts were not used when
computing the widths of the header and footer strings.
- The Windows distribution did not create the right
shortcut for the Users Manual in the Start menu.
- The command-line code did not accept "--grayscale",
- Multi-file HTML output did not use the right link for
the table-of-contents file if no title page was being
- Extra whitespace before and after tables has been
CHANGES IN HTMLDOC v1.8.3
- New "--browserwidth" option to control scaling of images and
tables that use fixed pixel widths.
- The configure script now looks for the OpenGL library
(required if you use a shared FLTK library with OpenGL
- Increased the max number of chapters to 1000.
- Page break comments didn't force a paragraph break.
- --no-toc prevented chapters from being output in PS
and PDF files.
- Filenames didn't always get updated properly when doing a
- Fixed some more leading/trailing whitespace problems.
- Wasn't freeing page headings after the document was
- Wasn't range checking the current chapter number; now
limits the number of chapters to MAX_CHAPTERS and
issues an error message whenever the limit is exceeded.
CHANGES IN HTMLDOC v1.8.2
- New "setup" program for UNIX software installation.
- Documentation updated for new UNIX "setup" program and
"..." usage for headers and footers.
- Changed margins to floating point (instead of integer) to
improve table column accuracy.
- HTMLDOC could crash under Microsoft Windows with some
types of HTML files. This was caused by a stack overflow,
usually when processing nested tables.
- Multiple HTML files weren't being converted properly in
web page mode - only the last file would be generated for
PostScript output, and no file for PDF output.
- Wasn't preserving the whitespace between "one" and "two"
in the HTML code "one<I> two</I> three".
- Paragraph spacing was inconsistent.
- <TABLE WIDTH="xx"> wasn't formatted properly.
- The command-line code wasn't opening HTML files in binary
mode. This caused problems under Microsoft Windows.
CHANGES IN HTMLDOC v1.8.1
- The configure script didn't update the ARFLAGS
variable for *BSD operating systems (no "s" option to
build the symbol table...)
- Changed the installation commands to only create the
installation directory if it does not exist. This
prevents installation errors on some platforms the
second time around.
- Now use the Microsoft definitions for characters 128
through 159 that are otherwise unused by the
ISO-8859-x character sets.
- Now set optimization settings when we know the compiler.
- Now always quote attribute values in HTML output to make
HTML lint programs happy.
- Wasn't using TOC title string in PDF document outline.
- Preformatted text in tables didn't force the column
- Cells using COLSPAN > 1 didn't contribute to the width
- The table code didn't enforce the per-column minimums
under certain circumstances, causing "scrambled"
- The configure script and makefiles didn't work when
FLTK was not available. They now only build the "gui"
library when it is available.
- The Windows distribution was installing files under
PROGRAMDIR instead of TARGETDIR. This prevented users
from customizing the installation directory.
- The configure script overrode the LDFLAGS environment
variable, preventing FLTK from being located in a non-
CHANGES IN HTMLDOC v1.8
- Now support PDF 1.1 (Acrobat 2.x) and PDF 1.3 (Acrobat 4.0).
- Now support PDF page modes, layouts, and effects, and the
first page that is displayed in Acrobat Reader.
- Now support PostScript Level 3 output with Flate image
- Now support PostScript commands for page size and duplexing.
- Now add filenames as needed to HTML links.
- Added optimizations to output code to further reduce PDF and
PostScript file size.
- Now support alternate 8-bit character sets. Currently we
supply data files for the ISO-8859-N character sets.
- Added chapter headings to the available header/footer
- The GUI file chooser is significantly improved and supports
selection of multiple HTML files.
- The GUI now provides on-line help.
- Many other GUI improvements.
- Added support for DIR and MENU block elements.
- The header and footer text can now be made boldface, italic,
- Font settings are now exported to HTML files in a style
- Now support page breaks using HTML comments.
- The image dimensions are now exported to HTML files.
- Added landscape printing option.
- Added CAPTION support for tables.
- Filename links now work for HTML files included in a
- Now support BGCOLOR in tables.
- Lots of documentation changes.
- Much better table formatting.
- Changed HTML output to use less invasive navigation bars at
the top and bottom of each file. This also means that the
"--barcolor" option is no longer supported!
- Updated to use existing filenames in HTML (directory) output.
- Now recognize any local PDF file as a local file link (i.e.
you just need "HREF=filename.pdf" and not
- <TT>, <CODE>, and <SAMP> no longer reduce the font size.
- Now put whitespace after image data in PDF files. This
change was needed to work around a bug in Acrobat Reader 4.0.
- Now generate a complete encoding vector for fonts in PDF
files. This change was needed to work around a bug in all
versions of Acrobat Exchange that did not recognize the
WinANSI encoding defined in the PDF specifications.
- Now filter out the BREAK attribute from HR elements.
- Now only load images once.
- Wasn't escaping &,<, or > in HTML output
- Wasn't preserving
- Links in multi-file HTML output were off-by-one.
- BLOCKQUOTE needed to be like CENTER and DIV.
- Needed to use existing link name if present for headings to
avoid nested link name bug in Netscape and MSIE.
- Extremely long link names could cause TOC generation to fail
and HTMLDOC to crash.
- PDF output was not compatible with Ghostscript/Ghostview
because Ghostscript does not support inherited page resources
or the "Fl" abbreviation for the "FlateDecode" compression
- PostScript DSC comments didn't have unique page numbers. This
caused Ghostview (among others) to get confused.
- Some functions didn't handle empty text fragments.
- Images couldn't be scaled both horizontally and vertically.
- <LI> didn't support the VALUE attribute (but <OL> did...)
- Fixed whitespace problems before and after some markups that
was caused by intervening links.
- The indexed image output code could generate an image with only
1 color index used, which upset Acrobat Reader.
- Fixed a bug in table-of-contents handling - HTMLDOC would crash
on some systems if you converted a web page on the command-line.
- Wasn't setting the font size and spacing soon enough when
generating files on the command-line.
- Didn't hide EMBED elements when generating indexed HTML files.
- Didn't always set the current drawing position before drawing
a box or line.
- Base85 encoding of image data was broken for PostScript output.
- JPEG compression was broken for PostScript output.
- Didn't set binary mode for the standard output under Windows
and OS/2 needed.
CHANGES IN HTMLDOC v1.7
- Added option for overriding the background color or image.
- Added default font typeface and size options.
- Added progress indicator for page formatting.
- The HTMLDOC window is now resizeable.
- The <TABLE> and <CENTER> markups didn't start a new block.
- strcasecmp and friends are not available on all platforms.
- Added support for MacOS (command-line only).
- The width of table cells could be off by 1 point causing
unnecessary text wrapping.
- The GUI's default center footer wasn't "blank".
- Images could be "lost" if they reside in the current
directory or use an absolute path.
- Documents without titles or headings could crash HTMLDOC.
- The image loading code could crash due to a MSVC++ runtime
- Spacing before <HR>'s wasn't consistent.
- Buffer overflow problems causing crashes.
- Didn't accept whitespace in variables, e.g. "<TAG NAME = VALUE>"
- Links didn't always get propagated.
- The Flate compressor data was not getting freed, so HTMLDOC
could use a lot of memory when compression was enabled.
CHANGES IN HTMLDOC v1.6
- Now support JPEG compression of images.
- Now have selectable Flate (ZIP) compression level.
- Now only adjust top and bottom margins if headers and
footers are used.
- Better HTML output support (now remember files for
links in multi-file output).
- Increased maximum page count to 5000.
- Needed to show headers on all pages in web page mode.
- Now recognize both "in" and "inch" for measurements.
- <BR> was not handled properly.
- Selecting "web page" in the GUI clears the title toggle.
- TABLE row spacing was not right...
- <TD COLSPAN=n> now draws multi-column borders.
- Column widths were computed wrong when COLSPAN was used.
- Nested lists were not handled right.
- Internal links didn't work for PDF output.
- Block spacing should now be more consistent.
- Image scaling was off - now only use page width so that
images are not warped.
- The footer was always one line too low.
- Couldn't double-click on input filename to edit.
CHANGES IN HTMLDOC v1.5
- Added customization of headers and footers.
- Added new "--title" image option.
- Can now put logo image in header or footer.
- <MARKUP ID="name"> now works for link destinations.
- The table of contents now appears as part of the document
outline in PDF output.
- Links to local PDF files are now treated as file links in PDF
output instead of web links.
- You can now turn the title page on/off as desired.
- PostScript and PDF output to stdout now works.
- Nested tables now format properly.
- <HR> now provides horizontal rule; to get a page break use
- Fixed <TABLE BORDER=0> bug.
- Fixed GIF loader bug (caused problems on Alpha machines)
- No longer get extra line after list items.
- <FONT> markup nesting now works.
- "&" by itself would cause loss of 15 characters.
- The current directory was not tracked properly under Windows.
- The right, top, and bottom margins were not being saved properly.
- The htmlReadFile() function could consume too much stack space,
causing a program failure.
- PostScript and PDF files were corrupt when generating a web
page with a title page.
CHANGES IN HTMLDOC v1.4
- Now use autoconf "configure" script to build UNIX makefile.
- Now handle relative filenames a lot better when loading images
- Added "--webpage" option to support printing of plain HTML
files (i.e. not documents with chapters)
- Added support for document backgrounds in PostScript and PDF
- Added "--no-toc" and "--no-title" options to disable the
table-of-contents and title pages, respectively
- PDF files now store all named links for use from a web page
- Converted to C++
- Now using FLTK for the GUI under UNIX and Windows (yeah, one
set of code!)
- Merged GUI and command-line versions
- Greatly enhanced GUI now supports nearly all command-line
- Miscellaneous fixes to HTML parsing code
- PDF links should now go to the right page all the time
- Fixed DSC comments in PostScript output to conform to the
- Fixed dumb bug in Windows version - didn't handle HTML files
with only a LF at the end of each line (this is a BUG in the
MSVC++ runtime libraries!)
- <PRE> inside a list didn't work
- parse_table() and friends didn't check for a NULL parent
- Paragraph text that wasn't enclosed by P markups was
located on the wrong page when followed by a H1 markup.
CHANGES IN HTMLDOC v1.3.1
- Fixed font encoding vector in PostScript output (minus instead
of hyphen for '-' character).
CHANGES IN HTMLDOC v1.3
- New GUI for managing documents (Windows + X11/Motif)
- Better table printing with support for user-specified column
widths and better automatic-sizing
- PNG loading now works when grayscale output is requested
- No image optimization was performed in PDF or Level 2 PostScript
files. HTMLDOC now converts images to indexed (1,2,4,8 bits) if
there is an advantage (fewer bits per pixel) and no loss of color
- The filenames in links were getting lost when writing indexed
HTML to a directory
- The logo image filename wasn't being localized when writing
indexed HTML to a directory
- Fonts, images, and links weren't supported inside a PRE tag
- Added support for the <!DOCTYPE> markup
- No longer assume that chars are unsigned by default
- Invalid or missing links no longer generate bad PDF files
- External links (http:, ftp:, etc) now work
- Escaped characters are now decoded correctly in the table of
contents in PDF files
- Image scaling is now more intelligent
CHANGES IN HTMLDOC v1.2
- Now support "internal" links in a document (PDF & HTML).
- Added "no compression" option for PDF files; this is needed for
older PDF readers like Acroread 2.x.
- Much better parsing of HTML; should now work very well with the
HTML output by Netscape Composer.
- Wasn't opening image files in "binary" mode (Windows).
- The htmlReadString() and htmlWriteString() functions were removed
because of portability problems to HP-UX and Windows, among others.
CHANGES IN HTMLDOC v1.1
- Ordered (numbered) lists are now supported, as are the TYPE=, START=,
and VALUE= option variables.
- Now support coverpages for PS and PDF output with optional logo image.
- Running headings (at the bottom of PS/PDF pages) are now tracked
- Fixed parsing of lists so lists generated by Netscape Composer work
- Fixed HTML links when generating a single HTML file.
- The --numbered option didn't number all headings (only those in the
CHANGES IN HTMLDOC v1.0
- Initial version.