DE3935558A1 - Vorrichtung zum konvertieren von bildumrissdarstellungsdaten in punktmusterdaten zum erzeugen von punkten - Google Patents

Vorrichtung zum konvertieren von bildumrissdarstellungsdaten in punktmusterdaten zum erzeugen von punkten

Info

Publication number
DE3935558A1
DE3935558A1 DE3935558A DE3935558A DE3935558A1 DE 3935558 A1 DE3935558 A1 DE 3935558A1 DE 3935558 A DE3935558 A DE 3935558A DE 3935558 A DE3935558 A DE 3935558A DE 3935558 A1 DE3935558 A1 DE 3935558A1
Authority
DE
Germany
Prior art keywords
coordinate
data
outline
point data
picture elements
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.)
Granted
Application number
DE3935558A
Other languages
English (en)
Other versions
DE3935558C2 (de
Inventor
Naoyuki Kawamoto
Hitoshi Yoshida
Takahiro Kanegae
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP63269074A external-priority patent/JPH0747339B2/ja
Priority claimed from JP1078782A external-priority patent/JPH0743584B2/ja
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Publication of DE3935558A1 publication Critical patent/DE3935558A1/de
Application granted granted Critical
Publication of DE3935558C2 publication Critical patent/DE3935558C2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/20Contour coding, e.g. using detection of edges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/18Extraction of features or characteristics of the image
    • G06V30/182Extraction of features or characteristics of the image by coding the contour of the pattern
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Description

Die Erfindung bezieht sich allgemein auf eine Vorrichtung zum Konvertieren von Umrißdarstellungsdaten des Umrisses eines Bildes, wie z.B. eines Buchstabens, Symboles oder graphischen Darstellung, in eine Punktmusterdarstellung der Punkte, die gebildet werden sollen, um das Bild zu reproduzieren. Insbesondere bezieht sich die Erfindung auf Verbesserungen in einer solchen Datenkonvertierungsvorrichtung.
Bilder wie z.B. Zeichen, die Buchstaben und Symbole umfassen, werden gedruckt, angezeigt oder auf eine andere Art und Weise in Übereinstimmung mit den durch einen Computer geeignet verarbeiteten Bilddaten dargestellt. Im allgemeinen besitzen die Bilddaten die Form von Punktdaten (im weiteren auch Bitmusterdaten genannt), die angeben, ob ein Punkt in jedem Bildelement, das die kleinste Einheit eines Bildes darstellt, und die die Auflösung des reproduzierten Bildes bestimmen, gebildet werden soll. Falls eine Reihe von Punkt­ datendarstellungen aller verfügbarer Reproduktionsbilder vorbereitet und in einem Bilddatenspeicher, wie z.B. einem Zeichendatenspeicher, gespeichert werden sollen, muß der Speicher eine extrem große Speicherkapazität aufweisen. Es ist daher wünschenswert, eine Reihe von Umrißdarstellungsdaten des Umrisses der Bilder, wie z.B. der Zeichen, zu speichern, und die Umrißdaten in die entsprechenden Punktmusterdaten durch eine geeignete Datenkonvertierungsvorrichtung zu konvertieren, wenn die Bilder gedruckt, angezeigt oder in anderer Art und Weise reproduziert werden, wie dies in der japanischen Patentschrift 53-41 017 beschrieben ist.
Bei der in der oben genannten Druckschrift beschriebenen Datenkon­ vertierungsvorrichtung werden die Umrißdaten in einem Koordinaten­ system, bei dem Bildelemente durch eine Mehrzahl von parallelen Abtastlinien, die parallel zur x- oder y-Achse sind, definiert. Zum Beispiel ist jeder Zeichenanschlag durch diejenigen Bildele­ mente (im weiteren auch als Umrißbildelemente bezeichnet) definiert, innerhalb deren Kreuzungen zwischen den Zeichenumrissen und jeder Abtastlinie liegen. Die Bits der diesen Umrißbildelementen entsprechenden Punktdaten werden alle so gesetzt, daß diese die zu bildenden Punkte im entsprechenden Umrißbildelement angeben. Diese Bits werden im weiteren als "punktbildende Bits" bezeichnet. Dann werden alle Bits der Punktdaten, die denjenigen Bildelementen, die von der Umrißlinie der durch die Umrißbildelemente definierten umgebenen Bildelemente entsprechen (im weiteren als "interne Bildelemente" bezeichnet) alle als punktbildende Bits gesetzt.
Diese bekannte Konvertierungsvorrichtung ist daher so angepaßt, daß diese zwei Schritte zur Vorbereitung einer notwendigen Reihe von Punktdaten ausführen kann, d.h. einen ersten Schritt zum Erhalten der punktbildenden Bits für die Umrißbildelemente und einen zweiten Schritt für die punktbildenden Bits für die internen Bildelemente. Darüberhinaus erfordert es die bekannte Vorrichtung, daß der zweite Schritt so geführt wird, daß die logischen Werte der Bits einer nach dem anderen für die einzelnen internen Bild­ elemente gesetzt wird. Mit anderen Worten erfordert es die Vorrichtung, daß für jede der großen Anzahl von Bits von Punktdaten, die einer großen Zahl von entlang einer jeden Abtastlinie angeordneten Umriß- und internen Bildelementen entsprechen, bestimmt wird, ob jedes Bit ein punktbildendes Bit ist oder nicht. Die Bits werden so gesetzt, daß diese angeben, daß keine zu bildenden Punkte vorliegen (d.h., daß diese geben diejenigen Teile des Zeichens an, der nicht reproduziert werden soll), bis ein erstes punktbildende Bit für ein Umrißbildelement entlang einer entsprechenden Abtastlinie erfaßt wird. Die Bits zwischen dem ersten erfaßten punktbildenden Bit und einem zweiten punkt­ bildenden Bit für ein anderes Umrißbildelement werden alle derart gesetzt, daß diese die zu bildenden Punkte angeben, nämlich gleich den punktbildenden Bits für die internen Bildelemente. Die Bits, die auf das erfaßte zweite punktbildende Bit für das zweite Umrißbildelement folgen, werden in der Art gesetzt, daß diese angeben, daß keine Punkte gebildet werden sollen, bis ein drittes punktbildendes Bit für ein drittes Umrißelement entlang der entsprechenden Abtastlinie erfaßt wird. Die Bits, die auf das dritte punktbildende Bit folgen, werden ebenfalls als punktbildende Bits für eine andere Gruppe von internen Bildelementen gesetzt. Daher ist die bekannte Datenkonvertierungsvorrichtung nicht effizient genug, da sie einen vergleichsweise langen Zeitraum für die Verarbeitung der Daten zum Prüfen von jedem Bit jeder Abtastlinie benötigt, um festzulegen, ob das Bit ein punktbildendes Bit ist oder nicht.
Es ist daher Aufgabe der Erfindung, eine Datenkonvertierungsvor­ richtung zu schaffen, die Umrißdaten eines Bildes effizient in Punktdaten konvertiert. Ferner soll eine Datenkonvertierungsvor­ richtung geschaffen werden, die fähig ist, Umrißdaten eines Bildes mit einem schmalen Bereich, in Punktdaten, die mit dem Umriß des Bildes so exakt wie möglich überinstimmen, zu konvertieren.
Die Aufgabe der Erfindung wird gelöst durch das Prinzip eines Aspektes der Erfindung, das eine Datenkonvertierungsvorrichtung zum Konvertieren einer Reihe von Umrißdatendarstellungen eines Umrisses eines Bildes, wie z.B. eines Buchstabens, eines Symboles oder einer graphischen Darstellung, in eine Reihe von Punktdaten, die angeben, ob ein Punkt in jedem der Bildelemente, die sich in einem Koordinatensystem in dem diese Umrißdaten definiert sind, befinden, gebildet werden soll, wobei (a) eine Koordinatenberech­ nungsvorrichtung zum Berechnen von Koordinatenwerten der Kreuzungen zwischen dem Umriß des Bildes in dem Koordinatensystem und einer Mehrzahl von parallelen Abtastlinien, die dem Umriß im Koordinaten­ system überlagert sind, gebildet ist, (b) eine Koordinatenspeicher­ vorrichtung gebildet ist zum Speichern der von der Koordinaten­ berechnungsvorrichtung berechneten Koordinatenwerte, wobei die Koordinatenwerte für jede der Abtastlinien nach der Größe der Werte geordnet sind und zwei benachbarte der geordneten Werte als Paar von Koordinatenwerten gepaart sind, und (c) eine Punktdatenauf­ bereitungsvorrichtung gebildet ist zum Aufbereiten einer Reihe von Punktdaten, so daß aufeinanderfolgende Bits der Punktdaten, die einer Mehrzahl von aufeinanderfolgenden Bildelementen entsprechen, die aus zwei Bildelementen bestehen, die von dem oben angegebenen Paar von Koordinatenwerten repräsentiert werden, und mindestens einem Bildelemement zwischen den oben angegebenen zwei Bild­ elementen bestehen, zu einem Zeitpunkt so gesetzt werden, daß jedes der aufeinanderfolgenden Bits einen zu bildenden Punkt beim entsprechenden Bildelement bedeutet.
Der Ausdruck "Koordinatenwerte der Kreuzungen zwischen dem Umriß eines Bildes und den Abtastlinien" ist so zu interpretieren, daß diese die Koordinatenwerte der Bildelemente bedeuten, wenn die Kreuzungen sich bei den entsprechenden Bildelementen befinden, d.h., bei den Zentren der geeigneten Bildelemente, oder die Koordinatenwerte derjenigen Bildelemente, die sich den entspre­ chenden Kreuzungen am nächsten befinden, wenn sich die Kreuzungen nicht bei den Bildelementen befinden.
Die wie oben beschrieben konstruierte Datenkonvertierungsvorrichtung der Erfindung ist derart geschaffen, daß die Umrißdaten in entsprechende Bitdaten konvertiert werden, unmittelbar basierend auf den Koordinatenwerten eines jeden Paares von benachbarten geordneten Werten der zwei Kreuzungen zwischen dem Bildumriß und jeder Abtastlinie, so daß die aufeinanderfolgenden Bits der Punktdaten, die allen aufeinanderfolgenden Bildelementen, die von den zwei Bildelementen, die von den oben angegebenen benachbarten und geordneten zwei Koordinatenwerten für jede Abtastlinie repräsentiert werden, werden zu einem Zeitpunkt so gesetzt, daß die aufeinanderfolgenden Bits die Bildung von Punkten bei den entsprechenden Bildelementen bewirken. Diese Ausgestaltung befindet sich im Gegensatz zu der herkömmlichen Ausgestaltung, bei der eine Reihe von Punktdaten für die Umrißbildelemente, die den Umriß des Bildes definieren, aufbereitet wird, und dann eine andere Reihe von Bildelementen für die internen Bildelemente innerhalb des Bildumrisses bereitet wird, basierend auf den vorher gebildeten Punktdaten für die Umrißbildelemente. Die Koordinaten, die von der Koordinatenberechnungsvorrichtung berechnet werden, werden in einem geeigneten Speicher gespeichert, so daß die Koordinatenwerte der Kreuzungen vom kleinsten zum größten Wert, oder auch umgekehrt, angeordnet werden, und wobei die geordneten Werte so gepaart werden, daß die zwei Werte eines jeden Paares bezüglich ihrer Größe einander am nächsten liegen. Jedes Paar von Koordinatenwerten für jede Abtastlinie legt aufeinanderfolgende Bildelemente fest, die einen Teil des Bildes, wie z.B. den Anschlag eines Zeichens (d.h., definieren die Breite des Anschlages), definieren. Daher können die Bits, die diesen aufeinanderfolgenden Bildelementen entsprechen, als punktbildende Bits zu einem Zeitpunkt gesetzt werden.
Damit erlaubt die vorliegende Anordnung die Festlegung der logischen Werte aller Bits, die jeder Abtastlinie entsprechen, zu einem Zeitpunkt, basierend auf den gespeicherten Koordinaten­ werten jeder Kreuzung, ohne daß jedes Bit für jede Abtastlinie geprüft werden muß, um zu ermitteln, ob das Bit "1" oder "0" sein soll, wie dies bei einer herkömmlichen Vorrichtung der Fall ist.
Entsprechend ist die vorliegende Vorrichtung fähig, die Umrißdaten eines Bildes effizient in entsprechende Punktdaten zu konvertieren, ohne daß eine komplizierte Prozedur notwendig ist.
Die Koordinatenberechnungsvorrichtung kann angepaßt sein, um als Koordinatenwert jeder Kreuzung einen Koordinatenwert des Zentrums eines Bildelementes, der der entsprechenden Kreuzung am nächsten liegt, zu berechnen, wobei das Zentrum entweder innerhalb oder außerhalb des Bildumrisses liegen kann.
Das von den Umrißdaten dargestellte Bild kann einen schmalen Bereich besitzen. Zum Beispiel kann ein Zeichen als Bild einen schmalen Anschlag oder der Anschlag eines Zeichens kann einen schmalen Endbereich besitzen, wobei möglicherweise nur eine Kreuzung zwischen dem Bildumriß und einer Abtastlinie erhalten wird. In diesem Fall bildet die herkömmliche Vorrichtung die Punktdaten derart, daß punktbildende Bits für die Bildelemente zwischen der erhaltenen einen Kreuzung und einer anderen Kreuzung zwischen dem Umriß eines anderen Bereiches des Bildes (d.h. einem anderen Anschlag eines Zeichens) und der entsprechenden Abtastlinie gesetzt werden. Die so gebildeten Punktdaten führen zu einer Reproduktion des Bildes, deren Umriß vom normalen Umriß, der von den ursprünglichen Umrißdaten dargestellt wird, verschieden ist. Um dies zu verhindern, sollte der Umriß eines jeden Elementes sorgfältig entworfen werden.
In Übereinstimmung mit einer bevorzugten Ausführung der Erfindung, bei der nur eine Kreuzung von der Koordinatenberechnungsvorrichtung erhalten wird, kann die Koordinatenspeichervorrichtung so angepaßt sein, daß der Koordinatenwert der oben angegebenen einen Kreuzung an verschiedenen Stellen eines geeigneten Speichers als Paar von Koordinatenwerten, die die Breite des Bildes oder die Breite des entsprechenden Bereiches des Bildes definieren, gespeichert wird. Entsprechend werden punktbildende Bits für diejenigen Bildelemente, die das Innere des Bildumrisses darstellen, gesetzt, wobei das herkömmlich mögliche fehlerhafte Setzen der Punktdaten verhindert werden kann. Damit kann die Aufgabe der Erfindung in Übereinstimmung mit der oben angegebenen Ausführung erreicht werden, die eine exakte Reproduktion des von den Umrißdaten dargestellten Bildes gewähr­ leistet.
Bei ein paar Situationen gibt es keine Kreuzung zwischen dem Bildumriß und einer Abtastlinie. Falls z.B. die Breite von zwei Segmenten des Umrisses so klein ist, daß sich das Bild oder ein Teil des Bildes (ein Anschlag eines Zeichens) zwischen zwei benachbarten Abtastlinien befindet, kann die Koordinatenberechnungs­ vorrichtung keine Koordinatenwerte einer Kreuzung finden. Dies bedeutet die Abwesenheit eines Teiles des Bildes, trotz der Tatsache, daß die entsprechende Abtastlinie das Bild schneidet. In diesem Fall werden punktbildende Bits gesetzt, um Punkte zu bilden, die gebildet werden sollten, um den entsprechenden Teil des Bildes zu definieren, wobei das reproduzierte Bild diskontinuierlich ist aufgrund der Abwesenheit der Punkte an den entsprechenden Teilen des Bildes. Damit ist das reproduzierte Bild verschieden von dem ursprünglichen Bild, das von den Umrißdaten dargestellt wird.
Diese Unannehmlichkeit kann in Übereinstimmung mit dem zweiten Aspekt der Erfindung überwunden werden, der eine Datenkonver­ tierungsvorrichtung zum Konvertieren einer Reihe von Umrißdaten­ darstellungen eines Umrisses eines Bildes, wie z.B. eines Buch­ stabens, Symboles oder einer graphischen Darstellung, in eine Reihe von Punktdaten, die angeben, ob ein Punkt bei jedem der Bildelemente, die sich in einem Koordinatensystem befinden, in dem die Umrißdaten definiert sind, gebildet wird, umfaßt, wobei die Vorrichtung (a) eine erste Koordinatenberechnungsvorrichtung zum Berechnen von Koordinatenwerten der Kreuzungen zwischen dem Umriß des Bildes im Koordinatensystem und einer Mehrzahl von ersten parallelen Abtastlinien, die dem Umriß im Koordinatensystem überlagert sind, aufweist, (b) eine erste Koordinatenspeicher­ vorrichtung aufweist zum Speichern der Koordinatenwerte, die von der ersten Koordinatenberechnungsvorrichtung berechnet werden, so daß die Koordinatenwerte für jede der ersten Abtastlinie der Größe ihrer Werte nach geordnet und zwei benachbarte der geordneten Werte als Paar von Koordinatenwerten gepaart sind, (c) eine erste Punktdatenvorbereitungsvorrichtung aufweist zum Aufbereiten einer ersten Reihe von Punktdaten, so daß aufeinanderfolgende Bits der Punktdaten, die einer Mehrzahl von aufeinanderfolgenden Bild­ elementen entsprechen, die aus zwei Bildelementen, die von dem oben angegebenen Paar von Koordinatenwerten dargestellt werden, und mindestens einem Bildelement zwischen den zwei Bildelementen bestehen, zu einem Zeitpunkt gesetzt werden, so daß jedes der aufeinanderfolgenden Bits einen zu bildenden Punkt im entsprechenden Bildelement bedeutet, (d) eine zweite Koordinatenberechnungs­ vorrichtung aufweist zum Berechnen von Koordinatenwerten von Kreuzungen zwischen dem Bildumriß im Koordinatensystem und einer Mehrzahl von parallelen zweiten Abtastlinien, die dem Umriß im Koordinatensystem überlagert sind und die ersten Abtastlinien schneiden, (e) eine zweite Koordinatenspeichervorrichtung aufweist zum Speichern der Koordinatenwerte, die von der zweiten Koordinatenberechnungsvorrichtung berechnet werden, so daß die Koordinatenwerte für jede der zweiten Abtastlinien der Größe ihres Werte nach geordnet und zwei benachbarte der geordneten Werte für jede der zweiten Abtastlinien als Paar von Koordinatenwerten gepaart sind, (f) eine zweite Datenaufbereitungsvorrichtung aufweist zum Aufbereiten einer zweiten Reihe von Punktdaten, so daß aufeinanderfolgende Bits der Punktdaten, die einer Mehrzahl von Bildelementen entsprechen, die aus zwei Bildelementen, die von dem oben genannten Paar von Koordinatenwerten für jede der zweiten Abtastlinien dargestellt werden, und mindestens einem Bildelement zwischen den zwei Bildelementen, die durch das oben genannte Paar von Koordinatenwerten für jede der zweiten Abtastlinien dargestellt werden, zu einem Zeitpunkt gesetzt werden, so daß jedes der aufeinanderfolgenden Bits der zweiten Reihe von Punktdaten einen beim entsprechenden Bildelement zu bildenden Punkt angibt, und (g) eine kombinierte Datenaufbereitungsvorrichtung aufweist zum Aufbereiten einer Reihe von kombinierten Punktdaten durch Kombinieren der ersten Reihe von Punktdaten, die von der ersten Punktdatenaufbereitungsvorrichtung aufbereitet sind, und der zweiten Reihe von Punktdaten, die von der zweiten Punktdatenauf­ bereitungsvorrichtung aufbereitet sind.
In Übereinstimmung mit der oben beschriebenen Datenkonvertierungs­ vorrichtung werden die Koordinatenwerte der Kreuzungen zwischen dem Bildumriß und den ersten Abtastlinien und jene der Kreuzungen zwischen dem Bildumriß und den zweiten Abtastlinien, die die ersten Abtastlinien schneiden, von der ersten bzw. zweiten Koordinatenberechnungsvorrichtung berechnet. Selbst wenn sich der Bildumriß oder ein Teil des Bildumrisses zum Beispiel zwischen zwei benachbarten ersten Abtastlinien befindet, schneidet bei dieser Anordnung mindestens eine der benachbarten zwei zweiten Abtastlinien den Bildumriß oder einen Teil des Umrisses, wodurch Kreuzungen für die zweiten Abtastlinien erhalten werden. Damit wird bei der Bereitung von kombinierten Punktdaten durch Kombinieren der ersten Reihe von Punktdaten, die aus den Koordinatenwerten, die mit den ersten Abtastlinien in Verbindung stehen, gebildet werden, und der zweiten Reihe von Punktdaten, die aus den Koordinatenwerten, die mit den zweiten Abtastlinien in Verbindung stehen, das durch die kombinierten Punktdaten dargestellte Bild kontinuierlich reproduziert, da diejenigen Bildelemente, die in Übereinstimmung mit den fehlerhaft gesetzten Bits der ersten Reihe von Punktdaten, leer bleiben, von den Punkten, die in Übereinstimmung mit den Bits der zweiten Reihe von Punktdaten gebildet sind, aufgefüllt werden. Folglich gewährleisten die kombinierten Punktdaten eine Reproduktion des Bildes ohne Diskontinuitäten aufgrund von fehlenden Kreuzungen zwischen dem Bildumriß und einer der ersten und zweiten Abtastlinien.
Weitere Merkmale und Zweckmäßigkeiten der Erfindung ergeben sich aus der Beschreibung von Ausführungsbeispielen anhand der Figuren. Von den Figuren zeigen:
Fig. 1 ein schematisches Blockdiagramm, das einen Steuer­ schaltkreis eines Laserdruckers zeigt, der eine Ausführung einer Datenkonvertierungsvorrichtung nach der Erfindung umfaßt;
Fig. 2 ein schematisches Bild der zentralen Recheneinheit des Steuerschaltkreises der Fig. 1;
Fig. 3 ein Flußdiagramm, das eine Routine zur Datenkonver­ tierung als eines der in einem Programm-ROM gespeicherten Steuerprogramme zeigt;
Fig. 4 den Umriß des Buchstabens "H", dessen Umrißdaten in Punktdaten durch die Datenkonvertierungsvorrichtung entsprechend der Konvertierungsroutinen der Fig. 3 konvertiert werden sollen;
Fig. 5 einen Teil eines Schirmes mit einem Koordinatensystem, dem der Umriß des Buchstabens "H" überlagert ist;
Fig. 6-11 verschiedene Arten und Weisen, die Kreuzungen zwischen den x-Achsenpixellinien und Segmenten des Zeichenum­ risses zu erfassen und in Punktdaten durch die Datenkonvertierungsvorrichtung zu konvertieren;
Fig. 12 die Positionen der Kreuzungspunkte für den Buchstaben "H" auf dem Schirm;
Fig. 13 die x-Koordinaten der Kreuzungspunkte der Fig. 12, die den x-Achsenpixellinien entsprechen;
Fig. 14 die Art und Weise, wie Punktdaten entsprechend den x-Koordinaten der Kreuzungen, wie in Fig. 13 gezeigt, erhalten werden;
Fig. 15 ein der Fig. 1 entsprechendes schematisches Diagramm, das den Steuerschaltkreis eines Laserdruckers zeigt, der eine Ausführung der Datenkonvertierungseinrichtung nach der Erfindung umfaßt;
Fig. 16 ein Flußdiagramm, das eine Datenkonvertierungsroutine, die in der Ausführung der Fig. 15 ausgeführt wird;
Fig. 17 den Umriß eines bogenförmigen Anschlages eines Zeichens, dessen Umrißdaten in Punktdaten entsprechend der Datenkonvertierungsroutine der Fig. 16 konvertiert werden sollen;
Fig. 18 den dem Pixelschirm überlagerten bogenförmigen Anschlag der Fig. 17;
Fig. 19 die x-Koordinaten analog zu Fig. 13 der Kreuzungspunkte der x-Achsenpixellinien und dem Umriß des bogenförmigen Anschlages der Fig. 18;
Fig. 20 die y-Koordinaten der Kreuzungspunkte der y-Achsenpixel­ linien und den Umriß des bogenförmigen Anschlages der Fig. 18 und
Fig. 21 die Art und Weise, wie Punktdaten entsprechend den x-Koordinaten der Kreuzungen, wie in Fig. 19 gezeigt, erhalten werden.
Die Fig. 1 und 2 zeigen eine Datenkonvertierungsvorrichtung in Übereinstimmung mit einer Ausführung der Erfindung zum Konvertieren von Umrißdaten in Punktdaten zum Drucken in einem Laserdrucker, bei dem das Drucken auf einem Medium dadurch erfolgt, daß die Mediumoberfläche einem Laserstrahl, der entsprechend den Punktdaten gesteuert wird, ausgesetzt wird.
Das schematische Blockdiagramm der Fig. 1 zeigt einen Bereich eines Steuerschaltkreises des Laserdruckers, der mit der Datenkonversion in Übereinstimmung mit dem Prinzip der Erfindung verknüpft ist. Der Steuerschaltkreis besteht im wesentlichen aus einem Mikrocomputer 10, der eine CPU 12 (zentrale Recheneinheit), einen Zeichen-ROM 14 (read only memory = Nur-Lese-Speicher), einen Programm-ROM 16, einen Textspeicher 18, einen Arbeitsspeicher 20, einen Koordinaten­ speicher 22 und einen Punktdatenspeicher 24 umfaßt. Diese Elemente des Mikrocomputers 10, wie z.B. die CPU 12, sind miteinander durch den Bus 28 verbunden. An den Bus 28 sind eine Dateneingabevor­ richtung 30 und eine Druckeinheit 32 angeschlossen. Die Eingabe­ vorrichtung 30 ist dazu vorgesehen, den Mikrocomputer 20 mit den notwendigen Daten zum Drucken zu versorgen, während die Druckvor­ richtung 32 so konstruiert ist, daß sie in Übereinstimmung mit Signalen vom Mikrocomputer 10 das Drucken mittels des Lasers ausführt. Der gewählte Laser besitzt eine Auflösung von 300 Punkten pro Zoll.
Wie in Fig. 2 schematisch angedeutet ist, besitzt die CPU 12 einen Datenlesebereich 36, einen Koordinatenberechnungsbereich 38 und einen Punktdatenberechnungsbereich 40. Der Koordinatenberechnungs­ bereich 38 berechnet die Kreuzungen zwischen dem Umriß eines Zeichens und einer x-Achsenpixellinie x eines Koordinatenpixelschirmes (der unten beschrieben wird). Der Punktdatenberechnungsbereich bereitet die Punktdatendarstellung (Pixelmuster) des Zeichens, dessen Punktdaten mit dem Umriß des Zeichens übereinstimmen, vor. Der Textspeicher 18 speichert eine Reihe von Zeichendaten eines einen über die Eingabevorrichtung 30 eingegebenen Textes in der Form von Codedaten, und der Arbeitsspeicher 20 speichert Daten, die für den Mikrocomputer 10 notwendig sind, um verschiedene im Programm­ speicher 16 gespeicherte Steuerprogramme auszuführen. Der Koordi­ natenspeicher 22 speichert die vom Koordinatenberechnungsbereich 38 berechneten Koordinaten, und der Punktdatenspeicher 24 speichert die vom Punktdatenberechnungsbereich 40 vorbereiteten Punktdaten.
Der Zeichen-ROM 14 speichert mehrere Reihen vom Umrißdatendar­ stellungen des Umrisses von mehreren Zeichen, wie z.B. alphabetische und andere Buchstaben und Symbole, oder irgendwelche andere Bilder. Der Umriß von jedem Bild, wie z.B. einem Zeichen ist in einem x-y-Koordinatensystem mit 1000 y-Achsenpositionen entlang der y-Achse und 1000 x-Achsenpositionen entlang der x-Achse, die senkrecht zur y-Achse ist, definiert, wie in Fig. 4 gezeigt. Zum Beispiel sind die alphabetischen Großbuchstaben alle zwischen der 200 und 1000 y-Achsenposition gebildet, während der gesamte Bereich der y-Achse für die Kleinbuchstaben benutzt wird (d.h., daß die 0 bis 200 y-Achsenposition für die Kleinbuchstaben ebenfalls benutzt wird). Wenn die Konfiguration eines jeden Zeichens in dem oben beschriebenen x-y-Koordinatensystem gebildet ist, ist das Profil eines jeden Anschlages 44 des Zeichens mit einer vorbestimmten Breite durch den Umriß 46 definiert. Die Umrißdaten eines jeden Zeichens bestehen aus einer Mehrzahl von Sätzen von Segmentdaten, die entsprechende Segmente des Umrisses 46 darstellen. Jedes Segment ist durch zwei schwarze Punkte, wie in Fig. 4 im Falle des Buchstabens "H" als Beispiel gezeigt, definiert. Die zwei Punkte bezeichnen den Anfang und das Ende des entsprechenden Segmentes. Jeder Satz von Segmentdaten umfaßt Koordinatendatendar­ stellungen von Koordinaten des Anfangs und des Endes des Segmentes.
Die Koordinatendaten der Punkte, die die Segmente des Umrisses 46 definieren, sind im Zeichen-ROM 14 in einer vorgewählten Reihenfolge gespeichert, in der vorgewählten Richtung entlang des Umrisses 46, wie durch einen Pfeil in Fig. 4 angedeutet. Einer der zwei Punkte, die jedes Segment des Umrisses 46 definieren, dessen Koordinaten­ daten vor denen des anderen gespeichert sind, wird als Anfang des entsprechenden Segmentes definiert, während der andere Punkt als das Ende des Segmentes definiert ist. Die Segmentdaten für ein gerades Segment umfassen das gerade Segment bezeichnende Daten und Koordinatendatendarstellungen der Koordinaten des Anfangs- und Endpunktes des Segmentes. Die Segmentdaten für ein gebogenes Segment umfassen das gebogene Segment bezeichnende Daten, Funktionsdaten, die die Krümmung des Segmentes beschreiben, und Koordinatendatendarstellungen der Koordinaten des Anfangs- und Endpunktes und eines zusätzlichen Punktes. Die Segmentdaten für ein Kreisbogensegment umfasssen das kreisbogenförmige Segment bezeichnende Daten und Koordinatendatendarstellungen des Anfangs- und Endpunktes und den Kreismittelpunkt des Segmentes. Der Zeichen-ROM 14 speichert auch Daten, die die Anzahl der Segmente jedes Zeichens darstellen.
Im wie oben beschrieben konstruierten Laserdrucker wird die Konvertierung der Umrißdaten eines jeden Bildes, wie z.B. eines Zeichens, in eine entsprechende Reihe von Punktdaten bewirkt durch die Verwendung eines zweidimensionalen Koordinatenpixelschirmes 50, wie in Fig. 5 gezeigt, auf den das Bild überlagert wird, um die Punktdaten entsprechend den Umrißdaten zu berechnen. Der Pixel­ schirm 50 besteht aus einer Vielzahl von Bildelementen, die die kleinste Einheit eines gedruckten Bildes darstellen, die auf dem Laserdrucker zur Verfügung steht. Die Bildelemente sind durch äquidistante und zur x-Achse des Schirmes 50 parallele Linien p und gleichartig äquidistante und zur y-Achse des Schirmes 50 parallele Linien p, die zu den Linien p senkrecht sind, gebildet.
Daher sind die in der vorliegenden Ausführung verwendeten Bild­ elemente von quadratische Form. Punktdaten, die einem Bildelement entsprechen, bestimmen, ob beim entsprechenden Bildelement ein Punkt gedruckt wird oder nicht. Wie in Fig. 5 auch gezeigt ist, gibt es mehrere x-Achsenpixellinien x, die sich parallel zur x-Achse erstrecken und zwischen benachbarten p-Linien liegen, und es gibt mehrere y-Achsenpixellinien y, die sich parallel zur y-Achse erstrecken und zwischen benachbarten p-Linien liegen. Jede x-Achsenpixellinie x geht durch die Mitte eines jeden Bildelementes in einer entsprechenden Zeile parallel zur x-Achse, während jede y-Achsenpixellinie y durch die Mitte eines jeden Bildelementes in einer entsprechenden Spalte parallel zur y-Achse geht. Die Position eines jeden Bildelementes wird durch die Koordinaten seiner Mitte (Pixelzentrums) bestimmt, d.h. durch eine der x-Achsenpixellinien x und eine der y-Achsenpixellinien y. Die Bildelemente könne rechteckige oder eine andere Form besitzen.
Der Pixelkoordinatenschirm 50 entspricht einem Druckbereich eines Mediums, innerhalb dessen das Drucken mittels des Lasers in Übereinstimmung mit geeigneten Reihen von Punktdaten erfolgt. In diesem Zusammenhang ist zu erwähnen, daß die Fig. 5 nur einen Bereich des Pixelkoordinatenschirmes 50 zeigt, in dem der Buchstabe "H" der zu druckenden Bilder im Druckbereich gezeigt ist, um die Darstellung zu vereinfachen. Dann werden die x- und y-Achsenpixel­ linien x und y über den gesamten Bereich des Schirmes 50 numeriert. Es ist ersichtlich, daß die Bildelemente der anderen in Fig. 5 nicht gezeigten Zeichen durch entsprechend numerierte x- und y-Achsenpixellinien x, y dargestellt werden, wobei die Zahlen, die diese Pixellinien x, y identifizieren, größer als die für den Buchstaben "H" in Fig. 5 angegebenen sind.
Die Konvertierung der Umrißdaten in die entsprechenden Punktdaten wird durch die Überlagerung des Umrisses des Zeichens auf den Pixelkoordinatenschirm 50 erreicht, so daß ein Punkt bei jedem Bildelement des Schirmes 50 gebildet wird, der innerhalb des durch den Umriß des Zeichen gebildeten Bereiches liegt (dieser Bereich wird im weiteren vereinfachend auch als "Umriß des Zeichens" bezeichnet). Bei dieser Ausführung ist der logische Wert der Punktdaten, die dem Bildelement, bei dem ein Punkt gebildet werden soll, entspricht, durch "1" gegeben. Es ist ersichtlich, daß einige Bildelemente vollkommen innerhalb des Umrisses des Zeichens, wohingegen einige Bildelemente nur teilweise innerhalb des Umrisses liegen. Die spezielle Art und Weise der Konvertierung der Umrißdaten in Punktdaten wird nun im einzelnen beschrieben.
Der vorliegende Laserdrucker ist fähig, Zeichen einer bestimmten Größe aus einer Menge verschiedener Größen, wie z.B. 4,8 Punkt, 10 Punkt, 12 Punkt, 20 Punkt, 24 Punkt und 30 Punkt, zu drucken. Entsprechend der gewählten Zeichengröße werden die Koordinaten der Punkte, die den Umriß des Zeichens im 1000×1000-Koordinatensystem der Fig. 4 definieren, in die entsprechenden Koordinatenwerte auf dem Pixelschirm 50 der Fig. 5 konvertiert, bei dem jedes quadratische Bildelement als 1×1 dimensioniert ist. Falls ein Zeichen der Punktgröße B von einer CxC-Matrix von Bildelementen (Punkten) gebildet wird, werden die Koordinaten eines Punktes auf dem Pixelschirm 50 durch Multiplikation des Koordinatenwertes des entsprechenden Punktes auf dem Zeichenumriß im 1000×1000-Koordina­ tensystem mit C/1000 erhalten. Bei diesem Beispiel beträgt die Zeichengröße 4,8 Punkt, und jedes Zeichen wird durch eine 20×20-Matrix von Bildelementen oder Punkten gebildet. Die Zahlen 0 bis 20, die in Fig. 5 zur Angabe der x-Achsenpixellinien und y-Achsenpixellinien x, y gegeben sind, stellen die Koordinatenwerte auf dem Schirm 50 des Beispieles dar. Um den Umriß eines jeden Zeichens dem Pixelschirm 50 zu überlagern, werden die Koordinaten des Referenzpunktes des Zeichens auf dem Schirm 50 bestimmt, basierend auf den Druckpositionsdaten. Entsprechend den bestimmten Koordinaten des Referenzpunktes und den berechneten Koordinaten des Zeichenumrisses wird das Zeichen auf dem Pixelschirm 50 der Fig. 5 positioniert.
Der Programm-ROM 16 speichert verschiedene Steuerprogramme, die zum Drucken erforderlich sind, wie z.B. Datenkonversionsroutinen wie im Flußdiagramm der Fig. 3 gezeigt. Es wird nun die Arbeits­ weise zum Konvertieren der Umrißdaten für den Buchstaben "H" in die entsprechenden Punktdaten mit Bezugnahme auf das Flußdiagramm der Fig. 3 in einem Beispiel beschrieben. Da das Drucken in Übereinstimmung mit den Punktdaten nicht wesentlich ist, um das Prinzip der Erfindung zu verstehen, wird die Art und Weise des Druckens nicht detailiert beschrieben. Ein im Textspeicher 18 gespeicherter Text wird Seite für Seite gedruckt. Jedesmal, wenn eine Seite gedruckt wird, werden Zeichendaten, die dieser Textseite entsprechen, aus dem Textspeicher 18 ausgelesen und eine Reihe von Umrißdaten (die im Zeichen-ROM 14 gespeichert sind), die dieser Seite entsprechen, in eine Reihe von Punktdaten konvertiert.
Zuerst wird der Schritt S 1 ausgeführt, um die Umrißdaten, Daten, die die Segmente des Zeichenumrisses angeben, und Daten, die die gewählte Zeichengröße angeben, auszulesen. Dann springt die Routine zum Schritt S 2, bei dem der Koordinatenberechnungsbereich 38 der CPU 12 die Koordinaten von Kreuzungen zwischen dem Zeichenumriß 46 und jeder x-Achsenpixellinie x auf dem Pixelschirm 50 für jedes Segment des Zeichens "H" berechnet. Es wird nun mit Bezugnahme auf die Fig. 6 bis 11 eine Regel beschrieben, mit der die x-Koordinaten­ werte dieser Kreuzungen bestimmt werden.
Die Fig. 6 zeigt ein gerades Segment, das sowohl die x-Achsen­ pixellinien x als auch die y-Achsenpixellinien y kreuzt. Dieses gerade Segment kreuzt eine Mehrzahl von x-Achsenpixellinien x bei entsprechenden Positionen, die durch "x"-Markierungen zwischen dem entsprechenden Anfang und Ende des entsprechenden Segmentes angegeben sind. Die x-Koordinaten, die im Koordinaten­ speicher 22 gespeichert werden sollen, sind nicht die der Kreuzungen zwischen den x-Achsenpixellinien x und dem entspre­ chenden Segment, sondern die Zentren (angedeutet durch "o"-Markierungen in Fig. 6) derjenigen Bildelemente, die innerhalb des Bereiches (durch Schraffierung in der Figur angedeutet) des Segmentes liegen, und die dem Segment entlang der x-Achse am nächsten liegen (d.h., den Kreuzungen zwischen den x-Achsenpixel­ linien und dem entsprechenden Segment am nächsten liegen). Falls der Kreuzungspunkt zwischen einer x-Achsenpixellinie und dem Segment korrekt auf dem Zentrum eines Bildelementes liegt, wird die x-Koordinate dieses Pixelzentrums als x-Achsenkoordinatenwert gespeichert.
Ein zur x-Achsenpixellinie x paralleles gerades Segment ist in Fig. 7 gezeigt. Das in Fig. 8 gezeigte gerade Segment befindet sich zwischen zwei benachbarten x-Achsenpixellinien x und die Länge des Segmentes und der Neigungswinkel bezüglich der x-Achsen­ pixellinien x sind klein genug, um zu verhindern, daß das Segment irgend eine der x-Achsenpixellinien kreuzt. In diesem Fall speichert der Koordinatenspeicher 22 Daten, die angeben, daß das entsprechende Segment keine Kreuzungspunkte mit den x-Achsenpixel­ linien x aufweist. Die Fig. 9 zeigt eine Kombination von drei verbundenen geraden Segmenten, wobei das mittlere Segment auf einer x-Achsenpixellinie x liegt, während die zwei anderen Segmente bezüglich der x-Achsenpixellinien x geneigt und mit den gegenüber­ liegenden Enden des mittleren Segmentes verbunden sind. In diesem Fall weist das mittlere Segment keine Kreuzungspunkte auf. Ferner werden die Koordinaten für einen der zwei am meisten außen liegenden Kreuzungspunkte von jedem der zwei geneigten Segmente nicht im Koordinatenspeicher 22 gespeichert. Dies bedeutet, daß die Koordinatenwerte nur für eine der zwei äußersten Kreuzungen erhalten werden, deren x-Koordinate kleiner als die der anderen ist (die sich links von der anderen in Richtung der x-Achse in Fig. 9 befindet). In Fig. 10 ist ein relativ schmaler Endbereich eines Zeichenanschlages gezeigt, der durch zwei geneigte und sich kreuzende gerade Segmente gebildet wird. Diese zwei Segmente kreuzen sich derart, daß nur ein Bildelement existiert, dessen Zentrum sich innerhalb des durch die zwei Segmente definierten Bereiches befindet, wobei sich das Zentrum auf der x-Achsenpixel­ linie x gegenüber dem Kreuzungspunkt befindet. In diesem Fall wird der x-Koordinatenwert des oben beschriebenen Bildelementzentrums als x-Koordinate der Kreuzung von jeder der zwei geneigten geraden Linien gespeichert. Mit anderen Worten wird dieselbe Kreuzung auf derselben x-Achsenpixellinie für jede der zwei sich kreuzenden geneigten Segmente an denselben Endbereichen auf der Seite des Kreuzungspunktes dieser zwei Segmente erhalten. In diesem Fall wird derselbe x-Achsenkoordinatenwert als x-Koordinate desjenigen Punktes gespeichert, bei dem die zwei Segmente die x-Achsenpixel­ linie x gegenüber der Kreuzung der zwei Segmente schneiden.
Im Falle der Fig. 11 ist der Abstand zwischen zwei geraden und zu y-Achsenpixellinie y parallelen Segmenten klein, und es existieren keine Pixelelemente, deren Zentren sich zwischen den zwei Segmenten befinden. In diesem Falle werden ebenfalls dieselben x-Achsenkoordinatenwerte für die zwei Segmente verwendet. Genauer gesagt, speichert der Koordinatenspeicher 22 als x-Koordinaten der Kreuzungen der zwei Segmente, die x-Koordinaten der Zentren der Pixelelemente, die in Richtung der x-Achse demjenigen Bereich, der von den zwei Segmenten definiert wird, gegenüber liegen und die sich auf einer der gegenüberliegenden Seiten befinden, bei der die x-Koordinatenwerte größer sind. Falls die Zentren irgendwelcher Bildelemente innerhalb des Bereiches, der durch die zwei Segmente definiert ist, liegen, werden die x-Koordinatenwerte dieser Zentren als x-Achsenkoordinatenwerte der Kreuzungen zwischen der x-Achsenpixellinie x und der zwei Segmente gespeichert.
Die auf diese Art ermittelten Kreuzungen zwischen den x-Achsen­ pixellinien x und jedem Segment des Umrisses 46 der Buchstaben "H" sind in Fig. 12 durch schwarze Punkte angedeutet. Die x-Achsenkoordinatenwerte dieser Kreuzungen werden im Koordinaten­ speicher 22 im Schritt S 3 des Flußdiagrammes der Fig. 3 gespeichert. Bei der vorliegenden Ausführung gibt es insgesamt 20 x-Achsen­ pixellinien x für jedes Zeichen und daher insgesamt 20 y-Achsen­ koordinatenwerte der 20 x-Achsenpixellinien x. Der x-Achsenkoordi­ natenwert jeder Kreuzung jeder x-Achsenpixellinie x wird zusammen mit dem geeigneten y-Achsenkoordinatenwert, der die Nummer der entsprechenden x-Achsenpixellinie x angibt, gespeichert. Den Koordinatendaten für jede x-Achsenpixellinie x gehen Daten voran, die die Anzahl der Kreuzungen zwischen dieser Pixellinie x und dem Zeichenumriß 46 angeben. Die Fig. 13 gibt die Anzahl der Kreuzungen und die Koordinatenwerte für ein paar der den Umriß 46 des Buch­ stabens "H" schneidenden Pixellinien x an.
Dann springt der Steuerungsprozeß zu Schritt S 4, um die Zahl n in einem Zähler, der die Anzahl der bearbeiteten Segmente des Zeichenumrisses 46 zählt, zu erhöhen. Dem Schritt S 4 folgt der Schritt S 5, um festzustellen, ob die Zahl n gleich einem Wert N ist, der die Anzahl der Umrißsegmente des entsprechenden Zeichens darstellt. Der Schritt S 5 ist nämlich vorgesehen, um festzu­ stellen, ob die x-Koordinaten der Kreuzungen, die mit allen Segmenten des Zeichenumrisses 46 zusammenhängen, von dem Koordina­ tenberechnungebereich 38 der CPU 12 berechnet worden sind, oder ob nicht. Falls sich eine negative (NO) Entscheidung im Schritt S 5 ergibt, kehrt der Prozeß zu Schritt S 2 zurück, wodurch die Schritte S 3-S 5 ausgeführt werden, um die mit dem nächsten Segment in Verbindung stehenden x-Koordinaten zu berechnen. Die Schritte S 2-S 5 werden wiederholt ausgeführt, bis die Koordinaten der Kreuzungen für alle Segmente des Zeichenumrisses 46 berechnet und im Koordinatenspeicher 22 gespeichert sind. Falls die Zahl n auf N erhöht worden ist, wird ein zustimmendes Ergebnis (YES) in Schritt S 5 erhalten, und der Schritt S 6 ist vorgesehen, um den Zähler auf Null zurückzustellen.
Auf den Schritt S 6 folgt der Schritt S 7, bei dem die x-Koordinaten vom kleinsten zum größten für alle x-Achsenpixellinien hin geordnet werden, wobei die erhaltenen Werte dann paarweise zusammengehören. Die Koordinatenwerte werden in Schritt S 2 für jedes der Segmente des Umrisses 46 berechnet, die in der vorgewählten Reihenfolge verarbeitet werden. In diesem Zusammenhang sollte beachtet werde, daß ein Segment des Umrisses 46 vor einem anderen Segment verarbeitet wird, dessen x-Koordinaten kleiner sind, als diejenigen des zuerst verarbeiteten Segmentes. Im Hinblick darauf ist der Schritt S 7 vorgesehen. Beim vorliegenden Laserdrucker werden die zwei gleichen x-Koordinatenwerte für zwei entsprechende Segmente des Zeichenumrisses gespeichert, selbst wenn nur eine oder gar keine Kreuzung in einem relativ kleinen Bereich, der durch die entsprechenden zwei Segmente definiert wird, existiert, wie oben mit Bezugnahme auf die Fig. 10 und 11 dargelegt ist. Daher gibt es immer eine gerade Anzahl von Kreuzungen für jede x-Achsenpixellinie x, die den Zeichenumriß schneidet, wodurch jede der x-Koordinaten von zwei benachbarten Kreuzungen gepaart werden können. Beim Erzeugen von Punktdaten entsprechend jeder x-Achsen­ pixellinie x, die den Zeichenumriß schneidet, werden die logischen Werte der Punktdaten, die den Bildelementen zwischen dem Paar von Kreuzungen entsprechen, auf "1" gesetzt. Bei der vorliegenden Ausführung werden auch die logischen Werte von Punktdaten, die den Bildelementen entsprechend dem Paar von Kreuzungen entsprechen, auf "1" gesetzt.
Nachdem die x-Achsenkoordinatenwerte der erhaltenen Kreuzungen in Schritt S 7 geordnet und gepaart sind, springt die Steuerung zum Schritt S 8, um eine Reihe von Punktdaten, die den im Koordinatenspeicher 22 gespeicherten Koordinatendaten entsprechen, aufzubereiten. Die Punktdaten werden Byte für Byte verarbeitet. Der Mikrocomputer ist fähig, ein Datenbyte zu einem Zeitpunkt zu verarbeiten, das heißt, er ist fähig, acht Bits, die acht entsprechenden Bildelementen entsprechen, zu einem Zeitpunkt zu bearbeiten. Mit Bezugnahme auf die Fig. 14 wird ein Beispiel von Punktdatenverarbeitung in Verbindung mit einem Paar von x-Koordinaten (5, 18), die die Position von zwei Bildelementen entlang der x-Achse auf dem Koordinatenpixelschirm 50 angeben, beschrieben.
Zuerst wird die Anzahl der Bildelemente, deren Punktdatenbits auf "1" gesetzt sind, berechnet. Genauer definieren die zwei x-Koordinatenwerte "5" und "18" auf einer x-Achsenpixellinie x ein Segment, dessen Anfangspunkt die x-Koordinate "5" und dessen Endpunkt die x-Koordinate den Wert "18" besitzt. Der dem Anfangspunkt entsprechende Wert "5" wird vom dem Endpunkt entsprechenden Wert "18" subtrahiert, und der Wert "1" wird zur erhaltenen Differenz "13" addiert. Dann wird der dem Anfangspunkt entsprechene x-Koordinatenwert "5" vom x-Koordinatenwert, der dem ersten Bit des nächsten höherwertigen Bytes bezüglich desjenigen Bytes, zu dem das dem Anfangpunkt (Wert "5") entsprechende Bit gehört, subtrahiert. Die Bildelemente entlang der x-Achsenpixel­ linie x werden, beginnend mit "0", numeriert, und die x-Koordinatenwerte sind gleich der Zahl der entsprechenden Bildelemente. Daher ist der x-Koordinatenwert, der dem ersten Bit des nächsten höherwertigen Bits entspricht, ein Vielfaches von "8". In diesem Fall wird der x-Koordinatenwert "5" vom x-Koordinatenwert "8" subtrahiert. Die so erhaltene Differenz "3" gibt die Anzahl der Bildelemente, die zur ersten Gruppe von acht dem ersten Byte entsprechenden Bildelementen (0 bis 7) gehören und deren x-Koordinatenwerte gleich oder größer dem desjenigen Bildelementes ist, das dem Anfangspunkt des entsprechenden Segmente entspricht, an. Die den so bestimmten Bildelementen (5, 6, 7) entsprechenden Bits werden zu einem Zeitpunkt auf "1" gesetzt.
Dann wird die Anzahl derjenigen Bytes berechnet, die den verblei­ benden Bildelementen, deren Bits auf "1" gesetzt werden, entsprechen. Genauer wird der x-Koordinatenwert, der dem ersten Bit des niederwertigsten Bytes entspricht, von demjenigen x-Koordinatenwert subtrahiert, der dem Endpunkt entspricht, und der Wert "1" wird zur so erhaltenen Differenz addiert. Die erhaltene Summe wird durch "8" dividiert. In diesem Beispiel wird der Wert "8" vom Wert "18" subtrahiert, und der Wert "1" wird zur Differenz "10" addiert. Die Summe "11" wird durch "8" dividiert, wodurch ein Quotient "1" mit einem Rest "3" erhalten wird. Dies bedeutet, daß die verbleibenden Bildelemente (8-18) acht Bildelemente (8-15) umfassen, die dem nächsten Byte entsprechen, dessen Bits gleich "1" gesetzt werden. Anschließend werden die restlichen drei Bits auf "1" gesetzt. Auf diese Weise werden die Punktdaten, die den gespeicherten Koordinatenwerten für jede x-Achsenpixellinie entsprechen, verarbeitet. Nach Vervollständigung der Punktdatenvorbereitung für alle Pixellinien x, die den Zeichenumriß schneiden, kehrt die Routine zur Hauptroutine zurück.
Wie oben beschrieben, ist der vorliegende Laserdrucker so vorbereitet, daß die Punktdaten für zwei oder mehrere Bildelemente, die der Anschlagbreite eines Bildes, wie z.B. eines Zeichens, entsprechen, zu einem Zeitpunkt verarbeitet werden können. Das heißt, daß die Punktdatenaufbereitung im vorliegenden Drucker Byte für Byte erfolgt, so daß bis zu acht Bits zu einem Zeitpunkt gesetzt werden können, im Gegensatz zur herkömmlichen Bit für Bit Aufbereitung von Punktdaten, was die Bestimmung des logischen Wertes ("1" oder "0") von jedem einem Bildelement entsprechenden Bit erfordert. Entsprechend kann die Punktdatenaufbereitung beim vorliegenden Drucker mit erheblich verbesserter Effizienz und mit einer vergleichsweise hohen Datenverarbeitungsgeschwindigkeit erfolgen.
Ferner werden zwei Sätze von x-Koordinatendaten selbst für einen schmalen Anschlag eines Zeichens, der die x-Achsenpixellinie oder x-Achsenpixellinien x schneidet, im Koordinatenspeicher 22 gespeichert, so daß die Breite des Anschlages durch die zwei Kreuzungen, die durch diese zwei Sätze von Daten dargestellt werden, definiert ist. Entsprechend können die Profile der Zeichen einfach entworfen werden, ohne darauf achten zu müssen, daß zwei Kreuzungen zwischen den x-Achsenpixellinien x und dem Umriß eines jeden Anschlages existieren.
Aus der vorangehenden Beschreibung ist ersichtlich, daß die x-Achsenpixellinien x als parallele Abtastlinien verwendet werden, um Punkte zu erhalten, die Segmente des Zeichenumrisses 46 definieren, und daß der Bereich des Programm-ROM 16 für Schritt S 2 und der Bereich der CPU, der den Schritt S 2 ausführt, d. h. der Koordinatenberechnungebereich 38, zusammenwirken, um eine Vorrichtung zur Berechnung von x-Koordinatenwerten der Kreuzungen zwischen jeder Pixellinie x und dem Zeichenumriß 46 zu bilden. Ebenfalls ist ersichtlich, daß der Koordinatenspeicher 22 und die Bereiche des Programm-ROM 16 und der CPU 12, die die Schritte S 3 und S 7 ausführen, zusammenwirken, um eine Vorrichtung zur Speicherung der berechneten x-Koordinatenwerte zu bilden, und daß der Bereich des Programm-ROM 16 für Schritt S 8 und der Bereich der CPU 12 zum Ausführen des Schrittes S 8, das heißt der Punktdatenaufbereitungs­ bereich 40, zusammenwirken, um eine Vorrichtung zur Aufbereitung von Punktdaten entsprechend den durch die Speichervorrichtung gespeicherten x-Koordinatenwerten zu bilden.
Neben den x-Achsenpixellinien x können auch die y-Achsenpixellinien y oder andere parallele gerade Linien als Abtastlinien verwendet werden.
Obwohl die vorliegende Ausführung so angepaßt ist, daß zwei Sätze von x-Koordinatendaten selbst für schmale Zeichenanschläge gespeichert sind, um so einen einfachen Entwurf der Zeichen zu erlauben, ist es möglich, diese Funktion zu eliminieren, wenn die im Zeichen-RQM 14 gespeicherten Zeichendaten so aufbereitet werden, daß zwei Kreuzungen für alle Anschläge aller Zeichen erhalten werden.
Mit Bezugnahme auf die Fig. 15 bis 21 wird nun eine andere Ausführung der Erfindung beschrieben. Zur Vereinfachung werden dieselben Bezugszeichen wie in der vorherigen Ausführung verwendet, um die entsprechenden Elemente zu bezeichnen, und es wird keine neuerliche Beschreibung dieser Elemente gegeben.
Bei dieser modifizierten Ausführung umfaßt der Mikrocomputer 10 einen ersten Koordinatenspeicher 22 a und einen zweiten Koordina­ tenspeicher 22 b, im Gegensatz zur Verwendung nur eines Koordinatenspeichers 22 in der vorherigen Ausführung. Der erste Koordinatenspeicher 22 a speichert x-Koordinatendaten ähnlich zu denen, die im Koordinatenspeicher 22 der vorhergehenden Ausführung gespeichert worden sind. Der zweite Koordinatenspeicher 22 b speichert y-Koordinatendatendarstellungen von y-Koordinaten von Kreuzungen zwischen den y-Achsenpixellinien y und einem Umriß 46, der einen bogenförmigen Anchlag 44 eines Zeichens, wie in Fig. 17 als Beispiel gezeigt, definiert. Der Umriß 46 ist im selben x-y-Koordinatensystem wie oben mit Bezug auf Fig. 4 beschrieben, definiert. Der Mikrocomputer 10 umfaßt einen ersten und zweiten Punktdatenspeicher 24 a, 24 b, die dem ersten und zweiten Koordinatenspeicher 22 a, 22 b entsprechen. Der erste Punktdaten­ speicher 24 a speichert Punktdaten, die in Übereinstimmung mit den im ersten Koordinatenspeicher 22 a gespeicherten x-Koordinatendaten aufbereitet sind, während der zweite Punktdatenspeicher 24 b Punktdaten, die entsprechend den im zweiten Koordinatenspeicher 22 b gespeicherten y-Koordinatendaten aufbereitet sind. Im Unterschied zum in der vorhergehenden Ausführung benutzten Mikrocomputer besitzt der Mikrocomputer 10 der vorliegenden Ausführung einen kombinierten Datenspeicher 26, der Punktdaten, die mittels der Reihen von in den zwei Punktdatenspeichern 24 a, 24 b gespeicherten Punktdaten aufbereitet sind, aufbereitet, wie unten beschrieben.
In Fig. 18 ist der bogenförmige Anschlag 44 gezeigt, wie dieser dem Koordinatenpixelschirm 50 überlagert ist, auf dem die x- und y-Achsenteilungslinien p und x- und y-Achsenpixellinien x, y gebildet sind, im Falle einer Zeichengröße von 4,8 Punkt, worin jedes Zeichen durch 2×20 Bildelemente definiert ist, wie oben mit Bezugnahme auf die vorhergehende Ausführung beschrieben ist. Zum einfacheren Verständnis sind die x- und y-Achsenteilungslinien p, die die Bildelemente definieren, in Fig. 18 numeriert. Ähnlich sind die x- und y-Achsenpixellinien x, y numeriert, um die Positionen der Bildelemente auf dem Pixelschirm 50 zu identifizieren. Zum Beispiel sind die x- und y-Koordinaten eines Bildelementes, das durch die zwei benachbarten mit "3" und "4" numerierten x-Achsen­ teilungslinien p und die zwei benachbarten mit "2" und "3" numerierten y-Achsenteilungslinien p durch (3, 2) gegeben, wie durch die mit "(3)" numerierte x-Achsenpixellinie x und die mit "(2)" numerierte y-Achsenpixellinie y dargestellt.
Es wird nun auf das Flußdiagramm in Fig. 16 Bezug genommen, das eine Routine zum Konvertieren von Umrißdaten des bogenförmigen Anschlages 44 der Fig. 18 in entsprechende kombinierte Punktdaten darstellt. In diesem Flußdiagramm sind die Schritte S 1, S 2 und S 4- S 7 ähnlich denen im Flußdiagramm der Fig. 3, und die Schritte S 3′ und S 8′ sind gegenüber den entsprechenden Schritten S 3 und S 8 der Fig. 3 etwas modifiziert. Die x-Achsenkoordinatenwerte der Kreuzungen zwischen jedem Umrißsegement des bogenförmigen Anschlages 44 und der x-Achsenpixellinie x werden nämlich zuerst im Schritt S 2 erhalten. Bei dieser Ausführung werden die berechneten x-Achsenkoordinatenwerte jedoch in Schritt S 3′ im ersten Koordinatenspeicher 22 a gespeichert, und die in Überein­ stimmung mit den im ersten Koordinatenspeicher 22 a gespeicherten x-Koordinatendaten aufbereiteten Punktdaten werden im Schritt S 8′ in den ersten Punktdatenspeicher 24 a gespeichert.
In Fig. 18 deuten schwarze Punkte die Positionen der berechneten Kreuzungen zwischen den x-Achsenpixellinien x und dem bogen­ förmigen Anschlag 44 an, wobei jeder Kreis einen gedruckten Punkt in einem Bildelement bedeutet. Wie in Fig. 19 angedeutet, werden die x-Koordinatenwerte der Kreuzungen des Anschlags 44 berechnet und für jede x-Achsenpixellinie x, die irgendein Umrißsegment des Anschlages 44 schneidet, gespeichert. In den Schritten S 2 und S 3′ der ersten Steuerschleife werden die x-Koordinatenwerte der Kreuzungen zwischen dem unteren bogenförmigen Umrißsegment (wie in Fig. 18 gezeigt) des Anschlages 44 und der x-Achsenpixellinie x berechnet und gepeichert. Dann wird der Zähler n in Schritt S 4 erhöht, und die Schritte S 2 und S 3′ werden erneut ausgeführt, um die x-Koordinaten der Kreuzungen zwischen dem rechtshändigen (wie in Fig. 18 gezeigt) kurzen geraden Umrißsegment des Anschlages 44 und der x-Achsenpixellinie x zu berechnen und zu speichern. Es existieren jedoch keine Kreuzungen für dieses kurze Umrißsegment. Nachdem der Zähler n in Schritt S 4 erhöht worden ist, werden die Schritte S 2 und S 3′ ausgeführt, um die x-Koordinaten der Kreuzungen des oberen bogenförmigen Umrißsegmentes des Anschlages 44 zu berechnen und zu speichern. Zuletzt werden die Schritte S 2 und S 3′ vorgesehen, um die x-Koordinaten der Kreuzungen des linksseitigen kurzen geraden Umrißsegmentes des Anschlages 44 zu erhalten. Es existieren keine Kreuzungen dieses geraden Umrißsegmentes. Wie bei der vorhergehenden Ausführung werden die gespeicherten x-Koordinatenwerte vom kleinsten zum größten Wert geordnet und im Schritt S 7 gepaart.
In Schritt S 8′ werden die im ersten Koordinatenspeicher 22 a gespeicherten x-Koordinaten in entsprechende Punktdaten, die im ersten Punktdatenspeicher 24 gespeichert werden sollen, konvertiert. Mit Bezugnahme auf die Fig. 21 wird die Art und Weise des Verarbeitens der x-Koordinatendaten für die x-Achsen­ pixellinie x, die als Beispiel mit "(2)" numeriert ist, beschrieben. In diesem Fall ist als Ergebnis der Sortierung und Parrungsoperation in Schritt S 7 das erste Paar von x-Koordinaten­ werten der ersten und zweiten Kreuzung gleich (3, 4), und ein zweites Paar von x-Koordinatenwerten der dritten und vierten Kreuzung gleich (9, 10). Zuerst werden die Bits, die den durch die x-Koordinatenwerte (3, 4) dargestellten Bildelementen entsprechen, gleich "1" gesetzt. Genauer wird der größere x-Koordinatenwert (4) der zweiten Kreuzung mit dem x-Koordinaten­ wert "7", entsprechend dem letzten Bit desjenigen Bytes, zu dem das dem kleineren x-Koordinatenwert (3) der ersten Kreuzung entsprechende Bit gehört, verglichen. Da der Wert "7" größer als der Wert (4) der zweiten Kreuzung ist, wird entschieden, daß die Bildelemente, die zur ersten und zweiten Kreuzung gehören, zu einer Gruppe von Bildelementen gehören, die dem entsprechenden Byte der Punktdaten entsprechen. Daher werden die den x-Koordinatenwerten (3) und (4) der ersten und zweiten Kreuzung entsprechenden Bits auf "1" gesetzt. Ähnlich werden die den x-Koordinatenwerten (9) und (10) der dritten und vierten Kreuzungen entsprechenden Bits auf "1" gesetzt. In Fig. 21 zeigen schraffierte Kreise den logischen Wert "1" der Bits der Punktdaten an.
Falls der größere x-Koordinatenwert von jedem Paar größer als der dem letzten Bit des entsprechenden Bytes entsprechende x-Koordinatenwert ist, werden die Bits, die den x-Koordinaten zwischen dem kleineren x-Koordinatenwert des Paares und dem dem letzten Bit entsprechenden x-Koordinatenwert entsprechen, gleich "1" gesetzt. Dann wird der dem letzten Bit des entsprechenden Bytes entsprechende x-Koordinatenwert vom größeren x-Koordinaten­ wert des Paares subtrahiert, um zu prüfen, ob es acht Bildelemente gibt, die dem nächsten Byte von Punktdaten entsprechen, wie oben mit Bezugnahme auf die erste Ausführung der Fig. 14 beschrieben ist.
Die so aufbereitete Reihe von Punktdaten wird in einem ersten Punktdatenspeicher 24 a gespeichert, dessen Kapazität so gewählt ist, daß die Punktdaten für ein Zeichen mit der größten Zeichen­ größe gespeichert werden können. Falls die gewählte Zeichengröße kleiner als die größte Größe ist, werden die Punktdaten für ein Zeichen in einem Bereich des Speichers 24 a gespeichert.
Dem Schritt S 8′ folgt der Schritt S 9, um zu bestimmen, ob die gewählte Zeichengröße 12 Punkt beträgt oder kleiner ist. Falls die gewählte Größe 12 Punkt oder kleiner ist, wird Schritt S 10 durchgeführt, um y-Koordinatenwerte der Kreuzungen zwischen dem bogenförmigen Anschlag 44 und der y-Achsenpixellinie y zu berechnen. Die Regel zur Berechnung der y-Koordinatenwerte ist dieselbe wie diejenige für die x-Koordinatenwerte. Die Positionen der Bildelemente, die den berechneten y-Koordinatenwerten ent­ sprechen, sind in Fig. 18 durch "*"-Markierungen angedeutet und befinden sich in den Zentren der Bildelemente. Die y-Koordinaten­ werte der Bildelemente sind durch die Zahl der x-Achsenpixellinien x gegeben. Die berechneten y-Koordinatenwerte der Kreuzungen werden im Schritt S 11 im zweiten Koordinatenspeicher 22 b gespeichert. Die y-Koordinatenwerte werden für jede y-Achsenpixel­ linie y, die irgendein Umrißsegment schneidet, gespeichert, wie in Fig. 20 gezeigt. Die Schritte S 12 bis S 16 werden auf dieselbe Art und Weise ausgeführt, wie die Schritte S 4 bis S 8, so daß geeignete Punktdaten vorbereitet und im zweiten Punktdatenspeicher 24 b gespeichert werden. Wie der erste Punktdatenspeicher 24 a besitzt auch dieser Speicher 24 b eine Speicherkapazität zum Speichern der Punktdaten für ein Zeichen mit der größtmöglich wählbaren Zeichengröße. Nachdem die Punktdaten im zweiten Punkt­ datenspeicher 24 b gespeichert sind, wird der Schritt S 17 ausgeführt, um die Reihen der Punktdaten vom ersten und zweiten Punktdaten­ speicher 24 a, 24 b zum kombinierten Datenspeicher 26 zu übertragen, so daß die zwei Reihen von Punktdaten zu einer Reihe von kombinierten Punktdaten wie unten beschrieben kombiniert werden. Der kombinierte Datenspeicher besitzt eine Speicherkapazität zur Speicherung von Punktdaten für eine Seite Text. Die zwei Reihen von Punktdaten der zwei Punktdatenspeicher 24 a, 24 b werden an geeigneten Stellen des kombinierten Datenspeichers 26 gespeichert, die von den Druck­ positionen des entsprechenden Zeichens bestimmt werden. Die zwei Reihen von Punktdaten werden durch eine ODER-Operation (inclusive OR = einschließendes ODER) kombiniert oder zusammengefügt, um eine logische Summe der logischen Werte der entsprechenden zwei Bits der zwei Reihen von im ersten und zweiten Punktdatenspeicher 24 a, 24 b gespeicherten Punktdaten zu erhalten. Das heißt, daß der logische Wert eines Bits der kombinierten Punktdaten, die im kombinierten Datenspeicher 26 gespeichert sind, "1" ist, wo der logische Wert von mindestens einem der entsprechenden zwei Bits der zwei Reihen von Punktdaten in den zwei Punktdatenspeichern 24 a, 24 b "1" ist. Der logische Wert eines Bits im Speicher 26 ist nur dort "0", wo die logischen Werte der entsprechenden zwei Bits der Punktdaten in den Speichern 24 a, 24 b beide gleich "0" sind.
In Fig. 18 geben die schraffierten Kreise zu druckende Punkte an, basierend auf den berechneten x-Koordinatenwerten der Kreuzungen zwischen dem Umriß des Anschlages 44 und der x-Achsenpixellinie x. Auf der anderen Seite geben die schraffierten Kreise zu druckende Punkte an, basierend auf den berechneten y-Koordinatenwerten der Kreuzungen zwischen dem Anschlag 44 und der y-Achsenpixellinie y. Bei diesem speziellen Beispiel geben die kreuzweise schraffierten Kreise auch die letzteren Punkte an.
Aus der Fig. 18 ist ersichtlich, daß die durch die schraffierten Kreise gegebenen Punkte nicht gedruckt würden, wenn das Drucken nur auf der Basis der im ersten Punktdatenspeicher 24 a gespeicherten Punktdaten erfolgen würde, die sich aus den x-Koordinatendaten der Kreuzungen zwischen dem Anschlag 44 und der x-Achsenpixellinie x ergeben. In diesem Fall ist der gedruckte bogenförmige Anschlag 44 diskontinuierlich, wobei die den schraffierten Kreisen entsprechenden Bereiche leer sind. In Übereinstimmung mit der vorliegenden modifizierten Ausführung werden jedoch auch die Kreuzungen des Anschlages 44 mit den y-Achsenpixellinien y erhalten, und die Punktdaten, die zum Drucken benutzt werden, werden basierend auch auf denjenigen Punktdaten erhalten, die von den y-Koordinaten der Kreuzungen zwischen dem Anschlag 44 und der y-Achsenpixellinie y bereitet werden. Dies erlaubt, daß der bogenförmige Anschlag 44 sowohl von den durch die schraffierten Kreise angedeuteten gedruckten Punkte, als auch den durch die kreuzschraffierten Kreise ange­ deuteten Punkte kontinuierlich gebildet werden kann. Wenn der bogenförmige Anschlag um 90° auf dem Pixelschirm gedreht wird, ist der gedruckte Anschlag diskontinuierlich, wenn die für das Drucken benutzten Punktdaten nur auf der Basis der y-Koordinaten­ daten der Kreuzungen zwischen dem Anschlag 44 und der y-Achsen­ pixellinie y aufbereitet werden, der Anschlag ist aber kontinuierlich, wenn die Punktdaten auf der Basis der x-Koordina­ tendaten der Kreuzungen zwischen dem Anschlag 44 und den x-Achsenpixellinien x gebildet ist.
Falls die gewählte Zeichengröße größer als 12 Punkt ist, wird eine positive Entscheidung (YES) in Schritt S 9 erhalten, und die Schritte S 10-S 16 werden übersprungen. In diesem Fall werden daher die Kreuzungen zwischen dem Anschlag 44 und den y-Achsenpixel­ linien y nicht erhalten, und die im kombinierten Speicher 26 gespeicherten Punktdaten werden nur auf der Basis der x-Koordina­ tendaten der Kreuzungen zwischen dem Anschlag 44 und den x-Achsenpixellinien x aufbereitet. Diese Ausgestaltung wird im Hinblick auf die allgemeine Tendenz geschaffen, daß im Falle einer Zeichengröße größer als 12 Punkt es weniger wahrscheinlich ist, daß ein Zeichen einen Anschlag besitzt, der so schmal ist, daß sich der Anschlag zwischen zwei benachbarten x-Achsenpixel­ linien x befindet. In diesem Fall ist es weniger wahrscheinlich, daß das gedruckte Zeichen diskontinuierliche Segmente besitzt, selbst wenn die für das Drucken benutzten Punktdaten nur auf der Basis der x-Koordinatendaten gebildet sind. Wenn eine negative Entscheidung (NO) in Schritt S 9 erhalten wird, springt die Routine direkt zu Schritt S 17, bei dem die im ersten Punktdatenspeicher 24 a gespeicherten Punktdaten an der geeigneten Stelle, die von der Druckposition des entsprechenden Zeichens bestimmt wird, im kombinierten Datenspeicher 26 gespeichert werden.
Aus der obigen Beschreibung ist ersichtlich, daß die x-Achsen­ pixellinien x und die y-Achsenpixellinien y als erste und zweite parallele Abtastlinien verwendet werden, um eine erste und eine zweite Reihe von Punktdaten zu erhalten, die im ersten bzw. zweiten Punktdatenspeicher 24 a, 24 b gespeichert sind. Es ist ebenfalls ersichtlich, daß der Bereich des Programm-ROM 16 für den Schritt S 2 und der Koordinatenberechnungsbereich 38 der CPU 12, der dem Ausführen des Schrittes S 2 zugeordnet ist, zusammenwirken, um eine erste Koordinatenberechnungsvorrichtung zum Berechnen der x-Koordinatendaten der Kreuzungen zwischen dem Zeichenumriß und den x-Achsenpixellinien x zu bilden. Ferner wirken der erste Punktdatenspeicher 22 a und die Bereiche des Programm-ROM 16 und der CPU 12, die der Berechnung der Schritte S 3′ und S 7 zugeordnet sind, zusammen, um eine erste Koordinatenspeichervorrichtung zum Speichern der x-Koordinatendaten zu bilden. Der Bereich des Programm-ROM 16 für Schritt S 8′ und der Datenaufbereitungsbereich 40 der CPU 12, der der Ausführung des Schrittes S 8′ zugeordnet ist, wirken zusammen, um eine erste Punktdatenaufbereitungsvorrichtung zum Aufbereiten der ersten Reihe der Punktdaten zu bilden. Es ist ebenfalls ersichtlich, daß der Bereich des Programm-ROM 16 für den Schritt S 10 und der Koordinatenberechnungsbereich 38 der CPU 12, der der Ausführung des Schrittes S 10 zugeordnet ist, zusammenwirken, um eine zweite Koordinatenberechnungsvorrichtung zum Berechnen der y-Koordinatendaten der Kreuzungen zwischen dem Zeichenumriß und den y-Achsenpixellinien y zu bilden. Ferner wirken der zweite Punkt­ datenspeicher 22 b und die Bereiche des Programm-ROM 16 und der CPU 12 zusammen, die der Ausführung der Schritte S 11 und S 15 zugeordnet sind, zusammen, um eine zweite Koordinatenspeicher­ vorrichtung zum Speichern der y-Koordinatendaten zu bilden. Der Bereich des Programm-ROM 16 für den Schritt S 16 und der Datenauf­ bereitungsbereich 40 der CPU 12, der der Ausführung des Schrittes S 16 zugeordnet ist, wirken zusammen, um eine zweite Punktdatenauf­ bereitungsvorrichtung zum Aufbereiten der zweiten Reihe von Punkt­ daten zu bilden. Ferner wirken der Bereich des Programm-ROM 16 für Schritt S 17 und der Punktdatenaufbereitungsbereich 40 der CPU 12 zusammen, um eine kombinierte Punktdatenaufbereitungsvorrichtung zum Bereiten von kombinierten Punktdaten in Übereinstimmung mit den Inhalten der ersten und zweiten Koordinatenspeicher 24 a, 24 b zu bilden. Es ist ferner ersichtlich, daß die Bereiche des Programm-ROM 16 und der CPU 12, die der Ausführung des Schrittes S 9 zugeordnet sind, eine Betriebssteuerungsvorrichtung bilden zum Ansprechen der zweiten Koordinatenberechnungsvorrichtung, der zweiten Koordinatenspeichervorrichtung und der zweiten Punktdaten­ aufbereitungsvorrichtung, wenn die gewählte Größe des zu reproduzierenden Zeichens kleiner als ein vorgewählter Wert ist, und zum Abschalten der zweiten Koordinatenberechnungsvorrichtung, der zweiten Koordinatenspeichervorrichtung und der zweiten Punktdatenauffbereitungsvorrichtung, wenn die gewählte Größe des Zeichens nicht kleiner als ein vorgewählter Wert ist.
Es muß bemerkt werden, daß die ersten und zweiten Reihen von Punktdaten, die aus den x- und y-Koordinatendaten der Kreuzungen zwischen dem Zeichenumriß und den Pixellinien x, y gebildet werden, direkt in den kombinierten Datenspeicher 26 gespeichert werden können.
Bei der vorliegenden modifizierten Ausführung ist der logische Wert eines Bits von Punktdatendarstellungen eines zu druckenden Punktes gleich "1", und folglich wird die inklusive ODER-Operation ausgeführt, um die ersten und zweiten Reihen von Punktdaten zu kombinieren. Falls der logische Wert des einen zu druckenden Punkt darstellenden Bits gleich "0" ist, werden die ersten und zweiten Reihen von Punktdaten durch eine logische UND-Operation kombiniert, um ein logisches Produkt der zwei Reihen von Punktdaten zu erhalten.
Es ist möglich, daß die Punktdaten nur auf der Basis der y-Koordinatendaten der Kreuzungen zwischen dem Zeichenumriß und den y-Achsenpixellinien y gebildet werden, wenn die gewählte Zeichengröße größer als 12 Punkt ist.
Die Umrißdaten für jedes Zeichen können auch ausschließlich aus Koordinatendaten bestehen. In diesem Fall bestehen die Umrißdaten für ein Zeichen, das aus zwei oder mehreren geraden Anschlägen besteht, aus Sätzen von Koordinatendatendarstellungen der Koordinaten derjenigen Punkte, die die geraden Anschläge definieren. Falls die Anschläge eines Zeichens einen gekrümmten oder bogenförmigen Anschlag oder Anschläge enthält, enthalten die Umrißdaten Sätze von Koordinatendatendarstellungen von zwei oder mehreren Punkten, die verkettet sind, um jeden gekrümmten oder bogenförmigen Anschlag zu definieren.
Es ist offensichtlich, daß die vorliegende Erfindung auch auf einen anderen Drucker als einen beschriebenen Laserdrucker und auch auf eine andere Vorrichtung als einen Drucker, die eine Konvertierung von Umrißdaten von Bildern, wie z. B. Buchstaben und graphische Darstellungen, in entsprechende Punktdaten erfordert, angewendet werden kann.

Claims (8)

1. Datenkonvertierungsvorrichtung zum Konvertieren einer Reihe von Umrißdatendarstellungen eines Umrisses eines Bildes ähnlich einem Buchstaben, einem Symbol oder einer graphischen Darstellung, in eine Reihe von Punktdaten, die angeben, ob ein Punkt in jedem Bildelement, die sich in einem Koordinatensystem, in dem die Umrißdaten definiert sind, befinden, dadurch gekennzeichnet, daß eine Koordinatenberechnungsvorrichtung (16, 38, S 2) gebildet ist zum Berechnen der Koordinatenwerte von Kreuzungen zwischen dem Umriß (46) des Bildes im Koordinatensystem (50) und einer Mehrzahl von parallelen Abtastlinien (x, y), die dem Umriß im Koordinaten­ system überlagert sind, daß eine Koordinatenspeichervorrichtung (12, 16, 22, S 3, S 7) gebildet ist zum Speichern der von der Koordinatenberechnungsvorrichtung berechneten Koordinatenwerte, derart, daß die Koordinatenwerte für jede der Abtastlinien (x, y) der Größe der Werte nach geordnet und zwei benachbarte der geordneten Werte als Paar von Koordinatenwerten gepaart sind, und daß eine Punktdatenaufbereitungsvorrichtung (16, 40, S 8) gebildet ist zum Aufbereiten einer Reihe von Punktdaten, derart, daß aufeinanderfolgende Bits der Punktdaten, die einer Mehrzahl von aufeinanderfolgenden Bildelementen entsprechen, die aus zwei Bildelementen, die von dem Paar der Koordinatenwerte dargestellt werden, und mindestens einem Bildelement zwischen den zwei Bildelementen bestehen, zu einem Zeitpunkt gesetzt werden, derart, daß jedes der aufeinanderfolgenden Bits einen Punkt angibt, der im entsprechenden Bildelement gebildet werden soll.
2. Datenkonvertierungsvorrichtung nach Anspruch 1, dadurch gekenn­ zeichnet, daß die Koordinatenberechnungsvorrichtung (16, 38, S 2) als Koordinatenwert der Kreuzungen zwischen dem Umriß (46) des Bildes und den Abtastlinien (x, y) den Koordinatenwert des Zentrums des Bildelementes berechnet, das der Kreuzung am nächsten liegt.
3. Datenkonvertierungsvorrichtung nach Anspruch 2, dadurch gekenn­ zeichnet, daß das Zentrum des einen Bildelementes, das den einzel­ nen Kreuzungen am nächsten ist, sich innerhalb des Umrisses (46), der durch die Umrißdaten dargestellt wird, befindet.
4. Datenkonvertierungsvorrichtung nach Anspruch 2 oder 3, dadurch gekennzeichnet, daß falls die Breite des Bildes so klein ist, daß nur eine Kreuzung zwischen dem Umriß (46) und den parallelen Abtastlinien (x, y) existiert, deren Koordinatenwerte von der Koordinatenberechnungsvorrichtung (16, 38, S 2) berechnet werden und die Koordinatenspeichervorrichtung (12, 16, 22, S 3, S 7) den Koordinatenwert der einen Kreuzung an verschiedenen Stellen der Koordinatenspeichervorrichtung als Paar von Koordinatenwerten speichert.
5. Datenkonvertierungsvorrichtung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß das Koordinatensystem in eine Mehrzahl von Teilungen in eine Richtung parallel zu den Abtastlinien abgeteilt ist, und daß die Punktdatenaufbereitungsvorrichtung (16, 40, S 8) die Reihe der Punktdaten aufbereitet, wobei diese mit einem Bit, das einem Wert des Koordinatenpaares entspricht, beginnt und die Punktdatenaufbereitungsvorrichtung bestimmt, ob die Mehr­ zahl von aufeinanderfolgenden Bildelementen mindestens eine Gruppe von Bildelementen umfaßt, deren jede aus einer vorbestimmten Anzahl von Bildelementen besteht, die sich in einer entsprechenden Teilung des Koordinatensystems befinden, und daß die Punktdatenaufberei­ tungsvorrichtung die Bits aufbereitet, die jeder Gruppe von Bildelementen entsprechen, derart, daß die Bits, die dieser Gruppe der Bildelemente entsprechen, aufeinanderfolgende zu bildende Punkte in den entsprechenden Bildelementen der Gruppe angeben.
6. Datenkonvertierungsvorrichtung nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß die Vorrichtung einen Datenkonver­ tierungsbereich eines Laserdruckers bildet, bei dem das Bild auf einem Trägermedium gedruckt wird, dadurch daß eine Qberfläche des Mediums einem Laserstrahl ausgesetzt wird, während der Laserstrahl entsprechend der Reihe von Punktdaten, die von der Datenaufberei­ tungsvorrichtung (16, 40, S 8) aufbereitet worden sind, gesteuert wird.
7. Datenkonvertierungsvorrichtung zum Konvertieren einer Reihe von Umrißdatendarstellungen eines Umrisses eines Bildes ähnlich einem Buchstaben, einem Symbol oder einer graphischen Darstellung, in eine Reihe von Punktdaten, die angeben, ob ein Punkt in jedem Bildelement, die sich in einem Koordinatensystem, in dem die Umrißdaten definiert sind, befinden, gebildet wird, dadurch gekenn­ zeichnet, daß eine erste Koordinatenberechnungsvorrichtung (16, 38, S 2) gebildet ist zum Berechnen von Koordinatenwerten von Kreuzungen zwischen dem Umriß (46) des Bildes im Koordinatensystem (50) und einer Mehrzahl von ersten parallelen Abtastlinien (x), die dem Umriß im Koordinatensystem überlagert sind, daß eine erste Koordinatenspeichervorrichtung (12, 16, 22 a, S 3′, S 7) gebildet ist zum Speichern der Koordinatenwerte, die von der ersten Koordinaten­ berechnungsvorrichtung berechnet werden, derart, daß die Koordi­ natenwerte für jede der ersten Abtastlinien (x) der Größe ihrer Werte nach geordnet und zwei benachbarte geordnete Werte als Paar von Koordinatenwerten gepaart sind, daß eine erste Punktdatenauf­ bereitungsvorrichtung (16, 40, S 8′) gebildet ist zum Aufbereiten einer ersten Reihe von Punktdaten, derart, daß aufeinanderfolgende Bits von Punktdaten, die einer Mehrzahl von aufeinanderfolgenden Bildelementen entsprechen, die aus zwei Bildelementen, die von dem Paar von Koordinatenwerten dargestellt werden, und mindestens einem Bildelement zwischen den zwei Bildelementen bestehen, zu einem Zeitpunkt gesetzt werden, derart, daß jedes der aufeinander­ folgenden Bits einen im entsprechenden Bildelement zu bildenden Punkt angibt, daß eine zweite Koordinatenberechnungseinheit (16, 38, S 10) gebildet ist zum Berechnen von Koordinatenwerten der Kreuzungen zwischen dem Umriß des Bildes im Koordinatensystem und einer Mehrzahl von parallelen zweiten Abtastlinien (y), die dem Umriß im Koordinatensystem überlagert sind und die ersten Abtastlinien schneiden, daß eine zweite Koordinatenspeichervorrichtung (12, 16, 22 b, S 11, S 15) gebildet ist zum Speichern der Koordinatenwerte, die von der zweiten Koordinatenberechnungsvorrichtung berechnet werden, derart, daß die Koordinatenwerte für jede der zweiten Abtastlinien (y) der Größe ihres Wertes nach geordnet und zwei benachbarte der geordneten Werte für jede der zweiten Abtastlinien als Paar von Koordinatenwerten gepaart sind, daß eine zweite Punktdatenaufbereitungsvorrichtung (16, 40, S 16) gebildet ist zum Aufbereiten einer zweiten Reihe von Punktdaten, derart, daß aufeinanderfolgende Bits von Punktdaten, die einer Mehrzahl von Bildelementen entsprechen, die aus zwei Bildelementen, die von dem Paar von Koordinatenwerten für jede zweite Abtastlinie dargestellt werden, und mindestens einem Bildelement zwischen den zwei Bild­ elementen, die von dem Paar von Koordinatenwerten für jede zweite Abtastlinie dargestellt werden, zu einem Zeitpunkt gesetzt werden, derart, daß jedes der aufeinanderfolgenden Bits der zweiten Reihe von Punktdaten einen in dem entsprechenden Bildelement zu bildenden Punkt darstellt, und daß eine kombinierte Datenaufbereitungsvor­ richtung (16, 40, S 17) gebildet ist zum Aufbereiten einer Reihe von Punktdaten durch Kombinieren der ersten Reihe von Punktdaten, die von der ersten Punktdatenaufbereitungsvorrichtung aufbereitet sind und der zweiten Reihe von Punktdaten, die von der zweiten Punkt­ datenaufbereitungsvorrichtung aufbereitet sind.
8. Datenkonvertierungsvorrichtung nach Anspruch 7, dadurch gekenn­ zeichnet, daß das Bild ein Zeichen wie ein Buchstabe oder ein Symbol ist, das in einer aus einer Mehrzahl von Größen gewählten Größe reproduziert wird und daß eine Steuervorrichtung gebildet ist zum Aktivieren der zweiten Koordinatenberechnungsvorrichtung (16, 38, S 10), der zweiten Koordinatenspeichervorrichtung (12, 16, 22 b, S 11, S 15) und der zweiten Punktdatenaufbereitungsvorrichtung (16, 40, S 16), wenn die gewählte Größe kleiner als ein vorgewählter Wert ist, und daß die zweite Koordinatenberechnungsvorrichtung, die zweite Koordinatenspeichervorrichtung und die zweite Punkt­ datenaufbereitungsvorrichtung deaktiviert wird, wenn die gewählte Größe nicht kleiner als der vorgewählte Wert ist.
DE3935558A 1988-10-25 1989-10-25 Datenkonvertierungsvorrichtung Expired - Lifetime DE3935558C2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP63269074A JPH0747339B2 (ja) 1988-10-25 1988-10-25 データ変換装置
JP1078782A JPH0743584B2 (ja) 1989-03-29 1989-03-29 データ変換装置

Publications (2)

Publication Number Publication Date
DE3935558A1 true DE3935558A1 (de) 1990-04-26
DE3935558C2 DE3935558C2 (de) 1997-04-17

Family

ID=26419843

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3935558A Expired - Lifetime DE3935558C2 (de) 1988-10-25 1989-10-25 Datenkonvertierungsvorrichtung

Country Status (4)

Country Link
US (1) US5073956A (de)
DE (1) DE3935558C2 (de)
FR (1) FR2638263B1 (de)
GB (1) GB2224913B (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155805A (en) * 1989-05-08 1992-10-13 Apple Computer, Inc. Method and apparatus for moving control points in displaying digital typeface on raster output devices
JP3189276B2 (ja) * 1990-09-12 2001-07-16 ブラザー工業株式会社 データ変換装置
JP3196236B2 (ja) * 1991-05-08 2001-08-06 ブラザー工業株式会社 アウトラインデータ処理装置
US5595450A (en) * 1992-06-11 1997-01-21 Esselte N.V. Label printing apparatus with display
JP3057935B2 (ja) * 1992-11-16 2000-07-04 ブラザー工業株式会社 文字出力装置
JPH0816801A (ja) * 1994-06-30 1996-01-19 Canon Inc 画像処理方法及び装置
JP2910588B2 (ja) * 1994-10-20 1999-06-23 ブラザー工業株式会社 デ−タ変換装置
JPH08339449A (ja) * 1995-04-11 1996-12-24 Canon Inc 画像処理装置及びその方法
US6266444B1 (en) * 1996-10-11 2001-07-24 Canon Kabushiki Kaisha Character processing apparatus and method therefor
CN113391736B (zh) * 2020-12-02 2023-04-07 腾讯科技(深圳)有限公司 对象连线的确定方法和装置、存储介质及电子设备
CN113268207A (zh) * 2021-05-12 2021-08-17 武汉先同科技有限公司 一种基于图像处理技术的打印控制方法及系统
CN116579854B (zh) * 2022-12-30 2023-12-22 长安银行股份有限公司 理财风险控制数据的可视化数据处理方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4627002A (en) * 1984-02-21 1986-12-02 Dr. -Ing. Rudolf Hell Gmbh Method and apparatus for recording characters

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2147474B (en) * 1983-10-03 1987-05-07 Shaken Kk Method of processing character or pictorial image data
US4675833A (en) * 1984-04-13 1987-06-23 Xyvision, Inc. Processor controlled photocomposition system
CA1223366A (en) * 1984-09-27 1987-06-23 Abijah S. Fox System for automatic adjustment and editing of handwritten text images
JPS61249175A (ja) * 1985-04-24 1986-11-06 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 図形処理装置
US4673977A (en) * 1985-06-20 1987-06-16 International Business Machines Corporation Method of spatially thresholding a discrete color image
US4785391A (en) * 1986-02-07 1988-11-15 Bitstream Inc. Automated bitmap character generation from outlines
US4837847A (en) * 1987-02-03 1989-06-06 Canon Kabushiki Kaisha Image processing apparatus

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4627002A (en) * 1984-02-21 1986-12-02 Dr. -Ing. Rudolf Hell Gmbh Method and apparatus for recording characters

Also Published As

Publication number Publication date
DE3935558C2 (de) 1997-04-17
FR2638263A1 (fr) 1990-04-27
GB2224913B (en) 1993-03-17
FR2638263B1 (fr) 1993-08-13
GB2224913A (en) 1990-05-16
GB8924056D0 (en) 1989-12-13
US5073956A (en) 1991-12-17

Similar Documents

Publication Publication Date Title
DE3716787C2 (de)
DE3407983C2 (de) Mehrprozessorrechnersystem zum Erzeugen von Bildpunktinformationen aus in einer hierarchischen Datenstruktur definierten Objektelementen
DE2909153C2 (de) Einrichtung zur digitalen Analyse von Bild- oder Zeichenmustern
DE3806223C2 (de) Verfahren zur Erzeugung von Zeichenmustern
EP0131676B1 (de) Verfahren zum automatischen Digitalisieren des Umrisses von Strichgraphiken z.B. Buchstaben
DE2940897C2 (de) Digitales Setzgerät
DE69826044T2 (de) Vektorkartenplanarisierung und -einfang
DE3339666C2 (de)
DE3932024C2 (de) Datenverarbeitungsanlage zur Umwandlung einer Gruppe von Umrißdaten
DE3935574A1 (de) Verfahren zur minimierung der visuellen beeintraechtigung eines schriftbilds
DE3935558C2 (de) Datenkonvertierungsvorrichtung
DE2801536A1 (de) Zeichenerkennungsvorrichtung
DE2431451B2 (de) Verfahren zur normierung der strichstaerke von abgetasteten schriftzeichen sowie einrichtung zur durchfuehrung des verfahrens
DE3342947A1 (de) Verfahren zur behandlung der daten eines binaeren grafischen musters und system dafuer
DE3241673C2 (de) Verfahren zum Verdichten von Daten Zwei-wertiger Bilddarstellungen
DE4038056C2 (de) Verfahren zur Generierung und Speicherung von digitalisierten Dichteschwellwerten zur Rasterung einer Halbton-Bildvorlage
DE2833175A1 (de) Signalgenerator fuer ein anzeigesystem
DE69929110T2 (de) Einrichtung und Verfahren zur Erzeugung von Druckdaten des zweidimensionalen Koden und zugehöriges Aufzeichnungsmedia
DE3914905C2 (de)
DE4124554A1 (de) Datenumwandlungseinrichtung
DE19901934C2 (de) Verfahren zur Erzeugung eines Rahmens für grafische Objekte, die durch Bezier-Kurven beschrieben sind
DE2254913A1 (de) Verfahren zur erzeugung graphischer darstellungen aus parametrischen daten
DE60211210T2 (de) Vorrichtung und verfahren zur bildskalierung
DE4030324C2 (de) Ausgabegerät sowie Ausgabeverfahren
EP0970440B1 (de) Bildbearbeitungsverfahren und schaltungsanordnung zum verändern der bildauflösung

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: G06K 15/10

D2 Grant after examination
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: PRUFER & PARTNER GBR, 81545 MUENCHEN