Date: Thu, 06 Nov 2003 19:14:06 +0800 From: David Xu <davidxu@freebsd.org> To: Tim Robbins <tjr@freebsd.org> Cc: cvs-src@freebsd.org Subject: Re: cvs commit: src/usr.bin/mklocale yacc.y src/lib/libc/locale Makefile.inc gb2312.c setrunelocale.c Message-ID: <3FAA2CFE.3040502@freebsd.org> In-Reply-To: <20031106101939.GA5735@wombat.robbins.dropbear.id.au> References: <200311052252.hA5Mqpkd052553@repoman.freebsd.org> <20031106094214.GA5455@wombat.robbins.dropbear.id.au> <3FAA1B7D.3070307@viatech.com.cn> <20031106101939.GA5735@wombat.robbins.dropbear.id.au>
next in thread | previous in thread | raw e-mail | index | archive | help
Tim Robbins wrote: >On Thu, Nov 06, 2003 at 05:59:25PM +0800, David Xu wrote: > > > >>Tim Robbins wrote: >> >> >> >>>On Wed, Nov 05, 2003 at 02:52:51PM -0800, David Xu wrote: >>> >>> >>> >>> >>> >>>>davidxu 2003/11/05 14:52:51 PST >>>> >>>>FreeBSD src repository >>>> >>>>Modified files: >>>> usr.bin/mklocale yacc.y >>>> lib/libc/locale Makefile.inc setrunelocale.c >>>>Added files: >>>> lib/libc/locale gb2312.c >>>>Log: >>>>Add gb2312 encoding. >>>> >>>> >>>> >>>> >>>This looks like EUC. Is there any chance you could use the EUC encoding >>>code instead of adding another one? Also, out of curiosity, how is it >>>different from zh_CN.eucCN? >>> >>> >>>Tim >>> >>> >>> >>> >>> >>I hear euc does not check error sequence which is not encoded by GB2312 >>, right ? >>Despite that, most program ported from Linux only support GB2312 or GBK >>, but not >>euc, I always has trouble with euc when running some Linux programs. >> >> > >Right. Apple solved this in Darwin by calling isrune() on the wide character >before returning it from mbrtowc(). I'm considering doing the same thing >in FreeBSD, but I'm not sure whether it would break any applications >that relied on the old behaviour. If I did that, would it be possible >to use the EUC encoding code? > > > If there is encoding same as GB2312, I won't commit GB2312, but zh_CN.GB2312 is still needed, it can be a symbol link to euc directory, libc supports loading zh_CN.GB2312, this becauses most programs are hard coded to use zh_CN.GB2312 or zh_CN.GBK, they simply don't understand euc, when they can not find zh_CN.GB2312 or zh_CN.GBK in enviroment variables, they simply reset to "C" locale, this causes lots of trouble among Chinese FreeBSD users, it is really a shame that so many years FreeBSD did not have GB2312 locale name. :-( Go ahead if you can fix this problem, but please take a look at my in share/mklocal/zh_CN.GB2312.src, and possible merge some new stuffs back to euc file. >Tim > > >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3FAA2CFE.3040502>