WO1992014230A1 - Method of storing scalable chinese logogram - Google Patents

Method of storing scalable chinese logogram

Info

Publication number
WO1992014230A1
WO1992014230A1 PCT/GB1992/000222 GB9200222W WO9214230A1 WO 1992014230 A1 WO1992014230 A1 WO 1992014230A1 GB 9200222 W GB9200222 W GB 9200222W WO 9214230 A1 WO9214230 A1 WO 9214230A1
Authority
WO
WIPO (PCT)
Prior art keywords
graphic
scalable
logogram
strokes
stroke
Prior art date
Application number
PCT/GB1992/000222
Other languages
French (fr)
Inventor
Amiram Carmon
Original Assignee
Telemond (H.K.) Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telemond (H.K.) Ltd. filed Critical Telemond (H.K.) Ltd.
Publication of WO1992014230A1 publication Critical patent/WO1992014230A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41BMACHINES OR ACCESSORIES FOR MAKING, SETTING, OR DISTRIBUTING TYPE; TYPE; PHOTOGRAPHIC OR PHOTOELECTRIC COMPOSING DEVICES
    • B41B19/00Photoelectronic composing machines
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • G09G5/24Generation of individual character patterns
    • G09G5/246Generation of individual character patterns of ideographic or arabic-like characters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/002Generic data access
    • G06K2215/0028Generic data access characterised by the format per se
    • G06K2215/0031Compressed bit maps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/002Generic data access
    • G06K2215/0028Generic data access characterised by the format per se
    • G06K2215/0034Outline coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

A method for storing a set of scalable logograms, including the steps of: a) defining and storing an outline for each of a plurality of scalable graphic strokes, each forming part of at least one of the set of scalable logograms; b) describing a scalable logogram as including a scalable character space having edges and an ordered collection of at least some of the scalable graphic strokes; c) defining for each of the scalable graphic strokes in the scalable logogram, at least one of: an orientation, a scalable digital shape, and a scalable location within the character space relative to other graphic strokes or to the edges, wherein for a graphic stroke which appears in the logogram more than once, the scalable digital shape, for a given scale, is identical; and d) storing, for each scalable logogram, the ordered collection and, for each scalable graphic stroke in the scalable logogram, at least one of the orientation, the scalable digital shape and the scalable location.

Description

