I can see you have not lost your Wizard's touch, David, but will that work (as-is) in an IniXeTeX regime ? It looks to me as if it makes use of some plain-defined control words such as \z@ and \@ne. We need it to work in an Ini(Xe)TeX regime so that we can introduce different patterns to compare the behaviour. ** Phil.