[Mono-dev] Replacing/Removing I18N

Kornél Pál kornelpal at gmail.com
Thu Oct 12 09:57:31 EDT 2006


> You failed to read my mail where I explain that my icall solution allows
> adding/removing support for encodings by simply adding/removing data
> files in $prefix/lib/mono/encodings/. The option to include the data
> inside the binary must be always there to support mkbundle or some 
> embedded
> systems.

Currently I have little time for Mono but I have some ideas about getting 
rid of I18N assemblies:
- code should be moved to corlib
- simple SBCS and MBCS encodings should use a single common (one for SBCS 
and one for MBCS) encoding class that reads character mapping table from 
data files. (As far as I know MS.NET does this as well. But I prefer this 
solution because this is reliable. Less binary code, more maintainable 
source code.)
- complex encodings (as far as I know only CKJ, not counting the 
already-internal classes) require their own encoding classes but they should 
be moved to corlib as well
- there should be configure parameters to exclude specif set of encodings 
(or optionally single encodings) from the resulting corlib. This would 
eliminate unused encoding classes from corlib
- the data file containing encoding data shoud be generated at compile time 
and should only contain code pages that were defined using configure
- MS.NET has a database of encoding attributes rather than overriding 
informational properties that makes users possible to specify only code page 
when deriving classes from Encoding rather than having to override the 
properties as well. So we should have such a database as well that could be 
generated based on configuration settings as well.

What about these ideas?

Kornél 




More information about the Mono-devel-list mailing list