Hello, Werner Lemberg wrote: > > Thank you, I now think that my first approach with changing uccode and lccode > > values foe russian letters in LCY encoding is not as good as I thought of it > > some time ago... I changed Babel LCY support to the `canonical' LaTeX solutions, > > and it works well (although slower than the simple approach; but this approach > > is more general and more stable in a multilingual environment). > > But what about sfcodes (and mathcodes) for russian letters? > > May one safely change 'em (and restore) when doing language switching? > > I think so. The only reason to be careful with lccodes is hyphenation. > AFAIK the effects of sfcodes will be applied immediately. Please correct > me if I'm wrong. I noticed two problems with using the `canonical' approach (with \DeclareInputText) in the LCY encoding: first, when I do not redefine \lccode and \uccode values, and use \inputenc, then all seems Ok, because russian letters become active characters after the line \usepackage[...]{inputenc}. But if I do not use inputenc, then russian letters are not active, -- and I get incorrect results in \MakeUppercase (as well as \uppercase). So, the user is forced to use \inputenc in this approach. [probably, this could be solved by including \inputenc for russian letters via \AtBeginDocument by examining the catcode of russian letter]. Second, I ran a LaTeX file which contained \setbox0=\hbox{...} % Here ... mean all (33) *uppercase* russian letters \showbox0 \setbox0=\hbox{\MakeUppercase{...}} % Here ... mean all (33) *lowercase* russian letters \showbox0 I expected to get the same results for these two \showbox commands. However, all kernings between letters disappeared in the second box. :-( I've got in a transcript file: > \box0= \hbox(7.5+1.94444)x261.195 .\LCY/cmr/m/n/10 ^^80 .\LCY/cmr/m/n/10 ^^81 .\LCY/cmr/m/n/10 ^^82 .\LCY/cmr/m/n/10 ^^83 .\kern-0.83334 .\LCY/cmr/m/n/10 ^^84 .\LCY/cmr/m/n/10 ^^85 .\LCY/cmr/m/n/10 ^^f0 .\LCY/cmr/m/n/10 ^^86 .\LCY/cmr/m/n/10 ^^87 .\LCY/cmr/m/n/10 ^^88 .\LCY/cmr/m/n/10 ^^89 .\LCY/cmr/m/n/10 ^^8a .\LCY/cmr/m/n/10 ^^8b .\LCY/cmr/m/n/10 ^^8c .\LCY/cmr/m/n/10 ^^8d .\LCY/cmr/m/n/10 ^^8e .\LCY/cmr/m/n/10 ^^8f .\LCY/cmr/m/n/10 ^^90 .\LCY/cmr/m/n/10 ^^91 .\kern-0.27779 .\LCY/cmr/m/n/10 ^^92 .\LCY/cmr/m/n/10 ^^93 .\LCY/cmr/m/n/10 ^^94 .\kern-0.27779 .\LCY/cmr/m/n/10 ^^95 .\LCY/cmr/m/n/10 ^^96 .\LCY/cmr/m/n/10 ^^97 .\LCY/cmr/m/n/10 ^^98 .\LCY/cmr/m/n/10 ^^99 .\LCY/cmr/m/n/10 ^^9a .\LCY/cmr/m/n/10 ^^9b .\LCY/cmr/m/n/10 ^^9c .\LCY/cmr/m/n/10 ^^9d .\LCY/cmr/m/n/10 ^^9e .\LCY/cmr/m/n/10 ^^9f ! OK. l.15 \showbox0 ? > \box0= \hbox(7.5+1.94444)x262.58392 .\LCY/cmr/m/n/10 ^^80 .\LCY/cmr/m/n/10 ^^81 .\LCY/cmr/m/n/10 ^^82 .\LCY/cmr/m/n/10 ^^83 .\LCY/cmr/m/n/10 ^^84 .\LCY/cmr/m/n/10 ^^85 .\LCY/cmr/m/n/10 ^^f0 .\LCY/cmr/m/n/10 ^^86 .\LCY/cmr/m/n/10 ^^87 .\LCY/cmr/m/n/10 ^^88 .\LCY/cmr/m/n/10 ^^89 .\LCY/cmr/m/n/10 ^^8a .\LCY/cmr/m/n/10 ^^8b .\LCY/cmr/m/n/10 ^^8c .\LCY/cmr/m/n/10 ^^8d .\LCY/cmr/m/n/10 ^^8e .\LCY/cmr/m/n/10 ^^8f .\LCY/cmr/m/n/10 ^^90 .\LCY/cmr/m/n/10 ^^91 .\LCY/cmr/m/n/10 ^^92 .\LCY/cmr/m/n/10 ^^93 .\LCY/cmr/m/n/10 ^^94 .\LCY/cmr/m/n/10 ^^95 .\LCY/cmr/m/n/10 ^^96 .\LCY/cmr/m/n/10 ^^97 .\LCY/cmr/m/n/10 ^^98 .\LCY/cmr/m/n/10 ^^99 .\LCY/cmr/m/n/10 ^^9a .\LCY/cmr/m/n/10 ^^9b .\LCY/cmr/m/n/10 ^^9c .\LCY/cmr/m/n/10 ^^9d .\LCY/cmr/m/n/10 ^^9e .\LCY/cmr/m/n/10 ^^9f ! OK. l.27 \showbox0 ? x I've got also some problem with sans serif math alphabet for LCY encoding (in this approach), but I'll try to look at it more. -- With best regards, Vladimir.