# [NTG-context] cz support

h h extern pragma at wxs.nl
Tue Jan 25 20:54:33 CET 2005

Vit Zyka wrote:
> 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

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
\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

-----------------------------------------------------------------