On Mon, 4 Jan 2010, Hans Hagen wrote:
On 3-1-2010 18:38, Alexandre Patry wrote:
Hi,
when I use the \digits command with default fonts, everything work fine. However, when I set the fonts to palatino, the following documents print "1:234;56" instead of "1.234,56"
8<--------------------------------- \usetypescript[palatino][ec] \definetypeface [palatino] [mm] [math] [euler] [euler][rscale=1.03] \setupbodyfont[palatino,12pt]
\starttext \digits{1.234,56} \stoptext 8<---------------------------------
Am I doing something wrong?
it's euler related, not palatino so let's redirect this to aditya
It works if you change the definition of \dohandledigits to the following \def\dohandledigits {\mathcode`\,="003B \mathcode`\.="003A % were 013B and 013A \expandafter\handletokens\collecteddigits\with\scandigits \ifcase\powerdigits\else\digitpowerseparator^{\savedpowerdigits}\fi} This is because euler takes , and . from mr family (family 0) while in other fonts they come from mi (family 1). I don't understand why the mathcode needs to be changed inside dohandledigits, do cannot figure out a way to fix the bug. One option can be to store the mathcode of , and . before we start manipulating digits, and then restore them to their original values (something like that \pushcatcodetable and \popcatcodetable). Aditya