Re: Features needed for high-end DTP apps



On Sat, 2002-10-19 at 16:37, Soeren Sandmann wrote:
> Damon Chaplin <damon kendo fsnet co uk> writes:
> 
> >  o Justification - need to support fill & forced. With options like
> >    flush-zone, single-word, min/opt/max word space, min/opt/max char
> >    space. Some scripts prefer to extend chars rather than add space.
> 
> What is a "flush-zone"?

It is in the Quark XPress Hyphenation & Justification dialog. It
specifies how close to the end of the line the text must reach before
the line is justified. I don't know how useful it is.
(I'm not a DTP expert, by the way!)


> The justification algorithm should consider the entire paragraph, like
> TeX does. Another TeX-thing that may be needed is its concept of
> "glue", ie. space that can stretch and shrink in a user specified
> manner.

Yes, InDesign boasts about entire-paragraph justification, so that does
seem to be the way to go.

How does TeX's 'glue' relate to the min/max char/word space options in
XPress? We should consider InDesign's justification model as well.


> Also, "skyline" layout would be nice:
> 
>         - when putting finished lines together to form a paragraph,
>           and deciding the leading between two lines, instead of using
>           the maximum ascent of the lower line and the maximum descent
>           of the upper line, consider the "skylines" of the lines and
>           use the natural leading if there aren't any conflicts
> 
>         - When using whole-paragraph optimization a demerit (in the
>           TeX sense) could be assigned if the leading between two
>           lines would have to be increased. That is, the algorithm
>           would try to rearrange the line breaks to avoid increasing
>           the leading.
>           
>         - TeX's algorithm can be extended to handle this without any
>           additional computational complexity .

It looks like TeX will be quite useful!

 
> >  o Hyphenation - only applicable to certain scripts. I think Raph
> >    wrote a library to do some of this.
> 
> It doesn't handle utf-8 as I recall, but otherwise seems to work
> well. I am not sure have to handle special cases like
> "backen->bak-ken". Can they be generated automatically, or do we need
> to require "discretionarys" in the input?

Hmm. I didn't know that characters can change when words are hyphenated.
I suppose the hyphenation dictionary should contain this extra
information where needed. How many words is this needed for?

 
> The library is libhnj in GNOME cvs. It also contains a TeX-like
> justification algorithm, but I haven't looked at it.


 
> Hyphenation and TeX-like line breaking are on my list of things that I
> would like to have a look at at some point. (But of course, if you
> want to work on it, don't let that stop you).

We can at least cooperate on the design & algorithms. If you want to
code it that would be great - I'd do some of the others instead.


 
> >  o Drop capitals. May not be appropriate in all scripts.
> 
> And capitalization on a per-line bases. Eg. you might want the first
> line of a paragraph to be set with small-caps.

Yes, that should be added to the list. It sounds a bit tricky, though.


Damon




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]