3.52

Replaced readdir_r() with readdir() in epub.c. Readdir_r() is deprecated in
FreeBSD 15.0.

3.49

Refined part/section/chapter numbering.

3.48

The formatter now ignores empty TSML elements or elements with names that the
formatter does not recognize instead of exiting.  The formatter will still exit
if a recognized element has incorrect structure.

3.47

Removed the -r option.  Parts restart section and chapter numbers.
Sections restart chapter numbers.

3.46

The restart command-line option now causes chapter numbers to restart
at new parts and sections.

3.45

3.44

Fixed memory leaks.

3.40

Added support for Unicode escapes to title pages, ePUBs, and RTFs.

3.39

Corrected bug that resulted in the formatter not freeing all the memory
associated with a struct string.

3.38

Added more escapes and a general escape to insert any Unicode character by
decimal code point.

3.37

Added escapes to allow the insertion of some accented characters as ASCII.

3.36

Added missing parenthesis to info dictionary.

3.35

Made buffers in epub.c MAXPATHLEN + 1 to accommodate terminator.

3.34

Removed Creator entry from info dictionary.

3.33

Corrected unrecognized -r option.

3.32

Removed -o option.  Watermarks are now always rotated.

3.31

$P is ignored on RTF title pages.

-t option removed.

3.30

Added $P to insert page count into title pages.

3.29

Added support for forced line breaks in action paragraphs.

3.28

Added support to indicate elision at front of words in EPUBs with backticks.


3.27

Underlined words in italicized paragraphs are now emboldened.

3.26

Added support for italicized paragraphs.

3.25

Removed incorrect CIDToGID entries froxm font objects.

3.24

The formatter no longer breaks paragraphs in the middle
of a double-hypen representation of an em-dash.

3.23

The bar character '|' forces line breaks in body paragraphs.

3.22

Refined unbalanced underscore detection.

Corrected bug in RTF generator introduced in 3.21.

3.21

Added unbalanced underscore checking to rtf code.

3.20

Formatter now recognizes an open quote preceded by an underscore preceded
by whitespace and correctly converts the quote to its typographical
equivalent in EPUBs.

Fimblethwicke now prints a warning when the formatter finds unbalanced
underscores in a line.

3.19

Added support for cover images in EPUBs.

3.18

Made sections look better in RTFs.  Fimblethwicke's RTFs are intended
for import into MS Word, and may not render correctly in other editors/
word processors.

3.17

Added support for A4 papersize with the -a option.

Removed restriction that $D and $W must appear by themselves on a line
in metadata.  They must start lines.  See manual for details.

3.16

Corrected but in EPUB line wrapper that prevented lines with multibyte
sequences from being wrapped correctly.  This did not effect how EPUBs
were displayed only the internal formatting.

Fimblethwicke now composes EPUB dc:identifier elements with the title,
author, and time.

3.15

Fixed bug that orphaned chapter headings. When I increased the line
spacing in 3.14, I forgot that documents are double-spaced. Orphan
avoidance code needs to check 2 lines sooner than it did and not 1 line 
sooner.

3.14

Increased line spacing of PDFs. Maximum lines per page has dropped to 
52 from 53.

3.13

Added CIDToGIDMap to font objects just to conform to spec.

3.12

Added watermarks to metadata and the -o option to rotate watermarks.

3.11

Refined 3.10 changes.

3.10

Refined orphan-avoidance code.  Formatter will now not place a single-line
paragraph that follows a chapter heading on the second-last line of a page
if the succeeding paragraph is not a single-line paragraph.  The second
paragraph would be pushed to another page, orphaning the first paragraph.

3.9

Formatter now breaks lines at explicit hyphens if it needs to.

3.8

Formatter no longer sets a single line paragraph at the bottom of a page
after a chapter heading.

3.7

Forgot to remove 'By' line from RTF output.

3.6

Removed the added 'By' line from title pages. If you want an attribution
line, add it to the start of your author metadata:  

Author:
 By
 
 James Gordon Bailie

This allows users to omit the line or to include a line in the language of
their choice.

3.5

Corrected CMap stream lengths in PDFs that were off by 1.

Corrected endcidrange of ToUnicode CMap to endbfrange.

3.4

Forgot to remove code that escaped parentheses and backslashes. No longer
necessary now that text streams are encoded as hex-ascii.

Corrected typo in RTF escape mechanism.

3.3

Switched to TrueType CID-keyed fonts with custom CMap so PDF readers that
do not use the Unicode BMP cmap of OpenType CID-Keyed fonts can render
PDFs.

Removed support for Courier Prime Sans. It is just too annoying to maintain
2 CMaps for the 2 sets of fonts.

3.2

Removed CIDToGIDMap entries from FontDescriptors.

Added /Type and /CMapName entries to ToUnicode dictionaries.

3.1

Added ToUnicode CMap to PDFs.

3.0

Added support for all Unicode code points in fonts.


2.24

Removed Title and Author keywords from Info dictionary. It now
serves only to advertise Nellie and the document creation date.

Made some string functions tolerate NULL args.

2.23

Corrected bug that would place underlines incorrectly on lines that
contained backslashes.

2.22

When the -n option is invoked, chapters start halfway down the page.

2.21

Corrrected bug that would generate corrupt EPUB TOCs when a manuscript
did not start with a section or chapter header.

2.20

Corrected bug that would place underlines incorrectly on lines that contained
parentheses.

2.19

Added widow and orphan control to body paragraphs.

2.18

Fixed a memory leak that would occur in error conditions.

2.17

Formatter recognizes '~' character as encoded semicolon in metadata.

2.16

Refined RTF styles.

2.15

Added styles to RTF output.

2.14

