Subject: some ideas about extending HZ to Big5

From: Stephen G Simpson <[email-masked]>
Date: Tue, 7 Sep 93 13:06:03 -0400

To: Chinese software authors discussion list

Concerning possible extensions of the HZ standard to cover Big5, I
guess you remember that we had a little discussion about this some
time ago.

In the meantime I have been looking at Mule, a multilingual extension
of GNU Emacs developed by Ken'ichi Handa <[email-masked]> and some
other people in Japan.  The Mule-junet file format is interesting
because it allows you to mix multiple character sets such as ASCII,
GB, Big5, JIS, KSC, ISO-Latin1, etc. etc. using escape sequences to
switch from one character set to another.  Furthermore, Mule-junet
files are 7-bit files and can be sent everywhere by e-mail.  In
addition to standard printable ASCII, the only other character that
appears in Mule is the Escape character, 0xB1.  Some of the escape
sequences used in Mule-junet are:

Escape $ ( A           switch to GB2312
Escape $ ( 0           switch to Big5 level 1
Escape $ ( 1           switch to Big5 level 2
Escape , A             switch to ISO-Latin1
Escape ( B             switch to ASCII

Big5 levels 1 and 2 are packed into the 0x21-0x7E 0x21-0x7E range, in
order, using the B2G macro in mule/src/codeconv.h.

So far as I can tell, the Mule-junet file format is peculiar to Mule,
i.e. it is not supported by other software.  However, it is an
extension of the format used in Japanese e-mail, and it is closely
related to international standards such as ISO 2022 and EUC.  (But I
don't understand these standards very well.)

It is interesting to note that HZ is already in a sense compatible
with Mule-junet, the only big difference being the use of ~{ and ~}
instead of ESC $ ( A and ESC ( B.  So, perhaps we should consider
extending HZ in a way that retains this kind of compatibility with
Mule-junet and related international standards.

Any thoughts on how to do this?

I mentioned this matter to Ken'ichi Handa and he came up with the
following:

 > I also once considered the way to extend HZ for
 > multilingual.  My idea was to put <F> (final character such
 > as 'A' for GB, 'B' for JIS) just after ~ to make it
 > compatible with the current HZ.  So,
 > 	GB -- ~A{ or ~{
 > 	JIS -- ~B{
 > 	KSC -- ~C{
 > 	BIG5-1 -- ~0{
 > 	BIG5-2 -- ~1{
 > 	ASCII -- ~}  (no change)
 > But this method is limited to such character sets that
 > never use the sequence ~}.  Laint-1 can't be used with this
 > way of extension.

Any thoughts on how to solve this problem?

-- Steve Simpson

Stephen G. Simpson
Department of Mathematics, Pennsylvania State University
333 McAllister Building, University Park, State College, PA 16802
Office phone: +1 814 863-0775      Internet: [email-masked]
Home phone: +1 814 238-2274        Bitnet: T20 AT PSUVM
FAX: +1 814 865-3735