RE: Right-to-left whitespace?

From: Addison Phillips [wM] (aphillips@webmethods.com)
Date: Mon Oct 08 2001 - 16:51:07 EDT


Hi Dennis,

Your problem is understandable, but isn't due to the properties of the
character. U+0020 ("normal space") has the bidirectional category of
whitespace. If your edit control worked properly, the insertion of a
whitespace character would not, in and of itself, change the directionality
of the text in the document you are editing. In other words, it's not your
choice of characters, it's your edit control or your operating environment
(if you're using a standard control from the OS).

See UAX#9 (Unicode Technical Report #9: Unicode Bidirectional Algorithm) for
more information here:
http://www.unicode.org/unicode/reports/tr9/#Bidirectional_Character_Types

What this essentially means is that you get the wonderful task of either
finding a replacement control that is properly internationalized or writing
one yourself (or activating the necessary internal features of your existing
control, which may not be well documented, if documented they be). Since I'm
not much of a Delphi developer, I can't help you with specifics. Your
development environment might not even support bidi applications (for all I
know). I know this has been a shortcoming of other development environments
and languages over the years: good, bad or indifferent bidi support is
usually attempted well after "multibyte" support or Unicode support because
of the relative perceived difficulty in crafting the code.

Hopefully someone else on the list can provide Delphi specific information.

Best Regards,

Addison

Addison P. Phillips
Globalization Architect / Manager, Globalization Engineering
webMethods, Inc. 432 Lakeside Drive, Sunnyvale, CA
+1 408.962.5487 (phone) +1 408.210.3569 (mobile)
-------------------------------------------------
Internationalization is an architecture. It is not a feature.

-----Original Message-----
From: unicode-bounce@unicode.org [mailto:unicode-bounce@unicode.org]On
Behalf Of Dennis Bemmann
Sent: Monday, October 08, 2001 11:11 AM
To: unicode@unicode.org
Subject: Right-to-left whitespace?

Hello everybody,

I'm desperately looking for a right-to-left whitespace. I searched the
web a lot, but I couldn't find an answer, so I hope that somebody here
can help.

I am developing a Delphi application for writing Arabic texts under
non-Arabic windows. Inserting the Arabic characters in the edit
component works fine. However, there is no whitespace in the Arabic
character set, so I'm using the regular one... and this creates a big
problem:

since this space is left-to-right (unlike Arabic), the text flow is
interrupted at every point where I insert it, and words get into the
wrong order. For example, if I enter the characters A,B,C,SPACE,D,E,F
(assume they were Arabic), I expect the following on the screen: "FED
CBA". Instead I get this: "CBA FED". I understand why it comes to this
result: obviously the editor component thinks that the Arabic paragraph
ends here and appends the latin text "after" (right from) it. But this
is of course not what I want, and I suppose there must be a way without
reprogramming the whole editor.

So... I need a reverse-whitespace, or any other solution.
Thanks a lot for your help!

Dennis



This archive was generated by hypermail 2.1.2 : Mon Oct 08 2001 - 15:44:03 EDT