###############################################################################
# Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice (including the next
# paragraph) shall be included in all copies or substantial portions of the
# Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
# DEALINGS IN THE SOFTWARE.
#

diff --git a/nls/zh_CN.gb18030/XI18N_OBJS b/nls/zh_CN.gb18030/XI18N_OBJS
index a92b403..0a5a137 100644
--- a/nls/zh_CN.gb18030/XI18N_OBJS
+++ b/nls/zh_CN.gb18030/XI18N_OBJS
@@ -2,6 +2,6 @@
 #
 #	XI18N objects table for zh_CN.gb18030 locale
 #
-XLC	common/xlcUTF8Load	_XlcUtf8Loader	# XLC_open
+XLC	common/xlcGB18030	_XlcGb18030Loader	# XLC_open
 XIM	common/ximcp	_XimOpenIM _XimRegisterIMInstantiateCallback  _XimUnRegisterIMInstantiateCallback # XIM_open	XIM_register XIM_unregister
 XOM	common/xomGeneric 	_XomGenericOpenOM	# XOM_open
diff --git a/nls/zh_CN.gb18030/XLC_LOCALE.pre b/nls/zh_CN.gb18030/XLC_LOCALE.pre
index f9544c7..8950080 100644
--- a/nls/zh_CN.gb18030/XLC_LOCALE.pre
+++ b/nls/zh_CN.gb18030/XLC_LOCALE.pre
@@ -1,70 +1,51 @@
 XCOMM     XFree86 NLS for Chinese encoding GB18030
-XCOMM		Modified from xc/nls/XLC_LOCALE/en_US.UTF-8
-XCOMM    	by James Su <suzhe@turbolinux.com.cn>
 
 XCOMM 
 XCOMM 	XLC_FONTSET category
 XCOMM 
 XLC_FONTSET
 
-on_demand_loading	True
-
-object_name		generic
-
 XCOMM	We leave the legacy encodings in for the moment, because we don't
 XCOMM	have that many ISO10646 fonts yet.
 XCOMM 	fs0 class (7 bit ASCII)
 fs0	{
-	charset	{
-		name	ISO8859-1:GL
-	}
-	font	{
-		primary	ISO8859-1:GL
-		vertical_rotate	all
-	}
+	charset		ISO8859-1:GL
+	font		GBK1988.1989-0:GL;ISO8859-1:GL
 }
-
-XCOMM	fs1 class (ISO8859 families)
+XCOMM 	fs1 class
 fs1	{
-	charset	{
-		name	ISO8859-1:GR
-	}
-	font	{
-		primary	ISO8859-1:GR
+	charset		GB18030.2000-0:GLGR
+	font {
+		primary GB18030.2000-0:GLGR,[\x8140,\xA0FE]
+		supplement sunudczh.GB18030.2000-0:GLGR,[\xA140,\xA1A0]->\x2121,\
+					    [\xA240,\xA2A0]->\x2221,\
+					    [\xA340,\xA3A0]->\x2321,\
+					    [\xA440,\xA4A0]->\x2421,\
+					    [\xA540,\xA5A0]->\x2521,\
+					    [\xA640,\xA6A0]->\x2621,\
+					    [\xA740,\xA7A0]->\x2721,\
+					    [\xAAA1,\xAAFE]->\x2821,\
+					    [\xABA1,\xABFE]->\x2921,\
+					    [\xACA1,\xACFE]->\x2A21,\
+					    [\xADA1,\xADFE]->\x2B21,\
+					    [\xAEA1,\xAEFE]->\x2C21,\
+					    [\xAFA1,\xAFFE]->\x2D21,\
+					    [\xF8A1,\xF8FE]->\x2E21,\
+					    [\xF9A1,\xF9FE]->\x2F21,\
+					    [\xFAA1,\xFAFE]->\x3021,\
+					    [\xFBA1,\xFBFE]->\x3121,\
+					    [\xFCA1,\xFCFE]->\x3221,\
+					    [\xFDA1,\xFDFE]->\x3321,\
+					    [\xFEA1,\xFEFE]->\x3421
 	}
 }
 
-XCOMM	fs2 class (Chinese Han Character)
+XCOMM 	fs2 class
 fs2	{
-	charset	{
-		name	GB2312.1980-0:GL
-	}
-	font	{
-		primary	GB2312.1980-0:GL
-	}
-}
-
-XCOMM	fs3 class (Chinese Han Character GBK)
-fs3	{
-	charset	{
-		name    GBK-0:GLGR
-	}
-	font	{
-		primary GBK-0:GLGR
-		substitute GB13000.1993-1:GLGR
-	}
+	charset		GB18030.2000-1:GLGR
+	font 		GB18030.2000-1:GLGR
 }
 
-XCOMM	fs4 class
-fs4	{
-	charset	{
-		name	ISO10646-1
-	}
-	font	{
-		primary	GB18030-0
-		substitute GBK2K-0
-	}
-}
 END XLC_FONTSET
 
 XCOMM 
@@ -75,32 +56,33 @@ XLC_XLOCALE
 encoding_name		GB18030
 mb_cur_max		4
 state_depend_encoding	False
+wc_encoding_mask	\x00000000
+wc_shift_bits		7
+
 
 XCOMM	cs0 class
 cs0	{
-	side		GL:Default
-	length		1
-	ct_encoding	ISO8859-1:GL
+	side		GLGR:Default
+	length		2
+	wc_encoding	\x00000000
+	ct_encoding	GB18030.2000-0:GLGR
 }
 
 XCOMM	cs1 class
 cs1	{
-	side            GR:Default
-	length          1
-	ct_encoding     ISO8859-1:GR
+	side		GLGR:Default
+	length		2
+	mb_encoding	\x81\x30\x81\x30
+	wc_encoding	\x00005e84
+	ct_encoding	GB18030.2000-1:GLGR
 }
- 
+
 XCOMM	cs2 class
 cs2	{
-	side            GR
-	length          2
-	ct_encoding     GB2312.1980-0:GL; GB2312.1980-0:GR
-}
-
-XCOMM	cs3 class
-cs3	{
-	side		none
-	ct_encoding	ISO10646-1
+	side		GL:Default
+	length		1
+	wc_encoding	\x00000000
+	ct_encoding	ISO8859-1:GL
 }
 
 END XLC_XLOCALE
