xsl-list
[Top] [All Lists]

Re: line-breaking and hyphenation in XSL-FO

2003-03-10 10:38:02
Thank you all for the comments on my questions..

Regards,
Mukul

--- David Tolpin <dvd(_at_)renderx(_dot_)com> wrote:
TeX is a program system for typesetting, and it
broke many
new grounds in computer typesetting, in particular
the
paragraph filling and the hyphenation algorithms
developed
for TeX are still the best for their respective
purposes.

Unfortunately, this is not so. While TeX's line
breaking algorithm
is good, TeX's hyphenation algorithm (Liang's
algorithm) is
a rather simple approach imposing serious
limitations on proper
hyphenation of German, for example. 

The most important advantage of Liang's algorithm is
that it is
fast and simple. That's why many implementations of
XSL FO use it.

XSLFO leaves many details for the implementation,
sometimes
this is made explicit, often this can be guessed
from the
absence of any advice. Hyphenation is explicitely
left to
the implementation, line breaking implicitely
(they could
have mentioned TR14 though, given the extensive
reference
to TR9).

UA14 for line-breaking and Liang's for computing
hyphenation
points has little to do with the actual
line-breaking algorithm,
that is with optimal distribution of syllables
between lines in 
a paragraph.

Hyphenation dictionaries and UA14 specify where it
is allowed to
break a word or a line.

A line-breaking algorithm is a way to determine the
actual breakdown.
While it should be based on something like
hyphenation tables and UA14,
it is much more than that.

When TeX's line breaking algorithm is mentioned, it
is the sophistication
of optimization that is praised, not conformance to
a standard. Actually,
TeX knows nothing about Unicode and UA14.


David Tolpin

 XSL-List info and archive: 
http://www.mulberrytech.com/xsl/xsl-list



__________________________________________________
Do you Yahoo!?
Yahoo! Tax Center - forms, calculators, tips, more
http://taxes.yahoo.com/

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



<Prev in Thread] Current Thread [Next in Thread>