Re: [Foxet] fonts again

Top Page
Author: h h extern
Date:  
To: Bruce D'Arcus
CC: foxet list
Subject: Re: [Foxet] fonts again
Bruce D'Arcus wrote:
> Adam Lindsay wrote:
>
>> Okay, you name 'Gill Sans' as the font family here, but to a computer,
>> 'Gill Sans' is not the same as 'GillSans' down below, right?
>
>
> Part of the problem is that I've never really understood the logic of
> HOW ConTeXt thinks about fonts. It's incredibly frustrating; right up
> there with trying to understand xml namespaces in a deep way!
>
> Re: your suggestion, yes it was a little ambiguous, but I managed to get
> Gills Sans to work. I still really don't have a clue how to tackle what
> I'm really after though: the Adobe fonts. I forget Adam, do you have
> xetex-friendly typescripts setup for these fonts?


basically context does ot think, it only tries to satisfy tex -)

it all boils down to

\font\blabla=somename at somescale

however, for non english languages, things like encodings come into view as
well; also, while fo has a rather stupid font model (just switch 'm) tex systems
like to think in relations and systematicaly changing fonts; for instance,
linespacing depends on a bodyfont model (weak spot of fo and a potential source
of bad look and feel)

now, in foxet, since the font model of fo is simple, the only thing that needs
to be done is to map some symbolic name (TimesRoman is just a tag, and there are
many tm's around) into something known/existing on the system (can be different
for windows, unix, mac, old or new system etc but in practice tex distributions
ship with some fonts on each platform)

so, what happens in foxet: a combination of tags (serif, bold, etc) maps onto a
name; and by using the font synonym mechanism of context, we can use a high
level of abstraction and only need one place where a system font shows up; at
that place encoding issues need to be sorted out [tex uses font encodings also
for hyphenation]

say that we want "Times Roman Bold"

we can map this directly:

\definefontsynonym[TimesRomanBold][tir][encoding=texnansi]

or indirectly:

\definefontsynonym[TimesRomanBold][TimesRoman-Bold]
\definefontsynonym[TimesRoman-Bold][tir][encoding=texnansi]

in the end, when a font is really needed, context does something

\definefont[test][TimesRomanBold at 10pt]

which then resolves to

\font\test=tir at 10pt + an encoding switch

in this case using some old platform name for times roman but on other systems
this could be

\definefontsynonym[TimesRoman-Bold][mytimes][encoding=texnansi]

(keep in mind that the encoding is not related to the input, it's a *font*
encoding)

or, if your fo thing is part of a document that is done in palatino while you
don't want to change the styles that gerenated it:

\definefontsynonym[TimesRoman-Bold][Palatino-Bold]

which then resolves to

\font\test=<internal palatino font name> at 10pt + an encoding switch



Hans

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
      tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
                                              | www.pragma-pod.nl
-----------------------------------------------------------------


_______________________________________________
Foxet mailing list
Foxet@???
http://www.ntg.nl/mailman/listinfo/foxet