Method of storing scalable Chinese logograms
FIELD OF THE INVENTION
The present invention relates to methods and apparatus for character generation generally and more particularly to methods and apparatus for generating logogram characters.
BACKGROUND OF THE INVENTION
Chinese, Japanese and Korean character sets (fonts), respectively known as Hanzi, Kanji and Hanja, are included of thousands of "logograms", characters for words each of which is included of a different set of simple patterns formed of lines, arcs and other simple shapes, referred to as "brush strokes".
Fig. BA-1 illustrates an exemplary logogram, labeled with reference numeral 10, for the word "hawk". The brush strokes, labeled 12, form simple horizontal or vertical line (labeled 12a), curves (12b), teardrops (12c) and other simple graphic shapes.
Furthermore, some brush strokes, such as those shown in Fig. BA-2, can be formed of two simple lines. Brush strokes 13a and 13b are both two line brush strokes.
The brush strokes are typically combined together to form compound patterns 14 which can be logograms on their own. If the compound pattern 14 is a logogram, it typically indicates a common object or expression. Over thousands of years of development, the brush strokes and compound patterns were further combined together into more complex logograms to indicate more complex ideas.
Thus, today's logogram character sets include thousands of logograms each having a distinctive collection of brush strokes and/or compound patterns. Furthermore, the logograms have been designed such that addition or deletion of even one brush stroke changes the meaning of the logogram. As is known in the art, brush strokes 12 and compounds 14 can take on different sizes and orientations in different logograms. Due to the reader's concern for visual quality, changes in resolution or in orientation of a brush stroke 12 or a compound 14 have to be performed in such a way so as to provide a clear picture, not only of the overall logogram 10, but also of the individual elements of the logogram 10.
Because the sheer number of logograms is so large, and because the precise shape of the patterns is so critical, the prior art digital fonts require large amounts of computer memory and are not easily scalable.
For any type of digital font, a designer typically uses an interactive graphic system of some kind to define the image of each character or logogram. Each logographic image is then processed to provide an internal representation of it, which is a highly
compressed and computationally convenient format of the image.
Typically, the interactive graphic system creates the internal representation and also decodes it to display the
now-encoded logogram to the font designer. The font designer can then correct his definition of the logogram as he desires.
POSTSCRIPT, manufactured by Adobe Corporation of the U.S.A., and TRUETYPE, manufactured by Apple Computer Corporation, also of the U.S.A., are two software systems originally developed to encode graphic patterns and English fonts so that they can be stored and easily scaled upon reproduction.
Both POSTSCRIPT and TRUETYPE mathematically described the outline of each character and are therefore known as "outline fonts". The mathematical representation enables expansion and contraction of the external outlines of a character. The expanded or contracted outlines are filled with black printing dots to produce a complete character. The main problem of the above-described methods is that down-sizing (reduction in size) can cause distortion of the
character. Since the character is mathematically represented, down-sizing involves division operations on integers and therefore, produces inaccuracies. Furthermore, the results can often be fractional, or partly fractional and, since the printer requires whole integer values (it cannot print a half a dot), rounding must occur.
The smaller the font size, the more the above-described problem occurs and the worse the quality of characters produced. This is due to the fact that the loss or gain of one dot is more critical for a small size bitmap (such as a 30x30 bit bitmap) than for a large, 300×300 bit bitmap.
Both POSTSCRIPT and TRUETYPE perform some procedures, called "hints", to correct for the above-described problem when producing characters in small font sizes. For example, one hint is that the two sides of the letter 0 must be equal and narrower than the top and bottom sides.
It will be noted that the hinting technology utilized by POSTSCRIPT and TRUETYPE typically address Latin or other alphabetical scripts.
Those familiar with the art will note that the multi-stroke logograms, where accurate preservation of parts and relationships among part is required for clear visual perception, are more sensitive to such deteriorations than the more simple alphabetic characters.
When a user writes with the digital font, a character generator utilizes the internal representation to generate bitmap images of the desired character on the output medium, such as a computer monitor or a printed page. To do so, the character generator receives the index of the required character within the digital font, the size of the output character image, and the placement of the output character on the output medium.
Several logogram font designers, such as Nippon Information Sciences (NIS) of Tokyo, Japan and Dynalab of Taipei, Taiwan, have tried to minimize the number of pre-stored graphic units needed by first identifying compounds shared by more than one logogram, storing such compounds separately, and using the compounds when printing logograms in which they are included. The process saves memory and can decrease the time needed to print or display logograms.
However, since such compounds are often subtly different in different logograms, the above process does not provide printed or displayed logograms of high-quality, particularly for small font sizes.
An ideal logogram character generator has the following requirements:
1) The system should be able to generate characters at any size between a maximum size and a minimum usable size;
2) The graphic quality should be high enough to please the visual tastes of potential users;
3) The speed with which a character is drawn (drawing speed) should be fast enough not to slow down a printing or display device, and that it be able to refresh a computer screen at a reasonable speed; and
4) The system should be fairly inexpensive.
U.S. Patent 4,937,745 to Carmon, the present inventor, describes a method and apparatus for selecting, storing and
displaying Chinese logograms. The method involves selecting
logograms on the basis of one of their sounds, their component strokes and compounds or by drawing them. SUMMARY OF THE INVENTION
The present invention seeks co provide an improved logogram character generation system.
There is therefore provided, in accordance with an embodiment of the present invention, a method for storing a set of scalable logograms. The method includes the steps of a) defining and storing an outline for each of a plurality of scalable graphic strokes, each forming part of at least one of the set of scalable logograms, b) describing a scalable logogram as including a scalable character space having edges and an ordered collection of at least some of the scalable graphic strokes, c) defining for each of the scalable graphic strokes in the scalable logogram, at least one of: an orientation, a scalable digital shape, and a scalable location within the character space relative to other graphic strokes or to the edges, wherein for a graphic stroke which appears in the logogram more than once, the scalable digital shape, for a given scale, is identical and d) storing, for each scalable logogram, the ordered collection and, for each scalable graphic stroke in the scalable logogram, at least one of the orientation, the scalable digital shape and the scalable location.
Additionally, in accordance with an embodiment of the present invention, the first step of defining includes the step of
mathematically defining the outline of each of the scalable graphic strokes. The step of mathematically defining preferably includes the step of selecting and storing control points of a continuous, closed, two-dimensional curve. The continuous, closed, two-dimensional curve preferably is selected from the set of; uniform B-spline and cubic Bezier curves. Moreover, in accordance with an embodiment of the present invention, the step of describing includes the step of selecting no more than two alignment points to be aligned on an integer grid point of a quantization grid, thereby to provide the scalable digital shape.
Furthermore, in accordance with an embodiment of the present invention, the method includes the step of defining for a graphic stroke at least one point on the outline as a link point to which other, subsequently drawn, graphic strokes are related.
Still further, in accordance with an embodiment of the present invention, the method includes the step of defining for a graphic stroke a point on the outline as an anchor point to which the link point is linked. A distance between the link point and the anchor point can be either scalably determined or of one pixel in all font sizes.
Additionally, in accordance with an embodiment of the present invention, the step of describing includes the step of defining compounds formed of a small plurality of graphic strokes and wherein the scalable logogram includes at least one compound.
Moreover, in accordance with an embodiment of the present invention, the method includes the step of storing the logograms in a logogram database and the graphic strokes in a graphic stroke database, wherein each logogram in the logogram database includes a list of its constituent graphic strokes and their location within the character space.
Further, in accordance with an embodiment of the present invention, each graphic stroke in the graphic stroke database includes a list of the control points. Preferably, each compound in the compound database includes a list of its constituent graphic strokes and their locations with the character space. The list of constituent graphic stroked preferably also includes font-size selectable graphic strokes.
Additionally, in accordance with an embodiment of the present invention, the first step of defining includes the step of run length encoding a set of commonly used graphic strokes in a common font size.
Moreover, in accordance with an embodiment of the present invention, the step of run length encoding includes the steps of run length encoding in a X direction for an X-oriented graphic stroke and run length encoding in a Y direction for a Y-oriented graphic stroke.
Furthermore, in accordance with an embodiment of the present invention, the method includes the step of modifying a font style from an existing font style by modifying some of the graphic strokes.
There is also provided, in accordance with an embodiment of the present invention, apparatus for presenting scalable logograms included of scalable graphic strokes. The apparatus includes i) apparatus for receiving a font size and an operator-provided logogram code indicating a logogram to be presented, for accessing a font database including a) information regarding a small plurality of the scalable graphic strokes and b) an ordered list of some of the scalable graphic strokes for each of a multiplicity of the scalable logograms and for providing, in accordance with the operator-provided logogram code, the scalable graphic strokes in the order determined by the ordered list, ii) apparatus for receiving one of the graphic strokes, for utilizing a first portion of the information to calculate a continuous outline of the one of the graphic strokes and to quantize the continuous outline, in accordance with the font size, to produce a quantized outline, iii) apparatus for placing the quantized outline within a character space of the logogram in accordance with a second portion of the information to produce a located quantized outline and iv) apparatus for receiving the located quantized outlines for the entirety of the graphic strokes of the logogram and for filling in the located quantized outlines, thereby to present the logogram.
Additionally, in accordance with an embodiment of the present invention, the apparatus includes apparatus for providing the logogram to a video device or to a printing device.
There is also provided, in accordance with an embodiment of the present invention, a method for presenting scalable logograms included of scalable graphic strokes. The method includes the steps of i) receiving a font size and an operator-provided logogram code indicating a logogram to be presented, ii) accessing a font database including a) information regarding a small plurality of the scalable graphic strokes and b) an ordered list of some of the scalable graphic strokes for each of a multiplicity of the scalable logograms, iii) providing, in accordance with the operator-provided logogram code, the scalable graphic strokes in the order determined by the ordered list, iv) utilizing a first portion of the information to calculate a continuous outline of the one of the graphic strokes and to quantize the continuous outline, in accordance with the font size, to produce a quantized outline, v) placing the quantized outline within a character space of the logogram in accordance with a second portion of the information to produce a located quantized outline, vi) repeating the steps of utilizing and placing for each graphic stroke in the logogram, thereby producing a plurality of located quantized outlines and vii) filling in the located quantized
outlines, thereby to present the logogram. Finally, in accordance with an embodiment of the present invention, the method includes the step of providing the logogram to a video device or to a printing device.
BRIEF DESCRIPTION OF THE DRAWINGS AND ANNEXES
The present invention will be understood and appreciated more fully from the following detailed description taken in conjunction with the drawings and annexes in which:
Figs. BA-1 and BA-2 are pictorial illustrations of two logograms;
Fig. 1A is a pictorial illustration of a collection of outlined graphic strokes defined in accordance with the principles of the present invention and attached together, in accordance with the principles of the present invention, to form an outline of the logogram of Fig. BA-1;
Fig. 1B is a pictorial illustration of a collection of outlined graphic strokes forming an outline of a third logogram.
Fig. 2 is a graphical illustration of a graphic stroke forming part of an logogram, useful in understanding the present invention;
Fig. 3 is a graphical illustration of a B-spline curve description of a graphic stroke;
Fig. 4 is an illustration of discrete and continuous graphic strokes;
Figs. 5A and 5B are illustrations of two continuous graphic strokes quantized in two different ways;
Fig. 6 is a pictorial illustration of the logogram of Fig. 1 detailing anchor and link points;
Fig. 7A is a pictorial illustration of a continuous graphic stroke; Fig. 7B is a pictorial illustration of a quantized version of the graphic stroke of Fig. 7A;
Fig. 7C is a pictorial illustration of an alternative description of the continuous graphic stroke of Fig. 7A;
Fig. 8 is a block diagram illustration of the organization of a database for storing logograms, constructed and operative in accordance with a preferred embodiment of the present invention;
Fig. 9 is a block diagram illustration of elements of an logogram generator, constructed and operative in accordance with a preferred embodiment of the present invention;
Fig. 10 is a block diagram illustration of apparatus for implementing the logogram generator of Fig. 9.
DETAILED DESCRIPTION OF PRESENT INVENTION
Reference is now made to Figs. 1A and 1B which illustrate collections of outlined graphic strokes defined in accordance with the principles of the present invention and attached together, in accordance with the principles of the present invention, to form logogram. Fig. 1A is an outline of logogram 10 of Fig. BA-1.
In accordance with the present invention, the graphic strokes can be formed of many shapes, such as straight lines 20, slightly curved lines 22, lines 24 with a polygram shaped end, teardrops 26, serif 23, portion of line 23a or any other simple graphic shape which can be described by a closed curve describably by a mathematical formula.
It will be noted that the graphic strokes of the present invention do not correspond directly to brush strokes. Some brush strokes are formed of one graphic stroke; other brush strokes are formed of more than one graphic stroke, as is the case of brush stroke 12b of Fig. BA-1. In accordance with the present invention, a single cerif , for fonts with serifs, is also defined as a graphic stroke. Furthermore, portions of brush strokes which are simple straight lines, such as the element labeled 25, can also be defined as graphic strokes.
It will further be noted that, in the Chinese script, there are only a few types of brush strokes; however, within each type there is a tremendous variety of shapes that the brush strokes can take on. The variety is in the form of length, width, curliness and spatial orientation of the stroke.
In order to create the outline of logogram 10, a character space 30, typically having a square shape, is defined in which the logogram 10 will be produced.
The appropriate graphic strokes are then placed in their proper places in the character space 30. If necessary, the graphic strokes slightly overlap each other, as is the case of the slightly curved line 22a and the straight line 25. The overlap is denoted by the shaded area 21.
Additionally, if desired, the shape of the graphic stroke can be modified as required by the logogram shape to provide other graphic strokes. Thus, teardrops 26a, 26b and 26c all have slightly differently shapes and are rotated with respect to each other.
In accordance with a preferred embodiment of the present invention, the graphic strokes are divided into primitive graphic strokes, which are described analytically, and derived graphic strokes, which are derived from the primitive graphic strokes through simple operations. For example, teardrop 26b is a primitive graphic stroke and teardrop 26c is a derived graphic stroke which is a scaled and rotated version of teardrop 26b. The primitive graphic strokes are defined as being X-oriented or Y-oriented. This is shown in Fig. IB where it is seen that graphic strokes 27 are oriented more toward the Y direction and are therefore defined as Y-oriented graphic strokes, graphic strokes 28 are oriented toward the X direction and graphic strokes 29 do not show a clear orientation.
An X-oriented graphic stroke 32 is a simple planar region S, as shown in Fig. 2 to which reference is now made, defined as:
S = ((x,y); x, real, xmin < x < xmax, y0(x) < y< y1(x)) (1) where xmin and xmax determine the left and right extremes,
respectively, of the graphic stroke 32 and y0(x) and y1(x) determine the lower and upper boundary curves, respectively, of the graphic stroke.
A Y-oriented graphic stroke is a simple planar region Sy such that if the x and y coordinates of the points in the region are switched, the resulting region S is an X-oriented region as defined hereinabove in equation 1.
It will be noted that a left-handed Cartesian coordinate system is utilized where the X direction increases to the right and the Y direction increases downward. This coordinate system is common in image processing systems.
The outline of each primitive graphic stroke 32 is
represented by a continuous, simple, closed two-dimensional curve, which may be defined as a uniform B-spline, a cubic Bezier curve or any other suitable curve. According to a preferred embodiment of the present invention, the outline is represented by a uniform, periodic, two-dimensional, quadratic B-spiine curve. According to this representation, the outline is determined by a set of control points Pi, which are not necessarily on the boundary curves y0(x) and y1(x).
For a system which defines the outline as a B-spline curve, the set of points p(u) on the outline are determined by:
K-1
p(u) =∑ Ni(u) Pi(mod K) 0 ≤ u ≤ K (2)
i=2 where Ni(u) is the ith quadratic uniform B-spline and is illustrated in Fig. 3 to which reference is now briefly made. Ni(u) is defined as:
0.5 (u - i)2 i ≤ u ≤ i+1
0.75 - (u - (i + 1.5))2 i+1≤ u ≤ i+2
Ni(u) = 0.5 (i + 3 -u), i+2≤ u ≤ i+3 (3)
0 otherwise and Pi is the set of K control points,- provided by the font designer, which determine the shape of the outline. In order to associate N-1(u) and N-2(u) with the control points PK-1 and PK-2,
respectively, and thereby to make p(u) periodic with a period of K, the index of Pi in equation 2 is modulated by K.
The definition of the outline provided in equation 2 is twice differentiable, except at knots 40 each located halfway between any two consecutive control points Pi. Knots 40 are defined as those p(i) for which the following is true: p(i) = 0.5(Pi-2Pi-1)m i=o,,,K-1 (4)
SUBSTITUTE SHEET At most knots 40, the first derivative of the outline is continuous but the second derivative is not. However, there are some
consecutive control points Pi, such as P3 and P4, which are located at the same location. For these control points Pi, the knot 40 between them is also at the same location and the first derivative of the outline at that location typically is discontinuous.
Derived graphic strokes, such as teardrop 26c (Fig. 1A), are obtained from a selected primitive graphic stroke, such as teardrop 26b, through scaling and rotation of the control points Pi of the selected primitive graphic stroke.
In order to present a graphic stroke, or a whole logogram, on a computerized medium, such as a monitor screen or a printed page, the graphic stroke must be defined as a discrete bitmap of
rectangular picture elements (pixels) which are either active or inactive (having values of 1 or 0).
As shown in Fig. 4 to which reference is now made, a discrete primitive X-oriented graphic stroke 42 is therefore defined as the quantized form of the continuous primitive graphic stroke 32. The discrete graphic stroke 42 is defined on a M × N grid having discrete values m and n respectively. In accordance with the present
invention, each pixel (m,n) fills a pixel rectangle 44 centered around grid point (m,n).
The discrete graphic stroke 42 corresponding to the
continuous graphic stroke 32 is approximately the set of all grid points (m,n) such that some portion of the region S of the continuous graphic stroke 32 fills at least half of the area of their pixel rectangle 44.
It will be noted that the .number of grid points, referred to hereinafter as the grid size, is variable, thereby to provide a scalable font. The region Sd for an X-oriented discrete graphic stroke 42 is defined as the raster within a graphic stroke space 43;
S d - ( (m,n) ; m,n are integers , mmin ≤m ≤ mmax , (5 ) where mmin, mmax, n0(m) and n1(m) are quantized versions of xmin, xmax, y0(x) and y1(x), respectively, of the continuous region S.
mmin, mmax, n0 (m) and n1(m) are illustrated in Fig. 4.
The discrete Y-oriented graphic stroke is obtained by first switching the x and y coordinates of the corresponding continuous X-oriented graphic stroke, quantizing the continuous X-oriented graphic stroke to obtain the corresponding discrete X-oriented graphic stroke, and switching the m and n coordinates of the discrete X-oriented graphic stroke.
Discrete derived graphic strokes are obtained from their corresponding continuous derived graphic strokes through quantization as described hereinabove.
Typically, each graphic stroke is defined for a graphic stroke space 43 of a predetermined size. To create smaller or bigger graphic strokes, the shape of the graphic stroke must be scaled appropriately and then quantized. Reductions in scale mean that fewer pixels are used to describe a graphic stroke.
As is known in the art, quantization due to reductions in scale can cause distortions in the shape of the graphic stroke. The distortions are particularly disturbing for small character spaces 30 whose logograms are comprised of many graphic strokes.
In accordance with a preferred embodiment of the present invention, the region Sd is modified as necessary in order to ensure that a) the shape of a graphic stroke is generally maintained for all logograms in which it appears and for each time it appears in one logogram, b) that a locating point on each graphic stroke is always on a grid point, regardless of the grid size and c) that the relationships between adjacent graphic strokes are maintained. The operations performed to ensure the above characteristics are referred to as hinting techniques.
Reference is now made to Figs. 5A and 5B which respectively illustrate two continuous graphic strokes 44a and 44b placed in two different locations with respect to the grid, labeled 46. Two discrete graphic strokes 48a and 48b, formed respectively from continuous units 44a and 44b, are also illustrated. It can be seen that the shapes of the two discrete graphic strokes 48a and 48b are distinctly different. Specifically, the width of the central straight stem, labeled 47a and 47b, is different in the two graphic strokes.
To ensure that the shapes of repeating graphic strokes are generally equivalent within an logogram of a given size, knots, or other distinct points relating to the graphic stroke, of the graphic stroke can be defined to be "alignment points" which are to be placed on a grid point.
In Figs. 5A and 5B, the alignment points are labeled 50a and 50b. It will be appreciated that graphic stroke 44a is aligned with alignment point 50a and graphic stroke 44b is aligned with alignment point 50b.
Typically, there is one alignment point in each of the X and Y directions although there can be just one alignment point for the whole graphic stroke. It is also possible that a graphic stroke will have no alignment points defined. If there is at least one alignment point defined, when producing the graphic stroke 42, the outline of the continuous graphic stroke 32 is first calculated based on the desired location of the graphic stroke 32 within the character space 30. The outline is then shifted to place the alignment point on a grid point and only after that is the shifted continuous graphic stroke quantized.
It will be recognized that by judicial selection of alignment points, certain characteristics of different graphic strokes can be maintained. For example, if the continuous outlines of two graphic strokes have the same width along an axis at their respective alignment points, then this width will be equal regardless of the font size. Therefore, the alignment points of graphic strokes 24 and 25, labeled 51 in Fig. 1A, should be located at the same location within the logogram 10 thereby to make their widths equivalent.
The location of the graphic stroke within the character space 30 of the logogram 10 is typically defined as an offset of the origin of the graphic stroke space 43 from the origin of the space 30.
Since the offset is scalable, it can take on a non-integer value which must then be quantized.
In Chinese character sets, the spatial relationships of the graphic strokes within the logogram is important. Therefore, in accordance with a preferred embodiment of the present invention and as shown in Fig. 6 to which reference is now made, the distance between certain graphic strokes, or between a graphic stroke and an edge of the character space 30, can be defined.
Thus, in accordance with the present invention, the "gaps" among graphic strokes within a logogram 10 and within the character space 30 are controlled. For placing the graphic stroke in the character space 30, knots can be defined as "anchor points" 60, with at most one anchor point for each direction. The anchor point is then shifted by the amount of the quantized offset in order to determine the placement of the graphic point in the character space 30.
A knot can also be defined as a "link point" 62 which is the point of a first drawn graphic stroke 64 to which a subsequently drawn graphic stroke is linked. The offset of the subsequently drawn graphic stroke 68 is then defined as the distance, labeled d, from its anchor point to the link point 62 of the first drawn graphic stroke 64 rather than as the distance of its anchor point from the origin of the character space 30. There can be more than one link point in each axis; however, there can be only one anchor point in each axis.
Anchor and link points may also be defined as the right, left, top and/or bottom extreme points of the graphic stroke. In addition, a link point can be linked to one of the sides or vertices of the character space 30 instead of being linked to an anchor point of a previous graphic stroke.
It will be appreciated that the spatial relationship of the graphic strokes of the logogram 10 are preserved through the
relationship of the anchor and link points. In accordance with the present invention and as shown in Fig. 6, the distance between the anchor point of the first drawn graphic stroke 64 and a link point of the subsequently drawn graphic stroke 68 is typically fixed in one font size and it is scaled for all other font sizes.
Linking can be defined by a scalable distance between the anchor and link points or by "attachment" where the anchor and link points must touch each other. The distance between the link and anchor points is fixed as one pixel, no matter what the grid size is. For example, graphic strokes 70 and 72 are attached graphic strokes. Some graphic strokes have shapes that for small character spaces 43, quantize to unacceptable shapes. This is illustrated in Figs. 7A - 7C to which reference is now briefly made. Fig. 7A illustrates a graphic stroke 74 which is a straight line ending in a slight bulge 76. Nonetheless, a viewer's eye sees graphic stroke 74 as a basically straight line. For some sizes of character space 43 (Fig. 4), graphic stroke 74 is quantized to a straight line with a single pixel 78 sticking out to the side. Since graphic stroke 74 appears to the eye more as a straight line than as an L-shape, for small character spaces 43, the outline of graphic stroke 74 is defined as the shape 80 of Fig. 7C.
In summary, a graphic stroke is defined by the following elements:
a) type: either primitive or derived;
b) orientation: X-oriented or Y-oriented;
c) parameters of primitive graphic strokes;
1) number of control points Pi;
2) list of the coordinates of control points Pi, where, for X-oriented graphic strokes, the coordinates are listed from the lower side of the boundary curve in a counter-clockwise direction and for Y-oriented graphic strokes, the coordinates are listed from the left hand side of the boundary curve in a clockwise direction;
d) parameters of derived graphic strokes:
1) index of the primitive stroke from which it is derived;
2) scale factor in both X and Y directions;
3) rotation angle;
e) knots selected as default align and anchor points; and f) any other suitable information. It will be appreciated that the method of defining graphic strokes requires little storage per graphic stroke and per logogram and therefore, encapsulates the variety of brush strokes found in Chinese logograms without the need for a large amount of storage space, as in the prior art.
From the graphic strokes, compound patterns, such as compound pattern 14 (Fig. BA-1), can be formed. From the graphic strokes alone, compound patterns alone or compound patterns with graphic strokes, the entire library of thousands of characters can be created. It will be recognized that the entire library is created with relatively little storage and, the necessary modifications of the. graphic strokes can be relatively easily performed, typically in a dynamic way.
Compound patterns 14 which recur in many logograms can be stored, if desired. Derived compound patterns can be created from them (i.e. they can be scaled and/or rotated). However, if a compound pattern recurs in different shapes, then each version of it must be produced from the correct graphic strokes.
As known in the art, a font style is a font whose details are consistent throughout the entirety of logograms of the font. In the prior art, creation of a font, even one based on an existing font, requires modifying every character of the font.
It will be appreciated that the method of the present invention enables generally simple creation of one font style from an already existing font style. In accordance with the present
invention, the font designer merely modifies those graphic strokes, such as serifs or other dominant strokes, whose shapes determine the font style. The modified graphic strokes are then used in place of the graphic strokes from which they were modified. It will also be appreciated that method of the present invention provides independent control of the logogram at the logograms, compound and graphic stroke levels.
Reference is now made to Figs. 8 and 9 which respectively illustrate an organization of a font database 86 for storing information regarding a plurality of logograms of a font and an logogram generator 88 for accessing the font database 86 and producing an logogram for printing or displaying.
The font database 86 includes an logogram database 90 for storing, for each logogram, an element list of the compounds 14 and graphic strokes which comprise the logogram and their offsets within the character space 30, a compound stroke database 92 for storing, for each compound 14, an element list of the graphic strokes and/or compounds which comprise the compound 14, a derived compound/stroke database 94 for storing, for each element therein, a code for the corresponding primitive compound or stroke and the scaling and rotation parameters of the element, and a graphic stroke database 96 for storing, for each primitive graphic stroke, a list of its control, anchor, link and knot points.
The graphic stroke database 96 is the smallest database since it stores information regarding relatively few primitive graphic strokes.
The logogram database 90 requires the most memory since, for each logogram of which there are approximately 7000, it comprises an element list of the elements of the logogram and their offsets within the character space 30. If a graphic stroke has alternative shapes for different font sizes, as discussed hereinabove with respect to Figs. 7A - 7C, the element list also includes the alternative shapes and the ranges of font sizes for which they are applicable. The logogram generator 88 comprises a database accessor 100 for receiving, from a host machine 89, a font size parameter and an logogram code indicating an logogram 10 to be displayed or printed and for accessing font database 86 to retrieve the information regarding the desired logogram.
Using the logogram code, the database accessor 100 retrieves from logogram database 90 the element list comprising codes of the elements (compounds, derived compounds and/or strokes, and/or graphic strokes) forming the desired logogram. The element list is in the order in which the elements are to be drawn.
In accordance with the element list, the database accessor 100 repeatedly accesses the appropriate ones of databases 92 - 96 in order to produce a list of graphic strokes to be drawn, in the order in which they are to be drawn.
Specifically, if an element in the element list is a graphic stroke, then database accessor 100 provides the code of the graphic stroke to the graphic stroke database 96 and retrieves from database 96 the information described hereinabove, comprising elements a - f.
If an element in the element list is a compound, database accessor 100 provides its code to the compound database 92 and retrieves therefrom a list of the constituent elements of the compound, in the order in which the compound is to be drawn. The elements can include compounds, graphic strokes and derived strokes and compounds.
The database accessor 100 then accesses the relevant databases until the entirety of the elements in the compound have been processed.
If an element in the element list is a derived compound or stroke, the database accessor 100 accesses the derived compound/stroke database 94 and retrieves therefrom a code indicating the corresponding primitive compound or stroke and the amount of scaling and/or rotation necessary to produce the compound or stroke.
The database accessor 100 then accesses either the graphic stroke database 96 or the compound database 92 as described
hereinabove.
After repeatedly accessing the databases of font database 88, the database accessor 100 has a list of the control parameters of the graphic strokes which form the desired logogram in the order in which the graphic strokes are to be calculated.
The database accessor 100 provides, in order, the graphic stroke information to a graphic stroke outliner 102. Utilizing the control and knot points of the graphic stroke and the specified font size, the outliner 102 calculates, according to equation 2
hereinabove, the continuous stroke outline. For derived strokes, the outliner 102 also calculates the extent of the scaling and rotation.
As described hereinabove, if there is an alignment point defined for the graphic stroke, the alignment point is then shifted to a grid point and the outline is quantized.
The quantized outline is then provided to a graphic stroke locator 104 for locating the quantized outline in accordance with the offset and the anchor and link points of the graphic stroke and as described hereinabove.
The locator 104 provides a properly located outline for the graphic stroke to an outliner filler 106 for storing the outline in a storage medium 108. Locator 104 then typically provides control back to the database accessor 100 which, in turn, provides the next graphic stroke to be processed. When the last graphic stroke has been processed, the outline filler 106 retrieves the stored outlines from storage 108 and fills in the outline, thereby to produce a bitmap of the desired logogram.
Reference is now briefly made to Fig. 10 which illustrates apparatus for implementing the logogram generator 88. The apparatus comprises a microprocessor 110, such as an 80286 microprocessor manufactured by Intel of the USA, for implementing units 100 - 106, and a Read Only Memory (ROM) 112 for implementing font database 88 and storage medium 108.
The host machine 89, which can be a computer, a
microprocessor or a microcontroller, provides the logogram generator 88 with an logogram code, font size and an output code. The logogram generator 88 generates a bitmap of the desired logogram and according to the output -code, sends the bitmap to either a screen video Random Access Memory (RAM) 114 for displaying on a screen or to a buffer RAM forming part of a printing device 116.
It will be appreciated that drawing each of the graphic strokes of a logogram and then filling in the logogram is time-consuming. As has been mentioned hereinabove, storing the entire bitmap of a logogram requires too much memory. Similarly, storing the entire bit map for a graphic stroke requires too much memory.
Therefore, in accordance with an alternative embodiment of the present invention, for commonly used graphic strokes in commonly used font sizes (such as the font size used on screens of computer monitors), rather than storing control points, the outlines of the graphic strokes are run length encoded.
Run length encoding is used in the arts of printing and of facsimile communication. Since a rasterized graphic pattern can be considered as a series of adjacent filled lines, each line can be described by its first coordinate and its length, rather than by a listing of the entirety of active pixels in the line. The method of describing each line of a graphic pattern by its first point and its length is known in the art as run length encoding. In the present invention, the outlines are run length encoded by first quantizing and aligning the continuous outline for the selected font size. Since each outline defines an enclosed space (i.e. each filled line is adjacent the next with no holes in any line), for an X-oriented graphic stroke, only the following need be stored:
a) the coordinates of the leftmost uppermost pixel (i.e. the initial pixel);
b) the number of X direction lines in the graphic stroke; and
c) for each line in the graphic stroke, the leftmost X coordinate of that line and the length of the line in the X
direction.
For a Y-oriented graphic stroke, the following is store:
a) the coordinates of the leftmost pixel (i.e. the initial pixel);
b) the number of Y direction lines in the graphic stroke; and
c) for each line in the graphic stroke, the uppermost Y coordinate of that line and the length of the line in the Y
direction.
It will be appreciated that run length encoding based on the orientation of each graphic stroke minimizes the amount of data stored per graphic stroke. Without this separation, a Y-oriented stroke would require many more X-oriented run lengths for its description.
It will further be appreciated that the graphic strokes stored in this manner are used for the designated font size only and they are typically not scalable or rotatable. However, since this method of storage is only for very common graphic strokes, it provides a useful speed-up of presentation of the graphic stroke for an acceptably small increase in the amount of storage space required. It will still further be appreciated that the graphic strokes are initially defined by the continuous mathematical outline. The outline is quantized and aligned for a given font size and the results are run length encoded.
The graphic strokes which are selected to be stored by this alternative method are chosen in accordance with expected statistics of their usage. For example, if a computer program has to display certain texts as part of its menu, the graphic strokes of the logograms of those texts, or of the most commonly used logograms can be stored in accordance with this alternative method. The remaining graphic strokes and the same graphic strokes in other font sizes are stored in accordance with the first embodiment of the present invention.
It will be appreciated by persons skilled in the art that the present invention is not limited to what has been particularly shown and described hereinabove. Rather the scope of the present invention is defined only by the claims which follow:

