From CCNET-L@uga.cc.uga.edu Wed Nov  6 20:58:57 1991
Received: from uga.cc.uga.edu by sirius.ctr.columbia.edu (5.61/5.10) with SMTP id AA17736; Wed, 6 Nov 91 20:58:32 -0500
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP R1.2.2MX) with BSMTP id 0647; Wed, 06 Nov 91 20:57:45 EST
Received: from UGA.BITNET by UGA.CC.UGA.EDU (Mailer R2.07) with BSMTP id 6944;
 Wed, 06 Nov 91 20:57:15 EST
Date:         Wed, 6 Nov 1991 20:54:08 -0500
Reply-To: Stephen G Simpson <simpson%MATH.PSU.EDU@uga.cc.uga.edu>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: Stephen G Simpson <simpson%MATH.PSU.EDU@uga.cc.uga.edu>
Subject:      Announcement: Improvements in Poor Man's Chinese TeX
Comments: To: ccnet-l@uga.cc.uga.edu
To: Multiple recipients of list CCNET-L <CCNET-L@UGA>
Status: RO

POOR MAN'S CHINESE TEX

NEW SUPPORT FOR BIG-5 CODES AND TRADITIONAL CHARACTERS


Poor Man's Chinese TeX is a set of TeX fonts and macros for inclusion
of Chinese characters in TeX documents.  It was originally conceived
and implemented by Thomas Ridgeway
(ridgeway@blackbox.hacc.washington.edu) in December 1990.  The
original implementation provided support for GB coded, simplified
Chinese characters, based on 24 x 24 bitmaps.  Only rudimentary
support for traditional characters was provided.

Now, as a result of efforts by Mark Leisher (mleisher@nmsu.edu) and
myself, there is an improved set of Poor Man fonts and macros for
BIG-5 coded, traditional Chinese characters.  The fonts are based on
24 x 24 bitmaps.  The character coding scheme used is completely
compatible with the popular ETEN word processor.  Approximately 13000
characters are provided.

The latest Poor Man fonts and macros and some documentation are now
available for anonymous ftp at ftp.math.psu.edu, directory
pub/simpson/chinese/pmc.

Some additional Poor Man software, including font creation programs,
has been available for some time at crl.nmsu.edu.

The Poor Man macros and fonts are known to work well with Unix TeX
3.1, dvips 5.4, and xdvi.  Recently there has been some discussion
here on CCNET concerning which PC TeX programs and drivers work well
with the Poor Man macros and fonts.


Stephen G. Simpson               simpson@math.psu.edu
Department of Mathematics        +1 814 863-0775
Pennsylvania State University    home: +1 814 238-2274
University Park, PA 16802

From CCNET-L@uga.cc.uga.edu Mon Nov 25 10:40:58 1991
Received: from uga.cc.uga.edu by sirius.ctr.columbia.edu (5.61/5.10) with SMTP id AA26841; Mon, 25 Nov 91 10:40:40 -0500
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP R1.2.2MX) with BSMTP id 0196; Mon, 25 Nov 91 10:40:28 EST
Received: from UGA.BITNET by UGA.CC.UGA.EDU (Mailer R2.07) with BSMTP id 8947;
 Mon, 25 Nov 91 10:40:27 EST
Date:         Mon, 25 Nov 1991 10:37:49 -0500
Reply-To: Stephen G Simpson <simpson%MATH.PSU.EDU@uga.cc.uga.edu>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: Stephen G Simpson <simpson%MATH.PSU.EDU@uga.cc.uga.edu>
Subject:      Chinese outline fonts ?
Comments: To: ccnet-l@uga.cc.uga.edu
To: Multiple recipients of list CCNET-L <CCNET-L@UGA>
Status: RO

Here is the reference for the article I mentioned.

   Author: Don Hosek (dhosek@ymir, dhosek@jarthur.claremont.edu)
   Title: Design of Oriental Characters with METAFONT
   Journal: TUGboat, Volume 10 (1989), No. 4
   Pages: 499-503

This article is a short report on the author's ongoing project of
designing Metafonts for Chinese characters.  I am hoping that this
project will result in a free or inexpensive outline font.  (For those
who don't know, Metafont is normally the outline font system that is
used with the TeX typesetting system.)

Hosek's article is not very informative, just enough to make me
curious.  I sent e-mail to Hosek asking for more information, but he
did not answer.

Does anyone here on CCNET have more information on this project or
other Chinese outline font projects?

From CCNET-L@uga.cc.uga.edu Mon Nov 25 16:40:01 1991
Received: from uga.cc.uga.edu by sirius.ctr.columbia.edu (5.61/5.10) with SMTP id AA00281; Mon, 25 Nov 91 16:39:49 -0500
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP R1.2.2MX) with BSMTP id 3341; Mon, 25 Nov 91 16:39:14 EST
Received: from UGA.BITNET by UGA.CC.UGA.EDU (Mailer R2.07) with BSMTP id 3619;
 Mon, 25 Nov 91 16:39:13 EST
Date:         Mon, 25 Nov 1991 16:38:58 TZONE
Reply-To: xiangjun%MICROSOFT.COM@uga.cc.uga.edu
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: xiangjun%MICROSOFT.COM@uga.cc.uga.edu
Subject:      Chinese outline fonts ?
Comments: To: ccnet-l@uga.cc.uga.edu
To: Multiple recipients of list CCNET-L <CCNET-L@UGA>
Status: RO

|> Hosek's article is not very informative....
|
|Indeed.
|
|> Does anyone here on CCNET have more information on this project or
|> other Chinese outline font projects?
|
|I'm working *very* slowly on Chinese metafonts of my own.  No, I don't
|have anything to release yet, so please don't ask.  I plan to release
|my fonts on terms similar to those of the Free Software Foundation.
|

I don't know if this is too old for you or you have had this information,
there is a research paper titled" A Chinese Meta-Font" by John Hobby and
Gu Guoan, published by Standford University (July 1983 Report No.
STAN-CS-83-974).   I haven't had time to read it, but it seems quite
informative and detailed, though I don't know how update this information
is.  It has some examples and subroutines.  In the conclusion of this
paper, it says
  "We have shown how it is possible to use Metafont to design Chinese
Characters, and to obtain many different styles from the same program
just by changing a few parameters.  It is possible to build up
a hierarchcal structure so that most of the work is not too difficult
and the resulting quality can be very high
   ...... Our goal is to provide the groundwork for furthre research."

If any of you read it, can you comment on it?


I don't know much about other Chinese outline font projects, but
I tried the outline fonts that are available with CWIN3.  You can pick
any size or points and it looks great (at one screen resolution, the
bigger the fonts, the better they look).

The message terryk posted earlier on ccnet about Chinese Windows 3.0
contains the following information.

-xiangjun


=======================================================

Outline Font with Hand Tuned and User Defined Bitmaps

CWIN3 is delivered with an outline font technology and a single typeface
 implemented under the Far East common installable font technologies feature.
 The outline font technology will read font formatted with the TrueType font
 file format excluding hint information.  This font technology allows third
 party font vendors to market TrueType formatted font files excluding hints,
 commonly called unhinted TrueType, distributed on diskettes.

The unhinted TrueType font technology, also called the outline font driver,
 allows the user the availability of fully scaleable fonts on both the screen
 and printer.  The font technology allows the user to install additional fonts
 distributed on diskettes with great ease and incorporate the use of these fonts
 in all documents, spreadsheets, and other types of files produced by Windows
 programs.

The outline font driver that access the unhinted TrueType files will also use
 hand tuned and pre-rasterized bitmap font files if they are available for a
 particular point size.  Due to the very small sizes of Chinese characters at 12
 points and below, it may be necessary for some typefaces to include hand tuned
 bitmaps for readability.  As well, if the user has large amounts of disk space
 available, then they may wish to pre-rasterize and store selected point sizes
 of selected typefaces to increase the speed of the font technology by
 eliminating the need to rasterize the outline.

The outline font driver will also work in conjunction with user defined
 characters defined and drawn by the Userfont utility.  The outline font driver
 will access the user defined bitmap font files if the user requests a character
 not in the standard Big-5 code space of 13,053 characters.  If a user defined
 bitmap exists for the character in the typeface requested, then font driver
 will access that bitmap and scale it as necessary to present with the other
 characters of the selected point size and typeface.
 ......
====================================

From CCNET-L@uga.cc.uga.edu Tue Feb 18 17:55:23 1992
Received: from ugav2.cc.uga.edu by sirius.ctr.columbia.edu (5.67/5.10) with SMTP id AA20012; Tue, 18 Feb 92 17:54:57 -0500
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 3071; Tue, 18 Feb 92 17:52:30 EST
Received: from UGA.BITNET by UGA.CC.UGA.EDU (Mailer R2.07) with BSMTP id 6606;
 Tue, 18 Feb 92 17:52:28 EST
Date:         Tue, 18 Feb 1992 17:42:57 EST
Reply-To: yih@BRL.MIL
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
Comments:     Resent-From: yih@BRL.MIL
Comments:     Originally-From: Kevin Draz <kevind@pogo.wv.tek.com>
From: yih@BRL.MIL
Subject:      Re: PostScript Level 2 and Kanji
Comments: To: ccnet-l@uga.cc.uga.edu
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: RO

In article <1992Feb8.032055@eklektix.com> rcd@raven.eklektix.com (Dick Dunn)
 writes:
>nkhr@leland.Stanford.EDU (Tetsushi Nakahara) writes:
>>Does anybody know whether PS-L2 supports Japanese Kanji characters?
>
>Yes, in the sense that it has all the support needed.  The extensions to
>PostScript for "composite fonts", used in various Kanji printers, have been
>made part of the language in Level 2.
>
>>...However, when
>>I asked an Adobe rep at MacWorld Expo, his reply was kind of "Some
>>L2 printer may print Kanji, others may not."
>
>The issue is fonts and where to put them: Can you get a set of Kanji
>fonts, and will your printer be able to handle them?  In practice, you're
>going to need a printer with a hard disk attached--these do exist outside
>the Kanji world.  Where you'd get the fonts by themselves, I don't know.

The issue is indeed fonts.  Level-2's composite character and non-Roman
writing modes are all that is needed for Kanji, or any other font with a
large number of glyphs.

The problem is one of where to get "official" Adobe Kanji.  The Adobe Kanji
font outlines are licensed from a Japanese company, (I forget the name)
which has a very, very, *VERY*, strict protection agreement. It makes most
copy-protection schemes software look like shareware by comparison.

The Kanji font disk is configured for one and only one PS device. The copy
protection scheme requires a bit of customizing in the ROMS, hence the
"localized" version of PS RIP.

There are some third-party Kanji fonts which are not copy protected.  These
should work with the level-2 RIP.  I do not know how complete they are, nor
their quality.  You'll have to shop around.

--
----
kevind@pogo.wv.tek.com  | For most software publishers, quality is job 1.01.
Tektronix Color Printers|                            -- MacWeek Magazine

From CCNET-L@uga.cc.uga.edu Wed Mar  4 03:44:28 1992
Received: from ugav2.cc.uga.edu by sirius.ctr.columbia.edu (5.67/5.10) with SMTP id AA14398; Wed, 4 Mar 92 03:44:20 -0500
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 5326; Wed, 04 Mar 92 03:43:22 EST
Received: from UGA.BITNET by UGA.CC.UGA.EDU (Mailer R2.07) with BSMTP id 8363;
 Wed, 04 Mar 92 03:43:19 EST
Date:         Wed, 4 Mar 1992 00:41:16 PST
Reply-To: HAIZI XU <USERSP45%UBCMTSG.BITNET@uga.cc.uga.edu>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: HAIZI XU <USERSP45%UBCMTSG.BITNET@uga.cc.uga.edu>
Subject:      Chinese Fonts for Windows 3.0
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: RO

Dear Netters:

    Seeing a message asking for info about Chinese Fonts for Windows,
I thought maybe the following tips might be of your interest.

    Top Computech, a Canadian company located in Vancouver, have
developed 32 kinds of Postscript Chinese fonts for use under Windows.
The company claims that most English software for windows can handle
those Chinese fonts without any alteration. They are fully scalable
and can be used by Adobe Type Manager, according to their ad.. They
are given the name TopFonts.

    Though I have not got a chance to have my hands on the package,
I am really impressed by the sample printouts of those fonts. They
are claimed to be the first One-Byte dynamic Chinese fonts library
in the world, which also support Eten, GuoQiao, CangJi, WuBi, PinYin
XinTianMa, DaXueShi, and XiaLiBaRen input methods.

    Their address: Suite 208, 10 E. Pender St.
                   Vancouver, B.C. Canada V6A 1T1
                   Tel: (604) 682-5485 FAx: (604) 682-4078

    Happy Chinese Computing to you!

Haizi

From CCNET-L@uga.cc.uga.edu Fri Mar  6 05:34:38 1992
Received: from ugav2.cc.uga.edu by sirius.ctr.columbia.edu (5.67/5.10) with SMTP id AA01203; Fri, 6 Mar 92 05:34:30 -0500
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 6908; Fri, 06 Mar 92 05:32:38 EST
Received: from UGA.BITNET by UGA.CC.UGA.EDU (Mailer R2.07) with BSMTP id 3321;
 Fri, 06 Mar 92 05:32:02 EST
Date:         Fri, 6 Mar 1992 02:30:58 PST
Reply-To: HAIZI.XU@MTSG.UBC.CA
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: HAIZI.XU@MTSG.UBC.CA
Subject:      Chinese Fonts for Windows 3.0
Comments: To: ccnet-l@uga.cc.uga.edu
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: RO

---(Forwarded from: HAIZI_XU@mtsg.ubc.ca, Dated: Wed, 4 Mar 92 00:41:16 PST)---
Date: Wed, 4 Mar 92 00:41:16 PST
From: HAIZI.XU@mtsg.ubc.ca
To: ccnet-l@UGA.BITNET
Message-ID: <3594853@mtsg.ubc.ca>
Subject: Chinese Fonts for Windows 3.0

Dear Netters:

    Seeing a message asking for info about Chinese Fonts for Windows,
I thought maybe the following tips might be of your interest.

    Top Computech, a Canadian company located in Vancouver, have
developed 32 kinds of Postscript Chinese fonts for use under Windows.
The company claims that most English software for windows can handle
those Chinese fonts without any alteration. They are fully scalable
and can be used by Adobe Type Manager, according to their ad.. They
are given the name TopFonts.

    Though I have not got a chance to have my hands on the package,
I am really impressed by the sample printouts of those fonts. They
are claimed to be the first One-Byte dynamic Chinese fonts library
in the world, which also support Eten, GuoQiao, CangJi, WuBi, PinYin
XinTianMa, DaXueShi, and XiaLiBaRen input methods.

    Their address: Suite 208, 10 E. Pender St.
                   Vancouver, B.C. Canada V6A 1T1
                   Tel: (604) 682-5485 FAx: (604) 682-4078

    Happy Chinese Computing to you!

Haizi

From CCNET-L@uga.cc.uga.edu Thu Mar 12 03:31:03 1992
Received: from ugav2.cc.uga.edu by sirius.ctr.columbia.edu (5.67/5.10) with SMTP id AA17899; Thu, 12 Mar 92 03:31:01 -0500
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 6296; Thu, 12 Mar 92 03:29:59 EST
Received: from UGA.BITNET by UGA.CC.UGA.EDU (Mailer R2.07) with BSMTP id 3450;
 Thu, 12 Mar 92 03:29:57 EST
Date:         Thu, 12 Mar 1992 00:28:00 PST
Reply-To: Xincun Huang <IZZYKD3%UCLAMVS.BITNET@uga.cc.uga.edu>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: Xincun Huang <IZZYKD3%UCLAMVS.BITNET@uga.cc.uga.edu>
Subject:      Mac Chinese II font installation problem
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: RO

I just installed the new Chinese Talk II into System 7, but I
was unable to get the TA1 6.0.3 or 6.0.5 fonts to work (I
tried the Song 48 pt. font from 6.0.3 and the Ming Light 48
pt. font from 6.0.5.

When I tried to install the fonts, several strange things
happened.  Since the fonts would not install into System 7
with the 6.0.5 Font Installer, I used the System 7 drag and
drop to copy the fonts to the System suitcase in System 7,
and copied the character bitmap files to the System folder.
However, neither the Song nor the Ming fonts would show up in
Nisus or Word.  And when I restarted the Mac, the Song fonts
*were no longer in the System suitcase.*  I tried this again,
with the same result. My 105MB disk started showing a
capacity of 97 + 1 instead of the 98 + 3, and  MacTools found
that the Volume Bitmap was damaged (but repairable).

It seems unlikely that I should put the 6.0.6 *Ziti bianxiu*
etc. in the folder, but I have not tried that yet.  But
because of the problems with the Song font, it seems that
there must be some problem with font ID conflicts or something
more complicated.

I would certainly appreciate any assistance with this problem.

Roger Hart
UCLA

P.S. In answer to a question on the net, the 6.0.5 fonts
included on the latest APDA CD-ROM include:

Ming Light 24 pt.
Ming Light 48 pt.
Ming Heavy 48 pt.
Ming Heavy 64 pt.
Kai Medium 24 pt.
Kai Medium 48 pt.
Hei Medium 48 pt.
Hei Medium 64 pt.

From CCNET-L@uga.cc.uga.edu Tue Feb 26 23:21:33 1991
Received: from uga.cc.uga.edu by sirius.ctr.columbia.edu (5.64/5.10) with SMTP id AA21549; Tue, 26 Feb 91 23:21:06 -0500
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP R1.2.2MX) with BSMTP id 4714; Tue, 26 Feb 91 23:18:14 EST
Received: from UGA.BITNET by UGA.CC.UGA.EDU (Mailer R2.07) with BSMTP id 9502;
 Tue, 26 Feb 91 23:17:57 EST
Date:         Tue, 26 Feb 91 21:15:08 MST
Reply-To: mleisher%NMSU.EDU@uga.cc.uga.edu
Sender: Chinese Computing Network <CCNET-L%UGA.BITNET@uga.cc.uga.edu>
From: mleisher%NMSU.EDU@uga.cc.uga.edu
Subject:      BDF font to CCDOS font program
To: Multiple recipients of list CCNET-L <CCNET-L@UGA>
Status: RO

crl.nmsu.edu:pub/misc/bdftobin-1.0.tar.Z

Sorry it took me so long to get this hacked out, but I was out of
town.

The program is available from the above anonymous ftp address.  I
tried to make the C code as generic as possible so there wouldn't be
any problems compiling on 286/386 systems.

Later, I'll have a more sophisticated version that can set bit and
byte order for the output font.
-----------------------------------------------------------------------------
mleisher@nmsu.edu                      "I laughed.
Mark Leisher                                I cried.
Computing Research Lab                          I fell down.
New Mexico State University                        It changed my life."
Las Cruces, NM                     - Rich [Cowboy Feng's Space Bar and Grille]

From CCNET-L@uga.cc.uga.edu Mon Mar 23 10:55:39 1992
Received: from ugav2.cc.uga.edu by sirius.ctr.columbia.edu (5.67/5.10) with SMTP id AA11416; Mon, 23 Mar 92 10:55:26 -0500
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 5494; Mon, 23 Mar 92 10:52:46 EST
Received: from UGA.BITNET by UGA.CC.UGA.EDU (Mailer R2.07) with BSMTP id 8175;
 Mon, 23 Mar 92 10:52:43 EST
Date:         Mon, 23 Mar 1992 08:27:35 EST
Reply-To: Jeremy Barth <barth@IEEEPUB.ORG>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: Jeremy Barth <barth@IEEEPUB.ORG>
Subject:      How to increase bitmap resolution?
Comments: To: ccnet-l@uga.cc.uga.edu
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: RO

This question may have been dealt with before, or be
hopelessly naive, for which I beg your patience.

We are running a technical publishing operation
using a specialized software package on Sun
workstations.  A Chinese author recently supplied
us with 48x48 bitmaps of several Chinese characters
which I have converted to SunRaster format with
a simple program.  The characters print out nicely,
but the resolution is rather poor for professional
publishing.

My question is whether there is some kind of "hack"
for increasing the resolution of the bitmaps.
I can physically "blow up" the bitmap to, e.g.
192x192 and then go in and physically edit the
pixels to "round off" the edges, but as a non-Chinese
speaking person I'm reluctant to make cosmetic changes
that may turn out to completely change the meaning of
a character.

Alternatively, is there some kind of algorithm
rounding off sharp edges in bitmaps that I could
use?

Any insights would be appreciated.

Jeremy Barth            E-mail: barth@ieeepub.org
Electronic Publishing   Voice:  (212) 705-7400
   Specialist
IEEE, Inc.
345 E. 47th St.
New York, NY 10017

From CCNET-L@uga.cc.uga.edu Wed Mar 25 11:15:29 1992
Received: from ugav2.cc.uga.edu by sirius.ctr.columbia.edu (5.67/5.10) with SMTP id AA29484; Wed, 25 Mar 92 11:15:21 -0500
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 4584; Wed, 25 Mar 92 11:13:44 EST
Received: from UGA.BITNET by UGA.CC.UGA.EDU (Mailer R2.07) with BSMTP id 7980;
 Wed, 25 Mar 92 11:13:43 EST
Date:         Wed, 25 Mar 1992 11:10:34 -0500
Reply-To: ZENG WEI GANG <zeng@ECF.TORONTO.EDU>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: ZENG WEI GANG <zeng@ECF.TORONTO.EDU>
Subject:      Chinese Desktop Publishing ...
Comments: To: CCNET-L@uga.cc.uga.edu
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: RO

A few days ago , I posted a mail requesting Chinese PostScript programme .
Thanx to those who replied . The answers seems to fall in following two
catagories ...

1.-----------------------------------------------------------------------
there a few of such softwares which convert chinese GB files to
PostScript, such as: hz2ps, gb2ps, etc.

You can find them at ftp site: ahkcus.org,   under directory
src/unix.
2.-----------------------------------------------------------------------
Dr. J.B. Wang's ChTeX package can do that.  I believe it's in ahkcus.org
and several other ftp sites.


-------------------------------------------------------------------------

I tried both . The gb2ps seemed to be working . In fact , I even managed to
compile and use it under DOS . But the ChTeX , which was used to be on
ahkcus.org seems have disapeared . So I wasn't able to test it .

As for the question of Chinese Desktop Publishing , I have found that it can
be done rather neatly by using a Chinese PostScript generating programme ,
then use PageMaker , Ventura or Corel Draw to finish the job .

So the central problem seems to be -- Is there a programme that can generate
PostScript Chinese file WITH NEAT FONTS (Sizing is not important)? GB2PS can
only generate Fong Song and the quality of the character generated is
questionable .

So , the big question is --> Does anyone know of any programme that have a
variety of fonts (e.g. Fong Song , Song , Kai Ti , Sou Xie) to chose from --
Even it's commecial software , as long as it's not priced rediculously , I
will be much appreciated to heard about it .

Thanx to those of you who are concerned .

Please reply to "zeng@ecf.toronto.edu"

From CCNET-L@uga.cc.uga.edu Thu Mar 26 09:01:09 1992
Received: from ugav2.cc.uga.edu by sirius.ctr.columbia.edu (5.67/5.10) with SMTP id AA08678; Thu, 26 Mar 92 09:00:41 -0500
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 9609; Thu, 26 Mar 92 08:59:19 EST
Received: from UGA.BITNET by UGA.CC.UGA.EDU (Mailer R2.07) with BSMTP id 4744;
 Thu, 26 Mar 92 08:56:14 EST
Date:         Thu, 26 Mar 1992 08:54:52 -0500
Reply-To: Youjun Luo <luo@INFORMATIK.UNI-WUERZBURG.DBP.DE>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: Youjun Luo <luo@INFORMATIK.UNI-WUERZBURG.DBP.DE>
Subject:      PostScript Chinese Fonts at simtel20!
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: RO

I have uploaded to SIMTEL20 for Dr. Zhang:

pd1:<msdos.postscript>
CHPSF301.ZIP    Adobe Type 1 Fonts of some Chinese characters

CHPSF301 contains some Chinese characters from the high quality
fonts of SPRING System  and  OMNIGENA Co.  The files CH_K.PFB
and CH_K.GSF in the CHPSF301 each contain (the same) 94 modern
(or simplified,'short') Chinese characters in Kaishu style (the
printed style that is closest to brush writing) from the OUTLINE
fonts. If you are Chinese or like to add an exotic touch to your
greeting cards, invitations, titles etc., you'll find them
pleasant and useful.

CH_K.PFB can be used by Adobe Type Manager under MS-Windows 3.x,
and CH_K.GSF can be used by Ghostscript.

Youjun
--
+-------------------------------------------------------+
|   _                                                   |
|  ' )   /                           ,  /"\             |
|   /   /                           (__/__/             |
|  (___/  ___  ,  , ~ ,  , )__        /        ,  , ___ |
| ____/_ /  / /  / / /  / /   )   ___/_     ) /  / /  / |
|(___/  /__/ (__/ / (__/ /   /   (__/  )___/ (__/ /__/  |
|             __'/_    '     '                  '       |
|            (__/                                       |
|         Email: luo@informatik.uni-wuerzburg.de        |
+-------------------------------------------------------+

From CCNET-L@uga.cc.uga.edu Fri Mar 27 16:10:51 1992
Received: from ugav2.cc.uga.edu by sirius.ctr.columbia.edu (5.67/5.10) with SMTP id AA18564; Fri, 27 Mar 92 16:10:36 -0500
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 7822; Fri, 27 Mar 92 16:08:55 EST
Received: from UGA.BITNET by UGA.CC.UGA.EDU (Mailer R2.07) with BSMTP id 4556;
 Fri, 27 Mar 92 16:08:47 EST
Date:         Fri, 27 Mar 1992 16:06:14 EST
Reply-To: Ned Walsh <walsh@CUNIXA.CC.COLUMBIA.EDU>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: Ned Walsh <walsh@CUNIXA.CC.COLUMBIA.EDU>
Subject:      [becker.osbu_north@xerox.com: Re: JIS to GuoBiao/Big5 conversion]
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: RO

More news on the JIS<-->Chinese front.

/Ned


                ---------------

Return-Path: <Joseph_D._Becker.OSBU_North@xerox.com>
Received: from alpha.Xerox.COM by cunixa.cc.columbia.edu (5.59/FCB)
        id AA01436; Fri, 27 Mar 92 16:02:04 EST
Received: from XFX_Mail_Service.XFX.Xerox_Affiliates.xns by alpha.xerox.com via
 XNS id <11780>; Fri, 27 Mar 1992 12:19:30 PST
X-Ns-Transport-Id: 080037006221A3022D95
Date:   Fri, 27 Mar 1992 12:19:24 PST
Sender: Joseph_D._Becker.OSBU_North@xerox.com
From: becker.osbu_north@xerox.com
Subject: Re: JIS to GuoBiao/Big5 conversion
In-Reply-To: "walsh%cunixa.cc.columbia:edu's message of 26 Mar 92 16:35:04 PST
(Thursday)"
To: walsh@cunixa.cc.columbia.edu
Cc: becker.osbu_north@xerox.com
Message-Id: <"27-Mar-92 12:19:24 PST".*.Joseph_D._Becker.OSBU_North@Xerox.com>


Xerox and Apple separately built such tables, which have been cross-checked,
merged, and donated to the Unicode Consortium.  They will soon be updated to
reflect the *final* unified ideograph codes decided by the
Chinese-Japanese-Korean Joint Research Group just this week.  With luck, these
should become blessed as part of the Unicode/10646 international standard by
this summer.

The Unicode Consortium is currently moving to make the tables available for a
nominal handling fee once they have stabilized.

Joe

From CCNET-L@uga.cc.uga.edu Thu Apr  2 16:07:14 1992
Received: from ugav2.cc.uga.edu by sirius.ctr.columbia.edu (5.67/5.10) with SMTP id AA11517; Thu, 2 Apr 92 16:07:06 -0500
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 6771; Thu, 02 Apr 92 16:03:59 EST
Received: from UGA.BITNET by UGA.CC.UGA.EDU (Mailer R2.07) with BSMTP id 0833;
 Thu, 02 Apr 92 16:03:57 EST
Date:         Thu, 2 Apr 1992 16:02:11 -0500
Reply-To: ZENG WEI GANG <zeng@ECF.TORONTO.EDU>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: ZENG WEI GANG <zeng@ECF.TORONTO.EDU>
Subject:      Chinese font libraries ...
Comments: To: ccnet-l@uga.uga.edu
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: RO

Hi ...

I'm trying to implement some Chinese fonts into MS Windows ... I found some
Chinese font libraries in crl.nmsu.edu /pub/chinese/font , but they're all
in *.bdf format . I have access to both UNIX and DOS system .

Does anyone knows how to convert font libraries in *.bdf format , which is
used in UNIX systems , to that of *.PBM and *.FBM format so it can be used
be Adobe Type Manager ?

Any help would be appreciated .

Please reply to "zeng@ecf.toronto.edu"

From CCNET-L@uga.cc.uga.edu Fri Apr  3 09:03:34 1992
Received: from ugav2.cc.uga.edu by sirius.ctr.columbia.edu (5.67/5.10) with SMTP id AA19136; Fri, 3 Apr 92 09:03:05 -0500
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 9400; Fri, 03 Apr 92 09:00:26 EST
Received: from UGA.BITNET by UGA.CC.UGA.EDU (Mailer R2.07) with BSMTP id 8120;
 Fri, 03 Apr 92 09:00:23 EST
Date:         Fri, 3 Apr 1992 08:10:00 EST
Reply-To: XiaoFei Wang <xiaofei@ACSU.BUFFALO.EDU>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: XiaoFei Wang <xiaofei@ACSU.BUFFALO.EDU>
Subject:      Print PS on HP laserjet ( Re: ask for gb viewer/printer )
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
In-Reply-To:  <100252@eerie.acsu.Buffalo.EDU>
Status: RO

/* on sunyab.mlists.ccnet-l zhang@epsilo.math.wsu.edu said: */

:Hi, dear friends,
:
:I need information as follows:
:
:1. What is the ftp location for XLBR2.0(Xia Li Ba Ba)?
:
:2. Do we have a better .gb file viewer in Unix? I used to have one
:   which is too slow.
:
:3. I can print the HXWZ in .ps version. Do we have Chinese file in
:   .hp file so that I can print the HXWZ in LaswerJet III printer?

Hi, netters --

1) and 2) are elementary questions. What prompted me to post is the
question number 3. I guess a lot of people do not know the answer and
would be interested.

1) There is no FTP location since XLBR2.0 is a commercial package.

2) try Cxterm. ahkcus.org:./gb/poems/Chpoem.info has info where to get
   it.

3) The answer is only available after 25 April 92 when ghostscript 2.4
   is released from prep.ai.mit.edu:/pub/gnu/ghostscript*.

   The answer is one does not need PCL files. One can get postscript
   files of HXWZ from ahkcus.org:./gb/cnd-cm and print them on HP
   laserjet using ghostscript 2.4. I would suggest to add
   `ghostscript 2.4 + HP laserjet'  to ``how to view HXWZ''
   list.

   Of course one can use XLBR to print GB files if one is willing to
   pay for it.

   I just printed the postscript version of HXWZ #53 on HP laserjet
   from a PC. It is fast and looks nice.

--
xiaofei@acsu.buffalo.edu | Subscribe Chinese Poem Exchange and Discussion List
mail LISTSERV@UBVM.BITNET with "SUB CHPOEM-L 1st LastName" in the MESSAGE BODY
InterNet Address: UBVM.CC.BUFFALO.EDU | Posting in UUENCODED GB and BIG5

From CCNET-L@uga.cc.uga.edu Tue Apr  7 04:28:44 1992
Received: from ugav2.cc.uga.edu by sirius.ctr.columbia.edu (5.67/5.10) with SMTP id AA16796; Tue, 7 Apr 92 04:28:37 -0400
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 6310; Tue, 07 Apr 92 04:26:15 EDT
Received: from UGA.BITNET by UGA.CC.UGA.EDU (Mailer R2.07) with BSMTP id 6837;
 Tue, 07 Apr 92 02:38:13 EDT
Date:         Tue, 7 Apr 1992 16:36:03 +1000
Reply-To: chen@CITR.UQ.OZ.AU
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: chen@CITR.UQ.OZ.AU
Subject:      Postscript version of HXWZ
Comments: To: CCNET-L@uga.cc.uga.edu
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: RO

I ftp-ed some of the back issues of HXWZ today from ahkcus.org, and I found a
bunch of postscript files of the issue 53.  The print-out is just beautiful.
(with double column, some `KaiShu' font like italics).  Could anyone please
tell me which postscript generator produced these?  Where can one get the
software and the fonts?

Thank you very much.
-----
G. Chen, Centre for Information Technology Research, University of
Queensland, Australia 4072
chen@citr.uq.oz.au  Tel: +61 7 365 4325, Fax +61 7 365 4399

From CCNET-L@uga.cc.uga.edu Thu May 21 03:47:04 1992
Received: from uga.cc.uga.edu by sirius.ctr.columbia.edu (5.67/5.10) with SMTP id AA17642; Thu, 21 May 92 03:46:57 -0400
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 3172; Thu, 21 May 92 03:44:58 EDT
Received: from UGA.BITNET by UGA.CC.UGA.EDU (Mailer R2.07) with BSMTP id 1484;
 Thu, 21 May 92 03:44:55 EDT
Date:         Thu, 21 May 1992 00:43:59 -0700
Reply-To: Bo Yang <eric@COEUS.UCSD.EDU>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: Bo Yang <eric@COEUS.UCSD.EDU>
Subject:      Re: More Chinese fonts?
Comments: To: CCNET-L@uga.cc.uga.edu
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: RO

Larry Wang <LWANG%UFPINE.BITNET@uga.cc.uga.edu> writes:

>comes with only one font: the SONG style 24X24 chinese font. Can we get
>other fonts (e.g., Kai, Hei, FangSong, etc.) somewhere?

The cc2tex package by Wu, Zhibiao comes with Kai, Hei, and FangSong
24*24 fonts. The only problem is the format of the files are different
from standard cclib files. If used with ChTeX without modifications,
the resulting characters would look rotated 90 degree and then fliped
(mirror image). I wrote a simple program to transform the fonts to
cclib file, also modified ChTeX to work with multiple fonts. The
result was great.

Bad news is that the program was accidentally deleted, without backup.
You could try to do it, just has to re-order the bits( by colums changed
to by rows, also delete some extra un-used charactar plans).

The original font files is at crl.nmsu.edu, /pub/chinese/fonts, named
alib.24 through flib.24.

Bo

From CCNET-L@uga.cc.uga.edu Thu May 21 21:38:03 1992
Received: from uga.cc.uga.edu by sirius.ctr.columbia.edu (5.67/5.10) with SMTP id AA05570; Thu, 21 May 92 21:37:52 -0400
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 7163; Thu, 21 May 92 21:35:49 EDT
Received: from UGA.BITNET by UGA.CC.UGA.EDU (Mailer R2.07) with BSMTP id 0299;
 Thu, 21 May 92 21:35:46 EDT
Date:         Thu, 21 May 1992 18:35:05 -0700
Reply-To: Bo Yang <eric@COEUS.UCSD.EDU>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: Bo Yang <eric@COEUS.UCSD.EDU>
Subject:      translate fonts in cc2tex to cclib or ccf( gb2ps) format
Comments: To: CCNET-L@uga.cc.uga.edu
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: RO

This is a short program to translate the KaiTi, HeiTi, FangSong, FanTi
24*24 fonts in cc2tex-1.0 packages to cclib or ccf format, to be
used with modified ChTeX or gb2ps.

COMPILE:  save this message as c2cc.c, delete the lines before --- CUT---,
          do:
                cc -O -o c2cc c2cc.c

USE:      download the fonts alib.24, blib.24, dlib.24, flib.24 from
          crl.nmsu.edu, under pub/chinese/fonts.

          to use with gb2ps:
                cat alib.24 | c2cc -ccf > ckei24.ccf
                cat blib.24 | c2cc -ccf > cfang24.ccf
                cat dlib.24 | c2cc -ccf > chei24.ccf
                cat flib.24 | c2cc -ccf > cfan24.ccf

          to use with ChTeX:
                cat alib.24 | c2cc > ccliba.24
                ...
                cat flib.24 | c2cc > cclibf.24

I've successfully modified Wang, Jingbai's ChTeX and made it work with multiple
fonts. There're some problems with gb2ps-2.0, mainly can't print same charactar
with different font styles on same page. Also FanTi font can't work sometimes.
Hope the author will fix these bugs soon.

I'll post a sample PS file made with ChTeX.

Good Luck on your hacking

Bo
-------------- CUT HERE ---------- c2cc.c ----------------
#include <stdio.h>
#include <string.h>

main(argc, argv)
int argc;
char **argv;
{
register int i, j, k;
unsigned char ch, bits[24][24];
int ccf=0, code=0;

    if( argv>1)
        if( strncmp(argv[1], "-ccf", 4) == 0) ccf=1;
    for( code =0; code < 94*87; code++) {
        for( i=0; i<72; i++) {
            ch= (code >= 9*94 && code <15*94) ? 0 : fgetc(stdin);
                  /* blank planes inserted     */
            for( j=0; j<8; j++) {
                bits[i/3][(i%3)*8+7-j] = ch & 0x01;
                ch >>= 1;
                }
            }
        if(ccf) fprintf( stdout, "%2.2d%2.2d ", code/94+1, (code%94)+1);
        for( i=0; i<24; i++) {
            for( j=0; j<3; j++){
                ch=0;
                for( k=0; k<8; k++) { ch+=bits[j*8+k][i]; ch<<=1; }
                if( ccf) fprintf( stdout, "%2.2x", ch);
                 else fputc( ch, stdout);
                }
            }
            if( ccf) fprintf( stdout, "\n");
        }
}

/*		end here		*/

From CCNET-L@uga.cc.uga.edu Thu May 21 22:30:35 1992
Received: from uga.cc.uga.edu by sirius.ctr.columbia.edu (5.67/5.10) with SMTP id AA05767; Thu, 21 May 92 22:29:24 -0400
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 7240; Thu, 21 May 92 22:03:40 EDT
Received: from UGA.BITNET by UGA.CC.UGA.EDU (Mailer R2.07) with BSMTP id 0991;
 Thu, 21 May 92 22:03:30 EDT
Date:         Thu, 21 May 1992 19:02:59 -0700
Reply-To: Bo Yang <eric@COEUS.UCSD.EDU>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: Bo Yang <eric@COEUS.UCSD.EDU>
Subject:      Sample Postscript file with multiple Chinese font styles
Comments: To: CCNET-L@uga.cc.uga.edu
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: RO

This PS file was generated with modified ChTeX, using the fonts in
cc2tex package. As you probably can see, the 24*24 fonts have some
defects, maybe cc2tex's author just want to experiment with them.

Song, FangSong, Hei, Kai, Fan Ti is used.

just save, cut, and print.

Bo

----------- CUT HERE ------------------- 30m.ps --------------------
%!PS-Adobe-2.0
%% Creator ch->ps by JBW, modified by Yang, Bo for multiple font styles
/dofont {
9 dict dup begin
/FontType 3 def
/FontBBox [0 0 0 0] def
/Encoding 252 array def
31 1 251 {Encoding exch /.notdef put} for
/BuildChar
{ 0 begin
	/char exch def
	/fontdict exch def
	/charname fontdict /Encoding get char get def

	/charinfo fontdict /CharData get charname
	 get def
	/wx charinfo 0 get def
	/charbbox charinfo 1 4 getinterval def
	wx 0 charbbox aload pop setcachedevice
	charinfo 5 get charinfo 6 get true

	fontdict /imagemaskmatrix get
	  dup 4 charinfo 7 get put
	  dup 5 charinfo 8 get put
	charinfo 9 1 getinterval cvx
	imagemask
end
} def

/BuildChar load 0 6 dict put
} def
dofont
/imagemaskmatrix [1 0 0 -1 0 0] def
/FontMatrix [0.03021 0 0 0.03021 0 0] def Encoding
dup 32 /ch32 put dup 33 /ch33 put dup 34 /ch34 put dup 35 /ch35 put
dup 36 /ch36 put dup 37 /ch37 put dup 38 /ch38 put dup 39 /ch39 put
dup 40 /ch40 put dup 41 /ch41 put
dup 42 /ch42 put dup 43 /ch43 put dup 44 /ch44 put dup 45 /ch45 put
dup 46 /ch46 put dup 47 /ch47 put dup 48 /ch48 put dup 49 /ch49 put
dup 50 /ch50 put dup 51 /ch51 put
dup 52 /ch52 put dup 53 /ch53 put dup 54 /ch54 put dup 55 /ch55 put
dup 56 /ch56 put dup 57 /ch57 put dup 58 /ch58 put dup 59 /ch59 put
dup 60 /ch60 put dup 61 /ch61 put
dup 62 /ch62 put dup 63 /ch63 put dup 64 /ch64 put dup 65 /ch65 put
dup 66 /ch66 put dup 67 /ch67 put dup 68 /ch68 put dup 69 /ch69 put
dup 70 /ch70 put dup 71 /ch71 put
dup 72 /ch72 put dup 73 /ch73 put dup 74 /ch74 put dup 75 /ch75 put
dup 76 /ch76 put dup 77 /ch77 put dup 78 /ch78 put dup 79 /ch79 put
dup 80 /ch80 put dup 81 /ch81 put
dup 82 /ch82 put dup 83 /ch83 put dup 84 /ch84 put dup 85 /ch85 put
dup 86 /ch86 put dup 87 /ch87 put dup 88 /ch88 put dup 89 /ch89 put
dup 90 /ch90 put dup 91 /ch91 put
dup 92 /ch92 put dup 93 /ch93 put dup 94 /ch94 put dup 95 /ch95 put
dup 96 /ch96 put dup 97 /ch97 put dup 98 /ch98 put dup 99 /ch99 put
dup 100 /ch100 put dup 101 /ch101 put
dup 102 /ch102 put dup 103 /ch103 put dup 104 /ch104 put dup 105 /ch105 put
dup 106 /ch106 put dup 107 /ch107 put dup 108 /ch108 put dup 109 /ch109 put
dup 110 /ch110 put dup 111 /ch111 put
dup 112 /ch112 put dup 113 /ch113 put dup 114 /ch114 put dup 115 /ch115 put
dup 116 /ch116 put dup 117 /ch117 put dup 118 /ch118 put dup 119 /ch119 put
dup 120 /ch120 put dup 121 /ch121 put
dup 122 /ch122 put dup 123 /ch123 put dup 124 /ch124 put dup 125 /ch125 put
dup 126 /ch126 put dup 127 /ch127 put dup 128 /ch128 put dup 129 /ch129 put
dup 130 /ch130 put dup 131 /ch131 put
dup 132 /ch132 put dup 133 /ch133 put dup 134 /ch134 put dup 135 /ch135 put
dup 136 /ch136 put dup 137 /ch137 put dup 138 /ch138 put dup 139 /ch139 put
dup 140 /ch140 put dup 141 /ch141 put
dup 142 /ch142 put dup 143 /ch143 put dup 144 /ch144 put dup 145 /ch145 put
dup 146 /ch146 put dup 147 /ch147 put dup 148 /ch148 put dup 149 /ch149 put
dup 150 /ch150 put dup 151 /ch151 put
dup 152 /ch152 put dup 153 /ch153 put dup 154 /ch154 put dup 155 /ch155 put
dup 156 /ch156 put dup 157 /ch157 put dup 158 /ch158 put dup 159 /ch159 put
dup 160 /ch160 put dup 161 /ch161 put
dup 162 /ch162 put dup 163 /ch163 put dup 164 /ch164 put dup 165 /ch165 put
dup 166 /ch166 put dup 167 /ch167 put dup 168 /ch168 put dup 169 /ch169 put
dup 170 /ch170 put dup 171 /ch171 put
dup 172 /ch172 put dup 173 /ch173 put dup 174 /ch174 put dup 175 /ch175 put
dup 176 /ch176 put dup 177 /ch177 put dup 178 /ch178 put dup 179 /ch179 put
dup 180 /ch180 put dup 181 /ch181 put
dup 182 /ch182 put dup 183 /ch183 put dup 184 /ch184 put dup 185 /ch185 put
dup 186 /ch186 put dup 187 /ch187 put dup 188 /ch188 put dup 189 /ch189 put
dup 190 /ch190 put dup 191 /ch191 put
dup 192 /ch192 put dup 193 /ch193 put dup 194 /ch194 put dup 195 /ch195 put
dup 196 /ch196 put dup 197 /ch197 put dup 198 /ch198 put dup 199 /ch199 put
dup 200 /ch200 put dup 201 /ch201 put
dup 202 /ch202 put dup 203 /ch203 put dup 204 /ch204 put dup 205 /ch205 put
dup 206 /ch206 put dup 207 /ch207 put dup 208 /ch208 put dup 209 /ch209 put
dup 210 /ch210 put dup 211 /ch211 put
dup 212 /ch212 put dup 213 /ch213 put dup 214 /ch214 put dup 215 /ch215 put
dup 216 /ch216 put dup 217 /ch217 put dup 218 /ch218 put dup 219 /ch219 put
dup 220 /ch220 put dup 221 /ch221 put
dup 222 /ch222 put dup 223 /ch223 put dup 224 /ch224 put dup 225 /ch225 put
dup 226 /ch226 put dup 227 /ch227 put dup 228 /ch228 put dup 229 /ch229 put
dup 230 /ch230 put dup 231 /ch231 put
dup 232 /ch232 put dup 233 /ch233 put dup 234 /ch234 put dup 235 /ch235 put
dup 236 /ch236 put dup 237 /ch237 put dup 238 /ch238 put dup 239 /ch239 put
dup 240 /ch240 put dup 241 /ch241 put
dup 242 /ch242 put dup 243 /ch243 put dup 244 /ch244 put dup 245 /ch245 put
dup 246 /ch246 put dup 247 /ch247 put dup 248 /ch248 put dup 249 /ch249 put
dup 250 /ch250 put dup 251 /ch251 put
pop /CharData 252 dict def
CharData begin
/ch32 [0.0331 0 0 0 0 1 1 0 0 <>] def
/ch33 [24 1 0 24 23 24 24 0.5 23.5
 <000000000000000000000000000000000000000000000000000000000000000000000000000000
 000000000000000000000000000000000000000000000000000000000000000000>] def
/ch34 [24 1 0 24 23 24 24 0.5 23.5
 <0003807fc3807f838073fffe737ffe733ffc7703807633b87e3bb87e3bb0771bf073038073fffe
 73fffe7383c07387c07f86c07f0ee0701c70703c7870f83e73f01e71c00c000000>] def
/ch35 [24 1 0 24 23 24 24 0.5 23.5
 <00040001c70001c70000c70000c70000c70000c70801c63c3fc67c3fc7f001c7e001c78001c600
 01c60001c60001c60001c60001c6000fc60c7fc60e7dc61e61c7fe01c7fc000000>] def
/ch36 [24 1 0 24 23 24 24 0.5 23.5
 <0000001ffff01ffff01c00701c00701c00701ffff01ffff01ffff01c18001c1c001c1c181ffffc
 1ffffc180c00180e0018060018070018c78c1fc3ce1f81fe3e00fe3c003c000000>] def
/ch37 [24 1 0 24 23 24 24 0.5 23.5
 <0001c07ffdc07ffd80007380bf73ff3f73fe33770e33760c3f7ecc0074dc7ffcc07ffcc06074c0
 3f71e03f71e03371e03371e03363703f733033773c707e1e01fe0e01ec04000000>] def
/ch38 [24 1 0 24 23 24 24 0.5 23.5
 <000000000000000000000000000000000000000000000000000000000000000000000000000000
 0600000f00000f00000600000000000000000600000f00000f0000060000000000>] def
/ch39 [24 1 0 24 23 24 24 0.5 23.5
 <0000000000100000387ffff80000000000000000000000000000000000200000701ffff8000000
 00000000000000000000000000000000000800001c7ffffe000000000000000000>] def
/ch40 [24 1 0 24 23 24 24 0.5 23.5
 <001000001c0000180000180000180000180000180000180000180800181c7ffffe001800001800
 001800001800001800001800001800001800001800001800001800001800001000>] def
/ch41 [24 1 0 24 23 24 24 0.5 23.5
 <0000000800300ffff80c18300c18300c18300c18300ffff00c18300c18300c18300c18300ffff0
 0818200018000018301ffff800180000180000180800181c7ffffe000000000000>] def
/ch42 [24 1 0 24 23 24 24 0.5 23.5
 <0801000e01d00c01980c01901901841fbffe18018030218c213ffe7fb18c4c318c8c318c0d3ffc
 7fb18c0c318c0c318c0c3ffc0c318c0cb18c0d318c0e318c1c31fc083118002010>] def
/ch43 [24 1 0 24 23 24 24 0.5 23.5
 <0800000e20300c3ff80c30300c30300d3ff07fb0300c30300c30300c3ff00da0200e000c1dfffe
 7c03002c23000c3b300c33f80c23000c63000c53000ccb007c87fe1903f8020000>] def
/ch44 [24 1 0 24 23 24 24 0.5 23.5
 <020000038000030000030030034ff83fe0300300300300300340307fe830020ff0038c00030c00
 130c001b4c041bec041b0c06130ffe1b07fc37000023800020fffe403ff8400000>] def
/ch45 [24 1 0 24 23 24 24 0.5 23.5
 <001000001c0000380000340000640000c200018300031180021cc004187008183e301818401800
 001800001800001800001800001800001800001800001800001800001800001000>] def
/ch46 [24 1 0 24 23 24 24 0.5 23.5
 <003000001800101c0010080c1ffffe30000c30005027ffe000300000602001a0700331c00c6b00
 30ce00018d00031d000c3c80306cc001cc60010c38020c1e0cfc08303800001000>] def
/ch47 [24 1 0 24 23 24 24 0.5 23.5
 <001000001c000018000018100018383ffffc0018800618e00318c0019980011908001a1c7ffffe
 007c00007a0000db000199800318c00618700c183e181818601800001800001000>] def
/ch48 [24 1 0 24 23 24 24 0.5 23.5
 <001000001c0000180800301c7ffffe00600000600000c06001fff00180600380600780600dffe0
 11806061806001806001ffe00180600180600180600180600187e00181c0010080>] def
/ch49 [24 1 0 24 23 24 24 0.5 23.5
 <00400000700000600000c03000fff800c0300180600380c00661800c3300101600200c00003800
 00e03003fff807803019803061803001803001803001803001fff0018030010020>] def
/ch50 [24 1 0 24 23 24 24 0.5 23.5
 <000000000000000000000000000000000000000000000000000000000000000000000000000000
 000000020000070000070000030000060000040000080000100000000000000000>] def
/ch51 [24 1 0 24 23 24 24 0.5 23.5
 <020000038c000306000607000603100c02380dfffc0c06001e06001c06002c06002c06004c0630
 0cfff80c06000c06000c06000c06000c06000c06080c061c0dfffe0c0000080000>] def
/ch52 [24 1 0 24 23 24 24 0.5 23.5
 <00200000380000300000200000600c7ffffe00c00000c2000583800703000603000603000e0318
 1e7ffc16030026030046030006030006030006030006030c06fffe060000040000>] def
/ch53 [24 1 0 24 23 24 24 0.5 23.5
 <0800100e00380c03fc0c7f0019020819a20c31b1182319987f19302614200607000c060018060c
 107ffe7f0c6030186000186000bcc00707801c03e0780e7030381c00600c018004>] def
/ch54 [24 1 0 24 23 24 24 0.5 23.5
 <04020007038006030c0cfffe180600304418247ffc4764980664980c64980c64981c7ff82c4010
 2c00044dfffe0c02000c91100c9d8c0c99260c98260d98240d1ff00c0fe0080000>] def
/ch55 [24 1 0 24 23 24 24 0.5 23.5
 <04004007007006006006006006006006c0667feffe0600600e00600e00601f08601ec460166660
 1646603606602604602600604600600600600600600600600607e00601c0040080>] def
/ch56 [24 1 0 24 23 24 24 0.5 23.5
 <000000000000000000000000000000000000000000000000000000000000000000020000070000
 020000000000000000020000070000070000030000060000040000080000000000>] def
/ch57 [24 1 0 24 23 24 24 0.5 23.5
 <0000000000000000c0007fe007f000000000000000000000000000000080001fc003f800000000
 00000000000000000000000000000000003800fffc1ff000000000000000000000>] def
/ch58 [24 1 0 24 23 24 24 0.5 23.5
 <0018000018000018000018000018000018000018000018000019fc3ffff01f1800001800001800
 001800001800001800001800001800001800001800001800001800001800000800>] def
/ch59 [24 1 0 24 23 24 24 0.5 23.5
 <000000000060027fe003f840021040021040021fc002f8c00210c00210800211c003ffc0031000
 031000001800001fe003fe00001800001800001800001ffc3fffe0000000000000>] def
/ch60 [24 1 0 24 23 24 24 0.5 23.5
 <00030003034003033002011006410007c3fc043f800801001983301f9ff0261b304613300293f0
 0fdfd01e1310021310021fd0065210069230071210061310043270003270001030>] def
/ch61 [24 1 0 24 23 24 24 0.5 23.5
 <002030003fe00832200432a0063fe0023260003260003fe00332001f52103243f8047f10046290
 0462d0067fd00278700661300460a03c606023c060007c000007c60000fc000000>] def
/ch62 [24 1 0 24 23 24 24 0.5 23.5
 <001000001800001800001800001800001800001800001800001bf80fff800f1800003800002400
 00240000620000420000c1000081800180800300c00600600c007e100000000000>] def
/ch63 [24 1 0 24 23 24 24 0.5 23.5
 <0002000846000be6000f44600c4fe0044840045cc00fd6800d230005230001028009e440090830
 09101e096860098fe00968600988600f08403c08403009e0000fc0000c00000000>] def
/ch64 [24 1 0 24 23 24 24 0.5 23.5
 <000000000000000000000000000000000000000000000000000000000000000000000000000000
 000000020000070000070000030000060000040000080000100000000000000000>] def
/ch65 [24 1 0 24 23 24 24 0.5 23.5
 <0200000300000300300300700319c0030e000308000368000fe8003b18fc031fc0035880039880
 071a801e11807210e00210f00310980330880320800220801a40800e4080068080>] def
/ch66 [24 1 0 24 23 24 24 0.5 23.5
 <0000000000e000ffe007f0c0000080000100001200001c00000c00000800000c00000c00000400
 000400000400000400000400000400008c00004c00006800003800001800000000>] def
/ch67 [24 1 0 24 23 24 24 0.5 23.5
 <000800000c00000d80000cc000cc6007c4003cc41000c4780087c008be0005a620038260030260
 0183c003838002c300044700044c880818c410204430402420001c00000e000000>] def
/ch68 [24 1 0 24 23 24 24 0.5 23.5
 <00100000180000180000300000200000640000c3000081800100c003007007fff00fe010000010
 0000800303c001ffc0018080010080010080010180010180013f8001ff00010000>] def
/ch69 [24 1 0 24 23 24 24 0.5 23.5
 <000400010600030400030c60020fe0061e400418c00da5800da3001dc3002585802588c0459360
 04a63c04cc9804998005b300058660058c600418c00421800407000c0c000c3000>] def
/ch70 [24 1 0 24 23 24 24 0.5 23.5
 <00038000ff8007c1000003000083000083000082000182000182000186100107f801ffb003e030
 000030000030000fa007fc203e00600000600004400002400001c0000180000000>] def
/ch71 [24 1 0 24 23 24 24 0.5 23.5
 <000000000000000000000000000000000000000000000000000000000000000000020000070000
 020000000000000000020000070000070000030000060000040000080000000000>] def
/ch72 [24 1 0 24 23 24 24 0.5 23.5
 <0000000000000000000000000003c0003fc001fe00000000000000000000000000001f8001ff00
 0000000000000000000000000007fc03fffe7fc006000000000000000000000000>] def
/ch73 [24 1 0 24 23 24 24 0.5 23.5
 <0001e0003fe003ff0000018000198001fd8001990001b90000e3000001fe01fffe7fc300701300
 00fb00073b0003310003710003c100010100000180000380001f00000f00000700>] def
/ch74 [24 1 0 24 23 24 24 0.5 23.5
 <003800003800003800003800006c0000660000c3000181800381c00338e00638788c183f98001f
 60070040ff8007e700000600000600000e00000c00001c00001800001800000000>] def
/ch75 [24 1 0 24 23 24 24 0.5 23.5
 <00e00000e00000c3c000df8001fc00030c00060c00040fc0027fc003ec00010c00010c18010ffe
 07fffe7f0c00700c00000c00000c00000c00000c00000c00000c00000800000800>] def
/ch76 [24 1 0 24 23 24 24 0.5 23.5
 <0000000000000000000000000000000000000000000000000000000000080003feffffff7fe000
 000000000000000000000000000000000000000000000000000000000000000000>] def
/ch77 [24 1 0 24 23 24 24 0.5 23.5
 <000000003000003800003800003800001800001800001830001ffc03fffc7fb000383000001800
 003800003000003000003000003000003000003000003000003000001000000000>] def
/ch78 [24 1 0 24 23 24 24 0.5 23.5
 <000000006000007000003000003000003000007000006780007f8001f3001fe7001cc60000c600
 00c6000186000184020304020704028606038c070fb003ff4001fc000000000000>] def
/ch79 [24 1 0 24 23 24 24 0.5 23.5
 <000000000000000000000000000000000000000000000000000000000000000000000000000000
 000000020000070000070000030000060000040000080000100000000000000000>] def
/ch80 [24 1 0 24 23 24 24 0.5 23.5
 <000000000000000000000000000030001ffc3ffc1c38cc1c18cc1818cc1818cc18188ff80987f8
 0900300e00300c07300ffff00f80f0000060000060000000000000000000000000>] def
/ch81 [24 1 0 24 23 24 24 0.5 23.5
 <0007000003000e03000603000603000603e00407e0049e0004c2000cc2f00f8ff07dfe00698700
 090f800f0ac0071a7003323c87e23f0dc21e308200600600000200000200000000>] def
/ch82 [24 1 0 24 23 24 24 0.5 23.5
 <0001000007c003ffc003c3800006000006000038000018000018fc007ffe3fec003c0c00000c00
 000c00000c00000c00000c00000c00000c00009c00007c00003800001000000000>] def
/ch83 [24 1 0 24 23 24 24 0.5 23.5
 <000000000000000000007800003c00001c00000c000000000000fc003ffe0ffc1c3f0000000000
 00860000e38001c1c00180e00300e00600700c0020000000000000000000000000>] def
/ch84 [24 1 0 24 23 24 24 0.5 23.5
 <000000000000000000000000000000000000000000000000000000000000000000020000070000
 020000000000000000020000070000070000030000060000040000080000000000>] def
/ch85 [24 1 0 24 23 24 24 0.5 23.5
 <00001c0000183fc6183fc61838c61838c61838c61838c61838c61838c61838c61838c61838c618
 3fc6383fc7f83fcff838cf1838c018380018000018000018000018000018000000>] def
/ch86 [24 1 0 24 23 24 24 0.5 23.5
 <0000000000000000000000000000000000000000000000000000000000000000007ffffe7ffffe
 000000000000000000000000000000000000000000000000000000000000000000>] def
/ch87 [24 1 0 24 23 24 24 0.5 23.5
 <000800001c00001c003ffffe3ffffe3ffffe001c00001c000ffffc0ffffc0000000ffff80ffff8
 0e3ff80e1c380e1c380e1c380ffff80ffff80c00381c0018380000380000700000>] def
/ch88 [24 1 0 24 23 24 24 0.5 23.5
 <0000001ffff81ffff01c003018003019ff701bff701bff7018077018867019ce7019ee70187c70
 183c70181c70383e7038f77039e3f037c136f3803ff0001f60001e60000e000000>] def
/ch89 [24 1 0 24 23 24 24 0.5 23.5
 <01c18001c1c001c1807ffffeffffff7ffffe01c18001dd80001c0007fff007fff007fff0061870
 0618700e18707ffffeffffff787e7e00760000f70001e3c00fc1fc7f00fe3c003c>] def
/ch90 [24 1 0 24 23 24 24 0.5 23.5
 <030c00038e00070c00071c008e1fff0e3ffe1e3ffe1e700c3e639c7ee31c7ec3186c03004c3320
 0e3b700e33380c73380c631c0c631c0ce30e0dc30e0c43040c1f000c0f00000000>] def
/ch91 [24 1 0 24 23 24 24 0.5 23.5
 <0000003ffffe7ffffe7ffffe000e00000c00001c00003c00003c800079c000f9e001d8f0039870
 0798380f181c3e181e78180e301804001c00001c00001c00001c00001c00000000>] def
/ch92 [24 1 0 24 23 24 24 0.5 23.5
 <0000007ffffe7ffffe00e60000e6001ffff81ffff81cc6301ce6301ce6301ffff81ffff0003000
 0070007ffffe7ffffe01c18003c38003ff00003f80007ff03ff8fc3fc03c000000>] def
/ch93 [24 1 0 24 23 24 24 0.5 23.5
 <1fe7f81fe7fc1fe7fc18661818661818661c1fe7fc1fe7fc001c60001ce00018700018607ffffe
 7ffffe003c00003e0000770000e78001e3c007c1f8ff80ff7e003e38000c000000>] def
/ch94 [24 1 0 24 23 24 24 0.5 23.5
 <000000000000000000000000000000000000000000000000000000000000000000000000000000
 000000020000070000070000030000060000040000080000100000000000000000>] def
/ch95 [24 1 0 24 23 24 24 0.5 23.5
 <0000000000001800081ffff81ffff80000000000000000000000000000000600000fffe00fffe0
 0000000000000000000000000000000000007ffffe7ffffe000000000000000000>] def
/ch96 [24 1 0 24 23 24 24 0.5 23.5
 <3ffffe3ffffe3ffffe0000700ffe700ffe700e0e700e0e700ffe7007fc70600072ffffffffffff
 0000700ffe700ffe700c0e700c0e700ffe700ffe700c0e700c03f00001f0000000>] def
/ch97 [24 1 0 24 23 24 24 0.5 23.5
 <001c00001c00001c00001c000ffff80ffff80ffff8001c00001c00401c007ffffe7ffffe001c02
 001c00071c00071ff8061ff80e1ff80f18001f98001fd80039f80078fffe703ffe>] def
/ch98 [24 1 0 24 23 24 24 0.5 23.5
 <00000000003c1ffffe1ffffe00007c0001f00003c0000f00001e00001c00001c00001c00001c00
 001c00001c00001c00001c00001c00001c00001c00007c00007c00003800000000>] def
/ch99 [24 1 0 24 23 24 24 0.5 23.5
 <0000001e003c1ffffc1ffffc18000c18000c18001c19ff9c18ff9c18c39c18c39c18c39c18c39c
 19c39c19ff9c19ff9c18000c18000c18000c1ffffc3ffffc3ffffc38000c000000>] def
/ch100 [24 1 0 24 23 24 24 0.5 23.5
 <001c00001c00001c000018003ffffc3ffffc0018000618600718f00798e00399c00118807ffffe
 7ffffe7ffffe00ff0001db00039bc00799e00f18f83e187e7c183e30180c201800>] def
/ch101 [24 1 0 24 23 24 24 0.5 23.5
 <000000003ffc3f3ffc3f339c3f739c33739c33739c337ffc337ffc33739c33739c33739c337ffc
 333ffc3303803f03843f7ffc337ffc33038070038000fffe00fffe000000000000>] def
/ch102 [24 1 0 24 23 24 24 0.5 23.5
 <000000000000000000000000000000000000000000000000000000000000000000020000070000
 020000000000000000020000070000070000030000060000040000080000000000>] def
/ch103 [24 1 0 24 23 24 24 0.5 23.5
 <40038030630018630018630000c30c00fffe018300c103006a030068030008030613ffff101980
 101980301980301980e0318060318260318260618230618230c1833181ff3600fe>] def
/ch104 [24 1 0 24 23 24 24 0.5 23.5
 <0000000000087ffffc00001e00003c0000700000c0000300001c00001800001800001800001800
 00180000180000180000180000180000180000180000180000180007f800007000>] def
/ch105 [24 1 0 24 23 24 24 0.5 23.5
 <0000f00007f8007f003ff8000018000018000018000018183ffffc001800001800001800001800
 001806ffffff00180000180000180000180000180000180000180007f80000f000>] def
/ch106 [24 1 0 24 23 24 24 0.5 23.5
 <001c00001800001806ffffff0018000718380618300618600c18600e18d81918c6199983309a03
 603c00803a00007b0000f98001d8c00398e00718700c183c30181fc01806001800>] def
/ch107 [24 1 0 24 23 24 24 0.5 23.5
 <00400001e0000f8000fe04020607ff060607060606064606ffe6060606060e06060f06061e8606
 1ec6063666063666066606064606068606060607fe060606060606060000060000>] def
/ch108 [24 1 0 24 23 24 24 0.5 23.5
 <0030000038000060000040001080081ffffc18001c180018180018180018180018180018180018
 1ffff81800181800181800181800181800181800181800181ffff8180018180018>] def
/ch109 [24 1 0 24 23 24 24 0.5 23.5
 <0000000000607ffffe0018000018000030000020043ffffe30c30e30c30c30c30c30c30c30ff0c
 30c30c30c30c30c30c30c30c30ff0c30c30c30c30c30c30c30c30c3ffffc30000c>] def
/ch110 [24 1 0 24 23 24 24 0.5 23.5
 <000000000000000000000000000000000000000000000000000000000000000000000000000000
 000000020000070000070000030000060000040000080000100000000000000000>] def
/ch111 [24 1 0 24 23 24 24 0.5 23.5
 <0000000000100000383ffffc0000000000000000000000000000000000400000e00ffff0000000
 00000000000000000000000000000000000400000effffff000000000000000000>] def
/ch112 [24 1 0 24 23 24 24 0.5 23.5
 <0000067ffffe00003000003007fe30060c30060c30060c3007fc300601f0000060000006ffffff
 0000300000300ffe300c0c300c0c300c0c300ffc300c0030000030000ff00001e0>] def
/ch113 [24 1 0 24 23 24 24 0.5 23.5
 <000c00001c00001a0000320000610000c1800180c003007006003c0c018f31ffc6c00000000000
 0000200ffff00000700000600000600000c00000c00000c0000180000180000300>] def
/ch114 [24 1 0 24 23 24 24 0.5 23.5
 <00000000000c7ffffe00300000300000300000300000300000300000300c7ffffe006000006000
 00600000c00000c2000183000181000300800300c00600600c003818001fe0000e>] def
/ch115 [24 1 0 24 23 24 24 0.5 23.5
 <003800003000003000003000003000003000003000003000003018003ffc003000003000003000
 00300000300000300000300000300000300000300400300effffff000000000000>] def
/ch116 [24 1 0 24 23 24 24 0.5 23.5
 <0800c00600c0030180030206ffffff00000000000020200e3ff38c30730c30630c30630c3fe30c
 30630c30630c30630c3fe30c30630c30630c30600c30600c30600c33e1fc30c038>] def
/ch117 [24 1 0 24 23 24 24 0.5 23.5
 <0c01800e01800c1204181ffe10180e30980ca0dffc61980c31180c1b180c0e1ffc0c0180120180
 230186ff7dc6e18dac0199b000199052319852318edb6187d98182990f80000300>] def
/ch118 [24 1 0 24 23 24 24 0.5 23.5
 <000000000000000000000000000000000000000000000000000000000000000000020000070000
 020000000000000000020000070000070000030000060000040000080000000000>] def
/ch119 [24 1 0 24 23 24 24 0.5 23.5
 <000030001ff01ff18008018000198001f98001118001118001f9800101840007fe1fff80780180
 02198003f98003118003118003f980030080010080000880000780000380000180>] def
/ch120 [24 1 0 24 23 24 24 0.5 23.5
 <0018000018000018400018600418600218c0031880019980009900001a0000087000fff00fe020
 000020000020000fa003fc200000200000600000600007e00ffe00000000000000>] def
/ch121 [24 1 0 24 23 24 24 0.5 23.5
 <0001c00007c0013e0001e0000100000100000181f001ffc001820001820001860001860000861c
 01fffc3ff00000000000630000e1800180c00300600600700c0020300000000000>] def
/ch122 [24 1 0 24 23 24 24 0.5 23.5
 <000200060300060320023330021a60021a40020a980383f83fbf00060680070e400f92600ab23c
 1a621812c600220418423ffc02f8c0021080021980020f000203c0060c70061818>] def
/ch123 [24 1 0 24 23 24 24 0.5 23.5
 <00020000030000018002010003010001010001010000010803e1fc3f818000c10008c1000c8100
 0483000693f0069ff004983000c8200708203c0820300820000ff0000f00000800>] def
/ch124 [24 1 0 24 23 24 24 0.5 23.5
 <000000000000080018087ff80fe4100c64100c64100c64100c643004643004443004443004c430
 0487f0058320070020060020040020041fe00ffc600c0020000000000000000000>] def
/ch125 [24 1 0 24 23 24 24 0.5 23.5
 <000200020300030100020100020100020100024170067fe004d3003fc30034c30804c3fc0cff80
 0887800887800d8f40070b6003932003f33006631804431e088300110300200300>] def
/ch126 [24 1 0 24 23 24 24 0.5 23.5
 <0000000003e007ffe003818000010000020000140000180000080000083c00fffc3ffc00000c00
 000c00000c00000c00000c00000c00010800008800006800003800001800000000>] def
/ch128 [24 1 0 24 23 24 24 0.5 23.5
 <0000000000800007c007ff8007010000010000030003020001820000c600004400006c00003800
 001800001800003c0000660000c3000181800301c00600f00c007e300000000000>] def
/ch129 [24 1 0 24 23 24 24 0.5 23.5
 <0008000008000018000018000010000030100033f803ff001fc00000c600008600018600010200
 0302000706f00d3fe01976003106004106000102000102000303fc03ffe003e000>] def
/ch130 [24 1 0 24 23 24 24 0.5 23.5
 <0018000218400318400218400218c0037fc003e000000020041ff007f800040800040b8004ff00
 040800040be005ff000c0800080880087fc008f800100800100ff827fe00200000>] def
/ch131 [24 1 0 24 23 24 24 0.5 23.5
 <00010000018000018000019010091011e9301fed201265601245401241f813df801f41001a4100
 1a410c1a4ffc1a7d001fc100184100080100000100000100000100000100000100>] def
/ch132 [24 1 0 24 23 24 24 0.5 23.5
 <002000003000001800001000001000001000001000001000001000001060001fe0001c00001000
 001000001000001000001000001000001000001000001008001ffc7fff80000000>] def
/ch133 [24 1 0 24 23 24 24 0.5 23.5
 <0000100000383ffffc0000c00418c007fcc00618c00618c007f8c004108800001c7ffffe000060
 0818600ffc600c18600c18600ff8600c18600810600000600007e00001c0000080>] def
/ch134 [24 1 0 24 23 24 24 0.5 23.5
 <001000001c000018001018200c18780618600718c0031880021900001a183ffffc000018000018
 0000180000180ffff80000180000180000180000180000183ffff8000018000010>] def
/ch135 [24 1 0 24 23 24 24 0.5 23.5
 <0000000001e0020ff003fe0003000003000003001003003803fffc030300030300030300030308
 03031c7ffffe00000000840000e3000180c00300600600300c001830000c000000>] def
/ch136 [24 1 0 24 23 24 24 0.5 23.5
 <0002000803800e03000c03000c43180c7ffc0c63180d63107fe3200c63000c63300c7ff80c6830
 0c68300d64600e64601c46c078c38020c3800186c0010c7802303e04c010000000>] def
/ch137 [24 1 0 24 23 24 24 0.5 23.5
 <00000000000800001c7ffffe0030000030000030000030000030000037000031c00030e0003060
 003020003000003000003000003000003000003000003000003000003000002000>] def
/ch138 [24 1 0 24 23 24 24 0.5 23.5
 <0000000000002000183ffffc30c61830c61830c61830c61830c61830c61830c61830c618308618
 3186183107983203d83400183000183000183ffff8300018300018200010000000>] def
/ch139 [24 1 0 24 23 24 24 0.5 23.5
 <0802000e03800c03000c03000c03180dbffc7fc30019830019830019830c19fffe198780330740
 330f40330f600e1b30061b3807331c0d630f194304108300210300400300000200>] def
/ch140 [24 1 0 24 23 24 24 0.5 23.5
 <0000000000301ffff80000600000c000030000140000180000180000180800181c7ffffe001800
 00180000180000180000180000180000180000180000180001f800007000002000>] def
/ch141 [24 1 0 24 23 24 24 0.5 23.5
 <0001001181c01fc380198340198640198c201988301f901819a00f19c024199ff01980001fa210
 19911c199998198998198d90198db01989203180402180442fbffe470000020000>] def
/ch142 [24 1 0 24 23 24 24 0.5 23.5
 <0000800000e02060c83fe8ce326ccc3266d83266d03264e03260c8326ffc3fe0c03260c03260c0
 3260cc327ffe3260c03260c03fe0c03060c02040c00000c00000c00000c0000080>] def
/ch143 [24 1 0 24 23 24 24 0.5 23.5
 <002000003800003000003000003000003000003000003020003070003ff8003000003000003000
 00300000300000300000300000300000300000300000300800301c7ffffe000000>] def
/ch144 [24 1 0 24 23 24 24 0.5 23.5
 <01000001c00001800801801c7ffffe01840003070003060003060003461003461c064d30064d60
 06cd8006cd000618800c18800c30c018306010603820c01e2300084c0000000000>] def
/ch145 [24 1 0 24 23 24 24 0.5 23.5
 <0800000e20180c3ffc0c30180c30180c3ff80d30187fb0180c3ff80c20100c060c0c7f7e0c060c
 0c464c0c266c0da62c0e0e1c7836ec31e64c00860c00060c003e7c000c18000810>] def
/ch146 [24 1 0 24 23 24 24 0.5 23.5
 <0000000001e0003ff03ffe000820400618600318c01211081ffffc3020183030206060080ffffc
 00c0000180c001ffe00340c00321800633000c1e00181f001073c02380fe4c0018>] def
/ch147 [24 1 0 24 23 24 24 0.5 23.5
 <00000004006007fff0060060060060061060061c60061860061860061860061860061860063060
 063860066e40046c00006c0400cc0401cc04018c06070ffe0c07fc700000000000>] def
/ch148 [24 1 0 24 23 24 24 0.5 23.5
 <0000000032043ffbfe06330c0633180633180633103ff3300633200633400633200633103ff318
 06330c0633060633060c33060c330e08737c1be31810e310304300200300400200>] def
/ch149 [24 1 0 24 23 24 24 0.5 23.5
 <000800020e00038c000318000618000e300c0c3ffe0c620c1e63903cc3002c83004d23004c3b60
 0c33300c63180c630c0c430c0cc3060c83060d03040c03000c3f000c0e00080400>] def
/ch150 [24 1 0 24 23 24 24 0.5 23.5
 <0200c003ffe00300c00300c00300c003ffc00300c00300c00300c003ffc002008800001c7ffffe
 001800041800071830061ff80618000e18000d180018d800307ffe401ff8000000>] def
/ch151 [24 1 0 24 23 24 24 0.5 23.5
 <00040000670001f6600f86303b061803061003060003060c7ffffe03060003060003363003c638
 1f06607b02c02303800303000307840309840330c43f40740e003e04000e000000>] def
/ch152 [24 1 0 24 23 24 24 0.5 23.5
 <0201000381c003018002030006030024620c3ff7fe30640c306c0c30680c30700c30620c3fe30c
 30618c30618c30610c30600c30600c30600c3fe00c30601c3043f8200070000020>] def
/ch153 [24 1 0 24 23 24 24 0.5 23.5
 <04000007000006000004020c0c33fe0ffb0c19830c11830c21830c01830c019b0c7fff0c01830c
 01830c01830c01830c03630c03330c061b0c041bfc08130c100208200000000000>] def
/ch154 [24 1 0 24 23 24 24 0.5 23.5
 <000000003000001800000c00000c0001080001c00001800001804001803011801811800c11800c
 11800e31804431804061804001804001804001806001ffe000ffc0000000000000>] def
/ch155 [24 1 0 24 23 24 24 0.5 23.5
 <000000001000001c0000180000180000180000380000380000340000340000640000620000c200
 00c3000181000181800300c006006004007008003c10001f200008400000000000>] def
/ch156 [24 1 0 24 23 24 24 0.5 23.5
 <00100000180000180000380000280000640000c6000083000121800330800618c00c187018003e
 20011c403f8007f300020300000200000200000600000400000c00000c00001800>] def
/ch157 [24 1 0 24 23 24 24 0.5 23.5
 <00400000400000c00000c0000181f001ff8003c800020c00040c000a0fe011ffc0018c00010c00
 010c00010c7c03fffc7fcc00000c00000c00000c00000c00000c00000c00000c00>] def
/ch158 [24 1 0 24 23 24 24 0.5 23.5
 <000000000000000000000000000000000000000000000000000000000000000008000ffc1fff00
 000000000000000000000000000000000000000000000000000000000000000000>] def
/ch159 [24 1 0 24 23 24 24 0.5 23.5
 <002000003000003000003000003000002000002380003f000ff3000c2300006300006300004300
 00430000c2000082000182040102040302060202060403060801fe100078200000>] def
/ch160 [24 1 0 24 23 24 24 0.5 23.5
 <00030000030000020000020000241013a5f01f3ff01120301120301120301327b0133e301f2030
 102030102030103fa0003030003020003020003020003fe0003c20003020000000>] def
/ch161 [24 1 0 24 23 24 24 0.5 23.5
 <0020000110000318100309f00641900460100c60100c4010144010344010244010444010044010
 0440100440100440100440100440100440100441100440f0044070044030000000>] def
/ch162 [24 1 0 24 23 24 24 0.5 23.5
 <0000000001fc1fff801e4200006200006200004230087ff00ffe300c44300c44300cc4300ce620
 0cb9a00d89a00518a00610200e20200c20200c01200c00e00c0060000000000000>] def
/ch163 [24 1 0 24 23 24 24 0.5 23.5
 <001000001800001800001800001000001000001000003000003000003000006800006c00004400
 00c6000082000183000101000200800600c00c006018007030003c60003e000000>] def
/ch164 [24 1 0 24 23 24 24 0.5 23.5
 <000000001080041f800318800311800010800010800010803030800d20f80d40000183c0023fc0
 020080023180061900040e000406002c0e001819800830c000c07003003e000000>] def
/ch165 [24 1 0 24 23 24 24 0.5 23.5
 <001000000900000980000880040870063ff007ec000604400404c004f68007a380042300046700
 0dc98808d0c80801e813ffd8326c88226c80026c800268800268983ffffc000000>] def
/ch166 [24 1 0 24 23 24 24 0.5 23.5
 <0301800301800201000603000422100ce7f00fe720082c60107ac02b63802f4380494780094d18
 0953f80f4710084e30005b200041600041c004c18003c300018600009800003000>] def
/ch167 [24 1 0 24 23 24 24 0.5 23.5
 <000000000000000000000000000000000000000000000000000000000000000000000000000000
 000000070000088000104000104000104000088000070000000000000000000000>] def
/ch168 [24 1 0 24 23 24 24 0.5 23.5
 <00000000000000200000380000380000300000300000700000600000600000f00000d800018c00
 018e000307000603800c01c01801f03000fce0007f000000000000000000000000>] def
/ch169 [24 1 0 24 23 24 24 0.5 23.5
 <0000000000600400700730e00318c00119800001000007e0023ee00730c07e10c07613c0061f00
 060d80064d000699000799020731028e31038c61878cc1ff0000fe000000000000>] def
/ch170 [24 1 0 24 23 24 24 0.5 23.5
 <000000000380000380000300000600000460000df8073f387fb0302330303337b0323f30373030
 3e1010301fb0301c18001018003018003ff8003e78001038000030000030000000>] def
/ch171 [24 1 0 24 23 24 24 0.5 23.5
 <0000000000000000000000000000c0001fe001ffe000f800000000000000000000000000000000
 0000000000000001fc00fffe7ffffe000000000000000000000000000000000000>] def
/ch172 [24 1 0 24 23 24 24 0.5 23.5
 <00000000000000078000ff8003f8000060000060000060000063e0007fe00ff8000f6000007000
 00700000c80000cc000186000383000703c00e01f8f800ff000000000000000000>] def
/ch173 [24 1 0 24 23 24 24 0.5 23.5
 <0000000007000007000e03000706000306000007f0007e700076600604601f0c60360c60060860
 0418600430c00623c00241c00281807f800030f000801fff0007fc000000000000>] def
/ch174 [24 1 0 24 23 24 24 0.5 23.5
 <00000000020001038001838001c30000833000233807f3087f03003003f003ef801ee70008c780
 0dc5800f0580030d801369003379063319066731860720fe0240fe000000000000>] def
/ch175 [24 1 0 24 23 24 24 0.5 23.5
 <000400010600018700038600030e00030c00060c700619f80e1fb81e30201e2440364600660600
 06060006026006623806623806e21c06c30c068300060f00040700000600000000>] def
/ch176 [24 1 0 24 23 24 24 0.5 23.5
 <06000003000003000003000003000003007003c3f81fbe303f13600352600392400313e0071f80
 0f10001b1002731002e31003c31807830e1f0f0ffe0701f0030000000000000000>] def
/ch177 [24 1 0 24 23 24 24 0.5 23.5
 <0030000018000018000018000019c00018c000d84003c8000f0800018fc0019e0001fc001f84e0
 1d86c001a6c001c3800783001d8700798d802198c405806403807603003e01001e>] def
/ch178 [24 1 0 24 23 24 24 0.5 23.5
 <003000003800003000007800006c0000c600018300038180031ee006fcf88c307fb833bf603fc0
 4ff800042000002200037f8003e380030300018300018e0001ff00018000000000>] def
/ch179 [24 1 0 24 23 24 24 0.5 23.5
 <0010000018000018000018000030000031f0003fe007fe0003e00000670000c300008300038300
 0303f0030fe0073f000d03001903003103086103fe433ffe03f800030000030000>] def
/ch180 [24 1 0 24 23 24 24 0.5 23.5
 <0038000038000018c00018e00219c0039b00019a00009800001f8000ff0003f8000018000019fc
 00fffe3ff8003c1800001800001800001800001800001800001800001800001800>] def
/ch181 [24 1 0 24 23 24 24 0.5 23.5
 <00000000030000030001c7001fe6e018c7f008cce00b88c00f18c003378003030033c3803306c0
 120c7012183e93b0df1f7fe03cb8707010604018600019e0001fe0000800000000>] def
/ch182 [24 1 0 24 23 24 24 0.5 23.5
 <000000000000000000000000000080000fe00ffff00780f00600e00600e00600c00301c00301c0
 03018003038003ffc003f800030000000000000000000000000000000000000000>] def
/ch183 [24 1 0 24 23 24 24 0.5 23.5
 <000000000000000000000000000000000000000000000000000000000000000000000000000000
 000000070000088000104000104000104000088000070000000000000000000000>] def
/ch184 [24 1 0 24 23 24 24 0.5 23.5
 <0030000078000070007ffffe7ffffe7ffffe01c00001800003fff007fff00f00700f00701ffff0
 7bfff073fff023007003007003fff003fff00300700300700300700301f00700e0>] def
/ch185 [24 1 0 24 23 24 24 0.5 23.5
 <0381c00381c00381c00701c00701c00701c00f01c01f01c09e7fffbe7fff7601c07601c02601c0
 0601c00701c00701c00701c00701c00701c00701c00701c00701c00701c0000000>] def
/ch186 [24 1 0 24 23 24 24 0.5 23.5
 <00200000380000700000700000e00000e18001c3c00383800387000707000e0e001e0e003c1c00
 7838001038400071e000e0e001c0700380380f0ffc1ffffe0fff0e0c000e000000>] def
/ch187 [24 1 0 24 23 24 24 0.5 23.5
 <08001c1c07fc1e7ffe0e7f8007038004038000038080fffffcffff7ce3807c03800c03800c0380
 0c3ffc0c3ff80c30180db0180ff0180fb0180f30181e3ffc1c3ffc18301c000000>] def
/ch188 [24 1 0 24 23 24 24 0.5 23.5
 <00030001c78001c70001c70001c70001c70001c70001c70001c70001c70001c70001c70001c700
 0187000187000387000387000707040f070e1e079e3c03fe7803fc300000000000>] def
/ch189 [24 1 0 24 23 24 24 0.5 23.5
 <0000380000380000387fe0387fe0387fe83a80ffff80ffff18c0381cc0380fc6380f8e38078738
 03873803833807c3380ec0381ee0383c70387860387000382001f80000f8000000>] def
/ch190 [24 1 0 24 23 24 24 0.5 23.5
 <000600004e0003ee607ffe703f0e783306380306100306007ffffe7ffffe030600030630031638
 03f6701ff7707f87e07f03c06303c0030780030fc4033dce0778fe1f307e0e003c>] def
/ch191 [24 1 0 24 23 24 24 0.5 23.5
 <0018300838781c1c700e1c600e0ce0063ff8007ffc7c7ff87e70187c70180c70180c7ff80c7ffc
 0c0ec00c0cc00c8cc00d8cc00f9cc00f9cc48f38c79e78c71cf0fe09e0fe000000>] def
/ch192 [24 1 0 24 23 24 24 0.5 23.5
 <000000003800003c00001c00000e00000f0000040000e00018e0301cc0701cc0781cc03818c01c
 38c01c38c00e38c00e70c00c70c08000c0c000c1c000ffc000ffc0000000000000>] def
/ch193 [24 1 0 24 23 24 24 0.5 23.5
 <0000000ffff80ffff80ffff80c18380c18380ffff80ffff80c18380c18380c18380ffff80ffff8
 0018000018001ffff81ffff81ffff80018000018007ffffeffffff000000000000>] def
/ch194 [24 1 0 24 23 24 24 0.5 23.5
 <0038000018003ffffe7ffffe7ffffe70180e77ffcc77ffec0218400018000ffff00ffff0001800
 7ffffe7ffffe0018000ffff00ffff00e00700e00700e00700ffff00ffff00e0070>] def
/ch195 [24 1 0 24 23 24 24 0.5 23.5
 <01e00001c00003ffe007ffc00f03801c07003ffff87ffff82000380000380ffff80ffff8000038
 0ffff80ffff80ffff80198301d9c38198c1c398cdc3980ee71ffe671ffc0000000>] def
/ch196 [24 1 0 24 23 24 24 0.5 23.5
 <000000000000000000000000000000000000000000000000000000000000000000000000000000
 000000070000088000104000104000104000088000070000000000000000000000>] def
/ch197 [24 1 0 24 23 24 24 0.5 23.5
 <07000006001c06007e0c03e00cff000c03001803001803001803003803002c03006c03064dffff
 8c03000c03000c03000c03000c03000c03000c03000c03000c030c0cfffe0c0000>] def
/ch198 [24 1 0 24 23 24 24 0.5 23.5
 <004700ffe60000c60600cfff2188181a14180c2430060230fff3600631c00e63c00e86701e181f
 16e386360300260300667ffe46060c86060c060c0c060c0c0618187e31f81cc070>] def
/ch199 [24 1 0 24 23 24 24 0.5 23.5
 <38ce0030cc6630cc6633ff4430cc4c34ccc8fefc923030ff3031cc31ffcc3132cc3132ff3dfecc
 f030ccf030cc31fecc3030ff33fecc3060cc30d8cc30cccc3186fff304c06400c0>] def
/ch200 [24 1 0 24 23 24 24 0.5 23.5
 <007000006000006000006006ffffff00c00000c0000183800183000303000b03000e03000c030c
 1c7ffe2c0300cc03000c03000c03000c03000c03000c03000c03060cffff0c0000>] def
/ch201 [24 1 0 24 23 24 24 0.5 23.5
 <001c000018000018002018023fffff600007e00006c0000c0000301ffff8001800001800001800
 0e18000c18600c1ff00c18000c18001a18001b180031d80030f800603fffc007fe>] def
/ch202 [24 1 0 24 23 24 24 0.5 23.5
 <002002fff3ff0900070900060900060900064910067ff8064938064932064933fe493306593300
 50f3007033006033006033006033027ff3026033026033026033037ff3ff6031fe>] def
/ch203 [24 1 0 24 23 24 24 0.5 23.5
 <2040003fe63030e67030cc403fccc030d8cc30d68c3fe31830c19830c1303fc06430c04230c08e
 fff7f3060763060060368368366364363666262463660c61460860861060060060>] def
/ch204 [24 1 0 24 23 24 24 0.5 23.5
 <0600000700000600000c000c0ffffe180c00180c00300c00240c1847fffc860c00060c00060c00
 060c00060c00060c06ffffff000c00000c00000c00000c00000c00000c00000c00>] def
/ch205 [24 1 0 24 23 24 24 0.5 23.5
 <000000000006ffffff0018000018004018027fffff6018076018066f9be66318c66318c66318c6
 6319c666992664db366c7a1e683c0e70180660180660180660180660187e60181c>] def
/ch206 [24 1 0 24 23 24 24 0.5 23.5
 <00000400000effffff000700000600000e00000c00001c00001800003800007b8000d860019830
 03181806181c0c180c30180ec01804001800001800001800001800001800001800>] def
/ch207 [24 1 0 24 23 24 24 0.5 23.5
 <0c20080c3ffc18301c183018303ff8303018663018863018063ff80c00000c000418fffe180030
 38003078003659ffff983030181c30180e301804301800301800301807f0180060>] def
/ch208 [24 1 0 24 23 24 24 0.5 23.5
 <0000000800100ffff80c00380c00300c00300ffff00c00300c00300c00300ffff00c00300c0030
 0c00300ffff00c663000c60000c6000186020186020306020606031c07ffe003fe>] def
/ch209 [24 1 0 24 23 24 24 0.5 23.5
 <000000000000000000000000000000000000000000000000000000000000000000000000000000
 000000070000088000104000104000104000088000070000000000000000000000>] def
/ch210 [24 1 0 24 23 24 24 0.5 23.5
 <0010000018000018000010000030000021fc03ffc03fc00000c0800083c001ff80038080068080
 049e8008f88010808020868040fe800080c00080c00080c0008280008380008180>] def
/ch211 [24 1 0 24 23 24 24 0.5 23.5
 <000000000000002000003000001000001800001c400008200a08300a001c19000c110000110000
 11800010808030c040306040203040001860000fe00003e0000000000000000000>] def
/ch212 [24 1 0 24 23 24 24 0.5 23.5
 <0202000303000303000302180203f80203000242100ff3f83a1f900210100253f0039f30031030
 0e10f03a1fc062110003011c033ffe03fb000301000201001a03000e0300060300>] def
/ch213 [24 1 0 24 23 24 24 0.5 23.5
 <00040000060000060000860000c60000660000360000040003040001c40000c400004400000c3c
 003ffc1ff8000808000018000012000031800060e000c0700180380300180c0008>] def
/ch214 [24 1 0 24 23 24 24 0.5 23.5
 <020000030000020000022030023ff0023b3002323007f2203e32200212200213e003bfe0031000
 0e30003a30003230000210000210040210040210041210040e180c060ffc020000>] def
/ch215 [24 1 0 24 23 24 24 0.5 23.5
 <010800018c00018c000108000308000218180610f8043f900c20201c6220144300248200449200
 041a00041b6004333004231804430c044304048300040300040b00040700040700>] def
/ch216 [24 1 0 24 23 24 24 0.5 23.5
 <0001c0000780007c0003c800001860003fe007f00000201c007ffc3ff00000c040019fe001fc40
 028040048ec008fe40308040408ec000fec00080c00083c000ffc00080c0000000>] def
/ch217 [24 1 0 24 23 24 24 0.5 23.5
 <0010000018000008000008000401f807ffb00c18200c1800083fc003f800001800003fc003f800
 00181800fffc3ff800001080011f8001fd8001018001010001010001ff80018000>] def
/ch218 [24 1 0 24 23 24 24 0.5 23.5
 <001000000800000c000808300dfff80fc1000cc1000cc1000c41000c41700bfff00bc30008c380
 09f68009f6801bca4012cb4014d36018d33038e33c20c30040c300408300008300>] def
/ch219 [24 1 0 24 23 24 24 0.5 23.5
 <0200000300080307fc033f0003030003420022d230129ff01318301b18300a1b300a1930020930
 020930071930059b2004db200c5a200802801006c0100c3020181840300800400c>] def
/ch220 [24 1 0 24 23 24 24 0.5 23.5
 <0404000706000603000603800601800681187fbffc06000006002006003806c8300708300e0830
 7e0c60260c60060c60060c400608400608400600c006008c7efffe1c0000080000>] def
/ch221 [24 1 0 24 23 24 24 0.5 23.5
 <00000000000c7ffffe00c30000c30000c30010c3181ffffc18c31818c31818c31818c31819a318
 19b3181916981a16d81a0c581c08581810181820181800181801f8180070100020>] def
/ch222 [24 1 0 24 23 24 24 0.5 23.5
 <01000001c00001800003000006000c07fffe0c000c08000c1a060c13ff0c23060c43060c03060c
 03060c03060c03060c03fe0c03040c02000c00000c00001c0003f8000070000020>] def
/ch223 [24 1 0 24 23 24 24 0.5 23.5
 <0000001000380801fc0c7fc00603000403000003000c030c7efffe0c03000c03000c03000c2318
 0c3ffc0c30180c30180c30180cb0180d30180e30181c3ff8083018002010000000>] def
/ch224 [24 1 0 24 23 24 24 0.5 23.5
 <0000000000000000601ffff00200e00200c0020180010180010180008300008300004600004600
 006c00003c00001800003c0000660000c3800301f004007e180018600000000000>] def
/ch225 [24 1 0 24 23 24 24 0.5 23.5
 <0802000e03800c03000c02000c24180c3ffc2e30182d30182db0182cb0186cb0186c30184c3ff8
 0c30180c30180c30180c30180c30180c30180c3ff80c30180c30180c3010082000>] def
/ch226 [24 1 0 24 23 24 24 0.5 23.5
 <0401000701c00603000c630c1ff7fe1a06802108604190400120000003e0007ff01ff800001800
 00180000180c7ffffe00340000640000620000c1800180e003007e0c0038300010>] def
/ch227 [24 1 0 24 23 24 24 0.5 23.5
 <000000000000000000000000000000000000000000000000000000000000000000000000000000
 000000070000088000104000104000104000088000070000000000000000000000>] def
/ch228 [24 1 0 24 23 24 24 0.5 23.5
 <0000000000000000080000300000600000c0000180000180000300000300000300000300000300
 0003000003000003000001800001800000c0000060000030000008000000000000>] def
/ch229 [24 1 0 24 23 24 24 0.5 23.5
 <0006000007000006001806001c36000e37c0063f80007e000046000087f01c7f007cdb00081b00
 081b000833080c33180c63380481f83f804079f000803fff000ffc000000000000>] def
/ch230 [24 1 0 24 23 24 24 0.5 23.5
 <00300000380000380000300000600000438000dfc003f1e00300c00300c0031cc001f8c00100c0
 0100c00100c001fcc001f0c00100c00300c0031ec003ffc00301c00101c0000080>] def
/ch231 [24 1 0 24 23 24 24 0.5 23.5
 <003800003800001800001800001800001bf01dfff80fd0780c10700610600610600613e007ffe0
 071000021000001000001000001000001000003000003000003000003000001000>] def
/ch232 [24 1 0 24 23 24 24 0.5 23.5
 <0000000000c0001ff01ff0701c00300c0e300cfe300cf0300c30300c3e300cfc300c76300c3330
 0c31300c3fb00fffb00d80300c00301c7fb01ffcf0080070080070000020000000>] def
/ch233 [24 1 0 24 23 24 24 0.5 23.5
 <000000007000003800001c000000000001e0001fe003fc000f9800001c0007180001980000d800
 00700000300000780000fc0003ce000f07807c03f08001ff000000000000000000>] def
/ch234 [24 1 0 24 23 24 24 0.5 23.5
 <00000000003000603007e8603f8c400cc6800cc0000cc1f00fdfc00ccb000cc3000fc37c0edffc
 0cff000cc3000dc7801f86c0788c6060987880f03f80c01f008000008000000000>] def
/ch235 [24 1 0 24 23 24 24 0.5 23.5
 <001000003c00001c00001800001800001800001860061870061870061860061fe00ffc600f9840
 0c1800001800041860061870061870061ff007fe700fc0300e0020000000000000>] def
/ch236 [24 1 0 24 23 24 24 0.5 23.5
 <00000000000001800001c0e00181e0198380199e001998001bd8001f18e0181fe0181c601b9cc0
 1f9ec01912c01931801131803323c03346e0639c78c3303f02001c000000000000>] def
/ch237 [24 1 0 24 23 24 24 0.5 23.5
 <000000003000001800000c000004000186000183000183000381800301c00600f00e20f88c707f
 98701f30600060c40000860001870003ff8007e180070180000000000000000000>] def
/ch238 [24 1 0 24 23 24 24 0.5 23.5
 <0000000003c003ffe001e0e00000e000004000784007f8400300400000400030401ffcc01f38c0
 0c30c00c30c00cf0c00ff0c00400e00400e00004e00007c00003c00001c0000000>] def
/ch239 [24 1 0 24 23 24 24 0.5 23.5
 <000000000012000012000024000024000048000048000090000090000120000120000240000240
 000120000120000090000090000048000048000024000024000012000012000000>] def
/ch240 [24 1 0 24 23 24 24 0.5 23.5
 <001000001c000018000018000018001018181ffffc1ffff8181818181818181818181818181818
 1818181ffff83ffff8381818381818001800001800001800001800003800003800>] def
/ch241 [24 1 0 24 23 24 24 0.5 23.5
 <0000001ffffc1ffffc18000c18000c1bffec1bffec181c4c18180c18180c19ffcc19ffcc18190c
 181b8c1819cc38190c3bffec3bffec38000c38000e3ffffe3ffffe38000e000000>] def
/ch242 [24 1 0 24 23 24 24 0.5 23.5
 <00200000780000700000e01801fff801fff80380700700e00f61c01ef3800c7f00001e00003c00
 00f80003fffc1ffffc7f801c39801c21801c01801c01801c01fffc01fffc01801c>] def
/ch243 [24 1 0 24 23 24 24 0.5 23.5
 <000000000000000000007c00008200018300018300000300000300000300000600000c00001800
 00300000600000600000c00000c10001810001ff0001ff00000000000000000000>] def
/ch244 [24 1 0 24 23 24 24 0.5 23.5
 <00010001c1c001c38000e30040c706ffffffffffff0018000038000ffff00ffff00e00700e0070
 0ffff00ffff00e00700e00700ffff00ffff00e00700e00700ffff00ffff00e0070>] def
/ch245 [24 1 0 24 23 24 24 0.5 23.5
 <000000480000480000240000240000120000120000090000090000048000048000024000024000
 048000048000090000090000120000120000240000240000480000480000000000>] def
/ch246 [24 1 0 24 23 24 24 0.5 23.5
 <000000000000000000000800001800007800001800001800001800001800001800001800001800
 001800001800001800001800001800001800001800007e00000000000000000000>] def
/ch247 [24 1 0 24 23 24 24 0.5 23.5
 <000000000000000000007c00008200018300018300018300018300018300018300018300008700
 007b00000300000300000300018300018300008200007c00000000000000000000>] def
/ch248 [24 1 0 24 23 24 24 0.5 23.5
 <000000000000000000007c0000820001830001830001830001830000c600007c00003800004400
 00c600018300018300018300018300018300008200007c00000000000000000000>] def
/ch249 [24 1 0 24 23 24 24 0.5 23.5
 <000000000000000000000600000e00001600001600002600002600004600004600008600008600
 01060001060002060003ffc0000600000600000600001f80000000000000000000>] def
/ch250 [24 1 0 24 23 24 24 0.5 23.5
 <000000000000000000000000000000000000000000000000000000000000000000000000000000
 0000000000000000000600000f00000f0000060000000000000000000000000000>] def
/ch251 [24 1 0 24 23 24 24 0.5 23.5
 <000000000c00000e0001860000c60000c40000c40000c47000c4f007c5c01fc70000c60000c400
 00c40000c40401c40c06c40c3cc61c38c7fc00c3f800c000000000000000000000>] def
/.notdef [.24 0 0 0 0 1 0 0 <>] def
end
end
/chfont0 exch definefont pop
dofont
/imagemaskmatrix [1 0 0 -1 0 0] def
/FontMatrix [0.03021 0 0 0.03021 0 0] def Encoding
dup 32 /ch32 put dup 33 /ch33 put dup 34 /ch34 put dup 35 /ch35 put
dup 36 /ch36 put dup 37 /ch37 put dup 38 /ch38 put dup 39 /ch39 put
dup 40 /ch40 put dup 41 /ch41 put
dup 42 /ch42 put dup 43 /ch43 put dup 44 /ch44 put dup 45 /ch45 put
dup 46 /ch46 put dup 47 /ch47 put dup 48 /ch48 put dup 49 /ch49 put
dup 50 /ch50 put dup 51 /ch51 put
dup 52 /ch52 put dup 53 /ch53 put dup 54 /ch54 put dup 55 /ch55 put
dup 56 /ch56 put dup 57 /ch57 put dup 58 /ch58 put dup 59 /ch59 put
dup 60 /ch60 put dup 61 /ch61 put
dup 62 /ch62 put dup 63 /ch63 put dup 64 /ch64 put dup 65 /ch65 put
dup 66 /ch66 put dup 67 /ch67 put dup 68 /ch68 put dup 69 /ch69 put
dup 70 /ch70 put dup 71 /ch71 put
dup 72 /ch72 put dup 73 /ch73 put dup 74 /ch74 put dup 75 /ch75 put
dup 76 /ch76 put dup 77 /ch77 put dup 78 /ch78 put dup 79 /ch79 put
dup 80 /ch80 put dup 81 /ch81 put
dup 82 /ch82 put dup 83 /ch83 put dup 84 /ch84 put dup 85 /ch85 put
dup 86 /ch86 put dup 87 /ch87 put dup 88 /ch88 put dup 89 /ch89 put
dup 90 /ch90 put dup 91 /ch91 put
dup 92 /ch92 put dup 93 /ch93 put dup 94 /ch94 put dup 95 /ch95 put
dup 96 /ch96 put dup 97 /ch97 put dup 98 /ch98 put dup 99 /ch99 put
dup 100 /ch100 put dup 101 /ch101 put
dup 102 /ch102 put dup 103 /ch103 put dup 104 /ch104 put dup 105 /ch105 put
dup 106 /ch106 put dup 107 /ch107 put dup 108 /ch108 put dup 109 /ch109 put
dup 110 /ch110 put dup 111 /ch111 put
dup 112 /ch112 put dup 113 /ch113 put dup 114 /ch114 put dup 115 /ch115 put
dup 116 /ch116 put dup 117 /ch117 put dup 118 /ch118 put dup 119 /ch119 put
dup 120 /ch120 put dup 121 /ch121 put
dup 122 /ch122 put dup 123 /ch123 put dup 124 /ch124 put dup 125 /ch125 put
dup 126 /ch126 put dup 127 /ch127 put dup 128 /ch128 put dup 129 /ch129 put
dup 130 /ch130 put dup 131 /ch131 put
dup 132 /ch132 put dup 133 /ch133 put dup 134 /ch134 put dup 135 /ch135 put
dup 136 /ch136 put dup 137 /ch137 put dup 138 /ch138 put dup 139 /ch139 put
dup 140 /ch140 put dup 141 /ch141 put
dup 142 /ch142 put dup 143 /ch143 put dup 144 /ch144 put dup 145 /ch145 put
dup 146 /ch146 put dup 147 /ch147 put dup 148 /ch148 put dup 149 /ch149 put
dup 150 /ch150 put dup 151 /ch151 put
dup 152 /ch152 put dup 153 /ch153 put dup 154 /ch154 put dup 155 /ch155 put
dup 156 /ch156 put dup 157 /ch157 put dup 158 /ch158 put dup 159 /ch159 put
dup 160 /ch160 put dup 161 /ch161 put
dup 162 /ch162 put dup 163 /ch163 put dup 164 /ch164 put dup 165 /ch165 put
dup 166 /ch166 put dup 167 /ch167 put dup 168 /ch168 put dup 169 /ch169 put
dup 170 /ch170 put dup 171 /ch171 put
dup 172 /ch172 put dup 173 /ch173 put dup 174 /ch174 put dup 175 /ch175 put
dup 176 /ch176 put dup 177 /ch177 put dup 178 /ch178 put dup 179 /ch179 put
dup 180 /ch180 put dup 181 /ch181 put
dup 182 /ch182 put dup 183 /ch183 put dup 184 /ch184 put dup 185 /ch185 put
dup 186 /ch186 put dup 187 /ch187 put dup 188 /ch188 put dup 189 /ch189 put
dup 190 /ch190 put dup 191 /ch191 put
dup 192 /ch192 put dup 193 /ch193 put dup 194 /ch194 put dup 195 /ch195 put
dup 196 /ch196 put dup 197 /ch197 put dup 198 /ch198 put dup 199 /ch199 put
dup 200 /ch200 put dup 201 /ch201 put
dup 202 /ch202 put dup 203 /ch203 put dup 204 /ch204 put dup 205 /ch205 put
dup 206 /ch206 put dup 207 /ch207 put dup 208 /ch208 put dup 209 /ch209 put
dup 210 /ch210 put dup 211 /ch211 put
dup 212 /ch212 put dup 213 /ch213 put dup 214 /ch214 put dup 215 /ch215 put
dup 216 /ch216 put dup 217 /ch217 put dup 218 /ch218 put dup 219 /ch219 put
dup 220 /ch220 put dup 221 /ch221 put
dup 222 /ch222 put dup 223 /ch223 put dup 224 /ch224 put dup 225 /ch225 put
dup 226 /ch226 put dup 227 /ch227 put dup 228 /ch228 put dup 229 /ch229 put
dup 230 /ch230 put dup 231 /ch231 put
dup 232 /ch232 put dup 233 /ch233 put dup 234 /ch234 put dup 235 /ch235 put
dup 236 /ch236 put dup 237 /ch237 put dup 238 /ch238 put dup 239 /ch239 put
dup 240 /ch240 put dup 241 /ch241 put
dup 242 /ch242 put dup 243 /ch243 put dup 244 /ch244 put dup 245 /ch245 put
dup 246 /ch246 put dup 247 /ch247 put dup 248 /ch248 put dup 249 /ch249 put
dup 250 /ch250 put dup 251 /ch251 put
pop /CharData 252 dict def
CharData begin
/ch32 [0.0331 0 0 0 0 1 1 0 0 <>] def
/ch33 [24 1 0 24 23 24 24 0.5 23.5
 <003000003c00001c00000c000001fc00fffe7ff0007c000000070003ff8001c380018300008700
 00ff0000f8000018000219c00619e00618f00e18700c1830087800003800003000>] def
/ch34 [24 1 0 24 23 24 24 0.5 23.5
 <0000000000001000000c000006000003000001800001800000c00000c00000c00000c00000c000
 00c00000c00000c0000180000180000300000600000c0000100000000000000000>] def
/ch35 [24 1 0 24 23 24 24 0.5 23.5
 <0000000000000007000603800701800300000000000001f0301fe0387f001803000903000103e0
 020fe0063f000603000c03000c033c1c1ffe19ff9e18c000080000000000000000>] def
/ch36 [24 1 0 24 23 24 24 0.5 23.5
 <000000000000000000000000000000000000000000000000000000000000000000000000000000
 0600000f00000f00000600000000000000000600000f00000f0000060000000000>] def
/ch37 [24 1 0 24 23 24 24 0.5 23.5
 <000000000000000000000800001800007800001800001800001800001800001800001800001800
 001800001800001800001800001800001820001870007e20000000000000000000>] def
/ch38 [24 1 0 24 23 24 24 0.5 23.5
 <003800001800000860000de0078f803f9e3011be601983c01983841987ec1fbc7c1d801c1987c0
 19ff00199b00199b001f990019b30211230600610680c1ff0180fe000000000000>] def
/ch39 [24 1 0 24 23 24 24 0.5 23.5
 <0006000007000003000603000702000302f0016ff8007e300062401866001c66000c67c0027ec0
 0270c00659800445800cc300188380398fc0191ce013707e82003f000000000000>] def
/ch40 [24 1 0 24 23 24 24 0.5 23.5
 <000000000300003f8003ff8001830001830001c60000c60000c6000086000086000187f801fffc
 03c01c01001800071800ff983fe0381c00300000300001f00001f00000e00000c0>] def
/ch41 [24 1 0 24 23 24 24 0.5 23.5
 <0000000038000038000018600018700018e00711800393000190000010000013e001fff00fc070
 00006000006000fe6003f0400000c00000c0000fe007ffe0000000000000000000>] def
/ch42 [24 1 0 24 23 24 24 0.5 23.5
 <003000003800001800001800011800019000019f80037f0003f0000630000430c0003fe001fc00
 1fc80008cc0000c8000188000388040308040608041c080e380c1e6007fe000000>] def
/ch43 [24 1 0 24 23 24 24 0.5 23.5
 <0006000046600067e003e6000766e000e3c003e6000067f003f6000e7c000033c001ff8001f800
 004d8001ffc001f8000108f800fffc3fe800180800000800000800000800000800>] def
/ch44 [24 1 0 24 23 24 24 0.5 23.5
 <000000000000000070000ff80fff001f8600000e00003c00001800003800003800007b0000d9c0
 0198f003187806183c1c181c301800001800001800001800001800000000000000>] def
/ch45 [24 1 0 24 23 24 24 0.5 23.5
 <0003000003800001c00301800381800381800181800181fe81ffff7fe180798180018180019d80
 01fd8001818001818001818001818001ff80018380018300000300000000000000>] def
/ch46 [24 1 0 24 23 24 24 0.5 23.5
 <00070003830001836001bff81ffe001e8400009400049b80063fc0033380007300185e001c8e00
 080f000219c00670f884c17f0ffff81c61c03861c0186180187f80003800000000>] def
/ch47 [24 1 0 24 23 24 24 0.5 23.5
 <0000000300000380000380e00307e0063f800606000c06001c06001e0cc0360fe0647ee04408e0
 0408c00418c00418c00418c00c1bfe0ffffe0dc0000c0000000000000000000000>] def
/ch48 [24 1 0 24 23 24 24 0.5 23.5
 <000100001f8001f18000c38000ff00007300004300006f00007a000000f0000ff001fc001f9800
 011800019f80031f0003980006d8000638000c1e003807c0e003ff0000fe000000>] def
/ch49 [24 1 0 24 23 24 24 0.5 23.5
 <00300000380000380000380000307c003ffe3ffe003e600000400000c30001ff8001c18003c180
 06cd800efd800cc18018c18060fd8040f98000c18000c180018180018780018380>] def
/ch50 [24 1 0 24 23 24 24 0.5 23.5
 <00000000040000060000070003860001860001860001867001867001b6e011f780198600198400
 09840009840009b40409e4060f86060e070e7c03fe000000000000000000000000>] def
/ch51 [24 1 0 24 23 24 24 0.5 23.5
 <00018001c1c000e1c00060c00000c000008000e0800fe0803ec0800180f00330bc03b09e07c08e
 0de08219b0803190806180800180800181800181c0010180010180000080000000>] def
/ch52 [24 1 0 24 23 24 24 0.5 23.5
 <00000000800000c00000c00000c00000c00000800001900001980801fa7e0fdbce7f130e21330c
 03330c01a30800e11c00e1fc01f1000339000618000c0800000000000000000000>] def
/ch53 [24 1 0 24 23 24 24 0.5 23.5
 <00000000406000e0f001e1c00f0f000c06000c06000c663e0fe7fe0f66600c46600cc4600de460
 0f8c600c0c60080860181860103060306060204060000060000060000060000040>] def
/ch54 [24 1 0 24 23 24 24 0.5 23.5
 <0001c00079c007f9800f618000318017a3001da3780963fc0f643004242003f3007fc300606300
 1743001b43801246801f46c018447000483c80703f03c00001c00001c000000000>] def
/ch55 [24 1 0 24 23 24 24 0.5 23.5
 <000000003000003800001c00000c000000f0007ff81ffc000c66000066000066000464c00464e0
 0c46700c46381cc63818c600008600018600031e00060e00080c00000000000000>] def
/ch56 [24 1 0 24 23 24 24 0.5 23.5
 <0000000000000000000000fc01fffe7fe30030038000038000330007fb00063300063300022300
 03f300030300020300000300000300000300001300000f00000f00000700000000>] def
/ch57 [24 1 0 24 23 24 24 0.5 23.5
 <0000000000000000000000c00060e00070e00038e03018e01800c01800c01860c008c180098180
 0b01800f03000e06e01c0e703c1c3838303818e018000000000000000000000000>] def
/ch58 [24 1 0 24 23 24 24 0.5 23.5
 <002000003c00001e00000e00000400000080000fe000ffc003f800001800001800001800001f80
 00ff8003f8000018000018000018000018fc00fffe7ff81e000000000000000000>] def
/ch59 [24 1 0 24 23 24 24 0.5 23.5
 <003800001c00000c000003c0003fc003ff0000030000c6000066000065fe00fffe7fe0007c0000
 003f8001e1c0008180009d8000f98000818000818000ff8000c380008300000300>] def
/ch60 [24 1 0 24 23 24 24 0.5 23.5
 <0000000000000600000780400381f0019ff0001ce00000c00200c00f00c07e1fc0761e00060800
 06080006180206d8060798060718060e0c0e0e0ffe0c07f8000000000000000000>] def
/ch61 [24 1 0 24 23 24 24 0.5 23.5
 <000060000070070860078ec00186800000f8001fc0001d900605b80f35f07e35c066159e860fff
 06fe00060060061ff006d8700799600f1fe00e18600c1860001fe0001860000860>] def
/ch62 [24 1 0 24 23 24 24 0.5 23.5
 <000000000000000700003f0003f800007000007000006180006fc000ff000ff00006580000d800
 00d8000198000198040318040718040e180e1c0ffe3007fc000000000000000000>] def
/ch63 [24 1 0 24 23 24 24 0.5 23.5
 <000000001f0001fc000030000033f808ff3c1fb33c1837003bb00030370023b100018000003e00
 01f800006000004fe00ffcf00e98600c98600c98600c9bc00411c00401c0000000>] def
/ch64 [24 1 0 24 23 24 24 0.5 23.5
 <0020000038000018000001f001fff01fc800004c00024d80024de006cc600cc8200c4000001e00
 01ff00030e0001cc00007800003800007e0003c7801f03fc0000fc000000000000>] def
/ch65 [24 1 0 24 23 24 24 0.5 23.5
 <000000000000000000003c0000420000c30000c300000300000300000300000600000c00000c00
 00180000180000300000600000610000c31000ff3800ff10000000000000000000>] def
/ch66 [24 1 0 24 23 24 24 0.5 23.5
 <0001000183800183f003f7e0038600078d8004d8c0084300103fc001f180001900043f0007f000
 061070061ff807f0380e703000703000d1e00390e00710400c1000303000003000>] def
/ch67 [24 1 0 24 23 24 24 0.5 23.5
 <000000000000000000000000000000000000000000000000000000000000000000000000000000
 0000000000001000000c0000070000038000018000018000000000000000000000>] def
/ch68 [24 1 0 24 23 24 24 0.5 23.5
 <0000000000000030000038000038000018000018000018000018000410c00c10700c10701c1838
 18181838181830180030180000180000f80000f800007000003000000000000000>] def
/ch69 [24 1 0 24 23 24 24 0.5 23.5
 <0002000003800183000183000083fc03fff83fc60000c40000c4000001c0007fe007f0e00230c0
 0030c00030c00030c00037c00033c0003180003000003000003000003000003000>] def
/ch70 [24 1 0 24 23 24 24 0.5 23.5
 <0003c0087fe01e60c00e6080023f80002580602590303ffc39f01c13003c033f800631800e2180
 083f80183980182180303f807079803061803061803067c00043c0000180000000>] def
/ch71 [24 1 0 24 23 24 24 0.5 23.5
 <00000003001003001c030018071e1806fc180c30180c30d81c2cd81c4ed835f2d865d0d8441cd8
 043cc804f088041108041e0805f8080dc0180c001c0c0078040038000018000000>] def
/ch72 [24 1 0 24 23 24 24 0.5 23.5
 <0000000180000181800199c001b9800fe18007810001f3001fc27c03c7f007f4800d38c01908c0
 212c8003e2801fe3807a618006438003c3c001cc7003787c8e203f000000000000>] def
/ch73 [24 1 0 24 23 24 24 0.5 23.5
 <0006000303000383000382000302e0060fe0063e000c07800c0dc01e18cc3631fe267fc047e0c0
 060040067e40066640066440062e40063c600620600c00600c00600403e00401c0>] def
/ch74 [24 1 0 24 23 24 24 0.5 23.5
 <0000000003e003ffe003ee00030e00030c00031840031ff003f870036060027f600660600660c0
 063fc00c26000c06001846c010c67030c63861c618419e08001e00000600000000>] def
/ch75 [24 1 0 24 23 24 24 0.5 23.5
 <0003000383800383300373f807f600060d800dc9c008d00011018001818001818c0301fe07ffc0
 0761800f31801b19803319804309800300c00300c00307c0030380000380000000>] def
/ch76 [24 1 0 24 23 24 24 0.5 23.5
 <00030001838001c300018600038600030c1c060cfe061fe00e32001b330013630023c3f84303c0
 0303000303000303380303f8030300030300060300020300020300000300000300>] def
/ch77 [24 1 0 24 23 24 24 0.5 23.5
 <000200000380060380070300030600030600030cf8030ffc03d8181fb0181e2e18030718030318
 0300d803c318030e180e3c183c10181800180000380001f00000f0000070000000>] def
/ch78 [24 1 0 24 23 24 24 0.5 23.5
 <0600000700800601e0023fe00218c00218c003dec01f9c807e1980061f800e1d700f98701b9cc0
 1a93803219806610e04610f886107f86193f061e00061c00063800061000000000>] def
/ch79 [24 1 0 24 23 24 24 0.5 23.5
 <0000000e00000600e00607f0063c600618400618c007dfc01f99003e318002319c03b1fe073f80
 0e31003e21207663f8666fb8064c3006cc301e8df00f87c0070400000000000000>] def
/ch80 [24 1 0 24 23 24 24 0.5 23.5
 <00c00000c0000180600187f00106600ff6400e664004666c05667e05e4100668000460e00fe7f0
 7c686045664005e2c00d61c00c61c00863e019e77890ec3fa0d01f000000000000>] def
/ch81 [24 1 0 24 23 24 24 0.5 23.5
 <0006000007000c03000e01000741fc027f9e00c01c20c380399f00180600080ff000fe70026760
 047f600c64600c67c0183fc03820003039803030e010607000c070018030000000>] def
/ch82 [24 1 0 24 23 24 24 0.5 23.5
 <0000000000400007e0003c700030700737607f3e606710c06613c0261f802600003e007030dff8
 20f0380040380067b0007f30006030006030007fb0003cf0002070000060000000>] def
/ch83 [24 1 0 24 23 24 24 0.5 23.5
 <0000000000c0000fe007fff003e06000006000006000e06000e0600060c0000ec00018c00070c0
 01c0c00f80c00e00c00401c0000180001980000f80000f00000600000000000000>] def
/ch84 [24 1 0 24 23 24 24 0.5 23.5
 <0000000c00f0063f380633340613fe063fa007f2600592e0241fc03410002403f0643e70643060
 0433200613200613300633300632200616200606e00e0c70041838047018000000>] def
/ch85 [24 1 0 24 23 24 24 0.5 23.5
 <00000000030000038000030001e60007e6001ecc30008cf0008fc0019d801fe1801e3180180980
 180d001887001907001f07001e0dc01c38f038e07eb0003f000000000000000000>] def
/ch86 [24 1 0 24 23 24 24 0.5 23.5
 <00030001830000c3e000ffe007f60000c4000047f009fe380f003c187c60386000301e0013f980
 00c38003c70006fc0009b800033600067b8008d9fe03987e0618001c7800007800>] def
/ch87 [24 1 0 24 23 24 24 0.5 23.5
 <000000000300030300038600018600008df0000fc000580003e6003f0670330fe0038b0006d300
 06c17c0cdff408fb001883803186c06584e0478c7003303c000000000000000000>] def
/ch88 [24 1 0 24 23 24 24 0.5 23.5
 <000000000c00003f001bff001f0c000c0c000c3c000ff0000fb0000c30000c13800c1f000df800
 0fd8000c0c000c0c000c06000cc3040f83841f01c41c00fe18003e10001e000000>] def
/ch89 [24 1 0 24 23 24 24 0.5 23.5
 <00000000c00000f0000070000030000003c0000fe000fb801fc7000f0e00001c00003000006000
 00c0000300007e00007fc00000f800801fc78007ff0001fc000000000000000000>] def
/ch90 [24 1 0 24 23 24 24 0.5 23.5
 <00000000000000078000ff8001f800001800001800000800000ffc00fffe3fc8001c0800000800
 000c00000c00000c00000c00000c00000c00001c0000fc00007800003800003000>] def
/ch91 [24 1 0 24 23 24 24 0.5 23.5
 <000000000e00000e0000060001ce0000ee00006c00000c00038c00018c00008c78001ffc0ffc00
 3f18000018000033000033c00061e000c0f00180700700300c0010000000000000>] def
/ch92 [24 1 0 24 23 24 24 0.5 23.5
 <0061e007efc00783000183c001efc007830001224001cfe007ac001e600008f80000cc00018700
 0333c00730f88e147f183e3c33fe00410c00000c00001800003800003000000000>] def
/ch93 [24 1 0 24 23 24 24 0.5 23.5
 <0000000007000003000183001fc3001983e0191f801b02401b02601926c009b6800f96000986f8
 081ff018f600180700180d001809801818c01830f018e07c99803f000000000000>] def
/ch94 [24 1 0 24 23 24 24 0.5 23.5
 <0000000000000007c000ffc007fc0000cc0000cc0000cc0000ccf800fffc3fc81c18c818188818
 188f980983180900380c00300c3f300fffb00c00f00400e0000060000000000000>] def
/ch95 [24 1 0 24 23 24 24 0.5 23.5
 <01800000e00000e00000c00000c1c000dfe000fe0000c000008000018060019ff003f838030030
 000030001e3007ff603f80600000600000600006e00003c00003c0000000000000>] def
/ch96 [24 1 0 24 23 24 24 0.5 23.5
 <00000000203003fcf81f37b803363003326003b2401fb2801e32c006326007f2307e3218342218
 0c629c0c627c19e23818e31830c300600300000300000300000200000200000200>] def
/ch97 [24 1 0 24 23 24 24 0.5 23.5
 <0000000000000001c00effe007f0e00630e0031cc0037fc003f18003118003178001ff00013000
 001000001f0000ff0003f0000030000030f803fffc7fc00c000000000000000000>] def
/ch98 [24 1 0 24 23 24 24 0.5 23.5
 <0000000001800001c003818003830003030006020004067805cffc3fe81838d81818f01818ce18
 1fc71818c31818c01818c0181bc0301fc03018c1300081f00000f0000060000000>] def
/ch99 [24 1 0 24 23 24 24 0.5 23.5
 <00000001018001819803b3f803f300060700070dc00d90c0108000003800001840001ff00ff870
 061070061e6006fe600670600610600216e003ffc00200c00200c0000000000000>] def
/ch100 [24 1 0 24 23 24 24 0.5 23.5
 <03000003000007007806eff80fe33008c33011827021c6601fec601b79801a66801bedf01f6fc0
 12688013e0fe1f7ffe1278803260c03260c023e08060e0c04040c00000c00000c0>] def
/ch101 [24 1 0 24 23 24 24 0.5 23.5
 <0006000c06000e0dc00c0fe00c18c009bf8019bb001302f03e0ff07e7c00040c600818e01f7980
 3ccf00301f000367c00ecff0f81b3ff0631f00c300010300000f00000600000000>] def
/ch102 [24 1 0 24 23 24 24 0.5 23.5
 <00000003018003bfe003b8c00710c00e10c00c1f801311802391a00313b0031f300618600c1cc0
 1e17801613002611804610e006107886123f063e1c043c00043800043000000000>] def
/ch103 [24 1 0 24 23 24 24 0.5 23.5
 <000400000600000600000780000cc0038cc01fd87c3991f801bfc01378c00b58f00e9fe00618c0
 0718d00d9bf80ddbc018d8c010d8dc201bfe401f80001800001800001800001800>] def
/ch104 [24 1 0 24 23 24 24 0.5 23.5
 <00000000f8180f9c1806d83807d83002106003f04003809000dd1803fc187e003020f8600718c0
 06319803f31c02c01c08d83808cc3018c06019c0e001c1c000c380000700000c00>] def
/ch105 [24 1 0 24 23 24 24 0.5 23.5
 <000000000700000780000700000600000c000008000710387f37fc33fc1c36c018364318365f98
 3e5998305998106f98006f18006018006018006078004078000030000000000000>] def
/ch106 [24 1 0 24 23 24 24 0.5 23.5
 <000000000080000fe00ff9e00781c0000300000600003800003800001800001800001800001800
 000800000800000c00000c00001c0000980000f800007800003800000000000000>] def
/ch107 [24 1 0 24 23 24 24 0.5 23.5
 <001800001c00000c00000c00000ff000ff8003f800000800000f8000fe00000040000ff003f870
 0188e00188c0019bc001ff8001c0000300000300000600000600000c0000180000>] def
/ch108 [24 1 0 24 23 24 24 0.5 23.5
 <0000000000000000700c0ff00e7f000603000003000006000004000c0d007e1cc00c34f00c6470
 08c4380d06100406000406001e04007be000807fff001ffe0003f8000000000000>] def
/ch109 [24 1 0 24 23 24 24 0.5 23.5
 <00038000038003830001c60001cc00001800000700047fc007c380030300030300030f0001f800
 0100000020700238381a181c1b090c3101803180c030c0e0007ff0000000000000>] def
/ch110 [24 1 0 24 23 24 24 0.5 23.5
 <0006000187000183000183000c83f00ebf8006b200008200038fe03e9e0038f00000b000001f00
 01fc800fe1c000f30001ce0003c60007c3800cc5f0b8d8ff60f03c00e00000c000>] def
/ch111 [24 1 0 24 23 24 24 0.5 23.5
 <02030007030007030006060006063804edf80fef800cd9801891801601f8361ff8620998420998
 02199802199802d9f80799b0070190060180040180000180000180000180000100>] def
/ch112 [24 1 0 24 23 24 24 0.5 23.5
 <0000000000000007e007fef007b860061860021860021e6002fe60061060061060061260067f60
 06f0600610600610600410600c10600810601811e03000e06000e0000000000000>] def
/ch113 [24 1 0 24 23 24 24 0.5 23.5
 <01002001b7f803b8380718b0061fb00c18601189e0038e000300200203f0061f800c00c01e00fe
 363ffe26f0c04618c00618c00608c00600c00600c00c00c00407c00403c0000080>] def
/ch114 [24 1 0 24 23 24 24 0.5 23.5
 <001000001800003900003fc00063c001c30003c60000ec00007800003000006c0001cc00071fe0
 0039e00060c000c18003e380007700003e00001c0000380000700001c000070000>] def
/ch115 [24 1 0 24 23 24 24 0.5 23.5
 <0001c00c00c00630c00618800619e0061fe0073f8007998026993c260bfe363e0037e0006601c0
 263fe0063060061060061f60061060061060061fe0061ce00410e0000040000000>] def
/ch116 [24 1 0 24 23 24 24 0.5 23.5
 <00030003837803f7f003e600070f000d99801890800000e001bff00d80300c003004fe3004c630
 04c6300cfe300cc6300cde300cfe300c46300c00300c01f00800f0000060000000>] def
/ch117 [24 1 0 24 23 24 24 0.5 23.5
 <0001800001c001838000c30000c600000dc0007fe00790e00614c0027ec00310c0031180017f80
 01d000001808001ffe07fffe7f1800201800001800001800001800001800001800>] def
/ch118 [24 1 0 24 23 24 24 0.5 23.5
 <000000003800003c00000e000006000000000000fc003ffe0ff8003e1800001800003f00003380
 0061c000c18000c1800183000303000603001c3e00301e00001c00000000000000>] def
/ch119 [24 1 0 24 23 24 24 0.5 23.5
 <000000000e000006000006000e06000706000306e00007e0207f003804001804001804fe020ffe
 03fe0006cc00040d000c19c01c30e03867f038fe7018f030000000000000000000>] def
/ch120 [24 1 0 24 23 24 24 0.5 23.5
 <0003000603800381800381800181800001800001800301800701fc3f0ffe767f00020180020180
 02018006618007c1800781800f01800e0180040180000180000180000180000100>] def
/ch121 [24 1 0 24 23 24 24 0.5 23.5
 <0003000183300193f801fe000305c002c8c0044300087f8001c18000fd8000c180009d8000f180
 00c70000ff0000830c00c3fe01ff863fc30030c300018300018300030300060300>] def
/ch122 [24 1 0 24 23 24 24 0.5 23.5
 <0300000300000300000300000300c0031fe0036ec007ecc07f0cc0330c80070c8007cc800fc980
 0f49821b0882331882a318c3c330e783207f03c01e070000060000000000000000>] def
/ch123 [24 1 0 24 23 24 24 0.5 23.5
 <0003c003ffe00381c0030180033f8003f1000301800363800333000203e0067f8006e300063100
 0c31fc0c3ffe1ff10018210030210020610060410040c100018100020380000100>] def
/ch124 [24 1 0 24 23 24 24 0.5 23.5
 <00060001870000c7f001fff01fc40000430000ff8003038003fb0001030001fe0000c00000cfe0
 0ffe0007a30001b180033fc007f3700f333e9b331f333f00413600003200003000>] def
/ch125 [24 1 0 24 23 24 24 0.5 23.5
 <0000000020000038000038000038000018000018000018000018e0001fe0001f00001800001800
 0018000018000010000010000010000011fc01fffe7fe004000000000000000000>] def
/ch126 [24 1 0 24 23 24 24 0.5 23.5
 <000000000180003fe007f0e00700e0031dc003f980030180010f0001ff00010000008e4000c670
 00c4e00c45c006470006440002440000447801fffe7fc01e000000000000000000>] def
/ch128 [24 1 0 24 23 24 24 0.5 23.5
 <000000000000000380003f8001fe0000c0000000000000000003fc01fffc7ff000381800001800
 0219800618e00618f00c18700c1830081800007800003800003000000000000000>] def
/ch129 [24 1 0 24 23 24 24 0.5 23.5
 <00600000300000300000300000370000ff0003f00000338002338003360001bc000037f001fff0
 1ff00000f80000fc0001b7000333800631e00c30fe18307e203000003000003000>] def
/ch130 [24 1 0 24 23 24 24 0.5 23.5
 <0800200e00f00c07f80cff000c44100d32387fb3200c12480c7ffc0c0c000d0c0c0efffe1c1800
 7c18302c1ff80c30300c34600c64c00c63800cc3807c86e0190c7e12301800c008>] def
/ch131 [24 1 0 24 23 24 24 0.5 23.5
 <000000000000000000000000000000000000000000000000000000000000000000000000000000
 000000000000000000000000000000000000000000000000000000000000000000>] def
/ch132 [24 1 0 24 23 24 24 0.5 23.5
 <01010001c1c001818c7ffffe01818001a18001390000300c7ffffe00c00002c01003bff8030030
 0701400701800b018c137ffe230180430180030180030180030f80030300020200>] def
/ch133 [24 1 0 24 23 24 24 0.5 23.5
 <0000000000000000080000300000600000c0000180000180000300000300000300000300000300
 0003000003000003000001800001800000c0000060000030000008000000000000>] def
/ch134 [24 1 0 24 23 24 24 0.5 23.5
 <0000000000001000000c000006000003000001800001800000c00000c00000c00000c00000c000
 00c00000c00000c0000180000180000300000600000c0000100000000000000000>] def
/.notdef [.24 0 0 0 0 1 0 0 <>] def
end
end
/chfont1 exch definefont pop
%%EndComments
%% PostScript Prelude for ChScribe.
/BS {/SV save def 0.0 792.0 translate .01 -.01 scale} bind def
/ES {showpage SV restore} bind def
/SC {setrgbcolor} bind def
/FMTX matrix def
/RDF {WFT SLT 0.0 eq
  {SSZ 0.0 0.0 SSZ neg STH mul 0.0 0.0 FMTX astore}
  {SSZ 0.0 SLT neg sin SLT cos div SSZ mul SSZ neg STH mul 0.0 0.0 FMTX astore}
  ifelse makefont setfont} bind def
/SLT 0.0 def
/STH 1.0 def
/SI { /SLT exch cvr def RDF} bind def
/WFT /Courier findfont def
/SF { /WFT exch findfont def RDF} bind def
/SSZ 1000.0 def
/mkodic 7 dict def
/MOF
{mkodic begin
/uniqueid exch def
/strokewidth exch def
/newfontname exch def
/basefontname exch def
/basefontdic basefontname findfont def
/numentries basefontdic maxlength 1 add def
basefontdic /UniqueID known not
{/numentries numentries 1 add def} if
/outfontdic numentries dict def
basefontdic
{exch dup /FID ne
 {exch outfontdic 3 1 roll put}
 {pop pop}
 ifelse
}forall
outfontdic /FontName newfontname put
outfontdic /PaintType 2 put
outfontdic /StrokeWidth strokewidth put
outfontdic /UniqueID uniqueid put
newfontname outfontdic definefont pop
end
}def
/MF {findfont dup /UniqueID known
{/UniqueID get 1 add}
{pop 1}
ifelse MOF} bind def
/SS { /SSZ exch 100.0 mul def RDF} bind def
/ST { /STH exch def RDF} bind def
/AF { /WFT exch findfont def /SSZ exch 100.0 mul def RDF} bind def
/MT /moveto load def
/RM /rmoveto load def
/XM {currentpoint exch pop moveto} bind def
/XR {0.0 rmoveto} bind def
/YR {0.0 exch rmoveto} bind def
/UL {gsave newpath moveto dup 2.0 div 0.0 exch rmoveto
   setlinewidth 0.0 rlineto stroke grestore} bind def
/SH /show load def
/MX {exch show 0.0 rmoveto} bind def
/W {0 32 4 -1 roll widthshow} bind def
/WX {0 32 5 -1 roll widthshow 0.0 rmoveto} bind def
/PB {/PV save def newpath translate
    100.0 -100.0 scale /showpage {} def} bind def
/PE {PV restore} bind def
/GB {/PV save def newpath translate rotate
    div dup scale 100.0 -100.0 scale /showpage {} def} bind def
/GE {PV restore} bind def
/RC {100.0 -100.0 scale
612.0 0.0 translate
-90.0 rotate
.01 -.01 scale} bind def
/URC {100.0 -100.0 scale
90.0 rotate
-612.0 0.0 translate
.01 -.01 scale} bind def
/RCC {100.0 -100.0 scale
0.0 -792.0 translate 90.0 rotate
.01 -.01 scale} bind def
/URCC {100.0 -100.0 scale
-90.0 rotate 0.0 792.0 translate
.01 -.01 scale} bind def
/LH {gsave newpath moveto setlinewidth
   0.0 rlineto
   gsave stroke grestore} bind def
/LV {gsave newpath moveto setlinewidth
   0.0 exch rlineto
   gsave stroke grestore} bind def
/BX {gsave newpath moveto setlinewidth
   exch
   dup 0.0 rlineto
   exch 0.0 exch neg rlineto
   neg 0.0 rlineto
   closepath
   gsave stroke grestore} bind def
/BX1 {grestore} bind def
/BX2 {setlinewidth 1 setgray stroke grestore} bind def
%%EndProlog
%%Page: 1 1
BS
0 SI
12.00 /Courier AF
15.00 SS
7200 7200 MT /chfont0 SF
("#$%&)SH
30.00 SS
26250 10200 MT ('\050\051*)SH
10.50 SS
7200 13200 MT /Courier SF
(1=G, 4/4)SH
11006 15300 MT (.  ----   --- --                    .  ----   ---)SH
7200 16350 MT (5  6  6 | 2  5 \1343 | 2.3 26  | 2  - | 5  6  6 |2  5 \1343 | 2.3
  2 6  | 2  - |)SH
7200 17400 MT (-     -   -     -   --= -.-          -     -  -     -   --=  --.-
   )SH
17.50 SS
7200 20200 MT /chfont0 SF
(+ )633 W
(, )633 W
(- )1267 W
(. )633 W
(/ )3170 W
(. )1267 W
(0 )1901 W
(12 )2536 W
(. )633 W
(3 )633 W
(4 )633 W
(5 )633 W
(6 )3170 W
('\050 )633 W
(\051* )1267 W
(78)SH
7200 21950 MT (9 )633 W
(: )3170 W
(; )633 W
(< )3170 W
(= )1267 W
(> )1901 W
(?@ )2536 W
(A )633 W
(B )2536 W
(C )633 W
(D )3170 W
(E )1901 W
(F )2536 W
(?G)SH
7200 23700 MT (H )633 W
(I )633 W
(I )1267 W
(J )633 W
(K )3170 W
(L )1267 W
(M )1901 W
(NO )2536 W
(P )633 W
(Q )633 W
(R )633 W
(J )633 W
(K )3170 W
(L )1901 W
(M )2536 W
(ST)SH
7200 25450 MT (U )633 W
(V )633 W
(W )1267 W
(X )633 W
(Y )3170 W
(Z[\134 )1901 W
(]^ )2536 W
(_ )633 W
(` )633 W
(` )633 W
(a )633 W
(b )3170 W
(c )1901 W
(d )2536 W
(ef)SH
7200 27200 MT (g )633 W
(h )3170 W
(i )633 W
(j )3170 W
(k )1267 W
(l )1901 W
(mn )2536 W
(o )633 W
(p )633 W
(p )633 W
(q )633 W
(r )3170 W
(s )1901 W
(t )2536 W
(uv)SH
7200 28950 MT (9 )633 W
(w )633 W
(w )1267 W
(x )633 W
(y )3170 W
(C )1267 W
(z )1901 W
({@ )2536 W
(| )633 W
(} )633 W
(~ )633 W
(\200 )633 W
(\201 )3170 W
(\202\203 )633 W
(\204 )2536 W
({G)SH
7200 30700 MT (' )633 W
(\205 )633 W
(\205 )1267 W
(\206 )633 W
(\207 )3170 W
(\210\210\051 )1901 W
(\2112 )2536 W
(\212 )633 W
(\213 )633 W
(\214 )633 W
(\215 )633 W
(\216 )633 W
(\217 )1267 W
(\220 )1901 W
(\221 )2536 W
(\2218)SH
10.50 SS
20902 34200 MT /Courier SF
(5)SH
15193 35250 MT (---  --        -               -----   ---       )SH
7200 36300 MT (5  1  2 | 5  5  3 |  2.3  26  | 2  - | 1.1   7 6  | 5.  6   2 6
 | 5  - ||)SH
7200 37350 MT (-     -   -     -    --=  -.-          --=  -.-.-   -.-=.=  --.-
  .)SH
17.50 SS
7200 40150 MT /chfont0 SF
(\212 )633 W
(\213 )633 W
(\214 )1267 W
(\222 )633 W
(\223 )633 W
(\224 )1901 W
(' )1901 W
(\205 )1901 W
(\2052 )2536 W
(\225\226 )1267 W
(\227\230 )1901 W
(\231 )3804 W
(\232 )2536 W
(\233)SH
/Courier SF
(.)SH
7200 41900 MT /chfont0 SF
(9 )633 W
(w )633 W
(w )1267 W
(\234 )633 W
(\235 )3804 W
(\236 )1901 W
(: )1901 W
(\237@ )2536 W
(\240\241 )1267 W
(\242\243 )1901 W
(\244 )3804 W
(\245 )2536 W
(\246\247)SH
7200 43650 MT (\250 )633 W
(\250 )633 W
(\251 )1267 W
(\252 )633 W
(\253 )633 W
(\250 )1901 W
(\254 )1901 W
(\255 )1901 W
(\256O )2536 W
(\257\260 )1267 W
(\261 )3170 W
(\262 )1267 W
(\263 )1267 W
(\264\265 )1267 W
(\266\267)SH
7200 45400 MT (\270 )633 W
(\271 )633 W
(\272 )1267 W
(\273 )633 W
(\274 )3804 W
(\275 )1901 W
(\276 )1901 W
(\277^ )2536 W
(\300\301 )1267 W
([\134 )1901 W
(\302 )7611 W
(\303\304)SH
7200 47150 MT (\305 )633 W
(\306 )3170 W
(\307 )633 W
(\310 )3804 W
(\311 )1901 W
(\312 )1901 W
(\313n )2536 W
(o\314 )1267 W
(\315\314 )1901 W
(\316 )3804 W
(\317 )2536 W
(\320\321)SH
7200 48900 MT (\322 )633 W
(\323 )3170 W
(\324 )633 W
(\325 )3804 W
(\326 )1901 W
(\327 )1901 W
(\330@ )2536 W
(\323; )1267 W
(\325 )3170 W
(\331 )3804 W
(\332 )2536 W
(\333\247)SH
7200 50650 MT (0 )633 W
(\232 )3170 W
(\334 )633 W
(\217 )3804 W
(\335 )1901 W
(\336 )1901 W
(\3372 )2536 W
(\340 )2536 W
(\341 )3170 W
(\233 )1267 W
(. )1267 W
(\342 )2536 W
(\337\343)SH
15.00 SS
7200 54150 MT (\344\345\346\347\350\351\352\353\354\355\356\357)SH
(\360\361\362%\363\363\363\364)SH
(\365\366\367\370\371\372 \373)SH
/chfont1 SF
(!" )SH
7200 55650 MT /chfont0 SF
(\344)SH
/chfont1 SF
(#$%&')SH
/chfont0 SF
(L)SH
/chfont1 SF
(\050\051*)SH
/chfont0 SF
(O\261)SH
/chfont1 SF
(+,-./)SH
/chfont0 SF
(\267)SH
/chfont1 SF
(0123)SH
/chfont0 SF
(\267)SH
/chfont1 SF
(4&'5)SH
/chfont0 SF
(\251O)SH
/chfont1 SF
(26789:;<=)SH
/chfont0 SF
(O)SH
/chfont1 SF
(>?@;)SH
7200 57150 MT /chfont0 SF
(\267)SH
/chfont1 SF
(AB)SH
/chfont0 SF
(\253)SH
/chfont1 SF
(C)SH
/chfont0 SF
(S)SH
/chfont1 SF
(DEF;)SH
/Courier SF
(\134)SH
/chfont1 SF
(CGHB)SH
/chfont0 SF
(P)SH
/chfont1 SF
(DEI;)SH
/Courier SF
(5)SH
/chfont1 SF
(J=>)SH
/chfont0 SF
(O)SH
/chfont1 SF
(GHB)SH
/chfont0 SF
(H)SH
/chfont1 SF
(DEB)SH
/chfont0 SF
(H)SH
/chfont1 SF
(;K)SH
/Courier SF
(7)SH
/chfont1 SF
(J=L)SH
/Courier SF
(1)SH
/chfont0 SF
(O)SH
/chfont1 SF
(MN)SH
7200 58650 MT (O)SH
/chfont0 SF
(L)SH
/chfont1 SF
(PQRST3CU)SH
/chfont0 SF
(\267L)SH
/chfont1 SF
(4VWX6YZ\050[\134)SH
/chfont0 SF
(O)SH
/chfont1 SF
(]^X6_`abc)SH
/chfont0 SF
(R)SH
/chfont1 SF
(1,dYe)SH
/chfont0 SF
(O)SH
/chfont1 SF
(fg)SH
/chfont0 SF
(\251)SH
/chfont1 SF
(0)SH
7200 60150 MT (c)SH
/chfont0 SF
(R)SH
/chfont1 SF
(hij)SH
/chfont0 SF
(\250)SH
/chfont1 SF
(kl0)SH
/chfont0 SF
(\250)SH
/chfont1 SF
(khijc)SH
/chfont0 SF
(RO)SH
/chfont1 SF
(mYno;pqfr)SH
/chfont0 SF
(\267)SH
/chfont1 SF
(8sfgptubvw)SH
/chfont0 SF
(\263)SH
/chfont1 SF
(xyz{|)SH
7200 61650 MT (}~\200)SH
/chfont0 SF
(\353)SH
/chfont1 SF
(\201)SH
/chfont0 SF
(\267)SH
/chfont1 SF
(")SH
7200 66150 MT (\202\203\204\205)SH
/Courier SF
(YLIU@UDESVM.BITNET)SH
/chfont1 SF
(\206)SH
12.00 SS
%%BoundingBox: 72 36 540 720
ES
%%Pages: 1

From CCNET-L@uga.cc.uga.edu Mon May 25 10:43:52 1992
Received: from uga.cc.uga.edu by sirius.ctr.columbia.edu (5.67/5.10) with SMTP id AA27327; Mon, 25 May 92 10:43:45 -0400
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 6652; Mon, 25 May 92 10:41:07 EDT
Received: from UGA.BITNET by UGA.CC.UGA.EDU (Mailer R2.07) with BSMTP id 4850;
 Mon, 25 May 92 10:41:05 EDT
Date:         Mon, 25 May 1992 16:36:06 ITA
Reply-To: B MOUSE <RCHIIN10%IMIPOLI.BITNET@uga.cc.uga.edu>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: B MOUSE <RCHIIN10%IMIPOLI.BITNET@uga.cc.uga.edu>
Subject:      elib.65?
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: RO

 Dar  CCNeters A crcrl.nmsu.edu, /pub/chinese/fonts, there is a file
 called elib.65. Can anyone tell me what it is ? I happened to see it
 when I went download those chinese font file alib.24.Z ....
 Thanx in advance.    Tian

From CCNET-L@uga.cc.uga.edu Mon May 25 17:25:05 1992
Received: from uga.cc.uga.edu by sirius.ctr.columbia.edu (5.67/5.10) with SMTP id AA28996; Mon, 25 May 92 17:25:01 -0400
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 7769; Mon, 25 May 92 17:22:53 EDT
Received: from UGA.BITNET by UGA.CC.UGA.EDU (Mailer R2.07) with BSMTP id 4702;
 Mon, 25 May 92 17:22:50 EDT
Date:         Mon, 25 May 1992 14:21:41 -0700
Reply-To: Bo Yang <eric@COEUS.UCSD.EDU>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: Bo Yang <eric@COEUS.UCSD.EDU>
Subject:      Re: elib.65
Comments: To: CCNET-L@uga.cc.uga.edu
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: RO

B MOUSE <RCHIIN10%IMIPOLI.BITNET> writes:
	From root Mon May 25 07:43:21 1992
	Received: from uga.cc.uga.edu by coeus.ucsd.edu (AIX 3.1/UCB 5.61/4.03)
	          id AA02826; Mon, 25 May 92 07:43:17 -0700
	Message-Id: <9205251443.AA02826@coeus.ucsd.edu>
	Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
	   with BSMTP id 6652; Mon, 25 May 92 10:41:07 EDT
	Received: from UGA.BITNET by UGA.CC.UGA.EDU (Mailer R2.07) with BSMTP id 4850;
	 Mon, 25 May 92 10:41:05 EDT
	Date:         Mon, 25 May 1992 16:36:06 ITA
	Reply-To: B MOUSE <RCHIIN10%IMIPOLI.BITNET@uga.cc.uga.edu>
	Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
	From: B MOUSE <RCHIIN10%IMIPOLI.BITNET@uga.cc.uga.edu>
	Subject:      elib.65?
	To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>

	 Dar  CCNeters A crcrl.nmsu.edu, /pub/chinese/fonts, there is a file
	 called elib.65. Can anyone tell me what it is ? I happened to see it
	 when I went download those chinese font file alib.24.Z ....
	 Thanx in advance.    Tian


elib.65 is a simplified vector Chinese font used by cc2tex-1.0. It discribs
the vectors( Bi3 Hua4) needed to draw a charactar instead of using bitmaps.
the vectors are located within a 128*128 matrix with begining and end of
the vectors encoded in the font file. Notice the bytes needed to describ
one charactar are not the same from one to another. For detailed encoding
theme please hack with gb2tex-1.0 package at the same site.

Bo

From sol.ctr.columbia.edu!usc!cs.utexas.edu!uunet!munnari.oz.au!ariel!ucsvc.ucs.unimelb.edu.au!lugb!lux!9125113g Thu Jul  2 15:08:57 EDT 1992
Article: 33 of alt.chinese.text
Xref: sol.ctr.columbia.edu alt.chinese.text:33 soc.culture.china:61120
Path: sol.ctr.columbia.edu!usc!cs.utexas.edu!uunet!munnari.oz.au!ariel!ucsvc.ucs.unimelb.edu.au!lugb!lux!9125113g
From: 9125113g@lux.latrobe.edu.au (Mitch Davis)
Newsgroups: alt.chinese.text,soc.culture.china
Subject: Re: A Chinese Usenet Newsgroup
Message-ID: <1992Jul1.065827.26730@lugb.latrobe.edu.au>
Date: 1 Jul 92 06:58:27 GMT
References: <1992Jun30.035833.20824@bronze.ucs.indiana.edu>
Sender: news@lugb.latrobe.edu.au (USENET News System)
Organization: La Trobe University
Lines: 24
Status: RO

In article <1992Jun30.035833.20824@bronze.ucs.indiana.edu> yawei@bronze.ucs.indiana.edu (Ya-Gui Wei ~{QG9p~}) writes:
>
>Greetings,
>
>  In case the word isn't out, a new usenet newsgroup, alt.chinese.text,
>has been created. If you have access to usenet, you should be able
>to see it about now. If your site hasn't created this group, contact your
>news administrator and ask him/her to create it right away.
>
>  The new group will be used exclusively for posting of Chinese text.
>It will be an open forum with no restriction on topics.

Good.  In that case I will have my $0.02 worth, and tell you all about
my PingYin program.  This is a TSR which reprograms the EGA/VGA fonts,
then sits in memory, consuming about 600 bytes of memory.  From then on,
regardless of what program you type, when you press a vowel, an icon
starts flashing in the top corner of the screen.  If you immediately
follow the vowel with a number, the vowel gets replaced with the PingYin
vowel, complete with the correct line drawn above it.

Interested?  It has a few rough edges, so I'd like some testers, please.
If you know assembler, then I'd love you to pieces!

Mitch.


From CCNET-L@uga.cc.uga.edu Thu Jul 23 07:26:58 1992
Received: from uga.cc.uga.edu by sirius.ctr.columbia.edu (5.67/5.10) with SMTP id AA00395; Thu, 23 Jul 92 07:26:47 -0400
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 3658; Thu, 23 Jul 92 07:24:02 EDT
Received: from UGA.BITNET by UGA.CC.UGA.EDU (Mailer R2.07) with BSMTP id 8529;
 Thu, 23 Jul 92 07:24:00 EDT
Date:         Thu, 23 Jul 1992 11:28:19 BST
Reply-To: "Ross Paterson" <rap@DOC.IMPERIAL.AC.UK>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: "Ross Paterson" <rap@DOC.IMPERIAL.AC.UK>
Subject:      doubling the size of a bitmap
Comments: To: CCNET-L@uga.cc.uga.edu
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: RO

Greetings,

Dissatisfied with the appearance of 24x24 fonts on a 300 dpi printer,
and too cheap to pay for a 48x48 font, I wrote the following function
to double both dimensions of a bitmap, with a bit of smoothing.
It is pretty dumb, examining only a small area around each point, and
you can certainly do much better by hand, but it does a moderate job.
It does worst on edges that are nearly vertical or horizontal.  Also,
it makes the bitmaps about 1% darker.
--
Ross Paterson <rap@doc.ic.ac.uk>
Department of Computing, Imperial College, London SW7
----------------------------- cut here ------------------------------
/*
 * Double the size of a bitmap, with a bit of local smoothing.
 *
 * A bitmap is stored in row-major order, 8 bits per byte, top bit first.
 *
 * Ross Paterson <rap@doc.ic.ac.uk>
 */

typedef	int	bool;
#define	TRUE	1
#define	FALSE	0

static	void	set();
static	bool	get();

void
double_bm(in, w, h, out)
	char	*in;	/* input bitmap: w*h bits */
	int	w;	/* width of input bitmap */
	int	h;	/* height of input bitmap */
	char	*out;	/* output bitmap: 2*w*2*h bits */
{
	int	x, y;
	bool	c;

	for (y = 0; y < h; y++)
	    for (x = 0; x < w; x++) {
		c = get(in, w, h, x, y);
		set(out, w*2, x*2, y*2, c);
		set(out, w*2, x*2, y*2+1, c);
		set(out, w*2, x*2+1, y*2, c);
		set(out, w*2, x*2+1, y*2+1, c);
	    }
	for (y = 0; y < h; y++)
	    for (x = 0; x < w; x++) {
		c = get(in, w, h, x, y);
		if (c != get(in, w, h, x-1, y)) {
			if (c != get(in, w, h, x-1, y-1) &&
			    c != get(in, w, h, x, y-1)) {
				/*
				 *	OOX
				 *	OX?  -> move NW bit to right
				 *	???
				 */
				if (c == get(in, w, h, x+1, y-1)) {
					set(out, w*2, x*2, y*2, ! c);
					if (c)
						set(out, w*2, x*2+2, y*2, c);
				}
				/*
				 *	OO?
				 *	OX?  -> move NW bit down
				 *	X??
				 */
				if (c == get(in, w, h, x-1, y+1)) {
					set(out, w*2, x*2, y*2, ! c);
					if (c)
						set(out, w*2, x*2, y*2+2, c);
				}
			}
			if (c != get(in, w, h, x-1, y+1) &&
			    c != get(in, w, h, x, y+1)) {
				/*
				 *	???
				 *	OX?  -> move SW bit to right
				 *	OOX
				 */
				if (c == get(in, w, h, x+1, y+1)) {
					set(out, w*2, x*2, y*2+1, ! c);
					if (c)
						set(out, w*2, x*2+2, y*2+1, c);
				}
				/*
				 *	X??
				 *	OX?  -> move SW bit up
				 *	OO?
				 */
				if (c == get(in, w, h, x-1, y-1)) {
					set(out, w*2, x*2, y*2+1, ! c);
					if (c)
						set(out, w*2, x*2, y*2-1, c);
				}
			}
		}
	    }
#ifdef	DEBUG
	for (y = 0; y < h*2; y++) {
		for (x = 0; x < w*2; x++)
			putchar(get(out, w*2, h*2, x, y) ? '%' : ' ');
		putchar('\n');
	}
#endif
}

static bool
get(arr, w, h, x, y)
	char	*arr;
	int	w;
	int	h;
	int	x;
	int	y;
{
	int	pos;

	if (x < 0 || x >= w || y < 0 || y >= h)
		return FALSE;
	pos = y*w + x;
	return (arr[pos/8] >> (7 - pos%8)) & 01;
}

static void
set(arr, w, x, y, value)
	char	*arr;
	int	w;
	int	x;
	int	y;
	bool	value;
{
	int	pos;

	pos = y*w + x;
	if (value)
		arr[pos/8] |= 1 << (7 - pos%8);
	else
		arr[pos/8] &= ~(1 << (7 - pos%8));
}

From ctrsol!cica!iuvax!purdue!mailrus!cornell!uw-beaver!uw-june!yeung Fri Sep 29 18:19:32 EDT 1989
Status: RO

Article 5687 of soc.culture.china:
Xref: ctrsol soc.culture.china:5687 soc.culture.taiwan:563 soc.culture.hongkong:1042
Path: ctrsol!cica!iuvax!purdue!mailrus!cornell!uw-beaver!uw-june!yeung
>From: yeung@cs.washington.edu (Ricky Yeung)
Newsgroups: soc.culture.china,soc.culture.taiwan,soc.culture.hongkong
Subject: Chinese Software Announcement - Release II
Keywords: ccxterm, HZ1.1, xhzview, fonts
Message-ID: <9315@june.cs.washington.edu>
Date: 28 Sep 89 02:45:30 GMT
Organization: U of Washington, Computer Science, Seattle
Lines: 112

Folks: 

There are more PD Chinese software and fonts available for ftp on
june.cs.washington.edu.  Please use 'anonymous' (w/ any password) to ftp
the files.  Don't forget to use binary mode!

Here are the new stuff:

tmp/yeung/HZ1-1.tar
	F.F. Lee's HZ package.  Some fixes.  It replaces HZ1-0.tar.Z

tmp/yeung/ccxterm.tar.Z
	A CCDOS terminal emulator runs on X window.  It has 4 input
        methods and was developed by the Institute of Software, Academia
	Sinica, and brought to you by ygz@cs.purdue.edu.

tmp/yeung/fontUtil/hzfont2bdf.c
	Utility to convert hzfont format font file to X window BDF format.

tmp/yeung/fontUtil/xfd.patch
	Patch for xfd for viewing Chinese font.  Provided by ygz.

tmp/yeung/pinyin.hz
	Ed Lai's pinyin data file in hz format.

tmp/yeung/cantonese.shar
	Fung Fung Lee's Cantonese pinyin document and data file.

tmp/yeung/lunar.shar
	Lunar <-> Solar calendar program with new smaller and prettier font.

tmp/yeung/xhzview.shar
	Program to display GB file (CCDOS or HZ format) on X window.

tmp/yeung/bdf/*
	One 12pt, one 48pt, and some 20pt fonts.  Unfortunately, all the
	symbol parts are missing.  Also some of the fonts are corrupted.
	So use at your own risk.	

Acknowledgements
----------------
Thanks to the Institute of Software, Academia Sinica (Beijing, PRC) for
providing the PD fonts and the X-window CCDOS terminal emulator.  We thank
Yongguang (ygz@cs.purdue.edu) for bringing us all these and providing
the cclibToBdf utility, xfd patch, etc.

I have also collected the pinyin data file posted by Ed Lai
(lai@apple.com).   Thanks, Ed.  

Also yagui (yawei@aqua.bacs.indiana.edu) has provided help in creating
the README files for the CCDOS input methods.

A person has contributed a set of smaller (and prettier) bitmap characters
for the lunar program.  Unfortunately, I accidentally deleted the name. :-(
(If you're the one, please send me e-mail again.)

Chinese Software Coordinator
----------------------------
Since the Chinese software collection is getting larger, we need a
person to coordinate the distribution, etc.   For the time being, you
are welcome to send me your contribution or tell me what Chinese
software you're working on.  This way, we can minimize the duplicated
effort. 

Unfortunately, I'll be leaving Seattle soon.  That means we need a new
coordinator (with internet access) in a month or so.  Please contact me
if you're interested.  Also we need a permanent ftp site.

BTW, I'll be out of town for a week starting this coming Friday.   
You can direct your questions to the appropriate contributors or patiently
wait for the "return of the Ricky" :-)

-Ricky

P.S. Since there are many stuff in tmp/yeung on june.cs.washington.edu,
I'll briefly list them here again.

----------------------------
README
	This file.

HT-readme & HT0-2.hqx.Z
	The HanziTerm0.2 package for the Macintosh.

HZ1-1.tar
	The HZ1.1 package.

bdf/*
	BDF fonts.

cantonese.shar
	F.F. Lee's Cantonese PinYin document and data file.

ccxterm.tar.Z
	The X window CCDOS terminal emulator.

fontUtil/*
	Programs to convert between CCDOS, HZ, and BDF font format.
	Also the xfd patch.

hzfonts/*
	Fonts to be used with the HZ package.  (Move them to $HZDIR/font.)

lunar.shar
	Program to convert between solar and lunar calendars.
	It also calculates and prints the '8 characters'.

pinyin.hz
	Ed Lai's pinyin data file in hz format.

xhzview.shar
	Program to view GB file (CCDOS or HZ format) on X window.
From @cuvmb.cc.columbia.edu:CCNET-L@UGA.BITNET Thu Mar 29 18:03:41 1990
Received: from CUVMB.COLUMBIA.EDU (cuvmb.cc.columbia.edu) by sirius (4.1/5.10) id AA17788; Thu, 29 Mar 90 18:03:37 EST
Received: from CUVMB.COLUMBIA.EDU by CUVMB.COLUMBIA.EDU (IBM VM SMTP R1.2.1) with BSMTP id 7479; Thu, 29 Mar 90 18:03:11 EST
Received: from PUCC.PRINCETON.EDU by CUVMB.COLUMBIA.EDU (Mailer R2.05) with
 BSMTP id 2191; Thu, 29 Mar 90 18:03:10 EST
Received: from PUCC.BITNET by PUCC.PRINCETON.EDU (Mailer R2.06) with BSMTP id
 6341; Thu, 29 Mar 90 18:03:27 EST
Date:         Thu, 29 Mar 90 10:43:01 PST
Reply-To: LAI%UCE.MFENET%CCC.NMFECC.GOV@cuvmb.cc.columbia.edu
Sender: Chinese Computing Network <CCNET-L%UGA@cuvmb.cc.columbia.edu>
Comments:     From LAI@UCE.MFENET on March 29, 1990 at 10:41 PST
From: LAI%UCE.MFENET%CCC.NMFECC.GOV@cuvmb.cc.columbia.edu
Subject:      Bitmap character generation
Comments: To: CCNET-L%UGA.BITNET@pucc.PRINCETON.EDU
To: Multiple recipients of list CCNET-L <CCNET-L@uga>
Status: RO

I would like to add my opinion to the summary of jjj%sirius@pucc.princeton.edu
on Chinese Font and Font Storage.  I agree that it is labor intensive to
generate high quality electronic fonts.  However, there is a quick and dirty
way to generate bitmap Chinese fonts in a very inexpensive way.  By taking
advantage of the hardware scalability of scanners, we can scan in Chinese
fonts printed in dictionary, encyclopedia or caligraphy.  Since most of
those publication were printed hundreds of years ago, there should not be
any concern for infringing copyrights.  Once scanned in the computer, the
touch up work should be quite straight forward.  It probably only takes
a few man-weeks to create a complete set of Chinese fonts using this
approach.

Kwok Lai

From CCNET-L@uga.cc.uga.edu Sun Aug 23 20:14:56 1992
Received: from uga.cc.uga.edu by sirius.ctr.columbia.edu (5.67/5.10) with SMTP id AA23430; Sun, 23 Aug 92 20:14:33 -0400
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 2147; Sun, 23 Aug 92 20:12:31 EDT
Received: from UGA.BITNET by UGA.CC.UGA.EDU (Mailer R2.07) with BSMTP id 3145;
 Sun, 23 Aug 92 20:12:28 EDT
Date:         Mon, 24 Aug 1992 10:11:24 EST
Reply-To: William Sun <william@dubhe.anu.edu.au>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: William Sun <william@dubhe.anu.edu.au>
Subject:      What is GB2PS?  -- GB2PS HELP FILE [long] (Re: GB2PS 2.02 is out)
Comments: To: CCNET-L@uga.cc.uga.edu
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: RO

Hi,

Because there are some people asking this question, I think
I'd better post some thing that can answer this kind of questions
before my mail box complain.


W. SUN

======================== gb2ps.help ============================================
Last change: 23 August 1992


			GB2PS 2.02 HELP FILE
			====================

o What is GB2PS?
================
	GB2PS is a conversion program, which converts the GB code and HZ
code article into PostScript printable files that can be printed on
PostScript printers.


o What's new in this version?
============================
	In this version, GB2PS can do simple page formatting, change chinese
font and font size, select pages to be converted, cover page, page
number, etc. But more importantly, its performance has been
improved dramatically (Thanks Zhi Quan Luo,xluo@lids.mit.edu), the size
of average PS file(10 pages) reduces almost 5 times (from over 2.3MB to
about 440KB) compare with version 1.0, and printing speed is about
15~30 second/page. You don't need to worry about printer memory and
spooling area any more.

	Five chinese fonts are provided in this release, they are Song,
Kai, Fang Song, Hei and FanTi fonts.  This version also supports the HZ
ENCODING, so don't be confused by the name of 'GB2PS'.  It can do more
than just 'GB-to-PS'.


o Usages of GB2PS
=================

  	gb2ps 	[-h][-y year][-m month][-i issue][-p][-t][-f][-b page_no]
		[-e page_no] input_file [output_file]

	OPTIONS:
		-h		Help, print the usage of GB2PS

		-y year
		-m month
		-i issue	These parameters are used for generating the
				cover page file, they will be passed to
				the coverpage PS file directly.
		-t              do not generate cover page.
		-p		do not generate page number.
		-f		enable page formatting.
		-b page_no	begin generating PS file from page page_no.
		-e page_no	end generating PS file at page page_no.

	Normally, PostScript program is big. In this version, I have tried
to reduce the size of PS file as much as possible. However, it's still
possible that the spooling area be overflowed if a large print job is
sent. In this case, use -b and -e options to generate a series of PS
files, then print them separately.

	This version of gb2ps can automatically generate cover page for the
HXWZ printouts. The year, month and issue number can be set manually or
generated by system following the HXWZ name convention:

	cmyymmi.gb -- 	yy: year
			mm: month
			i:  issue
	ie.cm9105a.gb

Note: The page number of cover page is 0.

	COVER.PS is the cover page description PS file, users can design their
own cover page if they can follow the rules, see file COVER.PS for more
details.

Examples:
	input:	gb2ps -h
	output:	the usage of GB2PS

	input:	gb2ps cm9203d.gb cm.ps
	output: Converts gb file cm9203d.gb to PS program cm.ps.

	input:	gb2ps cm9208a.hz cm.ps
	output: Converts HZ file cm9208a.hz to PS program cm.ps.

	input:	gb2ps -b 3 -e 5 cm9105a.gb cm.ps
	output: Converts gb file cm9105a.gb to PS program cm.ps from page
		3 to page 5.

	input:	gb2ps -f -b 6 cm9202a.gb cm
	output: Converts gb file cm9202a.gb to PS program cm.ps from page
		6 to the end of the article with page formatting enable.



o ENVIRONMENT VARIABLES
=======================
	GB2PS allows user to change the chinese characters font and cover page
PS file at run time through environment variables, these variables
are:


	CFONT		Chinese characters font files directory.
	COVERPAGE	Cover page PS file.

o Printing the PS programs
==========================

	You can get the chinese article by sending the PS programs to your PS
printer:

		print -P printer_name -M PostScript PS_program
Examples:
		print -P dcslw -M PostScript cm

* Note: The 'print' is a printing command in SUN OS(UNIX) system.

o System environment
====================
	GB2PS is developed in UNIX system, but I don't think you will have any
difficulty to port it into DOS or VMS system.

o Chinese fonts
===============
	GB2PS version 2.02 uses a new format chinese font file, compare
with the GB2PS version 1.0, it saves almost 220KB space. The format of
the font file is:
		XXXX YYYY
XXXX -- four digits QUWEI code
YYYY -- 24X24 chinese character bitmap

	The version can support up to six 24X24 chinese fonts, Song, Fang Song,
Kai, Hei, Fan and user defined chinese font. This release provides five chinese
fonts (Thanks Bo Yang,eric@COEUS.UCSD.EDU, for his 'c2cc').

o Basic Concepts of Page Formatting
==================================
	The followings are basic concepts that have being used in GB2PS.
Margins, baseline and first indent are logical concepts, they are
invisible.


+------------------------------------------+
|                                          |
|   +----------------------------------+   |
|<->|<-left margin(72) ^ right margin->|<->|
|   |                  |    (72)       |   |<----blank paper
|   |            top margin(72)        |   |
|   |                                  |   |
|   |                                  |   |
|   |                                  |   |
|   |                                  |   |
|   | first indent(0)                  |   |
|   |<--->|                            |   |
|   |     XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX_______ <- baseline
|   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   |
|   XXXXXXXXXXXXXXXXXXXX  ^            |   |
|   |                     |            |   |
|   |                     |            |   |
|   |                  a paragraph     |   |
|   |                                  |   |
|   |                                  |   |
|   |                                  |   |
|   |                                  |   |
|   |                                  |   |
|   |                                  |   |
|   |                                  |   |
|   |                                  |   |
|   |                                  |   |
|   |                                  |   |
|   |            bottom margin(72)     |   |
|   |                 |                |   |
|   |                 v                |   |
|   +----------------------------------+   |
|                                          |
+------------------------------------------+

o Page Formatting Commands
==========================
	This version supports basic page formatting, this is done by user
manually insert the page formatting command. All the commands begin
with '<' and end with '>', you can write multiple commands in one < >.
The units that is being used in the GB2PS is point, 1 point=1/72 inch.
Space is the separator between commands. The correct command looks like
<FS FZ 10 20 ML 72>.


Note: You should give -f option when running GB2PS with page formatting.

1. Font command 'F':
	The font command allow user change current chinese font, font size and
orientation.

	s or S:		Choose Song style chinese font.
	k or K:		Choose Kai style chinese font.
	f or F: 	Choose Fang Song style chinese font.
	h or H:		Choose Hei style chinese font.
	g or G:		Choose Fan style chinese font.
	u or U:		Choose user defined chinese font.

	z XXX YYY or Z XXX YYY:
			Change font size, follow by two numbers
			specifies the scale of the font in X and Y
			directions. Default XXX and YYY are 10.
	o or O:		Switch font orientation between horizontal and vertical.

	example: <FS FZ 20 10 FO>

2. Margin Command 'M':
	Margin commands control the format of the printout. For A4 paper, the
margins are from 0 to 596 horizontally and from 0 to 842 vertically.

	L nnn		Left margin, default is 72.
	R nnn		Right margin, default is 72.
	T nnn		Top margin, default is 72.
	B nnn		bottom margin, default is 72.
	I nnn
			First indent. If nnn<0, the formatted paragraph
			is a hang-up paragraph. The default first indent is 0.

	example:	<ML 72 MR 72 MT 72 MB 72 MI 0>

3. Other commands:
	<		character '<'. Anytime when GB2PS encounters
			'<<', it prints a character '<' in printout.
	G nnn		Set gray level, 0<=nnn<=100, default is 0.
	L nnn.nn	Line space, default is 3.0.
	C nnn.nn	Character space, default is 0.07.
	B [-]nn		Adjust baseline, if the number is negative, it moves
			baseline up, otherwise moves baseline down.
	m XXX YYY	Move current position to (XXX,YYY). XXX and YYY should
			be integer. This command allows user to put text
			anywhere on the paper.
o Quality
=========
	In the laser printing world, the quality of 24X24 font is really
not good enough, but, in my experience, if you make another copy on
photocopier from the original printout (printed by laser printer), this
copy will be much better in quality than the original one.

o FTP site
==========

	The current GB2PS can be obtained via anonymous FTP from:

        Site: bellatrix.anu.edu.au (150.203.23.14)
        Directory:  /pub/gb2ps
        File:   gb2ps.2.02.tar.Z


o AUTHOR
========

  	The author can be reached by E-mail:  william@cs.anu.edu.au
 or mail at:

 	   Wei Sun
 	   Department of Computer Science
 	   The Australian National University
 	   Canberra, ACT 2601
 	   Australia

Comments or reports on bugs and problems are welcome.
=========================================================================

From @cuvmb.cc.columbia.edu:CCNET-L@UGA.BITNET Thu Apr 12 01:12:53 1990
Received: from cuvmb.cc.columbia.edu by sirius.ctr.columbia.edu (5.61/5.10) with SMTP id AA11343; Thu, 12 Apr 90 01:12:50 -0400
Received: from CUVMB.COLUMBIA.EDU by CUVMB.COLUMBIA.EDU (IBM VM SMTP R1.2.1) with BSMTP id 8685; Thu, 12 Apr 90 01:11:08 EDT
Received: from PUCC.PRINCETON.EDU by CUVMB.COLUMBIA.EDU (Mailer R2.05) with
 BSMTP id 3637; Thu, 12 Apr 90 01:11:05 EDT
Received: from PUCC.BITNET by PUCC.PRINCETON.EDU (Mailer R2.06) with BSMTP id
 4184; Thu, 12 Apr 90 01:11:25 EDT
Date:         Wed, 11 Apr 90 10:48:00 EDT
Reply-To: "J.B. WANG" <SPO_JWANG2%STEVENS@cuvmb.cc.columbia.edu>
Sender: Chinese Computing Network <CCNET-L%UGA@cuvmb.cc.columbia.edu>
From: "J.B. WANG" <SPO_JWANG2%STEVENS.BITNET@cuvmb.cc.columbia.edu>
Subject:      New fonts available
To: Multiple recipients of list CCNET-L <CCNET-L@UGA>
Status: RO

Folks:

I sent a message two days ago and it was lost. Here it goes again.

In order to make Chinese TeX more device independent, I had been seeking for
the ways to build bitmap fonts for various sizes, so that not only PostScript
will be ok, but also other printers such as HP, EPSON and LN03. The trick is
to build PK fonts for suitable resolutions (such as 5pt, 7pt, 10pt, 12pt
16pt and 20pt for 300dpi laser printers, 72dpi screens and 216x240 dpi
dot-matrix printers). There had been enough noice that people are trying to
build analytical PostScript fonts or MetaFonts, my advice is to leave this
job to commercial companies or individuals who can invest at lease 0.5 man
hours.

I have a different solution, though, and I have implemented it and am leaving
new bitmap font libraries. Today, I have added
cclib.18
cclib.32

in anonymous/ch-series of 192.12.216.114 for ftp, and they are complete sets
of GB 18x18 and 32x32 bitmap fonts. Soon, there will be 20x20, 30x30 and
others. The format of these libraries is as follows:

8-bit horizontally across per byte, and each row is packed to integal bytes,
thus 18x18 has 3 bytes a row (with 2 bits used in the last byte) and 18
rows per character, i.e., 3x18=54 bytes per record (for a character)

There are 87x94 characters altogether as standard GB sets.

My algorithm is not a magic, it simply exploits PostScript features of a
NeWS window on my SiliconGraphics, i.e., I build scaleable PostScript images
from the available 16x16, 24x24 and 48x48 character images, scale it to
proper size, dump it on the screen through NeWS server, and grab it from
the screen buffer and translate RGB (3 bytes per pixel) information into
8 pixels per byte library format.

You can see that I can virtually build library of any font sizes ranging
from 14x14 to 72x72, although it might be necessary to build a pixel editing
program to round off rough corners during the scaling process.


If you need a specific font size, just let me know. I build build it for you.

Returning to Chinese TeX, half year ago, through try-and error, I found that
the best font width for a Chinese character is 725 (in 1000 unit font space),
and that's reflected in chfont*.tfm in ChTeX.tar.Z. This is crucial while
Chinese and English are mixed. In this fashion, 10pt PK files can be build
directly from cclib.30 for 300dpi output devices, and cclib.24 for 8pt and
cclib.16 for 6pt. Of course, cclib.36 will be built for 12pt fonts as well.



Sincerely yours,

JB Wang
Stevens Institute of Technology (formerly Universoty of Pittsburgh)
(201)-420-5814 (o)

From @cuvmb.cc.columbia.edu:CCNET-L@UGA.BITNET Thu Apr 12 13:18:41 1990
Received: from cuvmb.cc.columbia.edu by sirius.ctr.columbia.edu (5.61/5.10) with SMTP id AA14497; Thu, 12 Apr 90 13:18:34 -0400
Received: from CUVMB.COLUMBIA.EDU by CUVMB.COLUMBIA.EDU (IBM VM SMTP R1.2.1) with BSMTP id 9129; Thu, 12 Apr 90 13:16:51 EDT
Received: from PUCC.PRINCETON.EDU by CUVMB.COLUMBIA.EDU (Mailer R2.05) with
 BSMTP id 5379; Thu, 12 Apr 90 13:16:49 EDT
Received: from PUCC.BITNET by PUCC.PRINCETON.EDU (Mailer R2.06) with BSMTP id
 7676; Thu, 12 Apr 90 12:36:30 EDT
Date:         Thu, 12 Apr 90 12:24:38 EDT
Reply-To: Charles Tang <66291k%D1.DARTMOUTH.EDU@cuvmb.cc.columbia.edu>
Sender: Chinese Computing Network <CCNET-L%UGA@cuvmb.cc.columbia.edu>
From: Charles Tang <66291k%D1.DARTMOUTH.EDU@cuvmb.cc.columbia.edu>
Subject:      Re: Chinese Macintoshing
To: Multiple recipients of list CCNET-L <CCNET-L@UGA>
Status: RO

>   Also, there is that company in Taiwan which was using Fontographer to
>design an absolutely stunning font set, with a laser version planned, but
>their software package went for US$2000.00, which is ridiculous unless you
>are interested in professional publishing.

Hi!  Could you be talking about this company Hua2-Kang1 Ke1-Ji4
(Chinese-Healthy Science-Technology)??  I've read some PC articles
(Chinese edition) about this company a few months back, and I was
absolutely impressed by their beautiful font set.  Anyway, what is the
name of this company you're talking about, and where did you get to see
a sample of their fonts?

Thanks!

-Charles

From @cuvmb.cc.columbia.edu:CCNET-L@UGA.BITNET Thu Apr 12 21:57:46 1990
Received: from cuvmb.cc.columbia.edu by sirius.ctr.columbia.edu (5.61/5.10) with SMTP id AA17809; Thu, 12 Apr 90 21:57:44 -0400
Received: from CUVMB.COLUMBIA.EDU by CUVMB.COLUMBIA.EDU (IBM VM SMTP R1.2.1) with BSMTP id 9857; Thu, 12 Apr 90 21:56:04 EDT
Received: from PUCC.PRINCETON.EDU by CUVMB.COLUMBIA.EDU (Mailer R2.05) with
 BSMTP id 7614; Thu, 12 Apr 90 21:56:03 EDT
Received: from PUCC.BITNET by PUCC.PRINCETON.EDU (Mailer R2.06) with BSMTP id
 0044; Thu, 12 Apr 90 21:57:23 EDT
Date:         Thu, 12 Apr 90 09:25:00 EDT
Reply-To: "J.B. WANG" <SPO_JWANG2%STEVENS@cuvmb.cc.columbia.edu>
Sender: Chinese Computing Network <CCNET-L%UGA@cuvmb.cc.columbia.edu>
From: "J.B. WANG" <SPO_JWANG2%STEVENS.BITNET@cuvmb.cc.columbia.edu>
Subject:      CCLIB to PK
To: Multiple recipients of list CCNET-L <CCNET-L@UGA>
Status: RO

Folks:

Now I have added quite a number of font sets including cclib.18, cclib.27,
cclib.30, cclib.32 in anonymous/ch-series in 192.12.216.114. I have examined
them with a NeWS window font viewer, and the quality is not bad. cclib.48
was based on a set channeled through Yeung originally from U of Washington
from China. It has defects in symbol set and er4-ji2-zi4-ku4. I have to fix
those defects (essentially blanks) first before I can use it to build fonts
larger than 42x42.

This is only step one. Step two yet has to be taken is to write utility
programs to generate PK files from these cclib's. It is not trivial not not
too difficult either. If you have a TeX distribution tape, there is a web
file called pktype.web. If you tangle it, you get pktype.p (Pascal code) which
can be translated into C with web2c. If you weave it, you get pktype.tex
which is the documentation of pktype and pk format. If there are individuals
interested in it, please be my guest. I will also do it, and incorporate it
into my ch-series. If this part can be done without my effort, JTeX (Japanese
TeX) ftpable from science.utah.edu can be tuned into another version of
Chinese TeX. But since my design of ChTeX is totally different from JTeX,
I will leave this part to someone else, and I will take steps to build a
more perfect Chinese TeX and LaTeX. Note though, JTeX has its own TFM files,
which may give different font width to Chinese characters than my chfont*.tfm.
Therefore, you have to choose cclib.* according to output device resolution
and TFM font files.

Sincerely yours,

JB Wang

From @cuvmb.cc.columbia.edu:CCNET-L@UGA.BITNET Fri Apr 13 23:13:12 1990
Received: from cuvmb.cc.columbia.edu by sirius.ctr.columbia.edu (5.61/5.10) with SMTP id AA24781; Fri, 13 Apr 90 23:13:08 -0400
Received: from CUVMB.COLUMBIA.EDU by CUVMB.COLUMBIA.EDU (IBM VM SMTP R1.2.1) with BSMTP id 0992; Fri, 13 Apr 90 23:05:41 EDT
Received: from PUCC.PRINCETON.EDU by CUVMB.COLUMBIA.EDU (Mailer R2.05) with
 BSMTP id 0739; Fri, 13 Apr 90 23:05:39 EDT
Received: from PUCC.BITNET by PUCC.PRINCETON.EDU (Mailer R2.06) with BSMTP id
 1360; Fri, 13 Apr 90 23:02:23 EDT
Date:         Fri, 13 Apr 90 15:01:00 EDT
Reply-To: "J.B. WANG" <SPO_JWANG2%STEVENS@cuvmb.cc.columbia.edu>
Sender: Chinese Computing Network <CCNET-L%UGA@cuvmb.cc.columbia.edu>
From: "J.B. WANG" <SPO_JWANG2%STEVENS.BITNET@cuvmb.cc.columbia.edu>
Subject:      Re:  CCLIB to PK
To: Multiple recipients of list CCNET-L <CCNET-L@UGA>
Status: RO

This is a reply and comments to questions and comments from a couple of
ccnet subscribers. For at least one person from California I can't reply
directly. For the others, I'd like the net audience hear the answers.

1. For the request of font size round 50x50 and up to 72x72 for
  300 dpi laser (PostScript) laser printing:

        I will provide fonts around 50x50. The current 48x48 (cclib.48) is
        not bad except that symbol set and er4-ji4-ku4, but I will fill those
        gaps. 72x72 will be ok, but might be a little rough (acceptably).

        However, you don't really need such large bitmap font libraries to
        describe good typefaces on a 300dpi laser printer. Besides, it is not
        worth to repeat the work other people have done (especially free ones).
        For instance, there are at least three Chinese->PostScript device
        drivers. One is a modified version of k2ps (Kanji to PS) from JTeX
        which is in turn from atops (ASCII to PS), both available from
        science.utah.edu. The second one is hz2ps from june.cs.washington.
        And the third one, which is also the most powerful and intelligent one,
        is chtex (with -w option) from my ChTeX.tar.Z. By powerful, chtex -w
        can not only do simple Chinese->ps driving, but also formatting,
        scaling and importing other PostScript figures, and it can use 16x16
        for draft quality, 24x24 for standard quality and 48x48 for final
        quality. However, as I pointed out, over using bitmap information
        does harm than good. 12pt output build from 48x48 is often poorer than
        from 24x24, because you are scaling it done and loosing information.
        36x36 will be the best for my font metric, i.e., 725/1000.
        For an Chinese Editor on Sun or other workstation, we just need to
        implement X11 window, NeWS window, DECWindow and SunView support to
        chtext I had, and may be add some mouse support and editing function.
        Ideas in chtext, I think, does match the advance of Chinese text input
        as compared to the most recent TianMa and FeiMa products, although
        AI features can be incorporated further.

2.
   Mr. C.Q. Cheng provided information that some companies in China are selling
   fonts at cheap price, and there are some font size and style availabilities.
   From the samples Yuan Jian showed me, Singapore companies are also selling
   bitmap fonts (but very expensive). My comments are:

   1) It is not a bad idea to obtain some font sets from these resources.
        bitmap fonts can't be copyrighted, so don't be afraid of it. But
        program descriptions of fonts and names of fonts can be copyrighted,
        which is not a problem in our concern. The guys who invented Chinese
        font styles, such as Liu3-Zhong1-Yuan2 and Wei4-Gong1-Quan2, died
        hundreds or even thousands years ago, while copyright only lasts 50
        years.

   2) Those bitmap fonts are normally designed for the convenience of bit-
        packing and other rationals. In designing fonts for a formatter like
        TeX, or a 300dpi output device with certain font sizes (such as 12pt)
        in mind, we often need things like 15x15, 27x27, 39x39, 45x45 and so
        on, instead of 12x12, 16x16, 20x20, 24x24, 32x32, etc.. Therefore,
        it is still important to have an algorithm to generate these fonts
        from the available font library of the closest size.

3. We might need to think of Fan2-Ti3-Zi4 library seriously. There is a
        significant lack of it in the network. If some body can provide
        a few basic font sets, we can work out the others.




P.S.: WEB2C is not a general Pascal to C translator, but it does translate
        Pascal programs to C. It is available for ftp from sites like
        june.cs.washington.edu, labrea.washington.edu and many other places
        related to TeX distribution. It was designed to translate Pascal
        programs in TeX distribution to C. Turbo Pascal has many extended
        features that might not be understood by WEB2C, but at least, WEB2C
        might be able to do a big part of the translation and leaving little
        to be done by hand.



Sincerely yours,


JB Wang

From @cuvmb.cc.columbia.edu:CCNET-L@UGA.BITNET Sat Apr 14 05:54:30 1990
Received: from cuvmb.cc.columbia.edu by sirius.ctr.columbia.edu (5.61/5.10) with SMTP id AA26944; Sat, 14 Apr 90 05:52:52 -0400
Received: from CUVMB.COLUMBIA.EDU by CUVMB.COLUMBIA.EDU (IBM VM SMTP R1.2.1) with BSMTP id 1028; Sat, 14 Apr 90 03:17:18 EDT
Received: from PUCC.PRINCETON.EDU by CUVMB.COLUMBIA.EDU (Mailer R2.05) with
 BSMTP id 0934; Sat, 14 Apr 90 03:17:16 EDT
Received: from PUCC.BITNET by PUCC.PRINCETON.EDU (Mailer R2.06) with BSMTP id
 7723; Sat, 14 Apr 90 03:18:44 EDT
Date:         Sat, 14 Apr 90 00:09:30 PDT
Reply-To: Samuel Lam <skl%wimsey.bc.ca@cuvmb.cc.columbia.edu>
Sender: Chinese Computing Network <CCNET-L%UGA@cuvmb.cc.columbia.edu>
From: Samuel Lam <skl%WIMSEY.BC.CA@cuvmb.cc.columbia.edu>
Subject:      Re: Traditional Character Fonts
Comments: To: SPO_JWANG2@stevens.BITNET
To: Multiple recipients of list CCNET-L <CCNET-L@UGA>
In-Reply-To:  <90Apr13.230705edt.59059@ugw.utcs.utoronto.ca>; from "J.B. WANG"
              at Apr 13, 90 3:01 pm
Status: RO

> 3. We might need to think of Fan2-Ti3-Zi4 library seriously. There is a
>    significant lack of it in the network. If some body can provide
>    a few basic font sets, we can work out the others.

There is such a font included in X11R4.  It is from the National
University of Singapore.  It uses the GB encoding, instead of BIG-5,
and thus is missing some of the characters which map N-to-1 into
real GB.

It is a 16x16 bitmap font named Xian, and it's available in BDF
format in the X11R4 distribution.

...Sam
--
Internet: <skl@wimsey.bc.ca>    UUCP: {van-bc,ubc-cs,uunet}!wimsey.bc.ca!skl

From @cuvmb.cc.columbia.edu:CCNET-L@UGA.BITNET Sat Apr 14 06:14:08 1990
Received: from cuvmb.cc.columbia.edu by sirius.ctr.columbia.edu (5.61/5.10) with SMTP id AA26973; Sat, 14 Apr 90 06:14:05 -0400
Received: from CUVMB.COLUMBIA.EDU by CUVMB.COLUMBIA.EDU (IBM VM SMTP R1.2.1) with BSMTP id 1034; Sat, 14 Apr 90 03:42:00 EDT
Received: from PUCC.PRINCETON.EDU by CUVMB.COLUMBIA.EDU (Mailer R2.05) with
 BSMTP id 0949; Sat, 14 Apr 90 03:41:59 EDT
Received: from PUCC.BITNET by PUCC.PRINCETON.EDU (Mailer R2.06) with BSMTP id
 9428; Sat, 14 Apr 90 03:43:25 EDT
Date:         Sat, 14 Apr 90 00:33:43 PDT
Reply-To: Samuel Lam <skl%wimsey.bc.ca@cuvmb.cc.columbia.edu>
Sender: Chinese Computing Network <CCNET-L%UGA@cuvmb.cc.columbia.edu>
From: Samuel Lam <skl%WIMSEY.BC.CA@cuvmb.cc.columbia.edu>
Subject:      Re: PostScript Chinese Fonts
Comments: To: PL6AAIU@VM.TCS.TULANE.EDU
To: Multiple recipients of list CCNET-L <CCNET-L@UGA>
In-Reply-To:  <90Apr13.154443edt.59051@ugw.utcs.utoronto.ca>; from "Andy
              Nulman" at Apr 13, 90 3:28 pm
Status: RO

> Several of us are interested in a good Chinese Postscript font for
> the Mac but we have had a real hard time finding out more information.
> Does it exist??

AsiaGraphics (at <D4167@applelink.apple.com>) produces both complex
and simplified PostScript Chinese fonts.  However, these can only be
used on PostScript printers which support 2-byte characters.  (Most,
if not all, PostScript interpreters available in North America support
only 1-byte characters.)

Some PostScript devices which support 2-byte characters are:  Apple
LaserWriter II model NTX-J (Japan) and NTX-A (Asia), and some models
of the Linotype and Varityper typesetters.

I was recently told by AsiaGrphics that because 2-byte PostScript
printers aren't yet available in Canada, they have no plan to
release these fonts here yet.

...Sam
--
Internet: <skl@wimsey.bc.ca>    UUCP: {van-bc,ubc-cs,uunet}!wimsey.bc.ca!skl

From @cuvmb.cc.columbia.edu:CCNET-L@UGA.BITNET Sat Apr 14 14:00:12 1990
Received: from cuvmb.cc.columbia.edu by sirius.ctr.columbia.edu (5.61/5.10) with SMTP id AA28747; Sat, 14 Apr 90 14:00:01 -0400
Received: from CUVMB.COLUMBIA.EDU by CUVMB.COLUMBIA.EDU (IBM VM SMTP R1.2.1) with BSMTP id 1274; Sat, 14 Apr 90 13:58:17 EDT
Received: from PUCC.PRINCETON.EDU by CUVMB.COLUMBIA.EDU (Mailer R2.05) with
 BSMTP id 1592; Sat, 14 Apr 90 13:58:16 EDT
Received: from PUCC.BITNET by PUCC.PRINCETON.EDU (Mailer R2.06) with BSMTP id
 3052; Sat, 14 Apr 90 13:59:45 EDT
Date:         Sat, 14 Apr 90 11:06:39 -0500
Reply-To: Chin-Long Michael Cheng <mcheng%CS.WISC.EDU@cuvmb.cc.columbia.edu>
Sender: Chinese Computing Network <CCNET-L%UGA@cuvmb.cc.columbia.edu>
From: Chin-Long Michael Cheng <mcheng%CS.WISC.EDU@cuvmb.cc.columbia.edu>
Subject:      X term and other stuff
To: Multiple recipients of list CCNET-L <CCNET-L@UGA>
Status: RO

This is a reply to one of J.B. Wang's message, but is of general interest
to everyone:

>   1) It is not a bad idea to obtain some font sets from these resources.
>        bitmap fonts can't be copyrighted, so don't be afraid of it. But
>        program descriptions of fonts and names of fonts can be copyrighted,

You mean it's OK for us to take a commercial bitmap font and
release it in anyway we wish?

>3. We might need to think of Fan2-Ti3-Zi4 library seriously. There is a
>        significant lack of it in the network. If some body can provide
>        a few basic font sets, we can work out the others.

On release X11R4 of X Windows, there is a multi-lingual
terminal emulator called mlxterm from Singapore. It displays
regular ASCII, Shifted JIS, and Shifted GB internal codes. Included with this
package are public domain 16x16 and 24x24 simplified character fonts
and 16x16 Fan-Ti fonts in Adobe bdf format.  It's
straightforward to convert these fonts into JB's CCLIB format.
If anyone has tools readily available, please speak up. Otherwise,
I'll volunteer a couple of days at the end of the semester for this undertaking.
(I'll also e-mail this Singapore group to ask them for the
24x24 Fan-ti font, which they claim to have, but was nowhere to be found in
the distribution.)

My initial impression with mlxterm is that it's  buggy
and user-unfriendly, but workable nevertheless. What we need now is
to take a very simple editor, convert it to accept 2-byte codes,
and we have a screen editor for Chinese on X-Windows.

Mike

From @cuvmb.cc.columbia.edu:CCNET-L@UGA.BITNET Sat Apr 14 18:36:37 1990
Received: from cuvmb.cc.columbia.edu by sirius.ctr.columbia.edu (5.61/5.10) with SMTP id AA29994; Sat, 14 Apr 90 18:36:34 -0400
Received: from CUVMB.COLUMBIA.EDU by CUVMB.COLUMBIA.EDU (IBM VM SMTP R1.2.1) with BSMTP id 1343; Sat, 14 Apr 90 18:34:49 EDT
Received: from PUCC.PRINCETON.EDU by CUVMB.COLUMBIA.EDU (Mailer R2.05) with
 BSMTP id 1791; Sat, 14 Apr 90 18:34:47 EDT
Received: from PUCC.BITNET by PUCC.PRINCETON.EDU (Mailer R2.06) with BSMTP id
 4504; Sat, 14 Apr 90 18:36:17 EDT
Date:         Sat, 14 Apr 90 15:28:06 PDT
Reply-To: Samuel Lam <skl%wimsey.bc.ca@cuvmb.cc.columbia.edu>
Sender: Chinese Computing Network <CCNET-L%UGA@cuvmb.cc.columbia.edu>
From: Samuel Lam <skl%WIMSEY.BC.CA@cuvmb.cc.columbia.edu>
Subject:      Re: X term and other stuff
Comments: To: mcheng@CS.WISC.EDU
To: Multiple recipients of list CCNET-L <CCNET-L@UGA>
In-Reply-To:  <90Apr14.140015edt.59089@ugw.utcs.utoronto.ca>; from "Chin-Long
              Michael Cheng" at Apr 14, 90 12:06 pm
Status: RO

> On release X11R4 of X Windows, there is a multi-lingual
> terminal emulator called mlxterm from Singapore.  ...
> Included with this package are ... and 16x16 Fan-Ti fonts in
> Adobe bdf format.  It's straightforward to convert these
> fonts into JB's CCLIB format.  If anyone has tools readily
> available, please speak up.

The C program bdf2hzfont.c in pub/yeung/fontUtil on june.cs.washington.edu
can convert a BDF format font file to a set of "hzfont" format font files.
This program is less than 4K long.

Going from "hzfont" format to "cclib" format is then a relatively straight
forward concatenate-and-fill operation.

> I'll also e-mail this Singapore group to ask them for the
> 24x24 Fan-ti font, ...

Please let us know if/when you find more freely-redistributable
complex-script Chinese font.

...Sam
--
Internet: <skl@wimsey.bc.ca>    UUCP: {van-bc,ubc-cs,uunet}!wimsey.bc.ca!skl

From SPO_JWANG2@SITBAT.STEVENS-TECH.EDU Mon Apr 16 15:32:58 1990
Received: from [192.12.216.38] by sirius.ctr.columbia.edu (5.61/5.10) with SMTP id AA18507; Mon, 16 Apr 90 15:32:53 -0400
Date: Mon, 16 Apr 90 12:08:32 EST
From: SPO_JWANG2@VAXB.STEVENS-TECH.EDU (J.B. WANG)
To: yjj@sirius.ctr.columbia.edu
Subject: Re:  dvi2ps
X-Vms-To: edu%"yjj@sirius.ctr.columbia.edu"
Message-Id: <9031612833.20401b2d.SPO_JWANG2>
Status: RO


Folks:

Two important issues in this posting:
	1. Get hold of Xian from X11R4 distribution
	2. Start discussion on ch-series

1. Thanks to the pointers to 16x16 font library in BDF format in X11R4
   distribution. As it was pointed out, a utility program called bdf2cclib
   is available from june.cs.washington.edu anonymous/pub/yeung to convert
   BDF format into cclib format. The way is

%bdf2cclib <input >output

  I am leaving anonymous/tmp of 192.12.216.114 open. If anybody has completed
  converting it (or unconverted), please drop a copy there, and I will create
  for font sizes from it.

  By the way, I tried to ftp Xian from a node in MIT where X11R3 and X11R4
  are distributed, but Xian is not explicit there.

From sol.ctr.columbia.edu!samsung!usc!pollux.usc.edu Tue May  1 20:22:09 EDT 1990
Article: 13646 of soc.culture.china
Path: sol.ctr.columbia.edu!samsung!usc!pollux.usc.edu
From: wan@pollux.usc.edu (Qiang Wan)
Newsgroups: soc.culture.china
Subject: China to Force Standard Character Fonts for Computers
Message-ID: <24427@usc.edu>
Date: 1 May 90 16:12:29 GMT
Sender: news@usc.edu
Organization: University of Southern California, Los Angeles, CA
Lines: 22
Status: RO


People's Daily, oversea's edition, April 19, 1990
<Xinhua News Agency>

(Correspondent Li Xiguang)
Today, the (PRC) National Techonology Supervision Bureau announced the
Standards for Chinese Character Fonts for Computers. From now
on, all other fonts are to be removed from the market.
The Bureau's spokesman declare that starting July 1st of this year,
computer manufacturers, research institutes and all the computer
users across the nation should stop using the old fonts.
According to the spokesman, this standard set of fonts are not only
superior in quality than the old ones, but also closer to the
traditional Chinese printing characters. The fonts also suit the
requirement of existing printers and video display terminals.
The spokesman pointed out that this standard is to be implemented
forcefully. No unit or individual could duplicate, manufacture and
distribute the fonts database chips in the national or international
market without permission. All imported products that are to be
distributed in the Chinese market must use this standard too.
Legal actions will be taken against any one who is found to
ignore this standard.


From @cuvmb.cc.columbia.edu:CCNET-L@UGA.BITNET Tue May  1 02:43:49 1990
Received: from CUVMB.COLUMBIA.EDU (cuvmb.cc.columbia.edu) by sirius.ctr.columbia.edu (4.1/5.10) id AA27696; Tue, 1 May 90 02:43:44 EDT
Received: from CUVMB.COLUMBIA.EDU by CUVMB.COLUMBIA.EDU (IBM VM SMTP R1.2.1) with BSMTP id 6926; Tue, 01 May 90 02:41:29 EDT
Received: from PUCC.PRINCETON.EDU by CUVMB.COLUMBIA.EDU (Mailer R2.05) with
 BSMTP id 0025; Tue, 01 May 90 02:41:27 EDT
Received: from PUCC.BITNET by PUCC.PRINCETON.EDU (Mailer R2.07) with BSMTP id
 0105; Tue, 01 May 90 02:42:51 EDT
Date:         Mon, 30 Apr 90 22:08:26 -0400
Reply-To: "Christophe N. Christoff" <CNCST%PITTUNIX@cuvmb.cc.columbia.edu>
Sender: Chinese Computing Network <CCNET-L%UGA@cuvmb.cc.columbia.edu>
From: "Christophe N. Christoff" <CNCST%PITTUNIX.BITNET@cuvmb.cc.columbia.edu>
Subject:      MISC.
To: Multiple recipients of list CCNET-L <CCNET-L@uga>
Status: RO

There are a few comments on this net.

1. PostScript or not?

    Dr. Wang spent quite some time to update somebody's postscript
driver to include Chinese.  A program is written to convert Bitmapped
Chinese to a font so that the Chinese can be resized.  Particularly
he wants everybody to go after postscript printers.  Here is some
of my view on this :

    Postscript is good, especially that is want you paid for.  The
question is without a vectored font, this kind if postscript effect
can be achieved equally by much cost effective printers.  Here is how:

    Postscript first casts bitmapped font to 1000x1000 matrix, there
any manipulation is made like resizing, tilt, etc...   then recast the
image back to the point size you specified on 300 dots/inch printers.
Of course, since this operation on postscript printers is hardware
supported, no doubt that it is much faster (you even do not need to write this
casting programs) than a software suppored mechanism.  The point here
is, without paying higher cost for printers, you can still achieve kind  of
postscript just by software emulation although it is much slower than
hardware post script printers.   Any comment/correction on my
 understanding of postscript mechanism is welcome.

   2.  Byx V2.0, quite few people are excited by the news of providing
64x64 font.  I just want to remind this would output a Chinese character
with minimum size of 16 points.  For best printing results, you should
have a series of libraries which, if available , are quite disk-space
consuming. I do not know whether Byx v2.0 fixes the
problem with "find" option, you should be careful if you are going to
replace something.  Byx v1.1 finds ASCII instead of Chinese!  By this I mean
Byx v1.1 finds whatever is the match string even though the string might come
from last part of first Chinese character and first part of second Chinese
character.

   3.  CCDOS and some CHINESE WP.  By CCDOS it means you can access
Chinese character from alwost any other program, be it WP or not.  So,
CCDOS is more difficult to write than a WP like Byx which is not a
resident program.  The resident program especially CCDOS will make other
program slower since not too much working RAM available for other
program to run.  If the new CCDOS can operate on top of regular DOS,
and provide an option to deactive it, it could be perfect.

   4.  Scans Chinese character using a scanner?  using the casting
mechanism I mentioned in (1) can certainly recognize which character
you scan.  The only problem is how fast the process it is.  Here I
propose a mechanism if any one has the device and the time:

Suppose you have 16x16 Chinese library.  it will give unique 32 bytes.
Scan in one Chinese character, capture as 16x16  in size, compare
with each byte.  If Chinese is in right type, there should be a
perfect match.  Thus, you got that character.

Resizing can be done the following way:

    Suppose you have 16x16 matrix, now you want to resize to 24x24 matrix;
Now, make each dot in 16x16 3x3 matrix, thus, you got 48x48 matrix.
To get 24x24 matrix, use the 48x48 matrix as base, treat every 2x2 small
matrix as a dot, then you got 24x24.  in each 2x2 matrix, if more than
2 (or 3) dots are on, treat this dot as on, otherwise, treat it off.

You see, this principle can be used to resize to any size,
If you have better algrithm, please let us discuss.

5.  It is interesting to see whether Dr. Wang's new sereis libraries
from so complicated operation is the same as the one I proposed here
or not.  You do not need any sophicated hardware, even not fancy
programs.  Any language can be used by this resizing scheme.  Does any
one there have thorough understanding of postscript mechanism, instead
of saying postscript language in general?  I like to hear more fundamental
stuff.

6.  One fellow here also wrote a stroke-based Chinese input program. The
library is not so big.  But the question is that the display library is
totally different from printing library. even for the small size of characters.
Also, these kinds of scheme is pretty bad for traditional Chinese characters.
Did any body count how many strokes the last character in Big-5 system have?
I remember that it is three traditional characters LONG2 (drogan), one sitting
on the top of the other two.

7.  A couple of months ago, People's Daily oversea edition mentioned that
one of Chinese major newspaper uses newly developed computer typeset system
for the production.  Any body has any idea that how this compare with so
called post-script language and postscript printer?  Cost? easy to use?
nice and flexible output?  What is the real frontior of Chinese computing?

8.  I'm writing one of WP like Scott Horne wanted.  I just finish the
screen driver part.  It may take a little more time to finish.  But
I am working on it.  My program will work on any IBM-compatible PC,
not tied with any particular card.  By the way, my program is only a WP,
not CCDOS-type.

9.  For those who are lucky working on the work-stations, you can try to
write a Chinese WP so easily since work-stations are usually support
user-created fonts.  Just write an program which converts a Chinese library
bit-mapped information into a user-created font before displaying it.  You
have a real nice Chinese WP, much better than the one you can get for any
IBM or IBM-compatibles.

=====================================
The above just are some of my thoughts.  They might not be in logic.  But
I hope we can discuss something called "real beef" instead of talking
something we cannot do anything like high density storage device....  Does
any body in CCNET produce any hardware?  It seems to me that this net
should promote people to fully use available hardware, by detailling
the nice features of some hardware/software, or discuss the general
aspects of Chinese WP in detail so that a proper library can be set up, or
pointing out what kind of software/patches are missing among the
available hardware.


Chunqing Cheng

From @cuvmb.cc.columbia.edu:CCNET-L@UGA.BITNET Tue May  1 13:50:42 1990
Received: from CUVMB.COLUMBIA.EDU (cuvmb.cc.columbia.edu) by sirius.ctr.columbia.edu (4.1/5.10) id AA01698; Tue, 1 May 90 13:50:35 EDT
Received: from CUVMB.COLUMBIA.EDU by CUVMB.COLUMBIA.EDU (IBM VM SMTP R1.2.1) with BSMTP id 7489; Tue, 01 May 90 13:48:19 EDT
Received: from PUCC.PRINCETON.EDU by CUVMB.COLUMBIA.EDU (Mailer R2.05) with
 BSMTP id 1615; Tue, 01 May 90 13:48:17 EDT
Received: from PUCC.BITNET by PUCC.PRINCETON.EDU (Mailer R2.07) with BSMTP id
 8171; Tue, 01 May 90 13:49:21 EDT
Date:         Tue, 1 May 90 10:09:00 EDT
Reply-To: "J.B. WANG" <SPO_JWANG2%STEVENS@cuvmb.cc.columbia.edu>
Sender: Chinese Computing Network <CCNET-L%UGA@cuvmb.cc.columbia.edu>
From: "J.B. WANG" <SPO_JWANG2%STEVENS.BITNET@cuvmb.cc.columbia.edu>
Subject:      RE: MISC.
To: Multiple recipients of list CCNET-L <CCNET-L@uga>
Status: RO

Hah, I think Pitt's mailer is in trouble again. C.Q. Cheng became
Christophe N. Christoff, which made me wander why I did not know this
individual who is also interested in Chinese computing.

To answer Cheng's question:

 1) PostScript or not is not really the choice of CCNET. It is really the
   choice of computer world, just as if people would accept ASCII some time
   back. Computer text was standardized after ASCII, now it is the time for
   computer graphics and typographics to have a standard. Indeed, in principle,
   any device with graphics capability could display the same effects as
   PostScript, but so far no enough success. It is why Adobe become popular.
   Before PostScript, non-text output depend on some escape sequences more or
   less close to ANSI ones, and each graphics terminal (such as Tektronix),
   and printer (such as QMS, Xerox, HP, LN03P, EPSON and LA75) had there own
   graphics language which is essentially made of escape sequences to
   incorporate multi-byte commands (ASCII single bytes). Also, all the graphics
   and typographic packages have their own output formats. No compatibility
   at all. It pushes computer world to have one de facto standard, and it is
   already known to be PostScript.

   It is not true that a non-PostScript printer (such as HP III) can do
   whatever PostScript can do with equal amount of effort, but if you put in
   100 times effort to program those escapements, you might end up in some
   close effects. A simple example is GoScript which emulates a HP as a
   PostSCript printer.

 2) I had a PostScript device driver in Ch-series, i.e., chtex -w. That I
   develop from scratch, but I also support a version of dvi2ps which is indeed
   a modified version of MIT dvi2ps. In TeX there were similar problems because
   cmfonts are all bitmap fonts, if any font library file were missing, some
   device driver substitute a font of wrong size and/or style. I first pushed
   out a dvi2ps which automatically finds a font of close size and scale it to
   exactly the TFM (TeX Font Metric). Ch-series is all virgin codes, don't
   be confused.

 3) PostScript 1000x1000 font space is only a measuring standard, and the
    detailed scaling and mapping algorithm is far more complicated than that.

 4) Cheng has his own experience in HP device support, he is right about the
   64x64 bitmap fonts, it can at most give you 4 sizes according to the
   4 available resolutions you choose, with the highest resolution, i.e.,
   300dpi, the output font size is 64 x 72.27/300 = 15.4176 pt. PostScript is
   device resolution independent, but there is an optimal bitmap font size
   for a physical font size at 300 dpi.


Yesterday, I received a preliminary version of Byx 2.0 from Dr. Yan, together
with a page of sample HP output. I should say that he has done a good job in
at least two aspects:

1) CiZu input, and full-support of EMACS editing functions

2) Generating smooth fonts.

He put in lots of intensive labor manually smoothed fonts which were rough
after scaling. The printout quality is impressive. There are problems, though,
which we will go over when he is here this weekend.

Oops, I forgot to answer a question Cheng posed, i.e., the accuracy of
pattern matching with scanned bit string (such as 32 x 8 bits for 16x16 fonts)
can be close to 0%. The explanation is simple, how can you have exact
sizes in the real world to match your library files? Again, it should be
resolution independent. In my font scaling mechanism, in principle, the bit
map information is scaled linearly, but there is a lot of round off, thus
bip string matching method won't work.


Sincerely yours,

JB Wang


p.s.: I am seeing duplicated efforts in CCNET, I would really suggest
      alternatives if there exist.

From @cuvmb.cc.columbia.edu:CCNET-L@UGA.BITNET Wed May  9 17:44:58 1990
Received: from CUVMB.COLUMBIA.EDU (cuvmb.cc.columbia.edu) by sirius.ctr.columbia.edu (4.1/5.10) id AA12528; Wed, 9 May 90 17:44:53 EDT
Received: from CUVMB.COLUMBIA.EDU by CUVMB.COLUMBIA.EDU (IBM VM SMTP R1.2.1) with BSMTP id 6579; Wed, 09 May 90 17:42:23 EDT
Received: from PUCC.PRINCETON.EDU by CUVMB.COLUMBIA.EDU (Mailer R2.05) with
 BSMTP id 9853; Wed, 09 May 90 17:42:21 EDT
Received: from PUCC.BITNET by PUCC.PRINCETON.EDU (Mailer R2.07) with BSMTP id
 9557; Wed, 09 May 90 17:44:23 EDT
Date:         Wed, 9 May 90 13:51:00 EDT
Reply-To: "J.B. WANG" <SPO_JWANG2%STEVENS@cuvmb.cc.columbia.edu>
Sender: Chinese Computing Network <CCNET-L%UGA@cuvmb.cc.columbia.edu>
From: "J.B. WANG" <SPO_JWANG2%STEVENS.BITNET@cuvmb.cc.columbia.edu>
Subject:      RE: several issues
To: Multiple recipients of list CCNET-L <CCNET-L@uga>
Status: RO

Therefore, we will have ways to obtain this set of super quality font Chinese
. However, it should not concern us, because
1) It is too easy to change font sets as long as the internal encoding is in
  GB.
2) We are in USA, and we are interested in facing Chinese speaking, writing,
 and learning communities in Europe, North America, Japan, Singapore, Hong Kong
 /Taiwan and other overseas areas.

The only thing we need to take care of this bitmap standardization is to avoid
hard coding of bitmap into the program.

As I pointed out, there are about 500 inputing Chinese inputing methods now,
and scholars have predicted that only one will survive according to the natural
law of competition. If one day, a Chinese dictator falls in love with an
inputing scheme, such as the component one mentioned in Wang Qiang's article,
it might become a standard in China before this dictator dies.

The best way to evaluate an inputting scheme is: it should be natural to the
language and logical thinking of a human being. Other things like blind-typing
or speed is of secondary importance. Component inputting scheme is nothing
new, as early as 1970, such a system had already been implemented in Taiwan
by the Computation Laboratory of the Institute of Mathematics, Academia
Sinica, together with the Electronic Data Processing Center of Taiwan
(see "PEACE - A Phonetic Encoding and Chinese Editing System", S.K. Chang).
The display device was a tektronix terminal. But when Prof. Chang saw
my ch-series which uses PinYin input, he was very impressed.
Among other criteria, a good inputing method should not require lots of
learning and memorization, and more importantly, it should not be
brain- and eye- intensive. If you want to type in an article which is
composed of sentences (of sounds) from your mind, you still need to loop in
your mind what a character is composed of (Fanti and Jianti may not be the
same, either), it is too bad, and you get fatigued very fast. Well, 90%
of accuracy in blind-typing (just according to the sound, and not the memory
of character structure or anything else) is no supprising in today's ByX,
TianMa and Chtext PinYin input.


Yes, folks, Fan2Ti3 will be supported by Ch-series, ByX and the binded
distribution. I have put a new "foreword.ps" in ~/tmp, 192.12.216.114
(anonymous login) for you to ftp and print. It is in FanTi. We are still
short of time in fix fonts, so bare with the quality for the timebeing.


Sincerely yours,

JB Wang

From @cuvmb.cc.columbia.edu:CCNET-L@UGA.BITNET Wed May  9 19:04:24 1990
Received: from CUVMB.COLUMBIA.EDU (cuvmb.cc.columbia.edu) by sirius.ctr.columbia.edu (4.1/5.10) id AA12895; Wed, 9 May 90 19:04:16 EDT
Received: from CUVMB.COLUMBIA.EDU by CUVMB.COLUMBIA.EDU (IBM VM SMTP R1.2.1) with BSMTP id 6646; Wed, 09 May 90 19:01:47 EDT
Received: from PUCC.PRINCETON.EDU by CUVMB.COLUMBIA.EDU (Mailer R2.05) with
 BSMTP id 0194; Wed, 09 May 90 19:01:46 EDT
Received: from PUCC.BITNET by PUCC.PRINCETON.EDU (Mailer R2.07) with BSMTP id
 2070; Wed, 09 May 90 19:03:49 EDT
Date:         Wed, 9 May 90 18:47:37 EDT
Reply-To: Scott Horne <horne-scott%CS.YALE.EDU@cuvmb.cc.columbia.edu>
Sender: Chinese Computing Network <CCNET-L%UGA@cuvmb.cc.columbia.edu>
From: Scott Horne <horne-scott%CS.YALE.EDU@cuvmb.cc.columbia.edu>
Subject:      Problems with the new fantizi in ByX/chtex
To: Multiple recipients of list CCNET-L <CCNET-L@uga>
Status: RO

I just printed Jingbai's PostScript document in fantizi.  Here are some
problems:

1) The font isn't very attractive, but it'll do for now--particularly if
   Yongxin and Jingbai will make a free upgrade available.  :-)

2) The fantizi are mainland-style fantizi.  For example, `ti3' `body' is
   written differently (the third stroke replaces two strokes in the orthodox
   form).

3) Some of the fantizi aren't even available.  A brief scan over this document
   turned up the following errors:  `hou4' `after', `me' (as in `shen2me'),
   `kuang4' (as in `qing2kuang4'--fanti form has a `san1 dian3 shui3').

                                        --Scott

From @cuvmb.cc.columbia.edu:CCNET-L@UGA.BITNET Thu May 10 02:03:09 1990
Received: from CUVMB.COLUMBIA.EDU (cuvmb.cc.columbia.edu) by sirius.ctr.columbia.edu (4.1/5.10) id AA14828; Thu, 10 May 90 02:03:04 EDT
Received: from CUVMB.COLUMBIA.EDU by CUVMB.COLUMBIA.EDU (IBM VM SMTP R1.2.1) with BSMTP id 6934; Thu, 10 May 90 02:00:32 EDT
Received: from PUCC.PRINCETON.EDU by CUVMB.COLUMBIA.EDU (Mailer R2.05) with
 BSMTP id 1099; Thu, 10 May 90 02:00:31 EDT
Received: from PUCC.BITNET by PUCC.PRINCETON.EDU (Mailer R2.07) with BSMTP id
 2617; Thu, 10 May 90 02:02:34 EDT
Date:         Wed, 9 May 90 23:40:18 EDT
Reply-To: Scott Horne <horne-scott%CS.YALE.EDU@cuvmb.cc.columbia.edu>
Sender: Chinese Computing Network <CCNET-L%UGA@cuvmb.cc.columbia.edu>
From: Scott Horne <horne-scott%CS.YALE.EDU@cuvmb.cc.columbia.edu>
Subject:      Complete (?) list of problems with Jingbai's fantizi
To: Multiple recipients of list CCNET-L <CCNET-L@uga>
Status: RO

Here are all of the incorrect fantizi in Jingbai's document:

1) `lei4' `category' should have an extra dot.

2) `kuang4' (as in `qing2kuang4') should have a `san1 dian3 shui3'.

3) In this document, `hou4' `after' is written with the simplified character,
   which corresponds to the fanti character for the `hou4' of `huang2hou4'
   `queen'.  It should be written with a `shuang1 li4 ren2' and six other
   strokes.

4) The three-stroke `cai2' means `talent' in fantizi; `cai2' `still' is written
   with a `si1 zi4 pang2' and eighteen other strokes.

5) The `shen2' of `shen2me' is often written as `shen4' (`qi2' with an extra
   stroke).

6) The `me' of `shen2me' is written with `ma2' `hemp' and then the simplified
   `me'.

7) `wan4' `ten thousand' should be written with a `cao3 zi4 tou2' and nine
   other strokes.

8) The left-hand part of `ji2' `approach' should be written as `bai2' `white'
   above `bi3' `spoon'.

9) `li3' meaning `mile' is written as you have it; meaning `inside', it is
   written with `li3' `mile' inside a split `yi1' `clothes' (or with an
   `yi1 zi4 pang2').

10) As for `ji4' `already', see (8), above.

11) `qi4' `product' is written with an extra dot.

Additionally, there are the following mainland-style fantizi:

12) `zhe3' `person' should be written with an extra dot (likewise for all
    characters in which it occurs).

13) `guo4' `pass', `ti3' `body', &c, are written with

        ---
        |

    instead of

        ---
          |

14) `huang2' `yellow' is written with an extra `heng2'.

15) The last four strokes of `cheng2' `sequence, rule' should be a `ren2',
    not a `wang2'.

16) The right-hand part of the `pin1' of `pin1yin1' is written with eight
    strokes, as it is in `ping2' `scroll', which occurs correctly in this
    document.

17) `lu4' `record' is written with a slightly different right-hand component.

18) The right-hand component of `chun2' `pure' begins with a `pie3' stroke.

                                        --Scott

From @cuvmb.cc.columbia.edu:CCNET-L@UGA.BITNET Thu May 10 19:36:05 1990
Received: from CUVMB.COLUMBIA.EDU (cuvmb.cc.columbia.edu) by sirius.ctr.columbia.edu (4.1/5.10) id AA19839; Thu, 10 May 90 19:35:57 EDT
Received: from CUVMB.COLUMBIA.EDU by CUVMB.COLUMBIA.EDU (IBM VM SMTP R1.2.1) with BSMTP id 8232; Thu, 10 May 90 19:33:20 EDT
Received: from PUCC.PRINCETON.EDU by CUVMB.COLUMBIA.EDU (Mailer R2.05) with
 BSMTP id 6251; Thu, 10 May 90 19:04:22 EDT
Received: from PUCC.BITNET by PUCC.PRINCETON.EDU (Mailer R2.07) with BSMTP id
 9008; Thu, 10 May 90 19:06:25 EDT
Date:         Thu, 10 May 90 10:03:00 EDT
Reply-To: "J.B. WANG" <SPO_JWANG2%STEVENS@cuvmb.cc.columbia.edu>
Sender: Chinese Computing Network <CCNET-L%UGA@cuvmb.cc.columbia.edu>
From: "J.B. WANG" <SPO_JWANG2%STEVENS.BITNET@cuvmb.cc.columbia.edu>
Subject:      RE: Complete (?) list of problems with Jingbai's fantizi
To: Multiple recipients of list CCNET-L <CCNET-L@uga>
Status: RO

I appreciate Scott's comments and list of incorrect FanTi, and I am aware
of it. As I said, we just have to put up with it. It takes an incredible
amount of time to polish up a font library, and we know how.

I would like to warn the net though, FanTi has no a straight cut standard.
Taiwan, Hong Kong and overseas all have different versions. Besides, we
should all believe that simplified characters or semi-simplified characters
will prevail. The reason is simple: people need efficiency more and more
than fancy or traditional. Another more important aspect is that 10 billion
mainland Chinese is too large a number compared to the population of
Taiwan Chinese, Hong Kong/Macau (which will soon return to PRC), and
overseas Chinese. The only thing we are waiting for is the economy strength
of mainland China. If one day, mainland China becomes a major business
partner of major western countries, simplified Chinese characters will
become a standard all over the world overnight. It was coming close,
unfortunately those butchers reversed the wheels.

Anyway, limited FanTiZi will be supported, and improved support will be
continued after the release. However, we (Yan, Zhao and I) agreed that
we won't give in an inch to other things persisted in Taiwan for
political (and stupid) reasons, such as BoPoMoFo and Taiwan (2 versions)
PinYin and CangJieMa. Although Taiwan had started intensive researches in
Chinese computing much much earlier than mainland, their advance and
achievements are really no match of the others. In certain aspects,
a dictatorship is very good in clearing up ambiguity. For instance, Singapore's
Primier Lee decided that simplified characters should be their standard,
overally you see a neatness in Singapore and chaos in Taiwan in Chinese
computing.

Sincerely yours,

JB Wang

From LAI%UCE.MFENET@ccc.nmfecc.gov Wed Mar 14 02:26:15 1990
Received: from CCC.NMFECC.GOV by sirius.ctr.columbia.edu (4.1/5.10) id AA22856; Wed, 14 Mar 90 02:26:10 EST
Received: from uce.mfenet by CCC.MFENET with Tell via MfeNet ;
	Tue, 13 Mar 90 23:26:50 PST
Date: 	  Tue, 13 Mar 90 23:26:50 PST
From: LAI%UCE.MFENET@ccc.nmfecc.gov
Message-Id: <900313232650.2a60012c@CCC.NMFECC.GOV>
Subject:   More about bitmap fonts
To: yjj@sirius.ctr.columbia.edu
Comment: From LAI@UCE.MFENET on March 13, 1990 at 23:24 PST
Status: RO

I think it is a good idea to get some kind of concensus on the advantages
and drawbacks of both bitmap and analytic fonts.  As what I have pointed
out in my earlier postings, analytic fonts are probably the choice for the
future when font generation hardware and technology are more mature and much
cheaper.  For the mean time however, bitmap font is probably the easiest way
to be implemented in laser printer economically.  In order to generate bitmap
Chinese fonts of various sizes and styles, all we need is a scanner and a
complete set of typesetted Chinese fonts (e.g. from newspaper or publishing
house).  By making use of the hardware capability of the scanner, it should
be quite straight forward to scan in the bitmap images.  With some patience
and may be some touch up, Chinese bitmap fonts can be generated very
inexpensively.

Kwok Lai

From @cuvmb.cc.columbia.edu:CCNET-L@UGA.BITNET Fri Apr 13 21:33:41 1990
Received: from cuvmb.cc.columbia.edu by sirius.ctr.columbia.edu (5.61/5.10) with SMTP id AA24158; Fri, 13 Apr 90 21:33:37 -0400
Received: from CUVMB.COLUMBIA.EDU by CUVMB.COLUMBIA.EDU (IBM VM SMTP R1.2.1) with BSMTP id 0976; Fri, 13 Apr 90 21:31:53 EDT
Received: from PUCC.PRINCETON.EDU by CUVMB.COLUMBIA.EDU (Mailer R2.05) with
 BSMTP id 0695; Fri, 13 Apr 90 21:31:51 EDT
Received: from PUCC.BITNET by PUCC.PRINCETON.EDU (Mailer R2.06) with BSMTP id
 3681; Fri, 13 Apr 90 21:33:18 EDT
Date:         Fri, 13 Apr 90 18:14:00 EDT
Reply-To: "J.B. WANG" <SPO_JWANG2%STEVENS@cuvmb.cc.columbia.edu>
Sender: Chinese Computing Network <CCNET-L%UGA@cuvmb.cc.columbia.edu>
From: "J.B. WANG" <SPO_JWANG2%STEVENS.BITNET@cuvmb.cc.columbia.edu>
Subject:      RE: Chinese TeX
To: Multiple recipients of list CCNET-L <CCNET-L@UGA>
Status: RO

To an question asked by Andy on Chinese PostScript fonts:

There had been discussion on printing Chinese on a PostScript printer for
a while. If you ask if Chinese produced on any machine (as long as the
encoding array can be translated into GB or big-5) could be printed on
a PostScript printer, the answer is definitely yes. Because ch-series
(which includes Chinese TeX, Chinese Scribe, WStroff and Chinese->PS) uses
nothting but PostScript as the output device (maybe lpt in Scribe as well),
and the output quality is not quite beatable for, at least, the timebeing,
I would say PostScript printing of Mac Chinese is not a problem either
(the problem is I don't use Mac, but the C code is already debugged on
UNIX, VMS and DOS).

PostScript Chinese font and Chinese on PostScript, however, seem to be
different issues. In Adobe PostScript, you can build fonts in a variety
of ways. 33 resident fonts are in type 1 Adobe PostScript description,
reasonably scalable from 2pt to 127pt. There are only at max 256 x 2x32
(sorry I meant 256 - 2x32) characters in each set. There are other Adobe
PostScript fonts which are often called downloadable fonts, and they can
be bitmap fonts (most of times) or other types of fonts, such as type 3
fonts. Well, Adobe is releasing its black book after RGB books on fonts
only. If Chinese PostScript fonts are meant Chinese fonts in analytical
font, no matter type 1 or type 3, I heard some people are working on it.

Since I am very experienced with Scribe, TeX, and DVI to PostScript
programming, I did not want to wait for analytical Chinese fonts to be
ready, and Chinese TeX used fonts built from bitmap font libraries, and
a version of dvi2ps was modified to help chtex pre-processor to understand
it, while no any change whatsoever is done to TeX (which is not true in
the case with JTeX). Now, don't frawn on bitmap fonts, bitmap <> low quality.

The problem is not really how to build fonts, and many [pe




The problem is not really how to build fonts, and many [people know how to
do it. The problem is really that a set of Chinese fonts in PostScript is
really useless unless you know the PostScript printer has 4MB VM. This
then requires that the device driver should be very intelligent, which
is exactly the case with chtex in ch-series. Take a simple example, if
I am using LaTeX to write a paper in English, but my Chinese name which
is 3 characters long (3 x 16bits in GB) should also appear. It would be
very wasteful to download definitions of 7000 Chinese characters, besides
a regular PostScript printer of 1VM is killed instantly in this situation.

In summary, any Chinese files generated on any machine should be able to
be printed on a PostScript printer provided an intelligent device driver
is there, and this driver is already available for UNIX, VMS, and DOS. It is
also possible to scale fonts in a reasonable range, bold them and italicize
them. If folks choose to wait, which I don't, Adobe is implementing
mulitiple byte encoding, and so do Sun, NeXT and X11. Of course, their
motivations were for Japanese instead of Chinese, since doubtlessly only
Japanese can affort printers with Japanese font cards.

Soory I have no information about Chinese PostScript font venders (I also
doubt how you'd store these fonts, in the hard disk or cartrige). I will
put "foreword.ps" -- a three-page description of ch-series in Chinese in
anonymous/tmp/foreword.ps in node 192.12.216.114 for ftp.

No venders are assigned for my products since they are all free in the above
mentioned node. But consultation arrangement might be feasible if it is
deadly needed.


Sincerely yours,

J.B. Wang, Ph.D. (research associate at Stevens)
(201)-420-5814

From CCNET-L@uga.cc.uga.edu Mon Jan 14 04:27:01 1991
Received: from uga.cc.uga.edu by sirius.ctr.columbia.edu (5.64/5.10) with SMTP id AA03649; Mon, 14 Jan 91 04:26:50 -0500
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP R1.2.2MX) with BSMTP id 3828; Mon, 14 Jan 91 04:24:07 EST
Received: from UGA.BITNET by UGA.CC.UGA.EDU (Mailer R2.07) with BSMTP id 5538;
 Mon, 14 Jan 91 04:24:06 EST
Date:         Mon, 14 Jan 91 01:08:26 MST
Reply-To: mleisher%NMSU.EDU@uga.cc.uga.edu
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: mleisher%NMSU.EDU@uga.cc.uga.edu
Subject:      Chinese X11 font alias update
To: Multiple recipients of list CCNET-L <CCNET-L@UGA>
Status: RO

Here are some aliases for the Chinese X11 fonts.  The lines with '!'
in front of them are commented out and should not be included in the
'fonts.alias' file.  You might want to look at the fonts before
deciding which aliases are appropriate.

The format of an X11 XLFD compliant font name is:
-fndry-fmly-wght-slant-sWdth-adstyl-pxlsz-ptSz-resx-resy-spc-avgWdth-rgstry-encd
ng

The 'adstyl' component indicates whether the font is Song (st) or Fang
Song (fs; ft for Traditional fonts) style.

Thanks go to ygz@cs.purdue.edu (Yongguang Zhang) for suggesting this
format for the aliases.

Please send email if you have other comments or suggestions on these
font aliases.

-gb-cclib-medium-r-normal-fs-16-150-75-75-c-160-gb2312.1980-0 cclib16fs
-gb-cclib-medium-r-normal-st-16-150-75-75-c-160-gb2312.1980-0 cclib16st
!-gb-cclib-medium-r-normal-ft-16-150-75-75-c-160-gb2312.1980-0 cclib16ft
!-gb-cclib-medium-r-normal-st-16-150-75-75-c-160-gb2312.1980-0 csong16
-gb-cclib-medium-r-normal-ft-16-150-75-75-c-160-gb2312.1980-0 txian16

-gb-cclib-medium-r-normal-st-24-230-75-75-c-240-gb2312.1980-0 beijing24
!-gb-cclib-medium-r-normal-st-24-230-75-75-c-240-gb2312.1980-0 csong24

-----------------------------------------------------------------------------
mleisher@nmsu.edu                      "I laughed.
Mark Leisher                                I cried.
Computing Research Lab                          I fell down.
New Mexico State University                        It changed my life."
Las Cruces, NM                     - Rich [Cowboy Feng's Space Bar and Grille]

From CCNET-L@uga.cc.uga.edu Fri Sep 11 13:41:07 1992
Received: from uga.cc.uga.edu by sirius.ctr.columbia.edu (5.67/5.10) with SMTP id AA25668; Fri, 11 Sep 92 13:40:57 -0400
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 8516; Fri, 11 Sep 92 13:39:00 EDT
Received: from UGA.BITNET by UGA.CC.UGA.EDU (Mailer R2.08 PTF008) with BSMTP id
 0641; Fri, 11 Sep 92 13:38:58 EDT
Date:         Fri, 11 Sep 1992 11:36:03 CDT
Reply-To: Cen Huang <chuang@EDUC.UCALGARY.CA>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: Cen Huang <chuang@EDUC.UCALGARY.CA>
Subject:      no subject (file transmission)
Comments: To: CCNET-l@uga.cc.uga.edu
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: RO

Hi, folks!

    Here I want to raise a topic of Chinese computing. Maybe it can't
be answered by one or two emails. I hope that this discussion will
have lasted for a period of time and experts in this area would share
their experience with all of us.

    My question is that, based on PC, how to show Chinese characters
on the screen, and to print Chinese to a printer ?

    I am very interested in Chinese computing. But this question is
still a difficulty for me. I have done some research on it. The following
is what I understand this technology so far.

    I noticed that some Chinese programs contains some files called
cclib.16, cclibf.16, or similar files with different names. I think that
these files contain the information of all characters. For example,
cclib.16, contains all simplified characters. Those files are a bitmap
file. Each character occupies 1x16 bytes. They are arranged in the
following way:

       ********.... ****** ****** ....
      |<-- 1x16 bytes ? -->|
        one character        next character
      ^                    ^
      |                    |
     addr for (?)         addr for (?)
     this char            next char

Here I put "?" there because I am not sure and never have a chance to
verify it, just guess.

Addresses are very important, which determines whether all characters
are arranged in GB standard or BIG5 standard, or others.

    To show a chinese character on the screen, the mode has to be
changed to graphics mode, and then read the character from the
corresponding address in the file cclib.16, for example (of course
open the file first). After that, put these bytes to the screen memory,
or the cursor position.

    To print a character is in the similar way, send the character to a
printer instead of screen.

    All of above explanations are my imagination, or based on my computer
knowledge. However, I need expert or whoever knows the trick to help me to
correct any mistakes. Can any one give us any correct answers. I prefer to
see examples to illustrate the mechanism of Chinese computing, eg., a
piece of C coded program.

    I think that this kind of discussion will benefit to the people who have
interest in developing Chinese programs. We may find a standard or an
efficient way to write Chinese programs. Furthermore, more people will
involve in Chinese computing and we shall see more wonderful applications.


D. Chu

From CCNET-L@uga.cc.uga.edu Sun Sep 13 23:27:55 1992
Received: from uga.cc.uga.edu by sirius.ctr.columbia.edu (5.67/5.10) with SMTP id AA17672; Sun, 13 Sep 92 23:27:49 -0400
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 6286; Sun, 13 Sep 92 23:25:46 EDT
Received: from UGA.BITNET by UGA.CC.UGA.EDU (Mailer R2.08 PTF008) with BSMTP id
 6504; Sun, 13 Sep 92 23:25:45 EDT
Date:         Mon, 14 Sep 1992 11:25:00 +8
Reply-To: CTTOMLAI@CPHKVX.CPHK.HK
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: CTTOMLAI@CPHKVX.CPHK.HK
Subject:      cclib16 fonts
Comments: To: CCNET-l@uga.cc.uga.edu
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: RO

In cclib.16, each character font takes up 32 bytes.
	16 x 16 character fonts are each designed on a
	16 x 16 grid
   	This grid system has 16 x 16 "pixels" which
	can each be either on or off
	"On" pixels are indicated by 1
	"Off" pixels are indicated by 0
	So each byte can represent 8 pixels
	(16 x 16) div 8 = 32
Regards,
Tom Lai, Hong Kong

From CCNET-L@uga.cc.uga.edu Mon Sep 14 12:48:07 1992
Received: from uga.cc.uga.edu by sirius.ctr.columbia.edu (5.67/5.10) with SMTP id AA22923; Mon, 14 Sep 92 12:47:51 -0400
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 8969; Mon, 14 Sep 92 12:46:12 EDT
Received: from UGA.BITNET by UGA.CC.UGA.EDU (Mailer R2.08 PTF008) with BSMTP id
 2514; Mon, 14 Sep 92 12:46:11 EDT
Date:         Mon, 14 Sep 1992 10:42:39 CDT
Reply-To: Cen Huang <chuang@EDUC.UCALGARY.CA>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: Cen Huang <chuang@EDUC.UCALGARY.CA>
Subject:      no subject (file transmission)
Comments: To: CCNET-L@uga.cc.uga.edu
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: RO

>In cclib.16, each character font takes up 32 bytes.
>    16 x 16 character fonts are each designed on a
>    16 x 16 grid
>    This grid system has 16 x 16 "pixels" which
>    can each be either on or off
>    "On" pixels are indicated by 1
>    "Off" pixels are indicated by 0
>    So each byte can represent 8 pixels
>    (16 x 16) div 8 = 32
>Regards,
>Tom Lai, Hong Kong
--------------------------------------------------------------------
Hi! Mr. Tom Lai,

    Thank you for your correcting my mistakes.

    There are many English bitmap fonts available. As we know that, most
of them contain a tag segment in the front:

    |***** ... ******|**** ... ****|**** ...
    ^<---- tag -----> <-- 1st  ---> <-- 2nd
    |                   letter or
  Beginning             character
  of the
  file.

This tag is an information tag, which describes a complete info. abort
characters in the file. For example, size, structure, style, and so
non. However, it seems that Chinese fonts are bare bitmap font files,
that is, no tag in the file (?). If this is true, is it necessary to
establish a standard of Chinese tag in Chinese font files, which
make Chinese fonts "compatible with" English fonts, i.e. readable by
non Chinese programs, or make it easy for Chinese computing ?

    My further question is that, what is relationship between GB or
BIG5 and Chinese font files ? In another word, what is the meaning
of the code like A1A1 (GB first code) or A140 (BIG5 first code)? Does
these codes mean something for Chinese font files ?

Thanks for any answers, including answers to my previous email !

D. Chu

From CCNET-L@uga.cc.uga.edu Mon Sep 14 22:44:21 1992
Received: from uga.cc.uga.edu by sirius.ctr.columbia.edu (5.67/5.10) with SMTP id AA00755; Mon, 14 Sep 92 22:44:10 -0400
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 2073; Mon, 14 Sep 92 22:42:09 EDT
Received: from UGA.BITNET by UGA.CC.UGA.EDU (Mailer R2.08 PTF008) with BSMTP id
 3605; Mon, 14 Sep 92 22:42:08 EDT
Date:         Tue, 15 Sep 1992 10:40:00 +8
Reply-To: CTTOMLAI%CPHKVX.BITNET@uga.cc.uga.edu
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: CTTOMLAI%CPHKVX.BITNET@uga.cc.uga.edu
Subject:      cclib and big 5 font files
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: RO

Re: Cen Huang on font file "tags"
I have taken a look at CCLIB and the ETEN font file. The ETEN font
begins with the Chinese character _yi1_ ("one"), BIG 5 code A440,
without any "tag" whatsoever. CCLIB begins with the 32-byte bitmap
shape of _(SP)_, the first "character" in GB, again without any leading
"tag".

So, Cen Huang is right in saying that there are no "tags" in the
Chinese font files.

As for Cen Huang's question about the codes (GB/BIG 5), they uniquely
define the characters and determine the position of the characters in
the font files. For example, the first code value in BIG 5 is A440. This
code is assigned to the character _yi1_, which is thus the first character
in BIG 5 font files.

Regards, Tom Lai, Hong Kong

From CCNET-L@uga.cc.uga.edu Mon Sep 14 23:33:28 1992
Received: from uga.cc.uga.edu by sirius.ctr.columbia.edu (5.67/5.10) with SMTP id AA00976; Mon, 14 Sep 92 23:33:22 -0400
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 2252; Mon, 14 Sep 92 23:31:36 EDT
Received: from UGA.BITNET by UGA.CC.UGA.EDU (Mailer R2.08 PTF008) with BSMTP id
 5510; Mon, 14 Sep 92 23:31:34 EDT
Date:         Mon, 14 Sep 1992 23:31:23 EDT
Reply-To: Cheng-yeh Yen <cyen@EE.ENG.OHIO-STATE.EDU>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: Cheng-yeh Yen <cyen@EE.ENG.OHIO-STATE.EDU>
Subject:      Chinese fonts
Comments: To: ccnet-l%uga.BITNET@ohstvma.ircc.ohio-state.edu
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: RO

Hi,

    I don't know much about GB code and cclib.16.  But I know something
about Big-5 code and some Font file structure.

    Big-5 code use 2 bytes to present a Chinese character.  The range of
each byte is :
    High Byte : A1-FE
		8E-A0
		81-8D
    Low  Byte : 40-7E
		A1-FE
So, the normal Chinese fonts should start from A140.  But there are some
different types of fonts :
    Special  fonts : A140 - A38E	 408 characters
		     A3C0 - A3E0
    Standard fonts : A440 - C67E	5401 fundamental characters
		     C940 - F9D5	7652 characters
Normally we start from A440 ( _yi1_ "one" ).  Some Chinese system (like
ETen) put Chinese font in this order.  Below are two programs which can
transfer the "order" to big5 code and vice versa.

ToBig5( n, k1, k2 )
int	      n;
unsigned char *k1, *k2;
{
  *k1 = *k2 = 0;
  if( n>=0 && n<13094 ) {
    if( n>=5401 )  n+=408;
    *k1=n/157+164;
    *k2=n%157+64;
    if( *k2>=63+64 )  *k2+=34;
  }
}

FromBig5( n, k1, k2 )
int	      *n;
unsigned char k1, k2;
{
  int  n1, n2;

  if( k1>=164 ) {
    n1=k1-164;
    n2=k2-64;
    if( k2>=161 )  n2-=34;
    *n=n1*157+n2;
    if( *n>=5401 )  *n-=408;
  }
}

    After you have the "order" of the character, you can get it's bitmap
from the font files.  ETen system use 16x15 fonts, so each character is
30 bytes.  You can also get 24x24 fonts, and each character is 72 bytes.
Below is a small program to show the Chinese fonts under X-window.  This
program use XDrawPoints only.  If you like, you can use pixmap to do it.
You can use the same technique to show it on PC screen.  You can use
BIOS call : int 10h, function 10h (or 12h, I don't remember) to do it.
If you want the fastest speed, you can access video memory directly (start
from A0000h for VGA).

unsigned char font[13094][30];
unsigned char bit[8] = { 0x80, 0x40, 0x20, 0x10, 0x8, 0x4, 0x2, 0x1 };

xDrawCFont( n, x, y )
int  n, x, y;
{
  int	 i, j, k;
  XPoint xp[240];

  for( k=i=0; i<15; ++i ) {
    for( j=0; j<8; ++j )		  /*  First Byte   */
      if( font[n][i*2] & bit[j] )
	xp[k].x=x+j,  xp[k++].y=y+i;
    for( j=0; j<8; ++j )		  /*  Second Byte  */
      if( font[n][i*2+1] & bit[j] )
	xp[k].x=x+j+8,	xp[k++].y=y+i;
  }
  XDrawPoints(mydisp,mywin,mygc,xp,k,CoordModeOrigin);
}

----------------------------------------------------------------------
Cheng-yeh Yen                               cyen@ee.eng.ohio-state.edu
Dept. of Electrical Engineering
The Ohio State University                               679 Dreese Lab
2015 Neil Avenue                                     TEL:(614)292-6176
Columbus, OH 43210                                   FAX:(614)292-7596

From @cuvmb.cc.columbia.edu:CCNET-L@UGA.BITNET Tue Feb  6 19:05:39 1990
Received: from CUVMB.COLUMBIA.EDU (cuvmb.cc.columbia.edu) by sirius.ctr.columbia.edu (4.1/5.10) id AA13262; Tue, 6 Feb 90 19:05:34 EST
Received: from CUVMB.COLUMBIA.EDU by CUVMB.COLUMBIA.EDU (IBM VM SMTP R1.2.1) with BSMTP id 2759; Tue, 06 Feb 90 19:05:21 EST
Received: from PUCC.PRINCETON.EDU by CUVMB.COLUMBIA.EDU (Mailer R2.05) with
 BSMTP id 9133; Tue, 06 Feb 90 19:05:20 EST
Received: from PUCC.BITNET by PUCC.PRINCETON.EDU (Mailer R2.06X) with BSMTP id
 7443; Tue, 06 Feb 90 19:05:27 EST
Date:         Tue, 6 Feb 90 13:36:02 PST
Reply-To: Ed Lai <lai%APPLE.COM@cuvmb.cc.columbia.edu>
Sender: Chinese Computing Network <CCNET-L%UGA@cuvmb.cc.columbia.edu>
From: Ed Lai <lai%APPLE.COM@cuvmb.cc.columbia.edu>
Subject:      Article on Multilingual workstation
Comments: To: CCNET-L%UGA.BITNET@cunyvm.cuny.edu
To: Multiple recipients of list CCNET-L <CCNET-L@uga>
Status: RO

In the current issue of Computer (Feb 90) there is an article "Design of a
Bitmapped Multilingual Workstation" by Richard F. Walters of UC Davis. Chinese
computing issues were covered extensively.

Ed Lai
zW@h9cOi

From CCNET-L@uga.cc.uga.edu Fri May 17 09:00:54 1991
Received: from uga.cc.uga.edu by sirius.ctr.columbia.edu (5.64/5.10) with SMTP id AA19228; Fri, 17 May 91 09:00:45 -0400
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP R1.2.2MX) with BSMTP id 1272; Fri, 17 May 91 08:58:51 EDT
Received: from UGA.BITNET by UGA.CC.UGA.EDU (Mailer R2.07) with BSMTP id 6146;
 Fri, 17 May 91 08:58:36 EDT
Date:         Fri, 17 May 91 06:42:56 MDT
Reply-To: mleisher%NMSU.EDU@uga.cc.uga.edu
Sender: Chinese Computing Network <CCNET-L%UGA.BITNET@uga.cc.uga.edu>
From: mleisher%NMSU.EDU@uga.cc.uga.edu
Subject:      Re: GB code and Bitmap file
To: Multiple recipients of list CCNET-L <CCNET-L@UGA>
Status: RO

YLu writes:

 >
 > There is a small utility called HKU readnews (Riky Yeung's?) which
 > can display Big5 code on an ASCII terminal using the bitmap file
 > 'chinese.16'. I am trying to modify the program so that it can display
 > GB code on a dumb terminal by using the BYX bitmap file 'ziku'. I
 > couldn't figure out exactly how a 2-byte GB code is related to the
 > corresponding bitmap. It should be a simple algorithm. I guess that
 > the format of 'ziku' is similar to that of 'chinese.16', which represents
 > a Chinese word by 32 bytes. The original readnews program can use
 > the bitmap 'ziku', but the output is not what's expected (a "dog"
 > is displayed as a "house", things like that).
 >

Here are the calculations for getting bitmaps from GB and Big5 fonts.

1. GB

   index = ((first_byte - 161) * 94) + (second_byte - 161)
   index = index * num_bytes

2. Big5

   index = ((first_byte - 161) * 190) + (second_byte - 64)
   index = index * num_bytes


Where num_bytes is the number of bytes needed for one bitmap.  A 16x16
font requires 32 bytes for each bitmap, and a 24x24 font requires 72
bytes for each bitmap.

The result of these calculations, index, gives the starting point of
the bitmap in the font file.
-----------------------------------------------------------------------------
mleisher@nmsu.edu                      "I laughed.
Mark Leisher                                I cried.
Computing Research Lab                          I fell down.
New Mexico State University                        It changed my life."
Las Cruces, NM                     - Rich [Cowboy Feng's Space Bar and Grille]

From CCNET-L@uga.cc.uga.edu Fri May 17 11:30:05 1991
Received: from uga.cc.uga.edu by sirius.ctr.columbia.edu (5.64/5.10) with SMTP id AA20312; Fri, 17 May 91 11:29:44 -0400
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP R1.2.2MX) with BSMTP id 1904; Fri, 17 May 91 11:27:27 EDT
Received: from UGA.BITNET by UGA.CC.UGA.EDU (Mailer R2.07) with BSMTP id 1253;
 Fri, 17 May 91 11:27:24 EDT
Date:         Fri, 17 May 91 08:22:37 PDT
Reply-To: "Thomas B. Ridgeway" <ridgeway%BLACKBOX.HACC.WASHINGTON.EDU@uga.cc.uga.edu>
Sender: Chinese Computing Network <CCNET-L%UGA.BITNET@uga.cc.uga.edu>
From: "Thomas B. Ridgeway" <ridgeway%BLACKBOX.HACC.WASHINGTON.EDU@uga.cc.uga.edu>
Subject:      Re: non-public bitmap conversions
Comments: To: ccnet-l@uga.cc.uga.edu
To: Multiple recipients of list CCNET-L <CCNET-L@UGA>
In-Reply-To:  <9105171432.AA02888@blackbox.hacc.washington.edu>; from "Stephen
              G Simpson" at May 17, 91 10:36 am
Status: RO

Steve Simpson writes:
> SOLUTION: Somebody should write public-domain software to convert the
> bitmaps from a non-public-domain package, such as ETEN.  We could not
> distribute ETEN bitmaps by anonymous ftp, but the conversion software
> could be distributed in this way.  The entry-level version of ETEN is
> cheap, well under $100, so each site could afford to buy their own
> copy.  This would seem to be a practical solution.
>
  I have examined a 24x24 set of fonts from some version of ETEN;
  the font format is identical to the cclib.24 format/JIS 24x24 format,
  so the poorman's font conversion--> metafont would not need to
  be modified to accomplish the conversion.  I was looking at a
  the file stdfont.24 --- it appears to me that the layout of
  characters in the font is non-identical to the layout of characters
  in the big5 bdf font deriving from HKU.  Perhaps someone with a
  greater facility with Chinese than my own could comment on this.
  There were three other font files in the ETEN version I looked at,
  spcfont.24 and spcfsupp.24 which were the same format, and ascfont.24
  which is a 16x24 format and trivially different to accomodate.

  In short, if someone were able to provide a detailed description of
  the encoding used in the layout of the fonts (and if we are are able
  to determine that the layout is the same in different versions
  of the ETEN system) speaking purely from the poorman's TeX side of
  things it is definitely do-able, and with virtually no need for
  software changes.

  I would assume the legalities bear solely on the license issued with
  the ETEN software, since font bitmaps are not subject to copyright.

cheers,

Tom

--
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
Thomas Ridgeway, Director,
Humanities and Arts Computing Center/NorthWest Computing Support Center
35 Thomson Hall, University of Washington, DR-10
Seattle, WA 98195   phone: (206)-543-4218            *  Ask me about  *
Internet: ridgeway@blackbox.hacc.washington.edu      *    Unix TeX    *
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

From CCNET-L@uga.cc.uga.edu Fri May 17 12:08:45 1991
Received: from uga.cc.uga.edu by sirius.ctr.columbia.edu (5.64/5.10) with SMTP id AA20666; Fri, 17 May 91 12:08:20 -0400
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP R1.2.2MX) with BSMTP id 2067; Fri, 17 May 91 12:06:25 EDT
Received: from UGA.BITNET by UGA.CC.UGA.EDU (Mailer R2.07) with BSMTP id 2440;
 Fri, 17 May 91 12:06:23 EDT
Date:         Fri, 17 May 91 09:40:26 MDT
Reply-To: mleisher%NMSU.EDU@uga.cc.uga.edu
Sender: Chinese Computing Network <CCNET-L%UGA.BITNET@uga.cc.uga.edu>
From: mleisher%NMSU.EDU@uga.cc.uga.edu
Subject:      Re: GB and BIG5 bitmap format
To: Multiple recipients of list CCNET-L <CCNET-L@UGA>
Status: RO

Stephen G Simpson writes:
 > [elided for brevity]
 >
 > Does this hold for all the bitmaps we know about? (Yang Yongxin's
 > ziku, the cclib.16 and 24, the .bdf fonts, etc.)  Also, in what order
 > are the 32 or 72 bytes displayed in the square character, e.g. row by
 > row upper left to lower right, or what?  Or does this vary from font
 > to font?

Good point.  It didn't occur to me to explain this.

The calculations I posted are for raw bitmap fonts (binary form) like
CCLIB fonts used in ChTeX, CCDOS, Byx 1.1 and other programs.  I don't
have easy access to MSDOS machines, so I haven't looked at the ziku
file.

The X11 BDF fonts are different because they are straight ASCII files.
BDF fonts have a field called ENCODING for each bitmap, in which the
encoding value is given.  The ENCODING field can be used in a couple
of different ways, so it is easiest to convert a BDF font to a raw
bitmap (binary form) font before looking for bitmaps.

Fonts on other systems are stored differently.  I am in the process of
reverse engineering the Macintosh Chinese OS font format, so I'll post
information on that when I get it figured out (if anyone wants to
supply info on FBIT expansion, I'd love to hear from you :-).

The order of the bytes in a bitmap font should not really be a factor,
because the program that reads the bitmaps ends up seeing the bytes in
the correct order.  There are some machines that have strange byte
orderings that may cause trouble.  The bit order *will* be different
on some machines.

Below is a short algorithm to display a 16x16 bitmap in ASCII (C code)
from a CCLIB raw bitmap font.  To modify this algorithm for a 24x24
font, the size of the bitmap array would be 72, the first loop would
go from 0 to 71, and the second loop would from 0 to 3.

This algorithm needs some modification to display a group of bitmaps
in ASCII horizontally across the screen.

    Assuming the bitmap is a linear array of characters that have
    been read from the raw bitmap font.

    char bitmap[32];
    int next_byte = 0;

    /*
     * The variable i will represent the number of rows in the
     * in the bitmaps.
     */
    for (i = 0; i < 16; i++) {

        /*
         * The variable j will represent the number of bytes needed
         * to hold 16 columns (bits).
         */
        for (j = 0; j < 2; j++) {

            /*
             * The variable k will be used to extract each column
             * (bit) from the bytes in the current row.
             * This part is where machine specific things come in.
             * This loop may need to be changed to:
             *    for (k = 0; k < 8; k++)
             * for some systems.
             */
            for (k = 7; k >= 0; k--) {
                if (((bitmap[next_byte] >> k) & 1) != 0)
                  printf("*");
                else
                  printf(" ");
            }
            next_byte++;
        }
    }
-----------------------------------------------------------------------------
mleisher@nmsu.edu                      "I laughed.
Mark Leisher                                I cried.
Computing Research Lab                          I fell down.
New Mexico State University                        It changed my life."
Las Cruces, NM                     - Rich [Cowboy Feng's Space Bar and Grille]

From sol.ctr.columbia.edu!spool.mu.edu!uunet!stanford.edu!leland.Stanford.EDU!rinconada!lee Fri Sep 18 18:34:41 EDT 1992
Article: 67638 of soc.culture.china
Xref: sol.ctr.columbia.edu alt.chinese.text:681 soc.culture.taiwan:30028 soc.culture.hongkong:26015 soc.culture.china:67638
Newsgroups: alt.chinese.text,soc.culture.taiwan,soc.culture.hongkong,soc.culture.china
Path: sol.ctr.columbia.edu!spool.mu.edu!uunet!stanford.edu!leland.Stanford.EDU!rinconada!lee
From: lee@rinconada.stanford.edu (Fung Fung Lee)
Subject: patch chinese.16:  BIG5 font previously from HKU
Message-ID: <1992Sep16.185834.16036@leland.Stanford.EDU>
Keywords: BIG5, hz2ps, hzview, chirk, xhzview, cxterm
Sender: FFL
Organization: Stanford University
Date: Wed, 16 Sep 92 18:58:34 GMT
Lines: 98
Status: RO

*[For those interested in following up the discussion, please do so
* on alt.chinese.text. For questions, please also post them there.]

---------------------------------------------------------------------------
For those of you who already know what BIG5 is, "chinese.16" is a
16x16 bitmap font file for traditional Chinese characters encoded 
in BIG5 order.  If you have ever used/read those "infrequently-used"
characters, you may have noticed something wrong.  The following
solution seems to be the most painless: just patch the original file,
"chinese.16". 

-----------------   --------------------   ------------------ --------------
For other programs which use a different file format,
but derive the content from "chinese.16", there may be a need to
regenerate the font files.

For example, hz2ps and hzview both support BIG5, but require a different
file format.  Users can run "hku2hz" (included in the hz2ps package) on
"chinese.16" again to re-generate the font files. hz2ps and hzview will
now work properly (without changing a single line of code).

The program "chirk" (v 1.2) will now display the infrequently-used BIG5
characters correctly, but not perfectly due to some other bug, which is not
present in its previous version (v 1.1). (Surprise?)

The programs cxterm and xhzview display Han characters on X window
systems, using a bdf font file based on the content of "chinese.16".
Therefore, the bdf file "HKU-Ch16.bdf" ("HKU-Ch16.pcf") needs to be
regenerated.  Some range checking codes may have to be changed if
it matters.

patch-chinese16.c can be found in ahkcus.org:src/unix
chinese.16 can be found in ahkcus.org:src/pc/hku
Other software mentioned above can also be found in ahkcus.org:src/unix

Since patch-chinese16.c is so small, it is also included in this message.

------------------------------cut here------------------------------------
/* patch-chinese16.c (version 9/15/92)

   A program to patch "chinese.16" as distributed by HKU.
   Copyright 1992  Fung F. Lee

   As of today, many popular Chinese display/editing programs made
   some incorrect interpretation about the file format of "chinese.16",
   possibly the only publicly accessable traditional font file, such that
   the "infrequently-used" characters are displayed incorrectly.
   It seems to me that this patching of the original "chinese.16" can save
   the work and hassle of changing those software.
   
   This program expects "chinese.16" residing in the same directory.

   Permission to copy and distribute copies of this program is granted.
   There is absolutely no warranty for this program.
*/

#include <stdio.h>

char inFile[] = "chinese.16";
char outFile[] = "chinese.16.new";

#define FSIZE       442432 /* file size of "chinese.16" */
#define INSERT_PT   197568 /* offset of first byte belonging to code 0xC940 */
#define INSERT_LEN  13056  /* (94+157+157)*32 */

main(argc, argv)
int argc;
char *argv[];
{
    FILE *fin, *fout;
    int c;
    long i, j;

    if ((fin = fopen(inFile, "r")) == 0)
    {
	fprintf(stderr, "Can't open font file %s\n", inFile);
	exit(1);
    }
    if ((fout = fopen(outFile, "w")) == 0)
    {
	fprintf(stderr, "Can't create new font file %s\n", outFile);
	exit(1);
    }
    for (i = 0; i < FSIZE; i++)
    {
	if (i == INSERT_PT)
	    for (j = 0; j < INSERT_LEN; j++)
		fputc('\0', fout);
	c = fgetc(fin);
	fputc(c, fout);
    }
    fclose(fin);
    fclose(fout);

    fprintf(stdout, "Remember to rename chinese.16 to something else,\n");
    fprintf(stdout, "and rename chinese.16.new as chinese.16\n");
    exit(0);
}


From @fuji.jpntok.cdc.com:egreshko@jpntok.cdc.com Thu Jun 18 10:11:48 1992
Received: from shamash.cdc.com by perceval.apne.columbia.edu.apne.columbia.edu with SMTP
	(5.61++/IDA-1.2.8) id AA00179; Thu, 18 Jun 92 10:11:38 -0400
Received: from jpntok.cdc.com by shamash.cdc.com (4.1/SMI-4.0/CDC1.0)
	id AA18283; Wed, 17 Jun 92 22:03:35 CDT
Return-Path: <egreshko@fuji.jpntok.cdc.com>
Received: from fuji.jpntok.cdc.com by cubix.jpntok.cdc.com (5.51++/1.14.5)
	id AA17923; Thu, 18 Jun 92 11:53:39 JST
Received: by fuji.jpntok.cdc.com (4.1/1.14.5-TIS)
	id AA25605; Thu, 18 Jun 92 11:53:43 JST
From: egreshko@fuji.jpntok.cdc.com (Ed Greshko)
Message-Id: <9206180253.AA25605@fuji.jpntok.cdc.com>
Subject: Re: Available BIG5 Fonts....
To: yuan@perceval.apne.columbia.edu (Yuan Jiang)
Date: Thu, 18 Jun 92 11:53:41 JST
In-Reply-To: <9206172032.AA01408@perceval.apne.columbia.edu.apne.columbia.edu>; from "Yuan Jiang" at Jun 17, 92 4:32 pm
X-Mailer: ELM [version 2.3 PL11]
Status: RO


	I have picked up the following fonts from Taiwan University:

	taipei15
	taipeib20
	taipeib24
	taipeik20
	taipeik24
	taipeil20
	taipeil24
	taipeim20
	taipeim24
	taipeis20
	taipeis24

From sol.ctr.columbia.edu!usenet.ucs.indiana.edu!bronze.ucs.indiana.edu!yawei Mon Oct 19 14:18:59 EDT 1992
Article: 878 of alt.chinese.text
Newsgroups: alt.chinese.text
Path: sol.ctr.columbia.edu!usenet.ucs.indiana.edu!bronze.ucs.indiana.edu!yawei
From: yawei@bronze.ucs.indiana.edu (~{QG9p~})
Subject: ~{71LeWV?b~} traditional font for zwdos users
Message-ID: <BwC4nA.2ot@usenet.ucs.indiana.edu>
Sender: news@usenet.ucs.indiana.edu (USENET News System)
Nntp-Posting-Host: bronze.ucs.indiana.edu
Organization: Indiana University
Date: Sun, 18 Oct 1992 20:52:22 GMT
Status: O


  I have just placed a traditional (unsimplified) ziku up for
zwdos users. It can be ftp'ed from:

      cs.purdue.edu:~ftp/pub/ygz/zW-hz/cc1614u.lib

  The file should be considered part of the zwdos package.
It should be placed in the same directory as your other
zwdos files and zwdos should be ran with the "/u" switch to
invoke the unsimplified font.

  The next release of zwdos will switch to 16x16 fonts and
the current fonts will no longer be useful then. Instead the
16x16 cclib formatted fonts available on the network will be
directly usable.

  It is my general impression that most of the 16x16 fantizi
fonts don't look very good.  Perhaps a higher resolution is
needed, which would also demand an increase in video hardware
resolution.

    ~{N:QG9p~}


  


From xiaofei Sat Jan 30 01:21:33 1993
Return-Path: <xiaofei>
Received: by ifcss.org (4.1/IFCSS-Mailer)
	id AA16078; Sat, 30 Jan 93 01:21:12 CST
Date: Sat, 30 Jan 93 01:21:12 CST
From: xiaofei (XiaoFei Wang)
Message-Id: <9301300721.AA16078@ifcss.org>
To: jiang@ifcss.org
Subject: bitmapped_fonts
Status: RO

Hi, I would like to invite you for an informal and small scale discussion 
on chinese bitmapped fonts. The people I have contacted is list below.
If you are not interested in the discussion please email me so that I
will remove you from the distribution list. If you are, I should have a mail 
alias ready tomorrow so that you can use to communicate with other
programmers. I hope some agreement can be reached. 

The people I have contacted is list below. Please tell me whom I missed.

yawei@bronze.ucs.indiana.edu 
yding@unix.cis.pitt.edu 
87p0786@csdvax.csd.unsw.edu.au 
Hongbo@csd.unsw.oz.au
jialong@neuro.informatik.uni-ulm.de 
li@neuro.informatik.uni-ulm.de      
FARZ%NMUMUS@CUNYVM.CUNY.EDU 
gchen@geohub.gcn.uoknor.edu
wuxi@unixg.ubc.ca
fazo@nws.e-technik.tu-muenchen.de
zhang@latcs1.lat.oz.au
25822873@wsuvm1.bitnet
mcpong@uxmail.ust.hk
ygz@cs.purdue.edu
csf!syeh@bcr.cc.bellcore.com 
syeh@caip.rutgers.edu
Ricky.Yeung@Sun.Com
lee@umunhum.stanford.edu
CAI@neurophys.wisc.edu
william@cs.anu.edu.au
eric@coeus.ucsd.edu 
wuzhibia@iscs.nus.sg
xiaofei@ifcss.org
jiang@ifcss.org
yaom@csss.la.asu.edu
rzhu@watmath.waterloo.edu

To get started, the following is the edited communication log file. 
I have removed the c source from the file for the seek of space
and put them to ifcss.org:/software/tmp. I will send you a message
as soon as the mail alias for communication is ready. 

--
>From xiaofei Tue Jan 26 19:56:28 1993
Return-Path: <xiaofei>
Date: Tue, 26 Jan 93 19:56:05 CST
From: xiaofei (XiaoFei Wang)
To: Y.Lu@loughborough.ac.uk
Subject: cclib fonts
Cc: cai@neurophys.wisc.edu, xiaofei
Status: RO

:#define SONGTI 	"cclib.24"
:#define KEITI		"cclib.k24"
:#define FANGSONGTI	"cclib.n24"
:#define HEITI		"cclib.h24"
:#define FANTI		"cclib.f24"
:#define USERDEF	"cclib.u24"
:
I have tried the version of gb2ps which
uses standard fonts, it works fine. 
However I have some confusions. 

Where can I find these fonts? 
cclib.24 is in JB Wang's ChTeX 
package the rest are not. 

There are cclib.{knhfj}24 fonts on 
ifcss.org:/software/fonts
but they are 'compressed fonts'
used by cnprint. If 
above fonts are truly standard 24x24 fonts,
then I would suggest the author of
cnprint to name his fonts to something else
to avoid confusin, for example, cclibc.k24

Please help me out

>From Y.Lu@loughborough.ac.uk Thu Jan 28 06:20:45 1993
Return-Path: <Y.Lu@loughborough.ac.uk>
Via: uk.ac.loughborough; Thu, 28 Jan 1993 11:48:33 +0000
From: YLu <Y.Lu@loughborough.ac.uk>
Subject: Re: cclib fonts
To: xiaofei@ifcss.org (XiaoFei Wang)
Date: Thu, 28 Jan 93 11:47:01 GMT
Cc: cai@neurophys.wisc.edu
In-Reply-To: <9301270156.AA11394@ifcss.org>; from "XiaoFei Wang" at Jan 26, 93 7:56 pm
X-Mailer: ELM [version 2.3 PL0 (LUT)]
Status: RO

> 
> To: Y.Lu@loughborough.ac.UK
> CC: cai@neurophys.wisc.edu, xiaofei@ifcss.ORG
>  
> :#define SONGTI         "cclib.24"
> :#define KEITI          "cclib.k24"
> :#define FANGSONGTI     "cclib.n24"
> :#define HEITI          "cclib.h24"
> :#define FANTI          "cclib.f24"
> :#define USERDEF        "cclib.u24"
> :
> I have tried the version of gb2ps which
> uses standard fonts, it works fine.
> However I have some confusions.
>  
> Where can I find these fonts?
> cclib.24 is in JB Wang's ChTeX
> package the rest are not.
>  
> There are cclib.{knhfj}24 fonts on
> ifcss.org:/software/fonts
> but they are 'compressed fonts'
> used by cnprint. If
> above fonts are truly standard 24x24 fonts,
> then I would suggest the author of
> cnprint to name his fonts to something else
> to avoid confusion, for example, cclibc.k24
>  
> Please help me out
>  
> ----------------------
> You can follow the instructions in the GB2PS readme file and you are OUT.
> If I remember correctly, you should not define the fonts that way.  The
> fonts for GB2PS is under the same directory and they are in their original
> name (I do not remember exactly, but you can refer to cclib.jfknh24.readme
> for the names).
>  
> Those cclib.*24 fonts are truely 24x24 fonts but in compressed format, the
> format (or with slight modification) is adopted by ChTeX (at least for its
> 16x16 fonts, I am not exactly sure about 24x24 now, and that was where
> I borrowed the idea), by NJSTAR, and by the author who uses the two 16x16
> fonts (cclib.16 and cclibf.16, these two fonts can also be used by CNPRINT
> V2.11).  The advantage for using the compressed format is obvious.  And I
> hope software developers can use some kind of compressed fonts for the
> benefits of users.  The fonts I posted are by no means standard, but if
> there is a standard, I would like to follow.  Actually, the fonts used by
> present version of GB2PS (V2.02) is compressed compared to those used by
> version 1.0 of GB2PS (but I do not know if they are standard non-compressed
> format, it is obvious that the fonts used by V2.02 and V1.0 of GB2PS can not
> all be standard).
>  
> As to the name change, it would be a serious thing since it would affect
> present users.  However, if there is a reasonable need (even not that strong)
> from other software developers and users,I would like to adopt it for the sake
> of CSS around the world.  I hope Xiaofei can help me to gather the opinions
> from other software developers and users.
>  
> Thank you and have a nice new year !
>  
> Yidao
>  
> 

It is indeed very confusing and frustrating for every program to use
different "fonts" for, oddly enough, the same purpose.  There ought to
be a standard.  It wouldn't be difficult at all to adopt a standard set
of bitmap Chinese fonts.  I have modified hz2ps, cnprint, gb2ps and
ChTeX to make use of the same set of public domain bitmap (is it called
compressed?) fonts (cclib.24 format).

As I explained briefly in the comment block at the beginning of
readgb.c, the square Chinese bitmap fonts can be arranged differently.
The bitmaps can be stored in row-order or in column-order.  While the
column-order bitmaps may be convenient for use with dot-matrix printers,
the row-order bitmaps are commonly available and seem to be logical for
coding for PostScript printers.  The two formats are readily convertible
(see c2cc.c and gbfconvt.c).

It's obvious that the most economical (disk space conscious) way of
storing Chinese fonts is to use the 1-bit bitmap format as outlined
above.  The GB standard, as I understand, defines (0xF7-0xA1+1)*94 =
8178 legal GB code.  For the 16x16 square font, the maximum font file
size would be 8178*32 = 261696 bytes.  The 24x24 font file would require
8178*72 = 588816 bytes.  The most commonly used 16x16 font files [ziku
(Songti) in BYX 1.1, cclib.16 (Songti) and cclibf.16 (Fanti) in ChTeX
and early versions of NJSTAR] are in row-order and have a hole of 752
legal codes undefined between the eighth Qu and the sixteenth Qu.  This
reduces the file size to (8178-752)*32 = 237632 bytes.  The common 24x24
font files [cclib.24 (Songti) and cclibf.24 (Fanti) used in ChTeX] are
also in row-order and have all the legal codes defined, albeit some 564
blanks between the nineth Qu and the fifteenth Qu.  These files have the
maximum size of 588816 bytes.

The other 24x24 fonts used by cnprint and gb2ps all seem to be derived
from the fonts alib.24 (Kaiti), blib.24 (Fangsongti), dlib.24 (Heiti),
and flib.24 (Fanti) in the cc2tex 1.0 package.  These fonts are stored
in column-order and have 564 coding planes between the nineth Qu and the
fifteenth Qu taken out, thus reducing the file sizes to (8178-564)*72 =
548208 bytes.  The c2cc.c program posted to ccnet by Yang Bo can be used
to convert these fonts to row-oder ones (cclib.24 format, 588816 bytes)
which are directly usable by his modified ChTeX.  I've also posted a
program gbfconvt.c to ccnet some time ago, which fixed a small problem
of c2cc (Yang Bo later rectified it) and can convert between row-order
and column-order Hanzi bitmaps.  Although the full 24x24 font file
(cclib.24) is 588816-548208 = 40608 bytes (about 40k) larger than the
incomplete "compressed (?)" alib.24 or its row-oder counterpart, the
algorithms used in such programs as cnprint and gb2ps to get bitmaps are
much simpler (no conditional statements required) and the extra 40k is
not that large.  Maybe somebody will fill the blanks with interesting
symbols or missing Hanzi characters in the future.

The gb2ps program by W.  Sun uses font files with names like
csong24.ccf, ckei24.ccf, chei24.ccf, cfan24.ccf and cfang24.ccf, which
are in QuWei-indexed PostScript image format.  The .ccf files are
actually text files (on a UNIX system) but were treated as binary ones
(The newline is hard-coded, see:  long size_of_CH = 150;).  It would
have difficulty when porting to MS-DOS platform (I did it for version
1.0).  The font files are unnecessarily large and should be transferred
to MS-DOS systems in binary format.  A single font file can barely be
held on a high density 1.44M floppy disk.  As you can see from the
modified gb2ps.c I posted to you, it is very easy to make it use the
standard format fonts.  The font file names are not significant, they
can be changed to follow a standard scheme.

Hz2ps by Fung F.  Lee and Ricky Yeung adopted another strategy.  Three
separate smaller font files are used.  You can also tweak the program a
little bit to utilize the standard cclib.24 font file.

Yidao's cnprint is an interesting program.  I had a close look at it
recently on a weekend.  only two lines of code need to be modified to
make it use the standard cclib.24 format.

(1) comment out the following line:
 		if (addr>=1410) addr -= 564;
(2) change the following line:
 			fstring[(addr>=1410)? (addr-564):addr]++;
    to
 			fstring[addr]++;

Since the font file names cclib.j24, cclib.f24, cclib.k24, cclib.h24 and
cclib.n24 have certain defined functions in the program, I didn't change
the program a lot.  The file naming scheme seems to be reasonable.  I
have adopted the same font file names for gb2ps and have renamed
cclib.24 to cclib.j24, and have cclib.24 soft-linked to cclib.j24,
cclibf.24 soft-linked to cclib.f24, and cclibk.24 soft-linked to
cclib.k24 for ChTeX.  Thus the same set of font files can be used for
ChTeX, gb2ps, cnprint, and hz2ps (you can set up environment variables
CCLIB24jt pointing to cclib.j24 and CCLIB24ft pointing to cclib.f24 for
ChTeX if you like).

I would suggest that cnprint should be modified to use the standard
cclib.24 format (complete 588816 bytes).  File names shall remain the
same. Gb2ps can also be upgraded to use the same set of standard fonts.
The Songti font cclib.j24 is the same as cclib.24 in ChTeX and other
packages.  Other font files can be generated from the fonts in cc2tex
1.0 package with c2cc or my gbfconvt.

	gbfconvt -b alib.24 cclib.k24
	gbfconvt -b blib.24 cclib.n24
	gbfconvt -b dlib.24 cclib.h24
	gbfconvt -b flib.24 cclib.f24

or

	c2cc < alib.24 > cclib.k24
	c2cc < blib.24 > cclib.n24
	c2cc < dlib.24 > cclib.h24
	c2cc < flib.24 > cclib.f24

It saves me a lot of disk space. What do you think?

Regards,
Yuzhao

I include gbfconvt.c here.
[ gbfconvt.c deleted here, it can be found in 
ifcss.org:/software/tmp directory. ] 

>From Y.Lu@loughborough.ac.uk Thu Jan 28 06:20:57 1993
Return-Path: <Y.Lu@loughborough.ac.uk>
Via: uk.ac.loughborough; Thu, 28 Jan 1993 11:51:38 +0000
From: YLu <Y.Lu@loughborough.ac.uk>
Subject: Re: cclib fonts -- ccf2lib.c
To: xiaofei@ifcss.org (XiaoFei Wang)
Date: Thu, 28 Jan 93 11:50:45 GMT
In-Reply-To: <9301270156.AA11394@ifcss.org>; from "XiaoFei Wang" at Jan 26, 93 7:56 pm
X-Mailer: ELM [version 2.3 PL0 (LUT)]
Status: RO

The large .ccf font files used in gb2ps can be converted back
to the smaller standard formats as cclib.24 with the following
a couple of lines of C code. There is no need to ftp another
large set of font files if you already have the .ccf files.

[ ccf2lib.c deleted. It can be found from 
ifcss.org:/software/tmp xiaofei@ifcss.org ] 

>From CAI@neurophys.wisc.edu Thu Jan 28 14:38:26 1993
Return-Path: <CAI@neurophys.wisc.edu>
Date: Tue, 26 Jan 93 20:49 CST
From: CAI@neurophys.wisc.edu
Subject: Re: cclib fonts
To: xiaofei@ifcss.org
X-Vms-To: IN%"xiaofei@ifcss.ORG"
Status: RO

To Xiaofei:

There are obvious contradictions in this message.  He tried GB2PS and it 
works fine, but how could he try it without even one font ?  By the way, the
SongTi font is supplied with GB2PS package (Why he need to get it from ChTex?)
and cclib.24 in ChTex is in compressed format (which can not be used by GB2PS)
if I remembered correctly. 

If you think there is indeed a need to change the name, I would be very glad 
to do so.  Thank you very much. 

Yidao

>From xiaofei Thu Jan 28 15:31:55 1993
Return-Path: <xiaofei>
Date: Thu, 28 Jan 93 15:31:29 CST
From: xiaofei (XiaoFei Wang)
To: CAI@neurophys.wisc.edu
Subject: Re: cclib fonts
Cc: Y.Lu@loughborough.ac.uk, xiaofei
Status: RO

:From: CAI@neurophys.wisc.edu
:To Xiaofei:
:
:There are obvious contradictions in this message.  He tried GB2PS and it 
:works fine, but how could he try it without even one font ?  By the way, the
:SongTi font is supplied with GB2PS package (Why he need to get it from ChTex?)
:and cclib.24 in ChTex is in compressed format (which can not be used by GB2PS)
:if I remembered correctly. 
:
:If you think there is indeed a need to change the name, I would be very glad 
:to do so.  Thank you very much. 
:
:Yidao

There is no contradictions in my message, let me explain: 

1) the gb2ps I tried is one Y.Lu modified. 
2) the font I used is cclib.24 from chtex package, and now I put on 
   ifcss.org:/software/fonts
   I ftp'ed chtex from crl.nmsu.edu 
3) it works. 
4) the other fonts comes with cnprint, such as cclib.h16, does not work 
   gb2ps-modified, it prints out some chars than what they are
   meant to be.

Above are facts. Now the explanation is, cclib.24 is NOT compressed, 
I just checked the size, cclib.24 is 588.8 kB while 'compressed'
fonts with cnprint such as cclib.{fhkn}24 are 548.2 kB. I do not know
why cclib.j24 is an exception which is 560.5 kB. 

PS: I would like to gather some software developers together to
have an e-mail meeting, purposes: 
1) identifies 'standard' bitmap fonts
2) font naming standard
3) consistency in using fonts 
etc. If you think it is a good idea, I will try to apply a user
alias called software-developers@ifcss.org
I think CCnet maybe too broad for this purpose. 
Let me know your opinions. 


>From Y.Lu@loughborough.ac.uk Fri Jan 29 06:22:37 1993
Return-Path: <Y.Lu@loughborough.ac.uk>
Via: uk.ac.loughborough; Fri, 29 Jan 1993 12:19:40 +0000
From: YLu <Y.Lu@loughborough.ac.uk>
Subject: Re: cclib fonts
To: xiaofei@ifcss.org (XiaoFei Wang)
Date: Fri, 29 Jan 93 12:18:53 GMT
Cc: cai@neurophys.wisc.edu
In-Reply-To: <9301282131.AA14082@ifcss.org>; from "XiaoFei Wang" at Jan 28, 93 3:31 pm
X-Mailer: ELM [version 2.3 PL0 (LUT)]
Status: RO

> 
> :From: CAI@neurophys.wisc.edu
> :To Xiaofei:
> :
> :There are obvious contradictions in this message.  He tried GB2PS and it 
> :works fine, but how could he try it without even one font ?  By the way, the
> :SongTi font is supplied with GB2PS package (Why he need to get it from ChTex?)
> :and cclib.24 in ChTex is in compressed format (which can not be used by GB2PS)
> :if I remembered correctly. 
> :
> :If you think there is indeed a need to change the name, I would be very glad 
> :to do so.  Thank you very much. 
> :
> :Yidao
> 
> There is no contradictions in my message, let me explain: 
> 
> 1) the gb2ps I tried is one Y.Lu modified. 
> 2) the font I used is cclib.24 from chtex package, and now I put on 
>    ifcss.org:/software/fonts
>    I ftp'ed chtex from crl.nmsu.edu 
> 3) it works. 
> 4) the other fonts comes with cnprint, such as cclib.h16, does not work 
>    gb2ps-modified, it prints out some chars than what they are
>    meant to be.
> 
> Above are facts. Now the explanation is, cclib.24 is NOT compressed, 
> I just checked the size, cclib.24 is 588.8 kB while 'compressed'
> fonts with cnprint such as cclib.{fhkn}24 are 548.2 kB. I do not know
> why cclib.j24 is an exception which is 560.5 kB. 
> 
> PS: I would like to gather some software developers together to
> have an e-mail meeting, purposes: 
> 1) identifies 'standard' bitmap fonts
> 2) font naming standard
> 3) consistency in using fonts 
> etc. If you think it is a good idea, I will try to apply a user
> alias called software-developers@ifcss.org
> I think CCnet maybe too broad for this purpose. 
> Let me know your opinions. 
> 
> 

Have you received my messages sent out yesterday? A carbon copy
of one of the messages was also sent to Yidao. I think I have
made it clear the font problems caused by the misunderstanding
of bitmap font formats. There is a minor error in my first message.
The cclib.16 (237632 bytes) bitmap file has an undefined coding
area of 752 Hanzi characters between the seventh Qu and the
fifteenth Qu (not between the eighth Qu and the sixteenth Qu).

There is a small MS-DOS utility program written by Zhang Ruoxin
called cc (confusing, isn't it?) which can display the whole
bitmaps of a square Hanzi font file on a PC screen with EGA or
VGA display.  My readgb program which has a few options can also
be used to check font files.

My point is that a program can and should employ standard format
fonts without effecting the program's functionality. The saves
precious disk space for somes users if they want to try those
different programs.

For the commonly used 24x24 Hanzi fonts which are mainly used
for printing purpose and have reasonably good quality, a few
different styles (faces) are available as public domain data.
Let's all use the standard cclib.24 format which is, after
all, complete (with blank areas though) and easy to understand
and program. Suppose we use file names cclib.[jfhkn]24 or
cclib[jfhkn].24 for the Songti, Fanti, Heiti, Kaiti and
Fangsongti, respectively, these files should and can be
made to follow the cclib.24 format (see c2cc and gbfconvt).

Regards,
Yuzhao

>From Y.Lu@loughborough.ac.uk Fri Jan 29 06:36:29 1993
Return-Path: <Y.Lu@loughborough.ac.uk>
Via: uk.ac.loughborough; Fri, 29 Jan 1993 12:34:52 +0000
From: YLu <Y.Lu@loughborough.ac.uk>
Subject: Re: cclib fonts -- modified cnprint.c
To: xiaofei@ifcss.org (XiaoFei Wang)
Date: Fri, 29 Jan 93 12:34:20 GMT
In-Reply-To: <9301282131.AA14082@ifcss.org>; from "XiaoFei Wang" at Jan 28, 93 3:31 pm
X-Mailer: ELM [version 2.3 PL0 (LUT)]
Status: RO

Please use c2cc or my gbfconvt to generate cclib.[fkhn]24
from [abdf]lib.24 in the cc2tex 1.0 pacakage or ccf2lib.c
to convert those .ccf files in the gb2ps 2.02 package back
to the standard formats and use file names cclib.[jfkhn]24
as described in my previous messages. The modified gb2ps
program I posted to you (you may change the SONGTI definition
to "cclib.j24" if you like) should work with those fonts
together with a slightly modified cnprint.c. I think I
should post to you the cnprint.c source I've modified for
personal use.

------ CUT HERE ------
[ modified cnprint.c deleted, It can be found from 
ifcss.org:/software/tmp xiaofei@ifcss.org ] 

>From CAI@neurophys.wisc.edu Fri Jan 29 12:01:29 1993
Return-Path: <CAI@neurophys.wisc.edu>
Date: Fri, 29 Jan 93 11:54 CST
From: CAI@neurophys.wisc.edu
Subject: Re: cclib fonts
To: xiaofei@ifcss.org
X-Vms-To: IN%"xiaofei@ifcss.ORG"
Status: RO

Let me (Yidao) first breiefly answer the question headed by ??????????. 

cclib.j24 uses a compressed format (72 bytes for one character), which is 
the same as cclib.24 (I do not know if there is an orietation difference
since I did not have read access to cclib.24).  Also, cclib.j24 left out
6 empty sections.  cclib.{fhkn}24 all share the same feature.  In addition,
cclib.j24 encoded the ASCII characters as well in compressed format but
cclib.{fhkn}24 not. This should explain the size difference.  I did not post 
any 16x16 fonts on ftp site. 

I think it is a good idea to gather software developers together to disscuss
the font problems. It would be a very good thing for all the CSS around the 
world. 

As to Y.LU's proposal (see below), I think we are common at the point that 
we should use compressed format (i.e. 72 bytes for one 24x24 character and
32 bytes for one 16x16 character).  I also agree with Y.LU on the point that
the orietation used by gb2ps and cnprint is simpler for PostScript driver
programs (Sorry I do not know exactly if cclib.24 on the ftp site now uses 
the same orietation).  

The next question is wether to encode the 6 empty sections in our "standard".
It is true encoding the 6 empty sections would allow upward competivity of 
the software if someday the empty sections is filled, but at the expense of
some extra disk spaces at each user.  I personally have no inclination at
this point.  The reason I adopt the present version (leave them out) was that
when I started to modify GB2PS I did not intend to make it public (GB2PS 
did not work properly on my VAX/VMS site, including V2.02). 

And what should we do with 16x16 fonts?

My suggestion now is:

1. use the compressed format with the orietation used by present gb2ps and 
	cnprint. 

2. Put the ASCII at the end of all Chinese character, if the ASCII exists. 

3. Better to use the same order and location for 16x16 and 24x24 fonts, i.e.
	whether leave out the same number of sections or encode all the empty 
	sections as well. 
   Y.Lu seems to favor encoding all the empty sections as well.  I have no
	objections to this.  If others agree, I'll change cclib.{jfjkn}24 so 
	that they do not leave the 6 empty sections and post them back.  The
	so modified cclib.j24 would replace present cclib.24 since a mis-
	represented character in almost all 24x24 Jianti fonts (I do not know
	if the present cclib.24 contains the same mistake) has been fixed in 
	present cclib.j24. 

I hope we can settle this soon so that I can post my cnprint V2.11 earlier.
 
Thank you very much and I'd like to hear from you. 

Yidao

---------------------------------------------------------

>From CAI@neurophys.wisc.edu Fri Jan 29 12:43:14 1993
Return-Path: <CAI@neurophys.wisc.edu>
Date: Fri, 29 Jan 93 12:36 CST
From: CAI@neurophys.wisc.edu
Subject: Re: cclib fonts
To: xiaofei@ifcss.org
X-Vms-To: IN%"xiaofei@ifcss.ORG"
Status: RO

I just tested cclib.24.  It contains the same information as cclib.j24 except
it also included 6 empty sections.  The structure, orietation are the same.




From xiaofei Sat Jan 30 12:15:23 1993
Return-Path: <xiaofei>
Received: by ifcss.org (4.1/IFCSS-Mailer)
	id AA22726; Sat, 30 Jan 93 12:10:12 CST
Date: Sat, 30 Jan 93 12:10:12 CST
From: xiaofei (XiaoFei Wang)
Message-Id: <9301301810.AA22726@ifcss.org>
To: soft-authors@ifcss.org
Subject: let's us begin the discussion
Status: RO

Hi, 

Thanks JD of ccic ( chinese community information center ) of IFCSS
   the mail alias ' soft-authors@ifcss.org ' is ready for use. I have
   added three participants from my last list: 

ccvictor@uxmail.ust.hk
pklai@uxmail.ust.hk
lai@apple.com 

   A updated list can be found from 
   ifcss.org:/software/fonts/d/soft.list 

   again it you do not want to participate the discussion, please
   email me and I will remove you from the list. 

Per yawei's suggestion, I have moved /software/tmp to 
   ifcss.org:/software/fonts/d. I think it is better to be in 
   an not so obvious place. The directory contains some c source
   codes, pre-discussion mail-log1 I mailed to you last time. 

Now let us begin our discussion, who wants to speak first?
Fung F. Lee ? 

The following is the mail message I received before 
' soft-authors@ifcss.org ' is ready.
--
>From mcpong@uxmail.ust.hk Sat Jan 30 01:51:07 1993
Return-Path: <mcpong@uxmail.ust.hk>
Date: Sat, 30 Jan 93 15:48:31 HKT
From: mcpong@uxmail.ust.hk (Dr. PONG Man Chi)
To: xiaofei@ifcss.org
Subject: Re:  bitmapped_fonts
Cc: ccvictor@uxmail.ust.hk, pklai@uxmail.ust.hk

> Hi, I would like to invite you for an informal and small scale discussion 
> on chinese bitmapped fonts.

Please add

ccvictor@uxmail.ust.hk
pklai@uxmail.ust.hk

Thanks.
-------
Some of those in your mailing list have discussed
the problem some time ago.  We more or less come
to something like the following as the "canonical format":

	some header information like those fonts in X window system
	region-range1 (Qu)	the valid-hanzi-codes in the Qu (i.e. Wei)
	region-range2 (Qu)	the valid-hanzi-codes in the Qu (i.e. Wei)
	...
	then raw-bit-maps arranged row-wise sequentially,
		(no gap for non-existing hanzi).
		(These bitmaps can be in a separate file,
		 and using something like "#include file"
		 to access it.)

This format can be defined formally.
We stop short of defining it completely, due to limited free time.
I suppose lee@umunhum.stanford.edu will reply something to you
because he first proposed the idea of 
	"region-range-i		valid-hanzi-codes".

Let's wait for his summary, hopefully.
(Now I can't find the discussion I saved previously. Sorry.)

Cheers!
mcpong

>From yawei@bronze.ucs.indiana.edu Sat Jan 30 10:58:30 1993
Return-Path: <yawei@bronze.ucs.indiana.edu>
Date: Sat, 30 Jan 1993 11:57:40 -0500
From: ~{QG9p~} <yawei@bronze.ucs.indiana.edu>
To: xiaofei@ifcss.org, yawei@bronze.ucs.indiana.edu
Subject: Re:  bitmapped_fonts


I just checked.  It seems you have covered all the
participants of the previous discussion.

The previous discussion resulted in some kind of
font spec, you can get it from FFL or Bo Yang or YGZ I think.

 Ya-Gui


>From ygz@cs.purdue.edu Sat Jan 30 10:59:41 1993
Return-Path: <ygz@cs.purdue.edu>
To: xiaofei@ifcss.org (XiaoFei Wang)
Subject: Re: bitmapped_fonts 
Cc: eric@coeus.ucsd.edu, lai@apple.com, lee@umunhum.stanford.edu,
        mcpong@uxmail.ust.hk, ryeung@hk.eng.sun.com, william@dubhe.anu.edu.au,
        yawei@bronze.ucs.indiana.edu
In-Reply-To: Your message of Sat, 30 Jan 1993 01:21:04 -0600.
             <9301300721.AA16058@ifcss.org> 
Date: Sat, 30 Jan 1993 11:58:24 -0500
From: ygz@cs.purdue.edu (Yongguang Zhang)


Hi,

In message <9301300721.AA16058@ifcss.org> XiaoFei Wang writes

> Hi, I would like to invite you for an informal and small scale discussion 
> on chinese bitmapped fonts. The people I have contacted is list below.
> If you are not interested in the discussion please email me so that I
> will remove you from the distribution list. If you are, I should have a mail 
> alias ready tomorrow so that you can use to communicate with other
> programmers. I hope some agreement can be reached. 

Yes, we support the effort for standardizing the bitmap fonts. 
We can clearly see the need for this from your message log.
Actually some of us had a month-long discussion about this issue
last October.  We even came up some consensus on a common format
for Chinese bitmap fonts.  I suggest we post the thread of our
discussion to xiaofei's list.  Does anyone have a complete archive
of all the email messages of our discussion?  My archive seems
incomplete.

And how is the status of our HBF now?

  -ygz

===
P.S.  The first & last message of the thread in my log:
      (How this thread was started)

Date: Thu, 8 Oct 92 17:15:36 -0700
From: lee@rinconada.Stanford.EDU (Fung Fung Lee)
Message-Id: <9210090015.AA02357@rinconada.Stanford.EDU>
To: ygz
Subject: Public Domain BIG5 Fonts Discovered
Cc: yawei@bronze.ucs.indiana.edu, lai@apple.com, eric@sdphu1.ucsd.edu,
        ryeung@hk.eng.sun.com


Dear Yongguang:

[ ... there are big5 fonts in some ftp site in .tw ... ]

These huge files remind me of Ricky Yeung's suggestion on a.c.t.
some time ago that there should be a common font file format
for our Chinese software.  The bdf format is fine, except that
it is usually more than 2 to 3 times the raw bitmap size, and needs
to be converted to something like pcf format for actual use.
It seems to me that cclib's format does not include information
about bitmap size and copyright, etc.  
For non X-window program, it appears to me that a good
common Chinese bitmap font file format can be a combination of
bdf's attribute statements / comments followed by consecutive blocks
of bitmap in the valid code ranges.
Better yet, a set of library routines defined to interact with the format,
so that future programmers do not have to worry about the details and
can be sure that there is a pool of compatible fonts.

I think this is a worthwhile effort. What do you think?
I would be happy to write a draft if not for the fact that I will be
very busy until the end of this year. sigh :-!

Fung

----------------------------------------------------------------------
Appendix.
[a list of big5 fonts deleted]

=============
Date: Wed, 11 Nov 92 17:33:14 -0800
From: eric@coeus.ucsd.edu (Bo Yang)
Message-Id: <9211120133.AA12079@coeus.ucsd.edu>
To: lee@rinconada.stanford.edu
Subject: Re: HBF (Hanzi Bitmap Format)
Cc: eric@coeus.ucsd.edu, lai@apple.com, lee@umunhum.stanford.edu,
        mcpong@uxmail.ust.hk, ryeung@hk.eng.sun.com, william@dubhe.anu.edu.au,
        yawei@bronze.ucs.indiana.edu, ygz

Just an idea: should we include a property line saying if data compression of
the rawbits is used? It seems to me that for large bitmaps Chinese fonts, even 
a simple(fast) compression algorithm can save a lot of space.

It will be up to the user to decide which algorithm to use and how to index
the compressed rawbits/plans. There might be a standard for it later. Just 
leave a possibility open for future use...


-- Bo Yang


From simpson@math.psu.edu Fri Feb 12 10:52:42 1993
Return-Path: <simpson@math.psu.edu>
Received: from leibniz.math.psu.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA28490; Fri, 12 Feb 93 10:40:58 CST
Received: from boole.math.psu.edu by leibniz.math.psu.edu with SMTP 
	(5.65+/psu-relay-1.1) id AA13481; Fri, 12 Feb 93 11:41:56 -0500
From: Stephen G Simpson <simpson@math.psu.edu>
Received: by boole.math.psu.edu (5.65+/psu-lanleaf-1.3)
	id AA22229; Fri, 12 Feb 93 11:39:55 -0500
Date: Fri, 12 Feb 93 11:39:55 -0500
Message-Id: <9302121639.AA22229@boole.math.psu.edu>
To: soft-authors@ifcss.org
Subject: ET 24x24 bitmap font format
Status: RO

I wrote:
> There is need for a set of public domain 24x24
> traditional character bitmaps.  But, until such bitmaps appear, the ET
> bitmaps are the closest approximation.  Therefore, one suggestion I
> have for the HBF group is that the ET bitmaps should be somehow
> incorporated into the proposed standard.

F. F. Lee replied:
> Could Mr. Stephen G. Simpson describe the ET bitmap font file format?

Yes, I can do that.  The 24x24 ET 2.03 bitmap files are as follows:

ASCFONT.24     12288   7-01-90
SPCFONT.24     29376   7-01-90
SPCFSUPP.24    26280   7-01-90
STDFONT.24    942768   7-01-90
STDFONT.24K   942768   7-01-90
STDFONT.24L   942768   7-01-90

These files (except ASCFONT.24) contain naked 24x24 bitmaps.  Each
bitmap consists of 72 bytes, i.e. 24*24 bits.  The bits within a
bitmap are in row major order, upper left to lower right.  STDFONT.24
contains Ming-style bitmaps, while STDFONT.24K and STDFONT.24L contain
Kai and Li style bitmaps respectively.  The bitmaps are further
described in a posting by Urs Widmer to CCNET some time ago:

From: Urs Widmer <A06G@DHBRRZ41.BITNET>
Date: Tue, 21 May 91 22:24:27 GMT

Answer to a email-question as to the coding structure of the
ET-fontfiles: Here the informations for the files with
version 2.0:
---------------------------------------------------------------------------
Fontname   bytes  lines  char  extent (QU / WEI)   Contents
            per    per   no    in BIG-5 coding
           line   charac       begin      end
---------------------------------------------------------------------------
ASCFONT.24   2     24    256                       IBM 8-bit-ASCII
---------------------------------------------------------------------------
SPCFONT.24   3     24    407   01/001   03/094     Standard BIG-5 (non
                                                   Chinese in BIG-5)
---------------------------------------------------------------------------
SPCFSUPP.24  3     24    365   38/064   40/114     ET-supplement to BIG-5
                                                   (Japanese Russian etc)
---------------------------------------------------------------------------
STDFONT.24   3     24   5401   04/001   38/063     frequent BIG-5 characters
                        7651   41/001   89/115     less frequent BIG-5 char.
                          42   89/116   89/157     ET-suppl. to BIG-5
                                                   (8 Hanzi, rest graphics)
          (Total:      13094)
---------------------------------------------------------------------------
Notice:           The BIG-5 code occupies the QUs from 1 to 89 (94 would
                  be possible acording to the coding structure.)
                  Each QU contains 157 Positions (WEIs) or each QU is
                  an array of 157 elements.
Important notice: In the STDFONT.24 the less frequent character follow
                  closely the frequent ones, though in the coding scheme
                  in BIG-5 there is a "hole". This "hole" is (partly)
                  filled by the SPCFSUPP.24-font, which contains useful
                  characters, which are not contained in standard BIG-5
                  as Japanese Hiragana and Katakana and some other stuff
                  which is contained in the Qu 1-10 of GB 2312.

From simpson@math.psu.edu Sat Feb 13 22:31:59 1993
Return-Path: <simpson@math.psu.edu>
Received: from leibniz.math.psu.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA28090; Sat, 13 Feb 93 22:24:59 CST
Received: from boole.math.psu.edu by leibniz.math.psu.edu with SMTP 
	(5.65+/psu-relay-1.1) id AA05157; Sat, 13 Feb 93 23:26:20 -0500
From: Stephen G Simpson <simpson@math.psu.edu>
Received: by boole.math.psu.edu (5.65+/psu-lanleaf-1.3)
	id AA24070; Sat, 13 Feb 93 23:24:09 -0500
Date: Sat, 13 Feb 93 23:24:09 -0500
Message-Id: <9302140424.AA24070@boole.math.psu.edu>
To: soft-authors@ifcss.org
Subject: ET bitmap font files and character codes
Status: RO

Here is a better description of the ET bitmap font files and character
codes.  I extracted this information by poking around in my own copy
of ET, Version 2.00.03.  I don't know whether this information is
correct for other versions of ET.

The ET bitmap font files are as follows:

ASCFONT.15      3840   7-01-90
ASCFONT.24     12288   7-01-90
SPCFONT.15     12240   7-01-90
SPCFONT.24     29376   7-01-90
SPCFSUPP.15    10950   7-01-90
SPCFSUPP.24    26280   7-01-90
STDFONT1.15    32490   7-01-90
STDFONTS.15   360330   7-01-90
STDFONT.24    942768   7-01-90
STDFONT.24K   942768
STDFONT.24L   942768

To this list it is convenient to add:

STDFONT.15    392820

There is no actual file called STDFONT.15, but it could be created by
concatenating STDFONT1.15 followed by STDFONTS.15, and its size would
then be 32490 + 360330 = 392820 bytes.  The description below will be
given in terms of STDFONT.15 rather than STDFONT1.15 and STDFONTS.15.

The *.15 files consist of 30 byte 16x15 bitmaps, except for
ASCFONT.15, which consists of 15 byte 8x15 bitmaps.  The *.24 files
consist of 72 byte 24x24 bitmaps, except for ASCFONT.24 which consists
of 48 byte 16x24 bitmaps.  The bits within a bitmap are always in row
major order, i.e. the first row followed by the second row followed by
..., and from left to right within each row.

STDFONT.24, STDFONT.24K and STDFONT.24L are identical except that they
contain Chinese character bitmaps in Ming, Kai, and Li styles
respectively.  The description below will be given in terms of
STDFONT.24 but it applies equally to STDFONT.24K and STDFONT.24L.

A 1-byte code consists of one byte.  The possible values of the byte
are 00 through FF, i.e. 256 possibilities.  Codes 00 through FF are
used for the 256 bitmaps in ASCFONT.15 (= 256 * 15 = 3840 bytes) and in
ASCFONT.24 (= 256 * 48 = 12288 bytes).  These 256 bitmaps consist of
the IBM PC "extended ASCII" character set.

A 2-byte code consists of two bytes.  The possible values of the first
byte are A1 through FE, i.e. 94 possibilities.  The possible values of
the second byte are 40 through 7E and A1 through FE, i.e. 63 + 94 =
157 possibilities.

Codes A140 through A3BF (2 * 157 + 94 = 408 codes) are used for the
408 bitmaps in SPCFONT.15 (= 408 * 30 = 12240 bytes) and in SPCFONT.24
(= 408 * 72 = 29376 bytes).  These 408 bitmaps include punctuation
marks, graphics characters, special symbols, Roman numerals, Arabic
numerals, the Roman and Greek alphabets, and the Bopomofo syllabary.

Codes A3C0 through A3FE (63 codes) are unused.

Codes A440 through C67E (34 * 157 + 63 = 5401 codes) are used for the
first 5401 bitmaps in STDFONT.15 (= 5401 * 30 = 162030 bytes) and in
STDFONT.24 (= 5401 * 72 = 388872 bytes).  See footnote below.  These
5401 bitmaps consist of the 5401 Big-5 "frequent use" Chinese
characters.

Codes C6A1 through C8D3 (94 + 157 + 114 = 365 codes) are used for the
365 bitmaps in SPCFSUPP.15 (= 365 * 30 = 10950 bytes) and in
SPCFSUPP.24 (= 365 * 72 = 26280 bytes).  These 365 bitmaps include
some additional numerals and special symbols, the Japanese Hiragana
and Katakana syllabaries, and the Russian alphabet.

Codes C8D4 through C8FE (43 codes) are unused.

Codes C940 through F97E (49 * 157 = 7693 codes) are used for the
remaining 7693 bitmaps in STDFONT.15 (= 7693 * 30 = 230790 bytes) and
in STDFONT.24 (= 7693 * 72 = 553896 bytes).  See footnote below.
These 7693 bitmaps consist of the 7652 Big-5 "less frequent use"
Chinese characters, followed by 7 additional Chinese characters and 41
additional graphics characters.

Codes FA40 through FEFE (785 codes) are unused.

Footnote:  The size of STDFONT.15 is (5401 + 7693) * 30 = 162030 +
230790 = 392820 bytes.  The size of STDFONT.24 is (5401 + 7693) * 72 =
388872 + 553896 = 942768 bytes.

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: simpson@math.psu.edu
Home phone: +1 814 238-2274        Bitnet: T20@PSUVM
FAX: +1 814 865-3735

February 13, 1993

From @UGA.CC.UGA.EDU:CCNET-L@UGA.BITNET Mon Feb 15 11:55:37 1993
Return-Path: <@UGA.CC.UGA.EDU:CCNET-L@UGA.BITNET>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AB29852; Mon, 15 Feb 93 11:55:03 CST
Message-Id: <9302151755.AB29852@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 5085; Mon, 15 Feb 93 11:51:30 EST
Received: from UGA.BITNET (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail
 V1.1c/1.7e) with BSMTP id 2320; Mon, 15 Feb 1993 11:27:21 -0500
Date:         Sun, 14 Feb 1993 19:15:33 -0600
Reply-To: Feng Qiu <qiu@TREE.EGR.UH.EDU>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: Feng Qiu <qiu@TREE.EGR.UH.EDU>
Subject:      Summary: BDF to PS font
Comments: To: CCNET-L@uga.cc.uga.edu
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: RO

Summary on conversion of BDF font to Postscript outline font

Last year I posted an article concerning converting Chinese BDF font
to
PostScript outline font.  I got some replies. Some say it's possible.
Some
argued it's not possible. So, here is a summary.

[Start of the Summary]

----------------------------------------------------------------------
-------------------------------------------------------------------
Date: Mon, 8 Jun 92 16:52:51 PDT
From: talvola@qin.berkeley.edu (Erik Talvola)

You probably want to look at GhostScript, part of the GNU project.

You can get it by FTP from prep.ai.mit.edu.  It will convert BDF
fonts into PostScript fonts (results can be ugly, but usuable).
I haven't tried it myself, but give it a try.  Latest version is
2.4.1 I think.  Try posting to gnu.ghostscript.bug if you have
more questions, or e-mail ghost@aladdin.com (the author).

-- Erik

----------------------------------------------------------------------
-------------------------------------------------------------------
Date: Tue, 9 Jun 92 13:55:13 EDT
From: ilh@goldilocks.lcs.mit.edu (Lee Hetherington)

No it really isn't possible to convert a (simple) bitmap into a fully
hinted, *outline*.  The bitmap simply doesn't contain enough
information.  I believe it is possible (but don't know how) to create
a
type-3 font from a bitmap which will be just that, a bitmap, but it
isn't really scalable like an outline font.

--Lee Hetherington

----------------------------------------------------------------------
-------------------------------------------------------------------
Date: Tue, 9 Jun 92 23:13:53 PDT
From: yangchen%iris.usc.edu@usc.edu (Yang Chen)

There is no free PostScript Chinese font to my knowledge.
Here is a message from the author of a commercial PS font
developer, who posted in s.c.c. to have uploaded sample
PS Chinese fonts. Try it out. There are very nice. Once you
see them, you will appreciate and see why it is not free.

Yang

----------------------------------------------------------------------
-------------------------------------------------------------------
Date: Wed, 10 Jun 92 10:48:07 EST
From: "KeJia. Gao                (914) 945-1566"
<gao@watson.ibm.com>
Reply-To: "KeJia. Gao            (914) 945-1566"
<gao@watson.vnet.ibm.com>

Maybe you have known the Chtex. But just in case, there is a chtex
program
which can produce a postscript file ---- invoke chtex -w [filename].
I don't
think this is what you want. However, it is a good place to start if
you
want to develop a conversion program. I would like to share the
knowledge of
the Chinese publishing software that you know.

Regards,

Kejia.


----------------------------------------------------------------------
-------------------------------------------------------------------
Date: Mon, 15 Jun 92 14:24:08 CDT
From: Tom Epperly <epperly@valeron.che.wisc.edu>

I have good news.  There is such a program.  I have better news -- it
is free(in the GNU sense of the word).  The GNU postscript preview
ghostscript comes with a program call bdftops.  This will convert an
X-window font into a file that can be used with Postscript hence with
a NeXT.  The only bad news is that you will have to do some compiling
and reading to understand how to use these tools.  All of the source
materials can be obtained via anonymous ftp from prep.ai.mit.edu.
cd to pub/gnu, and then look for the ghostscript distribution files.
You will need at least "ghostscript-2.4.tar.Z".  You will not need
ghostview.  You might need ghostscript-fonts-2.4.tar.Z, but I am not
sure.

Have fun, and happy hacking.  Good luck.

                                Tom Epperly
                                Chemical Engineering
                                University of Wisconsin - Madison

----------------------------------------------------------------------
-------------------------------------------------------------------
Date: Tue, 16 Jun 92 19:41:54 GMT-0800
From: kira!death@netcom.com (David John Burrowes)

Fontographer, on the Mac, allows the user to enter outline
descriptions of the letters of a font.  It uses these outlines to
generate bitmaps which one can use on the Mac Screen, and PostScript
font files which can be used on LaserPrinters.

In general, the only way to convert a bitmap to a an outline would be
to, basically, wrap an outline around the whole bitmap shape
precisely.  The only trouble with this is that you would end up with
an outline that represented the 'jaggies' of the bitmap no matter
what size one scaled it to.  One can make some refinements to this
approach, but the resulting image will, nevertheless, always be of
pretty poor quality.

Though, I'm puzzled about where you saw an PS font that indicated
that it had come from a bitmap?  you found a file which had headers,
then bitmaps, then PS procedures describing the outlines?   Were
there some kind of PostScript comment indicating that there were
bitmaps in there or something?

Anyway.  I hope this helps some.

----------------------------------------------------------------------
-------------------------------------------------------------------
Date: Mon, 22 Jun 92 09:07:15 -0400
From: walsh%ibis@cs.umass.edu (Norman Walsh)

I'm working on this problem myself.  If you get any advise, please
let
me know.  Likewise, I'll let you know if I get anywhere...

                                                          norm
----------------------------------------------------------------------
-------------------------------------------------------------------
Date: Mon, 22 Jun 92 09:39:41 PDT
From: waqar@vlsi.cs.caltech.edu (Waqar A. Malik)

        Send mail to ps-file-server@adobe.com they can help you with
the
afm files.

--
Waqar Malik
waqar@vlsi.cs.caltech.edu

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


[End of the summary]

If you want to try how to do it please post your results. Even if you
can get
Postscript bitmap font (not outline font) it's still very useful.

-- Feng
qiu@tree.egr.uh.edu

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Wed Mar  3 13:22:24 1993
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA05532; Wed, 3 Mar 93 13:22:14 CST
Message-Id: <9303031922.AA05532@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 5646; Wed, 03 Mar 93 14:17:08 EST
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU
 (LMail V1.1d/1.7f) with BSMTP id 7527; Wed, 3 Mar 1993 14:17:06 -0500
Date:         Wed, 3 Mar 1993 20:18:06 +0100
Reply-To: ingar.holst@ADMIN.UIO.NO
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: Ingar Holst <ingar.holst@ADMIN.UIO.NO>
Subject:      Re: About Mr YH Xu's article
Comments: To: 14744w19@CPS201.CPS.CMICH.EDU
Comments: cc: ccnet-l@uga.bitnet
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: RO

Have you checked out TwinBridge Chinese TrueType fonts for Windows 3.1? They're
marvellous. Get brochure from:

PC Express
Stephen Hu
2664 Stingle Avenue, Suite B
Rosemead CA 91770
U.S.A.

Tel.: (818) 307-0288
Fax.: (818) 307-1187

Prices:

"Professional" package, 2 fonts         USD 249
     "                  5 fonts         USD 399
     "                  8 fonts         USD 599

Create your own characters with "Font Editor" USD 99

5-font version available with either 1 jianti and 4 fanti or 1 fanti and 4
jianti.

The "Professional" package fonts are based on 256 X 256 bitmap which is
made into scalable, or so-called outline fonts. Looks very nice. Compatible
with all software running under Windows 3.1. This means you get Chinese
True Type fonts in Word 2.0 Excel, Winfax, et cetera.

The eight fonts available are:

Simplified:     Song    Fangsong        Kaishu  Heiti
Complex:        Song    Fangsong        Kaishu  Heiti

Regards,

Ingar Holst
Oslo, Norway

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Sun Mar 21 12:54:19 1993
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA28662; Sun, 21 Mar 93 12:54:15 CST
Message-Id: <9303211854.AA28662@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 5722; Sun, 21 Mar 93 13:49:52 EST
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 1528; Sun, 21 Mar 1993 13:49:50 -0500
Date:         Sun, 21 Mar 1993 13:51:43 -0500
Reply-To: Stephen G Simpson <simpson@MATH.PSU.EDU>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: Stephen G Simpson <simpson@MATH.PSU.EDU>
Subject:      information about the ETEN bitmap font files
Comments: To: ccnet-l@uga.cc.uga.edu
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: RO

ETEN BITMAPS AND CHARACTER CODES

Here is a detailed description of the ETEN bitmap font files and
character codes.  I hope this information will be useful for those who
want to use ETEN fonts in applications other than ETEN.  Please keep
in mind that ETEN and therefore its font files are copyrighted.

I extracted this information by poking around in my own copy of ETEN,
Version 2.00.03.  I don't know whether this information is correct for
other versions of ETEN.

The ETEN bitmap font files are as follows:

ASCFONT.15      3840   7-01-90
ASCFONT.24     12288   7-01-90
SPCFONT.15     12240   7-01-90
SPCFONT.24     29376   7-01-90
SPCFSUPP.15    10950   7-01-90
SPCFSUPP.24    26280   7-01-90
STDFONT1.15    32490   7-01-90
STDFONTS.15   360330   7-01-90
STDFONT.24    942768   7-01-90
STDFONT.24K   942768
STDFONT.24L   942768

To this list it is convenient to add:

STDFONT.15    392820

There is no actual file called STDFONT.15, but it could be created by
concatenating STDFONT1.15 followed by STDFONTS.15, and its size would
then be 32490 + 360330 = 392820 bytes.  The description below will be
given in terms of the nonexistent file STDFONT.15 rather than the
actual files STDFONT1.15 and STDFONTS.15.

The dimensions of a bitmap are given as WxH, where W = width and H =
height.  The bits within a bitmap are stored in row major order, i.e.
the first row followed by the second row followed by ..., from left to
right within each row, and from most significant bit to least
significant bit within each byte.  Each row is padded to full bytes,
so the size of a WxH bitmap is ((W+7)/8)*H bytes, where / denotes
integer division.

The *.15 files consist of 15x15 (= 30 byte) bitmaps, except
ASCFONT.15, which consists of 8x15 (= 15 byte) bitmaps.  The *.24
files consist of 24x24 (= 72 byte) bitmaps, except ASCFONT.24, which
consists of 12x24 (= 48 byte) bitmaps.

STDFONT.24, STDFONT.24K and STDFONT.24L are identical except for the
styles of their Chinese character bitmaps -- Ming, Kai, and Li styles
respectively.  The description below will be given in terms of
STDFONT.24, but it applies equally to STDFONT.24K and STDFONT.24L.

A 1-byte code consists of one byte.  The possible values of the byte
are 00 through FF, i.e. 256 possibilities.  Codes 00 through FF are
used to designate the 256 bitmaps in ASCFONT.15 (= 256 * 15 = 3840
bytes) and in ASCFONT.24 (= 256 * 48 = 12288 bytes).  These 256
bitmaps consist of the IBM PC "extended ASCII" character set.

A 2-byte code consists of two bytes.  The possible values of the first
byte are A1 through FE, i.e. 94 possibilities.  The possible values of
the second byte are 40 through 7E and A1 through FE, i.e. 63 + 94 =
157 possibilities.

Codes A140 through A3BF (2 * 157 + 94 = 408 codes) are used to
designate the 408 bitmaps in SPCFONT.15 (= 408 * 30 = 12240 bytes) and
in SPCFONT.24 (= 408 * 72 = 29376 bytes).  These 408 bitmaps include
punctuation marks, graphics characters, special symbols, Roman
numerals, Arabic numerals, the Roman alphabet, the Greek alphabet, and
the Bopomofo alphabet.

Codes A3C0 through A3FE (63 codes) are unused.

Codes A440 through C67E (34 * 157 + 63 = 5401 codes) are used to
designate the first 5401 bitmaps in STDFONT.15 (= 5401 * 30 = 162030
bytes) and in STDFONT.24 (= 5401 * 72 = 388872 bytes).  See footnote
below.  These 5401 bitmaps consist of the 5401 Big-5 "frequent use"
Chinese characters.

Codes C6A1 through C8D3 (94 + 157 + 114 = 365 codes) are used to
designate the 365 bitmaps in SPCFSUPP.15 (= 365 * 30 = 10950 bytes)
and in SPCFSUPP.24 (= 365 * 72 = 26280 bytes).  These 365 bitmaps
include some additional numerals and special symbols, the Japanese
Hiragana and Katakana syllabaries, and the Russian alphabet.

Codes C8D4 through C8FE (43 codes) are unused.

Codes C940 through F9FE (49 * 157 = 7693 codes) are used to designate
the remaining 7693 bitmaps in STDFONT.15 (= 7693 * 30 = 230790 bytes)
and in STDFONT.24 (= 7693 * 72 = 553896 bytes).  See footnote below.
These 7693 bitmaps consist of the 7652 Big-5 "less frequent use"
Chinese characters, followed by 7 additional Chinese characters and 41
additional graphics characters.

Codes FA40 through FEFE (5 * 157 = 785 codes) are unused.

Footnote:  The size of STDFONT.15 is (5401 + 7693) * 30 = 162030 +
230790 = 392820 bytes.  The size of STDFONT.24 is (5401 + 7693) * 72 =
388872 + 553896 = 942768 bytes.

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: simpson@math.psu.edu
Home phone: +1 814 238-2274        Bitnet: T20@PSUVM
FAX: +1 814 865-3735

From simpson@math.psu.edu Thu Apr 15 13:46:08 1993
Return-Path: <simpson@math.psu.edu>
Received: from leibniz.math.psu.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA22019; Thu, 15 Apr 93 13:40:19 CDT
Received: from boole.math.psu.edu by leibniz.math.psu.edu with SMTP 
	(5.65+/psu-relay-1.1) id AA23191; Thu, 15 Apr 93 14:38:13 -0400
From: Stephen G Simpson <simpson@math.psu.edu>
Received: by boole.math.psu.edu (5.65+/psu-lanleaf-1.3)
	id AA28528; Thu, 15 Apr 93 14:38:10 -0400
Date: Thu, 15 Apr 93 14:38:10 -0400
Message-Id: <9304151838.AA28528@boole.math.psu.edu>
To: ccnet-l@uga.cc.uga.edu
Cc: ridgeway@blackbox.hacc.washington.edu, ucc02aa@sunmail.lrz-muenchen.de,
        ajcd@dcs.ed.ac.uk, soft-authors@ifcss.org
Subject: converting Chinese character bitmap fonts into TeX fonts
Status: R

Hi everybody,

For some time, I have been thinking about the problem of how to
convert Chinese character bitmap fonts into TeX fonts (TFM and PK
files).  One way to do this was developed a long time ago by Thomas
Ridgeway, as part of his Poor Man's Chinese TeX package.  However,
Ridgeway's method has some disadvantages.  First, it uses Metafont.
Second, it takes about 30 hours of time on a Sparcstation, just to
produce just one Chinese TeX font.

Recently, I found out that Angus Duggan has written a program called
pbmtopk, whose purpose is to convert arbitrary bitmaps into TeX fonts.
Duggan's program was designed to work well with Jeff Poskanzer's
portable bitmap manipulation package, pbmplus.  It seems to me that
Duggan's program is well suited to handle Chinese bitmap fonts.  In
fact, Duggan himself used it for just this purpose, in his guobiao
package, which does not seem to have received much attention.  For
those who are interested, Duggan's ftp site is ftp.dcs.ed.ac.uk,
pub/ajcd.

Yesterday, I wrote a program called et2pk, which uses Duggan's program
to quickly and efficiently convert ET 24x24 bitmap fonts into TeX
fonts.  I recommend this program for personal use only, because the
legal aspects of distributing fonts based on the ET fonts are unclear.
(For those who don't know, ET is a commercially available Chinese
system for MS-DOS.)

One interesting feature of et2pk is that I am basing it on HBF, the
"emerging standard" for Chinese character bitmaps.  I should really
write a general hbf2pk conversion program, but so far I have been too
lazy to do this.

In case anyone here is interested in looking at et2pk, I am making it
available for ftp at math.psu.edu, pub/simpson/chinese.  I am thinking
that something like et2pk can and perhaps will replace the font
conversion part of the Poor Man package.  Comments?

Enjoy!

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: simpson@math.psu.edu
Home phone: +1 814 238-2274        Bitnet: T20@PSUVM
FAX: +1 814 865-3735


From @AWIUNI11.EDVZ.UNIVIE.AC.AT:A7621GAC@AWIUNI11.EDVZ.UNIVIE.AC.AT Thu May 13 11:21:15 1993
Return-Path: <@AWIUNI11.EDVZ.UNIVIE.AC.AT:A7621GAC@AWIUNI11.EDVZ.UNIVIE.AC.AT>
Received: from AWIUNI11.EDVZ.UniVie.AC.AT (helios.edvz.univie.ac.at) by ifcss.org (4.1/IFCSS-Mailer)
	id AA29402; Thu, 13 May 93 11:17:13 CDT
Message-Id: <9305131617.AA29402@ifcss.org>
Received: from AWIUNI11.EDVZ.UNIVIE.AC.AT by AWIUNI11.EDVZ.UniVie.AC.AT
   (IBM VM SMTP V2R2) with BSMTP id 9527; Thu, 13 May 93 18:15:57 MEZ
Received: from AWIUNI11.EDVZ.UNIVIE.AC.AT (NJE origin A7621GAC@AWIUNI11) by
 AWIUNI11.EDVZ.UNIVIE.AC.AT (LMail V1.1d/1.7f) with BSMTP id 1688; Thu,
 13 May 1993 18:15:55 +0100
Date:         Thu, 13 May 93 18:08:26 MEZ
From: Werner Lemberg <A7621GAC@AWIUNI11.EDVZ.UniVie.AC.AT>
Subject:      bmf2gf (Bitmap Font to .gf)
To: soft-authors@ifcss.org
Status: R

YES, IT IS|

This was the fastest reply ever. I downloaded 15 minutes ago|

My small package is very limited. If I have time, I will make it better.
Any comments are welcome.

In a few days I will send to ifcss.org a small program called spr2bmf
(Spring fonts to Bitmap fonts). I don't know if the Spring Chinese Text
System is known outside Europe, but the fonts are almost complete starting
16x16 going up to 64x64 (GB coded, short and traditional) in 8 pixels
intervals. Of course, do the conversion just for private use :-)

Werner Lemberg

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Sun May 16 08:52:23 1993
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA19686; Sun, 16 May 93 08:52:21 CDT
Message-Id: <9305161352.AA19686@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 6669; Sun, 16 May 93 09:51:25 EDT
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 7700; Sun, 16 May 1993 09:51:23 -0400
Date:         Sun, 16 May 1993 14:22:31 BST
Reply-To: "L.S.Ng" <L.S.Ng1@SOUTHAMPTON.AC.UK>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: "L.S.Ng" <L.S.Ng1@SOUTHAMPTON.AC.UK>
Subject:      Displaying Chinese Characters: QBASIC Sourcecode
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: R

'DAZI.BAS
'Display a string of Chinese characters, vertically or horizontally
'by Liangsheng Wu, Southampton UK
'last modified 16 May 93
'
'before running check "cclib.16"

DECLARE SUB daz (x, y, a$) ' print vertically, da3zhi2, at coordinate x,y
DECLARE SUB dah (x, y, a$) ' print horizontally, da3heng2

OPTION BASE 0
DIM SHARED p%(0 TO 641) 'display buffer
'p% = a buffer to store the bitmap of a string of characters to be displayed
'each char is 16x16 bitmap => 16 bits per scan line, 16 scan lines(rows)
'so requires 2 bytes per scan line = 32 bytes or 16 integer for each char
'p% has the type of integer, so each element can hold 16bits of bitmap
'   i.e. each element in p% can hold one row of one char
'use PUT to display the buffer
'the first two elements in the array define the horizontal and vertical
'    size of the picture to be displayed.
'first = no of bits per scan line, since 1 bit = 1 pixel, hence 16 bits.
         i.e. width of the picture
'second = no of scan lines i.e. height of the picture
'The rest of the array are the bitmap info of each character
'We use VGA 640x480. max character = 640/16 = 40 per line
'so size of p% = 2 + 40 x 16 = 642, takes 0,1,2,...,641
'
'Let's call the third element in the display buffer p
'the first data element (the first two reserved
'for width and height definitions)
'
'Vertical case:
'the 1st data element (1de) = the first row of pixel of the first char
'                      2de  = the 2nd row of pixel of the 1st char
'                     16de  = 16th row of 1st char
'                     17de  = 1st row of 2nd char
'         {[(n-1)x16]+1}de  = 1st row of (n)th char
'         {[(n-1)x16]+k}de  = (k)th row of (n)th char
'......
'Horizotal case:
' 1de = 1st row of pixel of 1st char
' 2de = 1st row of pixel of 2nd char
' 3de = 1st row of pixel of 3rd char
' suppose it's a string of n char
' (n)de = 1st row of (n)th char
' (n+1)de = 2nd row of 1st char
' (n+2)de = 2nd row of 2nd char
' (2n+1)de = 3rd row of 1st char
' (2n+2)de = 3rd row of 2nd char
' [(k-1)n+1]de = (k)th row of 1st char
' [(k-1)n+m]de = (k)th row of (m)th char
'...

DIM SHARED kq

SCREEN 11: CLS

OPEN "c:\njstar\cclib.16" FOR BINARY AS #1
cc = LOF(1) / 32 - 6768: kq = 1410 - cc
'cc is the starting point in the cclib.16 of the Chinese Characters.
'in front of them are all symbols

dah 100, 100, "^{C@@v5D9CDo^}"
'this program uses HZ encoding

daz 100, 120, "^{DcTZ:N7=^}"

CLOSE
END

'bugs: this program would not display symbols.

'CCLIB.16
'CCLIB.16 is the 16x16 bitmap library of all Chinese Characters and Symbols.
'Every char/symbol occupy 32 bytes. The size is therefore the total number
'of Chinese Char (6768) plus the number of symbols (varies for different
'version of CCLIB.16). Typically 237632 or 2466656.
'use archie to search for CCLIB.16.
'ftp from ifcss.org or cnd.org/software/font
'for Fantizi, CCLIBF.16
'
'Please feel free to modify/distribute this program in the spirit
'of promoting the understanding of Chinese Computing
'and perhaps educating/training more capable young Chinese programmmers.
'
'('A Chinese Programmer' does not mean that he/she is an ethnic Chinese,
' rather he/she is doing computer programming related to Chinese Language)
'To phrase in Chinese, Chinese Programmer = ZhongWen Bian3 Cheng2 Shi1
,                      NOT Zhongguoren/Huaren Bianchengshi

SUB dah (x, y, a$)
l = LEN(a$)
FOR j = 1 TO l STEP 2
hb = ASC(MID$(a$, j, 1))
lb = ASC(MID$(a$, j + 1, 1))
n = ((hb - &H21) * 94 + (lb - &H21) - kq) * 32! + 1
FOR i = n TO n + 31 STEP 2
GET #1, i, a%
s = i - n
p%(s * l \ 4 + j \ 2 + 1) = a%
NEXT
NEXT
p%(0) = &H8 * l: p%(1) = &H10
PUT (x, y), p%
END SUB

SUB daz (x, y, a$)
l = LEN(a$)
FOR j = 1 TO l STEP 2
hb = ASC(MID$(a$, j, 1))
lb = ASC(MID$(a$, j + 1, 1))
n = ((hb - &H21) * 94 + (lb - &H21) - kq) * 32! + 1
FOR i = n TO n + 31 STEP 2
GET #1, i, a%
s = (i - n) \ 2 + 2
p%(s + (j \ 2) * 16) = a%
NEXT
NEXT
p%(0) = &H10: p%(1) = &H8 * l
PUT (x, y), p%'PUT can be accelerate for vertical matrix
END SUB

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Wed May 26 13:52:11 1993
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA01305; Wed, 26 May 93 13:52:07 CDT
Message-Id: <9305261852.AA01305@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 5920; Wed, 26 May 93 11:17:08 EDT
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 8297; Wed, 26 May 1993 11:17:06 -0400
Date:         Wed, 26 May 1993 11:13:27 -0400
Reply-To: Stephen G Simpson <simpson@MATH.PSU.EDU>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: Stephen G Simpson <simpson@MATH.PSU.EDU>
Subject:      chinese fonts
Comments: To: cwnn@omcp.omron.co.jp
Comments: cc: ccnet-l@uga.cc.uga.edu
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
In-Reply-To:  <9305260622.AA19016@leibniz.math.psu.edu>
Status: R

Ang writes:
 > I understand that Big5 is commonly used in Taiwan.
 > But how about CNS? Is this the standard used in Taiwan or is Big5
 > the standard?
 > Is there any software etc using CNS as the internal code instead of Big5?

I think Big5 and CNS are the same thing.

 > Besides, can someone please tell me where I can purchase Chinese fonts
 > (both outline fonts and bitmap fonts) for both simplified and traditional
 > Chinese characters?

Big5-coded traditional character 24 x 24 bitmaps in 3 different styles
(Ming, Kai, Li) are included with ET.  ET costs less than $100.  One
place to buy ET in the United States is Eagon Systems, 10 Hearthstone
Circle, Wayland, MA 01778 (phone: 508-651-9218; fax: 508-655-8908).

GB-coded simplified character 24 x 24 bitmaps in several styles are in
the public domain.  They are called CCLIB fonts.  You can ftp them
from ifcss.org, software/fonts.

Outline fonts -- I don't know for sure.  Someone here mentioned that
Twinbridge has outline fonts.  Here are some excerpts from the file
/chinese/ccnet/archive/chfonts, available for anonymous ftp at
ifcss.org.

------------

   Author: Don Hosek (dhosek@ymir, dhosek@jarthur.claremont.edu)
   Title: Design of Oriental Characters with METAFONT
   Journal: TUGboat, Volume 10 (1989), No. 4
   Pages: 499-503

This article is a short report on the author's ongoing project of
designing Metafonts for Chinese characters.  I am hoping that this
project will result in a free or inexpensive outline font.  (For those
who don't know, Metafont is normally the outline font system that is
used with the TeX typesetting system.)


------
Several companies have made PostScript fonts: Apple, Adobe and
BrushWriter (Singerpore).  Yang YongXin, the author of XLBR and
Byx have been working on his "intellegent fonts" -- access the
characters by radicals.

-------

    Top Computech, a Canadian company located in Vancouver, have
developed 32 kinds of Postscript Chinese fonts for use under Windows.
The company claims that most English software for windows can handle
those Chinese fonts without any alteration. They are fully scalable
and can be used by Adobe Type Manager, according to their ad.. They
are given the name TopFonts.

    Though I have not got a chance to have my hands on the package,
I am really impressed by the sample printouts of those fonts. They
are claimed to be the first One-Byte dynamic Chinese fonts library
in the world, which also support Eten, GuoQiao, CangJi, WuBi, PinYin
XinTianMa, DaXueShi, and XiaLiBaRen input methods.

    Their address: Suite 208, 10 E. Pender St.
                   Vancouver, B.C. Canada V6A 1T1
                   Tel: (604) 682-5485 FAx: (604) 682-4078


----------


> Several of us are interested in a good Chinese Postscript font for
> the Mac but we have had a real hard time finding out more information.
> Does it exist??

AsiaGraphics (at <D4167@applelink.apple.com>) produces both complex
and simplified PostScript Chinese fonts.  However, these can only be
used on PostScript printers which support 2-byte characters.  (Most,
if not all, PostScript interpreters available in North America support
only 1-byte characters.)

Some PostScript devices which support 2-byte characters are:  Apple
LaserWriter II model NTX-J (Japan) and NTX-A (Asia), and some models
of the Linotype and Varityper typesetters.

I was recently told by AsiaGrphics that because 2-byte PostScript
printers aren't yet available in Canada, they have no plan to
release these fonts here yet.

---------

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Tue Jun 22 15:20:40 1993
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA16248; Tue, 22 Jun 93 15:20:25 CDT
Message-Id: <9306222020.AA16248@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 2830; Tue, 22 Jun 93 16:18:41 EDT
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 7778; Tue, 22 Jun 1993 16:18:40 -0400
Date:         Tue, 22 Jun 1993 15:44:43 EDT
Reply-To: Martin Heijdra <MHEIJDRA%PUCC.BITNET@uga.cc.uga.edu>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: Martin Heijdra <MHEIJDRA%PUCC.BITNET@uga.cc.uga.edu>
Subject:      Outline Fonts
Comments: To: ccnet-l@uga.bitnet
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: R

I'm sometimes amazed at the energy spent on this listserve to problems
which have been solved long ago, or for information on topics which can
easily be found in the normal press. A case in point is fonts. I would
urge people to read the article on Chinese Fonts in PCWorld-Taiwan,
February 1993. It deals with what is available in Taiwan, but has a good
overview about some not-too-technical issues.

As for fonts, for some the following info might be useful; if there are
typography experts on the listerv, please amend this! This info is part
of a larger info I plan to write on East Asian computer fonts, gathered
from Chinese, Japanese and some Korean magazines.

Next to bitmap fonts there are more types of scalable fonts in Chinese
than for Roman: do NOT confuse words like vector (xiangliang) fonts, outline
fonts or Postscript fonts in the Chinese case! There ARE (very expensive)
high-quality Type-1 (hinted) Postscript fonts for Chinese, mainly for
printer bureaus, and for Macintosh; printing needs special printers. TrueType
fonts are coming. For a Big-5 font, one font might take some 10 MB.
Real Postscript fonts are software and freely usable: i.e. the program, not
a font card can make changes to the characters.

The actual technology of
combining smaller font files (as e.g. a user could create with FontoGrapher
etc.) into one large (say Big-5 or GB) font file is still not open to users:
there are vendor tools available, but we're talking about >$40000 programs here
. For TrueType, in Japan cheaper font tools are becoming available, yet none
too cheap yet. (The same applies to combined bitmap fonts: the cheapest
combination utility (called RollUp tools) are still >$5000.)

However, most Chinese fonts are proprietory in many other senses: they do
not use the usual TrueType or Bezier-Postscript methods completely, or
not at all. In addition to a kind of plotter-fonts, there are fonts in which
a character is composed of adding strokes or pictures to each other: a charac-
ter is then not one outline, but a set of outlines (or even strokes of even
thickness.) This saves much space, and one font can be brought back to
1-2MB, even less in the case of so-called "artificial intelligence fonts",
the latest invention. Quality is less than ideal however.

The actual technology is all proprietory, and a program needs to be specially
written to interface with such a font; changes to character depends on what
the font card etc. can do, NOT what the program can do. A PageMaker using
PostScript fonts would get the outlines, and make changes, say rotation,
to the outline. A program using say DynaFont (Huagang) sends a request for
rotation to the card or font, which takes the outline, makes the change
invisibly to the program, and sends a BITMAP to the program: changes not
supported by the card will result at best in jagged bitmap characters, not
outlines.

Most programs can therefore only use ONE type of fonts, although since DynaFont
is so common, there are Dynafont emulators for eg. Luding fonts. It remains
emulation however, unless the program is rewritten.

Developing fonts of the level required by high-end printers is not a trivial
matter at all, and takes a long time. Japan and to a lesser extent Korea
are just now beginning to support such a market. China has suffered from too
many systems, too many codes, too many font technologies and too much of
a PC (and therefore non-PostScript) environment. When one looks at many
of the fonts available, as e.g. the Yanze proprietory fonts of XinRenLei,
they are simply too ugly to use in high-end publishing. It is NOT something
an individual is advised to do in his free time!

Martin heijdra, Gest Oriental Library, Princeton Univ.

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Wed Jun 23 15:14:29 1993
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA05476; Wed, 23 Jun 93 15:14:16 CDT
Message-Id: <9306232014.AA05476@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 5942; Wed, 23 Jun 93 16:13:21 EDT
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 9568; Wed, 23 Jun 1993 16:13:18 -0400
Date:         Wed, 23 Jun 1993 16:10:52 -0400
Reply-To: zhang@VALVE.IME.NRC.CA
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: zhang@VALVE.IME.NRC.CA
Subject:      Re: PostScript Chinese Fonts and Vector Fonts
Comments: cc: zeng@MATHEMATIK.UNI-BIELEFELD.DE
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: R

Subject: Re: PostScript Chinese Fonts and Vector Fonts

I posted a piece of  message to inquire about polygonal CC fonts
to CCNET a couple of months ago. Xiaofei mentioned there had been
a vector fonts in ftp site ifcss. In general speaking, a polygonal
font probably is a vector font, but a vector font unlikely is a
polygonal font. It does quite confuse vector fonts with polygonal
fonts.

It is easy to describe/draw a Chinese Character as several filled
polygons in PostScript Language (using "newpath",xi yi "lineto",
"closepath","eofill"). There is an advantage for Chinese. It is
known that Chinese Characters have similar strokes (Bi Hua). So we
could create a data set for basic elements, such as strokes and
sides (Bian Pang), in fonts file, in this way, the size of fonts
file could be reduced significantly.

Polygonal fonts would easyly be scaled, rotated and have no
difficulty to extend to 3 dimention space (also colouring and
lighting) with smooth outlines. Polygonal fonts are transparent,
(hollow fonts), you can see anything behide a character throught
the holes on the character, in contrast a character in bitmap font
would shade/block everything (you can see nothing behide the
character). For example, in 2-D case, you intend to write a
red character on blue paper, using bitmap fonts, you could get
a white rectangle on blue paper and a red character written on
the white rectangle.

There is need no font-24 font-48..., one font for any size would
be good enough. Any graphic lib.possessing "draw polygon" statement
could be used for writing Chinese Characters in user application
programs, no matter in C or Fortran or Basic. Well, we seem go
out of W P. You could draw a city picture with Chinese signs,
you could put CC on any image, any graphics, or on your S. T.
papers withour "white rectangle". Sounds good ?

Creating polygonal fonts is a time consuming job. It is a good idea
that "there are several hundreds persons are willing to take a few
(not more than ten for each person) to do this work " as Lao Zeng,
Uni Bielefeld, Germany at zeng@MATHEMATIK.UNI-BIELEFELD.DE said.
Using digitizer manualy or a numerical method to convert existing
fonts to polygonal fonts could be a short way.

If we have to start from scratch, then there are  a number of
things has to be disscused. I wish some people already on the way.

Ji Zhang


---------------------------------------------------------------------
~{UE<*~}Ji Zhang<zhang@valve.ime.nrc.ca> M-32 IECE NRC  613-990-2501
---------------------------------------------------------------------

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Wed Jun 23 16:22:34 1993
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA06279; Wed, 23 Jun 93 16:22:30 CDT
Message-Id: <9306232122.AA06279@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 7781; Wed, 23 Jun 93 17:18:40 EDT
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 4851; Wed, 23 Jun 1993 17:05:11 -0400
Date:         Wed, 23 Jun 1993 14:03:36 -0700
Reply-To: Ed Lai <lai@APPLE.COM>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: Ed Lai <lai@APPLE.COM>
Subject:      Re: PostScript Chinese Fonts and Vector Fonts
Comments: To: CCNET-L@uga.cc.uga.edu
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: R

Actually there are some interesting information in a vector font, with it
you can know the stroke count, stroke order and do an animation on how to
write the character in the correct order. Unfortunately the vector font
available on internet is not designed that way. For example it would
contains lines (end points are denoted by digit) like this

1---------2-------------3

or continus line like

1------3-------2
       |
       |
       |
       |
       4

It would be interesting problem to apply various heuristic like

1---------2-------------3   =>  1-----------------------2

And then finally see if we can have a hueristic to determine the correct
stroke order. I did some about 6 months ago but after accidently losing
half my work I decide to postpone working on it indefintely. But it would
be a very interesting problem to work on.

/* Disclaimer: All statments and opinions expressed are my own */
/* Edmund K. Lai                                               */
/* Apple Computer, MS37-AS                                     */
/* 20525 Mariani Ave,                                          */
/* Cupertino, CA 95014                                         */
/* (408)974-6272                                               */
zW@h9cOi

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Thu Jun 24 03:13:20 1993
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA12776; Thu, 24 Jun 93 03:13:17 CDT
Message-Id: <9306240813.AA12776@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 9411; Thu, 24 Jun 93 04:12:01 EDT
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 4140; Thu, 24 Jun 1993 04:12:00 -0400
Date:         Thu, 24 Jun 1993 04:11:56 -0400
Reply-To: "HU Bo, IFT Munich, +49 89 54759129" <hubo@IFT.FHG.D400.DE>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: "HU Bo, IFT Munich, +49 89 54759129" <hubo@IFT.FHG.D400.DE>
Organization: FHG
Subject:      Re: PostScript Chinese Fonts and Vector Fonts
Comments: To: zhang@VALVE.IME.NRC.CA
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
In-Reply-To:  <DFNGATE:N42iYLB4*@MHS>
Status: R

zhang@VALVE.IME.NRC.CA.BITNE said:

> It is easy to describe/draw a Chinese Character as several filled
> polygons in PostScript Language (using "newpath",xi yi "lineto",
> "closepath","eofill"). There is an advantage for Chinese. It is
> known that Chinese Characters have similar strokes (Bi Hua). So we
> could create a data set for basic elements, such as strokes and
> sides (Bian Pang), in fonts file, in this way, the size of fonts
> file could be reduced significantly.

However, the quality of such a polygon font is verly low, even if
you use as many as 20 points for a single "pie". To produce a font
of a qulaity of 64x64 bitmap, and to reduce the disk
usage to less then 1 MB for a font, Bezir curve must be used. I
made some experiments to convert the elib.65 (polygon, vector,
non-outlined) on ifccs.org to Bezir-based vector font automatically.
It works.

> ...
> red character on blue paper, using bitmap fonts, you could get
> a white rectangle on blue paper and a red character written on
> the white rectangle.

That has not to be so. I use my PS-printer driver for years. I can
print out Chinese bipmap character on whatever backgroud, without
such rectangle. It is also possible, for example, to print light grey
characters on dark grey background (used for titles). Such an example
is ftp-able from
      ftp.lrz-muenchen.de [129.187.10.35], in
      /pub/culture/east-asia/forum/C/VCSWD, file name:
      ZhenZan-93-3-4.ps

> Creating polygonal fonts is a time consuming job. It is a good idea
> that "there are several hundreds persons are willing to take a few
> (not more than ten for each person) to do this work " as Lao Zeng,
> ...

As mentioned above, there IS already such a polygon font, public
available on ifccs.org.

Take care~~~

Bo.

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Thu Jun 24 10:52:58 1993
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA16526; Thu, 24 Jun 93 10:52:40 CDT
Message-Id: <9306241552.AA16526@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 0353; Thu, 24 Jun 93 11:49:37 EDT
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 3508; Thu, 24 Jun 1993 11:49:35 -0400
Date:         Thu, 24 Jun 1993 11:48:24 -0400
Reply-To: zhang@VALVE.IME.NRC.CA
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: zhang@VALVE.IME.NRC.CA
Subject:      Re: PostScript Chinese Fonts and Vector Fonts
Comments: To: hubo@IFT.FHG.D400.DE
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: R

Subject: Re:PostScript Chinese Fonts and Vector Fonts
Bo,

Did you mean Bezier Cubic Curve ? I do not think "Bezir curve
must be used". Fiting a Chinese Character by means of a simple
formula would get poor quality. We have to find a new way to
describe C.C. with concave-convex Strokes and sharp edges.

The Bezier Cubic Curve segment I mentioned is:
Bezier(0)=P1, Bezier(1)=P4, Bezier(0)'=3(p2-p1),
Bezier(1)'=3(p4-p3),
                          | -1  3  -3  1 | | p1 |
                          |  3 -6   3  0 | | P2 |
Bezier(t)=[t**3,t**2,t,1] | -3  3   0  0 | | P3 |
                          |  1  0   0  0 | | P4 |

It can not fit the sharp edges of Chinese Characters accurately,
and would be worse than straight-line in some cases.

The conclusion "the quality of such a polygon font is verly low
, even if you use as many as 20 points for a single "pie"." you
made was based on " Bezir curve".

Could somebody please release the structure/format of the polygon
font file at ifccs.org, so others on CCNET-L would have a chance
to use it directly.

Ji Zhang
---------------------------------------------------------------------
~{UE<*~}Ji Zhang<zhang@valve.ime.nrc.ca> M-32 IECE NRC  613-990-2501
---------------------------------------------------------------------

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Fri Jun 25 03:19:14 1993
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA27353; Fri, 25 Jun 93 03:19:09 CDT
Message-Id: <9306250819.AA27353@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 4749; Fri, 25 Jun 93 04:17:46 EDT
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 5117; Fri, 25 Jun 1993 04:16:18 -0400
Date:         Fri, 25 Jun 1993 04:16:13 -0400
Reply-To: "HU Bo, IFT Munich, +49 89 54759129" <hubo@IFT.FHG.D400.DE>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: "HU Bo, IFT Munich, +49 89 54759129" <hubo@IFT.FHG.D400.DE>
Organization: FHG
Subject:      Re: PostScript Chinese Fonts and Vector Fonts
Comments: To: zhang@VALVE.IME.NRC.CA
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
In-Reply-To:  <DFNGATE:N46AFor6*@MHS>
Status: R

I am not very sure about the methematic formula, but what I
mean is the one used in PostScript standard (for "curveto")
and many, when not all, graphic software packages
(CorelDraw!, Micrografx Designer, or even Paintbrush). At
a sharp edge you surely need an end point of a curve. You
may have a look at the numerous western fonts which are
composed using "curveto" and contain many sharp edges as
well.

To make a perfect Sonti-styled "pie" using Bezier curve,
your need four such curves, 12 control points.

However, it should be mentioned, up to now, many people
have tried intensively to build up an intelligent algorithm composing
characters using stroke elements and failed to
produce useable fonts.

The most promising approch seems to be the following:
1) Take the polygon vector font from ifccs.org, and
convert it to a Bezier vector (not outlined) font;
2) Find somewhere else a 64x64 Heiti font and try to
fit the Bezier vector font to the 64x64 one automatically;
3) Some hand editing must be done finally.

An alternative to 2) is, since we have to have an editor
for Bezier vector fonts anyhow (for 3), that many people
edit the characters manually and jointly.

The format of elib.65 was postered kindly on this net by
Ross Paterson <rap@DOC.IMPERIAL.ac.uk>. I will forward
his mail to your private e-mail address.


Bo
-----------------------------------------------------
zhang@VALVE.IME.NRC.CA.BITNET wrote:
Did you mean Bezier Cubic Curve ? I do not think "Bezir curve
must be used". Fiting a Chinese Character by means of a simple
formula would get poor quality. We have to find a new way to
describe C.C. with concave-convex Strokes and sharp edges.

The Bezier Cubic Curve segment I mentioned is:
Bezier(0)=P1, Bezier(1)=P4, Bezier(0)'=3(p2-p1),
Bezier(1)'=3(p4-p3),
                          | -1  3  -3  1 | | p1 |
                          |  3 -6   3  0 | | P2 |
Bezier(t)=[t**3,t**2,t,1] | -3  3   0  0 | | P3 |
                          |  1  0   0  0 | | P4 |

It can not fit the sharp edges of Chinese Characters accurately,
and would be worse than straight-line in some cases.

The conclusion "the quality of such a polygon font is verly low
, even if you use as many as 20 points for a single "pie"." you
made was based on " Bezir curve".

Could somebody please release the structure/format of the polygon
font file at ifccs.org, so others on CCNET-L would have a chance
to use it directly.

Ji Zhang
---------------------------------------------------------------------
~{UE<*~}Ji Zhang<zhang@valve.ime.nrc.ca> M-32 IECE NRC  613-990-2501
---------------------------------------------------------------------

From BOONKANG@BCSC02.GOV.BC.CA Thu Jul 22 11:30:34 1993
Return-Path: <BOONKANG@BCSC02.GOV.BC.CA>
Received: from BCSC02.GOV.BC.CA by ifcss.org (4.1/IFCSS-Mailer)
	id AA20366; Thu, 22 Jul 93 11:30:32 CDT
Message-Id: <9307221630.AA20366@ifcss.org>
Received: from BCSC02.GOV.BC.CA by BCSC02.GOV.BC.CA (IBM VM SMTP V2R2)
   with BSMTP id 2847; Thu, 22 Jul 93 09:29:23 PDT
Date: Thu, 22 Jul 93 09:29:23 PDT
From: BOONKANG@BCSC02.GOV.BC.CA
To: jiang@ifcss.org
Subject: Re:  GB vs. BIG5
Status: R

To: JIANG1  --INTERNET jiang@ifcss.org

*** Reply to note of 07/22/93 07:59
IMS Support,
Transaction Services
 GuoQiao also supports  xing2shu1 and di4shu1, and there are
vendors that manufacture fonts of different styles and
 resolutions which can be used by Guoqiao but I can't determine
 if they can be used by XLBR or other GB systems.

B.C. Systems Corp.                ||  PROFS:   BCSC02(BOONKANG)
4000 Seymour Pl, W169BLUE         ||
Victoria, B.C. Canada   V8X 4S8   ||  INTERNET:
604 389-3991(VOICE) 389-3916(FAX) ||  BOONKANG@BCSC02.GOV.BC.CA

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Tue Aug 10 06:00:14 1993
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA19279; Tue, 10 Aug 93 06:00:01 CDT
Message-Id: <9308101100.AA19279@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 9608; Tue, 10 Aug 93 06:58:33 EDT
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 9354; Tue, 10 Aug 1993 06:54:21 -0400
Date:         Tue, 10 Aug 1993 18:53:35 CST
Reply-To: Chris Delucia <a1101006@CCMS.NTU.EDU.TW>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: Chris Delucia <a1101006@CCMS.NTU.EDU.TW>
Subject:      Chinese WP - Taipei exhibition
Comments: To: ccnet-l@uga.cc.uga.edu
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: R

 I went to a computer & software exhibition in Taipei this weekend
and saw some Chinese wordprocessing software I was rather impressed
with. I can pass on some information on fonts for Chinese Windows 3.1,
XinTianMa, and various input systems.
        Although I won't be using XinTianMa in the foreseeable future
(I've been using ETEN for a couple of years and will shortly begin
with CWIN as well), it seems like an ideal program for doing most types
of Chinese wordprocessing. The feature I was most impressed with was
that one can display & print both traditional and simplified characters
in the same document. One can block all or part of a text, and with one
or two keystrokes switch it from big-5 encoded traditional characters
to GB-simplified, or vice versa. There are two traditional fonts,
FangSongTi & KaiTi, size is somewhat scalable, as are the Roman char.
(English, French, Spanish) fonts. One caFrom @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Tue Aug 10 06:00:14 1993
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA19279; Tue, 10 Aug 93 06:00:01 CDT
Message-Id: <9308101100.AA19279@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 9608; Tue, 10 Aug 93 06:58:33 EDT
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 9354; Tue, 10 Aug 1993 06:54:21 -0400
Date:         Tue, 10 Aug 1993 18:53:35 CST
Reply-To: Chris Delucia <a1101006@CCMS.NTU.EDU.TW>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: Chris Delucia <a1101006@CCMS.NTU.EDU.TW>
Subject:      Chinese WP - Taipei exhibition
Comments: To: ccnet-l@uga.cc.uga.edu
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: R

 I went to a computer & software exhibition in Taipei this weekend
and saw some Chinese wordprocessing software I was rather impressed
with. I can pass on some information on fonts for Chinese Windows 3.1,
XinTianMa, and various input systems.
        Although I won't be using XinTianMa in the foreseeable future
(I've been using ETEN for a couple of years and will shortly begin
with CWIN as well), it seems like an ideal program for doing most types
of Chinese wordprocessing. The feature I was most impressed with was
that one can display & print both traditional and simplified characters
in the same document. One can block all or part of a text, and with one
or two keystrokes switch it from big-5 encoded traditional characters
to GB-simplified, or vice versa. There are two traditional fonts,
FangSongTi & KaiTi, size is somewhat scalable, as are the Roman char.
(English, French, Spanish) fonts. One can enter the text in Pinyin,
w/o tones, and it guesses the correct characters (quite good for two
character "ci2zu3", not so great for classical Chinese). There is also
zhuyin (BoPoMoFo) input, embedded in an English keyboard, though the
layout is different from the two I am familiar with from ETEN.
        This new version does not require a ROM card (apparently earlier
versions did), and the program takes 5-6 MB of HD space. It seemed
quite easy to learn, had pull down menus, and operates in a DOS environ-
ment. My major qualm was that it does not have a character editor (some
Chinese topics require the occasional rare character to be created).
For more info on it, one can contact Asia Communications, Inc. in
Ottawa, CA: (613)562-3435, FAX (613)562-3436;  or, AsiaCom Technology
Inc., in Hsin Tien (Southern suburb of Taipei) 886-2-218-1980 and
FAX 886-2-218-4903.

        I saw a couple of Pen-based input systems. ETEN makes one, but
I saw a more impressive one (prob. @ $300 US) that worked in both DOS
and Windows. Once I got a feel for the pen, it recognized all of my
characters correctly (of course, I write like a 3rd grader), though it
took one or two seconds for each. Although one can not match the speed
of keyboard input (assuming one is skilled at the latter), it would
be less of an impediment to creative/thoughtful writing in Chinese.
The pen-input system is called the "PostMouse," it plugs in to the serial
port, and the company is A-Way Technology Co. Ltd, located in Taipei
on Hoping E. Rd. Sec.1, #10-1, 8th Fl.  Tel. is 886-2-368-6640,
FAX 886-2-362-0375, Modem 886-2-363-3666.

        As for the "intelligent" Pinyin based input systems for DOS &
Windows, Hanin (Han4 Yin1) is supposed to be very good (they also have
a MAC version), and Zhen4Han4 (who make a Chinese system very similar
to that of ETEN) has "Guo2 Yin1"  (DOS version @ $200 NT, Windows @ $500)
which they claim is more "intelligent" than Hanin. It was supposed to
recognize characters in context of the sentence. I haven't tried either,
so I really can't offer a judgment.

        At the show I saw Chinese Windows 3.1 being sold for as low as
$3000 NT (@ $110 US), and the upgrade at $1750. I have also heard that
an educational version is available now, but don't have any details yet.
I saw quite a few companies selling fonts for CWIN 3.1. Dynalabs (Hua2
Kang1) makes the Xi4Ming2 font that comes with CWIN 3.1, and they have
10 sets of TrueType fonts (@ $100 US each) that can be purchased separately
for use in CWIN 3.1. These fonts are a new product & do not require the
Dynafont card (previous versions did). Wen2Xin1 also produces TrueType
fonts for CWIN 3.1, and their fonts sell for $1200 each (@ $45 US).
19 of their sets have the full big-5 set of 13,000+ characters, as well
as Japanese kana. WenXin has an office in the US, called NewTek, and
their phone # is 714-598-9366, and FAX is 714-598-8046.

        One company was selling PostScript fonts for Windows, though they
were rather expensive (6 different packages, from 4 font sets for $16,000
to a 55-font set for $112,000 NT). 10 simplified character font sets were
included in their $87,000 NT & up packages. The company is Hui1Lian2
(Fa1hui1 de hui1, lian2he2 de lian2), Tel: 886-2-545-5011, FAX 886-2-514-
7045. The fonts are called Jian1(sharp)Duan1(extreme/correct) zhong1wen2
zi4xing2. It apparently comes with its own Chinese system, and can be
used in the English version of Windows (something about being able to
represent 2-byte Chinese characters with 1-byte. Incidently, Wen2Xin1
also claims this 2-byte to 1-byte capability, though it must be used
in Chinese Windows).

        Well, I hope some of you find this info useful. Sorry about the
length and/or repetitions from cross-posting (I'm sending this to 3 groups).

                                Chris DeLucia
                                Univ. of Washington
                                via Taiwan U., Taipei
                                a1101006@ccms.ntu.edu.tw
                                        (til 8/29)

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Wed Aug 25 03:03:03 1993
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA26989; Wed, 25 Aug 93 03:02:57 CDT
Message-Id: <9308250802.AA26989@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 1972; Wed, 25 Aug 93 04:02:09 EDT
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 4458; Wed, 25 Aug 1993 04:02:07 -0400
Date:         Wed, 25 Aug 1993 16:33:35 JST
Reply-To: Xiaodan Tang <tang@LIFEBOAT.CO.JP>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: Xiaodan Tang <tang@LIFEBOAT.CO.JP>
Subject:      Print chinese Characters
Comments: To: matbbrx@GSUSGI2.GSU.edu
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
In-Reply-To:  Baolin Ren's message of Tue, 24 Aug 1993 12:53:11 -0500
Status: R

   >in the next 32 contigous bytes? How to arrange the 32 bytes (row first or
 col.
   >first) to get the character? What is the exact stored format of the cclib
   >files?
   >

For using 16x16 font, suppose you have prevcode and nextcode which stands
for the First and Second Char of a GB code. (In you example, prevcode
will be C3 and nextcode will be D7) You can use such formular:

        if (prevcode > 0xa9)
            prevcode -= 6;

        offset = (long)(((prevcode - 0xa1) * 94 + (nextcode -0xa1)) * 32);

you can use offset is fseek to get the next 32 byte bitmap. The bitmap
is arranged as:
        Byte1   Byte2
        Byte3   Byte4
        ............
        Byte31  Byte32

Because of in standard GB, "section 10" to "section 16" is blank, so
many 16x16 fonts jumped these section, it means in font lib "section 16"
is offseted at "section 10", so you need an IF to find such case.

By the way, some old 16x16 fontlib set "section 9" as "section 6", and
"section 16" as "section 7". In this case, you need to change you program.

Another point is many 24x24 fonts are for Printing GB code on 24 dot printer.
So the 72 byte is arranged as
        Byte1   Byte4 .......   Byte70
        Byte2                   Byte71
        Byte3                   Byte72

Hope All the information over is useful.

Xiaodan Tang                            Tel   : (81)-3-3293-4717
OpenSystem Division                     Fax   : (81)-3-3293-4725
LIFEBOAT, Inc. Tokyo, Japan             E-mail: tang@lifeboat.co.jp

From lee@umunhum.Stanford.EDU Fri Aug 27 04:57:34 1993
Return-Path: <lee@umunhum.Stanford.EDU>
Received: from umunhum.Stanford.EDU by ifcss.org (4.1/IFCSS-Mailer)
	id AA24179; Fri, 27 Aug 93 04:57:30 CDT
Received: by umunhum.Stanford.EDU (5.57/Ultrix3.0-C)
	id AA13823; Fri, 27 Aug 93 02:56:10 -0700
Date: Fri, 27 Aug 93 02:56:10 -0700
From: lee@umunhum.stanford.edu (Fung Fung Lee)
Message-Id: <9308270956.AA13823@umunhum.Stanford.EDU>
To: soft-authors@ifcss.org
Subject: KC fonts and new .hbf files
Cc: ftp-admin@ifcss.org
Status: R


The following font files are extracted from the .zip files
of the Kuo-Chiau package in ifcss.org:/software/dos/chinese-sys :

  394712 kcchin16.f00
  394712 kcchin16.f15
 1005376 kcchin24.f00
 1005376 kcchin24.f02
 1005376 kcchin24.f15

They contain 16x14 and 24x24 fantizi glyphs. Pretty good looking fonts!
(See the kc*.hbf files for detailed descriptions of the above font files.)
The files are now in ifcss.org:/incoming/kcfonts, and should be moved
to ifcss.org:/software/fonts.

Following is a list of the (full) .hbf files I have recently created.
They are available now in ifcss.org:/incoming/hbf, and should be moved
to ifcss.org:/software/fonts/HBF.
All .hbf files passed the scrutiny of hbf-check.sh by Yongguang Zhang.

KuoChiau (bitmap files available on ifcss.org)
kck24.hbf
kcm14.hbf	(usually, point size is measured by height rather than width)
kcm14j.hbf
kcm24.hbf
kcm24j.hbf

CCDOS (bitmap files available on ifcss.org)
ccfs24.hbf
cch24.hbf
cck24.hbf
ccs16.hbf
ccs24.hbf
ccs24f.hbf

ETen (bitmap files NOT available on ifcss.org)
etk24.hbf
etl24.hbf
etm15.hbf
etm24.hbf


With the addition of chinese16.hbf, Beijing16.hbf and Beijing24.hbf,
those .hbf files essentially cover all the hanzi bitmap files archived
on ifcss.org.  Bitmap files not explicitly referred by any .hbf
file are either padded, flipped, rotated or transformed versions of
those referred.  As more and more software support HBF, those "redundant"
space-consuming bitmap files can be gradually phased out.


Best regards,

Fung F. Lee





From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Fri Aug 27 12:42:02 1993
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA29962; Fri, 27 Aug 93 12:41:47 CDT
Message-Id: <9308271741.AA29962@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 1074; Fri, 27 Aug 93 13:40:08 EDT
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 6134; Fri, 27 Aug 1993 13:39:06 -0400
Date:         Fri, 27 Aug 1993 13:30:45 -0400
Reply-To: Wang Wei <wang@CPS201.CPS.CMICH.EDU>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: Wang Wei <wang@CPS201.CPS.CMICH.EDU>
Subject:      Re: FAQ: What the hell is CCCII? (Was Re: 26000
Comments: To: "Avron A. Boretz" <aab2%CRUX2.CIT.CORNELL.EDU@CMUVM.CSV.CMICH.EDU>
Comments: cc: Multiple recipients of list CCNET-L
          <CCNET-L%UGA.bitnet@cmuvm.csv.cmich.edu>
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
In-Reply-To:  <9308271611.AA08284@cps201.cps.cmich.edu>
Status: RO

On Fri, 27 Aug 1993, Avron A. Boretz wrote:

> Thanks to Christian Wittern for his multi-tiered reply regarding CCCII. If
> he (or some able and altruistic soul) were really able to provide fonts
> for this character set for Windows or DOS (and for FREE!), his/her name
> would truly liu2fang1bai3shi4 (a fragrance that flows through 100
> generations!).

To make this character set usable in Windows is pretty easy (as far as I
can iamgine now, since I've done one for GB). But I really wonder with
about 40MB in a font file, how far can Windows go? Will it be really
slowed down? This might not be directly related to CCNET's themes, but I'd
really want to know it, maybe I can help move it into Windows (Only as
bitmaped font, though).

Regards.

Wang Wei  [MS CS, Central Michigan University
          [1532 S.Mission, Apt.209S, Mt.Pleasant, MI 48858 (517-773-1656)

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Fri Aug 27 09:37:35 1993
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA26623; Fri, 27 Aug 93 09:37:32 CDT
Message-Id: <9308271437.AA26623@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 0922; Fri, 27 Aug 93 10:36:00 EDT
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 7284; Fri, 27 Aug 1993 10:35:58 -0400
Date:         Fri, 27 Aug 1993 23:35:04 JST
Reply-To: christian wittern <g53150@SAKURA.KUDPC.KYOTO-U.AC.JP>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: christian wittern <g53150@SAKURA.KUDPC.KYOTO-U.AC.JP>
Subject:      Re: FAQ: What the hell is CCCII? (Was Re: 26000
Comments: To: CCNET-L@UGA.CC.UGA.EDU
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: RO

Well, it seems we got some thread going :-)

  Hu Bo, Munich, asks:
  >
  > What is about the compatibility to the standard ASCII
  > character set? Does the CCCII system use some special
  > escape sequence to distinguish between ASCII and CCCII?

  Yes, that is exactly what they do. This is reuired by ISO 2022

  > Bo

  Stephen G. Simpson writes:

  >  > It includes over 50,000 64*64 bitmap Chinese
  >  > character patterns.
  >
  > Wow!  Are these bitmaps public domain?  How hard would it be to
  > extract 64x64 bitmap fonts for GB/simplified and Big5/traditional?  It
  > would be wonderful if these GB and Big5 fonts could be created and put
  > into the public domain.  I could use them for my own programs, and so
  > could many other people.

  Extracting BIG5 Fonts would be very easy, I think. The database,
  which comes with the fonts includes mappings for BIG5.
  If I have time over the weekend, I'll try something and post it.
  For GB it is not so straightforward, as the mappings are not included
  in this package, so they would have to be acquired otherwise.
  By the way, the charactershapes are some mixture of Song-, Ming- and
  something resembling Kai-ti - But at least you can print in a
  good resolution.

  Why not include at least the regular characters (42000) in your
  programs? I think, it would also worthwile to create some good
  TeX-Fonts for it.

  > 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: simpson@math.psu.edu
  > Home phone: +1 814 238-2274        Bitnet: T20 AT PSUVM
  > FAX: +1 814 865-3735

  Chris Delucia writes:

  > In an ftpsite directory, I can't remember which one, I came across some
  > files called "cccii.tbl" and "chgcode.exe" which apparently allow for
  > character conversion between CCCII and Big-5. I didn't check it out, but
  > I got the "readme" file on it. I called up the company that sold this

  I would be *very* interested. Could you mail me at least the readme-file.
  And if you could come up with the location, that would be marvelous!

  > I guess there are two ways of being able to meet my needs - an affordable
  > CCCII-like program that comes with virtually every character that appears
  > in extant texts, or a program that's more streamlined but has a good
  > character creation utility. I currently use ETEN Flying Saucer (Feidie)
  > #5, which has a 24 X 24 pixel (for printing out) character editor. It's
  > not pretty, but it works. A few months ago, in the process of inputting
  > some Han dynasty literature, I created about 50 characters. Naturally,
  > I didn't bother to create variant character forms unless there was something
  > otherwise significant to discuss about it. Let's say there were @ 40
  > that were unique characters. Of these 40 or so, I was able to locate most
  > (@ 30) in vol 2 of _The Unicode Standard_. So, much better than Big-5, but
  > I still would have had to create several characters.

  It certainly depends for what purpose you input texts. We are talking
  about databases which are designed to be usable for a while. This is
  a situation like the craftsmen, who made the first wooden blockprints
  found theirselves in. If these texts are to be used as a base for
  research *every* *single* deviation matters.

  > If someone only encounters the
  > need to create a character a few times a year, it's probably not worth
  > hundreds or thousands of dollars to have 30,000 characters sit there on your
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  > hard drive. I'm not familiar with all the types of character editing/
  > creating utilities, but I do know that Chinese Windows has TrueType fonts,
  > but a TrueType font editor still does not exist.

    I hope we could come up with something for free, now that the fonts
    are available. I'm studying the possibility to make the fonts available
    as Bitmaps in MS-Windows, which could be pasted even in the English
    version (or any version, for that matter) of Word f. Windows and
    similar wordprocessors.

  >
  >                         Chris DeLucia
  >                         a1101006@ccms.ntu.edu.tw


  Please excuse this anusual way of replying, but I wanted to get this
  out, before or host goes sleeping for the weekend, which is in a few
  minutes.

  Enjoy,

  Christian Wittern, Kyoto

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Mon Aug 30 08:21:15 1993
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA26343; Mon, 30 Aug 93 08:21:03 CDT
Message-Id: <9308301321.AA26343@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 1653; Mon, 30 Aug 93 09:19:49 EDT
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 9199; Mon, 30 Aug 1993 00:42:58 -0400
Date:         Mon, 30 Aug 1993 13:42:16 JST
Reply-To: christian wittern <g53150@SAKURA.KUDPC.KYOTO-U.AC.JP>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: christian wittern <g53150@SAKURA.KUDPC.KYOTO-U.AC.JP>
Subject:      CCCII bitmap tool uploaded to ifcss.org
Comments: To: ccnet-l@uga.cc.uga.edu
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: R

Dear Netters,
I hacked a little tool together to make the beauty of the
CCCII-Characters available to people who own a VGA-card :-),
among others.
This is an early Version, which came to life only a few
hours ago, so don't expect too much.
I include the *.doc file at the end of this message, to
prevent people who wouldn't be able to use it from wasting
their time to download it.
It will be available on ifcss.org :/incoming, but might be
moved to a different location soon. I hope a copy will also
be placed on NCTUCCCA, together with the original files.
Document file for CCCII utility CCBM.EXE

First beat version 0.1,  29.8.1993

written by Christian Wittern g53150@sakura.kudpc.kyoto-u.ac.jp

This little program provides some funcitonality to access the bitmapped
64*64 image files of the CCCII code. These bitmaps and a database are
available from:

ftp     NCTUCCCA.EDU.TW : Chinese/FONTS/CCDB

The whole package is about 42 MB. If you don't have this package or
are not interested in having just the fonts (*THIS IS NOT A CHINESE
SYSTEM THAT SUPPORTS CCCII*), this might not be the thing you want
to get. Watch out in the future, as something more useful might appear.

This archive contains the following files:
   CCBM.DOC     This file
   CCBM.EXE     The utility program
   *.IDX        Index files to access the bitmap files.
   BIG5.LIS     One example list file, which lets you extract the bitmaps
                for the BIG5 code. I haven't checked this thouroughly, so use
                it as your own risk

Instructions on how to install follow further below.

This program allows you to call the bitmaps of the characters in the *.img
files. You must use the 3 byte CCCII code in hex notation to call the
characters, so if you don't have documentation on CCCII, you are some-
what out of luck.
The code ranges are the following :

  212121 to 23607E for frequently used characters (these are arranged by
                   Kangxi-Radical and strokecount, in two levels of
                   4808 most frequently used characters   and
                   17032 next frequently used characters.
                   These are in the file NF.IMG
  212361 to 262543 Rarely used characters, file RARELY.IMG


  27XXXX to 29XXXX are simpliefied characters, where XXXX is the corresponding
                   code of the traditional form.
  above 2DXXXX are variant forms, XXXX refers to the regular form.

  Simplified and variant forms are in VF.IMG and NEW-VF.IMG in no specific
  order.

Installation:
  Copy the *.idx files to the same location where the *.img files are stored.
  Set an environment string IMG to point to that location. This can be done
  by the DOS command SET, e.g.

  SET IMG=F:\IMG

   if that is, where the files are stored.

  Copy the program file ccbm.exe to wherever you can access it easily

Usage:

  You can get the bitmap data in one of three formats:

  Command-line option     Result

  /B                      Windows 3.X compatible *.BMP file, where * will be
                          the corresponding CCCII code. You can load this
                          bitmap and copy or paste it in you applications,
                          where you want to use it.
  /F                      Copies the bitmap unchanged to a font-file, default
                          name CCCII.FON. This is not a Windowas font, but
                          rather has the bitmaps sequentiell stored one after
                          the other, without additional information. One bitmap
                          for 64*64 character is 512 bytes long, for 32*32 it
                          is 128 bytes.
  /H                      Sends the bitmap in Hex-format to stdout. This can be
                          used in RTF-Files to include it as inline bitmap. The
                          required RTF instruction to include a 64*64 inline
                          bitmap would be:
                          {\\pict\\wbitmap0\\picw64\\pich64\\wbmbitspixel1\\wbmplanes1\\wbmwidthbytes8\\picwgoal600\\pichgoal600
                          (Here follows the hex-output, the group
                          is terminated by a "}")
                          RTF is the platform-independent file
                          -format developped by Microsoft. I believe
                          this might be a way to transport the
                          bitmaps to the Macintosh
  /L                      is required if you want to use a list-file.
  /R                      reduces the size for all output options from 64*64
                          to 32*32.


This program was hacked together in a few hours and is, of course released as
it is, without any warranty. It does not check the input for possible errors,
but will simply die uungracefully. There might also be some logical errors in
the whole setup. Please report any problems to me.

I strongly believe, that CCCII is very important for any project concerned
with inputting large amount of Chinese text for scholarly purposes, but un-
fortunately has the usage so far almost totally been limited to library
cataloguing (Please correct me, if I'm wrong). I hope this utility might
contribute to broaden the audience for CCCII and scholarly use of Computers
in East-Asian Studies in genereal.

One implementation of CCCII that I'm aware of is a PC add-on card, wich
contains the fonts, it is available from JOIN Computer, FAX +886 2 7859136.


A nice day to everybody,

Christian  Wittern

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Thu Sep  2 07:09:41 1993
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA07164; Thu, 2 Sep 93 07:09:32 CDT
Message-Id: <9309021209.AA07164@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 3325; Thu, 02 Sep 93 08:07:55 EDT
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 9646; Thu, 2 Sep 1993 08:07:54 -0400
Date:         Thu, 2 Sep 1993 07:05:07 -600
Reply-To: Stanley G Goertzen <goertzen@BADLANDS.NODAK.EDU>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: Stanley G Goertzen <goertzen@BADLANDS.NODAK.EDU>
Subject:      CCCII CCDB Chinese Character Database
Comments: To: CCNET-L@uga.cc.uga.edu
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: R

Many  thanks  to Christian  Wittern <g53150@SAKURA.KUDPC.KYOTO-U.AC.JP>
for posting his FAQ: "What the  hell is CCCII?"  I'd also  like to echo
his thanks to  Huang Chih-hsien and  the NCTUCCCA for making  the CCCII
CCDB (Chinese  Character Database)  available.   The database  displays
forty characters  per screen page  and in my  opinion they  look pretty
darn good.  Since they're  generally arranged in  Kangxi radical order,
it's not  too  difficult to  PageDown  and  find the  character  you're
looking for.

It was a "haojile" moment when  I used Christian Wittern's CCBM.EXE  to
create Bitmap (.BPM)  graphic images from the CCDB database image files
and   import them into a word processor.  A list file for creating Big5
fonts  is also included,  but I haven't  tried that  yet.  I  found his
files,  ccbm01.zip  &  ccbm01.doc, in  ifcss.org:/software/dos/chinese-
utils.  Three cheers, Christian,  and I certainly agree with  you about
the  potential benefit  of  these files  for  students and  scholars of
Chinese literature.

Ingar Holst,  I thought most VGA cards  include utility software to set
the video mode to  Hercules resolution.  I had no  problems viewing the
CCDB with a VGA.

I did have some  problems with some of the *.arj  files containing "bad
file data, CRC error" messages, so  I got the *.zip files and they were
all fine.  Yes, I used  binary transfer, but I suppose they could  have
been damaged in transmission anyway.

I'd also like to  thank Hu Bo and others who made useful  comments on a
message  I  posted  regarding  26,000   characters  for  the  Guangyun.
Finally,   I  apologize  for  responding   on  CCNET   to  Stuart  Aque
<aquestu@u.washington. edu>.  He sent  me a private email  message, but
it was sandwiched between my CCNET mail  and I  mistakenly thought  his
reply was public.   Unfortunately my  response was  a little  defensive
and ill tempered.  Duibuqi!

I am  hoping to hear about  more software  developments involving CCCII
from Christian Wittern, Wang Wei, and others in the future.

Stan
goertzen@badlands.nodak.edu

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Wed Oct 13 07:39:11 1993
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA29854; Wed, 13 Oct 93 07:39:09 CDT
Message-Id: <9310131239.AA29854@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 8366; Wed, 13 Oct 93 08:36:20 EDT
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 0140; Wed, 13 Oct 1993 08:36:19 -0400
Date:         Wed, 13 Oct 1993 13:10:03 BST
Reply-To: "L.S.Ng" <L.S.Ng1@SOUTHAMPTON.AC.UK>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: "L.S.Ng" <L.S.Ng1@SOUTHAMPTON.AC.UK>
Subject:      Re: Print Chinese Banner in ASCII
Comments: To: 5067rzhan@UMBSKY.CC.UMB.EDU
Comments: cc: Chinese Computing Network <ccnet-l@uga.cc.uga.edu>
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
In-Reply-To:  <no.id>; from "Ray Zhang" at Oct 12, 93 10:08 pm
Status: R

> since I can always download the ascii file to vax for printing on high speed
> draft printer.  I guess I can write a program in BASIC to do what I want
> only if I know how to utilize the cclib.16 or chinese.16 file.

The Structure of cclib.16

Each Chinese character occupies 32 bytes. The size of the file give you
the total number of characters in the cclib.16 file.

In each block of 32 bytes, every two (consecutive) bytes make up 16 bits
which make up 1 row of the bitmap.  Each bit in a byte represents a dot
in the bitmap.  A one means the dot is set, a zero means the dot is
blank.16 row (2 byte each) make up 32 bytes bitmap for the character.

The characters are divided into regions of 94 characters. The first 7
regions are symbols. The eight region and so on are for Chinese
characters. The first Chinese character is "a1" and listed in phonetic
order (Guobiao standard).

So the first byte of the character "a1" is at

7x94x32 + 1 byte

... to be continued (if you want to know more)

LiangSheng WU

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Mon Oct 18 09:10:18 1993
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA04885; Mon, 18 Oct 93 09:09:30 CDT
Message-Id: <9310181409.AA04885@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 1591; Mon, 18 Oct 93 10:07:31 EDT
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 6385; Mon, 18 Oct 1993 10:06:40 -0400
Date:         Mon, 18 Oct 1993 10:06:34 -0400
Reply-To: "HU Bo, IFT Munich, +49 89 54759129" <hubo@IFT.FHG.D400.DE>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: "HU Bo, IFT Munich, +49 89 54759129" <hubo@IFT.FHG.D400.DE>
Subject:      Re: Vector fonts
Comments: To: "L.S.Ng" <L.S.Ng1@SOUTHAMPTON.AC.UK>
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
In-Reply-To:  <DFNGATE:Oca4WmVF*@MHS>
Status: R

THE function used to define a curve is Bezier curve, of curse, for
it is used by standard Postscript fonts and graphics as well. You
need one start point, one ending point, and two further key
points (x1 y1 x2 y2 x3 y3 curveto). Many graphics programms (even
Windows 3.1's Paintbrush) supporting this kind of curve.

However, some Chinese fonts use only polygon outlines (x1 y1
lineto). For example, CStar 1.2 for Windows. To lern more about
its fonts, use CStar's "HZ->Picture Converter".



Bo

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Mon Nov  1 08:15:51 1993
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA25787; Mon, 1 Nov 93 08:15:47 CST
Message-Id: <9311011415.AA25787@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 6125; Mon, 01 Nov 93 09:14:21 EST
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 8344; Mon, 1 Nov 1993 09:14:20 -0500
Date:         Mon, 1 Nov 1993 09:13:15 EST
Reply-To: "Martin J. Heijdra" <MHEIJDRA%PUCC.BITNET@uga.cc.uga.edu>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
Comments:     Resent-From: "Martin J. Heijdra" <MHEIJDRA@PUCC>
Comments:     Originally-From: "Martin J. Heijdra" <MHEIJDRA@PUCC>
From: "Martin J. Heijdra" <MHEIJDRA%PUCC.BITNET@uga.cc.uga.edu>
Subject:      Re: font editors
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
In-Reply-To:  Your message of Fri, 29 Oct 1993 20:13:52 -0700
Status: R

As far as I know, Fontographer can EDIT Chinese characters in TT and Post-
script format, as well as other usual font editors. BUT they cannot save
characters as a two-byte code. There simply is NO end-user program which
can do this. Some programs (Canvas, Japanese Freehand, CChedit etc., Kanji
Suck Pro) can create outlines from characters, to be worked with for logos
etc.

I had been looking for the same things. What I found is this: for bitmap
fonts, only Marukan editor, a Japanese program, can make 2-byte Japanese
fonts; there is a vendor version which can also make GB and Big-5 Chinese
fonts, as well as Korean; price: some $5,000... The same company (Enfour
Media Lab in Japan) has ways of ADDING TT and PS characters to an existing
font for Japanese. Rollup programs (the word for creating 2-byte full fonts
out of 1-byte Fontographer fonts) which include TT and PS fonts for Chinese
and Korean are simply completely out of reach for individuals: they are meant
for commercial vendors. For Japanese only, there is a "cheap"TT-Rollup version,
and a Sweet-Jam Rollup program; no Chinese, no Postscript.

Altsys will come out with a so-called "Altsys Rollup", Postscript, for making
a full 2-byte character font out of average Fontographer fonts. But the prices
I have seen (for vendors) are truly staggering. I read one report (in Lunde's b
ook) that an end-user version is under way; but pricewise, I'm not holding my
breath.

Martin Heijdra

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Wed Nov  3 05:46:14 1993
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA24049; Wed, 3 Nov 93 05:46:09 CST
Message-Id: <9311031146.AA24049@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 2803; Wed, 03 Nov 93 06:44:49 EST
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 1039; Wed, 3 Nov 1993 06:44:48 -0500
Date:         Wed, 3 Nov 1993 19:39:57 +0800
Reply-To: Chih-Hsien Huang <hch@NCTUCCCA.EDU.TW>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: Chih-Hsien Huang <hch@NCTUCCCA.EDU.TW>
Subject:      Re: Chinese TTF's
Comments: To: NTNUS239@TWNMOE10.Edu.TW
Comments: cc: ccnet-l@uga.uga.edu
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
In-Reply-To:  <9311031109.AA04717@NCTUCCCA.edu.tw> from "Curtis Smith" at Nov 3,
              93 07:09:34 pm
Status: R

> I saw it mentioned that there were a large number of TT fonts for Chinese
> available. I have onlt the one Sung font which came with the CWIN. Could
> anyone tell me where other TT fonts for CWIN could be found?

The best one I know is Dyna (Hua2 Kang1) SMART TTF, totally 10 fonts.
In fact, the only one font comes with CWIN is one of them.  They are
sold at the price about NT$3,000 (US$110) per font (not very sure)
in Taiwan.

Besides, there are also other fonts series on Taiwan's market.  The
price is from about NT$500 to NT$3,000 per font.  Some of them are
derived from existing Chinese desktop publishing system, and even
coming with up to 30-40 fonts.

Sincerely,
--
Huang, Chih-Hsien
Administrator of  NCTUCCCA.edu.tw  [140.111.1.10]  Anonymous FTP Archive
Rm 101, Computer Center, National Chiao Tung University, Hsinchu, Taiwan
Internet:    hch@NCTUCCCA.edu.tw         or         hch@CCCA.NCTU.edu.tw

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Fri Nov  5 02:02:37 1993
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA18840; Fri, 5 Nov 93 02:02:17 CST
Message-Id: <9311050802.AA18840@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 9638; Fri, 05 Nov 93 03:01:05 EST
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 6031; Fri, 5 Nov 1993 03:01:03 -0500
Date:         Thu, 4 Nov 1993 23:18:28 -0800
Reply-To: James Lin <chase@NETCOM.COM>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: James Lin <chase@NETCOM.COM>
Subject:      Re: Fonts
Comments: To: "Martin J. Heijdra" <MHEIJDRA%PUCC.BITNET@uga.cc.uga.edu>
Comments: cc: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
In-Reply-To:  <199311041552.AA17570@mail.netcom.com>
Status: R

On Thu, 4 Nov 1993, Martin J. Heijdra wrote:

> but the reverse is not true; also, there are overlaps. Dynafonts SMART
> fonts e.g. are Vector TrueType fonts, not pure TrueType (as far as I
> know, only Quanzhen fonts are 100% true TrueType fonts; NewTek's are relatively
> pure, but compressed by a proprietory method; etc. etc.). Yet others, as
> e.g. Yanze fonts have ways of masking as TrueType, but are way off.

As my understanding, DynaLab's Smart TTF are not "Vector" TrueType.  They
are perfectly legal TTF and one special thing of it is they are "stroke
based" TTF.  DynaLab's DynaFont Butterfly series card are also not Vector
font.  Only DynaVector disk version (old product) are vector font.

Smart TTF are stroke based, so the 'fpgm' table in very large but the
'glph' table could be small.  This result in overall much smaller size -
typically 2-3 MB only.  NewTek's TTF are, I will say, 95% real TTF.  They
are copy protected so the font files reside in the HD are not legal TTF.
Yanze (from NewType - after using the KS2TTF to convert to TTF format) and
Quanzhen (from Vector) are 100% TTF but the quality are really low.  These
two company did not produce all their 28 TTF typefaces but license them
from BiSheng (the developer for BS-300 Chinese DTP).

> Also, I for one do NOT necessarily think all this scaleable fonts are high qual
> ity; they might look like that from a bitmap point of view, but certainly
> not from a typographer's point of view. Taiwanese developers are clearly taking
> short cuts which lower the quality of fonts enormously (can anybody seriously
> use Yanze, or Hezhong fonts?), and which hinder the publishing market.

I think all these TTFs typically produced for Chinese Windows are for
office use, never designed for high-end typesetting.  DynaLab and Eastern
Graphics DO have several typefaces designed for image setters in composite
PS format (postscript level II) and Apple TTF format.

BTW, I did not know Hezhong and I will check for it.

> user (as a very personal view, I only think ZhongguoLong fonts passs muster,
> and they seem to be non-PS and non-TT; I have not seen Quanzhen fonts yet),

ZhongguoLong (from Indeed) fonts use their own format and provide WIFE
driver for Chinese Windows.  I think the quality for these special
designed typefaces are pretty good.  Also, they provide several API for
programmer to access their typefaces under either DOS or CWIN.

> as the widely marketed TopFonts. A recent issue of Yinshuaren pointed out that
> one of the reasons most Taiwanese publishers do not use these "normal" digitize
> d fonts is that there simply are not yet fonts of sufficient quality.

True !

>
> Of course, the way the market is developing right now in Taiwan has its posi-
> tive aspects as well: there are in comparison with Japan, which started way
> earlier and which has the backing of a much larger market and original
> expertise, many more fonts available, for prices bearable for individual
> users;

That's why DynaLab made very good revenue from Japan every year.  Personal
notebook/typewritter like word processors are really popular in Japan.
Many Japanese word processor companies buy the DynaLab's ASIC chips for
their products.  One good reason is DynaLab's stroke based technology
makes the size much smaller.

> I just wanted to point out that the quicker, cheaper and more varied state
> of the Chinese font market does result in lower standards, and in some cases
> unacceptably lower. Perhaps it is time for the Taiwanese government to make
> available at least some high-quality PS and TT standard fonts, as has the
> Japanese government.

I agree with you.  However, Taiwan market is really dynamic.  CWIN 3.1 has
been released for just few months and suddenly there is an open market for
TrueType Chinese typefaces.  Most company will try to release their own
solution as soon as possible for marketing reasons.  One important thing
is : users will not stop there !  When I don't have it, I am eager to get
it if any one could provide me one.  When there's plenty, why should I use
the poor one ?  So, don't worry.  Things will change very fast there.
Some company are already working on licensing the TopFont's typefaces and
produce them into TTF format.   I don't think it is likely to happen that
Taiwan government will play any role in this due to many reasons typically
politics.

> people need several years before finishing a smaller Japanese font, I do
> not think that a few non-typographers, no matter how good in Chinese programmin
> g, should even try to create scaleable public fonts; the results can only be
> disastrous. Leave typography to typographers.

I think companies like Dyna and Eastern Graphics are really trying.  They
hired a lot of experts in mainland China to help them do the typography.

I am amazed that seems like you are pretty good at knowing all these
products.  May I know usually through what media that you access these
info ?

James Lin

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Fri Nov  5 08:22:58 1993
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA21462; Fri, 5 Nov 93 08:22:54 CST
Message-Id: <9311051422.AA21462@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 1475; Fri, 05 Nov 93 09:20:56 EST
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 6060; Fri, 5 Nov 1993 09:20:55 -0500
Date:         Fri, 5 Nov 1993 09:16:55 EST
Reply-To: "Martin J. Heijdra" <MHEIJDRA%PUCC.BITNET@uga.cc.uga.edu>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
Comments:     Resent-From: "Martin J. Heijdra" <MHEIJDRA@PUCC>
Comments:     Originally-From: "Martin J. Heijdra" <MHEIJDRA@PUCC>
From: "Martin J. Heijdra" <MHEIJDRA%PUCC.BITNET@uga.cc.uga.edu>
Subject:      Re: Fonts
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
In-Reply-To:  Your message of Thu, 4 Nov 1993 23:18:28 -0800 (PST)
Status: R

I was very glad to receive James Lin's very informative info, and have
written to him separately. The following paragraph might be interesting
to others as well, and I send it here:

I still think that one-stroke TT fonts are in fact closer to vector fonts
than to "real" fonts; I understand one-stroke (and I don't have much technical
knowledge!) to mean that strokes are stored separately from the character
itself. This means that the optical adjustments necessary to make characters
at different sizes, or for slightly different characters (a radical "tree"
will have many slightly different forms depending on how "black" the rest of
the character is!), should somehow be sacrificed. For normal 300 dpi that
might be OK, but I really think that looking at the size of a font can tell
you a lot: a 7000-character Japanese top-level Ming font is easily 7-8MB;
the Apple LiSong font, comparable, is 8-9MB for 13500 Chinese characters,
already a reduction in quality; reducing that to 2-3MB cannot but still reduce
further quality. And when one talks about Cangzhu fonts (15 fonts at 1-2MB
total), it simply gets ridiculous. I do agree though, that for normal purposes
the DynaFonts are quite OK.

Thanks, Martin Heijdra/Gest Library/Princeton University

From @UGA.CC.UGA.EDU:CCNET-L@UGA.CC.UGA.EDU Fri Nov  5 15:24:36 1993
Return-Path: <@UGA.CC.UGA.EDU:CCNET-L@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA28475; Fri, 5 Nov 93 15:24:29 CST
Message-Id: <9311052124.AA28475@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 9191; Fri, 05 Nov 93 16:21:45 EST
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 2797; Fri, 5 Nov 1993 16:21:44 -0500
Date:         Fri, 5 Nov 1993 13:19:07 PST
Reply-To: "Simon Chow ~{V9zP[~}" <khsc@SYNOPTICS.COM>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: "Simon Chow ~{V9zP[~}" <khsc@SYNOPTICS.COM>
Subject:      TTF info
Comments: To: CCNET-L@uga.cc.uga.edu
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: R

Here are the pointers to the True Type Font spec! Thanks to whoever
provided the information that TTF spec is on ftp.microsoft.com, I have
just download a few file regarding TTF from microsoft, I have not got
time to review them yet,  however, I thing there are other people
who is also interested in where these info can be found (including
Mr. Wu, By the way, I do sincerely agree and support you point of
view, and I am sure there are others silent netters who share your
point of view)

server:      ftp.microsoft.com (198.105.232.1)
directory:   /Softlib/MSLFILES
files:
        S13382  TTDMP.ZIP       TrueType Functions and Structures^M
        S13442  TTSPEC1.ZIP     TrueType Font Files Spec (1 of 3)^M
        S13443  TTSPEC2.ZIP     TrueType Font Files Spec (2 of 3)^M
        S13444  TTSPEC3.ZIP     TrueType Font Files Spec (3 of 3)^M
        S13445  TTFDUMP.ZIP     TrueType Font Display Utility^M
        S13446  TTFNAME.ZIP     Source Code Parses TrueType Fonts^M
        S13451  TTWIN.ZIP       TrueType Extensions to Windows^M
        S13452  TTTALK.ZIP      TrueType Technical Talks 1 & 2^M

                                |\/\/\/|
=============================== |      | ====================================
|                               | (o)(o)                                    |
| Simon Chow                    C      _)     UUCP: att!synoptics.com!schow |
| SynOptics Communication Inc.   | ,___|  INTERNET: schow@synoptics.com     |
| 4401 Great America Pkwy,       |   /       Voice: +1 (408) 764-1327       |
| Santa Clara, CA 95052-8185    /____\         Fax: +1 (408) 988-5525       |
=============================================================================

#include <std/disclaimer.h>

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Mon Nov  8 04:35:17 1993
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA26404; Mon, 8 Nov 93 04:35:14 CST
Message-Id: <9311081035.AA26404@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 9187; Mon, 08 Nov 93 05:33:29 EST
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 9344; Mon, 8 Nov 1993 05:33:28 -0500
Date:         Mon, 8 Nov 1993 11:32:39 +0100
Reply-To: Xiangdong Wang <wang@EXP-MATH.UNI-ESSEN.DE>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: Xiangdong Wang <wang@EXP-MATH.UNI-ESSEN.DE>
Comments: To: ccnet-l@uga.bitnet
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: R

Since 1990 I begin to develope the chinese word processor XingXing.
I have twenty 64x64 chinese fonts. because a chinese bitmap font
is too big, I must compress it before one uses it. A 64x64 bitmap font
(GB code, 6768 characters) has a size of 3.4MB. There are some methods
to compress the chinese fonts. one of them is used in TeX for PK fonts:

    the 64x64 bitmap of a character (512 bytes):

    b1   b2   b3   b4   b5   b6   b7   b8
    b9   b10  b11  b12  b13  b14  b15  b16
      .........................
      .........................
    b505 b506 b507 b508 b509 b510 b511 b512

is coded to:
    (white dots) (black dots) (white dots) (block dots) ....
for example: ...xx....xxxxxxxx.......xxxxxxx.........  is coded to: 3 2 4 8 7 7
 9.
I got a compressed font of size 1.5MB using this method. But the compression is
slow.

Another method is used for PCX graphic:

    the 64x64 bitmap of a character (512 bytes):

    b1   b2   b3   b4   b5   b6   b7   b8
    b9   b10  b11  b12  b13  b14  b15  b16
      .........................
      .........................
    b505 b506 b507 b508 b509 b510 b511 b512

is coded to:
    (repeat_count, byte) (repeat_count,byte) ...

for example: 00 00 00 00 FF FF FF F1 01 is coded to (4,00) (3,FF), (1,F1),
 (1,01)
Direct using this method I got the compressed font of size 3MB. You see that
this method is too bad. BUT as I changed the order of bytes in bitmap (tranpose
of a matrix):

    the 64x64 bitmap of a character (512 bytes):

    b1   b9   b17  ...  b505
    b2   b10  b18  ...  b506
      ....................
      ....................
    b8   b16  b24  ...  b512

I got a (compressed) new font of size 1.3MB using the PCX-method, it is about
 33%
and it is very very quick.

I hope it is useful for you.

wang xiangdong

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Mon Nov  8 16:18:18 1993
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA04123; Mon, 8 Nov 93 16:18:16 CST
Message-Id: <9311082218.AA04123@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 5274; Mon, 08 Nov 93 16:52:19 EST
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 6286; Mon, 8 Nov 1993 16:41:46 -0500
Date:         Mon, 8 Nov 1993 16:40:41 CDT
Reply-To: Dorothy Day <DAY@UCS.INDIANA.EDU>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: Dorothy Day <DAY@UCS.INDIANA.EDU>
Subject:      Re: font editors
Comments: To: ccnet-l@uga.bitnet
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: R

Martin Heijdra writes:

>As far as I know, Fontographer can EDIT Chinese characters in TT and Post-
>script format, as well as other usual font editors. BUT they cannot save
>characters as a two-byte code. There simply is NO end-user program which
>can do this. Some programs (Canvas, Japanese Freehand, CChedit etc., Kanji
>Suck Pro) can create outlines from characters, to be worked with for logos
>etc.

Actually, ChinaStar from JHL (an older program with around 40,000
characters on a ROM character generator card) has a CREATE program
that allows the user to select an existing 2-byte character and modify
it to create a new one, and save it under a new pseudo-Tsang-chieh
code. However, that's entirely a modified DOS environment that works
only with DOS 2.x or 3.x and surely can't be imported under Windows.
--But if it could be done once, it should be possible to do it again.

It's a shame that JHL never really made it. Their fonts were superb
for 24x24 bit, and the character generator card holds an extremely
gratifying number of traditional and simplified characters for the
scholar of Chinese history or traditional literature, but they were so
small and lacking in venture capital that they could never hire enough
programmers to develop even a decent word processing program to utilize
all that power. One of their founders (Chu Bang-fu) was the creator of
the Tsang-chieh character coding system, which he donated to the
public domain. (ChinaStar allows any transformation of inputting method
to use the underlying TS codes to get at the characters in ROM.)
I think they still exist, but ChinaStar is no longer a large part of
their business. Killed by their own generosity and high prices?

Dorothy Day, Indiana University
Bitnet: DAY@IUBACS
Internet: day@ucs.indiana.edu

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Tue Nov  9 02:31:53 1993
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA11316; Tue, 9 Nov 93 02:31:39 CST
Message-Id: <9311090831.AA11316@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 9206; Tue, 09 Nov 93 03:30:09 EST
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 5010; Tue, 9 Nov 1993 03:30:07 -0500
Date:         Tue, 9 Nov 1993 09:29:03 MEZ
Reply-To: Xiangdong Wang <wang@EXP-MATH.UNI-ESSEN.DE>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: Xiangdong Wang <wang@EXP-MATH.UNI-ESSEN.DE>
Subject:      fonts compression
Comments: To: ccnet-l@uga.bitnet
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: R

Bin Lee wrote:
>         Thanks for your idea of compress the memory for chinese
>         fonts, could you tell me how do you actually do it?
>          I am a novice of compress.

How to compress chinese fonts
-----------------------------
I describe how I compress the chinese bitmap fonts of size 64x64.

1. get a table A from the original bitmap file which says how many
00, 01,..., FE, FF aprear in the bitmap file. for example:
     A[00]=100, A[01]=90,...,A[FE]=89, A[FF]=95
Then sorte the table:
     ....
     A[FE]=89
     A[01]=90
     ....
     A[FF]=95
     A[00]=100
we get a new table corresponding to ASCII table, this table is
called frequence table:
      ASCII_TABLE: 00 01 02 ... FE FF
      F_TABLE:     FF xx xx ... xx FE
(in general, the ASCII code 00 is most frenquently, and FF is also.
 therefore 00 maps to FF, FF maps to FE,...)

2. get a suitable integer (REPEAT_CODE) from the table A and table F,
that is a integer satisfing

    A[F[00]]+A[F[01]]+...+A[F[REPEAT_CODE]] < 5% of size of the bimap file

3. the bitmap of a character consists of couples:
     (r1,b1),(r2,b2),...
where r1 is repeat count of byte b1, so is r2. with the table F we get
     (r1,F[b1]),(r2,F[b2]),...

The compression of a couple (r,c) is given by following method:

   if r=1, c>REPEAT_CODE : ----->  c                 ( 1 byte )
   if r=1, c<=REPEAT_CODE: ----->  01,c              ( 2 bytes)
   if r>1, r<=REPEAT_CODE: ----->  r,c               ( 2 bytes)
   if r>REPEAT_CODE      : ----->  REPEATCODE,c      ( 2 bytes)
                                   and (r,c)->(r-REPEAT_CODE,c)

4. In step 3, the bitmap bytes of a character must be vertical arranged,
i. e. the matrix is:
    | | | | | | | |
    | | | | | | | |
      ..........
      ..........
    | | | | | | | |
not
    - - - - - - - -
    - - - - - - - -
        ........
        ........
    - - - - - - - -
(very very important !!!)


using the above method I have compressed some 64x64 chinese
bitmap fonts (3.4MB -----> 1.3MB).

wang xiangdong

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Tue Nov 16 09:55:48 1993
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA04020; Tue, 16 Nov 93 09:55:43 CST
Message-Id: <9311161555.AA04020@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 6564; Tue, 16 Nov 93 10:52:41 EST
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 4466; Tue, 16 Nov 1993 10:51:49 -0500
Date:         Tue, 16 Nov 1993 14:20:25 GMT
Reply-To: "L.S.Ng" <L.S.Ng1@SOUTHAMPTON.AC.UK>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: "L.S.Ng" <L.S.Ng1@SOUTHAMPTON.AC.UK>
Subject:      TTF - Font Standard.
Comments: To: Chinese Computing Network <ccnet-l@uga.cc.uga.edu>
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: R

My first impression after reading the TTF_SPEC.HLP is that Chinese TTF
might well have the same specifications as the English TTF, with some
minor changes.  The minor difference could be the number of glyphs
(characters) held in a font, and the similarity should be that the
glyphs structure itself is universal. (I see no reason why should a
Chinese glyph has a different structure.) Anyway, this is my guess.
Correct me if I am wrong.

So in order to check if my guess is correct or wrong, one definite test
would be to use existing English TTF subroutines to access a Chinese TTF
font file.

Further, if my guess is correct, then we can make use of the Chinese TTF
from a application-program level, without going through the services
provided by Chinese Windows.  i.e.  We still need TTF subroutines such
as rasterizer (convert TTF data to bitmap), but such subroutines should
be available in standard MS-SDK or others (#1).  As far as the
rasterizer is concerned, it need not know about whether it is dealing
with Chinese TTF or English TTF - if the TTF glyph structure is
universal.

(#1 frankly I am not sure about this.  Could someone please verify or
quote an example?)

Here is a model of using Chinese TTF that describe from the event of
pressing a key until a character is displayed on a device:

user input --> Chinese Input Dictionary Lookup
         --> Chinese Character Code
         -----> Chinese code translated into absolute position in TTF file
*        -----> GetFontData from TTF file
         -----> SendFontData to 'rasterizer'
         -----> Bitmap returned by rasterizer
         -----> Send bitmap to device

>From the stage marked * onwards, existing TTF subroutines could be used.

The stages before *, i.e. Chinese Input Overhead, may well be simple or
complex, subject to programmer's own choice.



Consequence: We can write Chinese Applications for DOS or Windows using
Chinese TTF (scaleable), without the need for DOS Chinese Shell or
Chinese Windows.

Action: Give it a try. If it works, wonderful.


Any comments are welcome.

Sincerely
Liangsheng WU


supplement:

Model of Chinese character output

 ----> Chinese character code
   ---> Code translate into absolute position in font file
   ...interim....
   ---> GetBitmap
   ---> SendBitmap to device

The model applies to both TTF and bitmap font, in the case of Bitmap
font, (.....interim.....) is trivial.

In the case of TTF, it requires service from 'rasterizer'.

Model of Chinese character input

  user input (key-stroke) ---> Dictionary lookup --> Chinese Char Code

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Tue Nov 23 01:02:12 1993
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AB20088; Tue, 23 Nov 93 01:02:09 CST
Message-Id: <9311230702.AB20088@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 3504; Tue, 23 Nov 93 01:38:57 EST
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 2019; Tue, 23 Nov 1993 01:36:44 -0500
Date:         Mon, 22 Nov 1993 22:15:08 -0800
Reply-To: James Lin <chase@NETCOM.COM>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: James Lin <chase@NETCOM.COM>
Subject:      Re: Big5 and OTHER Guobiao
Comments: To: "L.S.Ng" <L.S.Ng1@SOUTHAMPTON.AC.UK>
Comments: cc: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
In-Reply-To:  <199311230342.TAA29566@mail.netcom.com>
Status: R

On Mon, 22 Nov 1993, L.S.Ng wrote:

>
> IMO, the popularity of Guobiao 2312 i.e.  the BASIC SET is due to its
> size :-) It the olden days of PC XT, each disk is 360K.  Most PC has
> only one or two 360 floppy disk drive.  So each GB2312 fontfile (aboout
> 250K) would fit in nicely into a disk.  It have been TEN good years ever
> since the publication of GB2312 (in 1980) until better PC fitted with
> hard-disk get popular.  In the meantime, GB2312 has become the de facto
> standard for 'the rest of China'.
>
> On the contrary, in Big5 coding scheme, some vendors (e.g.  Eten) chose
> to use a 16x15 character bitmap instead of a 16x16.  This save 2 bytes
> per character.  So each 16x15 character occupy 30 bytes.  Say there are
> about 14000 characters in Big5 (sorry to Bruce Liu, my memory is quite
> bad, I couldn't remember the exact number most of the time).

I do not think it is natural to define a character set of a language
simply considering about the "space problem" !?  What if we go back to
the old days having those single sided 180K floppy disk, will then we cut
off half of the characters and starting to use only those characters left
in our daily life ?   Computer is just a tool designed to help us in our
life.   Encoding is designed for human to use computer, not designed for
computer to rule everything.

The real reason for many venders to provide 16X15 bitmap font instead of
16X16 is for display resolution and never ever for 2 byte saving !
There is a 1 pixel space between two lines for clear display.  So, you
could still say it is 16X16 but there is no dots turned on in the bottom
line.

>
> So this would made up to about 420K.  The saving in using 16x15 instead
> of 16x16 is about 28K.  And in the early versions of Eten, (even up to
> ver 3.0), the bitmap fontfile were split into multiple files for dubious
> reasons.  And now I guess it is because the character set is too big!!

The 16X15 bitmap font file is split into 2 files just because the system
is designed to seperate these two "most frequently used characters" and
"less frequently used characters" for loading and buffering reasons.
The character set is NOT too big.  As a matter of fact, it is not enough
in many cases.  Like I mentioned, Chinese character encoding is really
designed for helping us use our language on computers and should never
restrict the use and the number of characters in the language simply for
computer sizing reasons.

>
> Sincerely
> Liangsheng WU
>

James Lin

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Tue Nov 23 17:30:27 1993
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA02697; Tue, 23 Nov 93 17:30:16 CST
Message-Id: <9311232330.AA02697@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 7452; Tue, 23 Nov 93 18:28:23 EST
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 7813; Tue, 23 Nov 1993 18:28:20 -0500
Date:         Tue, 23 Nov 1993 23:18:16 GMT
Reply-To: "L.S.Ng" <L.S.Ng1@SOUTHAMPTON.AC.UK>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: "L.S.Ng" <L.S.Ng1@SOUTHAMPTON.AC.UK>
Subject:      Purely technical Big5 story
Comments: To: James Lin <chase@netcom.com>
Comments: cc: Chinese Computing Network <ccnet-l@uga.cc.uga.edu>
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
In-Reply-To:  <Pine.3.85.9311222208.A10024-0100000@netcom4>; from "James Lin"
              at Nov 22, 93 10:15 pm
Status: R

Replying to James Lin:

> I do not think it is natural to define a character set of a language
> simply considering about the "space problem" !?  What if we go back to
> the old days having those single sided 180K floppy disk, will then we cut
> off half of the characters and starting to use only those characters left
> in our daily life ?   Computer is just a tool designed to help us in our
> life.   Encoding is designed for human to use computer, not designed for
> computer to rule everything.

I heard of rumour that Chinese Language almost got Romanised just
because of the difficulties in computerisation. Well, technology solve
the problem. And now we are in the Nineties. What is 30 odd years
compared to 5000 years of history and culture??


By the way, you said:
> I do not think it is natural to define a character set of a language
> simply considering about the "space problem" !?

Of course I agree with you, from a Taiwanese point of view. But
'fortunately', the PRC did some previous work in simplifying the Char
set. So even before the publication of GB2312-80 standard, the XinHua
Zidian listed about 9000 Chinese characters. So it makes them so much
easier to formulate a set of 6768 character.

On the other hand, a traditional Chinese dictionary used to store some
13000 and more Chinese characters. So it is not technically possible for
you to suddenly adopt a set of roughly 7000 character.

The conclusion is, it is 'quite natural' for the PRC to do that, but not
Taiwanese.


(The same goes to Korea and Japan who used to have a smaller set of
Chinese character.)


> The 16X15 bitmap font file is split into 2 files just because the system
> is designed to seperate these two "most frequently used characters" and
> "less frequently used characters" for loading and buffering reasons.
> The character set is NOT too big.  As a matter of fact, it is not enough
> in many cases.  Like I mentioned, Chinese character encoding is really
> designed for helping us use our language on computers and should never
> restrict the use and the number of characters in the language simply for
> computer sizing reasons.

I had a closer look into the font files of Eten 3.0. The files are:

Fontfile        Size
STDFONTS.15   360330
STDFONT1.15    32490
SPCFONT.15     10950
SPCFSUPP.15    12240
ASCFONT.15      3840


Look at the disproportionate STDFONTS and STDFONT1 you will immediately
realise that the font file is not split into two according to the
common/rare attribute.

So I wrote a short QBASIC program to peek into each individual file for
a closer study. To my surprise, the start of STDFONTS is the character
Ying2 (HuanYing2 Welcome) code AAEF, and it ends with the last very very
rare character.

The start of STDFONT1 is of course the character ONE.

If you note the size of STDFONTS i.e. 360330, it just tightly fit into a
360K floppy disk!!!


As for the 24x24 bitmap files, all Chinese Characters are stored in ONE
contiguous file of size 942768. I guess this only come to exist in the
days of hard disk, so the size of font does not matter.

But why Eten 3.0 still used STDFONTS.15 and STDFONT1.15?? I don't see
any other answer other than that this is a quick and dirty solution
which perhaps the programmers are lazy to change.  I have not seen the
latest version 3.5, so I am not sure how is their attitude now.  (I do
not use Eten 3.5 because I prefer CStar. )



Liangsheng WU

ps.  In other previous posting of mine, I proposed FeiChangGuiZi
Protocol to solve the problem of lack of Chinese Character.  With this
protocol, we can implement **INFINITE** number of Chinese character
regardless of which set are you using. I am still hoping to see it
implemented.

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Thu Dec  2 00:08:36 1993
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA14229; Thu, 2 Dec 93 00:08:12 CST
Message-Id: <9312020608.AA14229@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 5740; Thu, 02 Dec 93 01:06:30 EST
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 0742; Thu, 2 Dec 1993 01:06:29 -0500
Date:         Wed, 1 Dec 1993 21:56:45 -0800
Reply-To: James Lin <chase@NETCOM.COM>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: James Lin <chase@NETCOM.COM>
Subject:      Re: Can I put Chinese fonts(not graphs) into WordPerfect for
              Windows?
Comments: To: Yihong Pei <IAXI500%INDYVAX.BITNET@uga.cc.uga.edu>
Comments: cc: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
In-Reply-To:  <199312011146.DAA02145@mail.netcom.com>
Status: RO

On Wed, 1 Dec 1993, Yihong Pei wrote:

> Hi, netters:
>
> WordPerfect?  I know that WordPerfect doesn't have a Chinese version and
> put in tables). So to install a CWINDOW or to use other Chinese editors may
> not be a good solution.  BTW, is there a kind of Chinese True Fonts for window
> and True Fonts edtor available?
>
> Yihong

First of all, I need to appologize to the net that I mistakenly expressed
that Wordperfect for Windows could work under CWIN, which is not true.

However, I confirmed again with WordPerfect in Comdex that they will have
a Chinese version soon.  (they already released the Japanese one in
Spring Comdex this year).

For your question, I do have some solution that you might find it
useful.  Seems like you are trying to create a single byte Chinese
TrueType font for English windows.  You don't really have to suffer that,
there are many packages could create single byte TTF or PS fonts for you.

TopFont, a single byte postscript font package, is designed to create
postscript Chinese font (single byte) so you could incorporate them into
your english applications.  Many TopFont users are using PageMaker,
QuarkExpress, CorelDraw and Adobe Illustrator together with Chinese.

Newtek's double byte Chinese true type font packages also include a
utility to convert from their double byte TTF to a single byte TTF.
Similar approach, however, some application like adobe's products will
only support PS fonts.

Hope this help.

James Lin

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Thu Dec  9 04:29:48 1993
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA25080; Thu, 9 Dec 93 04:29:45 CST
Message-Id: <9312091029.AA25080@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 3834; Thu, 09 Dec 93 05:27:49 EST
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 1097; Thu, 9 Dec 1993 05:27:47 -0500
Date:         Thu, 9 Dec 1993 11:23:10 +0100
Reply-To: Xiangdong Wang <wang@EXP-MATH.UNI-ESSEN.DE>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: Xiangdong Wang <wang@EXP-MATH.UNI-ESSEN.DE>
Comments: To: ccnet-l@uga.bitnet
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: R

Choo Lay Hwa <lhchoo%ISS.NUS.SG@VM.HRZ.UNI-ESSEN.DE> wrote:
>I am currently looking into the issue of scaling bitmap character images
>(including chinese characters) and would like to find out what are
>the existing font scaling technologies. In particular, is there any software
>or published algorithms that perform bitmap scaling?

There are some articles about scaling chinese characters.

  Rong-Hauh Ju: zigzag distribution algorithm for expanding chinese
                character patterns
                Optical Engineering 30(7), 986-993 (1991)

  B. S. Jeng: a chinese outline font generator with an intelligent-based
              learning system
              Proc. SPIE 1001, 687-693 (1988)

wang xiangdong

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Thu Dec  9 11:57:36 1993
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA29582; Thu, 9 Dec 93 11:57:16 CST
Message-Id: <9312091757.AA29582@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 1502; Thu, 09 Dec 93 12:54:00 EST
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 7952; Thu, 9 Dec 1993 12:52:49 -0500
Date:         Thu, 9 Dec 1993 17:41:36 +0000
Reply-To: John Delacour <JD@EREMITA.DEMON.CO.UK>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: John Delacour <JD@EREMITA.DEMON.CO.UK>
Subject:      Re: Font Scaling
Comments: To: CCNET-L@uga.cc.uga.edu
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: R

>Reply-To:     Choo Lay Hwa <lhchoo@iss.nus.sg> 7 Dec 1993 21:59:39 -0500
>
>.. would like to find out what are the existing font scaling technologies.
>In particular, is there any software or published algorithms that perform
> bitmap scaling?

For the Macintosh at least there is a programme called Fontographer.  This
also generates TrueType and PostScript fonts from bitmapped images.  I have
a demo version which I have used to generate Chinese fonts with moderate
success.

I quote also a recent posting by James Lin:-

>TopFont, a single byte postscript font package, is designed to create
>postscript Chinese font (single byte) so you could incorporate them into
>your english applications.  Many TopFont users are using PageMaker,
>QuarkExpress, CorelDraw and Adobe Illustrator together with Chinese.
>
>Newtek's double byte Chinese true type font packages also include a
>utility to convert from their double byte TTF to a single byte TTF.
>Similar approach, however, some application like adobe's products will
>only support PS fonts.


     John

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Fri Dec 24 01:20:40 1993
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AB08745; Fri, 24 Dec 93 01:20:29 CST
Message-Id: <9312240720.AB08745@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 6693; Fri, 24 Dec 93 02:04:15 EST
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 1916; Fri, 24 Dec 1993 02:03:22 -0500
Date:         Thu, 23 Dec 1993 08:27:00 -0500
Reply-To: Doug Schiffer <Doug.Schiffer@F513.N260.Z1.FIDONET.ORG>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: Doug Schiffer <Doug.Schiffer@F513.N260.Z1.FIDONET.ORG>
Subject:      Unicode Font file
Comments: To: CCNET-L@uga.cc.uga.edu
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: R

 On Mon 12-20-93,  6:18 pm, Liangsheng WU wrote:

 >From: "L.S.Ng" <ur-valhalla!soton.ac.uk!L.S.Ng1>
 >Is Unicode Font File for Chinese characters  available in the ftp site?

There is a 24x24 pixel Unicode font file available *somewhere* on
ifcss.org [129.107.1.155].  I had the exact directory also,
but alas, I've misplaced it.  The filename is 'UNIHAN24.ZIP'

Some caveats:  It was assembled piecemeal from existing GB, Big5, JIS
and CCCII font sets.  As such, there is not a uniform style to the
characters.  The problem is especially acute with the CCCII characters
which were "resampled" from a larger 64x64 pixel characters and
are therefore of especially poor quality.

There's also a good number of (1600?) characters missing.

 >If yes, I am ready to support Unicode for Chinese programming. Also, we
 >can make use of the Extended GB code now.

I though of the same thing with regard to the extended GB sets.  You
could extract a good number of them from a good Unicode font file.
But Unicode doesn't include every extended GB character, just a
subset.

 >If not, it doesn't make sense to support Unicode for in the first place,
 >it would be impossible to do that.

I think the main thing holding Unicode back is the un-availability of
font files.  One good complete 24x24 pixel font would be enough.
An outline font would make Unicode really take off.

[Of course, there'd be problems with Arabic and Indian languages, as they
need multiple characters for each Unicode codepoint.]


        Doug Schiffer

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Wed Dec 29 22:37:19 1993
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA21811; Wed, 29 Dec 93 22:37:15 CST
Message-Id: <9312300437.AA21811@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 0293; Wed, 29 Dec 93 23:34:39 EST
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 4542; Wed, 29 Dec 1993 23:32:03 -0500
Date:         Wed, 29 Dec 1993 22:30:04 -600
Reply-To: Stanley G Goertzen <goertzen@BADLANDS.NODAK.EDU>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: Stanley G Goertzen <goertzen@BADLANDS.NODAK.EDU>
Subject:      Re: Font editors
Comments: To: Doug Schiffer <Doug.Schiffer@F513.N260.Z1.FIDONET.ORG>
Comments: cc: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
In-Reply-To:  <9312290704.AA40818@badlands.NoDak.edu>
Status: R

Doug Schiffer <Doug.Schiffer@F513.N260.Z1.FIDONET.ORG> wrote:

>Looking at various bitmapped Chinese fonts, it occurs to me that
>there's a lot of repetition in the characters.  Part of this stems
>from the 214 radicals, of course.  But there's a slightly larger set
>of "semi-radicals" that show up regularly.
> ....
>Even more intriguing would be this same process extended to rescaleable
>fonts.  The radicals could be designed as "subroutines" which would
>then be "called" by each character.

It should be possible to generate 50,000 plus Chinese characters  with as
few as 1161 scalable glyphs and a few algorithms.

A book  called the "Sound System  of the Guangyun"  (see reference below)
rearranges  some  26,000  character  entries  of  a  Sung  dynasty  rhyme
dictionary  by "phonetic" elements.  There are 947 some phonetic elements
in  this analysis.   Combined  with the  214 Kangxi  dictionary "radical"
elements,  it  would  be theoretically  possible to  create  over 200,000
characters:

(214 "radicals") * (947 "phonetic" elements)  =3D  202,658 possible
combinations!

Needless to say,  not all of these possible combinations  actually occur;
but  you  would  need only  (947+214)  or  1161  outline  glyphs and  the
associated algorithms to combine and scale them  into pixel matrices.  It
seems to me it  shouldn't be that  difficult.  Some  of the matrices  are
more complicated than  others, but they are relatively few  in number and
it should not be too difficult to define them mathematically.  By far the
majority of characters are divided into two parts: "radical" on the left,
"phonetic" on the right.

It would be  the most efficient and productive character  creation system
yet devised.  If I were better in math and had the time,  I'd surely like
to look into this myself;  but I seem to recall reading somewhere  that a
similar   project  was  already  under   consideration  somewhere,  maybe
Stanford?  Does anyone know about this?

Reference:
Guangyun Shengxi ("Sound System of the Guangyun  rhyme dictionary"), Shen
Jianshi, editor, Beijing, 1945, 1960, reprinted by various publishers.
(e.g., Chung Hwa Book Co., Taipei, 1969, ...)
[=B3=C1]=BC=E6=CA=BF, =B9=E3=D4=CF=C9=F9=CF=B5.

Stanley Goertzen
goertzen@badlands.nodak.edu

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Thu Dec 30 01:56:19 1993
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA27011; Thu, 30 Dec 93 01:56:02 CST
Message-Id: <9312300756.AA27011@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 4201; Thu, 30 Dec 93 02:53:18 EST
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 0264; Thu, 30 Dec 1993 02:53:16 -0500
Date:         Wed, 29 Dec 1993 23:49:09 -0800
Reply-To: James Lin <chase@NETCOM.COM>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: James Lin <chase@NETCOM.COM>
Subject:      Re: Need recommendation
Comments: To: Duy-Minh NHIEU <dmnhieu@MATH.PURDUE.EDU>
Comments: cc: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
In-Reply-To:  <199312300433.UAA07414@mail.netcom.com>
Status: R

On Wed, 29 Dec 1993, Duy-Minh NHIEU wrote:

> I would like recommandation for the following:  I need a Chinese software
> to design posters (Fan-Ti words).  The requirements are:
>
> 1) under $300 US
> 2) Uses postscripts fonts or vector fonts (ie, when you enlarge the words, you
>    don't get staircase effects)
> 3) comes with several fonts: Ming, Kai, Li Shu, Han Shu, and Fan-Song.
> 4) preferably support postscript printers.
>
>
> The program cnprint is already pretty good.  Except I dont't have any high qu
ality fonts to work with.  Is there any place that I can buy 64x64 fonts?
>
> Another alternative is that if there are fonts that work with the English
program called "CorelDraw".
>

You may consider directly for putting Chinese characters into CorelDraw.
Currently, many font packages are designed or come with single byte TTF
or PS Chinese font utility.  TopFont are designed for generating PS
Chinese font.  Newtek's TTF packages comes with a utility to convert
double byte TTF into single byte.  Indeed's font package also could
generate TTF or WMF format.  All these could be used directly with CorelDraw.

One last thing, Chinese CorelDraw will be available soon.

James

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Fri Dec 31 01:51:26 1993
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA02686; Fri, 31 Dec 93 01:51:24 CST
Message-Id: <9312310751.AA02686@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 3819; Fri, 31 Dec 93 02:08:20 EST
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 6797; Fri, 31 Dec 1993 02:08:18 -0500
Date:         Fri, 31 Dec 1993 15:00:57 GMT
Reply-To: Curtis Smith <NTNUS239%TWNMOE10.BITNET@uga.cc.uga.edu>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: Curtis Smith <NTNUS239%TWNMOE10.BITNET@uga.cc.uga.edu>
Subject:      Font library
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: R

I have seen some talk about a font system based on radical combinations.2
Here in Taiwan, there are already two Big5 Open Font standard sets on the
market, one by ETen. The ET set consists of 14 font styles, and is 1.7 MB.
The other set has 16 fonts styles in 800 kB. The prices are around US$150.
What I want to see is a system with NO code (such as Big5 or GB) but only
a combined input/code, where you input your character by typing the radicals,
somewhat like the array (hang-lieh) system I mentioned several months ago. This
way, you could even be able to type VERY rare characters or non-existant charac
ters. Maybe Chu Pang-fu will have some ideas on this.

Curtis Smith

s21008@cc.ntnu.edu.tw
ntnus239@twnmoe10.edu.tw

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Sat Jan  1 09:35:06 1994
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA14946; Sat, 1 Jan 94 09:34:35 CST
Message-Id: <9401011534.AA14946@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 6368; Sat, 01 Jan 94 10:15:20 EST
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 2767; Sat, 1 Jan 1994 10:15:17 -0500
Date:         Sat, 1 Jan 1994 15:12:44 GMT
Reply-To: "L.S.Ng" <L.S.Ng1@SOTON.AC.UK>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: "L.S.Ng" <L.S.Ng1@SOTON.AC.UK>
Subject:      Application level Chinese programs
Comments: To: Chinese Computing Network <ccnet-l@uga.cc.uga.edu>
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: R

Replying to Hu Bo's questions:

> that's fine that you are thinking about a common administration of
caching area of fonts.  It is very important because bitmaped fonts are
very memory-intensive and, digitalizing outlined fonts to bitmaped ones
is cpu-intensive.  They are generally spoken, very resource-intensive.
Resource intensive items should be all administrated in a centralized
manner.  All right.

I recently read an advertisement in a HK magazine that Eten has put all
its fonts into the XMS to save conventional DOS memory. Also I think the
more important effect is it should improve the speed of displaying
Chinese characters. This implementation is similar to the ZIKU buffer
model I proposed.

ZIKU buffer can be (or is being) implemented on any type of Chinese
software, be it a system-level program like Eten or application level
program like NJSTAR.


> There are also some less resource-intensive items, like one or two user
defined words, or one or two user defined characters.  Well, do you
really want to see the users who had to create their new words or
characters again when they switch from one application to the other?

Of course not. That is why I proposed the idea of Feicangguizi Bitmap
format.

Application programs can share the same set of ZIKU files and
Feicangguizi bmp. This can be done without a Chinese shell or Chinese
o/s. What is needed is to follow the standard of HBF closely.


> And there are also something called screen and printer drivers.  Are
the users of Windows much more lucky, using ONE screen driver and ONE
printer driver for their whole job, in comparison to DOS users, dealing
three, four or even more "driver discs" coming with every and each new
application?

How does this question of yours relate to the subject?



> I am sorry but I really do not see any reason why one should focus on
application oriented Chinese implementations.

The simplest answer I can think of is this:

   The installations of Standard Windows versus Chinese Windows is
perhaps more than hundred to one.
   What works in Standard Windows should work in Chinese Windows as
well.
   Writing Chinese program for Standard Windows guarantee a potential
target users/market hundred time bigger because such program should work
in both Standard Windows and Chinese Windows.

   The same argument goes to DOS, Unix, Mac etc.

   The installations of Standard Mac O/S versus Chinese Mac O/S is
perhaps more than hundred to one
   ........


   So exactly how much more extra work need to be done on the
programmers side to achieve a more than hundred times potential market:
As I have shown earlier, it is no more than 5% and gets smaller as your
applications complexity grows.

Sincerely,
Liangsheng WU

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Sat Jan 22 07:06:05 1994
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA08448; Sat, 22 Jan 94 07:05:56 CST
Message-Id: <9401221305.AA08448@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 8452; Sat, 22 Jan 94 08:03:41 EST
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 3378; Sat, 22 Jan 1994 08:03:39 -0500
Date:         Sat, 22 Jan 1994 13:03:23 GMT
Reply-To: "L.S.Ng" <L.S.Ng1@SOTON.AC.UK>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: "L.S.Ng" <L.S.Ng1@SOTON.AC.UK>
Subject:      Dynamic Font Buffer
Comments: To: Chinese Computing Network <ccnet-l@uga.cc.uga.edu>
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: R

Dynamic Font Buffer
===================

Introduction
------------
I have discussed briefly the concept of Font Buffer (or ZIKU Buffer) in
a posting to CCNET-L earlier.

Just to refresh our memory, consider implementing a prototypical
'chprintf()' (Chinese Print Function).

The parameter in this function is a string of Chinese character code.
These codes directly map to a position of the font data residing either
in a disk file or a memory block. Such a disk file would be a Chinese
font file e.g. CCLIB.16. If we fetch font data intensively, it would be
much faster if the font data resides in a memory block instead of a disk
file. Such a memory block is called Font Buffer.


Dynamic Font Buffer
-------------------
How much memory should we allocate for Font Buffer? With Dynamic Font
Buffer (DFB), the size of memory required is dependent on the number of
character code used. e.g. In a typical Chinese article, statistics shows
that only about 500-1000 character codes are used. So the required DFB
is 1000x32 = 32000 bytes (assuming we use 16x16 font).

We maintain a table of pointers that points to the actual position of
the font data.  The index of this table of pointers is none other than
the character code itself.  So for GB coding scheme, we require about
8000 character code.  The size of the table is then 8000x2 = 16000 bytes
if we use 16 bit pointers, which can address up to 64K of memory.  So we
can hold 64K of font data, equivalent to 2000 characters of 16x16
bitmap.  This should be sufficient for normal application.  Using 32 bit
pointer will be slower and should only be used if we need to handle
large and very special document, such as dictionary.

On intialisation, all pointers in the table are reset to null.  We then
fetch font data from Font File and store them in the Font Buffer and set
the pointers accordingly.  We may fetch as many character as
anticipated.

When the function chprinf() is called, it translate the each character
code into the index to the table of pointers of the DFB.  If the pointer
is null, then we call another routine that fetch Font Data from File and
store it in the DFB.  If it is not null, then we fetch the font data
from the DFB.

Note that, the Font Data of each character would need only ONE fetch.
After the first fetch the pointer is set.

If the pointer is set (not null), then we fetch the font data from the
DFB directly.


Extensions
----------
The most basic implementation of DFB, as described above, use 16 bit
pointers with 64K addressable space for Font Data.

To extend this, we can either use 32 bit pointers or Segmented memory
with 16 bit offset.

In segmented memory with 16 bit offset, we can allocate one or more
segments of 64K space for Font Data.

With 32 bit pointers, we can address up to 2^32 bytes of memory space.
The trade off is speed.

So segmented memory with 16 bit offset would be a practical choice.


Applications
------------
As can be seen from some figures above, the memory required for DFB is
as little as 16K minimum for the table of pointers, with variable size
of Font Data space up to 64K. This is a practical approach to small
applications like 'type' command in DOS or 'cat' command in Unix or a
simple file viewer.

The extended implementation would be useful for larger application such
as word processing systems.


Isolating Font File Format
--------------------------
Font Buffer also serve as a medium between Font Files and the display
function (e.g. chprintf()). Hence, when implementing chprintf(), we can
forget about the format of the font files. As cited above, we could call
a separate function for fetching font data from font file.

Routines for fetching font data of particular file format (e.g. HBF,
Feicangguizi) should be available from various sources. As we move into
MS-Windows programming or X-Windows programming, we would need to deal
with new file formats. So isolating font file format from the
implementation of display function using Font Buffer should be
practically useful.


Liangsheng WU
21 Jan 1994
Department of Electronics and Computer Science,
Southampton University.
email: lsn@mail.soton.ac.uk (Southampton)
       liang@hsng.pl.my (Sungai Petani)


References
----------
File formats :

1. HBF Hanzi Bitmap File, by Dr. Man-chi Pong,
                ftp ifcss.org:/software/fonts/HBF
2. Feicangguizi, by myself, email for details.


A utility for counting number of character codes in a document,
   COUNT.BAS, by myself, email me for a copy.

Font file: CCLIB.16, ftp ifcss.org:/software/fonts

ZIKU Buffer part I, by myself, email for details.

CCNET-L, Chinese Computing Network List, email jiang@ifcss.org for
    details.

A Q&A on Guobiao Coding and CCLIB.16, compiled by Zhang Jin,
    email me for details

A Chinese PRINT and LPRINT for QBASIC, by myself,
    ftp ifcss.org:/software/misc/yinzi.zip

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Wed Mar 16 18:20:37 1994
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA29578; Wed, 16 Mar 94 18:20:34 CST
Message-Id: <9403170020.AA29578@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 3124; Wed, 16 Mar 94 19:17:36 EST
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 7764; Wed, 16 Mar 1994 16:14:47 -0500
Date:         Wed, 16 Mar 1994 13:09:14 PST
Reply-To: "Simon Chow ~{V9zP[~}" <khsc@SYNOPTICS.COM>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: "Simon Chow ~{V9zP[~}" <khsc@SYNOPTICS.COM>
Subject:      fon file
Comments: To: CCNET-L@uga.cc.uga.edu
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: RO

A few days ago, some on asked if anybody can upload the .fon file for
the corresponding TTF file uploaeded to ifcss.org.  I would like to see
that happen as well, I do not have CWIN, so I cannot create these files.
And I have just found out that MSC compiler comes with a set of graphic
routines that handles .fon file format,  I understand that these library
calls are probably designed for ASCII .fon file, I just wonder if we
can go through some transformation and extract the chinese characters
stored in the .fon files,  it would be very useful as the MSC graphic
library handles sacaling for you, all you need to do is to give the
h-size and v-size as input to the routine!

If you don't thing it is appropriate to upload it to ifcss, can someone
mail these files to me or upload it to synoptics ftp server?  you can
use ftp.synoptics.com:/tmp/simon directory,  don't try to do a dir
on the root directory, our SA disable 'ls' on all directory other
thank /tmp

                                |\/\/\/|
=============================== |      | ====================================
|                               | (o)(o)                                    |
| Simon Chow                    C      _)     UUCP: att!synoptics.com!schow |
| SynOptics Communication Inc.   | ,___|  INTERNET: schow@synoptics.com     |
| 4401 Great America Pkwy,       |   /       Voice: +1 (408) 764-1327       |
| Santa Clara, CA 95052-8185    /____\         Fax: +1 (408) 988-5525       |
=============================================================================

#include <std/disclaimer.h>

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Thu May 19 14:35:22 1994
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA10454; Thu, 19 May 94 14:35:20 CDT
Message-Id: <9405191935.AA10454@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 3830; Thu, 19 May 94 15:33:06 EDT
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 3497; Thu, 19 May 1994 14:36:27 -0400
Date:         Thu, 19 May 1994 19:18:32 BST
Reply-To: "L.S.Ng" <L.S.Ng1@SOTON.AC.UK>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: "L.S.Ng" <L.S.Ng1@SOTON.AC.UK>
Subject:      TTF to BMP succeed
Comments: To: Chinese Computing Network <ccnet-l@uga.cc.uga.edu>
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: R

Thanks to the author of the NTU TTF fonts (Lin YawJen), I have obtained
a subroutine for converting TTF to Bitmap.

My testing has finished today. It worked!!

I have been able to port it to GNU C compiler on PC, using the GRX
Graphics library <grx.h>.  The original routine uses Microsoft C
compiler Graph <graph.h> library. The porting is trivial once you
understand the program.

The author has been careful to include a compiler directive that disable
the graphics output. In this case, the font is stored in memory only.

The test program run in DOS. It should also compile in plain Unix though
I have not tried out.

The result has been satisfying. At 24x24, it looks quite good. However,
discrepancies start to creep in at 16x16, because there is not hinting
applied.

I viewed it on 640x480 mode. 24x24 is just about the right size. So
application programmers may like to take advantage of this.

However, as I said earlier, there is really not much benefit to be
gained for using TTF on video display, because Bitmap file is just as
good and the file size is small. Only if the bitmap file grow larger
than 3MB e.g. for 48x48 bitmap then a TTF is practical.

So the main application will be on printing.  I am now ready to write a
TTF to Postscript translation routine.  But I could not find much time
now to work on this exciting project.  How someone on the net would like
to do it.

Next, I shall go on composing the TTF file so as to make it smaller than
1MB.

I have only ftp the smallest TTF file i.e. ntu_li_m.ttf. This is 'Li'
style. It seems smaller than the rest. Probably because 'Li' style has
not so many sharp stroke. :-)

The working copy is available for distribution now. Please email me if
you are interested. However, I have yet to find time to write some
documentations. For the moment, you will rely on the comments within the
code to understand it.


Yours,
Liangsheng Wu

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Fri May 20 13:07:52 1994
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA28183; Fri, 20 May 94 13:07:35 CDT
Message-Id: <9405201807.AA28183@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 2798; Fri, 20 May 94 14:05:56 EDT
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 6330; Fri, 20 May 1994 14:05:50 -0400
Date:         Fri, 20 May 1994 18:57:48 BST
Reply-To: "L.S.Ng" <L.S.Ng1@SOTON.AC.UK>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: "L.S.Ng" <L.S.Ng1@SOTON.AC.UK>
Subject:      More about TTF (group answers)
Comments: To: Chinese Computing Network <ccnet-l@uga.cc.uga.edu>
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: R

Date: Fri, 20 May 1994 11:08:44 -0500
From: Sy (a.k.a. Shi-Yew) <sychen@ecn.purdue.edu>

> Could you mail me the codes? The bitmap font can be used in
> which environment?

Yes, I will mail the code to you.

Those who are interested please try ftp ttf2bmp.zip from
bright.ecs.soton.ac.uk:/pub/incoming

If you have tried ftp but unsuccessful, please email me and I will send
you a copy.

By the way, I need someone to help me putting the files to
ifcss.org:/incoming/software but the connection from here has not been
possible.


Theoretically the bitmap can be used in ANY environment.

The program reads a Big5 TTF font file, but not a GB font file.

The converted bitmap is stored in an array called 'font_buf'.

No output file is produced.

I am sorry if end users are disappointed with the program.  It is
intended for programmers.  However, if you do know a bit of programming,
you can take advantage of it.  :-) For example, you can produce Windows
BMP files by using BMP conversion subroutine (if you have one).

But I believe many application programmers will be able to take advatage
of it and usable products should come out soon.



Date: Fri, 20 May 94 11:05:21 EST
From: dmnhieu@math.purdue.edu (Duy-Minh NHIEU)

> Thanks and congragulation!  Can I have a copy of the code?

Don't thank me. The program is written by Lin Yawjen from NTU, Taiwan.
That explains why the program can only read Big5 TTF files.

However, there is nothing to stop anybody to modify it so that it can
read GB TTF (if there is one).  One of the reason I post it is to hope
that some of you may be able to do it.

Lin Yawjen is a very helpful person. Perhaps he is too busy to
accomplish so many task. Everyone can contribute.

He mentioned that the NTU TTF font are generated from Eten and DynaFont
bitmap!! What a job! And he said he is willing to give away the 'bitmap
to TTF' generator to the public domain. I think this can be used to
generate Guobiao TTF. Anybody interested should contact him directly.
His email address is shown in the NTU TTF packages README file. I can't
remember.

> What I want to do is to get a 64x64 bitmap from one of the TTF file and
> use it with cnprint to get good print outs.  I don't have an IBM at home
> and I don't have Chinese window! Cnprint is my current best tool for
> printing.  However since there are not font bigger than 24x24 available
> (share/free) The result is not too nice if enlarged.

I am not sure which platform Cnprint is on. Is it Unix? Or Mac?

You can generate 64x64 bitmap easily from the ttf2bmp program. You need
to generate bitmap file recognised by your cnprint. You should ask those
who knows CNprint.

I will attempt to write a TTF to Postscript translator so that we can
print Chinese characters on Postscript devices CHEAPLY.  Actually the
work is quite trivial.  Because TTF and Postscript both define curves
using second order Bezier approximation, so what I need to do is just
translate into Postscript syntax.  I hope the author of hz2ps will do it
first.  :-)


From: Frits Mastik <mastik@tch.fgg.EUR.nl>

>I am very interested in having a look at your conversion program.
>My main interest is to be able to use these TTF fonts in CORELDRAW.
>Because I can't use the fonts directly, I am thinking about
>converting them to an exceptable format for CORELDRAW.
>So I would be very greatful if you could send me a copy of your
>efforts.

At the moment, I have a program that generate Microsoft BMP. So it is
possible to combine ttf2bmp and this to get TTF to MS-BMP function. And
I believe CorelDraw will recognise MS-BMP files. But as I said, this is
not itself a finished product. If you are interested in doing a little
bit of programming, you may have a go. But I am sorry that is all I can
do.

I believe others may have better solution.

By the way, does CorelDraw read Postscript file?


From: Lance Carnes <pti@crl.com>

> I hope you don't mind my asking you a question on the NTU TrueType fonts
> available for downloading at ifcss.org.  I am very new to using Chinese
> Windows (GB version, I guess).  I downloaded the NTU fonts; however, my
> Chinese Windows won't recognize them when I tried to install them through
> "Control Panel" and "Fonts".  Are they for GB version or Big5 version of
> Chinese Windows?  If they are actually for Big5 version, is there a way
> of converting them so they can be used in GB version of Chinese Windows?
> By the way, how can you tell whether you are using GB version of Big5
> version of Chinese Windows?

Unfortunately those NTU Fonts are only for Big5 Chinese Windows. I am
not responsible for the fonts itself. You may like to talk to the author
directly.



>If there is no way I can use the NTU TrueType fonts, do you know of any
>place I can get some additional Chinese TrueType fonts to work with GB
>version of Chinese Windows?  Thank you for the help in advance!

I am sorry I can't help you directly.  We need somebody to take up the
project for Guobiao True Type Font, as I suggested above.


From: ingar.holst@admin.uio.no

> Can I in any way utilize what you have just made in concord with a DOS,
> NJSTAR PRO-surrounding?

If you already have NJStar-Pro, I imagine that ttf2bmp program is quite
useless to you.  But not to disappoint you, soon there will be a program
to produce Postscript file from Big5 document using the big5 NTU
true-type font.

Since NJ-Star can produce Big5 character, you will be able to use it
together with the new program.  And I think the quality of the print out
will be at least as good as NJSTAR PRO fonts.

But you may have to wait for a few weeks for this.

I believe subsequently, future version of NJSTAR (or others) should be
able to take advantage of the TTF2BMP routines so that it can slim down
on its large font files. The mechanism is that only one TTF font file is
required for fonts of any size.

The bottom line is that TTF is no longer restricted to Windows.

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Mon May 23 05:24:03 1994
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA24789; Mon, 23 May 94 05:24:01 CDT
Message-Id: <9405231024.AA24789@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 3495; Mon, 23 May 94 06:22:27 EDT
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 2332; Mon, 23 May 1994 06:22:26 -0400
Date:         Mon, 23 May 1994 11:03:52 BST
Reply-To: "L.S.Ng" <L.S.Ng1@SOTON.AC.UK>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: "L.S.Ng" <L.S.Ng1@SOTON.AC.UK>
Subject:      Re: Chinese PS font on NeXT
Comments: To: Chinese Computing Network <ccnet-l@uga.cc.uga.edu>
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: R

Chinese PS Font for NeXT:

Forwarded message:
> From: Ta-Wei Li <taweil@skat.usc.edu>
> Subject: Re: Chinese PS font on NeXT
> Date: Mon, 23 May 1994 02:42:03 -0700 (PDT)

> Please reply to david@twnug.info.com
> Check cs.orst.edu:/pub/next/fonts/KaiSu... (Don't remeber exactly how it
> was named.) The 5+MB file contains a typeface of Chinese PS font for
> NeXTSTEP.
> See the readme for detail. Also, there is a PinYinEdit.app.compressed
> somewhere in the same ftp site. It's a Chinese Input app.

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Sat May 28 10:36:22 1994
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA01922; Sat, 28 May 94 10:36:18 CDT
Message-Id: <9405281536.AA01922@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 2888; Sat, 28 May 94 11:34:31 EDT
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 9356; Sat, 28 May 1994 11:34:29 -0400
Date:         Sat, 28 May 1994 16:26:16 BST
Reply-To: "L.S.Ng" <L.S.Ng1@SOTON.AC.UK>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: "L.S.Ng" <L.S.Ng1@SOTON.AC.UK>
Subject:      TTF to PS curve conversion (1/5)
Comments: To: Fonts Newsgroups <comp.fontspostscript@mail.soton.ac.uk>,
          Chinese Computing Network <ccnet-l@uga.cc.uga.edu>
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: R

True Type Font Curve Data to Postscript Curveto Data Conversion
===============================================================

In certain applications, it is required to convert the True Type Font
Curve data to Postscript Curveto Data. For example, to print a Chinese
character defined in a Chinese TTF file to a Postscript printer.

The TTF Curve Data is suited Quadratic Bezier B-spline Approximation.
The number of data points (control points) may be 3 or more.

The Postscript Curveto Data is suited for Cubic Bezier B-spline
Approximation. The number of data points is exactly 4. In the case where
there are 4 data points, Cubic Bezier B-spline is the same as Cubic
Bezier Bernstein.

The procedure is:

1. Break the long Quadratic Bezier B-spline curve specified by the TTF
data into short Quadratic Bezier B-spline curve each having exactly 3
control points. In this case where there are 3 data points, Quadratic
Bezier B-spline is the same as Quadratic Bezier Bernstein.

2. Convert each short Quadratic Bezier B-spline curve into Cubic Bezier
B-spline curve specified by 4 data points. The result is the Postscript
curveto data.


The detailed description for each stage of the procedure is described
separately in the following 3 articles:

1. Algorithm for Splitting Long Bezier B-spline Curve
2. Evaluating B-spline function at whole number
3. Conversion of Quadratic Bezier curve to Cubic Bezier Curve

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Sat May 28 10:36:24 1994
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA01923; Sat, 28 May 94 10:36:21 CDT
Message-Id: <9405281536.AA01923@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 8121; Sat, 28 May 94 11:35:08 EDT
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 9408; Sat, 28 May 1994 11:35:06 -0400
Date:         Sat, 28 May 1994 16:29:02 BST
Reply-To: "L.S.Ng" <L.S.Ng1@SOTON.AC.UK>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: "L.S.Ng" <L.S.Ng1@SOTON.AC.UK>
Subject:      TTF to PS curve conversion (2/5)
Comments: To: Chinese Computing Network <ccnet-l@uga.cc.uga.edu>,
          "Comp.Fonts Newsgroup" <comp-fonts@cs.utexas.edu>,
          Postscript Newsgroup <comp-lang-postscript@cs.utexas.edu>
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: R

Algorithm for Spliting Long Bezier B-spline Curve
=================================================

Here I present my findings without rigourous mathematical proof. The
results were verified using a small C program.  I shall seek formal
mathematical proof for the results.

A Quadratic Bezier B-spline curve can have N+1 control points, where
N >= 2. It is possible to represent exactly such a curve with N-1 short
Quadratic Beizer B-spline curve segments each of which has 3 control
points only.

Suppose P(t)(X(t), Y(t)) is the 'Long' Quadratic Bezier B-spline curve
defined by N+1 control points P0(X0, Y0), P1(X1, Y1) ...  P[N](X[N],
Y[N]).  Here 0 <= t <= n - m + 1, where m is the degree of the B-spline
i.e. m = 2 and (n+1) is the number of control points, so n = N. Hence
0 <= t <= N-1.

Let p[i](s) be a short Quadratic Bezier B-spline curve segment such that
0<=i<=N-2, so that there are N-1 segments.  Each segment has 3 control
points p0[i], p1[i] and p2[i], whose coordinates are (x0[i], y0[i]),
(x1[i], y1[i]) and (x2[i], y2[i]) respectively.  Here the parameter of
the curve, s, is such that 0 <= s <= n - m + 1. Here n+1=3 and m=2.
Hence 0 <= s <= 1.

It was found that

p0[i] = P(i)
x0[i] = X(i)
y0[i] = Y(i)

p1[i] = P[i+1]
x1[i] = X[i+1]
y1[i] = Y[i+1]

p2[i] = P(i+1)
x2[i] = X(i+1)
y2[i] = Y(i+1)

where i is an integer such that 0 <= i <= N-1 and N+1 is the number of
the control points in the long curve P(t).

In words, the starting point p0[i] of the i-th segment is the point
P(t) where t=i and t is an integer. The middle control point p1[i] of
the i-th segment is the [i+1]-th control point, P[i+1], of the long
curve P(t). The end point p2[i] of the i-th segment is the point P(t)
where t=i+1 and t is an integer.

For example, the zeroth segment (i=0) (remeber we deal with number base
0). The starting point of this segment is P(0) which is also P0. The
middle control point of this segment (i=0) is P[i+1] that is P1. The end
point of this segment is P(i+1) or P(1).

Note that P(1) lies between P1 and P2.  It is the intersection of the
curve and the straight line joining P1 and P2. Also the slope at P(1) is
the same as the slope of the straight line joining P1 and P2.

In general, P(i), where i is an integer, lies between P[i] and P[i+1]
except at the begin and end points where P(i) coincides with either one
of them.  P(i) is the intersection of the curve P(t) and the straight
line joining P[i] and P[i+1].  The slope of P(t) and this point is the
same as the slope of the straight line joining P[i] and P[i+1].

This properties provides a quick way of sketching the points P(t) where
t=i is an integer.

The next segment is the 'first' segment (i=1). The starting point is
P(i) that is P(1). This conincides with the end point of the previous
segment. Not only that, the differential is also continuos, resulting in
a smooth curve. The middle point of this segment is P[i+1] or P2. In
other words, the middle control point of the first segment is the second
control point (of the long curve P(t)). The end point of this segment is
P(2).

Note the difference of P(i) and P[i]. P(i) is the point on
P(t) evalutated at the point where t=i. P[i] is the i-th control point
of the curve P(t).

Finally, the last segment is the (N-2)-th segment (i=N-2). As there are
only N-1 segments, the last number is N-2. The control points are
P(N-2), P[N-1] and P(N-1).

Note that at the last point of P(t), P(N-1) = P[N].  Also the beginning
point P(0) = P[0].

This enables the control points p0, p1, p2 of each short segment p[i](s)
to be found. This in turn fully defines each short segment p[i](s).
Hence the long curve P(t) can be represented exactly by short segments
of p[i](s) where i is an integer such that 0 <= i <= N-2, and N + 1 is
the number of control points in the long curve P(t), and 0<=s<=1.

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Sat May 28 10:46:48 1994
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA02208; Sat, 28 May 94 10:46:44 CDT
Message-Id: <9405281546.AA02208@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 2683; Sat, 28 May 94 11:45:24 EDT
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 9729; Sat, 28 May 1994 11:45:21 -0400
Date:         Sat, 28 May 1994 16:30:10 BST
Reply-To: "L.S.Ng" <L.S.Ng1@SOTON.AC.UK>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: "L.S.Ng" <L.S.Ng1@SOTON.AC.UK>
Subject:      TTF to PS curve conversion (4/5)
Comments: To: Chinese Computing Network <ccnet-l@uga.cc.uga.edu>,
          "Comp.Fonts Newsgroup" <comp-fonts@cs.utexas.edu>,
          Postscript Newsgroup <comp-lang-postscript@cs.utexas.edu>
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: R

Conversion of Quadratic Bezier curve to Cubic Bezier Curve
==========================================================

Problem: Prove that a quadratic Bezier curve with 3 control points
P20(x20, y20), P21(x21, y21), P22(x22, y22) can be exactly represented
by a cubic Bezier curve with 4 control points P30(x30, y30), P31(x31,
y31), P32(x32, y32), P33(x33, y33) where

x30 = x20 and y30 = y20
x33 = x22 and y33 = y22

x31 = x20 + 2/3 (x21 - x20)
y31 = y20 + 2/3 (y21 - y20)

x32 = x21 + 1/3 (x22 - x21)
y32 = y21 + 1/3 (y22 - y21)


Proof:

Since the quadratic Bezier curve has 3 control points, we can use either
Bernstein or B-spline as the basis function. Bernstein is equivalent to
B-spline if N = M where N+1 is the number of control points and M is the
degree of the Bezier curve. Likewise for the cubic curve which has 4
control points.

So a quadratic curve P2(t) where 0 <= t <= 1 can be written as

x2(t) = x20*B02(t) + x21*B12(t) + x22*B22(t)
y2(t) = y20*B02(t) + y21*B12(t) + y22*B22(t)

where B[k][n](t) is the Bernstein basis function given by

      B[k][n](t) = n!x^k(1-x)^(n-k)/(k!(n-k)!)

(See Computer Graphics literature for details. I used Plastock and
Kelley's Schaum's Outline Series on Computer Graphics Chapter 9)

Similarly a cubic curve P3(t) where 0 <= t <= 1 can be written as

x3(t) = x30*B03(t) + x31*B13(t) + x32*B23(t) + x33*B33(t)
y3(t) = y30*B03(t) + y31*B13(t) + y32*B23(t) + y33*B33(t)

Boundary conditions:

1. To fit a quadratic curve to a cubic curve i.e.

   P2(t) = P3(t)

2. The start and end points of both curve must agree i.e.

   x30 = x20 and y30 = y20
   x33 = x22 and y33 = y22

Procedure of proof:

For the x coordinates:
1. Equate P2(t) and P3(t) above i.e. equate expressions for x2(t) and
x3(t).

        x3(t) = x2(t)
that is
        x30*B03(t) + x31*B13(t) + x32*B23(t) + x33*B33(t)
        = x20*B02(t) + x21*B12(t) + x22*B22(t)

2. Substitute x30 = x20 and x33 = x22.

        x20*B03(t) + x31*B13(t) + x32*B23(t) + x22*B33(t)
        = x20*B02(t) + x21*B12(t) + x22*B22(t)

3. Move the terms x20 and x22 on the left hand side to the right hand
side.
        x31*B13(t) + x32*B23(t)
        = x20*(B02(t)-B03(t)) + x21*B12(t) + x22*(B22(t)-B33(t))

4. Expand all B[k][n](t) basis function in terms of t. Simplify terms.
Dividing throughout by t(1-t) to obtain:

       3(1-t)*x31 + 3t*x32 = (1-t)*x20 + 2*x21 + t*x22

5. Put t=0 to get x31

        3*x31 = x20 + 2*x21
          x31 = 1/3 (x20 + 2*x21) = 2/3 (x21 - x20) + x20

6. Put t=1 to get x32

        3*x32 = x22 + 2*x21
          x32 = 1/3 (x22 + 2*x21) = 1/3 (x22 - x21) + x21

Likewise for y.

Quad errat demonstradum (Proven as required)

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Sat May 28 10:47:10 1994
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA02217; Sat, 28 May 94 10:47:06 CDT
Message-Id: <9405281547.AA02217@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 8129; Sat, 28 May 94 11:45:48 EDT
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 9779; Sat, 28 May 1994 11:45:45 -0400
Date:         Sat, 28 May 1994 16:30:55 BST
Reply-To: "L.S.Ng" <L.S.Ng1@SOTON.AC.UK>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: "L.S.Ng" <L.S.Ng1@SOTON.AC.UK>
Subject:      TTF to PS curve conversion (5/5)
Comments: To: Chinese Computing Network <ccnet-l@uga.cc.uga.edu>,
          "Comp.Fonts Newsgroup" <comp-fonts@cs.utexas.edu>,
          Postscript Newsgroup <comp-lang-postscript@cs.utexas.edu>
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: R

/* Example: Splitting Long Bezier B-spline Curve */
/* Bezier B-Spline Approximation */
/* uses Borland BGI */

#include <stdio.h>
#include <stdlib.h>
#include <graphics.h>
#include <float.h>

#define oy 240

/* knot set for long quadratic Bezier curve */
double t[] = {0, 0, 0, 1, 2, 3, 4, 4, 4};
/* control points for long Bezier curve */
double y[] = { 0, 2, -2, 0, -1, 0};
double x[] = { 0, 1, 2, 3, 4, 5};

/* knot set for short quadratic Bezier curve */
double t2[] = {0,0,0,1,1,1};
/* arrays of control points for short quadratic Bezier curve */
double sx[3], sy[3];

/* knot set for (short) Cubic bezier curve */
double t3[] = {0,0,0,0,1,1,1,1};
/* arrays of control points for short cubic Bezier curve */
double cx[4], cy[4];

/* B-Spline basis/blending function */
double B(int i, int n, double x, double *t);
/* First derivative of B(x) */
double B1(int i, int n, double x, double *t);

/* Customised Divide function */
double DIV(double a, double b);

/* X coordinate of Bezier curve at (t) */
double X(int n, int m, double t, double *s, double *x);
/* Y coordinate of Bezier curve at (t) */
double Y(int n, int m, double t, double *s, double *y);
/* n = number of terms to sum, m = degree of Bezier curve
   s = knot set, y = array of control points */


main()
{   int gdrv=VGA, gmode=VGAHI, k, j;
    double i, xsum, ysum, axsum;

    initgraph(&gdrv, &gmode, "");

    /* Draw long quadratic Bezier curve */
    setcolor(0);
    for (i=3.9999; i>=0; i-=0.1) {
    lineto((int) (X(5,2,i,t,x)*100), (int) (oy-Y(5,2,i,t,y)*100));
    setcolor(14); /* yellow */
    }

    /* Draw control points of long Bezier curve */
    setcolor(0);
    for (k=0; k<=5; k++) {
    lineto ((int) (x[k]*100), (int) oy-(y[k]*100));
    if (k==0) setcolor(15); /* white */
    }

    /* Draw segments of short quadratic Bezier curve */
    for (k=0; k<=3; k++) {

    sx[0] = X(5,2,(double)k+.0001,t,x);
    sy[0] = Y(5,2,(double)k+.0001,t,y);
    sx[1] = x[k+1];
    sy[1] = y[k+1];
    sx[2] = X(5,2,(double)(k+.9999),t,x);
    sy[2] = Y(5,2,(double)(k+.9999),t,y);

    setcolor(0);
    for (i=0; i<=1; i+=0.05) {
    lineto((int) (X(2,2,i,t2,sx)*100), (int) (oy-Y(2,2,i,t2,sy)*100));
    setcolor(13); /* magenta */
    }

    /* Draw control points of short quadratic bezier curve */
    setcolor(0);
    for (j=0; j<=2; j++) {
    lineto ((int) (sx[j]*100), (int) oy-(sy[j]*100));
    setcolor(12); /* red */
    }

    cx[0] = sx[0];
    cy[0] = sy[0];
    cx[3] = sx[2];
    cy[3] = sy[2];
    cx[1] = (2*sx[1]+sx[0])/3;
    cy[1] = (2*sy[1]+sy[0])/3;
    cx[2] = (sx[2]+2*sx[1])/3;
    cy[2] = (sy[2]+2*sy[1])/3;

    setcolor(0);
    for (i=0.0001; i<=1; i+=0.05) {
    lineto((int) (X(3,3,i,t3,cx)*100), (int) (oy-Y(3,3,i,t3,cy)*100));
    setcolor(11); /* cyan */
    }

    /* Draw control points of short cubic bezier curve */
    setcolor(0);
    for (j=0; j<=3; j++) {
    lineto ((int) (cx[j]*100), (int) oy-(cy[j]*100));
    setcolor(10); /* green */
    }
    }

    /* Plot Gradient of Curve vs x coordinate */
    setcolor(0);
    for (i=0; i<=4; i+=0.1) {
    xsum = 0; ysum = 0; axsum = 0;
    for (k=0; k<=5; k++) {
        xsum += x[k]*B1(k, 2, i, t) ;
        ysum += y[k]*B1(k, 2, i, t) ;
        axsum += x[k]*B(k, 2, i, t) ;
        }
    lineto((int) (axsum*100), (int) (oy-DIV(ysum,xsum)*50));
    setcolor(9); /* blue */
    }

    /* Enter a dummy integer to finish */
    scanf("%d", &k);
    closegraph();

}

double B(int i, int n, double x, double *t)
{
     if (n==0) {
        if (x>= t[i] && x <= t[i+1]) return (double) 1;
        return (double) 0;
        }
     else return (double) DIV((x - t[i])*B(i, n-1, x, t), t[i+n] - t[i])
         + DIV((t[i+n+1] - x)*B(i+1, n-1, x, t), t[i+n+1] - t[i+1]);
}

double B1(int i, int n, double x, double *t)
{
     if (n == 1) return DIV( B(i,0,x,t), t[i+1]-t[i] )
                        - DIV( B(i+1,0,x,t), t[i+2]-t[i+1] );
     else return DIV(B(i,n-1,x,t)+(x-t[i])*B1(i,n-1,x,t) , t[i+n]-t[i])
     + DIV((t[i+n+1]-x)*B1(i+1,n-1,x,t)-B(i+1,n-1,x,t) , t[i+n+1]-t[i+1]);
}

double DIV(double a, double b)
{
     if (a==0 && b==0) return 0;
     if (a!=0 && b==0) return DBL_MAX;
     if (a > 1e4*b) return 1e4;
     return a/b;
}

double X(int n, int m, double t, double *s, double *x)
{
    double xsum=0, b;
    int i;

    for (i=0; i<=n; i++) {
    b = B(i, m, t, s);
    xsum += (double) x[i]*b;
    }

    return (double) xsum;
}

double Y(int n, int m, double t, double *s, double *y)
{
    double ysum=0;
    int i;

    for (i=0; i<=n; i++)
    ysum += (double) y[i]*B(i, m, t, s);

    return (double) ysum;
}

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Sat May 28 10:47:44 1994
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA02226; Sat, 28 May 94 10:47:40 CDT
Message-Id: <9405281547.AA02226@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 2897; Sat, 28 May 94 11:45:36 EDT
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 9753; Sat, 28 May 1994 11:45:34 -0400
Date:         Sat, 28 May 1994 16:29:34 BST
Reply-To: "L.S.Ng" <L.S.Ng1@SOTON.AC.UK>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: "L.S.Ng" <L.S.Ng1@SOTON.AC.UK>
Subject:      TTF to PS curve conversion (3/5)
Comments: To: Chinese Computing Network <ccnet-l@uga.cc.uga.edu>,
          "Comp.Fonts Newsgroup" <comp-fonts@cs.utexas.edu>,
          Postscript Newsgroup <comp-lang-postscript@cs.utexas.edu>
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: R

Problems of Evaluating B-spline function at Whole Number
========================================================

The value of a B-spline function at whole number is useful in
determining break points of a long Bezier B-spline Approximation Curve.

Unfortuantely, it was found that a B-spline function behaves badly with
whole number, especially when the knot set is a progression of whole
number. Such knot set is often chosen in Bezier B-spline Approximation.

One suggested way to get around this problem is to evaluate the B-spline
function at a real number very close to the whole number.

The nature of this problem is not due to floating point representation
of real number, but rather with the definition of the B-spline function
itself.

A B-spline function is evaluated recursively such that in C langauge.
Here i is the knot number, t is the knot set, n is the degree, and x is
the value at which the function is evaluated.


double B(int i, int n, double x, double *t)
{
     if (n==0) {
       if (x>= t[i] && x <= t[i+1]) return (double) 1;
        return (double) 0;
        }
    else return (double) DIV((x - t[i])*B(i, n-1, x, t), t[i+n] - t[i])
         + DIV((t[i+n+1] - x)*B(i+1, n-1, x, t), t[i+n+1] - t[i+1]);
}

double DIV(double a, double b)
{
     if (a==0 && b==0) return 0;
     if (a!=0 && b==0) return DBL_MAX;
     return a/b;
}

For example

B(2,2,0.99,t)           0.49005
B(2,2,1.00,t)           1.00000
B(2,2,1.01,t)           0.5099

where t[]={0,0,0,1,2,3,4,4,4}

You can see that (I hope), if we approach 1 from either direction, we
are expected to get 0.5 at B(2,2,1.0,t).

If you do the arithmetic by hand, you will notice that

B(2,0,1.00,t) = 1 because t[2] <= x <= t[3] or 0 <= x <= 1, here x=1.
B(3,0,1.00,t) = 1 because t[3] <= x <= t[4] or 1 <= x <= 2, here x=1.

If both are 1, then B(2,1,1.0,t) = 2 so B(2,2,1.0,t) = 1.

If you put x=0.99, one of the condition will fail, i.e.

B(2,0,x,t) = 1
B(3,0,x,t) = 0

So this gives you only half the value. Hence B(2,2,0.99,t) is about 0.5.

If you put x=1.01, the same will happen:

B(2,0,x,t) = 0
B(3,0,x,t) = 1

Either but not both is 1. It is when x=1.00 both are 1 which gives a
value double the expected.

In general, such case happen to all terms B(i,n,x,t) where
t[i-1], t[i], t[i+1] form a progression of
t[i] - 1, t[i], t[i] + 1.
This happens only in the middle of the knot set.

At both end of the knot set where they are repeated, the B-spline
evaluated to zero anyway, so masking this 'whole number problem'.

A solution will be to evaluate the B-spline at values close to the whole
number and take the limiting value.

In practice, choosing a value that is about 0.01% difference from the
whole number is good enough.  For better approximation, we can evaluate
the B-spline at both side of the whole number and interpolate to get it.

Another quick way will be to evaluate the value at the whole number and
take the half, as in the previous example. But this may work only for
special case such as above where it is quadratic. For higher degree, the
fraction could be different, thought there might be a uniform pattern of
the fraction.

It should be expected to give 'nice' number such as 0.5, 0.333 etc. So
precision does not matter.

It is interesting however to note that, if you specify a number such
that x=0.95+0.05, and evaluate the B-spline at x, you will get a nice
and clean answer. The reason for that is I think, 0.95+0.05 != 1.00
exactly but a real number very close to 1, due to the floating point
representation. So the floating point representation actually 'helps'.

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Sat May 28 13:05:45 1994
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA06593; Sat, 28 May 94 13:05:40 CDT
Message-Id: <9405281805.AA06593@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 2832; Sat, 28 May 94 14:04:31 EDT
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 5715; Sat, 28 May 1994 14:04:30 -0400
Date:         Sat, 28 May 1994 18:51:02 BST
Reply-To: "L.S.Ng" <L.S.Ng1@SOTON.AC.UK>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: "L.S.Ng" <L.S.Ng1@SOTON.AC.UK>
Subject:      Revised TTF to PS (2/5)
Comments: To: Chinese Computing Network <ccnet-l@uga.cc.uga.edu>,
          "Comp.Fonts Newsgroup" <comp-fonts@cs.utexas.edu>,
          Postscript Newsgroup <comp-lang-postscript@cs.utexas.edu>
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: R

Algorithm for Spliting Long Bezier B-spline Curve
=================================================

(Revised 28-5-94)

Here I present my findings without rigourous mathematical proof. The
results were verified using a small C program.  I shall seek
mathematical proof for the results.

A Quadratic Bezier B-spline curve can have N+1 control points, where
N >= 2. It is possible to represent exactly such a curve with N-1 short
Quadratic Beizer B-spline curve segments each of which has 3 control
points only.

Suppose P(t)(X(t), Y(t)) is the 'Long' Quadratic Bezier B-spline curve
defined by N+1 control points P0(X0, Y0), P1(X1, Y1) ...  P[N](X[N],
Y[N]).  Here 0 <= t <= n - m + 1, where m is the degree of the B-spline
i.e. m = 2 and (n+1) is the number of control points, so n = N. Hence
0 <= t <= N-1.

Let p[i](s) be a short Quadratic Bezier B-spline curve segment such that
0<=i<=N-2, so that there are N-1 segments.  Each segment has 3 control
points p0[i], p1[i] and p2[i], whose coordinates are (x0[i], y0[i]),
(x1[i], y1[i]) and (x2[i], y2[i]) respectively.  Here the parameter of
the curve, s, is such that 0 <= s <= n - m + 1. Here n+1=3 and m=2.
Hence 0 <= s <= 1.

It was found that

p0[i] = 1/2*(P[i]+P[i+1])
x0[i] = 1/2*(X[i]+X[i+1])
y0[i] = 1/2*(Y[i]+Y[i+1])
except at i=0, p0[i]=P0

p1[i] = P[i+1]
x1[i] = X[i+1]
y1[i] = Y[i+1]

p2[i] = 1/2*(P[i+1]+P[i+2])
x2[i] = 1/2*(X[i+1]+X[i+2])
y2[i] = 1/2*(Y[i+1]+Y[i+2])
except at i=N-2, p2[i]=P[N]

where i is an integer such that 0 <= i <= N-2 and N+1 is the number of
the control points in the long curve P(t).

In words, the starting point p0[i] of the i-th segment is the midpoint
between the i-th control point P[i] and the (i+1)-th control point
P[i+1].  The middle control point p1[i] of the i-th segment is the
[i+1]-th control point, P[i+1].  The end point p2[i] of the i-th segment
is the midpoint between the (i+1)-th control point P[i+1] and the
(i+2)-th control point P[i+2].

For example, the zeroth segment (i=0) (remeber we deal with number base
0).  The starting point of this segment is P0.  The middle control point
of this segment (i=0) is P[i+1] that is P1.  The end point of this
segment is the midpoint between P1 and P2.

The midpoint between P1 and P2 is the intersection of the curve and the
straight line joining P1 and P2.  Also the slope of the curve at this
point is the same as the slope of the straight line joining P1 and P2.

In general, the midpoint between P[i] and P[i+1], except at the begin
and end points, is also the intersection of the curve P(t) and the
straight line joining P[i] and P[i+1].  The slope of P(t) and this point
is also the same as the slope of the straight line joining P[i] and
P[i+1].

The next segment is the 'first' segment (i=1). The starting point is
the end point of the previous segment, i.e. midpoint of P1 and P2.
At this point the differential is also continuos, resulting in a smooth
curve.  The middle control point of this segment is P[i+1] or P2.  In
other words, the middle control point of the first segment is the second
control point (of the long curve P(t)).  The end point of this segment
is the midpoint between P2 and P3.

Finally, the last segment is the (N-2)-th segment (i=N-2). As there are
only N-1 segments, the last number is N-2. The control points are
mid(P[N-2],P[N-1]), P[N-1] and P[N].

This enables the control points p0, p1, p2 of each short segment p[i](s)
to be found. This in turn fully defines each short segment p[i](s).
Hence the long curve P(t) can be represented exactly by short segments
of p[i](s) where i is an integer such that 0 <= i <= N-2, and N + 1 is
the number of control points in the long curve P(t), and 0<=s<=1.

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Sat May 28 13:05:58 1994
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA06592; Sat, 28 May 94 13:05:43 CDT
Message-Id: <9405281805.AA06592@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 8295; Sat, 28 May 94 14:04:40 EDT
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 5741; Sat, 28 May 1994 14:04:38 -0400
Date:         Sat, 28 May 1994 18:51:29 BST
Reply-To: "L.S.Ng" <L.S.Ng1@SOTON.AC.UK>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: "L.S.Ng" <L.S.Ng1@SOTON.AC.UK>
Subject:      Revised TTF to PS (5/5)
Comments: To: Chinese Computing Network <ccnet-l@uga.cc.uga.edu>,
          "Comp.Fonts Newsgroup" <comp-fonts@cs.utexas.edu>,
          Postscript Newsgroup <comp-lang-postscript@cs.utexas.edu>
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: R

/* Example: Splitting Long Bezier B-spline Curve */
/* Revised 28-5-94 */
/* Bezier B-Spline Approximation */
/* uses Borland BGI */

#include <stdio.h>
#include <stdlib.h>
#include <graphics.h>
#include <float.h>

#define oy 240
#define N 5

/* knot set for long quadratic Bezier curve */
double t[] = {0, 0, 0, 1, 2, 3, 4, 4, 4};
/* control points for long Bezier curve */
double y[] = { 0, 2, -2, 0, -1, 0};
double x[] = { 0, 1, 2, 3, 4, 5};

/* knot set for short quadratic Bezier curve */
double t2[] = {0,0,0,1,1,1};
/* arrays of control points for short quadratic Bezier curve */
double sx[3], sy[3];

/* knot set for (short) Cubic bezier curve */
double t3[] = {0,0,0,0,1,1,1,1};
/* arrays of control points for short cubic Bezier curve */
double cx[4], cy[4];

/* B-Spline basis/blending function */
double B(int i, int n, double x, double *t);
/* First derivative of B(x) */
double B1(int i, int n, double x, double *t);

/* Customised Divide function */
double DIV(double a, double b);

/* X coordinate of Bezier curve at (t) */
double X(int n, int m, double t, double *s, double *x);
/* Y coordinate of Bezier curve at (t) */
double Y(int n, int m, double t, double *s, double *y);
/* n = number of terms to sum, m = degree of Bezier curve
   s = knot set, y = array of control points */


main()
{   int gdrv=VGA, gmode=VGAHI, k, j;
    double i, xsum, ysum, axsum;

    initgraph(&gdrv, &gmode, "");

    /* Draw long quadratic Bezier curve */
    setcolor(0);
    for (i=3.9999; i>=0; i-=0.1) {
    lineto((int) (X(5,2,i,t,x)*100), (int) (oy-Y(5,2,i,t,y)*100));
    setcolor(14); /* yellow */
    }

    /* Draw control points of long Bezier curve */
    setcolor(0);
    for (k=0; k<=5; k++) {
    lineto ((int) (x[k]*100), (int) oy-(y[k]*100));
    if (k==0) setcolor(15); /* white */
    }

    /* Draw segments of short quadratic Bezier curve */
    for (k=0; k<N-1; k++) {

    sx[0] = k==0?x[0]:(x[k+1]+x[k])/2;
    sy[0] = k==0?y[0]:(y[k+1]+y[k])/2;
    sx[1] = x[k+1];
    sy[1] = y[k+1];
    sx[2] = k==N-2?x[N]:(x[k+1]+x[k+2])/2;
    sy[2] = k==N-2?y[N]:(y[k+1]+y[k+2])/2;

    setcolor(0);
    for (i=0; i<=1; i+=0.05) {
    lineto((int) (X(2,2,i,t2,sx)*100), (int) (oy-Y(2,2,i,t2,sy)*100));
    setcolor(13); /* magenta */
    }

    /* Draw control points of short quadratic bezier curve */
    setcolor(0);
    for (j=0; j<=2; j++) {
    lineto ((int) (sx[j]*100), (int) oy-(sy[j]*100));
    setcolor(12); /* red */
    }

    cx[0] = sx[0];
    cy[0] = sy[0];
    cx[3] = sx[2];
    cy[3] = sy[2];
    cx[1] = (2*sx[1]+sx[0])/3;
    cy[1] = (2*sy[1]+sy[0])/3;
    cx[2] = (sx[2]+2*sx[1])/3;
    cy[2] = (sy[2]+2*sy[1])/3;

    setcolor(0);
    for (i=0.0001; i<=1; i+=0.05) {
    lineto((int) (X(3,3,i,t3,cx)*100), (int) (oy-Y(3,3,i,t3,cy)*100));
    setcolor(11); /* cyan */
    }

    /* Draw control points of short cubic bezier curve */
    setcolor(0);
    for (j=0; j<=3; j++) {
    lineto ((int) (cx[j]*100), (int) oy-(cy[j]*100));
    setcolor(10); /* green */
    }
    }

    /* Plot Gradient of Curve vs x coordinate */
    setcolor(0);
    for (i=0; i<=4; i+=0.1) {
    xsum = 0; ysum = 0; axsum = 0;
    for (k=0; k<=5; k++) {
        xsum += x[k]*B1(k, 2, i, t) ;
        ysum += y[k]*B1(k, 2, i, t) ;
        axsum += x[k]*B(k, 2, i, t) ;
        }
    lineto((int) (axsum*100), (int) (oy-DIV(ysum,xsum)*50));
    setcolor(9); /* blue */
    }

    /* Enter a dummy integer to finish */
    scanf("%d", &k);
    closegraph();

}

double B(int i, int n, double x, double *t)
{
     if (n==0) {
        if (x>= t[i] && x <= t[i+1]) return (double) 1;
        return (double) 0;
        }
     else return (double) DIV((x - t[i])*B(i, n-1, x, t), t[i+n] - t[i])
         + DIV((t[i+n+1] - x)*B(i+1, n-1, x, t), t[i+n+1] - t[i+1]);
}

double B1(int i, int n, double x, double *t)
{
     if (n == 1) return DIV( B(i,0,x,t), t[i+1]-t[i] )
                        - DIV( B(i+1,0,x,t), t[i+2]-t[i+1] );
     else return DIV(B(i,n-1,x,t)+(x-t[i])*B1(i,n-1,x,t) , t[i+n]-t[i])
     + DIV((t[i+n+1]-x)*B1(i+1,n-1,x,t)-B(i+1,n-1,x,t) , t[i+n+1]-t[i+1]);
}

double DIV(double a, double b)
{
     if (a==0 && b==0) return 0;
     if (a!=0 && b==0) return DBL_MAX;
     if (a > 1e4*b) return 1e4;
     return a/b;
}

double X(int n, int m, double t, double *s, double *x)
{
    double xsum=0, b;
    int i;

    for (i=0; i<=n; i++) {
    b = B(i, m, t, s);
    xsum += (double) x[i]*b;
    }

    return (double) xsum;
}

double Y(int n, int m, double t, double *s, double *y)
{
    double ysum=0;
    int i;

    for (i=0; i<=n; i++)
    ysum += (double) y[i]*B(i, m, t, s);

    return (double) ysum;
}

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Sun May 29 08:37:40 1994
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA09478; Sun, 29 May 94 08:37:38 CDT
Message-Id: <9405291337.AA09478@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 4076; Sun, 29 May 94 09:34:57 EDT
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 1151; Sun, 29 May 1994 09:34:55 -0400
Date:         Sun, 29 May 1994 14:28:55 BST
Reply-To: "L.S.Ng" <L.S.Ng1@SOTON.AC.UK>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: "L.S.Ng" <L.S.Ng1@SOTON.AC.UK>
Subject:      Desktop Publishing Initiative
Comments: To: Chinese Computing Network <ccnet-l@uga.cc.uga.edu>
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: RO

New Possibilities for Chinese Desktop Publishing
================================================

Desktop Publishing used to be a high end business. A decent DTP package
will normally cost a fortune. It is even more so with Chinese DTP due to
its requirement of large font libraries. Not so many 'months' ago, one
Chinese font package used to cost thousands if not tens of thousands of
dollars.

But now, there emerged new 'enabling technologies' that can promise to
bring Chinese DTP to a whole new 'low end'.

Firstly, Chinese scaleable fonts in the form of True Type Fonts are now
available in the public domain. Not only that, font generators can also
be obtained freely.  The only cost of a Chinese font now is disk space.
This can be further reduced in the future using decomposition
techniques.

Secondly, there are now public domain Postscript interpretters. Such
software exist to render graphical data in high level language
to low level bitmap data. In other words, you can print Postscript data
in any types of cheap printers, not only expensive Postscript printers.

One of the Postscript software worth mentioning is Ghostscript. It is
not only designed for rendering image on printer, but also video
display. It makes a handy tools for Postscript software designer. Now a
Postscript programmer can do infinite experiments on a cheap PC at no
extra cost other than time. This means DTP software development cost can
be cut down dramatically. In the end, you can expect to see DTP quality
software for Chinese in the public domain.

Although both TTF and PS software are already there, we need tools that
can linked both together. So we can use TTF font for Postscript
printout, effectively gaining the best of both worlds.

It is in the light of this view that leads to my initial project of
ttf2ps. The first and most fundamental problem to be solved was to
derive PS curve data from TTF curve data. Initially the math of this
problem looked daunting. Fortunately it was all over. The relationship
is indeed simple and beautiful. This is no wonder if you think that both
types of data share the same origin - to describe curve.

Three main tools I used in the process were all available in the public
domain. The first was the Postscript Reference Manual in the library :-),
The second was the GNU C compiler, also in public domain. The third was
Ghostscript, also from the public domain.

With Ghostscript, I can test my PS data generated by my ttf2ps program
over and over again without complaint by anybody. I did not waste a
single piece of paper on the printer!!

Tools alone are not enough, more important are invaluable information
such as specification and source code, provided by helpful and dedicated
individual on the Internet. The single most important piece of source
code is the Chinese TTF font loader written by Lin Yawjen of Taiwan. He
is also so far the only author of public domain Chinese TTF. Also there
are numerous contributions by other individuals.

Now I think the 'low level' stuff of the possible new generation of
Chinese DTP is finished with the availability of ttf2ps.  We shall carry
on defining the high level niceties.  Of course, we must do it in the
public domain and make it available to the public domain.

The first thing to do is to define a Chinese page description language
(PDL).  This is required because PS is by nature a graphical language,
not directly suitable for text.  Besides, PS level 1 only support ASCII
which means it is not directly compatible with most Chinese character
codes, though PS level 2 does enable binary encodings but it is not
likely to be as popular as the original.

The Chinese PDL must be openly defined.

When a agreement is reached for PDL, the work can begin for PDL to PS
interpretter.

It may seem difficult to do things in so many levels, i.e.  Chinese
plain text to PDL, PDL to PS, PS to device.  However, this is the only
way achievable at very low cost because each component is small enough
to be implemented inexpensively.  Conventional DTP software tends to be
expensive due to the cost of integration - you have one whole package
which handle keyboard right down to printer.

The PDL shall define many things such as margins, character size,
orientaion, columns per page, character per lines, character attributes
etc. These are at a level higher than PS which is mostly concerned with
graphical objects.

The PDL interpretter should be used to translate a Chinese plain text or
PDL file to PS file.

Our job shall finish at this point. The Postscript to device adaptation
is already available.

Chinese invented printing. Printing is taken as a proud endeavour in our
culture. Now we shall seize the moment to make Printing for the People
possible.


So now we shall bring our attention to the task with the highest
priority: designing a Chinese page description language.

First, we need participants and moderators. We need people who know well
about running discussions on the net.

We shall identify what should be in the PDL. Then decide keywords for
each operation in the PDL and the format of the PDL file.

Next, we need people who will take the challenge of writing PDL to PS
interpretter.  Of course such a work can be broken down to several
components.  Alternatively, many implementations can be run all at once
and the best will survive.

When PDL to PS interpretter is done, our job of the century is done.

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Mon Jun  6 04:46:25 1994
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA17385; Mon, 6 Jun 94 04:46:23 CDT
Message-Id: <9406060946.AA17385@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 8744; Mon, 06 Jun 94 05:41:02 EDT
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 6967; Mon, 6 Jun 1994 05:41:01 -0400
Date:         Mon, 6 Jun 1994 10:29:50 BST
Reply-To: "L.S.Ng" <L.S.Ng1@SOTON.AC.UK>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: "L.S.Ng" <L.S.Ng1@SOTON.AC.UK>
Subject:      Problem with TTF to PS
Comments: To: Chinese Computing Network <ccnet-l@uga.cc.uga.edu>
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: R

Soon after I released ttf2ps.c version 1.0, I rerun and burn-in test.

To my dismay, I discover one major bug. It is about the limit of path.

In most PostScript interpretters, there exists a certain limit on each
type of graphical objects. Path is composed of curves and lines. The
number of points to define a path cannot exceed 1500, as mentioned in
PostScript Language Reference Manual Appendix B.

In version 1.0 of ttf2ps, I treated each Chinese character as one single
path. The PS interpretter I used, Ghostscript, just give up on the
5201-st Chinese Big5 character. This is the character 'Xiang3'
(ringing). (The number 5201 based on 0 as the first character of Big5
'One' in Chinese)

I concluded that some Chinese characters are too complicated to be
treated as one path.  There are too many data points to be treated as
one single path.  So it is neccessary to decompose them.  The solution
is to make each unconnected radical a path.  So a typical character is
made up of several path.


Theory

It is fortunate that TTF has such information. TTF defines out-contour
as clockwise and in-contour as anti-clockwise.

Out-contours are paths that enclosed an area within which it is painted
black.  In-contours are surrounded by one out-contours and within an
in-contour the area should be left white.  Each out-contour can have
several in-contours.  For example, the character O has one out and in, I
has onely one out.  The Chinese character 'Sun' has one out and two ins.
(Only Chinese characters are so complicated and yet beautiful!! This is
part of the fun working with Chinese fonts!!)

It is observed that no out-contours will intersect each other. So every
out-contour is effectively unconnected. So I concluded that each
out-contour constitute an unconnected radical.

Clockwise means the data points are define in a clockwise sense. e.g. if
a square is defined as (0,0), (0,1), (1,1), (1,0), it is a clockwise
square; (0,0), (1,0), (1,1), (0,1) will be a anticlockwise square.

The area of a clockwise loop (i.e.  closed path) is effectively negative
by convention and positive for anticlockwise loop.  Such convention is
derived from Cartesian Geometry.  Consider the simplest loop, a triagle.
The area of an arbitrary triangle is ( a b sin @ / 2 ) where a and b are
the length of either two sides and @ is the angle between.  However( a b
sin @ ) is also the magnitude of the vector product of the vector a and
vector b.  So we can use the vector product to find the area.  The
vector product will be simply perpendicular to both a and b, i.e.  if a
and b is on xy-plane, then the product is parallel to z-axis.  Usually
the sign of the product is ignored as far as area is concern.  However,
if a and b are chosen such that @ is anticlockwise, the sign will be
positive.  This rule can be extended to any close loops.  Hence the
meaning of positive and negative area of a loop.

The second point is that all in-contours must be enclosed by one
out-contour.

So the modified algorithm will be:

For each outcontour,
    find all incontours it encloses
    group all of them as one path

To determine if an incontour is inside a certain outcontour, it is
necessary to prove all points of the incontour is inside the outcontour.
However, it is sufficient to prove all points are 'in' IF ONE POINT IS
INSIDE. So the problem reduces to determining if one point of the
incontour is inside a outcontour.

Various algorithm can be used. I simply used the 'additive area rule'.
This is to say that if a point is inside a loop, if we draw another loop
so as to touch the point inside, the resultant loop will have a smaller
area than the original. i.e. An area has been subtracted. If it is
outside, then the area will be larger, i.e. the test point adds to the
area. e.g. Consider a square with 4 corners as their data points. If we
put a point in the middle, and redraw a loop that joints all the 4
corner points and the middle point, the shape is now a square minus a
triangle. Hence the area is reduced. If the point is outside, the
resultant shape will be a square plus a triangle.

Obviously the simple 'additive area rule' breaks down if a badly behaved
shape is drawn. e.g. Consider a square ABCD and a point N, where N is
outside ABCD, and nearest to side AB. A well behaved shape will be
ANBCD. A badly behaved shape will be ABCND.

So the nearest data point (hence the nearest side) to the test point
must be found before applying the 'additive area rule'.  If found, the
small triangular area made by the test point with the nearest side will
be clockwise (negative area) if it is inside provided we make the test
point the third point of the triangle.  If it is outside, the triangle
will be anti-clockwise (positive area).


Comments welcome.

Liangsheng Wu

From A7621GAC@AWIUNI11.EDVZ.UNIVIE.AC.AT Thu Jun 16 02:05:14 1994
Return-Path: <A7621GAC@AWIUNI11.EDVZ.UNIVIE.AC.AT>
Received: from AWIUNI11.EDVZ.UniVie.AC.AT (helios.edvz.univie.ac.at) by ifcss.org (4.1/IFCSS-Mailer)
	id AA07154; Thu, 16 Jun 94 02:01:02 CDT
Message-Id: <9406160701.AA07154@ifcss.org>
Received: from AWIUNI11.EDVZ.UNIVIE.AC.AT by AWIUNI11.EDVZ.UniVie.AC.AT
   (IBM VM SMTP V2R2) with BSMTP id 7999; Thu, 16 Jun 94 08:58:31 MEZ
Received: from AWIUNI11.EDVZ.UNIVIE.AC.AT (NJE origin A7621GAC@AWIUNI11) by
 AWIUNI11.EDVZ.UNIVIE.AC.AT (LMail V1.2a/1.8a) with BSMTP id 6227; Thu,
 16 Jun 1994 08:58:29 +0100
Date:         Thu, 16 Jun 94 08:55:35 MEZ
From: Werner Lemberg <A7621GAC@AWIUNI11.EDVZ.UniVie.AC.AT>
To: soft-authors@ifcss.org
Subject:      Re:  HBF standard reexamined
In-Reply-To:  Your message of Mon, 6 Jun 94 11:11 BST
Status: R



Because I don't know whether my previous mail reached this list (I usually
get my own mail resent), I will send it again.


Sorry for answering so late.


Ross Paterson said:

>>    o   a simple function HBF_CheckCode() to check if a specified code
>>        is valid or not (with similar error codes to HBF_GetBitmap() )
>
>How do you intend to use this?

I've written a CJK-package for LaTeX2e (not yet finished) which will use
compressed fonts (i.e. 256 characters per font instead of one plane per
font), and I need to convert bitmap fonts into the needed format. This
job is easy for GB fonts, but a bit more difficult for Big 5 fonts. My
package will not recognize the gaps in the code range, therefore I have
to insert null bytes if an invalid character code is encountered.
hbfGetEach will jump over the gaps, which is not useful for my program.

>
>>    o   It is not explained exactly how to handle multiple entries of the
>>        same keyword like HBF_CODE_RANGE if using the function
>>        HBF_GetProperty(). I suggest to change this API-function:
>
>>            int HBF_GetProperty(
>>                       OUT   char *     property
>>                       IN    HBF_Handle handle,
>>                       IN    char *     propertyName );
>
>How about just saying that the following properties are inaccessible:
>
>       HBF_START_BYTE_2_RANGES
>       HBF_BYTE_2_RANGE
>       HBF_START_CODE_RANGES
>       HBF_CODE_RANGE

After trying to implement my suggestion, I support your view :-)
I now think it is better to hide these entries, but my program NEEDS
the information about byte- and code ranges.

Please add functions like HBF_GetCodeRange(...) and HBF_GetByte2Range(...)
to access these values.


    Werner

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Thu Jun 23 03:54:02 1994
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA00197; Thu, 23 Jun 94 03:53:56 CDT
Message-Id: <9406230853.AA00197@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 9178; Thu, 23 Jun 94 04:52:38 EDT
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 5441; Thu, 23 Jun 1994 04:52:37 -0400
Date:         Thu, 23 Jun 1994 09:42:53 BST
Reply-To: "L.S.Ng" <L.S.Ng1@SOTON.AC.UK>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: "L.S.Ng" <L.S.Ng1@SOTON.AC.UK>
Subject:      Big5 TTF to GB TTF conversion
Comments: To: Chinese Computing Network <ccnet-l@uga.cc.uga.edu>
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: R

Here's are the tips that I learn to understand True Type Font.

1. The full specification document from Microsoft is rather
comprehensive and definitive. Hence there are too much for us to
understand in one go. So I pick up the most important part to start
with: the CMAP and GLYF table.

2. 'What is it?' This is the question you will ask yourself everytime
you face with a problem: always start from definition.

3.  The True Type Font File (TTF File) is a file.  This file contains
various tables.  Each table contains one type of information.  Of all
tables, there are two tables which are most important: CMAP table and
GLYF table.

4. Since a TTF file contains several tables, hence it must have one
table directory. The sole purpose of having a table directory is to tell
where each table is located and how big it is. And as usual, the table
directory itself is located at the start of the TTF file. Other tables
are placed at various location in the file. As you know the unit of
location and size is usually byte. :-)

5. By reading the table directory, you are able to find out 'where' and
'how big' the CMAP table and GLYF table is.

6. Each table contains a certain type of information. CMAP table is
'character map' table, hence it list the glyph index for each character
code.

7. What are glyph index and character code? What is a glyph? A glyph is
a set of numbers that defines how a shape should be drawn. Therefore a
TTF file will have, of course, several hundred glyphs, up to several
thousand glyph. Each glyph ought to have a unique glyph index. A Big5
TTF file will normally have 13000 glyphs and each glyph has a unique
glyph index. For example, glyph no.96 is the Chinese character 'One'.

8. What is a character code then? Let's forget about TTF for a moment.
Big5 is the name of a 'character encoding scheme'. A character encoding
scheme seeks to identify a character with a number. A character is any
character which can be used in a human language, e.g. 'One' in Chinese.
The encoding scheme seeks to identify each character with a unique
number. So for example in Big5, 'One' (Chinese) encoded as 629. There
are 628 symbols before 'One' and about 13000 after 'One'.

8.1. The previous paragraph really describe only 'primary encoding'.
There is one further level of encoding a character and this varies
because of implementation limits. Taking 'One' as example, we can
represent its code 629 in many ways. e.g. We can use radix 157. So
629 = 4*157 + 1. Hence 629 can be represented as (4,1).

8.1.1. Notes on radix. We are familiar with radix 10, that is the
decimal number system. We are also familiar with radix 2, that is the
binary number system. However, in implementing Big5 code, radix 157 was
chosen for various reasons.

8.1.2. One further level of encoding will be to add a base value to each
number in the radix pair. e.g. (4,1) becomes (34,31) by adding 30 to
each number in the radix pair. To make matter worse, we can add
different base value to the numbers in the radix pair!! In Big5
implementation, we add 160 to the first number, 32 to the second number.
To make the matter worse again, we add 98 if the second number is
greater than 63. Taking one step further, theses number pairs
can be encoded using one byte each.

8.1.3. Here is a extract from a Big5 specification, ignore the
filenames. HBF means something else, ignore it.

CHARS 13867
HBF_START_BYTE_2_RANGES 2
HBF_BYTE_2_RANGE 0x40-0x7E
HBF_BYTE_2_RANGE 0xA1-0xFE
HBF_END_BYTE_2_RANGES
COMMENT
HBF_START_CODE_RANGES 5
HBF_CODE_RANGE 0xA140-0xA3BF spcfont.15 0
HBF_CODE_RANGE 0xA440-0xAAEE stdfont1.15 0
HBF_CODE_RANGE 0xAAEF-0xC67E stdfonts.15 0
HBF_CODE_RANGE 0xC6A1-0xC8D3 spcfsupp.15 0
HBF_CODE_RANGE 0xC940-0xF9FE stdfonts.15 129540
HBF_END_CODE_RANGES

8.1.4. So I hope you can see why Big5 code can be encoded using TWO
Bytes. The first byte or the high byte correspond the the first number
of the radix pair above, and the second byte or the low byte correspond
to the second number of the radix pair. Each number is represented in
hexadecimal notation.

9. Hence in CMAP table of a Big5 TTF file, you can find the glyph index
for each Big5 character code. In TTF specification, there are four
categories of encoding scheme.  Big5 or other two byte encoding scheme
is Format 3.

10. Using the glyph index, you can find the glyph of each character. The
GLYF table is a table containing all the glyphs.



Hence, we can see that whether or not a Big5 TTF file IS a Big5 TTF file
depends purely on the CMAP table. If we change the CMAP table, then it
becomes a TTF file with another different encoding scheme. So using this
techniques, we can make GB TTF file. Suppose Big5 'One' 0xA440 points to
glyph index 96. And 'One' in GB code is 0xCCAB. (I pick the number
arbitrarily). Then if we edit the CMAP entry such that the code points
to glyph 96 is 0xCCAB, then effectively we made a GB TTF.

In practice, however, instead of changing the character code with
respect to glyph index, it may be better to change the glyph index
instead. Either way will achieve the same effect.

This is purely a search and replace, table lookup problem.

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Sun Jun 26 06:58:49 1994
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA25328; Sun, 26 Jun 94 06:58:46 CDT
Message-Id: <9406261158.AA25328@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 7542; Sun, 26 Jun 94 07:57:06 EDT
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 6753; Sun, 26 Jun 1994 07:57:05 -0400
Date:         Sun, 26 Jun 1994 12:54:29 BST
Reply-To: "L.S.Ng" <L.S.Ng1@SOTON.AC.UK>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: "L.S.Ng" <L.S.Ng1@SOTON.AC.UK>
Subject:      TTF to PS conversion v 1.2 Documentation
Comments: To: Jonathan Monsarrat <jgm@cs.brown.edu>
Comments: cc: "Comp.Fonts Newsgroup" <comp-fonts@cs.utexas.edu>,
          Postscript Newsgroup <comp-lang-postscript@cs.utexas.edu>,
          Chinese Computing Network <ccnet-l@uga.cc.uga.edu>
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
In-Reply-To:  <199406251509.LAA14307@fiji>; from "Jonathan Monsarrat" at Jun 25,
              94 11:09 am
Status: R

True Type Font to Postscript conversion
=======================================

1.  This program consists of several algorithms that convert True Type
Font (TTF) data points to Postscript (PS) data points, including
Elevation of Quadratic B-spline curve to Cubic B-spline curve
('Elevation') and Decomposition of Glyph into Separate Paths
('Decomposition').  They are described in greater detail else where.

2.  The program can be compiled in various ways, e.g.  using GNU C
Compiler:

    gcc -o ttf2ps ttf2ps.c

3. Usage:

    ttf2ps TTF-file Document-file

4.  This implementation is specially configured for reading Format 3
(Chinese Big5) TTF file.  The document file here should be a Chinese
Big5 document file.  The load_font() function for reading TTF Glyph is
written for Format 3 TTF.  Chinese TTF files can be obtained from ftp
ifcss.org:/software/fonts

5.  Limitations:
a) in this release (version 1.2), support for ASCII and
non-Chinese characters/symbols are not included.  Any non-Chinese
character/symbols are treated as blank space.
b) Layout is limited to one page only.
Application notes: this program can be used, at least, to draw a few
lines of Chinese characters such as Dui Lian or some greeting cards.

6.  The output file is a Postscript program with two parts.  The first
part consists of layout settings (horizontal/vertical), character size
and attribute (outline/filled) and the definition of each characters in
terms of paths.  The second part is an image of the original document
formatted line by line.

7.  Each character is treated as several PS paths, without using the
Font structure of the Postscript language, for several practical
reasons.  Each character is drawn using 'translate & ufill/ustroke'
rather than 'moveto & show'.

8.  Application notes:  Based on this algorithm, it is possible to
generate Postscript Fonts from TTF fonts.  This is particularly
significant to Chinese Desktop Publishing as Chinese DTP resources such
as fonts have been rare and expensive. It is hope that this will bring
down the costs and pushes the perfomance level of Chinese DTP.

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Fri Jul  8 13:24:13 1994
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA26212; Fri, 8 Jul 94 13:23:40 CDT
Message-Id: <9407081823.AA26212@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 7112; Fri, 08 Jul 94 14:21:43 EDT
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 9175; Fri, 8 Jul 1994 14:21:41 -0400
Date:         Sat, 9 Jul 1994 02:06:41 MYT
Reply-To: Ng Liang Shing <liang@HSNG.PL.MY>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: Ng Liang Shing <liang@HSNG.PL.MY>
Subject:      A Generalisation of Chinese Font files
Comments: To: Chinese Computing Network <ccnet-l@uga.cc.uga.edu>
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: R

A Generalisation of Chinese Font Files

I hope to make some generalisations about Chinese Font Files and at the same
time discuss some terminology. Finally I propose a method of making a unified
font file for both Guobiao and Big5 character sets.


>From CCLIB.16 to True Type Font Files

CCLIB.16 is the most primitive Chinese font file. It contain only the 'glyph'.
A glyph defines how a character is drawn. In CCLIB.16, the glyph is bitmap.

CCLIB.16 contains about 6768 bitmap glyphs. The position of a glyph in a font
file is called the glyph index. The glyph index is not exactly equivalent to
the character code. By definition, the character code is a number associated
with the position of a character in a certain character set. To be more exact,
character code applies to character set, glyph index applies to glyph table.

A table for mapping a certain character code to a glyph index is called the
character map, borrowing True Type terminology.

CCLIB.16 is purely a glyph table, with on glyph information. It assumes a
straight forward character mapping i.e. Guobiao Code == Glyph Index, with only
one or two exceptions.  In this case, an explicit character map table is not
necessary.  Since Guobiao mapping is implied, CCLIB.16 is often regarded as
a Guobiao Font. However, this notion is not strictly correct, for Guobiao is a
name for a character set, not a name for the font file. It is possible to use
CCLIB.16 for Big5 character set, provided a Big5 CCLIB.16 character map is
used. CCLIB.16 is CCLIB.16. It is neither GB nor Big5 font file.

This argument may seem trivial, but it is important to get the idea
right from the beginning as this may point to one very important application -
to unify GB and Big5 character set using a single font file. It is important
to distiguish character set from glyph table and character code from glyph
index.

True Type Font Files is much more complicated than CCLIB.16 in many sense.

First CCLIB.16 contains only glyph information. A TTF file contains glyph
information as well, but there are auxiliary information such as the character
map table. A TTF file is a collection of look-up tables, two of which are the
glyph table (GLYF) and character map table (CMAP).

Secondly the glyph in TTF file is vectored, rather than bitmap.

Thirdly, there can be more than 10 types of table in a TTF files.




A general method for getting the glyph of a character is as follow:

1. read character code.
2. convert character code to glyph index
3. make a pointer to the glyph data using the glyph index

In CCLIB.16, step 2 is directly conversion using Guobiao Code.
In TTF, step 2 is to lookup the character map to get the glyph index
corresponding to a character code.



Unified Font File for Guobiao and Big5 character sets

I remembered vaguely Prof. Simpson said it was 'ridiculous' to have two
character sets with so many overlapping characters. I agree with him.

But if we could produce a font file having all the characters in both Guobiao
and Big5, this idea may not seem too ridiculous after all.

I am not a language expert to sort out all the occurence of characters in both
character sets. I hereby propose a possible approach for building and using
such a font file.

GB has about 6768 Hanzi. Big5 has about 13000. If there were no overlapping,
the union will be about 19000. However, since there are many overlapping, so I
estimate the union will be about 14000, assuming there are 1000 Jiantizi.

And then we have a glyph table with 14000 characters. What we then need is two
character map tables, one for GB and the other for Big5. The role of the
character map is to relate a character code to the glyph index.

To determine the union and to prepare the character map is the job of the
language experts.

With TTF, Format 2 CMAP table allow up to 256x256 character codes. So we may
partition the CMAP table into two halves, one for GB and the other for Big5.

So to read such a union font file (either bitmap or TTF), the steps involved
will be the same as above i.e.

1. read the character code
2. convert character code to glyph index (this time by looking up the
character map)
3. make a pointer to the glyph data using the glyph index


The Benefit

A unified font file solved many problems for the programmers and software
vendors.

1. Programmers need to use only one font file at a time. It makes life easier.
It saves a lot of disk space. It makes sense. It is less ridiculous than
having two font files. (It is still quite ridiculous for having two character
sets....., never mind that. :-)

2.  By making a union font file, at last we netters can legally claim
ownership over such a font file, thus reducing (or possibly eliminating) the
possibility of legal conflict over font resources.

Volunteers needed. Comments welcome.

Yours,
Liangsheng Wu



--
Ng Liang Shing            |   This is an Internet node host inside
Sungai Petani, Malaysia   |   an old 286.  A few years back, this place
liang@hsng.pl.my          |   was not more than a small town.

From @UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU Tue Jul 12 01:04:17 1994
Return-Path: <@UGA.CC.UGA.EDU:owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA18817; Tue, 12 Jul 94 01:04:14 CDT
Message-Id: <9407120604.AA18817@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 7150; Tue, 12 Jul 94 02:01:20 EDT
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.1d/1.7f) with BSMTP id 3169; Tue, 12 Jul 1994 02:01:18 -0400
Date:         Sun, 10 Jul 1994 12:03:30 MYT
Reply-To: Ng Liang Shing <liang@HSNG.PL.MY>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: Ng Liang Shing <liang@HSNG.PL.MY>
Subject:      Myths of Bitmap & Vector
Comments: To: Chinese Computing Network <ccnet-l@uga.cc.uga.edu>
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: R

Bitmap and Vector Fonts I


There is a wide range of font terminology which are quite confusing. Similar
to vector fonts are outline fonts, scalable fonts, True-type fonts, .....

It is my intention to discuss these terminology as applied to Chinese font
technology and some common facts and fallacy associated with it.


A font is a collection of characters which look good and whose appearance are
similar. A glyph is the definition of each character in a font.

There are two main ways of representing a glyph. Indeed these are the two main
methods of representing graphical objects of any shapes in computers.
Bitmap and Vector.

A common belief about Vector fonts is that they are superior to Bitmap fonts,
THEREFORE when vector fonts become popular,  bitmap fonts should be phased
out. Or, THEREFORE we can forget about bitmap when we deal with vector fonts.

The fact is that bitmap is bitmap. Any vectors must be converted to bitmap
('rasterised') when dealing with physical devices, e.g. video display,
page printers (laser printers), line printers (dot matrix 'pin' printers,
bubble jet printers). Bitmap is the physical representation of any graphical
objects.

There are of course a few vector devices which do not require bitmap, e.g.
motor, plotter etc.


Let's consider two examples of True Type Fonts and Postscript Fonts and one
example of the old bitmap CCLIB.16 font.

1. True Type Fonts (TTF)
The glyph in TTF is made up of straght lines and curves. The curve is
represented using Quadratic Bezier B-spline Approximation.

To display a TTF glyph on screen, the steps are as follow:

  data points    ----> bitmap outline ----> filled bitmap ---> screen bitmap
  (curves/lines)

This is done in Microsoft Windows using a standard API call. However, source
code for the rasterising algorithm is available and hence can be ported to any
systems, not only Microsoft Windows.


2. Postscript Fonts
The glyph in Postscript fonts are more versatile than TTF. The elements
include lines and Cubic Bezier B-spline Curve, each can have various
attributes such as line width, different types of cap and joins.

A Postscript system, printer or display, has a postscript interpretter sitting
in it. In Postscript printer, there is one powerful microprocessor whose sole
role in life is to interpret all these elements and rasterise them.
Alternatively, such interpreter can be implemented on the host computer, e.g.
in a NeXT or Ghostview system, in this case, the target printer could be a
dump printer such as line printers.


3. CCLIB.16 - This is the classic Chinese bitmap fonts. The data is one bit
per pixel HORIZONTALLY. Since the smallest element in computer memory is
usually a byte, the width of each glyph is a multiple of 8.  I shall call
one-bit-per-pixel the 'raw bitmap' as opposed to 'physical bitmap'.  When used
in certain video modes, colours need to be added.  This usually means each bit
is expanded to form the physical bitmap.  Also in line printer, a word usually
describe VERTICAL bitmap.  So transformation is required.  In general the
algorithm for dealing with raw bitmap is:

raw bitmap glyph -----> raw bitmap image ------> physical bitmap ---->
physical device


>From the above examples, we see that bitmap is indispensible. Even when higher
level technology becomes popular, low level technology is required to
implement the higher level abstraction.

--
Ng Liang Shing            |   This is an Internet node host inside
Sungai Petani, Malaysia   |   an old 286.  A few years back, this place
liang@hsng.pl.my          |   was not more than a small town.

From owner-ccnet-l@UGA.CC.UGA.EDU Fri Aug 26 19:32:08 1994
Return-Path: <owner-ccnet-l@UGA.CC.UGA.EDU>
Received: from uga.cc.uga.edu by ifcss.org (4.1/IFCSS-Mailer)
	id AA12196; Fri, 26 Aug 94 19:32:06 CDT
Message-Id: <9408270032.AA12196@ifcss.org>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 6133; Fri, 26 Aug 94 20:28:52 EDT
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.2a/1.8a) with BSMTP id 6713; Fri, 26 Aug 1994 20:28:51 -0400
Date:         Fri, 26 Aug 1994 17:27:06 -0700
Reply-To: Edmund Lai <lai@APPLE.COM>
Sender: Chinese Computing Network <CCNET-L@uga.cc.uga.edu>
From: Edmund Lai <lai@APPLE.COM>
Subject:      180 Chinese Fonts on CD_ROM
Comments: To: CCNET-L@uga.cc.uga.edu
To: Multiple recipients of list CCNET-L <CCNET-L@uga.cc.uga.edu>
Status: R

I saw this news on NewsBytes and it should be of interest to
this group. Don't ask me for more information because that is
all I have read. I am just going to summarize it because of
the copyright.

Guangzhou Jialoong company has release a CD_ROM called the
"Big Chinese Font Base" containing 180 set of Chinese fonts.
The fonts are in Encapsulated PostScript format. Most of
the fonts are newly desinged and some of them are in
handwriting style.

The font has been evaluated and used successful on Apple
PowerMac and Silicon Graphics workstations, and they
should be usable for PC users.


/* Disclaimer: All statments and opinions expressed are my own */
/* Edmund K. Lai                                               */
/* Apple Computer, MS303-3A                                    */
/* 20525 Mariani Ave,                                          */
/* Cupertino, CA 95014                                         */
/* (408)974-6272                                               */
zW@h9cOi

From owner-ccnet-l@UGA.CC.UGA.EDU Wed Jan 25 04:23:53 1995
Received: from glueserv1.umd.edu (glueserv1.umd.edu [129.2.70.69]) by bacchus.eng.umd.edu (8.6.9/8.6.4) with ESMTP id EAA21994; Wed, 25 Jan 1995 04:23:46 -0500
Received: from uga.cc.uga.edu (uga.cc.uga.edu [128.192.1.5]) by glueserv1.umd.edu (8.6.9/8.6.4) with SMTP id EAA19170; Wed, 25 Jan 1995 04:23:43 -0500
Message-Id: <199501250923.EAA19170@glueserv1.umd.edu>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 3559; Wed, 25 Jan 95 04:18:54 EST
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.2a/1.8a) with BSMTP id 7579; Wed, 25 Jan 1995 04:18:52 -0500
Date:         Wed, 25 Jan 1995 04:16:49 -0500
Reply-To: BAMBOO@DELPHI.COM
Sender: Chinese Computing Network <CCNET-L@UGA.CC.UGA.EDU>
From: John Kou <BAMBOO@DELPHI.COM>
Subject:      Chinese True Type fonts on CD-ROM
Comments: To: CCNET-L@uga.cc.uga.edu
To: Multiple recipients of list CCNET-L <CCNET-L@UGA.CC.UGA.EDU>
Status: RO
Content-Length: 2469
X-Lines: 105

*************************

*     News  1/25/95     *

*************************



Chinese True Type fonts on CD-ROM.



So far I have found three Chinese True Type CD-ROM packages.



NewType Chinese True Type fonts

     On this CD-ROM, you get 37 Traditional, 13 Simplified True Type

     fonts.  You also get 13 input methods for MS Chinese Windows 3.1.

     You may try the font maker progarm and 2 byte to 1 byte utility

     on the CD-ROM before you decided to buy a copy.

     Each CD-ROM comes with a DEMO2000.  DEMO2000 is a free package that

     has 56 True Type fonts (37 Traditional/ 13 Simplified), each font

     has 2000 characters that you may access.  You may installed

     these demo version True type fonts onto your hard disk freely

     and welcome to upload to any BBS or copy to your friends.

     Even though 2000 characters are not a lot, but I found that 2000

     is quite enough for my own daily work.



     HOW THE THING WORKED?

     You pay $75.00 and get the CD-ROM with a key disk that will enable

     any 5 fonts on the CD-ROM of your choice.  You pay $150.00 for any

     10 fonts on the CD-ROM etc..  Once you got the CD-ROM, you may play

     with the DEMO2000 first, take your time, and later choose the fonts

     you like the most.  You may add more fonts anytime in the future.

     If you purchased 5 fonts now, you may purchase another 5 fonts

     later.



     You don't have to choose all the fonts you purchase

     at once, you may choose other fonts later in the future.

     This CD-ROM is for Microsoft Chinese Windows 3.1.



CD-ROM  NAKAI Chinese True Type fonts for MS Chinese Windows 3.1

     24 Traditional and 12 Simplified True Type fonts on one CD-ROM.

     Provides 70 Proportional English TTF and 600 English Postscript

     fonts. Supports Union Way Chinese Windows.  Comes with DOS Dyna

     Font emulator driver.



     With its 2 byte to 1 byte utility, you may use this package

     in English Windows (That means you may work with Chinese fonts

     in a English Windows - this feature is for computer wizers)



CD-ROM 30 Chinese True Type fonts

     You have 30 (15000 characters each) Chinese True Type fonts in one

     CD-ROM. The best product for those who need all kind of fonts but

     not have enough hard disk space.  You may use the fonts form CD-ROM.



Let me know if you need more information on these CD-ROMs!



     John Kou

     bamboo@delphi.com


From owner-ccnet-l@UGA.CC.UGA.EDU Thu Jun 15 09:01:37 1995
Received: from jolt.eng.umd.edu (jolt.eng.umd.edu [129.2.102.5]) by bacchus.eng.umd.edu (8.6.10/8.6.4) with ESMTP id JAA04435 for <yjj@bacchus.eng.umd.edu>; Thu, 15 Jun 1995 09:01:34 -0400
Received: from uga.cc.uga.edu (uga.cc.uga.edu [128.192.1.5]) by jolt.eng.umd.edu (8.6.10/8.6.4) with SMTP id JAA11493 for <yjj@GLUE.UMD.EDU>; Thu, 15 Jun 1995 09:01:29 -0400
Message-Id: <199506151301.JAA11493@jolt.eng.umd.edu>
Received: from UGA.CC.UGA.EDU by uga.cc.uga.edu (IBM VM SMTP V2R2)
   with BSMTP id 6835; Thu, 15 Jun 95 08:58:05 EDT
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.2a/1.8a) with BSMTP id 3432; Thu, 15 Jun 1995 08:58:00 -0400
Date:         Thu, 15 Jun 1995 13:59:00 BST
Reply-To: Ross Paterson <rap@DOC.IC.AC.UK>
Sender: Chinese Computing Network <CCNET-L@UGA.CC.UGA.EDU>
From: Ross Paterson <rap@DOC.IC.AC.UK>
Subject:      Re: unicode bdf font not good
To: Multiple recipients of list CCNET-L <CCNET-L@UGA.CC.UGA.EDU>
Status: RO

Albin Pouilles <Albin.Pouilles@ansf.alcatel.fr> writes:

> I am afraid the uni24.bdf font is not correct at all.
> There are plenty of glyphs that look the same.

The problem is that the font is incomplete: it contains glyphs scavenged
from other character sets (by me) and there are 1268 hanzi codes without
glyphs.  These characters are not in GB2312, Big-5, KSC5601, JIS208
or CCCII.  Nelson Chin has been going through the font regularizing
the radicals, and it seems he's put in the radicals for these omitted
characters, thinking it better than nothing.


From owner-ccnet-l@UGA.CC.UGA.EDU Tue Jul 11 22:33:03 1995
Reply-To: dschiffer@HORIZONSBBS.COM
Sender: Chinese Computing Network <CCNET-L@UGA.CC.UGA.EDU>
From: "Douglas L. Schiffer" <dschiffer@HORIZONSBBS.COM>
Organization: New Horizons BBS (315)337-3610 v.34
Subject:      Unicode font update
To: Multiple recipients of list CCNET-L <CCNET-L@UGA.CC.UGA.EDU>
Status: RO

I've just got through changing my copy of UNIHAN24.BIN - the public
domain Unicode font file.  I filled in over 600 of the blank
characters by using corresponding character in the CNS 11643-1992 plane
3 font. The particulars:

        before:   1268 holes

        after:     643 holes

A clear improvement!

Asthetically, the characters are very similar in style to the
best of the UNIHAN font.

This method preferentially selects traditional style characters.
Holes occupied by simplified characters will likely remain holes.

I have the HBF delta file, if anyone is interested.


From owner-ccnet-l@UGA.CC.UGA.EDU Mon Jul 24 03:42:07 1995
Date:         Mon, 24 Jul 1995 03:01:00 EST
Reply-To: dschiffer@HORIZONSBBS.COM
Sender: Chinese Computing Network <CCNET-L@UGA.CC.UGA.EDU>
From: "Douglas L. Schiffer" <dschiffer@HORIZONSBBS.COM>
Organization: New Horizons BBS (315)337-3610 v.34
Subject:      UNIHAN24 holes
To: Multiple recipients of list CCNET-L <CCNET-L@UGA.CC.UGA.EDU>
Status: R

The following holes remain in my Unicode UNIHAN24 font file, after I

 1) removed the holes that were contained in the Unicode<->CNS
        xref list.  (This got over half of them)

 2) manually scanned CNS planes 4-7 for ADDITIONAL matchups with
        Unicode.  (some 275 additional zi).

The following 342 holes remain.  These are the real "hard core"
guys!  Even some of these may be in CNS, as I did not do an
exhaustive search of the CNS list (searching every possible BuShou,
looking up and down a couple of strokes, etc.)

4e06 4e37 4e4a 4e5b 4e64 4e65 4e67 4e6c 4e6e 4e6f 4e72 4e78 4e7a 4e7b
4e7c 4e7d 4eaa 4ebd 4ed2 4f21 4f23 4fa4 4feb 50a4 50f2 516f 517a 519a
51a7 5266 528f 52da 5381 5391 53bc 53fe 5497 54db 551d 551e 551f 5525
5528 5569 556f 5572 5579 55b8 55ba 55bc 55ed 55ee 55f0 5621 5625 565d
56a1 56a4 56b8 56b9 56c4 56d5 56d6 56e8 5719 57af 57b1 5816 5842 5846
586e 58b6 58ea 58ed 5913 591e 593b 5a30 5aad 5af2 5b6d 5c26 5c43 5c72
5c83 5cc2 5ce7 5d04 5d05 5dce 5dea 5dec 5ded 5dfc 5e49 5ee4 5f45 603e
6244 6256 6318 63b9 63fb 63fc 6404 64dd 6530 6569 657d 6586 658f 65c0
65d5 65f8 66fb 6730 6767 680d 686a 68bb 68be 6916 691d 698b 698c 69da
69dc 6a30 6a73 6a74 6a75 6a7b 6ae4 6af7 6b15 6b5a 6ba9 6bee 6c3a 6c48
6d4c 6e81 6ee7 6f68 6f99 6f9b 6ff9 709e 713e 7140 71f6 71f7 7233 725c
7320 7364 73b1 7411 7478 74fc 7534 7552 758d 75ad 7606 7666 7793 77c8
77cb 785b 7873 7875 78d7 7903 7943 794e 7a24 7a35 7a52 7a5d 7b3d 7b7f
7c31 7c61 7c8f 7cf9 7d26 7dd4 7e06 7e28 7eae 7eb4 7ebb 7ed6 7ee4 7eec
7ef9 7f0a 7f1e 7f3c 7f49 7f56 7faa 7fd9 8002 8053 810b 810c 8135 8137
81a5 81b6 824d 8254 8260 82c6 8313 83bb 8419 841a 8485 848a 84dc 84de
8536 854f 8550 85ad 8612 8644 871f 87a6 87a7 87cf 881e 88af 88c7 891c
8945 8968 8980 89c3 8a1a 8aae 8b8f 8bb1 8bd0 8bea 8c52 8c6e 8d20 8d6a
8e0e 8e2d 8e7d 8e7e 8e80 8eae 8eb5 8ebb 8ed0 8f6a 8f8c 9064 90d2 915b
91fa 91fb 922a 92af 92b0 9385 93ba 93bf 93f0 9424 9491 9543 954b 955a
956e 95aa 95cf 95d9 95e6 9607 974e 974f 9754 97b0 988e 9895 98a3 990f
9962 9966 997b 9982 9a72 9a94 9b36 9b78 9b79 9bb1 9bb2 9bce 9bd0 9c18
9c19 9c1a 9c5b 9c5c 9c69 9c6a 9c6b 9c70 9c7e 9c83 9c89 9c8c 9c93 9c97
9cac 9cb9 9cbe 9cc0 9cc2 9cc8 9cc9 9cda 9ce1 9ce4 9d47 9d8d 9d8e 9e3c
9e40 9e5d 9e6e 9e72 9e74 9f82


This list represents a 73% improvement over the original font,
which has 1268 holes.

Cross referencing the above list with the Unicode xref table shows
very few have matchups with other standards.  The JIS 0212 character
set has a handful.  The majority of these remainders will very likely
have to be manually created, if they are to be filled.

I will be trying to upload the updates to ftp.ifcss.org
this week.


From owner-ccnet-l@UGA.CC.UGA.EDU Thu Aug 10 13:36:08 1995
Date:         Thu, 10 Aug 1995 10:32:12 -0700
Reply-To: "Bruce H. Liu" <bliu@NETCOM.COM>
Sender: Chinese Computing Network <CCNET-L@UGA.CC.UGA.EDU>
From: "Bruce H. Liu" <bliu@NETCOM.COM>
Subject:      Re: Fonts for CLK on Macintosh?
Comments: To: Bob Crawford <BCRAWFORD@ACC.ROANOKE.EDU>
To: Multiple recipients of list CCNET-L <CCNET-L@UGA.CC.UGA.EDU>
In-Reply-To:  <199507231535.IAA20579@mail5.netcom.com>
Status: R

Yes. There are. DynaLab just released a new product which contains 20
typefaces in one CD-ROM. Those fonts are in TrueType format and can be
used in both Chinese Windows and MAC CLK. (Yes, one package only.)

It's DynaLab's 8th Anniversary font pack and DynaLab only pressed 1,500
copies. The price is $200 in US and is available through us and our
dealers. Moreover, if you are thinging of high resolution output, DynaLab
has the solution. DynaLab has the corresponding postscript fonts for
image setters and all the naming are consistent. Therefore, as long as
your service bureau has DynaLab's postscript fonts, you can use Dyna's
TTF as your screen fonts and output it without any modification.

There are also single fonts available in postscript format. Each typeface
is sold $99.00.



Bruce H. Liu              "When it comes to the Web, my friends, people
bliu@netcom.com           check in... they do not check out." --Gil Schwartz
http://www.dynalab.com/dynalab/
TEL:(408)748-9418 FAX:(408)748-9417


On Sun, 23 Jul 1995, Bob Crawford wrote:

> Are fonts available (in addition to the ones included with the CLK, Chinese
> Language Kit) which can be used throught the CLK?  I especially want a brush
> style  Traditional font similar to the Kai font (included in CLK) that has
> Simplified characters.
>
> This would be for use on a Macintosh.
>
> Bob Crawford <bcrawford@acc.roanoke.edu>
>


From owner-ccnet-l@UGA.CC.UGA.EDU Sat Aug 12 06:56:10 1995
Date:         Fri, 11 Aug 1995 04:08:00 EST
Reply-To: dschiffer@HORIZONSBBS.COM
Sender: Chinese Computing Network <CCNET-L@UGA.CC.UGA.EDU>
From: "Douglas L. Schiffer" <dschiffer@HORIZONSBBS.COM>
Organization: New Horizons BBS (315)337-3610 v.34
Subject:      7 more holes filled
To: Multiple recipients of list CCNET-L <CCNET-L@UGA.CC.UGA.EDU>
Status: R

The following 2 messages give HBF information for an additional 7
characters needed to fill 7 more holes in the unihan24.bdf file.  These
characters, plus the earlier batch culled from CNS now means that the
unihan24.bdf font is now _complete_ with respect to GB12345-90, rows
16 - 89.  This means that a complete GB12345 font can be assembled.
(Indeed, I now have a version of it on my disk). It also means that
traditional counterparts for all character in GB2312-80 now exist
in the Unicode font file.

Merge the following messages with the unihan24.hbf source file, and
recompile your binary font.

These characters came from various GuoBiao traditional
fonts.

Enjoy.  D. Schiffer  8/10/95

Hole count: 335 and dropping.  :-)


From owner-ccnet-l@UGA.CC.UGA.EDU Thu Oct 12 09:33:34 1995
Reply-To: Werner Lemberg <A7621GAC@helios.edvz.univie.ac.at>
Sender: Chinese Computing Network <CCNET-L@UGA.CC.UGA.EDU>
From: Werner Lemberg <A7621GAC@helios.edvz.univie.ac.at>
Subject:      Re: Font tool for Chinese fonts?
Comments: To: heping Shan <shan@ULIISA.UNIL.CH>
To: Multiple recipients of list CCNET-L <CCNET-L@UGA.CC.UGA.EDU>
Status: R

Try a look into the CJK package (available at the CTAN hosts
i.e. ftp.dante.de, ftp.shsu.edu, ftp.tex.ac.uk) in the directory

tex-archive/languages/chinese/CJK

(you must get the latest beta version).

It contains a tool to convert the NTU TrueType fonts into PS fonts.


    Werner Lemberg


From owner-ccnet-l@UGA.CC.UGA.EDU Thu Mar 12 14:17:18 1998
Received: from listmail.cc.uga.edu (listmail.cc.uga.edu [128.192.232.10]) by ccic.ifcss.org (8.6.11/8.6.11) with ESMTP id OAA01734 for <yjj@IFCSS.ORG>; Thu, 12 Mar 1998 14:16:06 -0500
Message-Id: <199803121916.OAA01734@ccic.ifcss.org>
Received: from uga.cc.uga.edu by listmail.cc.uga.edu (LSMTP for Windows NT v1.1a) with SMTP id <0.2C1EE110@listmail.cc.uga.edu>; Thu, 12 Mar 1998 14:14:30 -0500
Received: from UGA.CC.UGA.EDU (NJE origin LISTSERV@UGA) by UGA.CC.UGA.EDU (LMail V1.2c/1.8c) with BSMTP id 5475; Thu, 12 Mar 1998 14:13:06 -0500
Date:         Thu, 12 Mar 1998 14:17:26 -0600
Reply-To: Jian Yang <jian@OLF.GOUV.QC.CA>
Sender: Chinese Computing Network <CCNET-L@UGA.CC.UGA.EDU>
From: Jian Yang <jian@OLF.GOUV.QC.CA>
Subject:      Re: Netscape 4.0  and CLK
Comments: To: JPDraine <JPDraine@AOL.COM>
To: CCNET-L@UGA.CC.UGA.EDU
Status: R

You should also install necessary fonts to be able to read Chinese from
Communicator without Chinese OS or add-on. For instance, fonts that come
with AsianPro97 of Unionway (http://www.unionway.com), or with LangPack of
Microsoft, or Cyberbit of Bitstream
(http://www.bitstream.com/cyberbit/ftpread.htm)  etc. can be shared without
problem by Communicator.

Once you've isntalled necessary fonts, go to "Preferences" to config
"Fonts" for concerned language/encoding.

After that, you still have to deal with two possible situations (supposing
you don't use a Chinese OS) by choosing (in the same font config screen) to
use defaut font or page set font, combined with the choice of your default
View/Encoding. That is because: a). not all HTML pages use the meta tag to
indicate the encoding method; b). some pages use the Microsoft method
(<font=... lang=... > which might not suite your installation.

Good luck!

Yang Jian

-----Message d'origine-----
De : JPDraine <JPDraine@AOL.COM>
@ : CCNET-L@UGA.CC.UGA.EDU <CCNET-L@UGA.CC.UGA.EDU>
Date : jeudi 12 mars 1998 11:26
Objet : Netscape 4.0 and CLK


>I am running Netscape Communicator, and have set up the Preferences, to the
>best of my ability, to read Simplified and Traditional Chinese. I must have
>done something wrong, though, because    the Chinese only comes out in
code.
>When I try reading such a downloaded page offline I use "encode" to try
>reading the text, for example, as GB. The results are mostly "nonsense"
>fragments of characters.
>What am I doing wrong? Help!!
>Thank you,
>Patrick Draine
>JPDraine@aol.com
>draine@tiac.net
>

