From: glenn@wheat-chex.ai.mit.edu (Glenn A. Adams)
Newsgroups: comp.fonts
Subject: Re: Why Unicode is 16-bit
Date: 27 Sep 92 17:09:16 GMT
Organization: MIT Artificial Intelligence Laboratory


  In article <889@rtbrain.rightbrain.com> glenn@rightbrain.com writes:

  >Are these "Han elements" somehow not glyphs?  Do they have some semantic
  >meaning, like Roman letters, or are they simply visual elements that are
  >used to construct a single character, and it's the character that carries
  >the semantic meaning?  If they're visual, then they seem more like glyphs
  >than characters.

But for the exceptions mentioned below, the Han elements of 10646 (and
Unicode), like Latin, Greek, and other elements, constitute the symbols
which make up their respective scripts.  For the most part, these symbols
correspond directly to meaning bearing units in the text within which
they are used.  So, in a Chinese text, the Unicode character U+6E6F
represents a morpheme meaning 'soup' and pronounced TANG1; whereas,
in Japanese, the same character represents a morpheme meaning 'hot water',
'hot bath', or 'hot spring' and pronounced TOU.  Likewise, in a German
text, the Unicode character U+0057, represents the phoneme /v/; whereas,
in an English text, it would represent the phoneme /w/.

So, for the primary symbols used to represent language, i.e., the traditional
elements of historical scripts, 10646 does not directly represent meaning
or function since it excludes linguistic and orthographic differences
from consideration.  Only when the language and orthography that applies
to a 10646 encoded string is known can one determine more precisely the
actual meaning.  Of course, one may still perform certain text operations
on such a string without knowing the language or orthography; e.g., most
display functions can operate (at least by using default behavior) in
the absence of language specific assumptions.  On the other hand, correct
collation of the text (or spell checking, etc.) cannot occur without this
knowledge.

Some questions you might be asking now are:  If 10646 doesn't encode meaning
(or function) directly, then what does it encode?  If, instead of function,
it encodes form, then what makes it different from a glyph encoding?

My answer to the first question is that, in the case of the primary language
bearing symbols, it encodes primarily "abstract form" which is invested with
"function" in the context of its usage in a text, i.e., with certain
assumptions holding about which language and which set of orthographic and
stylistic rules are to be applied to its interpretation.  In contrast,
glyphs do not carry any function whatsoever, nor do they bear any
interpretive value; furthermore, glyphs represent a *different* level of
"abstract form" than the abstract form which I contend characters represent.
As is well known, there are many different glyphs that can represent the
same character <A>.  The same font may contain normal, swash, small caps,
and other variant forms of this single character.  Since there is a 1-N
mapping from the abstract form of a character to the abstract forms of glyphs
-- glyphs being abstract in the sense that they may be further subjected to
a set of formal transformations prior to being visually depicted -- means
that the level of formal abstraction differs between character and glyph.
This is even more apparent in the case of Arabic text, where each character
may map to very dissimilar shapes depending on context; the same is also
slightly true in Asian writing sytems, where certain characters require
different glyphs depending on whether horizontal or vertical line layout
is used.

Now, to go back to what I think was implicit in your question, i.e., whether
one can "construct a single character" out of visual elements encoded as
characters?  Technicaly, the answer is *NO*.  One cannot construct a
"character" by combining other characters together.  Here, I am using the
technical definition of a character as an element of a character set.  10646
is a closed repertoire character set.  All of its elements are uniquely
definied by single code points.  It does not allow combinatorial creation
of "characters" as such.  However, it does allow the combinatorial creation
of "symbols" or visual elements, which may, in the context of some
text operation, be interpreted as single "text elements."  For example,
the sequence of characters LATIN CAPITAL LETTER E (U+0045) and NON-SPACING
ACUTE (U+0301) may be interpreted as a single unit by some text process,
e.g., in the context of displaying a single E WITH ACUTE glyph, but, for
another text process, such as collation, may be interpreted as two elements.
The process of combining these single elements into "text elements" 
is sensitive to the text process, to the language and orthographic rules
which apply to the text, and, sometimes, to the data itself.

It may happen that some combination such as that described above is thought
of as a single unit (an element of an alphabet) in the context of some
writing system.  However, 10646 does not, in general, encode the elements of
writing systems (or alphabets); rather, it encodes the symbols which, by
themselves, or in combinations with each other, represent the elements of
writing systems.  But, and this is what makes it different from a glyph
encoding, the characters of 10646 do have a meaning bearing role; whereas,
glyph encodings do not.

The distinction between the meaning bearing role of characters, on the
one hand, and the different levels of formal abstraction, i.e., the 1-N
(and N-1) relation of characters to glyphs, on the other hand, together
constitute the primary difference between the goals of character and glyph
encodings.

I mentioned above that there are exceptions to this logic, particularly in
the case of Han encodings.  Beyond the logic of the above argument, the
facts are that what is in 10646 is pretty much what was in any other important
character set.  Some of these character sets encoded elements which, under
normal circumstances, would be considered to represent glyphic variants
rather than distinct characters.  In 10646, the non-Han characters of this
type are cordoned off into a Compatibility Zone; however, the Han characters
of this type are incorporated directly into the main Ideographic Zone.
The primary reason for including these elements was to retain round-trip
compatibility with existing character set standards (and a rather large
amount of existing data).  If round-trip compatibility is not important,
an implementor may want to map these to their canonical characters when
converting into 10646.  Even here, round trip can still be supported by
storing out of band markers which indicate the reverse mapping for use
in exporting the data.  Although these characters are more glyphic in
essence, they still are employed to represent meaning (information);
therefore, they still qualify as characters in this sense.

As for constructing Han symbols by compositional techniques, no
combining Han characters are currently defined in 10646.  This
will probably change in the future in order to represent a large
number of rare symbols and variant symbol forms which have developed
distinct uses.  A number of proposals for doing this are currently
being studied within the Unicode Consortium.  The result of this
work will be forwarded as a recommendation to the CJK-JRG, the
Chinese/Japanese/Korean Joint Research Group, whose secretary
is currently Kato Shigenobu, of Toppan Printing, Japan.  The current
Han encodings in 10646 (Unicode) came from the "CJK Ideographic
Character Unified Repertoire and Ordering) produced by this group.

Glenn Adams
Cambridge, Massachusetts








Newsgroups: comp.fonts