2006-01-30  Atsushi Enomoto  <atsushi@ximian.com>

	* DbcsEncoding.cs ISO2022JP.cs GB18030Encoding.cs CP51932.cs
	  CP949.cs : Fixed windows code page and some minor properties.

2006-01-23  Atsushi Enomoto  <atsushi@ximian.com>

	* DbcsConvert.cs ISO2022JP.cs CP950.cs CP932.cs: author lines.
	  Monoized CP932.cs which is too deeply indented to read (and
	  anyways no one other than myself is taking care of it).

2006-01-23  Atsushi Enomoto  <atsushi@ximian.com>

	* KSConvert.cs Big5Convert.cs Gb2312Convert.cs: removed. They could
	  just be DbcsConvert instances.
	* I18N.CJK.dll.sources : removed above.
	* DbcsConvert.cs : added static fields: Big5 and KS.
	* CP949.cs CP950.cs : use DbcsConvert class directly.

2006-01-23  Atsushi Enomoto  <atsushi@ximian.com>

	* CP936.cs, CP949.cs, CP950.cs :
	  Added GetByteCountImpl() (there weren't GetByteCount() override
	  in those classes, so they also save extra byte[] allocation).
	* CP932.cs, CP51932.cs, GB18030Encoding.cs, ISO2022JP.cs :
	  GetByteCount() -> GetByteCountImpl().
	  Fixed ISO2022JPEncoder/Decoder to hold different "shifted_in" flags
	  for GetByteCountImpl() and GetBytesImpl().

2006-01-23  Atsushi Enomoto  <atsushi@ximian.com>

	* ISO2022JP.cs GB18030Encoding.cs CP936.cs CP51932.cs:
	  fix warnings.

2006-01-23  Atsushi Enomoto  <atsushi@ximian.com>

	* CP950.cs :
	  This was the last one encoding which needed incomplete byte
	  handling.
	* DbcsEncoding.cs, GB18030Encoding.cs, CP950.cs, CP932.cs,
	  CP936.cs, CP51932.cs, CP949.cs (all):
	  Made GetCharCount() and GetChars() in DbcsDecoder as different
	  internal CheckRange() methods (it is bad design to have those
	  methods as base methods). Use CheckRange() everywhere.

2006-01-23  Atsushi Enomoto  <atsushi@ximian.com>

	* CP949.cs :
	  handle incomplete byte (thus conversion implementation went into
	  CP949Decoder like other DBCS encodings).

2006-01-23  Atsushi Enomoto  <atsushi@ximian.com>

	* CP936.cs :
	  handle incomplete byte (thus conversion implementation went into
	  CP936Decoder like other DBCS encodings).

2006-01-20  Atsushi Enomoto  <atsushi@ximian.com>

	* CP51932.cs :
	  Encoding.GetChars() does not handle incomplete bytes but
	  Decoder.GetChars() should do it (which was has vanished
	  when I fixed CP51932 4 days ago). Now it uses Decoder which
	  preserves incomplete byte like CP932 and CP54936.

2006-01-20  Atsushi Enomoto  <atsushi@ximian.com>

	* CP932.cs :
	  Implemented Decoder to handle incomplete bytes correctly. Hold
	  different incomplete bytes for GetChars() and GetCharCount().
	  "reflesh" parameter in 2.0 is now handled correctly.
	  Now GetChars()/GetCharCount() in Encoding are implemented
	  correctly to use Decoder.

2006-01-20  Atsushi Enomoto  <atsushi@ximian.com>

	Fixed bug #77307.
	* GB18030Encoding.cs : GetEncoder() and GetDecoder() should be
	  overriden. in the Encoder, refresh parameter should handle
	  incomplete field at its end of processing. Also it should
	  differentiate GetByteCount() and GetChars() for its internal
	  state.
	* GB18030Source.cs : handle end index of GB18030Map as inclusive,
	  not exclusive. Reject out-of-range GBX conversion.

