[texhax] How to use 'collate' array?

Igor Liferenko igor.liferenko at gmail.com
Tue Nov 29 09:17:18 CET 2016


The solution is found.

If you want the sort to be case-insensitive as it is for ASCII letters,
'xisupper' should be changed to 'isupper' (assuming that 'setlocale()' is
used with required 8-bit encoding). The 'collate' array needs to be changed
when you want, say, 'é' to be sorted after 'e', not after 'z' - for this put
the code for é in the used encoding right after 'e' in the 'collate' array,
and adjust the shifts accordingly in the code which initializes 'collate'
array (the high-bit entries in the 'collate' array which correspond to
uppercase letters in the used encoding need not be changed - they are never
used because of the 'tolower()' calls).

And sorry for posting to not-quite-appropriate mailing list.

Igor



More information about the texhax mailing list