lout-users
[Top][All Lists]
Advanced

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

font substitution feature?


From: Jeff Kingston
Subject: font substitution feature?
Date: Thu, 28 Mar 1996 14:48:59 +1000

With font substitution I guess the big question is when.  If
the answer is "when lout is run" then you can do it by selecting
alternative fontdefs files.  Of course you have to go to some
trouble to set them up.

There is a big problem with delaying a decision about which
font to use until PostScript execution time - Lout can't know
what size the glyphs are.  In fact, from time to time people
enquire about weird results from Ghostview and it turns out
that Ghostview is substituting fonts and consequently letters
are overstriking each other etc.

It would be nice to be able to assemble one's own fonts from
here and there (Andrew's second idea).  More generally, what
about a feature that allows you to associate an arbitrary
Lout object (which could of course be one character from
any font, but could also be much more) with a character  
code.

However, you have to be careful with things like this.  Fonts
are more than just a collection of glyphs.  There is kerning
information to think of for one thing - Lout can't kern when
two adjacent characters come from different fonts.  I for one
hate looking at text with bad kerning, and I'm still sad and
sorry about

    @S @I { Hello World }

which comes out horribly because of the inevitable loss of
kerning information between H and e, W and o.  So my two
cents' worth on assembling your own fonts is:  fine, but
wait for a system that understands shapes well enough to
work out kerning data for itself.

A real Lout hacker can of course write a great whack of
definitions like

    def "," { { Times Base } @Font "," }

and so on for all the punctuation characters, and put them
inside some other symbol with a body parameter so that in
certain chosen contexts, , means { Times Base } @Font ","
and so on.  That goes some way towards arbitrary Lout
objects associated with particular characters.

Jeff.


reply via email to

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