HINTERGRUND DER ERFINDUNG
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft ein
Schriftzeichenverarbeitungsverfahren und -gerät mit einer Funktion zur
Umwandlung eines Musters, das mittels einer Vektorform kodiert
wurde, in eine Punktform.
Verwandter Stand der Technik
-
Wenn Daten einer Vektorform in Daten einer Punktform
umgewandelt werden, wurde bisher eine derartige Umwandlung mittels
eines Kurvenerzeugungsvorgangs für alle Kurvendaten
ausgeführt.
-
In der GB-A-2 203 613 (Canon K.K.) ist ein System
beschrieben, bei dem in dem Kurvenerzeugungsvorgang der Bezier-
Kubikkurven-Algorithmus angewendet wird.
-
Bei dem Vorgang zur Erzeugung einer Kurve ist, falls eine
Kurve erzeugt wird, jedoch in Abhängigkeit von der Anzahl der
die Kurve bildenden Punkte eine lange Verarbeitungszeit
erforderlich. Es besteht ein Problem dahingehend, daß die zur
Umwandlung der Daten der Vektorform in die Daten der
Punktform erforderliche Zeit zu lange dauert.
-
Erfindungsgemäß sind ein Schriftzeichenverarbeitungsgerät,
wie in Patentanspruch 1 dargelegt ist, und ein
Schriftzeichenverarbeitungsverfahren
ausgestaltet, wie in
Patentanspruch 4 dargelegt ist.
KURZBESCHREIBUNG DER ZEICHNUNG
-
Fig. 1 zeigt ein Blockschaltbild eines inneren Aufbaus der
Erfindung.
-
Fig. 2 zeigt ein Ablaufdiagramm des gesamten Ablaufs gemäß
der Erfindung.
-
Fig. 3 zeigt eine Darstellung von Bereichen, die auf einem
Dokumentarbildschirm angesammelt sind.
-
Fig. 4 zeigt ein Ablaufdiagramm eines ausführlichen Ablaufs
gemäß der Erfindung.
-
Fig. 5 zeigt eine Darstellung eines Zustands, in dem eine
Kurve mittels einer Bezier-Funktion dritter Ordnung erzeugt
wird.
-
Fig. 6 zeigt eine Darstellung eines Zustands, in dem eine
Kurve mittels einer B-Spline-Funktion erzeugt wird.
-
Fig. 7 zeigt ein Ablaufdiagramm eines Ablaufs gemäß einem
anderen Ausführungsbeispiel.
-
Fig. 8 zeigt eine Darstellung eines Zustands, in dem eine
Kurve mittels einer Bezier-Funktion zweiter Ordnung erzeugt
wird.
-
Fig. 9 zeigt ein Ablaufdiagramm eines Ablaufs zur Berechnung
einer Anordnungsposition mittels der Richtung einer
Schriftzeichenkette.
-
Fig. 10 zeigt eine Darstellung eines Zustands, in dem
Anordnungspositionen von Schriftzeichen berechnet werden, wenn
eine Zeichenkette in der horizontalen Richtung angeordnet ist.
-
Fig. 11 zeigt eine Darstellung eines Zustands, in dem
Anordnungspositionen von Schriftzeichen berechnet werden, wenn
eine Schriftzeichenkette in der schrägen Richtung angeordnet
ist.
-
Fig. 12 zeigt eine Darstellung eines Zustands, in dem
Anordnungspositionen von Schriftzeichen berechnet werden, wenn
eine Schriftzeichenkette in der peripherischen Richtung
angeordnet ist.
-
Fig. 13 zeigt eine Darstellung der Beziehung zwischen dem
Vektorpunkt und den Punktattributen.
-
Fig. 14 zeigt eine Darstellung eines Beispiels zur
Bereitstellung von Behelfspunkten im Fall, daß eine Kurve aus drei
Punkten aufgebaut ist.
AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN
AUSFÜHRUNGSBEISPIELE
-
Nachstehend wird ein Ausführungsbeispiel der Erfindung
beschrieben. Die Erfindung kann bei einem System mit einer
Vielzahl von Geräten oder einer einzelnen Einrichtung
ausgeführt sein.
-
Die Erfindung kann auch durch Zufuhr eines Programms zu einem
Gerät, System oder dergleichen ausgeführt sein. Bei der
Erfindung können Laserdrucker, Bubble-Jet-Drucker, Thermokopie-
Transferdrucker und dergleichen als Drucker verwendet werden.
-
Fig. 1 zeigt ein Blockschaltbild eines grundlegenden Aufbaus
einer erfindungsgemäßen japanischen
Textverarbeitungseinrichtung. In Fig. 1 bezeichnet Bezugszeichen 1 eine
Zentraleinheit
(CPU) zur Steuerung des gesamten Geräts und zur
Ausführung arithmetischer Berechnungsvorgänge und dergleichen.
Bezugszeichen 2 bezeichnet einen Nur-Lese-Speicher (ROM) als
Speicherbereich zur Speicherung eines
Systemaktivierungsprogramms, von Schriftzeichenmustern/-daten und dergleichen, und
Bezugszeichen 3 bezeichnet einen Schreib-Lese-Speicher (RAM),
der als Arbeitsbereich während der Datenverarbeitung
verwendet wird. Jedes der in den nachstehend beschriebenen
beiliegenden Ablaufdiagrammen gezeigten Programme und Daten sind in
dem Schreib-Lese-Speicher 3 während der Ausführung der
Programme gespeichert. Bezugszeichen 4 bezeichnet einen
Tastatursteuerabschnitt (KBC) und Bezugszeichen 5 bezeichnet eine
Tastatur (KB). Der Tastatursteuerabschnitt 4 empfängt
Tasteneingabedaten von der Tastatur 5 und überträgt sie zu der
Zentraleinheit 1. Bezugszeichen 6 bezeichnet einen
Anzeigesteuerabschnitt (CRTC), Bezugszeichen 7 eine Anzeigeeinrichtung
(CRT) zum Empfang von Daten von dem Anzeigesteuerabschnitt 6
und zur Anzeige und Bezugszeichen 9 eine externe
Speichereinrichtung, wie eine Disketteneinrichtung (FD), eine
Festplatteneinrichtung (HD) oder dergleichen. Die in den nachstehend
beschriebenen Ablaufdiagrammen gezeigten Programme und Daten
sind in der externen Speichereinrichtung 9 gespeichert. Bei
der Ausführung wird auf jene Programme und Daten Bezug
genommen und sie werden je nach Erfordernis in dem Schreib-Lese-
Speicher gespeichert. Bezugszeichen 8 bezeichnet einen
Plattensteuerabschnitt (DKC) zur Steuerung einer Datenübertragung
oder dergleichen, Bezugszeichen 10 einen
Druckersteuerabschnitt (PRTC), Bezugszeichen 11 einen Drucker (PRT) und
Bezugszeichen 12 einen Systembus, der als Datenweg zwischen den
vorstehend genannten Komponenten dient.
-
Nachstehend wird die Arbeitsweise des Ausführungsbeispiels
mit dem vorstehend beschriebenen Aufbau unter Bezugnahme auf
das Ablaufdiagramm von Fig. 2 und Fig. 3 beschrieben.
-
In Schritt 1 in Fig. 2 werden von einer
Ausgabeeinrichtungsseite zugeführte Informationen als Eingangsparameter
erhalten.
-
In diesem Fall zugeführte Parameter sind eine Größe des
gesamten Ausgabebereichs, Informationen über einen
tatsächlichen Ausgabebereich (linke Kante und rechte Kante) und
dergleichen.
-
In Schritt 2 wird ein Vorgang zum Lesen von Informationen,
wie der Punktanzahl, der Schriftzeichenkette, der Art der
Abwandlung und dergleichen, was bereits in einen Bereich zur
Umwandlung der in einer in Fig. 3 gezeigten
Dokumentationsbildfläche versammelten Daten einer Vektorform in die Daten
einer Punktform geschrieben wurde, ausgeführt. Als bei den
Ausführungsbeispielen verwendeter Bereich können eine gerade
Linie, eine Tabelle, ein Kästchengrundriß und dergleichen
verwendet werden.
-
In Schritt 3 werden die rechte und linke Kante des Bereichs
berechnet, der von jedem Schriftzeichen einer bestimmten
Schriftzeichenkette eingenommen wird. Nachstehend wird ein
praktisches Beispiel unter Bezugnahme auf das Ablaufdiagramm
von Fig. 9 und die Figen. 10 bis 12 beschrieben.
-
In Schritt 9-1 in Fig. 9 wird die Richtung der
Schriftzeichenkette in den in Schritt 2 in Fig. 2 erhaltenen
Abwandlungsinformationen unterschieden. Falls bestimmt wird, daß
die Richtung der Schriftzeichenkette die horizontale Richtung
ist, folgt Schritt 9-2. Falls es sich um die schräge Richtung
handelt, folgt Schritt 9-3. Falls es sich um die
peripherische Richtung handelt, folgt Schritt 9-4.
-
Schritt 9-2 betrifft den Fall der Anordnung der
Schriftzeichenkette in der horizontalen Richtung, wie es in Fig. 10
gezeigt ist. Die Größe eines gesamten lateralen Bereichs zur
Erzeugung der Schriftzeichenkette wird entsprechend der
Anzahl der Schriftzeichen geteilt, wodurch die Schriftzeichen
gleichförmig angeordnet werden können. Dann werden
Koordinatenwerte der rechten und linken Kante eines von jedem
Schriftzeichen belegten Bereichs gespeichert.
-
Schritt 9-3 betrifft den Fall der Anordnung der
Schriftzeichenkette in der schrägen Richtung, wie es in Fig. 11 gezeigt
ist. Die Größe eines Bereichs zur schrägen Erzeugung der
Schriftzeichenkette wird zuerst aus der Größe des gesamten
Bereichs zur Erzeugung der Schriftzeichenkette berechnet. Der
Bereich zur schrägen Erzeugung der Schriftzeichenkette wird
gleichförmig in der Anzahl der Schriftzeichen entsprechende
kleine Bereiche unterteilt. Koordinatenwerte der rechten und
linken Kante des Bereichs, der von jedem Schriftzeichen
belegt wird, werden gespeichert.
-
Schritt 9-4 betrifft den Fall der Anordnung der
Schriftzeichenkette in der peripherischen Richtung, wie es in Fig. 12
gezeigt ist. Der Bereich zur Anordnung der
Schriftzeichenkette wird aus dem gesamten Bereich auf ähnliche Weise
berechnet, und der von jedem Schriftzeichen belegte Bereich wird
derart berechnet, daß die Schriftzeichen gleichförmig
angeordnet werden können. Das Beispiel aus Fig. 12 unterscheidet
sich von den Beispielen aus den Figen. 10 und 11 in dem
folgenden Punkt. Das heißt, in den Beispielen gemäß den Figen.
10 und 11 sind die Größen der von den Schriftzeichen belegten
lateralen Bereiche gleichförmig. Im Fall des Beispiels gemäß
Fig. 12 unterscheiden sich jedoch diese Größen in
Abhängigkeit eines Winkels, mit dem das Schriftzeichen angeordnet
ist.
-
In Schritt 4 in Fig. 2 wird der Wert des von jedem
Schriftzeichen belegten und in Schritt 3 gespeicherten lateralen
Bereichs mit dem Wert des lateralen Bereichs verglichen, der
zur tatsächlichen Erzeugung des Schriftzeichens verwendet
wird und von der Ausgabeeinrichtungsseite zugeführt wurde,
wobei nur die erforderlichen Daten in der zu entwickelnden
Schriftzeichenkette unverändert verwendet und die nicht
erforderlichen Daten in den Zwischenraumcode umgewandelt
werden.
-
In Schritt 5 in Fig. 2 wird auf die Schriftzeichencodekette,
die nach der Ausführung der Umwandlung in Schritt 4 erhalten
wird, Bezug genommen, und falls der Schriftzeichencode von
dem Zwischenraumcode verschieden ist, werden die dem
Schriftzeichencode entsprechenden Daten der Vektorform und die
Punktattribute, wie eine gerade Linie/Kurve und dergleichen, die
durch eine Form ausgedrückt sind, wie es in Fig. 13 gezeigt
ist, gelesen und in der Speichereinrichtung gespeichert, und
die Umwandlung der x- und y-Koordinatenwerte als Daten der
Vektorform wird entsprechend der Größe des Schriftzeichens
und der Art der Abwandlung ausgeführt, die in Schritt 2
gelesen wurden. Falls der Schriftzeichencode der Zwischenraumcode
ist, wird kein Vorgang ausgeführt.
-
In Schritt 6 werden die Daten der Punktform auf der Grundlage
der in der Speichereinrichtung in Schritt 5 gespeicherten x-
/y-Koordinatendaten erzeugt. Nachstehend werden
Verarbeitungsvorgänge für diesen Fall unter Bezugnahme auf das
Ablaufdiagramm von Fig. 4 als Beispiel beschrieben.
-
In Schritt 7 wird ein Abwandlungsvorgang zur Addition eines
Gitterbildes, Hintergrundbildes oder dergleichen zu den Daten
auf der Grundlage der in Schritt 2 gelesenen
Abwandlungsinformationen bei den Daten ausgeführt, die in die Daten der
Punktform umgewandelt wurden.
-
In Schritt 8 wird ein erforderlicher Abschnitt der in Schritt
7 ausgebildeten Daten der Punktform zu der
Speichereinrichtung an der Ausgabeseite übertragen.
-
Fig. 4 zeigt ein Ablaufdiagramm zur näheren Beschreibung des
Vorgangs in Schritt 6 in Fig. 2.
-
In Schritt 4-1 in Fig. 4 werden die in Schritt 4 in Fig. 2
erhaltenen Punktattribute ausgelesen.
-
In Schritt 4-2 wird überprüft, ob sich ein Gegenstandspunkt
auf Daten einer geraden Linie oder auf Kurvendaten bezieht.
Falls er sich auf die Daten einer geraden Linie bezieht,
folgt Schritt 4-7. Falls er sich auf die Kurvendaten bezieht,
folgt Schritt 4-3.
-
Wie aus Fig. 13 ersichtlich ist, wird die die gerade Linie
oder die Kurve betreffende Unterscheidung auffolgende Art
und Weise durchgeführt. Das heißt, falls sowohl die
Punktattribute des Gegenstandspunkts als auch des nächsten Punkts
gleich 0 sind, wird bestimmt, daß sich der Gegenstandspunkt
und der nächste Punkt auf eine gerade Linie beziehen. Falls
die Punktattribute des Gegenstandspunkts gleich 0 und die
Punktattribute des nächsten Punkts gleich 1 sind, werden die
Punkte innerhalb eines Bereichs von einem derartigen Punkt
mit den Punktattributen 1 bis zu einem Punkt, dessen
Punktattribute als erstes gleich 0 sind, wenn die Punktattribute
aufeinanderfolgend durchsucht werden, als die auf eine Kurve
bezogenen Punkte betrachtet.
-
In Schritt 4-3 wird die Anzahl der die Kurvendaten bildenden
Punkte berechnet. Eine derartige Anzahl kann durch Zählen der
Anzahl der fortlaufenden Punkte mit den Punktattributen der
fortlaufenden Kurvendaten von dem Punkt mit den
Punktattributen an, der in Schritt 4-1 als Kurve bestimmt wurde,
berechnet werden. Das heißt, die Anzahl der Punkte mit den
Punktattributen 1 wird gezählt und 2 wird zu dem Zählwert addiert.
Der sich ergebende Wert bezeichnet die Anzahl der die Kurve
bildenden Punkte. In dem Beispiel von Fig. 13 bilden die
Punkte von Punkt 2 bis Punkt 6 eine Kurve (die Anzahl der die
Kurve bildenden Punkte ist gleich 5 und die Anzahl der
fortlaufenden Punkte mit den Punktattributen 1 ist gleich 3).
Andererseits bilden die Punkte von Punkt 6 bis Punkt 9 eine
Kurve (die Anzahl der die Kurve bildenden Punkte ist gleich 4
und die Anzahl der fortlaufenden Punkte mit den
Punktattributen 1 ist gleich 2).
-
In Schritt 4-4 wird überprüft, ob die Kurvendaten aus vier
Punkten oder weniger oder aus mehr als vier Punkten aufgebaut
sind. Falls die Kurve aus vier Punkten oder weniger aufgebaut
ist (im Beispiel von Fig. 13 die Kurve zwischen Punkt 6 bis
Punkt 9), folgt Schritt 4-5. Falls die Kurve aus mehr als
vier Punkten aufgebaut ist (im Beispiel von Fig. 13 die Kurve
zwischen Punkt 2 bis Punkt 6), folgt Schritt 4-6.
-
In Schritt 4-5 wird eine Kurve im Fall, wie er in Fig. 5
gezeigt ist, mittels einer Bezier-Funktion erzeugt. Da die
Bezier-Funktion durch vier Punkte erzeugt wird, wird für eine
aus drei Punkten aufgebaute Kurve ein Behelfspunkt an einer
geeigneten Position bereitgestellt, wie es in Fig. 14 gezeigt
ist und ein Kurvenerzeugungsvorgang durch das Einstellen von
vier Punkten ausgeführt.
-
In Schritt 4-6 wird eine Kurve mittels einer B-Spline-
Funktion erzeugt, wie es in Fig. 6 gezeigt ist.
-
In Schritt 4-7 werden die erforderlichen Werte in den x- und
y-Koordinatenwerten der in den Schritten 4-5 und 4-6
erzeugten Kurven gespeichert.
-
Die x- und y-Koordinatenwerte der Daten, die in Schritt 4-2
als Daten einer geraden Linie bestimmt wurden, werden
gespeichert.
-
In Schritt 4-8 wird überprüft, ob zu unterscheidende Daten
vorhanden sind oder nicht. Falls keine zu unterscheidenden
Daten vorhanden sind, folgt Schritt 4-9. Falls immer noch zu
unterscheidende Daten vorhanden sind, kehrt die
Verarbeitungsroutine zu Schritt 4-1 zurück, und die nächsten Daten
werden verarbeitet.
-
In Schritt 4-9 werden in den Schritten bis zu Schritt 4-8
gespeicherte x- und y-Koordinatendaten ausgelesen und die Daten
der Punktform auf der Grundlage der x- und y-Koordinatendaten
erzeugt.
[Weiteres Ausführungsbeispiel]
-
Das vorstehende Ausführungsbeispiel wurde bezüglich des Falls
beschrieben, daß eine Kurve mittels einer Bezier-Funktion
dritter Ordnung erzeugt wird, wenn die Anzahl der eine Kurve
bildenden Punkte vier oder weniger beträgt, und daß eine
Kurve mittels einer B-Spline-Funktion erzeugt wird, wenn die
Anzahl der die Kurve bildenden Punkte größer als vier ist.
Nachstehend wird jedoch ein anderes Ausführungsbeispiel
beschrieben, bei dem Kurven mittels unterschiedlicher
Kurvenfunktionen in den Fällen erzeugt werden, daß die Anzahl der
eine Kurve bildenden Punkte jeweils gleich drei, daß die
Anzahl gleich vier, und daß die Anzahl größer als vier ist.
-
In dem Ablaufdiagramm aus Fig. 7 werden die
Verarbeitungsvorgänge in den Schritten 4-4 bis 4-6 in Fig. 4 ersetzt.
-
Nachstehend ist die Arbeitsweise des anderen
Ausführungsbeispiels unter Bezugnahme auf das Ablaufdiagramm von Fig. 7 und
Fig. 8 beschrieben.
-
Falls in Schritt 7-1 in Fig. 7 die Anzahl der eine Kurve
bildenden Punkt gleich drei ist, folgt Schritt 7-2. Falls die
Anzahl gleich vier ist, folgt Schritt 7-3. Falls die Anzahl
größer als vier ist, folgt Schritt 7-4.
-
In Schritt 7-2 wird eine Kurve unter Verwendung einer Bezier-
Kurvenfunktion zweiter Ordnung erzeugt, wie es in Fig. 8
gezeigt ist.
-
In Schritt 7-3 wird eine Kurve unter Verwendung einer Bezier-
Kurvenfunktion dritter Ordnung auf ähnliche Weise wie der bei
dem vorhergehenden Ausführungsbeispiel beschriebenen erzeugt,
wie es in Fig. 5 gezeigt ist.
-
In Schritt 7-4 wird eine Kurve unter Verwendung einer B-
Spline-Funktion auf ähnliche Weise wie der bei dem
vorhergehenden Ausführungsbeispiel beschriebenen erzeugt, wie es in
Fig. 6 gezeigt ist.
-
Für nachfolgende Verarbeitungsvorgänge geht die
Verarbeitungsroutine auf ähnliche Weise wie bei dem vorhergehenden
Ausführungsbeispiel zu Schritt 4-7 in Fig. 4 über, und die
x- und y-Koordinatenwerte, die in die Kurve umgewandelt wurden,
werden in einem bestimmten Koordinatendatenpuffer
gespeichert.
-
Wie vorstehend beschrieben ist, kann eine Kurve entsprechend
der Anzahl der die Kurve bildenden Punkte mit hoher
Geschwindigkeit verarbeitet werden. Als letztendliches Ausgangssignal
kann durch Erzeugung einer Kurve mittels einer äquivalenten
Funktion ein Muster mit hoher Geschwindigkeit und hoher
Qualität erzeugt werden.
-
Wie vorstehend ausführlich beschrieben ist, ist es
erfindungsgemäß möglich, ein Schriftzeichenverarbeitungsgerät
auszubilden, bei dem unter Verwendung einer Funktion zur
Erzeugung einer geeigneten Kurve entsprechend der Anzahl der eine
Kurve bildenden Punkte ein Muster einer Punktform mit hoher
Geschwindigkeit ohne Verschlechterung der Ausgabequalität
erzeugt werden kann.