Claims

1. A method for storing a set of scalable logograms, the method comprising the steps of:
defining and storing an outline for each of a plurality of scalable graphic strokes, each forming part of at least one of said set of scalable logograms;
describing a scalable logogram as comprising a scalable character space having edges and an ordered collection of at least some of said scalable graphic strokes;
defining for each of said scalable graphic strokes in said scalable logogram, at least one of: an orientation, a scalable digital shape, and a scalable location within said character space relative to other graphic strokes or to said edges,
wherein for a graphic stroke which appears in said logogram more than once, said scalable digital shape, for a given scale, is identical; and
storing, for each scalable logogram, said ordered collection and, for each scalable graphic stroke in said scalable logogram, at least one of said orientation, said scalable digital shape and said scalable location.
2. A method according to claim 1 and wherein said first step of defining includes the step of mathematically defining said outline of each of said scalable graphic strokes.
3. A method according to claim 2 and wherein said step of mathematically defining includes the step of selecting and storing control points of a continuous, closed, two-dimensional curve.
4. A method according to claim 3 and wherein said continuous, closed, two-dimensional curve is selected from the set of: uniform B-spline and cubic Bezier curves.
5. A method according to claim 1 and wherein said step of describing includes the step of selecting no more than two alignment points to be aligned on an integer grid point of a quantization grid, thereby to provide said scalable digital shape.
6. A method according to claim 2 and including the step of defining for a graphic stroke at least one point on said outline as a link point to which other, subsequently drawn, graphic strokes are related.
7. A method according to claim 6 and including the step of defining for a graphic stroke a point on said outline as an anchor point to which said link point is linked.
8. A method according to claim 7 and wherein a distance between said link point and said anchor point is scalably determined.
9. A method according to claim 7 and wherein a distance between said link point and said anchor point is of one pixel in all font sizes.
10. A method according to claim 3 wherein said step of describing includes the step of defining compounds formed of a small plurality of graphic strokes and wherein said scalable logogram comprises at least one compound.
11. A method according to claim 3 and including the step of storing said logograms in a logogram database and said graphic strokes in a graphic stroke database, wherein each logogram in said logogram database comprises a list of its constituent graphic strokes and their location within said character space.
12. A method according to claim 10 and including the step of storing said logograms in a logogram database, said graphic strokes in a graphic stroke database, and compounds in a compound database, wherein each logogram in said logogram database comprises a list of its constituent graphic strokes and their location within said character space.
13. A method according to claim 11 and 12 and wherein each graphic stroke in said graphic stroke database comprises a list of said control points.
14. A method according to claim 12 and wherein each compound in said compound database comprises a list of its constituent graphic strokes and their locations with said character space.
15. A method according to claims 11 and 12 and wherein said list of constituent graphic strokes also includes font-size selectable graphic strokes.
16. A method according to claim 1 and wherein said first step of defining includes the step of run length encoding a set of commonly used graphic strokes in a common font size.
17. A method according to claim 16 and wherein said step of run length encoding includes the steps of run length encoding in a X direction for an X-oriented graphic stroke and run length encoding in a Y direction for a Y-oriented graphic stroke.
18. A method according to claim 1 and including the step of modifying a font style from an existing font style by modifying some of said graphic strokes.
19. Apparatus for presenting scalable logograms comprised of scalable graphic strokes, the apparatus comprising:
means for receiving a font size and an operator-provided logogram code indicating a logogram to be presented, for accessing a font database comprising a) information regarding a small plurality of said scalable graphic strokes and b) an ordered list of some of said scalable graphic strokes for each of a multiplicity of said scalable logograms and for providing, in accordance with said operator-provided logogram code, said scalable graphic strokes in the order determined by said ordered list; means for receiving one of said graphic strokes, for utilizing a first portion of said information to calculate a continuous outline of said one of said graphic strokes and to quantize said continuous outline, in accordance with said font size, to produce a quantized outline;
means for placing said quantized outline within a character space of said logogram in accordance with a second portion of said information to produce a located quantized outline; and
means for receiving said located quantized outlines for the entirety of said graphic strokes of said logogram and for filling in said located quantized outlines, thereby to present said logogram.
20. Apparatus according to claim 19 and including means for providing said logogram to a video device.
21. Apparatus according to claim 19 and including means for providing said logogram to a printing device.
22. A method for presenting scalable logograms comprised of scalable graphic strokes, the method comprising the steps of:
receiving a font size and an operator-provided logogram code indicating a logogram to be presented;
accessing a font database comprising a) information regarding a small plurality of said scalable graphic strokes and b) an ordered list of some of said scalable graphic strokes for each of a
multiplicity of said scalable logograms;
providing, in accordance with said operator-provided logogram code, said scalable graphic strokes in the order determined by said ordered list;
utilizing a first portion of said information to calculate a continuous outline of said one of said graphic strokes and to quantize said continuous outline, in accordance with said font size, to produce a quantized outline; placing said quantized outline within a character space of said logogram in accordance with a second portion of said information to produce a located quantized outline;
repeating the steps of utilizing and placing for each graphic stroke in said logogram, thereby producing a plurality of located quantized outlines; and
filling in said located quantized outlines, thereby to present said logogram.
23. A method according to claim 22 and including the step of providing said logogram to a video device.
24. A method according to claim 22 and including the step of providing said logogram to a printing device.
PCT/GB1992/000222 1991-02-07 1992-02-06 Method of storing scalable chinese logogram WO1992014230A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IL97178 1991-02-07
IL97178A IL97178A0 (en) 1991-02-07 1991-02-07 Method for compressed storage and fast printing of chinese characters

