U.S. patent number 3,852,720 [Application Number 05/332,013] was granted by the patent office on 1974-12-03 for method and apparatus for automatically generating korean character fonts.
Invention is credited to Hen Shu Park.
United States Patent |
3,852,720 |
Park |
December 3, 1974 |
METHOD AND APPARATUS FOR AUTOMATICALLY GENERATING KOREAN CHARACTER
FONTS
Abstract
A method and apparatus for characterizing Korean characters into
compositional structure groups so as to provide for the automatic
selection of individual symbol fonts used to formulate the various
characters. A unique code is provided for each of the basic Korean
symbols and logic circuitry is utilized to recognize basic
compositional structure groups to provide a supplemental code for
each symbol forming the Korean character. The supplemental code
identifies the desired font.
Inventors: |
Park; Hen Shu (Torrance,
CA) |
Family
ID: |
23296339 |
Appl.
No.: |
05/332,013 |
Filed: |
February 12, 1973 |
Current U.S.
Class: |
382/243; 400/110;
382/185; 400/104 |
Current CPC
Class: |
G06F
3/018 (20130101); B41B 27/00 (20130101) |
Current International
Class: |
B41B
27/00 (20060101); G06F 3/00 (20060101); B41b
009/00 (); G06f 003/12 () |
Field of
Search: |
;340/172.5,146.3
;197/1A,1R ;95/4.5R ;101/93C ;199/18,38,40 |
References Cited
[Referenced By]
U.S. Patent Documents
Primary Examiner: Shaw; Gareth D.
Assistant Examiner: Woods; Paul R.
Attorney, Agent or Firm: Bacon & Thomas
Claims
I claim:
1. A character converter for generating output signals indicative
of a font for the basic symbols of a character from a set of coded
input signals identifying each symbol comprising:
a. a plurality of four stage shift registers for storing successive
identifying coded signals,
b. geometrical group classifying means connected to said plurality
of shift registers for classifying said stored identifying signals
into geometrical groups and for providing geometrical group output
signals,
c. control circuit means connected to receive the group output
signals from said geometrical group classifying means, said control
circuit means providing compositional structure output signals
associated with each identifying coded signal, and
d. output buffer means connected to receive said compositional
structure output signals and said associated identifying coded
signals,
said control circuit means comprising:
1. means for generating a first control signal for shifting the
stored identifying coded signals in the second stages of the
plurality of shift registers into said otput buffer means, and
2. means for generating a second control signal for shifting the
stored identifying coded signals in the third stages of said
plurality of shift registers into said output buffer means.
2. A character converter as recited in claim 1 wherein said control
circuit further comprises a diode matrix.
3. A character converter as recited in claim 1 wherein said control
circuit further comprises a read only memory.
4. A character converter as recited in claim 1 wherein the stages
of each of said plurality of shift registers are connected to
separate geometrical group identifying means.
5. A character converter as recited in claim 4 wherein said shift
registers are connected to receive a parallel string of identifying
coded signals.
6. A character converter as recited in claim 1 wherein said
compositional structure groups comprises the groups:
C.sub.vv, CC.sub.vv, C.sub.hv, SVV.sub.b, SVV.sub.c, CVV.sub.b,
CVV.sub.c, HV.sub.b, HV.sub.c, HV.sub.vv, .sup.vv C.sub.b, .sup.vv
CC.sub.b, .sup.hv C.sub.b, .sup.hv CC.sub.b, and CC.sub.hv.
7. A character converter as recited in claim 1 said converter
further comprising:
a. means connected to said storage means for identifying said
stored coded signals as representing vowel and consonant
symbols,
b. means connected to said vowel and consonant identifying means
for detecting a grammatically invalid succession of successively
stored vowel and consonant coded signals, and
c. means for generating an error signal upon the occurrence of a
grammatically invalid succession of stored coded signals.
8. A character converter as recited in claim 7 wherein said coded
input signals comprise a distinct identifying code for
distinguishing vowels and consonants.
9. A character converter as recited in claim 1 wherein said
compositional structure groups comprise the groups:
C.sub.svv, CC.sub.svv, C.sub.cvv, CC.sub.cvv, C.sub.dhv,
CC.sub.dhv, C.sub.uhv, CC.sub.uhv, C.sub.hvv, CC.sub.hvv,
SVV.sub.b, SVV.sub.c, CVV.sub.b, CVV.sub.c, HV.sub.b, HV.sub.c,
HV.sub.vv, .sup.vv C.sub.b, .sup.vv CC.sub.b, .sup.hv C.sub.b, and
.sup.hv CC.sub.b.
Description
BACKGROUND OF THE INVENTION
1. Field of the Invention
The invention pertains to the automatic characterization and
classification of the various Korean symbols within a given
character to uniquely select appropriate symbol fonts for each of
the basic symbols within the character.
2. Description of the Prior Art
In the written Korean language, each individual character
represents a syllable in the spoken language and consists of a
combination of several basic symbols from an alphabet of 24 such
basic symbols. Each of these basic symbols, however, has several
possible fonts or variations. The font used for a particular symbol
depends on the position of that symbol within the character and the
graphic form of the other symbols comprising the character. For
example, the basic symbol " ," a consonant, has six different types
fonts:
A. as in
B. as in
C. as in
D. as in
E. as in
F. as in
Different fonts may be used even for a symbol having the same
syntactical meaning within different characters. For example, the
symbol " " has the same syntactical significance in examples a, b
and c above, but different fonts are used. The general rule which
determines the particular font of a symbol utilized in a particular
situation is based on achieving a composite character having a
"balancing appearance." The selection of fonts to utilize within a
given character is accomplished by those skilled in the Korean
language, and although the basic goal of achieving an overall
balance or symmetry for each character has long been realized, no
formal rules have been developed for classifying the basic Korean
symbols so as to achieve an automated selection of type fonts.
Such an automated classification and selection scheme would be
highly desirable since the total number of symbols required in
printing or typing Korean characters is much larger than the
English set of alphabet letters which have only two fonts for each
letter namely, upper case and lower case. As a result, there are
considerable difficulties in applying mechanized printing
techniques for Korean characters in such devices to photo type-set,
line printers or electronic typewriters.
Present day techniques for selecting the proper Korean font for
each symbol are primarily manual. These methods necessitate large
keyboards usually having over 50 symbols, and require large amounts
of training and skill in operation.
Some automated attempts have been made to formulate Chinese
characters from a relatively small number of basic symbols. For
example, Shashoua et al. describes in U.S. Pat. No. 3,325,786, a
Chinese ideograph machine which produces a binary code for each of
a plurality of basic strokes. The code is compared to a large
number of binary words stored in memory. An optical matrix is then
employed to display selected ideographs. The system then utilizes
optical scanning for recording the selected image of the optical
scanning matrix onto film for later composition into printed
form.
The Leban U.S. Pat. No. 3,665,450 shows an encoding and decoding
apparatus for Chinese ideograph which also employs an optical
printing system together with a complex keying procedure. This
procedure necessitates manual classification of characters by the
operator as they are keyed onto the system.
The Chinese automated systems utilize a somewhat arbitrary set of
basic symbols in formulating the Chinese characters and the symbols
have no syntactical significance in and of themselves.
SUMMARY OF THE INVENTION
It is an object of the instant invention to provide a method and
apparatus for automatically selecting the proper font for each
symbol used in formulating Korean characters. The basic symbols
represent the Korean alphabet and have syntactical significance.
The invention comprises a logic module which may readily be
interfaced between the input and output of an I/O device such as a
printing device. The logic module automatically composes the
character output in accordance with the logical rules governing the
position and type font of the basic symbols comprising the
character.
In a broader sense the object of the instant invention is to
achieve a compositional classification scheme for groups of basic
Korean symbols that permits the selection of type fonts for each
basic symbol.
A further object of the instant invention is to provide a
relatively simple classification of Korean characters utilizing
basic grammar theory.
A further object of the instant invention is to achieve a balanced
composite character appearance for Korean characters by selecting
appropriate symbol fonts utilizing the basic grammar theory
classification.
Another object of the invention is to identify a geometrical
structure of each basic Korean symbol and utilize this individual
geometrical classification to formulate a composite classification
scheme in constructing Korean symbol fonts for Korean
characters.
Yet another object of the invention is to provide binary coded
signals for each Korean symbol and its identifying type font for
use in automatic printing or typing apparatus
BRIEF DESCRIPTION OF THE DRAWINGS
Thesee and other objects of the invention will become clear from
the following description of the invention as illustrated by the
drawings wherein:
FIG 1 illustrates the 24 basic symbols of the Korean alphabet;
FIG. 2 illustrates a block diagram of the character composer;
FIG. 3 is a schematic diagram of the input buffer and
demultiplexer;
FIG. 4 is a schematic diagram of the syntax identifier;
FIG. 5 is a schematic diagram of the control logic;
FIG. 6 is illustrates Table 1 showing the input and output coding;
and
FIG. 7 illustrates Table 2 showing a variant of the input coding of
Table 1.
DESCRIPTION OF THE PREFERRED EMBODIMENT
Korean Characters -- Introduction
The construction of Korean characters from a serial string of basic
symbols is described in terms of the formal grammar theory of
Chomsky, e.g., N. Chomsky "Formal Properties of Grammar," Handbook
of Mathematical Psychology, Vol 2, John Wiley and Sons, 1963. In
the present system, all of the various type fonts are classified,
and the basic grammar theory of Chomsky is applied to these
classification groups in the construction of Korean characters for
typing or printing.
In order to describe the set of syntax rules governing the
construction of a character, the notation of the Backus-Naur Form
is adopted, see for example, "The Syntax and Semantics of the
Proposed International Algebraic Languages," UNESCO, Conference on
Information Processing, Paris 1959. This notation is a formal
metalanguage used for describing the grammar structure of a
language. The following symbols and interpretations are
employed:
<X> The object named "X," treated as a unit
:: = "is defined as" or "is formed from"
.vertline. "or" (the exclusive "or") this symbol separates
alternative definitions or ways of forming the object named on the
left-hand side of the :: =.
In the Korean language a word may be composed of a single syllable,
or may consist of several syllables. One syllable is written as a
character. The syllables may be composed of three elemental
phonemes which are the "initial," the "medial" and the "final." The
description below applies the the formal language theory to forming
a character which transcribes a single syllable.
Since the syllables may be decomposed into three phonemes, the
initial (I), medial (M) and final (F), and since a single syllable
is transcribed by a character (C), a permissive replacement rule
can be established as follows:
<C> :: = <SC> .vertline. <SC> <F> (1)
in the equation above the metalinguistic element "simple character"
(SC) is introduced for the convenience of showing coarse structure
of derivations. The simple character is again produced by the
following rule:
<SC> :: = <I> <M> (2)
in addition, the non-terminal vocabularies initial, medial and
final are themselves derived from the production rules:
<I> :: = <Consonant>
<F> :: = <Consonant> (3) <M> :: = <Vowel>
In the expression (3), the consonants and vowels consist of several
basic symbols of the Korean alphabet and there are 24 such basic
symbols as are illustrated in FIG. 1. As may be seen in FIG. 1, the
basic 24 symbols are divided into two groups called the simple
consonants (SCO) and the simple vowels (SV).
Graphic Structure Classification
In addition to the rather simple classification illustrated in FIG
1, the simple vowels may be further classified according to the
graphic structure of the symbols. Thus, the symbols with a long
vertical stroke such as ##SPC1##
will be called simple vertical vowels (SVV), and the symbols with a
long horizontal stroke such as ##SPC2##
are termed horizontal vowels (HV). Furthermore, each of the classes
SVV and HV is again divided into two classes. A simple vertical
vowel with the tip marks on its right-hand side is called a simple
right vertical vowel (SRVV), namely ; the SVV with the tip marks on
its left-hand side is termed a simple left vertical vowel (SLVV),
namely . In addition, a HV with the tip marks upward from the
horizontal line is termed an up-horizontal vowel (UHV), namely ;
and the HV with the tip marks downward from the horizontal line are
called down-horizontal vowels (DHV), namely .
The basic symbol " " is called a simple vertical line vowel (SVLV),
and the symbol " " is termed a horizontal line vowel (HLV).
Thus, according to the above graphic classification scheme the SV
is described by the expressions:
<SV> :: = <SVV> .vertline. <HV>
<SVV> :: = <SRVV> .vertline. <SLVV> .vertline.
<SVLV> (4)
<hv> :: = <uhv> .vertline. <dhv> .vertline.
<hlv>
compositional Structure Classification -- Complex Symbols
A Korean consonant or vowel may consist of several basic symbols
taken from the symbols shown in FIG. 1. However, each of the vowel
symbols must belong to one of the classes described by the
expression (4) above.
The classification given by the expressions (4) are based on the
graphic structure of the basic vowel symbols. In order to describe
a Korean character, however, a compositional character structure
should be utilized in a classification scheme.
In the class of consonants that are actually used in a Korean
character, there are those such as ##SPC3##
other than simple consonants, and such symbols are termed compound
consonants (CCO) which are generated by the expression
<CCO> :: = <SCO> <SCO> (5)
then, the class <consonant> in the expression (1) and (2) is
completely described by the expression
<Consonant> :: = <SCO> .vertline. <CCO> (6)
the expression (6) generates a larger class of consonants than that
actually used in a Korean character, but the expression does
suffice to describe all the possible consonants used in any given
Korean character.
In the class of vowels that are used in a Korean character, the
compositional classifications are also possible and there are two
classes which are termed a complex vertical vowel (CVV) and
compound vowel (CV).
The CVV is again divided into two classes which are called complex
right vertical vowel (CRVV) namely, ; and, complex left vertical
vowel (CLVV), namely . Each of these two classes is composed of the
10 basic vowel symbols. The classification of the CVV is described
by the expressions:
<CVV > : : = <CRVV> .vertline. <CLVV> (7)
<CRVV> : : = <SRVV>.vertline. (8) <CLVV> : : =
<SLVV> (9)
The CV is also divided into two classes as shown in the
expression:
<CV> :: = <CSV> .vertline. <CCV> (10)
where the CSV means the compound simple vowel, and the CCV means
the compound-complex vowel. Each of these classes is described by
the expressions:
<CSV> : : = <HV> <SVV> (11) <CCV> : : =
<HV> <CVV> (12)
Combining the expressions for SVV, CVV and HV, and considering only
the classes of the vowels that are used in a Korean character, the
classes CSV and CCV are further classified by the expressions:
<CSV> ::= <CSURV>.vertline. <CSDLV> .vertline.
<CSLV> <CSLUV>.vertline. <CSLDV> (13)
<CSURV> ::= <UHV> <SRVV> (14) <CSDLV> ::=
<DHV> <SLVV> (15) <CSLUV> ::= <UHV>
<SVLV> (16) <CSLDV> ::= <DHV> <SVLV> (17)
<CSLV> ::= <HLV> <SVLV> (18)
where the CSURV means the complex simple upright vowel such as " "
the CSDLV is the compound simple down left vowel such as " "; the
CSLV the compound simple line vowel such as " "; the CSLUV the
compound simple line up vowel such as " "; the CSDLV the compound
simple line down vowel such as " ."
Similarly for the CCV,
<CCV> : : = <CCURV>.vertline. <CCDLV> (19)
<CCURV> : : = <UHV> <CRVV> (20) <CCDLV> : :
= <DHV> <CLVV> (21)
where the CCURV means the compound complex up right vowel such as "
"; and, the CCDLV is the compound complex down left vowel such as "
".
Therefore, all the vowels must belong to one of the classes HV,
SVV, CVV and CV. From an observation of the classes HV, SVV, CVV
and CV in the directional sense, the class HV is horizontal, the
classes SVV and CVV are vertical, and the class CV is neither
horizontal nor vertical and is in effect non-directional. Thus, in
the directional sense another classification is possible, defined
by the expression
<VV> :: = <SVV> .vertline. <CVV> (22)
where the VV means the vertical vowel and the class "vowel" in
expression (3) is described by the expression
<Vowel> :: = <HV> .vertline. <VV> .vertline.
<CV> (23)
utilizing the above classification scheme, one may readily
characterize any given Korean character. An example is shown below.
##SPC4##
Type Font Classification Scheme
In printing a given Korean character there is a specific type font
for each of the possible Korean symbols used to formulate a
character. The selection of the particular font is made on the
basis of achieving a "balanced appearance" of the character which
attempts to formulate a line of characters which are aligned on a
straight line having a uniform character height and width.
Therefor, the set of the Korean fonts for writing from left to
right (horizontal writing) is different from the set of fonts for
writing from top to bottom (vertical writing). However, since the
basic symbols of the Korean alphabet have a graphical structure in
both the horizontal and vertical directions, a compositional
structure scheme for the characters may be employed in that the
balanced appearance depends a great deal on the graphical character
structure. Thus, a type font for a given character symbol can be
constructed from the class of type fonts based on the compositional
structure of characters. The type fonts selected may thus be used
to construct characters for horizontal writing as well as vertical
writing.
If one wanted to have a complete Korean font type apparatus, no
grouping of the basic 24 symbols would be possible since each
distinct arrangement of symbols, (seven such symbols for the most
complex character) would necessitate a different font for each
symbol. In practice, however, many basic symbol combinations are
not used and each character itself must obey certain grammar rules
with regard to the number of vowels and consonants and their
relative position. Thus, for a practical system one can utilize the
above defined geometrical classifications as basic building blocks
in formulating a compositional classification for a character.
In the following compositional structure classification scheme the
geometrical and grammatical classifications SCO, VV, CCO, DHU, CV,
UHV, HV, SVV, CVV are utilized. It is to be understood, however,
that additional compositional structure classification schemes may
be developed employing a more detailed geometrical classification
which would also utilize the classifications SRVV, SLVV, SVLV, HLV
etc. Although each expanded classification schemes are possible,
the practical advantages are small when compared to the cost of
implementation and actual font type usage within the Korean
language.
The type fonts classes in the compositional structure
classification are defined below:
1) C.sub.svv -- for SCO> <C> : : = <SCO> (
<SVV> .vertline.<SVV><F>) 2) CC.sub.svv -- for
<CCO> <C> : : = <CCO> (<SVV>
.vertline.<SVV><F>) 3) C.sub.cvv -- for <SCO>
<C> : : = <SCO>
(<CVV>.vertline.<CVV><F>) 4) CC.sub.cvv -- for
<CCO> <C> : : = <CCO> (<CVV>
.vertline.<CVV><F>) 5) C.sub.dhv -- for <SCO>
<C> : : = <SCO> (<DHV>
.vertline.<UHV><F>) or <C> : : = <SCO>
<DHV> <F> 6) CC.sub.dhv -- for <CCO> <C> :
: = <CCO> (<DHV>.vertline.<UHV><F>) or
<C> : : = <CCO> <DHV> <F> 7) C.sub.uhv --
for <SCO> <C> : : = <SCO> <UHV> 8)
CC.sub.uhv -- for <CCO> <C> : : > <CCO>
<UHV> 9) C.sub.hvv -- for <SCO> <C> : : =
<SCO> (<HV><VV>
.vertline.<HV><VV><F>) 10) CC.sub.hvv -- for
<CCO> <C> : : = <CCO>
(<HV><VV>.vertline.<HV><VV> <F>) 11)
SVV.sub.b -- for <SVV> <C> : : = <I> <SVV>
12) SVV.sub.c -- for <SVV> <C> : : = <I>
<SVV> <F> 13) CVV.sub.b -- for <CVV> <C> :
: = <I> <CVV> 14) CVV.sub.c -- for <CVV>
<C> : : = <I>
(<CVV>.vertline.<HV><CVV>) <F> 15) HV.sub.b
-- for <HV> <C> : : = <I> <HV> 16) HV.sub.c
-- for <HV> <C> : : = <I> <HV> <F>
17) HV.sub.vv -- for <HV> <C> : : = <I>
(<HV><VV>.vertline.<HV><VV> <F>) 18)
.sup.vv C.sub.b -- for <SCO> <C> : : = <I>
<VV> <SCO> 19) .sup.vv CC.sub.b -- for <CCO>
<C> : : = <I> <VV> <CCO> 20) .sup.hv
C.sub.b -- for <SCO> <C> : : = <I> <HV>
<SCO> 21) .sup.hv CC.sub.b -- for <CCO> <C> : : =
<I> <HV> <CCO>
It is convenient to combine classes C.sub.dhv, C.sub.uhv and
C.sub.hvv and classes CC.sub.dhv, CC.sub.uhv and C.sub.hvv and
classes C.sub.svv and C.sub.cvv and classes CC.sub.svv and
CC.sub.cvv into single classes defined by
<C.sub.hv > : : = <C.sub.dhv >.vertline.<C.sub.hvv
>.vertline.<C.sub.u hv > <CC.sub.hv > : : =
<CC.sub.dhv >.vertline.<CC.sub.hvv >.vertline.<CC.su
b.uhv > <C.sub.vv > : : = <C.sub.svv
>.vertline.<C.sub.cvv > <CC.sub.vv > : : =
<CC.sub.svv >.vertline.<CC.sub.cvv >
and thus, only 15 separate and distinct classes are illustrated in
the preferred embodiment of FIG. 5.
The type fonts for the compound consonants and the complex vertical
vowels are not the type of fonts for the separate basic symbols,
but rather the fonts for the CCO and the CVV are considered as the
basic type fonts for the composite symbol in the character.
In the example below, a serial decomposed string of the symbols of
a character will be analyzed by its compositional structure and the
type fonts of the symbols are classified according to the
classification scheme shown above to form a character for typing or
printing. ##SPC5##
The Character Composer
Coding the 24 Korean Characters
FIG. 6 illustrates a binary coding for the 24 basic Korean symbols.
The decimal representations of the binary sequences in the table
are arranged in ascending order of magnitude for the three basic
symbol groups, SCO, SVV and HV. Thus, if the decimal representation
of a letter has a smaller numerical value than that of another
letter, the former is alphabetically ahead of the latter. The
correspondence of the alphabetic order to the order of the
magnitude of its decimal representation is preferable for the
purposes of sorting and processing.
The literal BL in the table indicates a symbol for the blank or the
horizontal space between the characters.
The five input bits h.sub.1 - h.sub.5 or output bits O.sub.1 -
O.sub.5 represent a codeword for one element of the symbols in the
column named SCO, SVV or HV. The three output bits O.sub.6 -
O.sub.8 are used to identify a member of the class according to a
given compositional structure classification scheme. For example, a
set of a binary values (0, 0, 0) for (O.sub.6, O.sub.7, O.sub.8)
represents a character class <C.sub.vv > named as C.sub.vv in
the table. Therefore, the eight output bits having the binar number
(O.sub.1, O.sub.2, O.sub.3, O.sub.4, O.sub.5, 0, 0, 0) represents a
symbol for the column which belongs to the type font class
<C.sub.vv >. In other words, it represents a consonant symbol
that is followed by a vertical vowel.
In FIG. 6, the symbols in the first column of each of the type font
classes named C.sub.vv, C.sub.hv, .sup.vv C.sub.b . . HV.sub.vv are
subscripted to distinguish between the ones of the classes. The
type font in the second column of each of the classes are examples
which use a consonant or vowel of the corresponding classes.
For each character, the character composer described below is
utilized to recognize the particular binary input code h.sub.1 -
h.sub.5 assigned to each of the basic symbols and to provide an
output signal O.sub.6 - O.sub.8 identifying the type font
classification.
Character Composer
A block diagram of the character composer is illustrated in FIG. 2.
The input device 2 may be a computer or a keyboard which is used to
generate a binary code for each of the basic 24 symbols. The code
for each given signal is the one utilized in FIG. 6. The binary
signal is transmitted to an input buffer and demultiplexer 4 via
the five data lines 6. Thus, the first simple consonant having a
binary code h.sub.1 - h.sub.5 equivalent to (1, 0, 0, 0, 1) is
transmitted in parallel along lines 6 to the input buffer and
demultiplexer 4. Additional clock and control lines 5 connect the
input device to the input buffer and demultiplexer 4. The input
buffer and demultiplexer 4 stores the incoming parallel bits and
provides output signals to a plurality of syntax identifiers 8. The
input buffer stage of the input buffer and demultiplexer stores as
many as four separate symbols and each of these symbols is fed to a
separate syntax identifier (SI-1 through SI-4). FIG. 4 illustrates
a single syntax identifier and it is understood that each of the
remaining three syntax identifiers is constructed in an identical
fashion. The purpose of the syntax identifier is to classify the
incoming parallel binary code according to one of six separate
categories. The output of each syntax identifier is then fed to a
control logic circuit 10. The function of the logic circuit is to
determine from each of the identified character strings the
corresponding type font in accordance with the coding groups as
shown in FIG. 6. The control logic circuit 10 then feeds control
signals to the input buffer and demultiplexer via lines 12 and
additional coded signals via lines 14 to a diode matrix 16. The
diode matrix may be the HM-050 (Harris Semiconductor) or any of a
number of read only memory devices.
The output along lines 14 correspond to the several compositional
structure groups as defined above. The diode matrix 16 provides a
simple three bit binary code corresponding to these compositional
structure groups. The output of diode matrix 16 is fed to
flip-flops 17-1, 17-2 and 17-3 which are triggered by an output
ready, O. R., signal from the output device. The output of the
diode matrix corresponds to the binary code O.sub.6, O.sub.7,
O.sub.8 as illustrated in FIG 6. The code output group O.sub.6 -
O.sub.8 together with signals O.sub.1 - O.sub.5 from the input
buffer and demultiplexer are fed to an output buffer 18 for later
transmittal to an output device such as a printer or computer 20.
Thus, the character composer transmits the five bit binary code
words h.sub.1 - h.sub.5 shown in FIG. 6 from the input device 2 to
the output buffer 18. The output signals O.sub.1 - O.sub.5 are
identical to the input signals h.sub.1 - h.sub.5. The output buffer
18 receives three additional signals O.sub.6 - O.sub.8 from the
diode matrix 16 which characterize the particular compositional
structure of the Korean symbol within the Korean character.
In practice, the input device 2 and the output device 20 may be one
and the same printer or computer means and may conveniently be
called an input/output (I/O) device. FIG. 2 illustrates additional
clock and control lines 5' from the output device 20 to the input
buffer and demultiplexer 4. For a single I/O device the lines 5 and
5' would serve to supply the necessary clock and ready signals for
inputing and outputing data. This procedure simplifies the
classification scheme and still permits practical coding of all
desired characters.
Input Buffer and Demultiplexer
The input buffer and demultiplexer is shown schematically in FIG.
3. The five input signals h.sub.1 - h.sub.5 are fed from the input
device in parallel form and connected to the D input terminal of
J-K flip flops 21-1 through 21-5. The J-K flip-flops (for example,
Texas Instruments SN 7475) may comprise the input buffer which
stores an incoming data signal until the subsequent storage devices
are ready. An input ready (I.R.) signal from the I/O device is
applied to the C terminal of each of the J-K flip-flops 20, thus
transferring the data signals through the Q output terminals. Each
output terminal of the flip-flops is connected to a shift register
22 (for example Texas Instruments SN 7495). Four separate stages of
the shift register are labeled 22A-22D. The Q output of the
flip-flop is transmitted to the first stage of the shift registers.
Shifting between the first and second stages and second and third
stages and third and fourth stages of the shift registers is
achieved by applying simultaneously to each stage a clock signal
along the clock terminal CL. A reset terminal RS is also provided
to reset each stage of the shift register (the registers are reset
to the binary 1 state). Each stage of the five shift registers 22
have data output terminals AA, BB, CC, and DD providing an output
signal (A, B, C, D) and its complement (A, B, C, D). The output
signals of each stage of each shift register are grouped together
so that the output signals of all of the first stages are connected
to terminals A.sub.1 A.sub.1 - A.sub.5 A.sub.5 and the second
stages of the shift registers are connected to output terminals
B.sub.1 B.sub.1 - B.sub.5 B.sub.5 etc. The output terminals AA - DD
are each connected to separate syntax identifiers such as
illustrated in FIG. 4 and discussed in detail below.
The second and third stages of each of the shift registers are
connected to output J-K flip-flops 24-1 through 24-5 via AND gates
G1 - G10 and OR gates g1 - g5. The AND gates G1, G3, G5, G7 and G9
are each connected to an input terminal T.sub.2 and to the second
stage of one shift register 22. AND gates G2, G4, G6, G8 and G10
are connected to an input terminal T.sub.3 and to the third stages
of the respective shift registers 22. The output of each pair of
AND gates G1 - G10 is fed to the corresponding OR gate as
illustrated in FIG. 3, and the output of each of these OR gates is
connected to the D input terminal of the flip-flop 24. The clock
pulse for each of the flip-flops 24 is supplied by the I/O device
to a clock terminal O.R. which connects to the clock terminal C of
each of the flip-flops 24. The output sginals O.sub.1 - O.sub.5 for
flip-flops 24 are supplied from terminal Q and fed to the output
buffer 18 as shown in FIG. 2.
Syntax Identifier
Since the binary code for each Korean symbol is fed in parallel
fashion to the four stages of the shift registers 22 of FIG. 3, it
is clear that the first stages of all five shift registers contain
a single code corresponding to one of the basic symbols of FIG. 6.
In addition, the second stages as a group contain a second basic
symbol, the third stages a third basic symbol and the fourth stages
a fourth basic symbol. Terminals A.sub.1 A.sub.1 - A.sub.5 A.sub.5
through D.sub.1 D.sub.1 - D.sub.5 are fed to four separate syntax
identifiers, one of which is illustrated in detail in FIG. 4. The
input signals A.sub.1 A.sub.1 - A.sub.5 A.sub.5 are fed to a
plurality of AND gates G20 - G30 which are in turn connected as
shown in FIG. 4 to OR gates g10 and g11. Additional AND gates
G31-G35 are connected as shown and have outputs connected to output
terminals BL.sub.1, SCO.sub.1, SVV.sub.1, HV.sub.1, .sub.1, and
.sub.1. The subscript identifies the syntax identifier. These
output terminals from each of the four syntax identifiers are
connected to the control logic circuitry as illustrated in FIG.
5.
Control Logic
The logic circuitry comprises AND gates G41 - G72, OR gates g20-g27
and inverter 1. The input terminals from the four syntax
identifiers are marked with subscripts 1-4 which corresponds to the
first to fourth syntax identifiers which correspond to the first to
fourth stages of the shift registers 22. The output of the control
logic circuit as illustrated in FIG. 5 comprises terminals Y1 - Y15
which correspond to the various compositional structure classes as
listed in FIG. 6. Additional output terminals C.R., C, E and CL are
provided for control purposes. Terminals T.sub.2 and terminals
T.sub.3 are connected to the similarly labeled terminals in FIG.
3.
Not all of the output signals from each syntax identifier are
utilized in the control logic. For example, only the blank symbols
BL.sub.1 - BL.sub.3 are utilized and only the special symbols
.sub.3 and .sub.2 are needed. The blank is used at the input device
to separate characters, and the logic recognizes and utilizes this
information in the first three stages of the shift register only.
The need for only the .sub.3 and .sub.2 signals result from the
limited practical usage of these symbols within the Korean
language.
Operation
The operation of the character composer as shown in FIGS. 3-5 is
best illustrated by way of an example. A simple example, which was
utilized above is the " ". This character is composed of only three
basic symbols corresponding to the binary bode groups 10001, 00111
and 10001. Each of these five bit codes h.sub.1 - h.sub.5 are
separately transmitted in parallel fashion to the input buffer, J-K
flip-flops 21 of FIG. 3, via the data input lines 6. Prior to the
transfer of the input characters, the reset signal RS supplied by
the I/O device is used to set each stage of the five shift
registers to the binary 1 state. On the application of the first
clock CL pulse which is supplied by the I/O device after the input
code is ready for transmission, the first binary code group
corresponding to 10001 is transferred to the first stages of the
shift registers 30 (FIG. 3). Thus, the output terminals A.sub.1 -
A.sub.5 contain the binary code 10001 which will be transferred to
the first syntax identifier as shown in FIG. 4. The code complement
is supplied along terminals A.sub.1 - A.sub.5. At the same time the
remaining three syntax identifiers will be used to decode the
second, third and fourth stages of each of the five shift registers
22. However, since these latter stages have all been reset to the
binary 1 state, the output code for B.sub.1 - B.sub.5, C.sub.1 -
C.sub.5 and D.sub.1 -D.sub.5 are all identical to the "set" or
binary 1 state. As can readily be seen by examining the circuit
diagram or the table of FIG. 1, the first code bit for each simple
consonant is a binary 1, whereas the binary 0 in the first bit
position represents either a simple vertical vowel or a horizontal
vowel. Thus, the first syntax identifier produces an output signal
at terminal SCO. The remaining three syntax identifiers produce
output signals at blank terminal BL since the terminal corresponds
to the condition or code having all bits set to one. The above
signals are fed to the input terminals of the control logic circuit
and result in gating on the AND gate G49 which in turn causes a
signal along terminal CL to be generated (via gate g21). Signal CL
is the clock signal of FIG. 3. The fact that only the CL signal
(the second such clock pulse in the example) is generated by the
control logic simply indicates that no classification of the first
simple consonant is yet possible. In fact, additional basic symbols
are required since a given font depends upon the other symbols
immediately preceeding and following a given symbol.
The clock signal at terminal CL causes an additional transfer from
the J-K flip flops 20 to the first stages of the shift registers.
In turn, the binary data in the first stages of the shift registers
22 is shifted to the second stages and data in the second stage
shifted to the third stage etc. Again the syntax identification
occurs for each of the output terminals A.sub.1 - A.sub.5, B.sub.1
- B.sub.5, etc.
After the second CL pulse, the second stages of the five shift
registers contain data bits corresponding to a simple consonant,
10001. The SCO.sub.2 terminal of the second syntax identifier will
be activated. The first stages, stage A, of the shift registers
then contain a code for a horizontal vowel (DHV) code 00111 which
activates the HV.sub.1 terminal in syntax identifier SI-1. In
addition, the BL.sub.3 terminal of the third syntax identifier is
activated since the data shifting causes all of the stages in the
shift register to shift one register position to the right. In
these circumstances, the input signals to the control logic of FIG.
5 causes gate G64 to be triggered which in turn provides a pulse or
a first control signal along terminal T.sub.2 as well as terminal
Y14. The signal along terminal Y14 identifies the simple consonant,
now stored in the second stages of the shift registers, as
belonging to the classification group C.sub.hv. since the
classification for this particular symbol is now complete, the
signal along terminal T.sub.2 gates the corresponding AND gates G1,
G3, G5, G7 and G9 of FIG. 3 to transfer data from the second stages
of the shift registers to the output J-K flip flops 24. The output
of these flip-flops 24 provide the output signals O.sub.1 - O.sub.5
(10001) to the buffer 18. As can be seen in FIG. 2, the output
signal Y14 is fed via data channel 14 to a diode matrix 16 which
provides corresponding output signals O.sub.6 - O.sub.8 indicative
of the classification C.sub.hv as shown in FIG. 6. Thus, the eight
output signals O.sub.1 - O.sub.8 completely identify the type font
to be used with the first simple consonant represented by the
symbol 10001 of FIG. 6. It will be noted that only two symbols, the
first simple consonant and the following horizontal vowel, were
needed in this particular case to determine the font classification
of the first simple consonant. However, in order to determine the
type font associated with the second symbol, the horizontal vowel,
additional symbol data is needed.
After the transfer from the output buffer 18 to the printing or
output device 20, the output device provides a clock pulse along
lines 5' to the shift registers 22 to cause another transfer and
shifting of data. It will be noted that even though the binary data
in the second stage of the shift registers was transferred to the
output buffers 24-1 through 24-5 this same data is nevertheless
shifted to the third stages of the shift register 22 just as if no
classification had occurred. Thus, after the third clock pulse CL
has been sent, the first, second and third stages (22A, 22B and
22C) of the shift registers contain data corresponding to the
third, second and fourth input symbols respectively. In the
example, the first, second and third stages of shift registers 22
contain the codes (10001), (00111) and (10001) respectively. Under
this situation, the control logic of FIG. 5 results in the firing
of gate G55 and the consequent signal along terminal Y10 and
terminal T.sub.2. The signal along terminal Y10 identifies the data
in the second stage of the shift register as belonging to the
classification HV.sub.c. The signal along terminal T.sub.2
transfers the data in this second stage to the output buffer as
before.
The last and remaining identification necessary is for the final
character which is a simple consonant. Upon application of a fourth
clock pulse, supplied by the I/O device, a blank signal would be
transferred to the first stages of the shift registers of FIG. 3
since blank signals separate all of the input characters. Under
these conditions, the control logic of FIG. 5 would trigger gate
G44 which results in generating terminal Y4 as well as firing OR
gate g27 to initiate a pulse along terminal CR. The signal along Y4
identifies the last symbol of the character as belonging to the
class .sup.hv C.sub.b. The signal along terminal CR is used to
signal the I/O device to produce the blank needed to separate the
just completed character.
Thus, it is seen that the control logic and associated circuitry
identifies the single character by first identifying each symbol as
a simple consonant, horizontal vowel or vertical vowel and then
depending upon the order of the various symbols, the circuitry
selects the type font for each symbol.
In the control logic of FIG. 5 additional control signals are
provided. The signal at terminal C may be used to produce a fixed
margin and is generated by inputting the blank symbol BL two
consecutive times, e.g., gate G41 is opened by simultaneous signals
at BL.sub.1 and BL.sub.2. The error signal at terminal E is
generated whenever certain grammar rules are violated such as
inputting a vowel as the first symbol following a blank BL (e.g.,
gate G63 goes on). The error signal may be used to provide an
indication at the I/O device to alert the operator of an incorrect
entry. The signal at terminal C.R. is used to generate a blank
symbol at the output device and is OR gated to the final symbol in
a character represented by the classes at terminals Y1 - Y7.
The signals at T.sub.2 and T.sub.3 are used to transfer the code
contents of the second and third stages respectively of the shift
registers 22 to the output flip-flops 24. In some cases such as in
using terminals .sub.3 and .sub.2 it is necessary to know the
syntax identification of the two symbols following a symbol as well
as the symbol preceeding the symbol in question. In these cases the
signal, the second control signal, along terminal T.sub.3 is
needed.
FIG. 7 illustrates a variant of the input coding which may readily
be utilized. In addition to the 24 basic symbols, it is practical
to form a separate special input code for commonly used
combinations of the basic symbols such as the compound vowels shown
in the last column of FIG. 7.
It is to be understood that the above described embodiments are
only illustrations of the application of the principles of the
invention and that various modifications may be made by those
skilled in the art without departing from the spirit and scope of
the invention.
* * * * *