\def\otffont#1=#2at{\font#1={#2: +kern;+liga} at}
\def\palatino{\palatinotext\palatinomath}

\def\palatinotext{
\def\fontregular{TexGyrePagella-Regular}
\def\fontbold{TexGyrePagella-Bold}
\def\fontitalic{TexGyrePagella-Italic}

\updatetextfonts

\otffont\twelvett=LMMono12-Regular at 12pt
\otffont\eleventt=LMMono10-Regular at 10.95pt
\otffont\tentt=LMMono10-Regular at 10pt
\otffont\ninett=LMMono9-Regular at 9pt
\otffont\seventt=LMMono8-Regular at 8pt

\otffont\twelvesl=LMRomanSlant12-regular at 12pt
\otffont\elevensl=LMRomanSlant10-regular at 10.95pt
\otffont\tensl=LMRomanSlant10-regular at 10pt
\otffont\ninesl=LMRomanSlant9-regular at 9pt
\otffont\sevensl=LMRomanSlant8-regular at 7pt
}
\def\palatinomath{
\def\fontmathrm{TexGyrePagella-Math}

\font\twelvemr={\fontmathrm} at 12pt
\font\elevenmr={\fontmathrm} at 10.95pt
\font\tenmr={\fontmathrm} at 10pt
\font\ninemr={\fontmathrm} at 9pt
\font\eightmr={\fontmathrm} at 8pt
\font\sevenmr={\fontmathrm} at 7pt
\font\sixmr={\fontmathrm} at 6pt
\font\fivemr={\fontmathrm} at 5pt

% math italic
\font\twelvei={\fontitalic} at 12pt
\font\eleveni={\fontitalic} at 10.95pt
\font\teni={\fontitalic} at 10pt
\font\ninei={\fontitalic} at 9pt
\font\eighti={\fontitalic} at 8pt
\font\seveni={\fontitalic} at 7pt
\font\sixi={\fontitalic} at 6pt
\font\fivei={\fontitalic} at 5pt

\font\twelvesy=lmsy10 at12pt
\font\elevensy=lmsy10 scaled\magstephalf
\font\tensy=lmsy10 % math symbols
\font\ninesy=lmsy9
\font\eightsy=lmsy8
\font\sevensy=lmsy7
\font\sixsy=lmsy6
\font\fivesy=lmsy5

\font\twelveex=lmex10 at12pt
\font\elevenex=lmex10 scaled\magstephalf
\font\tenex=lmex10 % math extension
\font\nineex=lmex10 at9pt
\font\eightex=lmex10 at8pt
\let\sevenex\eightex
\let\sixex\eightex
\let\fiveex\eightex

\skewchar\twelvei='177 \skewchar\eleveni='177 \skewchar\teni='177 \skewchar\ninei='177
\skewchar\eighti='177  \skewchar\seveni='177  \skewchar\sixi='177 \skewchar\fivei='177
\skewchar\twelvesy='60 \skewchar\elevensy='60 \skewchar\tensy='60 \skewchar\ninesy='60
\skewchar\eightsy='60  \skewchar\sevensy='60  \skewchar\sixsy='60 \skewchar\fivesy='60
}
\palatino
