DE69020218T2 - Einrichtung zur Erzeugung eines Zeichenmusters hoher Qualität. - Google Patents
Einrichtung zur Erzeugung eines Zeichenmusters hoher Qualität.Info
- Publication number
- DE69020218T2 DE69020218T2 DE69020218T DE69020218T DE69020218T2 DE 69020218 T2 DE69020218 T2 DE 69020218T2 DE 69020218 T DE69020218 T DE 69020218T DE 69020218 T DE69020218 T DE 69020218T DE 69020218 T2 DE69020218 T2 DE 69020218T2
- Authority
- DE
- Germany
- Prior art keywords
- code
- character
- segment
- point
- line
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 claims description 81
- 238000004804 winding Methods 0.000 claims description 25
- 230000008859 change Effects 0.000 claims description 9
- 238000000034 method Methods 0.000 description 25
- 238000010586 diagram Methods 0.000 description 18
- 238000012546 transfer Methods 0.000 description 17
- 238000013507 mapping Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 6
- 238000005429 filling process Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000005549 size reduction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/22—Control 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/24—Generation of individual character patterns
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Controls And Circuits For Display Device (AREA)
- Digital Computer Display Output (AREA)
- Image Generation (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf ein Gerät zum Erzeugen eines Hochqualitätsmusters gemäß einem Rand zum Definieren eines Musters, wie beispielsweise eines Zeichenmusters.
- Im allgemeinen wird ein Rand gezeichnet und dann wird das Innere eines durch eine Randlinie oder Randlinien umgebenen Bereiches gefüllt, um ein Muster zu erzeugen (vgl. IEEE Transactions on Computers, Band C-34, Nr. 7, 1. Juli 1985, New York, Seiten 666-673; M. Chlamtac et al: "The Shift X Parity Watch Algorithm for Raster Scan Displays") . Die folgenden ersten bis dritten Methoden sind verfügbar, um einen durch die Randlinie oder -linien definierten Bereich zu füllen.
- Gemäß der ersten Methode wird ein innerhalb eines definierten Bereiches bezeichneter Punkt kontinuierlich verschoben, um zu bestimmen, ob der verschobene Punkt innerhalb oder außerhalb des definierten Bereiches liegt. Wenn ein gegebener Punkt als innerhalb des Bereiches vorliegend bestimmt wird, so wird dieser Punkt einer Füllverarbeitung unterworfen. Diese Methode wird beim graphischen Verarbeiten in einem Personal- Computer oder dergleichen benutzt. Die Bestimmungsoperation wird in Einheiten von Punkten durchgeführt, und deren Verarbeitungsgeschwindigkeit ist niedrig. Zusätzlich beruht diese Methode auf einer "Kontinuität des Bereiches" und ein Rückspuren muß im allgemeinen an einem Verzweigungspunkt während des Füllens durchgeführt werden.
- Gemäß der zweiten Methode (bekannt aus EP-A-0 200 885) wird ein Bitkartenspeicher, der Randliniendaten speichert, in einer vorbestimmten Richtung (Füllrichtung) abgetastet, um ein Füllen von Punkten wie "1" von beispielsweise einem ungeradzahligen "1"- Punkt zu einem geradzahligen "1"-Punkt (d.h. ein gerade-ungerade Füllen), durchzuführen. Die zweite Methode erfordert kein Rückspuren. In dem Gerade- Ungerade-Füllschema wird die Anzahl von Kreuzungen zwischen einer imaginären Linie und einer Randlinie gezählt. Wenn ein Zählerstand eine ungerade Zahl repräsentiert, wird der entsprechende Punkt als innerhalb der Randlinie vorliegend festgestellt. Sonst wird der Punkt als außerhalb der Randlinie vorliegend bestimmt. Wenn jedoch gemäß der zweiten Methode die Anzahl von Punkten von beispielsweise einem scharfen Ende eines Zeichenmusters in der Füllrichtung Eins beträgt (dieses scharfe Ende ist als ein Ein-Punkt Scharf-Ende definiert), so wird eine sich anschließende Punktfolge von dem scharfendigen Punkt ebenfalls gefüllt, was nachteilhaft ist. Um diesen Nachteil zu überwinden, muß ein Zeichenmusterdesign durchgeführt werden, damit kein Ein-Punkt-Scharf-Ende (ein scharfer Punkt mit lediglich einem Punkt in einer Richtung senkrecht zu der Füllrichtung wird nicht als ein Ein- Punkt-Scharf-Ende bezeichnet) zu erzeugen, was zu mühseligen, zeitaufwendigen Operationen führt. Um ein Ein-Punkt-Scharf-Ende zu liefern, muß eine Randlinie eines Zeichenmusters mit einem Ein-Punkt-Scharf-Ende überschrieben werden, nachdem ein Zeichenmuster, das kein Ein-Punkt-Scharf-Ende hat, durch eine Füllverarbeitung erzeugt ist.
- Wenn gemäß der zweiten Methode Randlinien eines Zeichenmusters einander nicht überlappen, wie dies in Fig. 1A gezeigt ist, kann ein richtiges Zeichenmuster erhalten werden, wie dies in Fig. 1B dargestellt ist. Wenn jedoch Randlinien eines Zeichenmusters auf der gleichen Gitterlinie überlappen und eine Ein-Punkt Linienbreite aufgrund einer Musterreduktion oder dergleichen bilden, wie dies in Fig. 1C gezeigt ist, so wird in unerwünschter Weise ein falsches Zeichenmuster erzeugt, wie dies in Fig. 1D dargestellt ist. Die Füllrichtung in Fig. 1B und 1D ist eine y-Richtung (d.h. Abwärtsrichtung in Fig. 1B und 1D).
- Die dritte Methode ist eine Füllmethode gemäß einem Nicht-Null-Windungszahlschema, das im Nachtrag als eine seitenbeschreibende Sprache verwendet wird, die durch Adobe Systems Inc. entwickelt wurde. Wenn, wie in Fig. 2A gezeigt ist, eine Zeichenrichtung einer Randlinie nach links bezüglich eines Vektors aus der Unendlichkeit, also eines Vektors RV, der eine Füllrichtung darstellt, gerichtet ist, so wird eine Windungszahl WN um Eins inkrementiert oder erhöht. Wenn jedoch die Zeichenrichtung einer Randlinie nach rechts gerichtet ist, wie dies in Fig. 2 gezeigt ist, so wird die Windungszahl um Eins dekrementiert oder vermindert. Wenn die sich ergebende Windungszahl den Wert Null hat, so wird die entsprechende Kreuzung als außerhalb der Randlinie liegend festgestellt. Sonst wird sie als innerhalb der Randlinie liegend bestimmt. Gemäß der dritten Methode müssen eine Randlinie eines Zeichens bildende Segmente sortiert und aufgelistet werden gemäß einen gegebenen Standard, wie beispielsweise y- Koordinaten. Wenn ein "FÜLL"-Befehl nicht ausgeführt wird, so wird eine Programmschleife erzeugt, um Abtastlinien, beispielsweise Linien parallel zur x- Achse abwärts abzutasten. Alle Schnittstellen zwischen den Abtastlinien parallel zur x-Achse und den Segmenten in der Liste müssen für jede Schleife gewonnen werden. Die beschreibenden Inhalte der Segmente werden in einer Reihenfolge von x-Koordinaten an den Schnittstellen geprüft, um die Zeichenrichtungen (Aufwärts- oder Abwärts-Richtung) der Linien zu bestimmen, und die Windungszahlen (im folgenden als WNs bezeichnet) werden erhalten. Eine Linie für ein Nicht-Null-Intervall der WNS wird in dem Bitkartenspeicher gezeichnet. Die obigen Operationen werden in der Programmschleife gemäß dem dritten Verfahren wiederholt.
- Wie oben beschrieben ist, muß gemäß der dritten Methode die Liste der Segmente, die den Rand bilden, für jede Linie bzw. Zeile geprüft werden. Aus diesen Grund ist eine lange Verarbeitungszeit erforderlich für ein kompliziertes Muster, wie beispielsweise ein kanji (chinesisches Schriftzeichen)-Muster, dessen Segmentliste relativ lang ist. Die Berechnung der obigen Schnittstellen muß auch durch die "Gesamtzahl der Punkte der Randlinie" wiederholt werden. Wie oben erläutert wurde, können beim Füllprozeß aufgrund des herkömmlichen Gerade-Ungerade-Schemas eine Linie mit einer Breite von einem Punkt und ein Zeichenmuster mit einem Ein-Punkt-Scharf-Ende nicht genau erzeugt werden. Ein Hochgeschwindigkeitsverarbeiten kann nicht beim Füllprozeß aufgrund des Nicht-Null-Windungszahl-Schemas durchgeführt werden. In jedem Schema wird ein Füllprozeß in Einheiten von Punkten durchgeführt, und die Verarbeitungsgeschwindigkeit ist unvermeidbar niedrig.
- Ein Füllen nicht in Einheiten von Punkten, sondern in Worten in der Füllrichtung kann vorgeschlagen werden. Ein Füllen in Einheiten von Worten kann eine höhere Verarbeitungsgeschwindigkeit als ein Füllen in Einheiten von Punkten bereitstellen. Gemäß diesem Schema müssen jedoch Linien bei jeder Ein-Wort- Verarbeitung geschaltet werden, und ein Füllen in Einheiten von Worten ist für ein kontinuierliches Verarbeiten eines großen Datenvolumens nicht zweckmäßig. Zusätzlich wird beim herkömmlichen Füllprozeß ein Zeichenmuster durch Füllen jedes Zeichens erzeugt, und eine Leerstelle zwischen benachbarten Zeichenmustern, (d.h. einer Punktposition der rechten und linken Enden der benachbarten Zeichenmusterbereiche) fällt nicht oft zusammen mit einem Ende/Startteil (d.h. einer sogenannten Wortgrenze) von Einheiten eines Schreibens des Bitkartierspeichers. Ein Füllen kann nicht durch eine einfache Wortverarbeitung durchgeführt werden. Daher kann ein Rochgeschwindigkeitsverarbeiten nicht durchgeführt werden, und eine komplizierte Hardware oder dergleichen ist erforderlich. Wenn insbesondere eine große Anzahl von relativ kleinen Zeichen, wie beispielsweise Textzeichen, verwendet wird, so ist ein Hochgeschwindigkeitsverarbeiten in Einheiten von Zeichen unmöglich.
- Es ist eine Aufgabe der vorliegenden Erfindung, ein Gerät zu schaffen, das korrekt Zeichenmuster mit einer Ein-Punkt-Linienbreite und einem Ein-Punkt-Scharf-Ende erzeugen und ein kompliziertes Zeichenmuster sowie ein relativ kleines Zeichenmuster mit hoher Geschwindigkeit liefern kann.
- Entsprechend ist ein Gerät bzw. eine Einrichtung gemäß dem Patentanspruch 1 vorgesehen.
- Nach der vorliegenden Erfindung kann die Anzahl von Änderungen in Windungszahlen und Änderungszustände von Punkten, die eine Endanordnung von allen Linienzeichnungen bilden, die ein Zeichenmuster definieren, als WN-Codes in einem Windungszahl- Codemusterspeicher (WNPM) 17 nach einmaligem Spuren jeder Linienzeichnung erhalten werden. WN-Daten der jeweiligen Punkte können leicht gleichzeitig in Einheiten von N Punkten von den Speicherinhalten des WNPM 17 und eines Linienspeichers 19 gewonnen werden, um so ein Zeichenmuster durch Füllen mit hoher Geschwindigkeit zu liefern.
- Eine Operation zum Gewinnen von WN-Daten wird kontinuierlich entlang einer Linienrichtung in Einheiten von N Punkten, zusammenhängend in der Linienrichtung, durchgeführt. Wenn ein Abtasten einer Linie abgeschlossen ist, dann wird die nächste Linie abgetastet. Der N-Wert kann mit einer Wortlänge eines Bitkartierspeichers in der Linienrichtung angepaßt werden. Die Füllmusterpunkte, die durch die WN-Daten bestimmt sind, können zu dem Bitkartierspeicher in Einheiten von N Punkten bei hoher Geschwindigkeit entsprechend einem einfachen Adressieren übertragen werden.
- Der Windungszahlcode stellt auch ein gleichzeitiges Auftreten von einem Inkrement und einem Dekrement in Punkten unmittelbar vor und nach einem Zielpunkt aufgrund einer Musterreduktion dar. Ein Füllen von Daten wird unter Berücksichtigung dieses Zustandes erzeugt, um ein fehlerhaftes Füll-Verschwinden von feinen Linien zu verhindern.
- Der Speicherbereich des WNPM 17 wird in eine Vielzahl unterteilter Bereiche (BSi) unterteilt, die benutzt werden, um den Füllverarbeitungsabschnitt zu veranlassen, ein Füllen in jedem unterteilten Bereich durchzuführen, wo ein zweites WN-Code- Fortschreibverarbeiten mittels der WN-Code- Fortschreibtabeile abgeschlossen ist. Ein Fortschreiben durch den Fortschreibabschnitt und ein Füllen durch den Füllverarbeitungsabschnitt können gleichzeitig durchgeführt werden, um die Betriebsgeschwindigkeit bei der Erzeugung von Zeichenmustern weiter zu erhöhen. Wenn ein Teil eines Zeichenmusters einen Bereich überschreitet, der dessen Zeichensegmentursprung umfaßt, wird ein unterteilter Bereich, der einen Teil außerhalb dieses Bereiches umfaßt, durch einen Halbaddierer in einer Zugriffsteuerschaltung anstelle eines durch das erste Register bezeichneten Bereiches gewählt. Die zweiten WN-Codes können für die richtige Position fortgeschrieben werden und daher können die WN-Codes entsprechend einem Zeichencode und zwei benachbarte geteilte Bereiche kreuzend, wirksam fortgeschrieben werden.
- In der obigen Anordnung werden mit Ausnahme eines Verarbeitens eines ausnehmend großen Zeichens WN-Codes einer Vielzahl von Zeichen in einem einmal geteilten Bereich des WNPM 17 gespeichert. Dieser geteilte Bereich wird als ein großer Übertragungsbereich verwendet, die Vielzahl von Zeichen wird einem Füllprozeß in Stapeln unterworfen, und die verarbeiteten Zeichen werden zu dem Bitkartierspeicher übertragen.
- Zu der Zeit einer Übertragung von Daten zu dem Bitkartierspeicher wird eine Grenze des Übertragungsbereiches (unterteilter Bereich) nicht durch eine Grenze der Zeichenmuster bestimmt, sondern kann als eine Position eingestellt werden, die für ein Fortschreiben und Blockübertragen des Bitkartierspeichers geeignet ist (eine 2n-Wort-Grenze in diesem Ausführungsbeispiel). Ein Füllen und Blockübertragen werden für Zeichenmuster von jedem Zeichen in zwei Schritten durchgeführt (ein Zeichen E in Fig. 12).
- Eine logische Füllrichtung, die ein Füllen in zwei Stufen erlaubt, ist eine Richtung senkrecht zu einer Hauptübertragungsrichtung (d.h. einer Linienrichtung, beispielsweise der Horizontalrichtung in diesem Ausführungsbeispiel).
- Als ein Ergebnis werden beide Endteile einer Blockübertragung (BITBLT), die Zeit zum Verarbeiten erfordern kann, die nicht durch eine einfache Verarbeitung in Einheiten von Worten durchgeführt werden kann, nicht an beiden Enden aller Zeichenmuster, sondern am linken Ende des Zeichenmusters ganz links der eine Linie bildenden Zeichenmuster und am rechten Ende des Zeichenmusters ganz rechts der eine Linie bildenden Zeichenmuster gebildet. Daher kann eine Übertragung der inneren Zeichenmuster durch einfachen Schreibzugriff in Einheiten von Worten durchgeführt werden.
- Diese Erfindung wird aus der folgenden Detailbeschreibung im Zusammenhang mit den beigefügten Zeichnungen besser verständlich; es zeigen:
- Fig. 1a bis 1D Darstellungen zum Erläutern von Mustern, die jeweils durch herkömmliche Methoden bzw. Verfahren erzeugt sind,
- Fig. 2A und 2B Darstellungen zum Erläutern von Windungszahl-(WN-)Daten,
- Fig. 3 ein Blockschaltbild, das ein Hochqualitätsmustererzeugungsgerät nach einem Ausführungsbeispiel der vorliegenden Erfindung zeigt,
- Fig. 4 ein Blockschaltbild, das eine in Fig. 3 dargestellte Zugriffsteuerschaltung 22 zeigt,
- Fig. 5 eine Darstellung, die Inhalte einer in Fig. 3 dargestellten WN-Codebestimmungstabelle 15 zeigt,
- Fig. 6 eine Darstellung, die Inhalte einer in Fig. 3 dargestellten WN-Codefortschreibtabelle 16 zeigt,
- Fig. 7 eine Darstellung zum Erläutern einer Anwendung einer Bestimmungsregel der WN-Codes,
- Fig. 8 ein Blockdiagramm, das Peripherieschaltungen eines in Fig. 3 dargestellten Füllverarbeitungsabschnittes 18 zeigt,
- Fig. 9 ein Flußdiagramm zum Erläutern eines Betriebs eines in Fig. 3 dargestellten Projektionsabschnittes 14,
- Fig. 10 ein Flußdiagramm, das einen Betrieb des in Fig. 3 dargestellten Füllverarbeitungsabschnittes 18 zeigt,
- Fig. 11A bis 11D Flußdiagramme, die ein Fortschreiben von WN-Codes zeigen,
- Fig. 12 eine Darstellung, die eine Füllverarbeitung durch den Füllverarbeitungsabschnitt 18 zeigt,
- Fig. 13A und 13B Darstellungen zum Erläutern eines Problems, wenn ein Muster mit einer dünnen Linie reduziert bzw. verkleinert wird,
- Fig. 14A und 14B Darstellungen zum Erläutern eines DDA-Plan- bzw. Zeichenschemas zum Lösen des durch Fig. 13A und 13B gestellten Problemes entsprechend den Fig. 13A und
- Fig. 15 eine Darstellung zum Erläutern eines Betriebs, wenn das DDA-Planschema auf ein reduziertes Horizontalmuster mit einer dünnen Linie angewandt wird,
- Fig. 16 eine Darstellung, die eine Beziehung zwischen einem Zeichenmuster und einem WN-Code zeigt,
- Fig. 17A und 17B Darstellungen, die Zustände in Änderungen im WN-Code zeigen, wenn ein in Fig. 16 dargestelltes Zeichenmuster in 1/3 reduziert wird,
- Fig. 18 eine Darstellung, die ein Muster zeigt, aus dem ein WN-Code-Fortschreiben weggelassen werden kann, und
- Fig. 19 eine Darstellung, die eine Beziehung zwischen einem WN-Code und einem Muster mit einem Ein-Punkt-Scharf-Ende zeigt.
- Fig. 3 ist ein Blockdiagramm, das ein Hochqualitäts- Zeichenmustererzeugungsgerät nach einem Ausführungsbeispiel der vorliegenden Erfindung zeigt. In Fig. 3 speichert ein Zeichenmusterdefinitionsdatenspeicher 11 Musterdefinitionsdaten zum Definieren von Zeichenmustern mit einer Standardgröße. Jedes Zeichenmuster besteht aus wenigstens einem Muster, und jedes Muster besteht aus wenigstens einem Teilmuster. Jedes Muster wird durch eine Randlinie definiert. Eine Randlinie besteht aus einer geraden Linie und/oder einer Kurve. In diesem Ausführungsbeispiel ist ein durch eine Randlinie oder Randlinien definierter Rand geschlossen. Die Zeichenrichtung der Randlinie wird als eine Richtung definiert, entlang der ein Füllbereich auf der linken Seite gelegen ist, und die Füllrichtung wird als die y-Achse definiert. In diesem Ausführungsbeispiel ist die Füllrichtung als eine Abwärtsrichtung definiert, jedoch ist diese Definition nicht wesentlich für die vorliegende Erfindung. Beispielsweise kann die Zeichenrichtung als eine Richtung definiert werden, entlang der ein Füllbereich auf der rechten Seite gelegen ist, und die Füllrichtung kann als die x-Achse definiert werden.
- Die Zeichendefinitionsdaten umfassen Daten, die die Anzahl von Mustern, welche ein Zeichen bilden, und die Anzahl von Teilmustern, welche jedes Muster bilden, darstellen, d.h. Randlinienzähldaten N, welche die Anzahl von Randlinien darstellen, und Randliniendaten, die jede Gruppe von Randlinien darstellen, die jedes Teilmuster definieren.
- Ein Größenänderungsabschnitt 12 liest Musterdefinitionsdaten aus dem Speicher 11 entsprechend einem Eingangsgrößenänderungsbefehl aus und vergrößert/verkleinert ausgelesene Musterdefinitionsdaten, um eine durch den Größenänderungsbefehl dargestellte bezeichnete Größe zu erhalten. Die vergrößerten/verkleinerten Musterdefinitionsdaten werden in einen "Zuerst-Ein- Zuerst-Aus"-(FIFO-)Puffer bzw. -Zwischenspeicher 13 ausgegeben. Der FIFO-Zwischenspeicher 13 speichert die Musterdefinitionsdaten von dem Größenänderungsabschnitt 12 zwischen.
- Ein Projektionsabschnitt 14 projiziert eine durch Randliniendaten der Musterdefinitionsdaten vom FIFO 13 bestimmte Randlinie auf einen WN-Codemusterspeicher (WNPM) 17 in Einheiten von Randpunkten abhängig von einem Projektionsstartbefehl von einem Controller bzw. einer Steuereinheit 10. Ein Randpunkt wird als ein Schnitt zwischen einer Randlinie und einer Gitterlinie von Koordinaten, die mit dieser Randlinie projiziert sind, oder als Gitterpunkt nahe zu diesem Schnitt definiert. Jeder Randpunkt hat einen Windungszahl(WN-)Code. Wenn ein Projektionsverarbeiten eines Musters abgeschlossen ist, wird eine Projektionsendeantwort an den Controller 10 ausgegeben. Der Projektionsabschnitt 14 umfaßt einen Projektionscontroller 14-1, einen Bestimmungsabschnitt 14-2 und einen Fortschreibabschnitt 14-3. Der Controller 14-1 steuert die Operationen des Bestimmungsabschnittes 14-2 und des Fortschreibabschnittes 14-3 entsprechend einem Befehl vom Controller 14-1. Der Fortschreibabschnitt 14-3 schreibt einen WN-Code eines Zielpunktes, der in dem WNPM 17 gespeichert ist, entsprechend einem durch den Bestimmungsabschnitt 14-2 bestimmten WN-Code fort.
- Der Bestimmungsabschnitt 14-2 umfaßt eine Bestimmungstabelle 15 (Fig. 5) zum Bestimmen von WN- Codes. Die Bestimmungstabelle 15 gibt einen WN-Code für einen Zielpunkt auf der Grundlage einer Randliniensegment-Einlaufrichtung zu dem Zielpunkt und einer Randliniensegment-Auslaufrichtung von dem Zielpunkt aus. Der Bestimmungsabschnitt 14 bestimmt einen WN-Code 15 für den Zielpunkt bezüglich der Bestimmungstabelle 15 auf der Grundlage der Randliniendaten von dem FIFO-Zwischenspeicher 13 abhängig von einem Bestimmungsbefehl von dem Controller 14-1. Der WN-Code ist ein Code, der eine Differenz zwischen der Windungszahl WN des Zielpunktes und Daten WN darstellt, die einen Punkt entgegengesetzt zu der Füllrichtung bezüglich des Zielpunktes darstellen, beispielsweise ein oberer Punkt neben dem Zielpunkt in diesem Ausführungsbeispiel.
- Der WN-Code und die Bestimmungstabelle 15 werden im folgenden näher beschrieben.
- Acht WN-Codes sind in diesem Ausführungsbeispiel verfügbar. Der erste WN-Code ist ein Code "0", der darstellt, daß die Zielpunktdaten WN gleich sind zu Daten des oberen Punktes neben dem Zielpunkt. Die zweiten, dritten und vierten WN-Codes sind Codes "+1", "+2" und "+3", die darstellen, daß die Zielpunktdaten WN Werte haben, die jeweils um 1, 2 und 3 größer sind als die Nachbarpunktdaten. Die fünften, sechsten und siebenten WN-Codes sind Codes "-1", "-2" und "-3", die darstellen, daß die Zielpunktdaten WN Werte haben, die jeweils um 1, 2 und 3 kleiner sind als die Nachbarpunktdaten WN. Der achte WN-Code ist ein Code " ±-" was darstellt, daß Daten WN des oberen Nachbarpunktes gleich sind zu denjenigen des oberen oder unteren Nachbarpunktes in der Füllrichtung, wobei jedoch die Zieldaten WN einen Wert darstellen, der von jedem der Daten WN der oberen oder unteren Nachbarpunktdaten um 1 verschieden ist. Beim Zeichenmustererzeugungsverarbeiten dieses Ausführungsbeispiels kann ein Maximum von drei Linien einander überlappen, so daß die acht WN-Codes, d.h. "-3" bis "+3" und "±" vorbereitet werden müssen. Daher wird jeder WN-Code durch drei Bits ausgedrückt. Wenn ein Rand ein Zielrand in der Bestimmungstabelle 15 wird, werden lediglich vier WN-Codes (d.h. "-1" bis "+1" und "±") in jedem Bestimmungszyklus verwendet. Fig. 5 zeigt Inhalte der WN-Codebestimmungstabelle 15. In Fig. 5 stellt ein Schwarzpunkt "." einen Zielpunkt dar, und ein Richtungspfeil "T" zu dem Schwarzpünkt stellt eine Segmentrichtung einer Randlinie von dem Zielpunkt zu dem vorliegenden Zielpunkt dar, d.h. die Segmenteinlaufrichtung, und ein Richtungspfeil "T" weg von dem Schwarzpunkt stellt eine Richtung von dem vorliegenden Zielpunkt zu dem nächsten Zielpunkt dar, d.h. die Segmentauslaufrichtung. Die Segmentrichtungen sind in Einheiten von 450 quantisiert und in acht Richtungscodes klassifiziert. Der Projektionsabschnitt 14 bestimmt einen WN-Code bezüglich der Bestimmungstabelle 15 (Fig. 5) entsprechend den zwei Richtungscodes, d.h. dem Segmenteinlaufrichtungscode und dem Segmentauslaufrichtungscode. Die Bezugsgröße zum Messen eines Winkels ist gegeben durch die Füllrichtung, d.h. die y-Achse (ein Winkel von 0º ist definiert in der unteren y-Richtung, und ein Winkel wird entgegen dem Uhrzeigersinn gebildet).
- 1) Wenn ein Segmenteinlaufrichtungscode eine 90º-Richtung und ein Segmentauslaufrichtungscode einen Winkel der in den Bereich von 0º < θº ≤ 180º fällt, darstellen, so wird ein Code "-" (-1) als ein WN-Code bestimmt. Wenn der Segmenteinlaufrichtungscode die 90º- Richtung darstellt und der Segmentauslaufrichtungscode einen Winkel darstellt, der in den Bereich von 225º ≤ θ ≤ 270º fällt, so wird "±" als ein WN-Code bestimmt. Wenn der Segmenteinlaufrichtungscode die 90º-Richtung darstellt und der Segmentauslaufrichtungscode einen Winkel darstellt, der in den Bereich von 315º ≤ θ ≤ 360º fällt, so wird "0" als ein WN-Code bestimmt.
- 2) Wenn ein Segmenteinlaufrichtungscode eine 135º-Richtung darstellt und ein Segmentauslaufrichtungscode einen Winkel θ darstellt, der in den Bereich von 0º < θ ≤ 180º fällt, so wird "-" (-1) als ein WN-Code bestimmt. Wenn der Segmenteinlaufrichtungscode die 135º-Richtung darstellt und der Segmentauslaufrichtungscode einen Winkel θ darstellt, der in den Bereich von 225º ≤ θ ≤ 315º fällt, so wird "±" als ein WN-Code bestimmt. Wenn der Segmenteinlaufrichtungscode die 135º-Richtung darstellt und der Segmentauslaufrichtungscode einen Winkel θ = 360º darstellt, so wird "0" als ein WN-Code bestimmt.
- 3) Wenn ein Segmenteinlaufrichtungscode eine 180º-Richtung darstellt und ein Segmentauslaufrichtungscode einen Winkel θ darstellt, der in den Bereich von 0º < θ ≤ 180º fällt, so wird "0" als ein WN-Code bestimmt. Wenn der Segmenteinlaufrichtungscode die 180º-Richtung darstellt und der Segmentauslaufrichtungscode einen Winkel θ darstellt, der in den Bereich von 225º ≤ θ ≤ 360º fällt, so wird "+" als ein WN-Code bestimmt.
- 4) Wenn ein Segmenteinlaufrichtungscode eine 225º-Richtung darstellt und ein Segmentauslaufrichtungscode einen Winkel θ = 45º darstellt, so wird "+" als ein WN- Code bestimmt. Wenn der Segmenteinlaufrichtungscode die 225º-Richtung darstellt und der Segmentauslaufrichtungscode einen Winkel θ darstellt, der in den Bereich von 90º ≤ θ ≤ 180º fällt, so wird "0" als ein WN-Code bestimmt. Wenn der Segmenteinlaufrichtungscode die 225º-Richtung darstellt und der Segmentauslaufrichtungscode einen Winkel θ darstellt, der in den Bereich von 225º ≤ θ ≤ 360º fällt, so wird "+" als ein WN-Code bestimmt.
- 5) Wenn ein Segmenteinlaufrichtungscode eine 270º-Richtung darstellt und ein Segmentauslaufrichtungscode einen Winkel θ darstellt, der in den Bereich von 450 ≤ θ ≤ 90º fällt, so wird ein Code "±" als ein WN-Code bestimmt. Wenn der Segmenteinlaufrichtungscode die 270º-Richtung darstellt und der Segmentauslaufrichtungscode den Winkel θ darstellt, der in den Bereich von 135º ≤ θ ≤ 180º fällt, so wird "0" als ein WN-Code bestimmt. Wenn der Segmenteinlaufrichtungscode die 270º-Richtung darstellt und der Segmentauslaufrichtungscode den Winkel θ darstellt, der in den Bereich von 225º ≤ θ ≤ 360º fällt, so wird "+" als ein WN-Code bestimmt.
- 6) Wenn ein Segmenteinlaufrichtungscode eine 315º-Richtung darstellt und ein Segmentauslaufrichtungscode einen Winkel θ darstellt, der in den Bereich von 45º ≤ θ ≤ 135º fällt, so wird ein Code "±" als ein WN-Code bestimmt. Wenn der Segmenteinlaufrichtungscode die 315º-Richtung darstellt und der Segmentauslaufrichtungscode den Winkel θ = 180º darstellt, so wird "0" als ein WN-Code bestimmt. Wenn der Segmenteinlaufrichtungscode die 315º-Richtung darstellt und der Segmentauslaufrichtungscode den Winkel θ darstellt, der in den Bereich von 225º ≤ θ ≤ 360º fällt, so wird "+" als ein WN-Code bestimmt.
- 7) Wenn ein Segmenteinlaufrichtungscode eine 0º-Richtung darstellt und ein Segmentauslaufrichtungscode einen Winkel θ darstellt, der in den Bereich von 0º ≤ θ ≤ 180º fällt, so wird ein Code "-" als ein WN-Code bestimmt. Wenn der Segmenteinlaufrichtungscode die 0º- Richtung darstellt und der Segmentauslaufrichtungscode den Winkel θ darstellt, der in den Bereich von 225º ≤ θ ≤ 360º fällt, so wird "0" als ein WN-Code bestimmt.
- 8) Wenn ein Segmenteinlaufrichtungscode eine 45º-Richtung und ein Segmentauslaufrichtungscode einen Winkel θ darstellt, der in den Bereich von 45º ≤ θ ≤ 180º fällt, so wird ein Code "-" als ein WN-Code bestimmt. Wenn der Segmenteinlaufrichtungscode die 45º-Richtung darstellt und der Segmentauslaufrichtungscode den Winkel θ = 225º darstellt, so wird "+" als ein WN-Code bestimmt. Wenn der Segmenteinlaufrichtungscode die 45º-Richtung darstellt und der Segmentauslaufrichtungscode den Winkel θ = 225º darstellt, so wird "±" als ein WN-Code bestimmt. Wenn der Segmenteinlaufrichtungscode die 45º- Richtung darstellt und der Segmentauslaufrichtungscode den Winkel θ darstellt, der in den Bereich von 2700 ≤ θ ≤ 360º fällt, so wird "0" als ein WN-Code bestimmt.
- Wie aus der obigen Beschreibung ersichtlich und in Fig. 7 gezeigt ist, fällt, wenn der Segmenteinlaufrichtungscode eine 0º-Richtung darstellt und der Winkel θ, der durch den Segmentauslaufrichtungscode wiedergegeben ist, in den Bereich von 0 ≤ θ ≤ 180º fällt, ein Gitterpunkt unmittelbar unter dem Zielpunkt, der durch einen Hohlkreis (o) dargestellt ist, außerhalb des Schwarzbereiches des Randes. Der Zielpunkt selbst ist in dem Schwarzbereich enthalten. Daher wird ein Code "-" dem Zielpunkt gemäß der Definition der WN-Codes zugewiesen.
- Wenn der Winkel θ, der durch den Segmentauslaufrichtungscode wiedergegeben ist, in den Bereich von 180º ≤ θ ≤ 360º fällt, so fällt der Gitterpunkt unmittelbar unter dem Zielpunkt in den Schwarzbereich, und der Gitterpunkt unmittelbar über dem Zielpunkt fällt ebenfalls in den Schwarzbereich, wobei keine Änderungen in den Daten WN vor und nach dem Zielpunkt auftreten und die Daten "0" erzeugt sind. Es ist sofort zu verstehen, daß Codes in anderen Richtungen leicht unter Berücksichtigung von Änderungen in Daten WN der Zielpunkte und der Gitterpunkte vor und nach den Zielpunkten erhalten werden können.
- Der Fortschreibabschnitt 14-3 umfaßt eine Fortschreibtabeile (Fig. 6). Der Fortschreibabschnitt 14-3 gibt einen fortgeschriebenen WN-Code bezüglich der Fortschreibtabeile 16 auf der Grundlage des WN-Codes des durch den Bestimmungsabschnitt 14-2 bestimmten Zielpunktes und des WN-Codes des Zielpunktes, der in dem WNPM 17 gespeichert ist, abhängig von einem Fortschreibbefehl von dem Controller 14-1 aus. Der erhaltene WN-Code wird in eine Position entsprechend dem Zielpunkt in den WNPM 17 geschrieben. Die in dem WNPM 17 gespeicherten WN-Codes können fortgeschrieben werden.
- Fig. 6 zeigt Inhalte der Fortschreibtabelle 16. Die Logik der Fortschreibtabeile 16 ist bestimmt durch (fortgeschriebener WN-Code) = (WN-Code von WNPM 17) + (bestimmter WN-Codes). Die Rechenregel in dieser Rechenformel ist wie folgt gegeben. Wenn der bestimmte WN-Code einen Code "+" oder "-" darstellt, so wird der WN-Code von dem WNPM 17 um Eins inkrementiert oder dekrementiert, um einen fortgeschriebenen WN-Code zu erhalten. Wenn das Fortschreibergebnis Null wiedergibt, so ist der Code zu "+" fortgeschrieben. Wenn der bestimmte Code einen Code "+" wiedergibt, so wird der WN-Code von dem WNPM 17 als "0" definiert, wenn er nicht ursprünglich Null ist. In diesem Fall wird der WN-Code von dem WNPM 17 nicht fortgeschrieben. Wenn jedoch der WN-Code von dem WNPM 17 "0" wiedergibt, so wird eine Operation "0" + "±" T "±" durchgeführt. Wenn der bestimmte WN-Code eine "0" ist, so braucht der WN- Code von dem WNPM 17 nicht fortgeschrieben zu werden. Wenn in diesen Ausführungsbeispiel der bestimmte Code eine "0" ist, so wird dies zu dem Controller 14-1 gemeldet. Zu dieser Zeit gibt der Controller 14-1 keinen Fortschreibbefehl zum Fortschreibabschnitt 14-3 aus, um ein Hochgeschwindigkeitsverarbeiten zu erzielen. Daher wird der Fortschreibabschnitt 14-3 abgeschaltet gehalten, auf die Fortschreibdaten 16 wird nicht Bezug genommen, oder es erfolgt kein Zugriff auf den WNPM 17. Aus Beschreibungsgründen ist in Fig. 6 der WN-Code, fortgeschrieben für den erzeugten WN-Code = "0" gezeigt. Jedoch braucht dieser WN-Code in der Praxis nicht erzeugt zu werden. In der in Fig. 6 gezeigten Fortschreibtabelle kann ein Maximum von drei Rändern einander überlappen, so daß jede durch ein Symbol "*" wiedergegebene Eingabe in diesem Ausführungsbeispiel nicht existiert.
- Der Windungszahl-Codemusterspeicher (WNPM) 17 ist ein WN-Codemusterspeicher (24 Bits/Wort) zum Speichern der durch den Projektionsabschnitt 14 bestimmten 3-Bit-WN- Codes entsprechend Punkten (zum Annähern der Gitterpunkte). Der WNPM 17 umfaßt einen Hochgeschwindigkeits-RAM, wobei dessen Speicherbereich in vier Bereiche (im folgenden als Zwischenspeicherbzw. Puffersegmente bezeichnet) BS&sub0; bis BS&sub3; mit der gleichen Größe unterteilt ist. Während ein WN-Code in ein Puffersegment BSi geschrieben ist, werden die in andere Puffersegmente BSj (j = 0 bis 3, vorausgesetzt daß j ≠ i vorliegt) geschriebenen WN-Codes ausgelesen und einer Füllverarbeitung unterworfen. Auf den WNPM 17 kann zweimal je Maschinenzyklus ein Zugriff erfolgen. In der ersten Hälfte des Maschinenzyklus erfolgt ein Zugriff zum Bilden eines Zeichenmusterrandes (WN-Code- Schreib-Zugriff). In der zweiten Hälfte des Maschinenzyklus erfolgt ein Zugriff zum Durchführen einer Füllverarbeitung (WN-Code-Lese-Zugriff).
- Der WNPM 17 kann einen Zugriff zweimal je Maschinenzyklus ausführen. In der ersten Hälfte des Maschinenzyklus erfolgt ein Zugriff zum Bilden eines Zeichenmusterrandes (WN-Code-Schreib-Zugriff). In der zweiten Hälfte des Maschinenzyklus erfolgt ein Zugriff zum Durchführen einer Füllverarbeitung (WN-Code-Lese- Zugriff)
- Der Füllverarbeitungsabschnitt 18 ist eine Schaltung zum Ausführen einer Füllverarbeitung auf der Grundlage der WN-Codes der jeweiligen, in dem WNPM 17 gespeicherten Punkte. Der WNPM 17 ist in zwei WN-Code- Speicherbereiche (nicht gezeigt) unterteilt, die WN- Codes von zwei Zeichen mit einer Maximalgröße speichern können. Während die WN-Codes in einen Speicherbereich geschrieben sind, werden die WN-Codes aus dem anderen Speicherbereich ausgelesen und können einer Füllverarbeitung unterworfen werden. Der Füllverarbeitungsabschnitt 18 hat eine Funktion eines sequentiellen Auslesens des WN-Codes jedes Gitterpunktes des Puffersegmentes BSi des WNPM 17 in Einheiten von kontinuierlichen acht Punkten (Dots) in der Linienrichtung, des Erzeugens von WN-Zahlen der entsprechenden acht Gitterpunkte auf der Grundlage der WN-Codes der acht Punkte und der Bezugsliniendaten (Bezugs-W-Nummern) der acht Punkte und des Durchführens eines Füllens in Einheiten von acht Punkten, während die Linie sequentiell verändert wird.
- Ein Linien- oder Zeilenspeicher (im folgenden als LM bezeichnet) 19 umfaßt einen Speicher (16 Bits/Wort) zum Speichern von Einlinien-Bezugsliniendaten (die Anzahl der Bits der Einlinien-Bezugsliniendaten ist 2) des Puffersegmentes BSi. Der Bitkartierspeicher 20 speichert Zeichenmuster, die durch eine Füllverarbeitung mittels des Füllverarbeitungsabschnittes 18 erzeugt sind. Eine Bitblockübertragungsschaltung (im folgenden als BITBLT- Schaltung bezeichnet) 21 überträgt das durch den Füllverarbeitungsabschnitt 18 erzeugte Zeichenmuster zu einem bezeichneten Bereich des Bitkartierspeichers 20 mit hoher Geschwindigkeit entsprechend Einstelldaten von dem Controller 10. Die BITBLT-Schaltung 21 führt eine Übertragung abhängig von einem Ein-Byte- Übertragungs-Bereit-Signal RDY von dem Füllverarbeitungsabschnitt 18 durch.
- Eine Zugriffsteuerschaltung 22 steuert einen Zugriff für den WNPM 17. Die Schaltung 22 erzeugt eine Schreibadresse zum Schreiben eines durch den Projektionsabschnitt 14 erzeugten WN-Codes in den WNPM 17 und eine Leseadresse zum Auslesen des WN-Codes und Einspeisen von diesem zu dem Füllverarbeitungsabschnitt 18. Ein Teil der von dem WNPM 17 zu dem Füllverarbeitungsabschnitt 18 gespeisten Leseadresse wird als eine Adresse zum Zugriff auf den LM 19 verwendet.
- Fig. 4 ist ein Blockdiagramm für die Zugriffsteuerschaltung 22. In Fig. 4 erzeugt eine Y- Adreß-Erzeugungsschaltung 23 eine Punktadresse zum Schreiben des durch den Projektionsabschnitt 14 erzeugten WN-Codes in den WNPM 17 und insbesondere eine obere Adresse einer Adresse zum Fortschreiben des WN- Codes in dem WNPM 17 abhängig von einem Lesemodifizierschreibbefehl. In diesem Fall wird eine Y-Adresse erzeugt, die eine Linienposition darstellt. Eine X-Adreßerzeugungsschaltung 24 erzeugt eine untere Adresse und insbesondere eine X-Punktadresse, die eine Gitterpunktposition in der Linienrichtung darstellt. Eine Y-Adreßerzeugungsschaltung 25 erzeugt eine obere Adresse (Y-Richtung-Wort-Adresse) einer Wortadresse zum Auslesen der WN-Codes aus dem WNPM 18 zu dem Füllverarbeitungsabschnitt 18 in Einheiten von acht Punkten (ein Wort). Ein X-Adreßgenerator 28 erzeugt eine untere Adresse (X-Richtung-Wort-Adresse). Ein Wähler (SEL) 27 wählt eine der Y-Adressen (Y-Richtung- Adressen) in der ersten und zweiten Hälfte des Maschinenzyklus. Ein Wähler (SEL) 28 wählt eines der verbleibenden Adreßbits (X-Richtung-Wort-Adresse) mit Ausnahme von den unteren drei Bits der X-Adresse (X- Richtung-Punkt-Adresse) von der X-Adreßerzeugungsschaltung 24 und die X-Adresse (X-Richtung-Wort-Adresse) von der X-Adreßerzeugungsschaltung 26 in der ersten und zweiten Hälfte der Maschinenzyklen. Durch Verketten eines Ausgangssignales (Y-Adresse) von dem Wähler 27 und eines Ausgangssignales (X-Adresse) von dem Wähler 28 erhaltene Daten stellen eine Wortadresse des WNPM 17 dar.
- Die Y-Adreß-Erzeugungsschaltung 23 umfaßt ein Register 62 zum Speichern eines von dem Controller 10 zu einem Eingang 61 gespeisten Wertes als eine Y-Adresse. Die Y- Adreßerzeugungsschaltung 25 umfaßt einen Zähler 64 zum Erzeugen einer Y-Adresse mit einem Wert "0" als einem Anfangswert. Die X-Adreßerzeugungsschaltung 24 umfaßt einen Wähler 67 zum Wählen eines Wertes aus einem Wert (d.h. einer X-Adresse eines Zielfortschreibpunktes in dem Zielzeichensegment) eines von dem Controller 10 eingespeisten Eingangssignales 65 und aus einen Wert (d.h. eine ein Inkrement eines Zeichenursprunges darstellende Punktgröße) eines Eingangssignales 66, ein Register 68 zum Speichern einer X-Adresse des Ursprunges (Zeichenursprung) des Zeichensegmentes in dem Puffersegment BSi und einen Addierer (+) 69 zum Addieren der Ausgangssignale von dem Register 68 und dem Wähler 67.
- Die X-Adreß-Erzeugungsschaltung 24 timfaßt einen Wähler 71 zum Wählen eines Wertes aus einem Wert (d.h. verbleibender Adreßbits mit Ausnahme der oberen zwei Bits in der X-Adresse des Zeichenursprunges des Startzeichens der X-Richtung-Zeichenfolge) eines von dem Controller 10 eingespeisten Eingangssignales 70 und aus einem Ausgangssignal von dem Addierer 69 und zum Einspeisen des gewählten Wertes in den Wähler 71, einen Halbaddierer 73 zum Addieren eines Übertragausganges von dem Addierer 69 zu einem Wert (2-Bit-Puffersegment- Bezeichnungsdaten) eines Eingangssignales 72. Daten (ein Ausgangssignal von dem Halbaddierer 73 ist ein oberer Adreßteil), die durch Verketten eines Ausgangssignales (zwei Bits) von dem Halbaddierer 73 und eines Ausgangssignales von dem Addierer 69 erhalten sind, stellen eine X-Adresse (X-Richtung-Punkt-Adresse) eines Zielfortschreibpunktes in dem WNPM 17 dar.
- Die X-Adreß-Erzeugungsschaltung 26 umfaßt ein 2-Bit- Register 75 zum Speichern eines Wertes (d.h. 2-Bit- Puffersegment-Bezeichnungsdaten zum Bezeichnen des Puffersegmentes BSi, in welchem ein Zeichenursprung des Startzeichens der X-Richtung-Zeichenfolge in der Füllrichtung gelegen ist) eines von dem Controller 10 eingespeisten Eingangssignales 74 und einen Zähler 76 zum sequentiellen Erzeugen von Puffersegment-BSi- Adressen (X-Richtung-Wortadressen), die durch das Register 75 wiedergegeben sind, ab dem Wert Null. Daten (oberer Teil des Ausgangssignales von dem Register 75), die durch Verketten eines Ausgangssignales (2 Bits) von dem Register 75 und eines Ausgangssignales von dem Zähler 76 erhalten sind, stellen eine X-Adresse (X- Richtung-Wortadresse) des Wortes (Speicherbereich der 8-Punkt-WN-Codes) dar, die für eine Füllverarbeitung aus dem WNPM 17 zu lesen sind. Ein Ausgangssignal von dem Zähler 76 stellt eine Adresse (Wortadresse) des LM 19 dar.
- Fig. 8 ist ein Blockdiagramm, das Peripherieschaltungen des Füllverarbeitungsabschnittes 18 zeigt. Ein Differential-Windungszahlregister (DWR) 47 speichert Füllwortdaten, d.h. 8-Punkt-WN-Codes (24 Bits), die aus dem WNPM 17 ausgelesen sind. Ein Windungszahlregister für eine vorhergehende Linie (im folgenden als PLWR bezeichnet) umfaßt ein 16-Bit-Register zum Speichern von Wortdaten, d.h. von 8-Punkt-WN-Codes (24 Bits), die aus dem LM 19 ausgelesen sind. Eine Füllschaltung 49 hat eine Funktion des Erzeugens und gleichzeitigen Ausgebens von 8-Punkt-W-Nummern (16 Bits) auf der Grundlage der in den DWR 47 gespeicherten 8-Punkt-WN- Codes und der in dem PLWR 48 gespeicherten 8-Punkt Bezugsliniendaten. Ein Musterregister (im folgenden als PR bezeichnet) 50 ist ein 8-Bit-Register zum Speichern eines 8-Punkt-Füllmuster-Ausgangssignales von der Füllschaltung 49 und zum Einspeisen von diesem in dem Bitkartierspeicher 20. Ein Bustreiber 51 veranlaßt den Controller 10, das Bereit-Signal RDY (Fig. 3) an die BITBLT-Schaltung 21 aus zugeben, wenn das Füllmuster in dem PR 50 gespeichert ist.
- Operationen zum Erzeugen eines Hochqualitätsmusters, d.h. die Erzeugung und das Fortschreiben der WN-Codes durch den Projektionsabschnitt 14, werden hauptsächlich im folgenden anhand der Fig. 9 und 10 beschrieben.
- Ein Größenänderungsabschnitt 10 in Fig. 3 liest Linienziehinformation, die ein Zeichenmuster eines gewünschten Zeichens mit einer Standardgröße definiert, aus dem Zeichenmusterspeicher aus und schreibt diese fort, so daß die ausgelesene Linienziehinformation das Zeichenmuster der gewünschten Zeichengröße definieren kann. Der Größenänderungsabschnitt 12 schreibt die fortgeschriebene Linienziehinformation (die ausgelesene Linienziehinformation, wenn keine Änderung erfolgt) in den FIFO-Zwischenspeicher 13. Diese Operationen werden auch in einem herkömmlichen System durchgeführt.
- Der Projektionsabschnitt 14 liest sequentiell Linienziehdaten aus dem FIFO-Pufferspeicher 13, projiziert (zeichnet) den Startpunkt des Linienziehens auf einen Punktgitterpunkt, wie dies in Schritt S1 beschrieben ist, und speichert es als ein Punkt P. Der Projektionsabschnitt 14 berechnet dann einen Schnitt (oder den nächsten Punkt einer Gitterpunktfolge zum Annähern des Segmentes) zwischen dem Segment und der Gitterlinie in der Ziehrichtung des Linienziehens und bezeichnet den berechneten Punkt als einen vorliegenden Zielpunkt P.
- Ein Gitterpunkt zum Annähern des Schnittes entspricht einen Punkt oder Marke, der bzw. die ein zu erzeugendes Zeichenmuster bildet. Wenn ein Zeichenmuster einschließlich einer dünnen Linie auf eine sehr kleine Größe verkleinert wird, läuft ein Teilzeichenmuster, das diese dünne Linie wiedergibt, durch die benachbarten Gitterpunkte, und das Teilmuster wird geschnitten, wenn lediglich Daten WN der projizierten Gitterpunkte verwendet werden. Wenn im ungünstigsten Fall eine dünne Linie parallel zu der Gitterlinie ist, kann die dünne Linie vollständig verschwinden. Fig. 13a zeigt schwarze Diagonallinien 31 und 31' als Teile des Zeichenmusters mit einer Linienbreite gleich einem reduzierten Gitterpunktintervall und einem Gitter entsprechend zu erzeugenden Punkten oder Marken. In Fig. 13A stellt ein Symbol " " einen Gitterpunkt (d.h. einen Gitterpunkt zwischen den Linien 31 und 31') der Daten WN von "1" in einem Bereich (Schwarzbereich) zwischen den Linien 31 und 31' dar. Vier schwarze Punkte oder Marken sind in der Fig. 13A gezeigt. Fig. 13B zeigt eine Punkt- oder Markenanordnung des auszugebenden Zeichenmusters, und die Mitte von jedem Punkt oder jeder Marke entspricht dem Gitterpunkt in Fig. 13A. Beispielsweise entsprechen jeweils Gitterpunkte A, B und C in Fig. 13A Mitten A', B' und C' in Fig. 13B. Wenn, wie aus den Fig. 13A und 13B zu ersehen ist, ein Punkt oder eine Marke entsprechend der W-Zahl von "1" (dargestellt durch das Symbol " ") in schwarz gefärbt wird und der schwarze Punkt bzw. die schwarze Marke ausgegeben wird, so wird eine Linie unterbrochen, wie dies in Fig. 13B gezeigt ist. In dem Fall der Fig. 13A und 13B ist die Zeichenmuster- Linienbreite gleich einem Intervall zwischen den Gitterpunkten. Wenn das Zeichenmuster in eine sehr kleine Größe reduziert wird, so daß seine Linienbreite kleiner ist als das Intervall zwischen den Gitterpunkten, tritt offenbar das obige Problem auf.
- Ein Verfahren bzw. eine Methode zum Beibehalten von Kontinuität des Schwarzbereiches, das bzw. die auf den Projektionsabschnitt 14 in Fig. 3 angewandt ist, wird im folgenden anhand der Fig. 14A, 14B und 15 beschrieben. Fig. 14A zeigt einen Teil der gleichen Diagonalzeichnung, wie diejenige von Fig. 13A (einen Schwarzteil zwischen den zwei Grenzsegmenten 31 und 31'). Dieses Linienziehen (der Grenzlinie 31) ist gespurt von einer durch ein Bezugssymbol D angezeigten Position in der unteren linken Richtung. In dem in Fig. 14A gezeigten Fall ist ein durch die Linie 31 an einer Position nahe einer Position D bezüglich einer Linie parallel zur y-Achse definierter Winkel (in diesem Fall wird die Richtung der Linie nicht berücksichtigt, sondern lediglich der Winkelbereich von 0º bis 90º in Betracht gezogen), größer als ein Winkel bezüglich einer Linie parallel zur x-Achse. In diesem Fall wird ein Schnitt F zwischen einem Gitterpunkt G nächst zu dem Punkt F und einer Linie (Gitterlinie) die durch den nächsten Gitterpunkt verläuft und parallel zur x-Achse ist, rechnet. Der Bereich wird so gedehnt, daß er den Punkt G in dem Schwarzbereich einschließt, (d.h. einen Bereich, in welchem die W-Zahl den Wert hat).
- Eine Technik zum Zeichnen bzw. Plotten von Punkten auf den Gitterpunkten, während eine 8-Punkt-Verbindungsbeziehung zwischen einer Linie durch einen bekannten linearen Zieh- bzw. Zeichenalgorithmus beibehalten wird, der als eine DDA (Digital-Differential- Analysator-)Technik bezeichnet ist, und insbesondere ein Bresenham-Algorithmus werden verwendet, um einen in dem gedehnten Bereich eingeschlossenen Punkt zu erhalten. Gemäß dieser DDA-Zeichentechnik werden Gitterpunkte (Zeichenziele) zum Annähern der Linie 31, wie dies durch einen Pfeil "T" und ein Symbol " " angezeigt ist, anstelle eines Schnittes zwischen der Linie 31 und der Gitterpunktlinie parallel zu der x- Achse sequentiell in dem Fall von Fig. 14A erhalten, während die 8-Punkt-Verbindungsbeziehung beibehalten wird. In der gleichen Weise wie in dem Fall, bei dem die sich ergebenden Punkte anfänglich in dem Schwarzbereich enthalten sind, werden die sich ergebenden Punkte gesetzt, um zu dem Schwarzbereich zu gehören, selbst wenn sie außerhalb des Schwarzbe'reiches vorliegen. Das heißt, der Schwarzbereich wird gedehnt, wie dies durch strichlierte Kurven angedeutet ist. Die obigen Operationen werden in ähnlicher Weise für die Linie 31' durchgeführt (vorausgesetzt, daß die Spurrichtung eine obere rechte Richtung ist) und die Zeichenziel-Gitterpunkte zum Annähern der Linie 31' werden sequentiell erhalten, während die 8-Punkt- Verbindungsbeziehung beibehalten wird. Gitterpunkte der Grenzlinie 31, die in dem gedehnten Bereich enthalten sind, werden durch Dreieckmarken (Δ) wiedergegeben, und Gitterpunkte der Grenzlinie 31', die in dem gedehnten Bereich eingeschlossen sind, werden durch Kreuzmarken (X) wiedergegeben. Wenn Punkte entsprechend den durch die Symbole " " und "Δ" wiedergegebenen Punkte als Schwarzpunkte ausgegeben werden, so wird ein Muster derart erhalten, daß die durch Kreuzmarken in Fig. 14B wiedergegebenen Punkte ausgeschlossen sind, und der Schwarzbereich wird durch acht kontinuierliche Punkte, d.h. die 8-Punkt-Verbindungsbeziehung, gebildet. Das in Fig. 14B gezeigte Ergebnis umfaßt Punkte (Kreuzmarken in Fig. 14B), die in dem gedehnten Bereich nach Verarbeiten der Grenzlinie 31' enthalten sind. In diesem Fall erfüllen die vier benachbarten Schwarzpunkte eine 4-Punkt-Verbindungsbeziehung, aber sie genügen nicht immer dieser Beziehung. Selbst wenn die Linienbreite reduziert wird, kann die 8-Punkt- Verbindungsbeziehung der benachbarten Schwarzpunkte durch die bekannte DDA-Zeichentechnik gewährleistet werden.
- Wenn ein kanji-Muster (insbesondere ein Zeichenmuster eines Ming-Typs) mit einer kleinen horizontalen Linienbreite stark verkleinert wird, kann ein Schwarzbereich H, der eine Horizontallinie darstellt, in einen Raum zwischen den benachbarten Gitterlinien fallen, wie dies in Fig. 15 gezeigt ist. Wenn in diesem Fall Daten WN jedes Gitterpunktes mathematisch berechnet und der Punkt entsprechend den berechneten Daten WN ausgegeben wird, verschwindet die Horizontallinie vollständig. Die DDA-Zeichen- bzw. Plott-Technik wird jedoch auf den obigen Fall angewandt, wobei der Schwarzbereich (d.h. der Bereich, in dem die Daten den Wert 1 haben) bis zu einer durch ein Bezugssymbol I angezeigten Position und einschließlich Gitterpunkten, die durch Schwarzpunkte () in Fig. 15 dargestellt sind, beim Linienziehen gedehnt wird, um beispielsweise eine obere Grenze des Schwarzbereiches H auszudrücken. Daher verschwindet die dünne Linie in dem Zeichenmuster nicht.
- Wenn der Betrieb im Schritt S2 abgeschlossen wird, berechnet der Projektionsabschnitt 14 Richtungen von Segmenten vor und nach dem Punkt P, normiert die Segmentrichtungen in Richtungen von Einheiten von 45º und erzeugt Richtungscodes (sich bewegende Richtungscodes) entsprechend den normierten Richtungen.
- Wenn der Betrieb in Schritt S3 abgeschlossen wird, rückt der Projektionsabschnitt 14 zu Schritt S4 vor. Mittels der WN-Codeerzeugungstabelle 15 in Fig. 5 erzeugt der Projektionsabschnitt 14 einen durch eine Kombination von sich bewegenden Richtungen der vorangehenden und nachfolgenden Segmente des Zielpunktes, die durch die zwei in Schritt S3 erzeugten Richtungscodes wiedergegeben sind, bestimmten WN-Code. Diese zwei Richtungscodes sind ein Code (vorangehender sich bewegender Richtungscode), der eine Bewegungsrichtung des unmittelbar vorangehenden Segmentteiles des Punktes P darstellt, und ein Code (nachfolgender Bewegungsrichtungscode), der eine Bewegungsrichtung eines unmittelbar folgenden Segmentteiles des Punktes P darstellt.
- Wenn der Projektionsabschnitt 14 den mittels der WN- Code-Bestimmungstabelle 15 erzeugten WN-Code erzeugt, führt der Projektionsabschnitt 14 ein WN-Code-Fortschreibverfahren durch (Schritt S4). Ein Betrieb zum Erzeugen eines Zeichenmusterrandes entsprechend Linienziehdaten von einem Startzeichen (A) einer neuen Zeichenfolge (beispielsweise A, B, C ...) für das WN- Code-Fortschreibverarbeiten wird im folgenden näher erläutert.
- Um ein Zeichenmuster jedes Zeichens einer neuen Zeichenfolge zu bilden, speist der Controller 10 zum Steuern des Gerätes als Gesamtes an den Eingang 70 der X-Adreß-Erzeugungsschaltung 24 in der Zugriffsteuerschaltung 22 eine untere Bitadresse entsprechend der Anzahl D von Punkten in der X-Richtung (X-Richtungsgröße) des Puffersegmentes (BSi) und gewählt von der X-Adresse (X-Richtung-Punkt-Adresse) des Zeichenursprunges des Startzeichens in dem Bitkartierspeicher 20. Der Controller 10 setzt die zu dem Eingang 70 gespeiste Adresse in das Register 68 über den Wähler 71. Die in das Register 68 gesetzte Adresse stellt eine verbleibende Adresse mit Ausnahme der oberen zwei Bits des Zeichenursprunges des Startzeichens (A) in dem WNPM 17 dar. Das heißt, die verbleibende Adresse ist eine Adresse des Zeichenursprunges in dem Puffersegment (beispielsweise BS&sub0;), da der Bereich (zweidimensionaler Bereich) des Bitkartierspeichers 20 in Einheiten von 4D (Punkten) in der X-Richtungsgröße des Bereiches (d.h. einen Bereich, wenn zweidimensional betrachtet wird) des WNPM 17 bezüglich der X-Richtung gesteuert wird. Der Controller 10 speist zu dem Eingang 72 der X-Adreß-Erzeugungsschaltung 24 in der Zugriffsteuerschaltung 22 Zwei-Bit-Puffersegment-Bezeichnungsdaten ("00" in diesem Fall) zum Bezeichnen des Puffersegmentes (BS&sub0; in diesem Fall) in dem WNPM 17, was dem Zeichenursprung des Startzeichens (A) entspricht.
- Wenn die WN-Codeerzeugung eines Gitterpunktes (ausgedrückt als der Punkt P für die Beschreibung) in dem Zeichensegment zum Annähern des Punktes auf dem Rand von beispielsweise dem Startzeichen (A) in dem obigen Zustand durchgeführt wird, wird die Y-Adresse des Zeichens (Zeichensegment) des Punktes P zu dem Eingang 61 der Y-Adreß-Erzeugungsschaltung 23 in der Zugriffsteuerschaltung 22 gespeist und in das Register 62 gesetzt. Der Projektionsabschnitt 14 speist die X- Adresse des Punktes P in dem Zeichen (Zeichensegment) zu dem Eingang 65 der X-Adreß-Erzeugungsschaltung 24 und gibt sie an den rechten Eingang des Addierers 69 über den Wähler 67 ab. Die Adresse (X-Adresse des Zeichenursprungs des Zeichens A im Puffersegment BS&sub0; in diesem Fall), die in das Register 68 gesetzt ist, wird zu dem linken Eingang des Addierers 69 gespeist.
- Der Addierer 69 addiert die beiden Eingangssignale, um eine X-Adresse des Punktes P in dem Puffersegment (BS&sub0;) zu erzeugen. Wenn ein Übertrag nicht zusätzlich durch den Addierer 69 ausgegeben ist, werden die Puffersegment-Bezeichnungsdaten ("00", die in diesem Fall das Puffersegment BS&sub0; darstellen), die zu dem Eingang 72 gespeist sind, direkt von dem Halbaddierer 73 ausgegeben und mit dem Ausgangssignal von dem Addierer 69 verkettet. Diese verketteten Daten stellen eine X-Adresse (X-Richtung-Punkt-Adresse) des Punktes P in dem WNPM 17 dar. Die verbleibende Adresse mit Ausnahme der unteren drei Bits von dieser Adresse, d.h. die X-Richtung-Wortadresse, die das Wort von acht Punkten auf der gleichen Linie einschließlich des Punktes P in dem WNPM 17 darstellt, wird zu dem Wähler 28 gespeist und durch den Wähler 28 in der ersten Hälfte des Maschinenzyklus gewählt. Zu dieser Zeit wird die Y-Adresse des Punktes P in dem WNPM 18, die dem Inhalt des Registers 62 entspricht, durch den Wähler 27 gewählt.
- Die jeweils durch die Wähler 27 und 28 gewählten Y- und X-Adressen werden verkettet, und die verketteten Daten werden zu dem WNPM 17 gespeist, um die Adreßpositionen der acht Punkte einschließlich des Punktes P in dem WNPM 17 zu bezeichnen. Die entsprechenden Wortdaten (d.h. WN-Codes der acht Punkte einschließlich des Punktes P) werden aus dem WNPM 17 ausgelesen und zu dem WNG 14 gespeist. Die unteren drei Bits der X-Adresse (X-Richtung-Punkt-Adresse), die von der X-Adreß-Erzeugungsschaltung 24 ausgegeben sind, werden zu dem WNG 14 gespeist. Der WNG 14 wählt den WN-Code der Punktposition (Punkt P) entsprechend den aus dem WNPM 17 ausgelesenen Wortdaten und nimmt Bezug auf die WN- Code-Fortschreibtabelle 16 (Fig. 6) mittels des gewählten WN-Codes und des zuvor erzeugten WN-Codes. Die Anfangswerte der WN-Codes aller Punkte in dem WNPM 17 werden auf "0" gesetzt. Der Projektionsabschnitt 14 schreibt den WN-Code in den Wortdaten entsprechend dem Punkt P in dem WN-Code fort, der bezüglich der WN-Code- Fortschreibtabeile 16 erhalten ist. Die fortgeschriebenen Wortdaten werden zu den WNPM 17 gespeist. Die zu dem WNPM 17 gespeisten Wortdaten werden in die Originaladresse des WNPM 17 eingeschrieben.
- Wenn der Betrieb des WN-Code-Fortschreibens (Schritt S4) durchgeführt wird, ist der Inhalt des Puffersegmentes (BS&sub0; in diesem Fall) in dem WNPM 17 als WN-Codes der jeweiligen Punkte bis hinauf zu dem Punkt P des vorliegenden Segmentes des In-Prozeß- Linienziehens gezeigt. Der Projektionsabschnitt 14 bestimmt, ob das WN-Code-Fortschreibverarbeiten bis zu dem letzten Punkt des In-Prozeß-Linie-Ziehens abgeschlossen ist. Wenn dieses WN-Code- Fortschreibverarbeiten nicht abgeschlossen ist, kehrt der Fluß zum Schritt S2 zurück, und der nächste Schnitt wird als neuer P erhalten. Die Operationen in den Schritten S3 und S4 werden durch den Projektionsabschnitt 14 für diesen neuen Punkt P wiederholt.
- Wenn nach Abschluß aller Operationen für Einlinienziehen ein Zeichenmuster durch eine Vielzahl des Linienziehens definiert ist und das vorangehende Linienziehen zurückbleibt, so wiederholt der Projektionsabschnitt 14 das obige Verarbeiten für das verbleibende Linienziehen. Wenn das Verarbeiten von allen Linienziehen für ein Zeichen (Zeichenmuster) abgeschlossen ist, d.h., wenn ein Schreib-(Fortschreib)Verarbeiten der WN-Codes entsprechend den Randmustern eines Zeichens abgeschlossen ist, wird das Ende des Verarbeitens an den Controller 10 gemeldet. Als ein Ergebnis führt der Controller 10 die folgende Operation zu der Zeit eines Startens einer ähnlichen Verarbeitung des nächsten Zeichens durch (d.h. das Zeichen B in diesem Fall). Der Controller 10 speist eine Punktgröße (d.h. die Punktgröße zwischen den Zeichenursprüngen der benachbarten Zeichen auf der gleichen Linie bzw. Zeile), die ein Inkrement des Zeichenursprunges darstellen, zu dem Eingang 66 der X-Adreß- Erzeugungsschaltung 24 in der Zugriffsteuerschaltung 22. Der Controller 10 speist diese Punktgröße zu dem rechten Eingang des Addierers 69 über den Wähler 67. Die X-Adresse des vorliegenden Zeichenursprunges (d.h. des Zeichenursprunges des Zeichens A) in dem Puffersegment (BS&sub0;) die von dem Register 8 ausgegeben ist, wird zu dem linken Eingang des Addierers 69 gespeist. Der Addierer 69 addiert beide Eingangssignale, um eine X-Adresse des Zeichenursprunges des nächsten Zeichens (B) in dem Puffersegment (BS&sub0;) zu erzeugen. Die Adresse dieses neuen Zeichenursprungs wird in das Register 68 über den Wähler 71 gesetzt.
- Wenn die Adresse in dem neuen Zeichenursprung in das Register 68 gesetzt ist, führt der Projektionsabschnitt 14 die gleiche Operation wie für das Zeichen A für das nächste Zeichen B durch. Die WN-Codes entsprechend den Randmustern des Zeichens B werden geschrieben. Auf diese Weise werden die WN-Codes entsprechend den Randmustern des Zeichens B nächst dem Zeichen A geschrieben. WN-Codes entsprechen den Randmustern der Zeichen C und D werden sequentiell geschrieben, während die Position des Zeichenursprunges in einer Inkrementrichtung (rechte Richtung in diesem Fall) verschoben wird. Dieser Zustand ist in Fig. 11A gezeigt.
- Die WN-Codes entsprechend den Randmustern des Zeichens E nächst dem Zeichen D werden gestartet. Es sei angenommen, daß der Zielschreibpunkt (P) des Zeichens E eine Puffersegmentgrenze (d.h. eine Grenze zwischen den Puffersegmenten BS&sub0; und BS&sub1;) überschreitet, wie dies in Fig. 11B gezeigt ist. Diese Erscheinung tritt auf, wenn der Zeichenursprung in dem Puffersegment (BS&sub0;) nahe an die Seite des nächsten Puffersegmentes (BS&sub0;) kommt und die X-Adresse des Zielschreibpunktes (P) in dem Zeichensegment des Zeichens E inkrementiert wird. In diesem Fall wird ein Übertragsignal von dem Addierer 69 ausgegeben. Ein Strichlinienteil des Zeichens E in Fig. 11B stellt einen Rand vor einem WN-Code-Schreiben (Fortschreiben) dar.
- Das Übertrag-Ausgangssignal von dem Addierer 69 wird zu dem rechten Eingang des Halbaddierers 73 gespeist. Ein Wert "01", der durch Addieren von "01" zu Daten "00", die das Puffersegment BS&sub0; darstellen, erhalten ist und zu dem linken Eingang des Halbaddierers 73 über den Eingang 72 gespeist ist, wird von dem Halbaddierer 73 ausgegeben. Die WN-Codes werden in das Puffersegment BS&sub1; nächst dem gerade durch den Controller 10 gesteuerten Puffersegment BS&sub0; geschrieben. In der Schreibverarbeitung der WN-Codes entsprechend den Randmustern des Zeichens E wird, wenn der Punkt (P), der zu dem Puffersegment BS&sub1; nächst dem Puffersegment BS&sub0; verschoben ist, zu dem Puffersegment BS&sub0; zurückkehrt, der Übertrag nicht von dem Addierer 69 ausgegeben, und das Ausgangssignal von, dem Halbaddierer 73 wird "00", um dadurch die WN-Codes in das Puffersegment BS&sub0; zu schreiben. Gemäß diesem Ausführungsbeispiel kann der WN-Code entsprechend dem Randmuster des Zeichens (E), das sich über die Puffersegmente BS&sub0; und BS&sub1; ausdehnt, in denen der Zeichenursprung vorhanden ist, wirksam geschrieben werden. Dies gilt auch für einen Fall, bei dem der Zeichenursprung in einem anderen Puffersegment vorliegt.
- Wenn ein Übertrag von dem Addierer 69 ausgegeben wird, während der Zeichenursprung in dem Puffersegment BS&sub3; vorhanden ist, wird ein Ausgangssignal von dem Halbaddierer 73 zu "00", und der WN-Code wird über die Puffersegmente BS&sub3; und BS&sub0; geschrieben.
- Wenn ein Schreibzugriff der WN-Codes entsprechend den Randmustern des Zeichens E abgeschlossen ist, wie dies in Fig. 11C gezeigt ist, startet der Controller 10 das gleiche Verarbeiten, wie dies oben für das nächste Zeichen (das Zeichen F in diesem Fall) beschrieben ist. Das heißt, der Controller 10 speist eine ein Inkrement des Zeichenursprunges darstellende Punktgröße zu dem Eingang 66 der X-Adreß-Erzeugungsschaltung 64 in der Zugriff-Steuerschaltung 22. Diese Punktgröße wird zu dem rechten Eingang des Addierers 69 über den Wähler 67 gespeist. Der Addierer 69 addiert die Punktgröße des rechten Einganges zu der X-Adresse (eingespeist zu dessen linkem Eingang) des Zeichenursprunges des Zeichens E in dem Puffersegment (BS&sub0;). In diesem Fall werden ein Übertrag und eine X-Adresse (Zeichenursprungadresse) des Zeichenursprunges- des nächsten Zeichens F in dem Puffersegment (BS&sub1; in diesem Fall) von dem Addierer 69 ausgegeben. Die Adresse des Ursprunges des neuen Zeichens wird in das Register 68 über den Wähler 71 gesetzt.
- Nach Einspeisung der das Inkrement des Zeichenursprunges darstellenden Punktgröße zu dem Eingang 66 (zu der Startzeit der WN-Codeverarbeitung für das nächste Zeichen) bestimmt, wenn der Übertrag von dem Addierer 69 ausgegeben ist, der Controller 10, daß das WN-Code-Fortschreiben in dem Puffersegment (BS&sub0;), das durch die Eingangspuffer-Segment- Bezeichnungsdaten ("00") dargestellt ist, abgeschlossen ist. In diesem Fall werden Daten "01" zum Bezeichnen des nächsten Puffersegmentes BS&sub0; von dem Controller 10 zu dem Eingang 72 gespeist, um den Projektionsabschnitt 14 zu veranlassen, ein WN-Code-Fortschreiben der Zeichenfolge nächst zu dem nächsten Zeichen (F) in dem Puffersegment BS&sub0; durchzuführen. Gleichzeitig veranlaßt der Controller 10 den Füllverarbeitungsabschnitt 18, ein Füllen mittels der in das Puffersegment BS&sub0; geschriebenen fortgeschriebenen WN-Codes durchzuführen. Dieses Füllverarbeiten wird im folgenden anhand des Flußdiagrammes von Fig. 10 näher erläutert.
- Der Controller 10 löscht den Inhalt des LM 19 auf Null in Schritt S11. In Schritt S12 speist der Controller 10 die Puffersegment-Bezeichnungsdaten "00" zum Bezeichnen des Puffersegmentes BS&sub0; zu dem Register 75 in der X- Adreß-Erzeugungsschaltung 26 über den Eingang 74. Gleichzeitig wird ein Anfangswert "0" in den Zähler 76 in der X-Adreß-Erzeugungsschaltung 26 gesetzt. In Schritt S12 setzt der Controller 10 einen Anfangswert "0" in den Zähler 64. Ein Ausgangssignal (Puffersegment-Bezeichnungsdaten) von dem Register 75 und ein Ausgangssignal (Wortadresse des Puffersegmentes in der X-Richtung) von den Zähler 76 werden verkettet, und die verketteten Daten werden zu dem Wähler 28 gespeist. Die verketteten Daten der Ausgangssignale von dem Register 75 und dem Zähler 76 stellen die X-Adresse (X-Richtung- Wortadresse) der Wortdaten dar, die aus den acht Füll- WN-Codes in dem WNPM 17 bestehen. In der zweiten Hälfte des Maschinenzyklus werden die verketteten Daten durch den Wähler 28 gewählt. In diesem Fall wird die Y-Adresse des Wortes in dem WNPM 17, die von dem Zähler 64 ausgegeben ist, durch den Wähler 27 gewählt.
- Die durch die Wähler 27 und 28 gewählten Y- und X- Adressen werden verkettet und die verketteten Daten werden zu dem WNPM 17 gespeist, um die Adreßposition (d.h. die Startwortposition der Startlinie in dem Puffersegment BS&sub0; in diesem Fall) der 8-Punkt-Wortdaten in dem WNPM 17 zu bezeichnen. Die kontinuierlichen 8- Punkt-WN-Codes (24 Bits) in der Linienrichtung werden aus der bezeichneten Wortposition aus dem WNPM 17 ausgelesen, und die ausgelesenen Daten werden durch den DWR 47 verriegelt. In Schritt S13 wird ein Ausgangssignal (Wortadresse des Puffersegmentes in der X-Richtung) von dem Zähler 76 auch verwendet, um die Wortposition des LM 19 zu bezeichnen. In Schritt S13 werden die 8-Punkt-Bezugsliniendaten (16 Bits), kontinuierlich von der bezeichneten Wortposition des LM 19 in der Linienrichtung, ausgelesen und durch den PLWR 48 verriegelt.
- Die verriegelten Inhalte (8-Punkt-WN-Codes und Bezugsliniendaten) von dem DWR 47 und dem PLWR 48 werden zu der Füllschaltung 49 gespeist. In Schritt S14 addiert die Schaltung 49 gleichzeitig (Binärberechnung) die durch den DWR 47 und den PLWR 48 verriegelten Inhalte in Einheiten von acht Punkten, wie dies durch "DWR+PLWR" im Schritt S14 angezeigt ist. Der Inhalt jedes durch den DWR 47 verriegelten Punktes ist einer der Codes "-3" bis "+3" und "±". Jedoch wird der WN- Code "±" als "0" in den obigen Additionen behandelt. Die durch den Ausdruck "DWR+PLWR" dargestellte Summe stellt die W-Zahl dieses Punktes dar. Die W-Zahlen (16 Bits) der durch die Schaltung 49 erzeugten acht Punkte werden zu dem LM 19 über den Bustreiber 51 als neue Bezugsliniendaten ausgegeben, auf die Bezug genommen wird, wenn der entsprechende Punkt (der gleiche x- Koordinatenpunkt) der nächsten Abtastzeile oder -linie (dargestellt als der Inhalt "+1" des UAR 41) einer Füllverarbeitung unterworfen ist. Die erzeugten Liniendaten werden an die Originalwortposition des LM 19 geschrieben, die durch ein Ausgangssignal von den Zähler 76 bezeichnet ist. Der LM 19 umfaßt einen Hochgeschwindigkeits-RAM mit einer Kapazität entsprechend der Anzahl der Punkte/Linien oder mehr des Zeichenmusters. Wenn die vorliegende Erfindung auf ein System angewandt wird, das Zeichen mit einer Maximalgröße von 2" bei einer Maximalauflösung von 600 DPI (Punkten/Zoll) drucken kann, beträgt die Anzahl der Punkte der Zeichenmuster in der Horizontalrichtung wenigstens 1.200. Der LM 19, der diese Kapazität liefern kann, kann durch einen handelsüblichen Hochgeschwindigkeits-Statik-Einchip-SRAM (Statik-RAM) realisiert werden. Es ist auch möglich, den LM 19 zusammen mit dem Füllverarbeitungsabschnitt 18 in einer LSI (Großintegrationsschaltung) vorzusehen.
- Die Füllschaltung 49 prüft die durch den Ausdruck "DWR+PLWR" dargestellte Summe oder den verriegelten Inhalt jedes Punktes in dem DWR 47 und erzeugt Füllbitdaten für einen Punkt, wenn wenigstens eine Größe aus der Summe und dem verriegelten Inhalt des Punktes nicht auf "0" gesetzt ist. Ein Punkt, dessen Summe und Inhalt beide Null sind, wird als Füllbitdaten von "0" (Weißanzeige) ausgegeben. In diesem Ausführungsbeispiel wird von allen Inhalten der durch den DWR 47 verriegelten acht Punkte ein Punkt nicht entsprechend dem WN-Code von "0" als die Füllbitdaten von logisch "1" für eine Schwarzanzeige erzeugt, selbst wenn ein Punkt nicht entsprechend dem WN-Code von logisch "0" einen Code "±" darstellt. Daher wird ein Punktausgang an einer Position entsprechend der Randzeile immer auflogisch "1" gesetzt, und selbst ein dünnes Muster kann klar ohne jegliche Auslassung ausgedrückt werden. Wenn die W-Zahl (Bezugsliniendaten) an einem Punkt der gleichen x-Koordinatenposition auf der dem Zielfüllpunkt vorausgehenden Linie auf "0" gesetzt ist und der WN-Code des entsprechenden Punktes auf "±" eingestellt ist, werden die Füllbitdaten von logisch "1" erzeugt selbst für die W-Zahl "0". Daher kann ein auf eine Größe kleiner als ein Punktintervall reduziertes dünnes Muster ohne Auslassen der Schwarzlinie ausgedrückt werden.
- Wenn der Betrieb in Schritt S14 abgeschlossen ist, zählt der Controller 10 den Zähler 76 in Schritt S15 aufwärts und bestimmt in Schritt S16, ob ein Übertrag von dem Zähler 76 ausgegeben wird. Liegt in Schritt S16 NEIN vor, so wird der Betrieb in Schritt S13 wiederholt. Liegt jedoch in Schritt S16 JA vor, so zählt der Controller 10 den Zähler 64 in Schritt S18 aufwärts und vergleicht die Linie (Y-Adresse in dem BNPM 17) mit den zum Kompensieren der Höhe des zu erzeugenden Zeichens erforderlichen Punkten, beispielsweise einer Punktzahl EU entsprechend der Höhe des Zeichensegmentes des zu erzeugenden Zeichens. Wenn der Wert des Zählers 64 kleiner ist als der Wert EU, wird der Betrieb in Schritt S13 wiederholt. Wenn jedoch der Zählerstand des Zählers 64 den Wert EU überschreitet, wird ein Füllverarbeiten für das in ein Puffersegment (BS&sub0; in diesem Fall) geschriebene Zeichen abgeschlossen. Wenn das WN-Code-Fortschreiben für das nächste Puffersegment BS&sub1; äbgeschlossen ist, wird ein Füllverarbeiten für das Segment BS&sub1; wie in dem Puffersegment BS&sub0; durchgeführt. In dem obigen Füllverarbeiten wird bezüglich einer Zeichen-(E in diesem Fall)Kreuzung zwischen den Puffersegmenten BS&sub0; und BS&sub1; ein in lediglich dem Puffersegment BS&sub0; gespeicherter Teil einer Füllverarbeitung unterworfen. Wenn das Puffersegment BS&sub1; einer Füllverarbeitung unterworfen ist, werden Daten "01" in das Register 75 gesetzt.
- Die 8-Punkt-Fülldaten (8 Bits), die von der Füllschaltung 49 ausgegeben sind, werden zu dem Bitkartierspeicher 20 über den PR 50 übertragen. Zu dieser Zeit wird das Bereit-Signal RDY, das eine gegenwärtige Datenübertragung (Daten können in den Bitkartierspeicher 20 geschrieben werden) darstellt, von dem Füllverarbeitungsabschnitt 18 zu der BITBLT- Schaltung 21 ausgegeben. Parameter (Aufstelldaten), die für ein kontinuierliches Schreiben von Füllmustern erforderlich sind, die in Einheiten von 8 Punkten durch den Füllverarbeitungsabschnitt 18 erzeugt sind, werden von dem Controller 10 zu der BITBLT-Schaltung 21 bei dem Beginn der Füllverarbeitung gespeist. Die Füllmuster stellen die Koordinate einer Schreibstartposition Ps in dem Bitkartierspeicher 20 dar, die dem Puffersegment (in dem WNPM 17) entspricht, aus dem die WN-Codes zum Füllen durch die Füllverarbeitungsschaltung 18 gelesen sind, wie dies in Fig. 12 gezeigt ist. Die Füllmuster stellen auch eine X-Richtung-Teilung (EL Byte = D/8) entsprechend einem X-Richtung-Wort-Zählerstand des Puffersegmentes (BS&sub0; in diesem Fall) und eine Y-Richtung-Teilung (EU-Punkte) dar.
- Die BITBLT-Schaltung 21 schreibt sequentiell 8-Punkt- Füllmuster, die von dem Füllverarbeitungsabschnitt 18 in den gleichen Prozeduren wie in der Operation ausgegeben sind, durch die der Füllverarbeitungsabschnitt veranlaßt wird, die WN-Codes aus dem Puffersegment auszulesen, in den WNPM 17, während die X-Adresse nacheinander um Eins in der Linienrichtung abhängig von dem Bereit-Signal RDY inkrementiert wird. Wenn die EL-Byte-Schreiboperation (d.h. Schreiboperationen EL-fach in der Linienrichtung) abgeschlossen ist, inkrementiert die BITBLT-Schaltung 21 die Y-Adresse um Eins. Zur gleichen Zeit kehrt die X-Adresse zu dem gleichen Wert wie derjenige zu der Startzeit der Schreiboperation zurück. Die BITBLT- Schaltung 21 wiederholt dann die Schreiboperation der Füllmuster in der Linienrichtung wieder in Einheiten von acht Punkten.
- Gleichzeitig mit der Schreiboperation der Füllmuster (Zeichenmuster der Zeichen A bis E in diesem Fall), die in dem Bitkartierspeicher 20 auf der Grundlage der in dem Puffersegment BS&sub0; gespeicherten WN-Codes geschrieben sind, wird das WN-Code-Fortschreibverfahren der anschließenden Zeichenfolge (F bis J) in dem Puffersegment BS&sub1; als in dem Puffersegment BS&sub0; durchgeführt. Dieser Zustand ist in Fig. 11D gezeigt. Das heißt, Fig. 11D zeigt einen Zustand des WNPM 17 zu der gleichen Zeit wie in Fig. 12. Bezüglich der Fig. 11D stellt ein Strichteil des Zeichens J einen Rand dar, in welchen die WN-Codes noch nicht geschrieben (fortgeschrieben) sind. Der gefüllte Teil ist ein in Fig. 12 gezeigter Schwarzteil.
- In dem WN-Code-Fortschreibverarbeiten für das Puffersegment BS&sub1; werden Daten "01" zu dem Eingang 72 gespeist. Wenn das WN-Code-Fortschreibverarbeiten für das Puffersegment BS&sub1; abgeschlossen ist, werden die zu dem Eingang 72 gespeisten Daten sequentiell in einer Reihenfolge von "10" und "11" für die Puffersegmente BS&sub2; und BS&sub3; fortgeschrieben. Danach wird die WN-Code- Fortschreibverarbeitung für das Puffersegment BS&sub0; durchgeführt, da die zu dem Eingang 72 gespeisten Daten wieder "00" werden. Gemäß diesem Ausführungsbeispiel wird das WN-Code-Fortschreibverarbeiten für eine Zeichenfolge für eine Linie durchgeführt. Das WN-Code- Fortschreibverarbeiten für die Zeichenfolge für eine Linie entsprechend diesem Ausführungsbeispiel wird durch sequentielles Schalten der vier Puffersegmente BS&sub0; bis BS&sub3; in dem WNPM 17 durchgeführt. Dies kann auch für das Füllverarbeiten gelten. Wenn ein Verarbeiten einer Linie abgeschlossen ist, wird die gleiche Verarbeitung, wie oben beschrieben, für die nächste Linie durchgeführt.
- Da in dem oben beschriebenen Füllverarbeitungsschema die zu der BITBLT-Schaltung 21 gespeisten und zum Schreiben der Füllmuster entsprechend einem Puffersegment erforderlichen Aufstelldaten durch eine Operation eingestellt werden können, kann eine Hochgeschwindigkeitsübertragung zu dem Bitkartierspeicher 20 mittels der BITBLT-Schaltung 21 durchgeführt werden. Im Gegenteil, in dem Schema, in welchem Füllmuster in der Füllrichtung (Y-Richtung) beschrieben werden, müssen jedesmal, wenn ein Füllmuster mit einer Ein-Byte-Breite entsprechend einer EU-Linien-Komponente durchgeführt wird, neue Aufstelldaten eingestellt werden, um das nächste EU- Linien-Füllmuster mit einer Ein-Byte-Breite zu schreiben. Wenn der Wert des EL groß ist (beispielsweise wenn die vorliegende Erfindung auf ein System angewandt wird, däs ein Drucken eines Zeichens mit einer Maximalgröße von 2" bei einer Maximalauflösung von 600 DPI vornehmen kann, ist 150 oder mehr erforderlich ), ist eine Hochgeschwindigkeitsübertragung sehr schwierig.
- Ein Betrieb zum Erzeugen eines Zeichenmusters mit 1/3 Größe des Zeichenmusters (Teil), das in Fig. 16 gezeigt ist, mittels des Füllverarbeitungsabschnittes 18 wird im folgenden beschrieben. Wenn in diesem Fall WN-Codes für die oberen Randlinien zuerst erzeugt werden, sind die Zustände der WN-Codes der jeweiligen Punkte in dem WNPM 17 in Fig. 17A gezeigt. Wenn die WN-Codes in dem WNPM 17 dann nach Erzeugung der WN-Codes für die unteren Randlinien fortgeschrieben werden, überlappen die oberen und unteren Randlinien einander auf dem gleichen Punkt infolge Größenreduktion. Daher sind die Endzustände der WN-Codes der jeweiligen Punkte in dem 1/3-reduzierten Muster des in Fig. 16 gezeigten Zeichenmusters in Fig. 17B dargestellt. Auf der Grundlage des in Fig. 17B gezeigten Zustandes wird das Füllen durchgeführt, um genau eine Linie mit einer Ein- Punkt-Breite zu erzeugen (d.h. eine Linie, auf welcher Codes "±" in Fig. 17B geschrieben sind).
- In diesem Ausführungsbeispiel sind Punkte, wie in Fig. 18 gezeigt, die Schwarzpunkte werden und aus oberen und unteren benachbarten Punkten wie in Punkten P&sub5; und P&sub6; gewählt sind, die nicht mit den WN-Codes geschrieben sind, nicht einem Fortschreiben der WN-Codes unterworfen, wie dies aus dem Betrieb des Projektionsabschnittes 14 ersichtlich ist. Ein nicht erforderlicher Zugriff des WNPM 17 wird nicht durchgeführt. Zusätzlich hat in einem Muster mit einem Ein-Punkt-Scharf-Ende dessen Punkt P&sub7; den WN-Code "±", wie dies in Fig. 19 gezeigt ist. Daher kann ein korrektes Füllen wie in den Fig. 17A und 17B durchgeführt werden.
- In dem obigen Ausführungsbeispiel wird der WNPM 17 als die vier geteilten Puffersegmente BS&sub0; bis BS&sub3; verwendet. Jedoch ist die Anzahl der Puffersegmente nicht auf vier begrenzt, vielmehr kann der WNPM 17 in eine Vielzahl von Puffersegmenten unterteilt werden. Die Anzahl der Unterteilungen kann entsprechend der Zeichengröße verändert werden. Wenn ein Zeichen mit einer sehr großen Größe zu verarbeiten ist, kann die Anzahl der Teilungen 2 sein. In diesem Fall sollte ein Zeichenmuster nicht über die zwei Puffersegmente kreuzen. In dem obigen Ausführungsbeispiel ist die Zugriffsteuerschaltung 22 zum Zugreifen auf den WNPM 17 unabhängig angeordnet. Jedoch können die Y- und X- Adreß-Erzeugungsschaltungen 23 und 24 in der Schaltung 22 in der WNG 14 angeordnet werden, und die Y- und X- Adreß-Erzeugungsschaltungen 25 und 26 können in dem Füll-Verarbeitungsabschnitt 18 vorgesehen sein.
- Es ist relativ einfach, die Breite des WNPM 17 zu erhöhen, um größer zu sein als die Anzahl der Punkte entsprechend der Breite der Seite. Mit dieser Anordnung können die rechten und linken Enden der Linie auf Wortgrenzen eingestellt werden. In diesem Fall braucht die BITBLT-Übertragung nicht durchgeführt zu werden, und es kann lediglich eine sogenannte DMA-Übertragung vorgenommen werden. Das heißt, da eine DMA-Übertragung lediglich eine eindimensionale Adressierung vornehmen kann, kann ein DMA-Controller durch den Controller oder eine Spezialzweck-Hardware bei jeder Übertragung (1/4 der Seitenbreite) der gefüllten EI Bytes rückgesetzt werden (Fig. 12). Die rechten und linken Enden der Linie können nicht auf Wortgrenzen eingestellt werden, und eine DMA-Übertragung wird anstelle einer BITBLT- Übertragung durch Software ohne starke Verschlechterung der Betriebseigenschaften vorgenommen.
Claims (7)
1. Gerät zum Erzeugen eines
Hochqualitäts-Zeichenmusters, das durch Randlinien definiert ist, mit:
einer Erzeugungseinrichtung (11) zum Erzeugen von
Segmentliniendaten, die Segmente definieren, welche
die Randlinien bilden,
einer Projektionseinrichtung (14),
einer ersten Speichereinrichtung (17),
einer Fülleinrichtung (18), und einer zweiten
Speichereinrichtung (19),
dadurch gekennzeichnet, daß
die Projektionseinrichtung (14) mit der
Erzeugungseinrichtung (11) verbunden ist, um die
Segmentliniendaten zu empfangen und eine Änderung
in einem Status einer Windungszahl oder jedes
Schnittes oder Gitterpunktes zu bestimmen, wobei
jeder Schnitt als ein Schnitt zwischen einer
Koordinatengitterlinie und jedem Segment und jeder
Gitterpunkt als ein Gitterpunkt nahe dem Schnitt
definiert ist, und um eine Codeerzeugungsoperation
zum Erzeugen eines Windungszahlcodes durchzuführen,
der eine Änderung im Zustand oder eine Änderung im
Wert der Windungszahl darstellt und einen Wert aus
einem ersten Wert, der keine Änderung im Zustand
der Windungszahl jedes Schnittes oder Gitterpunktes
darstellt, und einem zweiten Wert, der ein
Inkrement der Windungszahl jedes Schnittes oder
Gitterpunktes darstellt, einem dritten Wert, der
ein Dekrement der Windungszahl jedes Schnittes oder
Gitterpunktes darstellt, und einem vierten Wert,
der ein gleichzeitiges Auftreten eines Inkrementes
und eines Dekrementes darstellt, hat,
die erste Speichereinrichtung (17) mit der
Projektionseinrichtung (14) verbunden ist und eine
Speicherregion zum Speichern zweiter
Windungszahlcodes hat, die einer Vielzahl von
Zeichen entsprechen und die Windungszahländerung im
Wert oder eine Änderung im Zustand der Windungszahl
der jeweiligen Punkte des Zeichenmusters
darstellen, wpbei die Speicherregion eine Vielzahl
von Bereichen einschließlich Start- und
Endbereichen aufweist und der Bereich entsprechend
einer vorbestimmten logischen Sequenz adressiert
ist,
die Zugriffsteuereinrichtung (22) mit der
Projektionseinrichtung (14) und der ersten
Speichereinrichtung (17) verbunden ist und erste,
zweite und dritte Bezeichnungseinrichtungen (22)
aufweist, wobei die erste Bezeichnungseinrichtung
zum Bezeichnen eines Bereiches der Bereiche in der
ersten Speichereinrichtung (17) vorgesehen ist, in
welcher ein Ursprung eines Zeichensegmentes des
Zeichenmusters ist, das durch die
Segmentliniendaten definiert ist, die durch die
Projektionseinrichtung (14) empfangen sind, die
zweite Bezeichnungseinrichtung (22) zum Bezeichnen
einer Position in dem durch die erste
Bezeichnungseinrichtung (22) bezeichneten Bereich
vorgesehen ist, und die dritte
Bezeichnungseinrichtung (22) zum Bezeichnen eines
Bereiches der ersten Speichereinrichtung (17)
entsprechend dem Gitterpunkt nahe der durch die
erste und zweite Bezeichnungseinrichtung (22)
bezeichneten Position vorgesehen ist, der Bereich
der ersten Speichereinrichtung (17) entsprechend
dem Gitterpunkt, der dem ersten Windungszahlcode
entspricht, der durch die Codeerzeugungseinrichtung
(14) erzeugt ist, einer Position in dem Bereich,
die dem Zeichensegmentursprung entspricht, und
einer Position des Gitterpunktes in dem
Zeichensegment vorgesehen ist und die dritte
Bezeichnungseinrichtung (23) wirksam wird, wenn der
Bereich der ersten Speichereinrichtung (17)
entsprechend dem Gitterpunkt von dem Bereich
verschieden ist, dem der Zeichensegmentursprung
entspricht,
eine Fortschreibeinrichtung (14) zum Fortschreiben
des zweiten Windungszahlcodes an einer Position in
dem Bereich, der durch die dritte
Bezeichnungseinrichtung (22) bezeichnet ist, auf
der Grundlage des ersten Windungszahlcodes,
die Fülleinrichtung (18) mit der ersten
Speichereinrichtung (17) verbunden ist und auf eine
Änderung des durch die erste
Bezeichnungseinrichtung (22) bezeichneten Bereiches
anspricht, um sequentiell nach Abschluß eines
Fortschreibens durch die Fortschreibeinrichtung
(14) die zweiten Windungszahlcodes der Gitterpunkte
auszulesen, die in dem Bereich der ersten
Speichereinrichtung (17) in Gruppen von N
kontinuierlichen Punkten gespeichert sind, wobei N
eine positive ganze Zahl von 2 oder größer ist, um
entsprechende N-Gitterpunkt-Windungszahlen auf der
Grundlage der zweiten N-Punkt-Windungszahl-Codes zu
erzeugen und um ein Füllen durchzuführen, und
die zweite Speichereinrichtung (19) mit der
Fülleinrichtung (18) und der Zugriffsteuereinrichtung
zum Speichern der N-Gitterpunkt-Windungszahlen, die
durch die Fülleinrichtung (18) erzeugt sind,
verbunden ist, wobei die N-Gitterpunkt-
Windungszahlen auf ein anschließendes
Füllverarbeiten bezogen sind, das durch die
Fülleinrichtung (18) durchgeführt ist.
2. Gerät nach Anspruch 1, dadurch gekennzeichnet,, daß
die dritte Bezeichnungseinrichtung (22) einen
ersten Addierer zum Addieren einer vorliegenden
Linienrichtung-Relativkoordinate an einer Position
in dem geteilten Bereich entsprechend dem
Zeichensegmentursprung zu einer Linienrichtung-
Relativkoordinate an der Position des Gitterpunktes
in dem geteilten Bereich und zum Berechnen einer
Linienrichtung-Relativkoordinate an der Position
des Gitterpunktes in dem geteilten Bereich aufweist
und einer der geteilten Bereiche, die durch die
erste Bezeichnungseinrichtung (22) bezeichnet sind,
und ein geteilter Bereich nächst dem geteilten
Bereich entsprechend einem Übertragausgang von dem
ersten Addierer bezeichnet ist.
3. Gerät nach Anspruch 2, dadurch gekennzeichnet, daß
der erste Addierer vorgesehen ist, um die Position
des nächsten Zeichensegmentursprungs in dem
geteilten Bereich, der dem nächsten Zeichenmuster
entspricht, durch Addieren eines Inkrementes des
Zeichensegmentursprunges zu dem vorliegenden
Zeichensegmentursprung, wenn das Zeichenmuster
geschaltet wird, zu berechnen.
4. Gerät nach Anspruch 3, dadurch gekennzeichnet, daß
die erste Bezeichnungseinrichtung (22) den
bezeichneten unterteilten Bereich zu dem nächsten
unterteilten Bereich schaltet, wenn das
Zeichenmuster geschaltet wird und der
Übertragausgang durch den ersten Addierer erzeugt
ist.
5. Gerät nach Anspruch 4, dadurch gekennzeichnet, daß
die erste Bezeichnungseinrichtung (22) eine Einheit
aufweist, um zu bewerkstelligen, daß ein geteilter
Bereich nächst dem endgültig geteilten Bereich der
geteilte Start-Bereich wird.
6. Gerät nach Anspruch 5, dadurch gekennzeichnet, daß
eine Linienrichtungsgröße des geteilten Bereiches
als zwei Wörter definiert ist, wobei ein Wort aus N
Bits besteht und eine Grenze hiervon mit einer
Wortgrenze übereinstimmt.
7. Gerät nach Anspruch 6, dadurch gekennzeichnet, daß
die dritte Bezeichnungseinrichtung (22) einen
zweiten Addierer zum Addieren von Daten, die den
geteilten Bereich darstellen, der durch die erste
Bezeichnungseinrichtung (22) bezeichnet ist, zu dem
Übertragausgang von dem ersten Addierer zu der Zeit
einer Berechnung der
Linienrichtung-Relativkoordinate an der Position des Gitterpunktes in dem
geteilten Bereich und zum Ausgeben von Daten zum
Bezeichnen des geteilten Bereiches entsprechend dem
Gitterpunkt aufweist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1092493A JPH02270019A (ja) | 1989-04-12 | 1989-04-12 | 高品質文字パターン発生方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69020218D1 DE69020218D1 (de) | 1995-07-27 |
DE69020218T2 true DE69020218T2 (de) | 1995-11-02 |
Family
ID=14055825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69020218T Expired - Fee Related DE69020218T2 (de) | 1989-04-12 | 1990-04-11 | Einrichtung zur Erzeugung eines Zeichenmusters hoher Qualität. |
Country Status (5)
Country | Link |
---|---|
US (1) | US5475809A (de) |
EP (1) | EP0392499B1 (de) |
JP (1) | JPH02270019A (de) |
KR (1) | KR930011770B1 (de) |
DE (1) | DE69020218T2 (de) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2918632B2 (ja) * | 1990-06-11 | 1999-07-12 | キヤノン株式会社 | 文字処理方法及び装置 |
JPH064655A (ja) * | 1992-06-22 | 1994-01-14 | Nippon Telegr & Teleph Corp <Ntt> | 高速画像縮小変換装置 |
JP3483946B2 (ja) * | 1994-08-19 | 2004-01-06 | 三菱電機株式会社 | フォント処理装置及びフォント処理方法 |
US7715642B1 (en) * | 1995-06-06 | 2010-05-11 | Hewlett-Packard Development Company, L.P. | Bitmap image compressing |
US6409988B1 (en) | 1999-07-01 | 2002-06-25 | 3-Dimensional Pharmaceuticals, Inc. | Radiolabeled 1-aryl pyrazoles, the synthesis thereof and the use thereof as pest GABA receptor ligands |
US6506784B1 (en) | 1999-07-01 | 2003-01-14 | 3-Dimensional Pharmaceuticals, Inc. | Use of 1,3-substituted pyrazol-5-yl sulfonates as pesticides |
CA2579790A1 (en) * | 2004-07-30 | 2006-02-09 | Mount Sinai School Of Medicine Of New York University | Npc1l1 and npc1l1 inhibitors and methods of use thereof |
CN102877194B (zh) * | 2012-09-29 | 2014-03-05 | 浙江三禾纺织机械有限公司 | 一种储纬器花型预知的控制系统及其控制方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4298945A (en) * | 1978-05-12 | 1981-11-03 | Eltra Corporation | Character generating method and apparatus |
US4853971A (en) * | 1985-03-18 | 1989-08-01 | Dainippon Screen Mfg. Co., Ltd. | Method and apparatus for processing image data |
US4815009A (en) * | 1987-04-21 | 1989-03-21 | Xerox Corporation | Algorithm for filling an image outline |
US5053759A (en) * | 1988-01-30 | 1991-10-01 | Kabushiki Kaisha Toshiba | Method of and apparatus for generating high-quality pattern |
-
1989
- 1989-04-12 JP JP1092493A patent/JPH02270019A/ja active Pending
-
1990
- 1990-04-11 KR KR1019900004945A patent/KR930011770B1/ko not_active IP Right Cessation
- 1990-04-11 DE DE69020218T patent/DE69020218T2/de not_active Expired - Fee Related
- 1990-04-11 EP EP90106939A patent/EP0392499B1/de not_active Expired - Lifetime
-
1993
- 1993-11-04 US US08/145,670 patent/US5475809A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0392499A2 (de) | 1990-10-17 |
EP0392499A3 (de) | 1992-08-12 |
KR930011770B1 (ko) | 1993-12-20 |
KR900016908A (ko) | 1990-11-14 |
DE69020218D1 (de) | 1995-07-27 |
JPH02270019A (ja) | 1990-11-05 |
US5475809A (en) | 1995-12-12 |
EP0392499B1 (de) | 1995-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69221414T2 (de) | Intelligenter Schriftartdarstellungskoprozessor | |
DE68915006T2 (de) | System zum Generieren von Musterdaten. | |
DE3587690T2 (de) | Verfahren um Schrifttypen mit Skalaänderungen herzustellen. | |
DE3688546T2 (de) | Digitale bildumdrehung. | |
DE69130382T2 (de) | Zeichenverarbeitungsverfahren | |
DE69232493T2 (de) | Verfahren und Gerät zur Zeichenerkennung | |
DE68919024T2 (de) | Verfahren und Prozessor zur Abtastumsetzung. | |
DE3342947C2 (de) | System zur Verarbeitung eines grafischen Musters | |
DE4014231A1 (de) | Verfahren zum bearbeiten der steuerpunkte eines symbolbildes | |
DE69423129T2 (de) | System und Verfahren zur Kurvendarstellung | |
DE3518416A1 (de) | Speicher- und prozessorsystem mit schnellem zugriff zur rasteranzeige | |
DE3889648T2 (de) | Zeichenverarbeitungseinheit mit der Funktion zum Korrigieren von Matrix-Zeichenmustern. | |
DE69021668T2 (de) | Adressenwandlung zur erweiterten Punktauflösung. | |
DE69020930T2 (de) | Gerät und Verfahren zum Generieren von Musterdaten für ein Anzeige und/oder einen Drucker. | |
DE69330900T2 (de) | Verfahren zum Ausfüllen der Bildpunkte innerhalb eines Polygons | |
DE69020218T2 (de) | Einrichtung zur Erzeugung eines Zeichenmusters hoher Qualität. | |
DE69027637T2 (de) | Abschneidungsprozessor | |
DE3716752C2 (de) | ||
DE69222255T2 (de) | Verarbeitungsverfahren für Zeichen oder graphische Daten | |
DE3632603A1 (de) | Verfahren und vorrichtung zur druckersteuerung | |
DE3787206T2 (de) | Gerät und Verfahren zur Ermittlung von Zeichenteilen auf einem gedruckten Dokument. | |
DE68919416T2 (de) | Methode und Gerät zur Mustererzeugung hoher Qualität. | |
DE69131921T2 (de) | Dokumentverarbeitungsverfahren und -gerät | |
DE4105089A1 (de) | Stickereidatenverarbeitungseinrichtung | |
DE3705124A1 (de) | Anzeigeprozessor und videoverarbeitungsuntersystem fuer computergraphik |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |