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


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

More information about the ntg-context mailing list