Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
Re: Unicode, update
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2010-10-19 (15:19)
From: Michael Ekstrand <michael@e...>
Subject: Re: [Caml-list] Re: Unicode, update
On 10/19/2010 09:33 AM, Ashish Agarwal wrote:
> Have you considered adding these to the Batteries project? It would be
> good to get general purpose functionality added directly there. Also
> that way you don't have to feel you've done a lot of things; a single
> useful function could be added.

I think there is promise in adding such functionality to Batteries'
BatFile module, particularly if we adopt a design similar to that of
Glib's filename support:

* An abstract (or private) type 'filename': on Win32, this is a UTF-8 or
UCS-2 Unicode string; on Unix, it is a string in the locale encoding
(which is the best you can do, unfortunately).
* Functions to convert to UTF-8 and the current locale for printing and
* Idempotent conversion to/from UTF-8 for portable storage.  Glib
implements this with file:/// URLs, so that the non-ASCII characters can
be URL-encoded and thus preserved.
* Conversion from UTF-8 to handle user input, with the caveat that
converting to UTF-8 and back will not necessarily result in the same

There might be types and definitions in lablgtk2 that we could try to be
compatible with (particularly so you can use the results of a lablgtk2
file chooser as a filename to open).

OTOH, Qt seems to get along using Unicode strings for filenames, so the
encoding issues might not be that big a deal in practice.  The easy path
of just adding UTF-8 file open functions to BatFile (taking BatUTF8.t)
might be OK.

- Michael

> On Mon, Oct 18, 2010 at 9:59 PM, Paul Steckler <
> <>> wrote:
>     Sylvain Le Gall < <>>
>     wrote:
>     > Would it be possible to publish them as an external library?
>     What I did isn't really complete enough to constitute a library, I'd
>     say.
>     Here's what I did:
>     >From Pervasives:
>      open_out_win32
>      open_out_bin_win32
>      open_out_gen_win32
>      open_in_win32
>      open_in_bin_win32
>      open_in_gen_win32
>     >From Sys:
>      file_exists_win32
>      getcwd_win32
>      chdir_win32
>      missing: is_directory_win32, readdir_win32
>     I did not code up Win32/UTF8 equivalents of anything in the Unix
>     module.  A complete
>     library of Win32/UTF8 file functions would include a number of items
>     from that module.
>     If anyone's interested in finishing off what I've done, I could send
>     along
>     what I have.
>     -- Paul
>     _______________________________________________
>     Caml-list mailing list. Subscription management:
>     Archives:
>     Beginner's list:
>     Bug reports:
> _______________________________________________
> Caml-list mailing list. Subscription management:
> Archives:
> Beginner's list:
> Bug reports: