Hi,
The beta has some new font trickery: support for variable fonts. This is
still experimental but around the context meeting i expect the user
interface etc to be stable. There is a bit of magic involved in the
transformations along design axis because not only shapes change but
also positional features get influenced (e.g kerning).
Variable fonts are defined in the opentype 1.8 standard but there isnot
much more known about them. There are a few example fonts already out
there. The only reasonable ones i could find were Avenir Next Variable
and Adobe Variable Font Prototype (which is a rip off of some other
font). I have no clue how well these fonts are because I guess that
getting all the features right is not that trivial (so it's hard to
decide if something weird is due to the font or to context but we'll get
there eventually).
Using these fonts should be transparent in the sense that it should just
work. As the shapes are transformed along axis the pdf has to get the
right stuff and currently there are two methods: inline shapes (it's how
i explored things) and native. For native one needs a version of luatex
with a trivial extension (most works happens in the font loader) and
that version (1.05) will be released on the garden after the tl code
freeze (tl will have 1.04). One can force inline shapes but it will be
done automatically when one runs a luatex that lacks the small extension
needed.
Anyway, it provides users a way to play a bit with this new technology
so that we can come up with a (maybe more extensive) user interface in
context. It also permits WS to adapt his selectfont mechanism.
\definefontfeature
[default:shaped]
[default]
[axis={width:900,weight:100}]
\definefont
[SomeFont]
[name:avenirnextvariable*default]
\SomeFont \input ward\par
\definefont
[SomeFont]
[name:avenirnextvariable*default:shaped]
\SomeFont \input ward\par
\definefont
[SomeFont]
[name:avenirnextvariableregular*default]
\SomeFont \input ward\par
\definefont
[SomeFont]
[name:avenirnextvariablemedium*default]
\SomeFont \input ward\par
\definefont
[SomeFont]
[name:adobevariablefontprototypeextralight*default] \SomeFont
\input ward\par
\definefont
[SomeFont]
[name:adobevariablefontprototypelight*default]
\SomeFont \input ward\par
etc etc
So, one can either use a predefined instance or ask for a user defined
instance. The s-fonts-variable.mkiv style can be used to identify
proprties, as can
mtxrun --script font --list --pattern=aven* --info
which returns, among other things
mtx-fonts |
mtx-fonts | instances : regular medium bold heavy condensed
mediumcondensed boldcondensed heavycondensed
mtx-fonts |
So, keep in mind that it's experimental and will evolve in sync with my
understanding of what the standard expects.
Hans
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the
Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage : http://www.pragma-ade.nl / http://context.aanhet.net
archive : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___________________________________________________________________________________