Re: Macintosh OS8.6, OS9

From: Peter_Constable@sil.org
Date: Tue Feb 06 2001 - 08:44:55 EST


Mac OS8.6 and later do support Unicode. The question is whether apps that
run on that OS also support Unicode -- and the particular APIs that the OS
provides for supporting Unicode.

One could argue that Win 3.1 supported Unicode, but only a very limited
subset on any given installation. E.g., when I was running US Win 3.1, it
could support the Basic Latin and Latin-1 Supplement ranges, along with
some 24-odd characters from other ranges. Now, of course, that wouldn't be
the way many of us would think about Win 3.1. Rather, we'd say that it
supported a particular legacy codepage.

But let's consider Win 95. If you used Word 95 on Win 95, you could
potentially work with a variety of scripts (selection depended on the
version of the OS, due to limitations in support for complex rendering, for
multi-byte characters or other such limitations.) So, for example, on a US
Win 95 system you could potentially work with various Latin ranges,
Cyrillic and Greek. Now, interactions with the OS were entirely handled
through codepages, but there was nothing stoping Word 95 from storing text
as Unicode. The point is, an app could potentially read a UTF-8 stream and
convert to legacy encodings via codepages, so that all OS interactions were
codepage based.

Similarly, on the Mac OS, it's possible for an app to read a UTF-8 stream
and do all interactions with the OS via codepages (though I don't think
they're called that on the Mac). The data is Unicode-encoded, but it's
limited to only those codepages supported by the OS.

Now, on Win 95 an app had the choice of drawing text using codepage-based
encoding (limited to the defined codepages), or using Unicode (any BMP
character). It is simply a matter of which interface the application
chooses to call. Likewise, on Mac OS 8.6 and later: if an app uses the
QuickDraw APIs, it's essentially working with codepages. It can read
Unicode data if desired and make the appropriate conversions, but the API
calls are 8-bit codepage-based. On the other hand, the app can alternately
use the newer ATSUI APIs, in which case any Unicode character is valid, and
everything is done in terms of Unicode.

So, Mac OS 8.6 does support Unicode. It does so fully if the app uses the
ATSUI interfaces. With some work, an app can support a subset of the
Unicode character repertoire using a Unicode encoding form while working
with the older non-Unicode APIs by managing conversions through the text
encoding converter. My guess is that Netscape 4 was doing the latter.

- Peter

---------------------------------------------------------------------------
Peter Constable

Non-Roman Script Initiative, SIL International
7500 W. Camp Wisdom Rd., Dallas, TX 75236, USA
Tel: +1 972 708 7485
E-mail: <peter_constable@sil.org>

On 02/05/2001 10:47:29 AM "P. T. Rourke" wrote:

>A communication with someone offlist (though I think he is on the list)
>suggested that Unicode is not supported at all in Macintosh OS8.6 or OS9,
>not even to the degree that it is supported in Windows 9x, except by means
>of Windows emulation (if I'm characterizing the message correctly; it is
on
>another computer at the moment). Is this true? (Obviously I don't use Mac
>OS much). I question this statement because the last time I used a Mac
with
>OS8.6 (I don't have many opportunities, I'm afraid), Netscape 4 did
include
>the UTF-8 encoding among the permitted encodings; but as it wasn't my
>computer, I didn't install a Unicode font to test it.
>
>PTR
>
>



This archive was generated by hypermail 2.1.2 : Tue Jul 10 2001 - 17:21:18 EDT