Publications (1)

Publication Number Publication Date
WO1992014230A1 true WO1992014230A1 (en) 1992-08-20

Family

ID=11062084

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB1992/000222 WO1992014230A1 (en) 1991-02-07 1992-02-06 Method of storing scalable chinese logogram

Country Status (2)

Country Link
IL (1) IL97178A0 (en)
WO (1) WO1992014230A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57168570A (en) * 1981-03-06 1982-10-16 Fujitsu Ltd Character code-to-character pattern converter
GB2197102A (en) * 1986-10-29 1988-05-11 China Computer Corp High resolution character generation
EP0397299A2 (en) * 1989-05-12 1990-11-14 Adobe Systems Inc. Method for displaying kanji characters

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57168570A (en) * 1981-03-06 1982-10-16 Fujitsu Ltd Character code-to-character pattern converter
GB2197102A (en) * 1986-10-29 1988-05-11 China Computer Corp High resolution character generation
EP0397299A2 (en) * 1989-05-12 1990-11-14 Adobe Systems Inc. Method for displaying kanji characters

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ACM COMPUTER GRAPHICS vol. 21, no. 4, 1 July 1987, pages 243 - 251; R.D. HERSCH: 'CHARACTER GENERATION UNDER GRID CONSTRAINTS' *
PATENT ABSTRACTS OF JAPAN vol. 7, no. 8 (E-152)13 January 1983 & JP,A,57 168 570 ( FUJITSU K.K. ) 16 October 1982 *
PROCEEDINGS OF THE FOURTH INTERNATIONAL JOINT CONFERENCE ON PATTERN RECOGNITION 10 November 1978, KYOTO,JAPAN pages 82829 - 831; K. MORI , H. NAKANO: 'COMPUTER AIDED DESIGN OF DOT MATRICES' *
RASTER IMAGING AND DIGITAL TYPOGRAPHY, PROCEESINGS RIDT'89 31 December 1989, LAUSANNE,SWITZERLAND pages 1 - 10; R.D. HERSCH: 'INTRODUCTION TO FONT RASTERIZATION' *

