Subject: Re: PostScript Chinese Fonts and Vector Fonts

From: [email-masked]
Date: Wed, 23 Jun 1993 16:10:52 -0400

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 [email-masked] 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

---------------------------------------------------------------------
张吉Ji Zhang<[email-masked]> M-32 IECE NRC  613-990-2501
---------------------------------------------------------------------

---

From: Ed Lai <[email-masked]>
Date: Wed, 23 Jun 1993 14:03:36 -0700

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: "HU Bo, IFT Munich, +49 89 54759129" <[email-masked]>
Date: Thu, 24 Jun 1993 04:11:56 -0400

> 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.

> ...

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

> ...

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

Take care~~~

Bo.

---

From: [email-masked]
Date: Thu, 24 Jun 1993 11:48:24 -0400

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

---

From: "HU Bo, IFT Munich, +49 89 54759129" <[email-masked]>
Date: Fri, 25 Jun 1993 04:16:13 -0400

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 <[email-masked]>. I will forward
his mail to your private e-mail address.

Bo
-----------------------------------------------------
[email-masked] 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.

Ji Zhang