2006-01-20  Atsushi Enomoto  <atsushi@ximian.com>

	* GB18030Encoding.cs : GetChars() ditto. Fixed bug #77306.

2006-01-20  Atsushi Enomoto  <atsushi@ximian.com>

	* CP949.cs : GetChars() exactly the same fix as CP950.
	  Fixed bug #77298.

2006-01-20  Atsushi Enomoto  <atsushi@ximian.com>

	* CP950.cs : GetChars() should filter out invalid index to internal
	  conversion array. Fixed bug #77274.

2006-01-17  Atsushi Enomoto  <atsushi@ximian.com>

	* DbcsEncoding.cs CP950.cs CP932.cs CP936.cs CP51932.cs CP949.cs :
	  Made all as really serializable. Removed references to DbcsConvert
	  and added GetConvert() methods instead.

2006-01-17  Atsushi Enomoto  <atsushi@ximian.com>

	* DbcsEncoding.cs ISO2022JP.cs GB18030Encoding.cs CP950.cs
	  CP932.cs CP936.cs CP51932.cs CP949.cs (All) :
	  Marked as [Serializable].

2006-01-16  Atsushi Enomoto  <atsushi@ximian.com>

	* CP936.cs :
	  Implement GetCharCount(); it is too costy to use GetChars()
	  in GetCharCount(). Removed extra code in GetChars(). Check table
	  index range before accessing it by index.

2006-01-16  Atsushi Enomoto  <atsushi@ximian.com>

	* CP51932.cs :
	  In GetChars(), insufficient byte is not preserved.
	  Under 1.x profile it is just discarded.
	  Under 2.0 profile it is converted to \u30FB.
	  Fixed GetCharCount() to match GetChars().

2006-01-13  Atsushi Enomoto  <atsushi@ximian.com>

	* CP932.cs : GetByteCount() returned insufficient count at PrivateUse
	  area. Fixed bug #77724.

	  (Additionally, reduced extraneous indentation in switch-cases).

2006-01-12  Atsushi Enomoto  <atsushi@ximian.com>

	* CP51932.cs : oops, another extra debugging code was remaining.
	  Fixed bug #77223.

2005-12-06  Atsushi Enomoto  <atsushi@ximian.com>

	Now I can rename new CP936_2.cs file to CP936.cs without svn diff mess.

2005-12-06  Atsushi Enomoto  <atsushi@ximian.com>

	* DbcsConvert.cs : added static Gb2312 field for common use.
	* dbcs-table-generator.cs :
	  Added shortcut options for BIG5 and GB2312. Compressed data a bit.
	* CP936.cs, CP936_2.cs : GB2312.TXT does not exist anymore on
	  unicode.org and it does not work like MS Codepage 936, so added
	  fresh implementation which is almost the same as CP950.cs.
	  CP936.cs is therefore removed.
	* GB18030Encoding.cs :
	  switched implementation from Gb2312Convert to (base) DbcsConvert
	  as well as CP936.
	* gb2312-build.sh : added note that we don't use it anymore.
	* gb2312.table :
	  with it CP936 can handles CP936-only codepoints as well.
	* big5.table : compressed a bit.
	* I18N.CJK.dll.sources : in the meantime, use CP936_2.cs

2005-12-06  Atsushi Enomoto  <atsushi@ximian.com>

	* renamed from big5-table-generator.cs to dbcs-table-generator.cs.

2005-12-06  Atsushi Enomoto  <atsushi@ximian.com>

	* big5-table-generator.cs : made it to work for GB2312 table
	  generation purpose (different format than gb2312.table.)

2005-12-06  Atsushi Enomoto  <atsushi@ximian.com>

	* CP936.cs,
	  GB18030Encoding.cs,
	  GB18030Source.cs : conversion from Encoding to MonoEncoding and
	  added fallback support in GEtBytes(Impl), as well as others.

