Re: Unicode files ?

Lorenzo Bettini <[email protected]> Tue, 30 Mar 2010 12:12:59 +0200
Newsgroups gmane.comp.gnu.source-highlight.general
Message-ID <[email protected]>
Hi

hopefully in C++ it should be easier to handle unicode in a more 
transparent way...

surely, I would say, that source-highlight should support unicode as a 
configuration/compilation flag: thus you should *build* source-highlight 
with unicode support.

cheers
	Lorenzo

On 03/30/2010 11:59 AM, Lionel Fumery wrote:
> Hi Lorenzo, Martin (and others maybe),
>
> Thanks for you answers. Again, as I discovered Source-highlight very
> recently, I don't know if Unicode is an important feature for you or
> not... I read sometimes source code from Japanese or Chinese developers,
> and am French myself, so that's not unusual to store code or text files
> in Unicode (I mostly work with Visual Studio).
>
> Unicode files (UTF-8 for example, which is widely used on the Internet)
> can store characters on 1 to 6 bytes. So of course it's very difficult
> to use (length() and so are difficult)
>
> *1) First you have to know if the file is Unicode or not.* They should
> have a header, described here:
> http://en.wikipedia.org/wiki/Byte_order_mark
>
> (Note that "bad" unicode text files are quite common (unicode text files
> without any header), but no need to address this here.)
>
> *2) The second thing is to convert the whole file to a "fixed bytes per
> character" format*, so you can work with it. A wide char format (16 bits
> wchar) is a good choice most of the time.
>
> Here is a FAQ explaining how to read Unicode files :
> http://www.cl.cam.ac.uk/~mgk25/unicode.html
> <http://www.cl.cam.ac.uk/%7Emgk25/unicode.html>.
>
> I can provide some C code source snippets to match this.
>
> *3) And then you can work with wchar functions*.
>
> Don't know too much on the Linux side, but it's simply a matter of
> wcslen, wcscpy, wcscat instead of length(), strcpy(), strcat() with
> Visual Studio.
>
>
> I'm going to take a look on the Source-Highlight code to see if this
> could be easy to add...
>
>
> Best,
> Lionel
>
>
>
>
> Lorenzo Bettini wrote:
>> Lionel Fumery wrote:
>>> Hi,
>>>
>>> I'm new with Source-Highlight, just began a week ago in fact. It
>>> works fine, but I have some understanding issues about Unicode files.
>>>
>>> For example, create a simple text file, saved as unicode, with only
>>> the word "test". If you edit this text file with an hexadecimal
>>> editor, the content will be FF FE 74 00 65 00 73 00 74 00. In this
>>> sequence, FF FE is the unicode marker.
>>>
>>> When highlighting this file :
>>> source-highlight test.txt --line-number
>>>
>>> the resulting HTML file is incorrect : <pre><tt><font
>>> color="#000000">1:</font> ??t?e?s?t?</tt></pre>
>>>
>>> As you see, the Unicode behavior is just missing.
>>>
>>>
>>> Could you please explain me if this is supported by Source-Highlight,
>>> and how can I enable it ?
>>>
>>>
>>> Thank you a lot for your help!
>>>
>>
>> Hi Lionel
>>
>> actually I never dealt with unicode character thus source-highlight
>> probably does not support it...
>>
>> has anybody got any idea on how adding such support to a C++ program?
>> Is it just a matter of using wchar for strings?
>>
>> thanks
>> Lorenzo
>>
>
>
> _______________________________________________
> Help-source-highlight mailing list
> [email protected]
> http://lists.gnu.org/mailman/listinfo/help-source-highlight


-- 
Lorenzo Bettini, PhD in Computer Science, DI, Univ. Torino
ICQ# lbetto, 16080134     (GNU/Linux User # 158233)
HOME: http://www.lorenzobettini.it MUSIC: http://www.purplesucker.com
http://www.myspace.com/supertrouperabba
BLOGS: http://tronprog.blogspot.com  http://longlivemusic.blogspot.com
http://www.gnu.org/software/src-highlite
http://www.gnu.org/software/gengetopt
http://www.gnu.org/software/gengen http://doublecpp.sourceforge.net