Print

Print


Hello,

This is my first post to this mailing list, so I'm sorry.

LaTeX has some `built in' definitions of \lccode, \uccode, \sfcode
values for symbols with codes above 128 (which are used in Russian
language). But these settings do not conform to the common Russian
encodings (and it is evident that these `frozen' values can not
be in agreement with all possible languages ;-) ).

Next, it is written in cfgguide.tex, that the values of above mentioned
registers should not be changed e.g. in a hyphenation files
of a particular languages.

So, I think, that the correct way to solve this problem is to
set the values of \lccode, \uccode, \sfcode and \mathcode,
in a macros which switches to a language (\selectlanguage
in Babel).

Are there some ready means to preserve the `language environment'
before switching to another language and to restore it after
changing back (or to some third language)?
Is it a normal practice to `tune' \lccode, \uccode, \sfcode
and \mathcode values in a language-switching mechanism?

Here I see another problem. Consider some multilingual
phrase and let's assume that we need to do
\uppercase{} or \lowercase{} of this phrase. If the languages contained
in this phrase have a conflicting \lccode and \uccode
values, than the result of \uppercase{} will be incorrect.
However, some time ago I solved this problem by redefining
TeX's builtins \uppercase and \lowercase so that
these new macros split the multilingual phrase into
one-language pieces and do \uppercase of these pieces,
and then merge them again.

May be, all this was already solved?

--
With best regards,
                   Vladimir.