Font switch in ConTeXt mkiv
Typescript-based version :
\usetypescriptfile[asana]
\definefontfeature[default][default][onum=yes]
\starttypescript[me]
\definetypeface [me] [rm] [serif] [pagella] [default]
\definetypeface [me] [ss] [sans] [heros] [default]
\definetypeface [me] [tt] [mono] [cursor] [default]
\definetypeface [me] [mm] [math] [asana] [default]
\stoptypescript
\definebodyfontenvironment [10pt] [a=16pt]
\setupbodyfont[me,10pt]
\starttext
italic but not math \it mathmode 123
$123 mathmode$
\tfa Big
\stoptext
Simplefonts based solution:
\definefontfeature[default][default][onum=yes]
\usemodule[simplefonts][size=10pt]
\setmathfont[Asana]
\setmainfont[Tex Gyre Pagella]
\setmonofont[Tex Gyre Cursor]
\setsansfont[Tex Gyre Heros]
\definebodyfontenvironment [10pt] [a=16pt]
\starttext
italic but not math {\it mathmode 123}
$123 mathmode$
\tfa Big
\stoptext
Aditya's solution is great but unfortunately outdated. ConTeXt is developed at a very fast pace and a lot happened since 2012. The documentation of the simplefonts
module lists some changes and I have implemented them on the basis of Aditya's example.
Today you perhaps want to use the official companion math font for TeX Gyre Pagella instead of Asana Math.
\definefontfeature[default][default][onum=yes]
\definefontfamily[texgyre][serif][TeX Gyre Pagella]
\definefontfamily[texgyre][sans] [TeX Gyre Heros]
\definefontfamily[texgyre][mono] [TeX Gyre Cursor][features=none]
\definefontfamily[texgyre][math] [TeX Gyre Pagella Math]
\setupbodyfont[texgyre,10pt]
\starttext
italic but not math {\it mathmode 123}
$123 mathmode$
\tfa Big
\stoptext