Also Published As

Publication number Publication date
IL97178A0 (en) 1992-06-21

Similar Documents

Publication Publication Date Title
US5404436A (en) Computer method and apparatus for converting compressed characters for display in full size
EP1077445B1 (en) Device dependent rendering of characters
US5099435A (en) Method and apparatus for conversion of outline characters to bitmap characters
EP0684583B1 (en) Method for construction of a scaleable font database
US4851825A (en) Grayscale character generator and method
US5719595A (en) Method and apparauts for generating a text image on a display with anti-aliasing effect
US6552728B1 (en) Method and system for providing substitute computer fonts
EP0684582B1 (en) Method and apparatus for reconstruction of character outlines
JPH06266847A (en) Method and equipment for displaying object changed into raster
US5579030A (en) Method and apparatus for display of text on screens
JPS59137987A (en) Graphic pattern overlapping method
US7262774B2 (en) Character image generating apparatus, character image generating method, display control apparatus, display control method and computer-readable recording medium recorded character image generation program or display control program thereon
JPH087784B2 (en) How to improve the pixel image quality of text
US6614432B1 (en) Image rendering technique
JPH05244402A (en) Method for reducing amount of required storage device
US6195473B1 (en) Non-integer scaling of raster images with image quality enhancement
US5489920A (en) Method for determining the optimum angle for displaying a line on raster output devices
KR970004237B1 (en) Letter generating method and its apparatus
JPS6233948B2 (en)
US5444825A (en) Method and apparatus for scaling line patterns
US6213653B1 (en) Method and apparatus for efficiently interpolating an image using an expansion factor derived from two different numbers of gray levels
JP2009526274A (en) Counters arranged in a coarse grid
US5553219A (en) Font outline and bit map generator synthesizing filling data with selected outline data or duplicate outline data
US7012605B1 (en) Method for generating fonts from very small data sets
WO1992014230A1 (en) Method of storing scalable chinese logogram

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): GB JP KP KR

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)