On Sun, Jun 24, 2012 at 02:17:19PM +0200, Khaled Hosny wrote: > On Sun, Jun 24, 2012 at 02:41:21AM +0000, Vafa Khalighi wrote: > > I know that in TeX, you can only use 16 math alphabets but XeTeX > > extends this so I was curious to enlarge the number of my math > > alphabets and I had to redefine some internals of LaTeX. My minimal > > working example is attached. > > > > But this makes the word "Test" to apear in Italic. You can delete any > > of the \DeclareSymbolFont and then \mathtt worked as expected. This > > shows that this only happens when the number of math alphabets exceeds > > 16. Why does this happen and how should one fix this? > > > > I tried the same thing with luatex and I got expected result so it > > seems that something is wrong with XeTeX. > > XeTeX's \fam primitive does not seem to have been extended to accept > higher values, and since the legacy mathcode format does allow higher > families as well, the only way to access higher math families for now is > through extended math primitives. A simpler test: > > \tracingonline=1 > \font\cmscten=cmcsc10 at 10pt > \font\dunhten=cmdunh10 at 10pt > \textfont15=\cmscten > \textfont16=\dunhten > $$ > \fam15 a > \fam16 A > \XeTeXmathchar"0 16 `A > \showlists > $$ > \bye
This should be fixed now in the git repository. Regards, Khaled -------------------------------------------------- Subscriptions, Archive, and List information, etc.: http://tug.org/mailman/listinfo/xetex
