Subject: FAQ: What the hell is CCCII? (Was Re: 26000 Characters)

From: christian wittern <[email-masked]>
Date: Thu, 26 Aug 1993 16:31:26 JST

Dear CC-Netters,

There has been some talk recently about CCCII and I would like
to expand a little on that, to stimulate interest in CCCII.

First of all, thanks to Huang Chih-hsien and the NCTUCCCA for making
available this treasurehouse of Chinese Characters. I'm sure, this
will help getting CCCII implementations and will generally encourage
usage of CCCII more than any commercial application could, hopefully
to the benefit of all scholars dealing with Chinese.

What *IS*  CCCII?

CCCII (Chinese Character Code for Information Interchange) was
developped since the 70's sponsored by the Taiwanese gov. Propably
also due to some political reasons, it has not attracted much
attention among users of Chinese on computers, although it has
been widely adopted  for use in library catalogues in the US.

CCCII is a 3-byte code, developped in accordance with the ISO-2022
standard for multibyte-code extensions. CCCII is based on 7 significant
bits per byte, which makes it also net.compatible.

CCCII tries to cover virtually ALL Chinese Characters and it tries
not just to encode them, but also to encode the relationship among
the characters (Regular characters and variants etc.).

What are the benefits of CCCII?

CCCII is an existing standard which covers virtually all Chinese
Characters. No need to hussle around with privately defined
Characters.

The code is structured in a way, that makes conversion between
simplified and traditional Characters possible in both directions
without loss of Information. This can be done algorithmically, on
the fly, depending on the users need.

As an aside - non of this could be attained by UNICODE.

How is this achieved?

CCCII defines a very huge codespace of 94*94*94 = 830584 codepoints.
This space is devided into layers of roughly 52000 points.
One layer could be thought of as a chessboard, multiple layers would
then by several chessboards piled on top of each other.
The first layer defines the regular characters, more than 42000 are
assigned so far. The next layer defines the simplified Characters,
if they exist. That means, that the basic coordinate of the chess-
board reamains the same, you simple change the chessboard from
regular to simplified when changing to simplified characters.
This means of course that, if you have a simplified Character, to
which the shapes of three traditional Characters are assigned,
you would have the shape (or glyph) of this simplified Character
on three different places in the simplified chessboard layer.
To distinguish between them at the input-level, on would of
course have to use the traditional forms for input.

On top of the layer for simplified characters are ten more layers
for variant forms of the characters, above them are Characters from
other Asian Codes, like JIS and KSC.

This code-layout makes it possible for example, to have a text of
the Chinese Classics inputted and proofread exactly as it has been
printed, with all variant and even obsolete character shapes it
uses and still be able to have a simplified text for schoolbooks, or
a reading edition using the regular forms from the *same* text,
*without* additional proofreading.

How can I use CCCII?

To my knowledge, there has been only hardware dependent
implementations of CCCII (an add-on board for the IBM-PC,
which sells for more than 2000 US$). This is partly due
to the fact, that the handling of fonts for 70000 Character
shapes is surely demanding in terms of system resources.

On the other hand, given the constantly higher performance
even of standard PC, I'm sure these these technical problems
could quite easily overcome by implementors for MS-Windows or
th MAC OS. Given the availablity of all 70000 glyphs (in 64*64 bitmaps),
together with a databases for the 42000 regular Characters.

I believe that CCCII is the only solution for scholarly use
of computers, so I sincerely hope this will encourage some
developers to work with CCCII and to come up with some
solutions, which will soon proof to be far better for Chinese
than anything based on Unicode.

Things will look quite differently, of course, for true multilingual
data processing, as it is required for example in libraries. Here
the use of MULE (which could be adopted, I believe, to handle CCCII),
or in the future, of SGML-based systems will finally give way to
true mulitlinguality.

Summer Greetings from Kyoto,

Christian Wittern

---

From: christian wittern <[email-masked]>
Date: Mon, 30 Aug 1993 18:24:56 JST

This question was asked in private mail, but as this might be
  of general interest, I hope the sender will not object, that I
  answer in public.

  > In message <[email-masked]> you write:
  > >
  > > What *IS*  CCCII?
  > >
  > > to the fact, that the handling of fonts for 70000 Character>
  >
  > > Christian Wittern
  >
  > Hi,  these days I really got confused on the number of characters defined in
  > CCCII.  Once I read it as "more than 74000", you said above "70000", but most
  > one quoted it as "more than 50,000".  Could you give me a clear picture?
  > Thanks.
  > GUO Jin

  This is a tricky one. It depends on what you count as a character. CCCII
  defines not just a code, which is a place for each character to live in,
  but also defines some relationship of characters in terms of variant
  forms (and of course trad./simpl. forms). In addition to that, depending
  on the context, a given character could be considered a variant (same
  reading and meaning as the regular form), or as a regular form by itself.
  CCCII doesn't hesitate to give the same glyph various places in the
  vast codespace it defines. So, although this is very difficult to
  establish this, the number of distinguishible glyphs in CCCII might be
  close to 50000, who knows. But the number of assigned codeplaces and
  corresponding bitmaps is more than 70000 or, to be more exact, close to
  75000 thousand.
  The number of regular Characters is around 42000, whereas the variants,
  including simplified forms, amount to ca. 33000.

  I hope this helps.

  Christian