From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Filenames in Ada
Date: Wed, 23 Nov 2005 19:59:27 +0100
Date: 2005-11-23T19:59:18+01:00 [thread overview]
Message-ID: <hbczqrvgtqh8$.1ncb7r249gdb2.dlg@40tude.net> (raw)
In-Reply-To: 1653090.31FM62oI6I@linux1.krischik.com
On Wed, 23 Nov 2005 18:36:47 +0100, Martin Krischik wrote:
> However, filenames in music collections contain all sort of funny characters
> (especially the my wife's music - allmost entirely in Cyrillic) - no big
> deal for modern file systems. But a big deal for Ada as it seams. Not only
> are all filenames in Ada.Directories of type String - actually all
> filenames anywhere are just String.
>
> How does one deal with modern (utf-8) filenames in Ada?
An interesting question! Indeed the file name parameter is of String type.
Well, some quick check. The following works fine under Fedora / GNAT:
with Ada.Text_IO; use Ada.Text_IO;
with Strings_Edit.UTF8.Handling; use Strings_Edit.UTF8.Handling;
procedure UTF8_Test is
Name : Wide_String :=
( Wide_Character'Val (1092)
& Wide_Character'Val (1072)
& Wide_Character'Val (1081)
& Wide_Character'Val (1083)
);
File : File_Type;
begin
Create (File, Out_File, To_UTF8 (Name));
Close (File);
end UTF8_Test;
If you have Cyrillic code page installed you will see the file name
correctly spelt in Russian. No wonder, Fedora Linux is natively UTF-8!
Though it cannot work under Windows, because GNAT run-time translates
Create into some CreateFileA Windows API. Moreover Windows is UTF-16. So
there is no chance for Ada.Text_IO.Create. I presume one could directly use
CreateFileW from Windows API with a Wide_String file name, but that's
another story.
> Is there a chance for an add-on package (to late for Ada 2005) or are we
> snookered until Ada 2015.
I don't see any great problem here. I would add UTF-8 variants for all
calls where a file name is mentioned. We could even switch from Latin-1 to
UTF-8. This seems to be independent on Text_IO vs. Wide_Text_IO issue.
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2005-11-23 18:59 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-11-23 17:36 Filenames in Ada Martin Krischik
2005-11-23 18:09 ` Martin Dowie
2005-11-24 19:16 ` Martin Krischik
2005-11-23 18:59 ` Dmitry A. Kazakov [this message]
2005-11-24 19:13 ` Martin Krischik
2005-11-24 20:49 ` Dmitry A. Kazakov
2005-11-24 21:23 ` Larry Kilgallen
2005-11-25 7:12 ` krischik
2005-11-25 12:25 ` [OT] VMS ODS-5 filesystems, was: " Simon Clubley
2005-11-25 18:01 ` Martin Krischik
2005-11-25 18:27 ` Georg Bauhaus
2005-11-25 19:54 ` Martin Krischik
[not found] ` <gjqeo157udsnbfuq8ak4dosf6nep5fomss@4ax.com>
2005-11-27 9:31 ` [OT] VMS DCL prompt, was: " Martin Krischik
2005-11-30 0:16 ` [OT] Administrator accounts (was: VMS DCL prompt) Björn Persson
2005-11-30 4:23 ` Larry Kilgallen
2005-11-23 22:18 ` Filenames in Ada Randy Brukardt
2005-11-24 3:21 ` Silly question about strings (was: Filenames in Ada) Steve
2005-11-24 4:58 ` Larry Kilgallen
2005-11-24 9:15 ` Martin Dowie
2005-11-24 11:30 ` Silly question about strings Brian May
2005-11-24 13:06 ` Silly question about strings (was: Filenames in Ada) Larry Kilgallen
2005-11-29 3:17 ` Randy Brukardt
2005-11-29 5:53 ` tmoran
2005-11-29 21:48 ` Randy Brukardt
2005-11-30 0:15 ` Björn Persson
2005-11-24 19:05 ` Filenames in Ada Martin Krischik
2005-11-25 6:54 ` Martin Dowie
2005-11-26 1:22 ` Björn Persson
2005-11-27 10:21 ` Martin Krischik
2005-11-30 0:13 ` Björn Persson
2005-12-01 6:59 ` Martin Krischik
2005-12-03 1:07 ` Björn Persson
2005-12-14 6:59 ` Dave Thompson
2005-12-15 20:23 ` Martin Krischik
2005-12-17 0:22 ` program privileges (was: Filenames in Ada) Georg Bauhaus
2005-12-17 16:59 ` Filenames in Ada Simon Wright
2005-12-17 23:18 ` Larry Kilgallen
2005-12-18 13:30 ` privileges in Unix and VMS (was: Filenames in Ada) Björn Persson
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox