Boost logo

Boost :

Subject: Re: [boost] Fw: [locale] Formal review of Boost.Locale library
From: Ryou Ezoe (boostcpp_at_[hidden])
Date: 2011-04-15 12:55:27


program_options handle wide character really stupid way.
It accept wchar_t. However, it convert it char for internal storing.
The conversion is done by assuming each wchar_t object's integral
value represents a ASCII code point.
For output, it convert back char to wchar_t in same way.

What I want for program_options is, accept wchar_t string, store it as
is, then return it as is.
Because program_options internally stores string in char without
properly handling character encoding,
It gives me completely broken result.

On Sat, Apr 16, 2011 at 1:36 AM, Joshua Boyce
<raptorfactor_at_[hidden]> wrote:
> Sorry to go on a tangent here, but what exactly is the objection to
> program_options?
>
> On Sat, Apr 16, 2011 at 1:05 AM, Ryou Ezoe <boostcpp_at_[hidden]> wrote:
>
>> Why ASCII?
>> ASCII is not portable.
>> Only portable characters are basic source character set.
>> You can't use $, @ and ` in portable code.
>> If you drop support of pre C++0x compiler, you can use u8, u and U
>> encoding prefix.
>> But still, char can be UTF-8 or any other encoding.
>>
>> If this library accept char const * and std::string, then it will
>> receive null terminated binary string that can be any encoding.
>>
>> Your idea of "Use ASCII in order to localize your software" doesn't work.
>> This library will be ignored just like program_options.
>>
>> --
>> Ryou Ezoe
>> _______________________________________________
>> Unsubscribe & other changes:
>> http://lists.boost.org/mailman/listinfo.cgi/boost
>>
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
>

-- 
Ryou Ezoe

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk