[dev-context] setupbodyfont
Wolfgang Schuster
schuster.wolfgang at googlemail.com
Tue Jun 9 10:50:20 CEST 2009
Am 09.06.2009 um 09:13 schrieb Wolfgang Schuster:
> Hi Hans,
>
> I run with my simplefonts module in two problems when I try to set
> the bodyfont,
> the regard math and fallback fonts and I was only to solve them by
> redefining
> of a few values.
>
>
> 1. I have to set the bodyfont at the same time when I set a
> individual font for
> serif, sans or mono. This works fine for the the three text style
> but not when
> I try to switch to a different math font, which is frozen with the
> first
> \setupbodyfont command and can only be changed when I the main
> fontclass
> (created with \registerfontclass in \definetypeface) and the style
> value
> for rm (I need the 'rm' style to allow e.g. ss as document style).
Small correction, I have to undefine the currently used style, i.e. in
my
example below I have to reset the sans serif style, not the serif one.
> Here is a example to illustrate the problem:
>
> \definetypeface[mainface][rm][serif][times][default]
>
> \setupbodyfont[mainface,ss,12pt]
>
> \definetypeface[mainface][ss][sans][helvetica][default]
> \definetypeface[mainface][tt][mono][courier][default]
>
> \definetypeface[mainface][mm][math][palatino][default]
>
> % comment/uncomment the following two lines to see how
> % the math font changes with/without these redefinitions
>
> \letvalueempty{@@tfmainfacedefault}%
> \undefinevalue{@f at st@rm}%
\undefinevalue{@f at st@ss}%
> \setupbodyfont[mainface,ss,12pt]
>
> %\definetypeface[mainface][mm][math][cambria][default]
>
> %\letvalueempty{@@tfmainfacedefault}%
> %\undefinevalue{@f at st@rm}%
> %\setupbodyfont[mainface,ss,12pt]
>
> \starttext
>
> text
>
> \rmtf regular \it italic \bf bold \bi bolditalic
>
> \sstf regular \it italic \bf bold \bi bolditalic
>
> \tttf regular \it italic \bf bold \bi bolditalic
>
> $$ c^2 = a^2 + b^2 $$
>
> \stoptext
>
>
> 2. The fallback for the main style (i.e. \rmtf) is frozen too with
> the first \setupbodyfont line in the document with can be only reset
> when I undefine \newfontidentifier, a example for this is:
>
> \starttypescript [serif] [mainfont]
> \setups[font:fallback:serif]
> \definefontsynonym [Serif] [name:texgyrepagellaregular]
> [fallbacks=mainfont,features=default]
> \stoptypescript
>
> \definetypeface [mainfont] [rm] [serif] [mainfont] [default]
>
> \setupbodyfont[mainfont,rm]
>
> \definefontfallback [mainfont] [name:texgyretermesregular]
> [0x0065-0x0070] [force=yes]
>
> % The following line is necessary to enable the fallback font for
> the main
> % style after the bodyfont is set, if this isn't done the complete
> text
> % below is typeset in Pagella whereas e-p should be in Times
>
> \undefinevalue\newfontidentifier
> \setupbodyfont[mainfont,rm]
>
> \starttext
>
> abcdefghijkmnopqrstuvwxyz
>
> \stoptext
>
>
> I would prefer something documented (e.g.
> \setupbodyfont[reload,...]) which can
> be used to get the same effect as I did with my hacks because I like
> now my new
> font module, it's lot easier than direct method to set fallback fonts.
>
> TIA
> Wolfgang
More information about the dev-context
mailing list