Doug McKenna wrote:

Phil Taylor wrote:



| How about delaying the definition of \Umathcode until after
| "load-unicode-data.tex" has been processed ?  Is that possible, and
| would it have undesirable side-effects ?



\Umathcode is a XeTeX primitive extension to the TeX language in the service of 
solving a problem in classic TeX, which was that the machinery and syntax of 
the classic TeX \mathchar primitive could not handle 21-bit Unicode values, or 
more than 16 math font families, etc.  So \Umathchar (and a bunch of other 
related extensions all starting with 'U') is defined in XeTeX's WEB source 
code; it exists the moment the engine is launched.  Thus it's not possible to 
delay \Umathchar's definition.

OK, understood.  So because JSBox is required/designed to incorporate all of 
XeTeX's features, it must (by definition) implement/provide \Umathcode.  But 
could not JSbox perform (or simulate) the following :

\let \Umathschar = \Umathchar % use British spelling as synonym
\let \Umathchar = \undefined  % inhibit "load-unicode-data.tex"'s special 
treatment of engines that implement \Umathchar
\input load-unicode-data % since it would seem that you cannot simply skip this 
step
\let \Umathchar = \Umathschar % restore canonical meaning of \Umathchar





Furthermore, the purpose of executing "load-unicode-data.tex" is precisely to 
populate the \Umathchar table, as well as other Unicode character tables.  So 
these tables have to exist prior to executing the file.

Well, do they, in the case of JSBox ?  From what you wrote in your original 
query, I thought that that [1] was the very thing that you were trying to avoid 
...
[1] "executing "load-unicode-data.tex" [in order] to populate the \Umathchar 
table".  So specifically, does the \Umathchar table have to exist, in JSBox, at 
the point that "load-unicode-data.tex" is loaded ?


Perhaps I'm misunderstanding your question.


OK, I hope that I have now clarified both my query and my proputative posed 
solution.
Philip Taylor

Reply via email to