[vlc-devel] [PATCH 1/4] Treat UTF-16 as UCS-2 on OS/2

KO Myung-Hun komh78 at gmail.com
Tue Feb 14 15:25:27 CET 2012



KO Myung-Hun wrote:
> 
> 
> KO Myung-Hun wrote:
>>
>>
>> Rémi Denis-Courmont wrote:
>>> Le lundi 16 janvier 2012 04:26:33 KO Myung-Hun, vous avez écrit :
>>>> KO Myung-Hun wrote:
>>>>> OS/2 supports UCS-2 only instead of UTF-16.
>>>>> ---
>>>>>
>>>>>  src/extras/libc.c |   17 +++++++++++++++++
>>>>>  1 files changed, 17 insertions(+), 0 deletions(-)
>>>>>
>>>>> diff --git a/src/extras/libc.c b/src/extras/libc.c
>>>>> index 6df1a52..08b19fc 100644
>>>>> --- a/src/extras/libc.c
>>>>> +++ b/src/extras/libc.c
>>>>> @@ -326,6 +326,23 @@ vlc_iconv_t vlc_iconv_open( const char *tocode,
>>>>> const char *fromcode )
>>>>>
>>>>>          return (vlc_iconv_t)(-2);
>>>>>  
>>>>>  #endif
>>>>>  #if defined(HAVE_ICONV)
>>>>>
>>>>> +# if defined(__OS2__) && defined(__INNOTEK_LIBC__)
>>>>> +    char tocode_ucs2[] = "UCS-2LE";
>>>>> +    char fromcode_ucs2[] = "UCS-2LE";
>>>>> +
>>>>> +    /* Workaround for UTF-16 because OS/2 supports UCS-2 only not UTF-16
>>>>> */ +    if( !strncmp( tocode, "UTF-16", 6 ))
>>>>> +    {
>>>>> +        strncpy( tocode_ucs2 + 5, tocode + 6, 2 );
>>>>> +        tocode = tocode_ucs2;
>>>>> +    }
>>>>> +
>>>>> +    if( !strncmp( fromcode, "UTF-16", 6 ))
>>>>> +    {
>>>>> +        strncpy( fromcode_ucs2 + 5, fromcode + 6, 2 );
>>>>> +        fromcode = fromcode_ucs2;
>>>>> +    }
>>>>> +# endif
>>>>>
>>>>>      return iconv_open( tocode, fromcode );
>>>>>  
>>>>>  #else
>>>>>  
>>>>>      return (vlc_iconv_t)(-1);
>>>>
>>>> Ping ?
>>>
>>> I'm not sure if this will work correctly. While technically, they are two 
>>> names for the same specification, UCS-2 and UTF-16 usually mean different 
>>> things. UCS-2 is usually limited to the Basic Multilingual Plane of Unicode, 
>>> while UTF-16 is not.
>>>
>>
>> Yes, you're right.
>>
>> But iconv() of OS/2 kLIBC does not support UTF-16. So I think it would
>> be better to support UCS-2 at least than nothing.
>>
>> I know, UTF-16 is a kind of a superset of UCS-2. So only some codes
>> needing surrogates are converted incorectly in this method.
>>
>> Anyway, this is a limitation of OS/2 Unicode APIs.
>>
> 
> Ping ?

Ping, again ?

-- 
KO Myung-Hun

Using Mozilla SeaMonkey 2.0.14
Under OS/2 Warp 4 for Korean with FixPak #15
On Intel Core2Duo T5500 1.66GHz with 2GB RAM

Korean OS/2 User Community : http://www.ecomstation.co.kr




More information about the vlc-devel mailing list