2005-12-05  Atsushi Enomoto  <atsushi@ximian.com>

	* big5-table-generator.cs : new file to generate "big5.table".
	* CP950.cs : added fallback support. switched to GetBytesImpl().
	* DbcsEncoding.cs : switched to MonoEncoding (should have been
	  committed when CP949.cs was committed).
	* big5.table : updated to match MS CP950.

2005-12-05  Atsushi Enomoto  <atsushi@ximian.com>

	* CP949.cs : migration from GetBytes (of Encoding) to GetBytesImpl
	  (of MonoEncoding). Added fallback support.

2005-12-05  Atsushi Enomoto  <atsushi@ximian.com>

	* I18N.CJK_test.dll.sources : new file for NUnit test.
	* Makefile : removed NO_TEST.

2005-12-03  Atsushi Enomoto  <atsushi@ximian.com>

	* CP51932.cs :
	  GetCharCount() was returning excessive size. Now it is also based
	  on MonoEncoding, with fallback support.

2005-12-03  Atsushi Enomoto  <atsushi@ximian.com>

	* CP932.cs : oops, wrong range.

2005-12-03  Atsushi Enomoto  <atsushi@ximian.com>

	* CP932.cs :
	  in GetBytes() \uFF01-\uFF60 are incorrectly mapped to ASCII
	  characters (they should be mapped to full-width characters).
	  Base type is now MonoEncoding, without adding fallback support.

2005-12-02  Atsushi Enomoto  <atsushi@ximian.com>

	* ISO2022JP.cs :
	  Base type is now MonoEncoding (fallbacks are not handled yet).
	  Largely rewritten to handle SI/SO flag (CP50222)
	  and mode transition (all) correctly.

2005-11-21  Atsushi Enomoto  <atsushi@ximian.com>

	* CP949.cs : UHC level 2 base number is wrong.
	  Fixed bug #76760 Patch by Hye-Shik Chang.

2005-11-16  Atsushi Enomoto  <atsushi@ximian.com>

	* GB18030Encoding.cs : check GB2312 first, and then check GB18030.
	  Fixed GB18030 part of bug #76722.

2005-11-16  Atsushi Enomoto  <atsushi@ximian.com>

	* GB2312Convert.cs , CP936.cs, GB18030Encoding.cs : don't handle
	  single byte characters in UcsToGbk. Fixed GB2312 part of #76722.

2005-11-01  Atsushi Enomoto  <atsushi@ximian.com>

	* CP949.cs : Now it contains both CP949 (UHC) and CP51949 (EUC) for
	  Korean encoding. This should fix bug #76588.

2005-09-25  Atsushi Enomoto  <atsushi@ximian.com>

	* I18N.CJK.dll.sources : needs fix as well.

2005-09-25  Atsushi Enomoto  <atsushi@ximian.com>

	* CP50221.cs,
	  ISO2022JP.cs :
	  So, now "CP50221.cs" is improper, since it contains all 50220-50222.

2005-09-25  Atsushi Enomoto  <atsushi@ximian.com>

	* CP50221.cs : actually 50220 and 50222 are also iso-2022-jp encodings.
	  Fixed bug #76139. This file is likely to be renamed.

2005-09-18  Atsushi Enomoto  <atsushi@ximian.com>

	* CP50221.cs, GB18030Encoding.cs : because of silly design
	  Common/Manager expects fixed class names CPxxxxx. Fixed bug #76139.

2005-08-22  Raja R Harinath  <rharinath@novell.com>

	* Makefile (EXTRA_DISTFILES): Add README.gb18030 and gb18030.table.

2005-08-19  Atsushi Enomoto  <atsushi@ximian.com>

	why didn't we have it? ;-)

	* README.gb18030,
	  gb18030.table,
	  GB18030Encoding.cs,
	  GB18030Source.cs,
	  Makefile,
	  I18N.CJK.dll.sources : added support for GB18030 encoding.
	* Gb2312Convert.cs : added utility conversion methods.
