mars-nwe/doc/README.NLS
2011-11-13 00:38:58 +01:00

32 lines
1.7 KiB
Plaintext

Now MASR_NWE contains ALPHA code for support NLS.
This support is not based on standard libc definitions for some reasons
(the most important is that libc cannot handle two encodings). This complex
scheme was designed especially for support of ex-USSR (where for historical
reasons in DOS world cyrillic letters has other codes then in Linux world ;)
Really now this code was tested only on one comp (sch57.mccme.ru ;) with
following combination of codepages: external (DOS) encoding -- cp866,
internal (Linux) encoding -- KOI8-R. With this option enabled all NAMES of
files (not contents yet) will be converted before storing on disk from external
encoding (cp866 in our case) to internal encoding and converted backword when
directory will be scanned... Also filenames will be converted to lowercase if
you set the 'k' options and converted to uppercase if you not set both 'k'
options and 'i' options in section 1 (volumes).
For support all this transformations you must create four tables (in one file,
one after one): first -- for converting from extenal encoding to internal,
second -- reversed table, third -- for doing UPCASE in external encoding and
tha last -- for doing lowercase in external encoding. There are now three good
start point:
1. nw.ini.cnv.min -- only ASCII table supported (good starting point)
2. nw.ini.cnv.437 -- for default linux and charset
3. nw.ini.cnv.cyr -- external encoding -- cp866, internal -- koi8-r
You can edit this files with any editor, which can handle BINARY file (I know
that joe and mcedit do so).
P.S. I think about converting CONTENTS of files automatically, but I think that
this MUST be option in section 1 for such conversion...
khim@sch57.mccme.ru