[Top][All Lists]

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

Re: [Groff] Re: Adding styles to DESC

From: Steve Izma
Subject: Re: [Groff] Re: Adding styles to DESC
Date: Mon, 14 Jun 2004 11:33:41 -0500
User-agent: Mutt/1.3.28i

On Fri, Jun 11, 2004 at 10:45:16AM +0200, Werner LEMBERG wrote:
> Date: Fri, 11 Jun 2004 10:45:16 +0200 (CEST)
> To: address@hidden
> Cc: address@hidden
> Subject: Re: [Groff] Re: Adding styles to DESC
> From: Werner LEMBERG <address@hidden>
> > I don't suppose it's an easy thing to change .fam so that a change
> > in family doesn't take effect until the next .ft request?  This is
> > an issue that's puzzled me ever since making the transition from
> > SoftQuad troff to groff.  As far as I know, sqtroff originated the
> > whole idea of a .fam request (theirs was .ffam) and I'm pretty sure
> > they specified the above effect.
> If you compare this to the LaTeX font selection scheme, I think that
> the behaviour of .fam and .ft as implemented currently is the right
> one.
> ...
> I hope this clarifies groff's font selection.
> [*] The exact behaviour is as follows:
>   .fam F
>     Set family component to <F>.  If the current font position is
>     associated with style <s>, select the font <F><s>.  In case <F><s>
>     doesn't exist, ignore the call to .fam (but save the used family
>     name to suppress consequent warnings).  If the current font
>     position is associated with a real font, no font change happens.
>   .ft s
>     If <s> is not a style name, switch to font <s>.  If <s> is a
>     style, switch to <F><s>, where <F> is the current font family.  If
>     the font to be selected doesn't exist, ignore the call to .ft (but
>     save the used font name to suppress consequent warnings).
>   Example:
>       .fam T
>       .ft R            \" -> TR
>       .fp 0 dummy TR   \" -> TR
>       .sty \n[.fp] RO  \" -> TR
>       .fam EU          \" -> TR (can't find font `EUR')
>       .ft RO           \" -> TR (can't find font `TRO')
>       .ft 0            \" -> dummy
>       .fam EU          \" -> dummy (no additional warning)
>       .ft BU           \" -> dummy (can't find font `BU')
>       .ft RO           \" -> EURO

Yes, thanks, the example clearly shows the current behaviour. But
why are we comparing troff to LaTeX? The original troff had no
family selection request and you've demonstrated that the LaTeX font
scheme is significantly different from groff's.

If in traditional troff the canonical method for changing font
is .ft, then why was .fam added to do the same thing? It seems
to me that .fam should be in the same class of request as .fp,
.fspecial, and .ftr, which describe how font changes will occur
the next time a .ft is called. Isn't this an easier paradigm to

It's certainly not the only place where the notion of "delay"
exists, e.g., requests beginning with the no-break control
character delays use of particular values until the next line
('vs, 'in, etc.), which I think is philosophically related if not
implemented the same way internally.

So, is it worth the effort to change the current behaviour? At
least, I think, it would make various fixes to various macro
packages unnecessary.

        -- Steve

Steve Izma
    Computing Systems Administrator       (519) 884-0710 ext. 6125
    Wilfrid Laurier University Press      FAX: (519) 725-1399
    Waterloo, Ont., Canada N2L 3C5        address@hidden

reply via email to

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