[XeTeX] not enough \XeTeXcharclass registers

Philip Taylor P.Taylor at Rhul.Ac.Uk
Mon Feb 1 12:57:05 CET 2016



Jonathan Kew wrote:

> What happens at the boundary in "AB"? Should it depend on the numerical
> values of the classes, or the order in which the transitions were
> specified, or what?

"Clearly" it should not depend on the numerical values of the classes,
since in reality the precedence may have only a partial ordering :

	(1 > 2 > 3 > 1)

but the use of a comma does not suggest ordering.  Therefore I would
suggest a variant syntax :

  \XeTeXintercharclasses `A = {1; 2}
  \XeTeXintercharclasses `B = {3; 4}

where the semi-colon is an Algol-68 GOON (= "go on") delimiter
indication serial elaboration rather than collateral.

Given the modified syntax proposed above, what happens at the boundary
in "AB" would appear to me to be as follows :

[1]  \XeTeXintercharclasses `A = {1; 2}
[1]  \XeTeXintercharclasses `B = {3; 4}

[2]  \XeTeXinterchartoks 1 3 = {foo}
[2]  \XeTeXinterchartoks 1 4 = {bar}
[2]  \XeTeXinterchartoks 2 3 = {xyzzy}
[2]  \XeTeXinterchartoks 2 4 = {plugh}

Ruleset [1] states that 1-transitions are to be considered before
2-transitions when an "A" is encountered; similarly, the same ruleset
states that 3-transitions are to be considered before 4-transitions when
an "B" is encountered.  Thus when we hit an "AB" sequence, the
interchartoks will be inserted in the order {foo}{bar}{xyzzy}{plugh}.

N'est-ce pas ?

Philip Taylor



More information about the XeTeX mailing list