RTF converter now correctly converts Latin Supplement characters
to RTF \' notation although various version of Word may not like
them, curiously.

RTF converter no longer erroneously removes semicolons from
body text.

2.13

Added explicit font selection to rtf paragraphs. Some editors
need this.

Fixed bug in epub converter that incorrectly inserted both
&gt; and > instead of substuting the first for the second.

2.12

Fixed some memory leaks that would occur in error situations when
converting TSML to plain text.

When converting TSML to plain text, both $D and $W are now recognized.

2.11

Corrected bug that would munge Latin-1 text in title page metadata.

Moved the copyright symbol from before "Copyright" to after in epub
copyright notices.

2.10

Corrected bug that prevented single line notes from being recognized.

2.9

Corrected memory leak that would occur in error conditions.

Added check for NULL pointer in data elements of TSML tree nodes.

2.8

Added /IDs to trailer dictionaries.  To generate IDs, we concatenate the
UNIX time with the document's Title and Author metadata.  Then we hash that
string with the Jenkins hash function.  Then we convert the hashed value to
a string and prepend 64 bytes of random data.

Made text to TSML converter tolerate documents in which the metadata block
is preceded by blank lines.

2.7

Corrected the failure to free the Copyight data from struct metas
in free_meta()

2.6

Corrected bug in the conversion of -- to em dashes in epubs.

2.5

Copyright message code no longer uses fixed sized buffer.

2.4

Renamed modified Courier Prime fonts to comply with license (OFL).

2.3

Corrected bug that did not include a Copyright header line when the -t
option was invoked.

2.2

Corrected bug that prevented 'Copyright' keywords from being recognized
in text format documents.

Made formatter tolerate title page block keywords that are not capitalized.

2.1

Added title page to epubs.  Added line to metadata for copyright info in
epubs.

Removed code that put user data fixed-size buffers.  On overflow
fimblethwicke would not crash but simply truncate data and make bad epubs.

2.0

Added epub support.

1.38

Corrected bug that incorrectly passed the chapter newpage and restart
options to the rtf exporter.

1.37

Removed -p option. It was silly.

Replaced the hard-coded parent value in the title page dictionary.

1.36

Made top margin exactly 1 inch.  I was putting a little less to fit an even
number of lines on a page.  I forget why.  Doesn't matter now.

Changed -w to -p for phone.  The phone version is formatted for an 8x5 page
and is easier to read on a small screen in landscape orientation.

1.35

Corrected bug that ignored -r option when presented with -t option.

Added the -w option to make narrow PDFs.

1.34

No user-visible changes.  Replaced the hard-coded /Parent value of
the title page object with a parameter.

1.33

Fixed bug in -t output that did not prepend = to sections.

1.32

Fixed:  Somewhere along the line line, I did a search and replace on TITLE
for CHAPTER that inadvertently changed the fallback metadata UNTITLED to
UNCHAPTERD.

1.31

Removed unused character ranges from fonts.  Supposed to do this in 1.25,
but I ended up inadvertently including the wrong files.

1.30

Corrected a memory leak in the underliner that would only occur
in error conditions.

1.29

Corrected bug that would incorrectly center Sections or Chapters with
underlined components.

1.28

Corrected memory leak that would only occur in error conditions.

1.27

Removed ASCII85 encoding from fonts to make PDFs smaller.

All streams are now Deflated for smaller PDFs.

1.26

Compressed fonts before ascii85 encoding them.

1.25

Removed unused character ranges from fonts.

1.24

Added support for sections.

1.23

Subtitles now called chapters.  $S renamed $C accordingly.

Corrected a memory leak that would occur in error conditions.

1.22

Corrected memory leak.

1.21

$S is now recognized in subtitles and replaced with the number
of the current subtitle. Subtitles are implicitly numbered from 1.

1.20

Finally got the Latin Supplement characters working.

1.19

Removed some redundant text positioning commands from PDFs.

1.18

Added the -s option to choose Courier Prime Sans over Courier Prime.

1.17

Reverted to fixed number of intermediaries.

Formatter now recognizes Latin Supplement characters in metadata.

1.16

Corrected bug that would wrap lines incorrectly that contained
smart dashes or quotes.

Formatter now calculates the number of intermediate pages objects in
PDFs rather than using hard coded quantity.

1.15

Formatter now converts UTF-8 sequences of Unicode Latin Supplement
characters into 8-bit values.

1.14

Formatter now uses ASCII85 encoding on embedded fonts.

1.13

Fimblethwicke now embeds Courier Prime into PDFs.

1.12

Refined RTF code to generate subtitles.

1.11

The formatter now adds a blank line before subtitle elements.

The formatter will now push a subtitle to a new page if there is not room
for the title and two body lines instead of the tile and one body line.

1.10

Added support for 'i' elements that represent breaks in narrative that are
rendered as paragraphs of one line containing one centered character.

1.9

Formatter now converts "smart quotes" and "smart em dashes" to their
typewriter equivalents.

1.8

'Draft Date' is no longer recognized in text format metadata.  That element
is now called 'Revision'.

1.7

Modified title pages to conform to the convention for fiction manuscripts.

1.6

Fixed bug that caused the centered lines on title pages to be
centered incorrectly.

1.5

Corrected bug that caused fimblethwicke to choke on manuscripts
without a metadata 'Header'.

1.4

Minor bug fix.  Bug would only occur in error conditions.

RTF mode did not obey -n.  Now it does.

1.3

Added paragraph styles to RTF output.

1.2

Fimblethwicke now produces RTF as well as PDF output.

Fimblethwicke now considers the title page to be page 1. The running header
is still suppressed on the title page.

1.1

Manual describes support for [[notes]], but was not implemented. Now it is.

1.0

Initial release.
