lout-users
[Top][All Lists]
Advanced

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

Re: Punctuation spacing


From: Jeff Kingston
Subject: Re: Punctuation spacing
Date: Fri, 07 Apr 2006 07:08:16 +1100

> BTW, the `u' gap mode is apparently not documented in the
> Expert's Guide, for instance in Figure 3.2.

It's not a gap mode, but anyway I'll look into it.

> Currently, it seems that its only rule about spacing
> around punctuation marks (namely, inserting one space after
> the end of a sentence) is handled by adding ad hoc information
> at the level of `langdef' definitions ... What was the rationale
> behind this design choice?

Well, it's very polite of you to describe such a horrible hack
as a design choice.  At that time (long ago) my aim was basically
to typeset English well, and I did not give much thought to
other languages.

> ... instead of turning all the punctuation marks into
> definitions similar to the one I posted?

I've never tried to do this systematically for the reason you
mention, that then punctuation marks get that definition
everywhere, even within equations etc., which I consider to
be too tricky.

> In order to describe rules used in actual typography
> (e.g., adding &0.5su before a semi-colon and &1.0s after),
> we'd need to develop a whole new description language,
> which may be quite difficult to implement.  Furthermore,
> from a design viewpoint, it seems that keeping Lout
> primitives as simple and generic as possible is highly
> desirable.  Thoughts, opinions?

These days I would characterize Lout as a special-purpose
language with features added in an ad-hoc manner as
required, and with (commendable) reluctance.  Sticking
with that philosophy I would try to implement non-English
typographical rules by user-supplied definitions as far
as possible.  Are there things you want to do that you
can't do at the moment, or is the issue just doing it
out of the box?  If the latter, then what we need are
packages of definitions that can be included as header
files, as in

    @SysInclude { doc }
    @SysInclude { french_spacing }
    @Doc @Text @Begin
    ...

I'd be willing to cooperate if someone wanted to
construct and test such a file.

>From a design viewpoint, I don't believe that tricky
definitions that make what look like ordinary characters
into symbols is the right approach.  Lout offers nothing
else, but in an ideal system you would take a paragraph
of literal text and apply a language-specific formatting
algorithm to it.  This way you don't need a whole new
description language, just a general-purpose programming
language.  You basically have to do something like this
anyway to handle right-to-left text, ligatures, and all
the other weirdness documented in the Unicode book.

Jeff


reply via email to

[Prev in Thread] Current Thread [Next in Thread]