# [NTG-context] cz support

Vit Zyka vit.zyka at seznam.cz
Wed Jan 26 11:17:51 CET 2005

h h extern wrote:
> 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.

Hallo Hans,

thank you for your positive responce. Since I am still a bit confused in
the ConTeXt low and high level encoding macros (but a bit less after
solving the last week UTF-8 -> IL2 problem - despite of the reason was
in my old ConTeXt distr.) I need a bit more details about how to contribute.

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

OK. So, each sorting rules will be represented by cmp($a,$b) function?
And $a and$b should be glyps, shouldn't they?

> steps:
> - write named glyphs to the output:
> - no longer use direct code in definecommand and defineaccent, i.e.
> - define the fallbacks as 'definecharacter ones'

Sorry, output of what? Where are the commands? ???

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

Great.

> [it's worth considering to drop the non etex code]

All right. etex can be everywhere now.

> 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

I totaly do not known what the code bellow illustrates.

So, what to do?
Vit Zyka

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