Skip site navigation (1)Skip section navigation (2)
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>