Release Notes for wordaxe 0.3.2
H. von Bargen, March 2009
Release 0.3.2
Bug fixes and small improvements.
Using wordaxe within rst2pdf should work fine now.
Special thanks to Christoph Zwerschke and Harald Armin Massa.
Support for nobr tag: not exactly how nobr works in HTML, but in a way
that allows disabling hyphenation for some words within a Paragraph with
hyphenation enabled, like this:
"Use the --with-error-correction option to automatically
correct all program errors."
In order to make it easier to package applications with py2exe, the
German hyphenation dictionary used by DCWHyphenator is now a Python file.
Fixed problems with multibuild.
Fixed: If a paragraph contained explicit line breaks ("
"), the width
was not calculated correctly.
Cleaned up the test suite.
Added missing attributes/methods.
Release 0.3.1
Tested with ReportLab 2.3.
With wordaxe 0.3.1 and ReportLab 2.3, multibuild should work.
Release 0.3.0
By default, wordaxe now uses the NewParagraph implementation.
The main reason is the fact that I found it impossible to fix
the splitting bug in the old paragraph.py code.
Usage of the NewParagraph implementation is controlled by the
the option USE_NEW_PARAGRAPH in wordaxe.rl.__init__.py
Other changes:
* NewParagraph.py now supports ParagraphAndImage
* Support for backColor adopted from Dirk Holtwick in NewParagraph
* Fixed the core hyphenation library
Release 0.2.6
* Changed license: now dual licensed: Free BSD or Apache 2.0
* Support for pyhyphen
* Fixed a few bugs
Release 0.2.5
Refactoring of the hyphenation classes.
The hyphenate function now returns None if the algorithm used
does not know the word. Otherwise it returns a HyphenatedWord
instance (the word associated with 0 or more hyphenation points).
The info attribute of HyphenatedWord instances
is no longer used.
Common suffix and prefix characters are handled automatically
That is, "Fliegen!?" will be treated like "Fliegen".
BaseHyphenator: This is the base class for hyphenation,
words will only be hyphenated after "-" or SHY character.
ExplicitHyphenator, based on BaseHyphenator: You can explicitly
define the hyphenation for any word you like. If the base hyphenator
cannot hyphenate a given word, then the explicitly defined words are
checked.
PyHnjHyphenator: A pattern-based hyphenation algorithm.
DCWHyphenator: This hyphenator works a little bit better than before.
First, a word is checked for "-" or SHY.
The components are then processed individually and the results are
concatenated afterwards.
For each component,
* it is first checked for SHY characters. If at least one occurs,
then the component is pre-hyphenated and only the SHY characters
result in hyphenation points.
* Otherwise, the ExplicitHyphenator will be tried. If it knows the
word - meaning an explicit hyphenation was defined for this word,
that hyphenation will be used.
* Otherwise, the DCW algorithm is used to hyphenate the component.
This modification has some advantages:
* You can now use just ExplicitHyphenator if you don't want to use
the DCWHyphenator for some reason or another. This might be
faster in some cases. Note, however, that you then have to
explicitly define a hyphenation for each and every word you want
to hyphenate.
* The DCW-Hyphenator now works for words like "ABC-Schütze".
* The code is looking cleaner (at least I think so).
Known Bugs:
* RL: The layout for styled paragraphs is wrong if the paragraph
is splitted.
* DCW: "Fremdwort" does not work, i.e. "Konstruktion" is unknown,
although the prefix "kon", base word "strukt" and suffix "ion"
are defined in the dictionary.
Release 0.2.4 (special thx to Dinu for testing)
* Added new tests
* The self-test in PyHnjHyphenator now uses purePython.
* Fixed a bug in PyHnjHyphenator that caused the last character
to be hyphenated (as in in-stink-t).
* Fixed a bug "exception NameError: ... _do_link ..." while
rendering hyperlinks.
* Dinu Gherman discovered a serious bug that causes the
second part of a splitted paragraph to be rendered
incorrectly, iff the paragraph contains inline formatting.
For production use, you should
- either not use inline formatting
- or avoid splitting paragraphs, for example by putting each
paragraph into a 1x1-table.
Release 0.2.3:
The library has been renamed from "deco-cow" to "wordaxe".
The hyphenation library now supports ReportLab 2.1.
The installation has become a lot easier, and except for a few
lines changed in rl_codec.py, you don't have to change your standard
ReportLab installation anymore.
Added documentation.
Release 0.2.2:
To prevent misunderstandings, throughout the
software and documentation, the string
"SiSiSi" has been replaced with "DCW".
The Technical University of Vienna (TU Wien) has
developed closed-source software called "SiSiSi".
The deco-cow hyphenation library is not related
to "SiSiSi".
For more information about the "SiSiSi" software,
please visit http://www.ads.tuwien.ac.at/research/SiSiSi/
The trademark character in test_hyphenation.py
has been escaped. Now the ReportLab test suite
"runAll.py" should run without errors.