[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