Re: java and unicode

From: Mark Davis (
Date: Tue Feb 03 1998 - 19:24:03 EST

Rick McGowan wrote:
> Well... I always get a little rambunctious when people talk about some
> programming language spec supporting or not supporting i18n or bidi or
> whatever. Java is just a programming language (not manna from heaven as some
> people appear to believe). So why should a programing language spec talk
> about anything other than the syntax and semantics of the language itself?
> Why on earth need it specify anything about BIDI? (The libraries are a
> different matter, of course, if you have a set of them that you prefer to
> work with.)
> To put it a little academically... The Unicode BIDI algorithm can be
> implemented in C. For the sake of argument, I'll assume C is a Turing
> complete language. If we assume Java is also Turing complete, then they're
> formally equivalent, and hence Java is a perfectly usable vehicle for
> implementing the Unicode BIDI algorithm. As near as I can tell, you can
> support BIDI with either language, or COBOL or Z80 assembly language for that
> matter. Support for BIDI has nothing to do with programming language specs.
> What's the problem?
> Rick

It is a bit more than that. Java refers to both the programming language and
the standard class libraries. The typical program will make very extensive use
of those libraries.

Moreover, when people refer to BIDI support, they tend to mean the whole ball
of wax: text using the BIDI algorithm, but also Arabic character shaping,
dialogs flowing the right direction, checkboxes on the correct side, etc.

While a BIDI algorithm can be implemented with Java, until it is integrated in
with the normal methods of drawing strings, presenting button labels, putting
the checkbox on the correct side, etc. you would have to reinvent much of the
wheel in order to use it.

Moreover, the BIDI support you can offer in pure Java is limited (in 1.1) by
the access you have to the font machinery; you can't find out which glyphs are
available for which characters. You can do simple Arabic this way, but you
can't do some of the other complex languages like the Indics.

Mark Davis

This archive was generated by hypermail 2.1.2 : Tue Jul 10 2001 - 17:20:39 EDT