Hallo Hans and other ConTeXters,
I have started to collect and clean up Czech ConTeXt localization. And I have discovered that Tomas Hudec includeded Czech (non-trivial) sorting rules into texutils.pl (calling czsort.pl from Jan Pazdziora). Unfortunately it was not incorporated into official ConTeXt disribution.
Hans, what is your prefereble solution in case of local sorting rules? I know, there is \definesortkey, but this mechanism is insufficient for Czech. I think that calling external Perl sorting routine is a suitable solution. If so, it can be incorporated into current version? Files are attached.
in order to do that:
- the pm code should move into texutil - we should find a way to hook the switch into texexec
now, apart from such an effort, i think we should rethink sorting;
- no funny encodings which demands the sorter to be encoding aware - no locale dependencies - readable sorting code -)
steps:
- write named glyphs to the output: - no longer use direct code in definecommand and defineaccent, i.e. - define the fallbacks as 'definecharacter ones'
the last two steps actually come first (since adam l. is quite fluent in the character names and such, i guess that the both of us need to look into that and do that in 'one move'); after that i can rewrite the sort/index code to become
aware of named glyphs and languages, and we can then plug in language specific sorting rules [taking care of xml at teh same time]
[it's worth considering to drop the non etex code]
named glyphs are not so much a problem, but we need to clean up the fallback encoding defs a bit in order to prevent funny expansion
\def\literateencodedtokens {% \let\dohandleaccent \keephandleaccent % \let\dohandlecommand \keephandlecommand \let\dohandlecharacter\keephandlecharacter}
\def\convertmeaning#1\to % watch the double expansion ! {\bgroup \honorunexpanded %\dontexpandencoding % new \literateencodedtokens % newer \xdef\@@globalexpanded{#1}% \xdef\@@globalexpanded{\@@globalexpanded}% \egroup \convertcommand\@@globalexpanded\to}
\protect
\enableencoding[texnansi] \setupregister[index][keyexpansion=yes]
\starttext
\defineactivecharacter * {\eacute} test \index{test \eacute * \'e test}
\stoptext
----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
_______________________________________________ ntg-context mailing list ntg-context@ntg.nl http://www.ntg.nl/mailman/listinfo/ntg-context