Nothing Special   »   [go: up one dir, main page]

DE69326713T2 - Vorrichtung zur Übersetzung von Druckersteurungssprachen - Google Patents

Vorrichtung zur Übersetzung von Druckersteurungssprachen

Info

Publication number
DE69326713T2
DE69326713T2 DE69326713T DE69326713T DE69326713T2 DE 69326713 T2 DE69326713 T2 DE 69326713T2 DE 69326713 T DE69326713 T DE 69326713T DE 69326713 T DE69326713 T DE 69326713T DE 69326713 T2 DE69326713 T2 DE 69326713T2
Authority
DE
Germany
Prior art keywords
data
intermediate language
printer
expressed
emulation
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 - Lifetime
Application number
DE69326713T
Other languages
English (en)
Other versions
DE69326713D1 (de
Inventor
Masamichi Akashi
Takuto C/O Canon Kabushiki Kaisha Harada
Osamu Hosoda
Masami Kashiwazaki
Yoichi Toyokura
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.)
Canon Inc
Original Assignee
Canon Inc
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 JP4125133A external-priority patent/JP2783344B2/ja
Priority claimed from JP4125135A external-priority patent/JP2783345B2/ja
Application filed by Canon Inc filed Critical Canon Inc
Publication of DE69326713D1 publication Critical patent/DE69326713D1/de
Application granted granted Critical
Publication of DE69326713T2 publication Critical patent/DE69326713T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0005Accepting output data; Preparing data for the controlling system
    • G06K2215/0011Accepting output data; Preparing data for the controlling system characterised by a particular command or data flow, e.g. Page Description Language, configuration commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0005Accepting output data; Preparing data for the controlling system
    • G06K2215/0014Transforming the printer input data into internal codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0062Handling the output data combining generic and host data, e.g. filling a raster
    • G06K2215/0065Page or partial page composition

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Record Information Processing For Printing (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

  • Die Erfindung betrifft Bild- und Informationsverarbeitungs- Vorrichtungen und bezieht sich insbesondere auf eine Bildverarbeitungsvorrichtung zum Drucken und Ausgeben eines Bilds auf der Grundlage von Eingangsdaten auf ein vorbestimmtes Aufzeichnungsmedium und eine Informationsverarbeitungsvorrichtung zum Ausgeben von Daten zum Drucken und Ausgeben des Bilds auf dem vorbestimmten Aufzeichnungsmedium an die Bildverarbeitungsvorrichtung.
  • Ein typisches Beispiel einer solchen Vorrichtung ist ein hochgenauer, schneller Seitendrucker, und insbesondere ein Laserstrahldrucker. Einige jüngere Seitendrucker haben verschiedene Funktionen einschließlich einer Funktion zum Drucken glatter Zeichen unter Verwendung von Umrißzeichensätzen ohne Rücksicht auf vergrößerte/verkleinerte Zeichen.
  • Die meisten Vorrichtungen dieser Art haben Funktionen zum Emulieren von herkömmlichen Druckern, die mit einer großen Zahl von gegenwärtig verfügbaren Anwendungsprogrammen verwendet werden, um deren Ressourcen zu übernehmen. Das heißt, eine Vielzahl von Druckersprachen kann übersetzt werden, um unterschiedliche Typen von Druckern zu emulieren.
  • Ein Seitendrucker empfängt Daten einer Seite, um ein Einseitenbild zu drucken. Vor der Aufzeichnung einer Seite muß ein Bild wie beispielsweise ein zu druckendes Zeichenmuster in einem Einseitenspeicher entwickelt werden. Das Ziel jedes Zeichenmusters in dem Speicher muß vor der eigentlichen Entwicklung jedes Zeichenmusters festgelegt werden. In einigen Fällen muß auch die bestimmte Größe und die Art des Zeichenmusters festgelegt werden.
  • Es sei angenommen, daß Druckdaten für einen Drucker, dessen Wagen einfach hin- und hergefahren wird, zu emulieren ist. In diesen Daten ist vorwiegend ein Steuerbefehl zum Festlegen nur der Aufzeichnungsposition oder dergleichen des ersten Zeichens vorhanden, und Zeichencodes folgen einfach diesem Steuerbefehl. Wenn diese Daten zu emulieren sind, müssen schließlich Daten verschiedener Formate erzeugt werden, und muß eine Musterentwicklung auf der Grundlage der erzeugten Daten durchgeführt werden. Als ein Ergebnis kann der Drucker nicht frei von komplizierter Verarbeitung sein, die erforderlich ist, bis die Musterentwicklung begonnen wird.
  • Falls eine große Anzahl von Emuliationsfunktionen verfügbar ist, muß jede der Anzahlen von Analysatoren (Emulationsprogrammen) und Bitmap-Entwicklungseinheiten gleich der Anzahl von Druckersprachen sein. Die Speichergröße nimmt unvermeidlich zu, welches zu hohen Kosten führt.
  • Die (nicht vorveröffentlichte) EP-A-0 556 059 offenbart eine Druckvorrichtung, umfassend N Analysatoren, eine Beurteilungseinrichtung zum Beurteilen der Entsprechung der Analysatoren zu Eingangsdaten, und eine eine Auswahleinrichtung für die Auswahl eines der N Analysatoren. Die Analysatoren erzeugen Bitmap-Daten.
  • Die EP-A-0 450 129 offenbart ein ROM zum Speichern eines Emulationsprogramms, wobei sich die Emulationsbetriebsart von einer nativen Betriebsart unterscheidet: Darüber hinaus kann eine Vielzahl von Emulationsprogrammen auf eine Festplatte geladen werden. Ein Emulationsprogramm kann durch einen Schalter ausgewählt werden. Die Emulationsprogramme erzeugen entwickelte Daten in einem Rahmenpuffer.
  • In Übereinstimmung mit einem Aspekt wird erfindungsgemäß eine Bildverarbeitungsvorrichtung bereitgestellt zum Erzeugen von Bitmap-Bilddaten in Antwort auf einen in einer Druckersprache ausgedrückten Eingabebefehl, gekennzeichnet durch:
  • eine erste Erzeugungseinrichtung zum Erzeugen erster Daten, die in einer Zwischensprache ausgedrückt sind, aus einem ersten Eingabebefehl, der in einer ersten Druckersprache ausgedrückt ist;
  • eine zweite Erzeugungseinrichtung zum Erzeugen zweiter Daten, die in der Zwischensprache ausgedrückt sind, aus einem zweiten Eingabebefehl, der in einer zweiten Druckersprache ausgedrückt ist;
  • eine Entwicklungseinrichtung zum Entwickeln der ersten, durch die erste Erzeugungseinrichtung erzeugten Daten oder der zweiten, durch die zweite Erzeugungseinrichtung erzeugten Daten in Bitmap-Bilddaten; und
  • eine Speichereinrichtung zum Speichern von Information bezüglich verschiedener Funktionen zum Veranlassen der ersten und der zweiten Erzeugungseinrichtung, den ersten bzw. den zweiten Eingabebefehl in die ersten bzw. die zweiten Daten, die in der Zwischensprache ausgedrückt sind, umzuwandeln.
  • In Übereinstimmung mit einem weiteren Aspekt wird erfindungsgemäß ein Bildverarbeitungsverfahren bereitgestellt zum Erzeugen von Bitmap-Bilddaten in Antwort auf einen in einer Druckersprache ausgedrückten Eingabebefehl, gekennzeichnet durch:
  • Erzeugen erster Daten, die in einer Zwischensprache ausgedrückt sind, aus einem ersten Eingabebefehl, der in einer ersten Druckersprache ausgedrückt ist;
  • Erzeugen zweiter Daten, die in der Zwischensprache ausgedrückt sind, aus einem zweiten Eingabebefehl, der in einer zweiten Druckersprache ausgedrückt ist;
  • Entwickeln der ersten Daten oder zweiten Daten in Bitmap-Bilddaten; und
  • Speichern von Information bezüglich verschiedener Funktionen zum Veranlassen der Erzeugung der ersten und der zweiten Daten, die in der Zwischensprache ausgedrückt sind.
  • Ausführungsbeispiele der Erfindung werden nun unter Bezugnahme auf die beigefügten Zeichnungen beschrieben. Es zeigen:
  • Fig. 1 ein vereinfachtes Blockdiagramm einer Bildverarbeitungsvorrichtung in Übereinstimmung mit dem ersten Ausführungsbeispiel der Erfindung;
  • Fig. 2 ein Blockdiagramm, das eine Anordnung einer Bildverarbeitungsvorrichtung zeigt, die allen Ausführungsbeispielen gemeinsam ist;
  • Fig. 3 eine Ansicht, die eine Struktur eines Druckwerks zeigt, das allen Ausführungsbeispiele gemeinsam ist;
  • Fig. 4 ein Diagramm eines Zeichenhandhabungsverfahrens in dem ersten Ausführungsbeispiel;
  • Fig. 5 ein Diagramm eines Bildhandhabungsverfahrens in dem ersten Ausführungsbeispiel;
  • Fig. 6 ein Ablaufdiagramm, das eine Hauptroutine in dem ersten Ausführungsbeispiel zeigt;
  • Fig. 7 ein Ablaufdiagramm, das einen Prozeß eines Analysators in dem ersten Ausführungsbeispiel zeigt;
  • Fig. 8 ein vereinfachtes Blockdiagramm einer Bildverarbeitungsvorrichtung gemäß dem zweiten Ausführungsbeispiel;
  • Fig. 9 ein Ablaufdiagramm, das die Inhalte einer in dem zweiten Ausführungsbeispiel hinzugefügten Verarbeitung zeigt;
  • Fig. 10 eine Zeichensatz-Attributtabelle, die allen Ausführungsbeispielen gemeinsam ist;
  • Fig. 11 ein vereinfachtes Blockdiagramm einer Bildverarbeitungsvorrichtung gemäß dem dritten Ausführungsbeispiel;
  • Fig. 12 eine Ansicht, die das Format von Emulationsprogrammdaten zeigt, die in dem dritten Ausführungsbeispiel heruntergeladen werden;
  • Fig. 13 eine Unterscheidungsprogrammtabelle, die allen Ausführungsbeispiele gemeinsam ist;
  • Fig. 14 eine Verwaltungstabelle, die allen Ausführungsbeispiele gemeinsam ist;
  • Fig. 15 ein Ablaufdiagramm, das die Verarbeitungsinhalte zeigt, die einem Bedienfeld in dem dritten Ausführungsbeispiel zugeordnet sind;
  • Fig. 16 ein vereinfachtes Blockdiagramm einer Bildverarbeitungsvorrichtung gemäß dem vierten Ausführungsbeispiel;
  • Fig. 17 ein Ablaufdiagramm einer Verarbeitung, die in dem vierten Ausführungsbeispiel hinzugefügt ist;
  • Fig. 18 ein Format von Zwischensprachdaten, die von einer externen Vorrichtung in dem vierten Ausführungsbeispiel gesendet werden;
  • Fig. 19 eine Ansicht, die die Beziehung zwischen Eingangsdaten und einem Ausgabebild in dem fünften Ausführungsbeispiel zeigt;
  • Fig. 20 ein Eingangsdatenformat in dem fünften Ausführungsbeispiel;
  • Fig. 21 ein Ablaufdiagramm, das eine Hauptroutine in dem fünften Ausführungsbeispiel zeigt;
  • Fig. 22(A) bis 22(D) detaillierte Formate einer Zwischensprache während der Zeichenhandhabung in allen Ausführungsbeispielen;
  • Fig. 23(A) bis 23(C) detaillierte Formate der Zwischensprache während der Bildhandhabung in allen Ausführungsbeispielen;
  • Fig. 24 eine perspektivische Ansicht, die die interne Struktur eines Tintenstrahldruckers zeigt, auf den die Erfindung anwendbar ist; und
  • Fig. 25 ein Blockdiagramm einer Steuerschaltung des in Fig. 24 gezeigten Tintenstrahldruckers.
  • Ein erstes Ausführungsbeispiel der Erfindung wird nachstehend unter Bezugnahme auf Fig. 1 bis 7 der beigefügten Zeichnungen beschrieben. Dieses Ausführungsbeispiel erläutert beispielhaft einen Laserstrahldrucker (Auflösung: 300 dpi). Wie der folgenden Beschreibung entnehmbar ist, ist die Erfindung gleichermaßen auf einen Thermotransferdrucker, einen Tintenstrahldrucker, einen Drahtpunkt-Anschlagdrucker oder derglei chen anwendbar. Die Erfindung ist nicht auf bestimmtes Drucksystem oder einen bestimmten Drucker beschränkt.
  • [Beschreibung der allgemeinen Anordnung und des allgemeinen Betriebs]
  • Fig. 1 ist ein vereinfachtes Blockdiagramm einer Bildverarbeitungsvorrichtung gemäß einem Ausführungsbeispiel der Erfindung. Der Betrieb dieses Ausführungsbeispiels wird nachstehend allgemein beschrieben.
  • Eine Vielzahl externer Vorrichtungen 301 und 302, die als Druckdatenquellen dienen, sind mit der Vorrichtung dieses Ausführungsbeispiels verbunden (aus diesem Grund hat die Vorrichtung eine Vielzahl von Eingabeschnittstellen). Eine Eingabeeinheit 11 in einer Drucker-Steuereinheit 101 (die noch im einzelnen zu beschreiben ist) empfängt von den externen Vorrichtungen 301 und 302 gesendete Druckdaten (bestehend aus einer Druckersprache). Die Eingabeeinheit 11 bestätigt nur die Daten von der externen Vorrichtung, die die Druckdaten zuerst gesendet hat. Während die Druckdaten ununterbrochen von dieser externen Vorrichtung gesendet werden, hemmt die Eingabeeinheit 11 den Empfang von Druckdaten von anderen externen Vorrichtungen.
  • Die Inhalte der empfangenen Druckdaten werden analysiert, um einen bestimmten der Analysatoren der Vorrichtung, der die Eingangsdruckdaten verarbeitet, auszuwählen. In anderen Worten prüft die Eingabeeinheit 11 einen in den empfangenen Druckdaten enthaltenen Steuerbefehl und wählt eine bestimmte Druckersprache aus, die diesem Steuerbefehl entspricht. Die Eingabeeinheit 11 führt dann die Druckersprache einem von einer Vielzahl von Analysatoren 12a und 12b zu, der diese Drukkersprache übersetzen kann. Das heißt, die Eingabeeinheit 11 umfaßt eine automatische Schnittstellen-Umschaltfunktion und eine automatische Analysator-Auswahlfunktion.
  • Die Analysatoren 12a und 12b können als Emulationsprogramme zum Übersetzen von Steuerbefehlen betrachtet werden, die in verschiedenen Druckersprachen enthalten sind. Es soll in diesem Ausführungsbeispiel angemerkt werden, daß jeder Analysator (Emulationsprogramm) gemeinsame Zwischenausdruck-Sprachdaten (nachstehend der Einfachheit halber als Zwischensprachdaten bezeichnet) erzeugt, aber keine Punktentwicklung durchführt. Details der Zwischensprachdaten werden später im einzelnen beschrieben.
  • Jeder Analysator empfängt eine Druckersprache, die für ihn selbst geeignet ist, und erzeugt Punktmustererzeugungs-Zwischensprachdaten unter Bezugnahme auf eine Zwischenausdruck- Erzeugungs-Standardbibliothek 13 (einem Satz verschiedener Funktionen, die der Zwischensprachenerzeugung zugeordnet sind) und Zeichensatz-Skalierer 15a und 15b. Wie vorstehend beschrieben wurde, sind die Druckersprachen, die von den jeweiligen Analysatoren analysiert werden, verschieden voneinander, aber die jeweiligen Analysatoren geben gemeinsame Zwischensprachdaten aus.
  • Eine Ausgabe irgendeines Analysators kann einer gemeinsamen Punktmuster-Entwicklungseinheit (Rastereinrichtung) 14 übergeben werden. Die Rastereinrichtung 14 rastert die Eingabedaten als Punktdaten, und die Punktdaten können in einem Seitenspeichor (Bitmap-Speicher) 16 entwickelt werden. Das in dem Seitenspeicher 16 entwickelte Punktbild wird durch eine Ausgabeeinheit 17 sequentiell als Video-Signale an einen Ausgabemechanismus (Druckwerk) 200 ausgegeben, wodurch die Ausgabedaten gedruckt werden.
  • Bei der vorstehenden Verarbeitung braucht dann, wenn ein Analysator (Emulationsprogramm) neu vorzubereiten ist, das Emulationsprogramm kein der Punktentwicklung zugeordnetes Programm enthalten, sondern kann nur ein Programm zum Erzeugen von Daten (Zwischensprache) enthalten, das von der Rastereinrichtung 14 ausgeführt werden kann, wodurch die Last auf den den Programmierer reduziert wird. Darüber hinaus kann natürlich die Größe (Speicherkapazität) des Analysators reduziert werden, wodurch zu einer Abnahme der Kosten beigetragen wird.
  • [Beschreibung der Zwischensprachdaten]
  • Nachstehend wird eine Zwischensprache beschrieben.
  • Empfangene Druckdaten (bestehend aus einer Druckersprache) sind für den Menschen allgemein und relativ verständlich. In anderen Worten sind die Druckdaten keine Daten, die ein Format haben, das direkt von der CPU in der Bildverarbeitungsvorrichtung übersetzt wird. Alle Druckdaten können jedes Mal dann übersetzt werden, wenn sie empfangen werden, um entsprechende Punktdaten zu erzeugen. Die Zeit, die benötigt wird, um alle Druckdaten zu übersetzen, ist nicht vernachlässigbar. Infolgedessen wird die Zeit, die erforderlich ist, bis die externe Vorrichtung von der Druckdatenausgabe-Verarbeitung befreit wird, unerwünscht verlängert.
  • Um dies zu verhindern, werden empfangene Daten in Sprachdaten (d. h. Daten, die leicht von der CPU übersetzt werden können) mit einem niedrigeren Niveau als dasjenige der empfangenen Daten umgewandelt, und werden die umgewandelten Daten gespeichert und gehalten. Wenn diese Niedrigniveau-Sprachdaten durch beispielsweise eine Seite in einem Zwischensprachenbereich 24c (der noch zu beschreiben ist) gespeichert werden, wird die eigentliche Punktentwicklung durchgeführt. Die Niedrigniveau-Sprachdaten werden in diesem Ausführungsbeispiel Zwischensprachdaten genannt. Das heißt, die Zwischensprachdaten sind eine Druckersprache, die umgewandelt wurde, um die Punktentwicklung zu erleichtern.
  • Zum Beispiel erzeugt bei dem Drucken sogar eines Zeichens die CPU das entsprechende Zeichenmuster auf der Grundlage verschiedener Arten von Informationen wie beispielsweise der Art von Zeichen, einem Vergrößerungsverhältnis, einer Druckposition, einer Drehrichtung, und einer Modifikationsinformation, und kann das erzeugte Zeichenmuster in einem Druckspeicher entwickelt werden. In diesem Ausführungsbeispiel haben die Zwischensprachdaten, die von den Analysatoren 12a und 12b erzeugt werden, ein Format, das aus einem Identifikationscode zum Identifizieren der Art der Verarbeitung und Parametern besteht, die dem Identifikationscode nachfolgen, um die Steuerung dieser Verarbeitung zu übergeben:
  • Zwischensprachdatenformat (Binärdaten: ... Identifikationscode, p1, p2, ..., pn, Identifikationscode, p1, p2, ..., pm, ... (worin p1, ... pm, ..., pn Parameter repräsentieren, deren Anzahl von einem gegebenen Identifikationscode abhängt).
  • Die Rastereinrichtung 14 führt eine Funktion (Subroutinenprogramm) entsprechend einem entsprechenden Identifikationscode aus, um die erzeugten Zwischensprachdaten auszuführen. Zu dieser Zeit werden, falls entsprechende Parameter vorhanden sind, vor der Ausführung der erzeugten Zwischensprachdaten auch die Parameter der Funktion übergeben. In der Praxis speichert ein (nicht gezeigter) Analysator in der Rastereinrichtung 14 eine Funktion entsprechend einem in den Zwischensprachdaten enthaltenen Identifikationscode, und wird die Funktion, die dem Identifikationscode in den Zwischensprachdaten entspricht, ausgeführt.
  • Fig. 4 und 5 zeigen einen vereinfachten Ablauf der Verarbeiten dieses Ausführungsbeispiels. Fig. 4 zeigt die Verarbeitungsinhalte, die einem Zeichenhandhabungsprozeß zugeordnet sind, und Fig. 5 zeigt die Verarbeitungsinhalte, die einem Bildhandhabungsprozeß zugeordnet sind. Der Zeichenhandhabungsprozeß wird kurz unter Bezugnahme auf Fig. 4 beschrieben. Wenn der Analysator 12a (oder 12b) einen Positionsangabebefehl (logische Koordinaten), einen Zeichensatz-Auswahlbefehl, einen Zeichencode und dergleichen empfängt, die in den Daten, die durch die Eingabeeinheit 11 empfangen wurden, enthalten sind, analysiert der Analysator 12a die empfangenen Daten und erzeugt die Identifikationsinformation (ID-Code) und deren Parameter unter Verwendung verschiedener Funktionen, die In der Zwischensprache-Erzeugungs-Standardbibliothek 13 gespeichert sind, und erzeugt dadurch Zwischenausdruckdaten. Dieser Betriebsablauf gilt auch für den Analysator 12a (oder 12b) für das Bild in Fig. 5. Verschiedene Arten von erzeugter Information für ein Zeichen sind eine Zeichen-Bitmap, ein physikalischer X- und Y-Koordinaten-Angabebefehl, Schnittinformation und dergleichen. Was Bilddaten anbelangt, erzeugt der Analysator 12a (oder 12b) eine Arbeitsbereich-Reservierungsanweisung jedes zugeführten Bilds und Information, die das Bild spezifizieren. Zur gleichen Zeit erzeugt der Analysator 12a Zwischenausdruckdaten einschließlich Bildentwicklungspositionsinformationen der in der Reservierungsposition gespeicherten Daten, Schnittinformationen und Bildmodifikationsinformationen, falls notwendig (falls die empfangenen Druckdaten eine Bildmodifikationsanweisung enthalten).
  • Ein Beispiel einer Zwischensprache bei der Zeichenhandhabung ist in Fig. 22(A) bis 22(D) gezeigt, und ein Beispiel einer Zwischensprache bei der Bildhandhabung ist in Fig. 23(A) bis 23(C) gezeigt. Die Zwischensprache, die bei der Zeichenhandhabung erzeugt wird, beinhaltet Schneiden, Zeichenlogik, ein Vergrößerungsverhältnis und ein Bitmap-Muster. Die Zwischensprache, die bei der Bildhandhabung erzeugt wird, beinhaltet Daten, die zu jenen der Zwischensprache, die bei der Zeichenhandhabung erzeugt wird, identisch sind, und Information, die einem Bildmuster zugeordnet ist. Diese Zwischensprachdaten sind nicht alle Zwischensprachdaten, die in diesem Ausführungsbeispiel gehandhabt werden. In entweder Zeichen- oder Bilddaten ist ein Identifikations-ID-Code (Information, die eine Aufruffunktion spezifiziert), der die Bedeutung jeder Zwischensprachdaten repräsentiert, am Anfang der erzeugten Zwischensprachdaten vorhanden. Daten, die auf jede Identifikations-ID folgen, sind Parameter, die an die entsprechende Verarbeitung übergeben werden. Die Anzahl von Parametern hängt von jeder Identifikations-ID ab.
  • Es wird angemerkt, daß das Schneiden (üblicherweise bei der Zeichenhandhabung und der Bildhandhabung vorhanden) dazu verwendet wird, ein Zeichen- oder Bildmuster innerhalb eines gekennzeichneten rechteckigen Gebiets zu entwickeln (dieses Gebiet ist durch die oberen linken X- und Y-Koordinaten, eine Breite und eine Höhe gekennzeichnet). In anderen Worten ist Schneiden ein Erklärungsausdruck zum Hemmen der Entwicklung eines Abschnitts, der über dieses Gebiet hinausgeht, außer wenn ein weiteres Schneiden vorhanden ist. Ein Parameter "Zeichenlogik" in der Zeichenlogik (üblicherweise bei der Zeichenhandhabung und der Bildhandhabung vorhanden) repräsentiert eine Anweisung zum Kennzeichnen eines logischen Ausdrucks zum Entwickeln eines Musters oder Bilds. Im einzelnen ist Information zum Anweisen einer überschreibenden Entwicklung, einer transparenten Entwicklung (logisches ODER) oder einer Exklusiv-ODER-Entwicklung des entwickelten Musters gespeichert. In diesem Fall wird die aktuelle Logik für die nachfolgenden Muster verwendet, außer wenn eine bestimmte Anweisung zugeführt wird. Die Vergrößerungsverhältnis-Information hat zwei Parameter, weil die horizontalen und vertikalen Vergrößerungsverhältnisse voneinander unabhängig sind. Ein Bitmap-Muster hat Koordinatenposition-Parameter zur Entwicklung zusätzlich zu Informationen zum Spezifizieren eines zu entwickelnden Bitmap-Musters.
  • Die Zwischensprachdaten bei der Bildhandhabung haben fast dieselben Inhalte wie vorstehend beschrieben. Das Format von Zwischensprachdaten zum Entwickeln eines empfangenen Bilds als deren Merkmal wird nachstehend beschrieben.
  • Wie vorangehend beschrieben wurde, speichert dann, wenn Bilddaten empfangen werden, der Analysator 12a (oder 12b) die Bilddaten in einem Arbeitsbereich 24a in einem RAM 24 und erzeugt eine für diese Bilddaten einmalige ID-Nummer. Ein "Bildmustercode" in Fig. 23(C) repräsentiert diesen ID-Code. Parameter, die auf den ID-Code folgen, sind Parameter, die der Bildmuster-Entwicklungsverarbeitung übergeben werden. Diese Parameter sind Daten, die repräsentieren, wie die durch den durch den Bildmustercode spezifizierten Bilddaten modifiziert werden. Im einzelnen stellen diese sechs Informationen Elemente in einer Matrix dar, die bei der Verarbeitung zum Modifizieren einer Bildmuster-Entwicklungsfunktion verwendet wird. Die Bildmuster-Entwicklungsfunktion wandelt originale Koordinaten (XS, YS) jedes Pixels in dem gekennzeichneten Muster in Übereinstimmung mit der Matrix, die aus den gegebenen Parametern besteht, in Modifikations-Zielkoordinaten (XD, YD) um. Ein Pixel, der an den Koordinaten (XS, YS) im originalen Muster vorhanden ist, wird in Koordinaten (XD, YD) übertragen. Diese Koordinaten stellen keine absoluten Koordinaten werte des Speichers zum Entwickeln eines Druckbilds dar, sondern lokale Koordinaten innerhalb des durch das Schneiden spezifizierten rechteckigen Gebiets.
  • Bezugnehmend auf Fig. 4 oder 5 sind die Formate von den Analysatoren 12a und 12b zugeführten Druckdaten in Abhängigkeit von den durch die Analysatoren zu analysierenden Druckersprachen stark voneinander verschieden. Wie vorstehend beschrieben wurde, ist die Zwischensprache die Druckersprache, die umgewandelt wurde, um die Übersetzung der Rastereinrichtung 14 zu erleichtern.
  • [Beschreibung der detaillierten Anordnung]
  • Die detaillierte Anordnung der Bildverarbeitungsvorrichtung dieses Ausführungsbeispiels ist in Fig. 2 gezeigt. Diese Anordnung gilt als eine gemeinsame Struktur für alle folgenden Ausführungsbeispiele.
  • Die Bildverarbeitungsvorrichtung beinhaltet eine Drucker- Steuereinheit 21 und Schnittstellen (I/F) 21a und 21b, die jeweils mit den externen Vorrichtungen (einem Hostcomputer oder dergleichen) 301 und 302 verbunden sind. Jede Schnittstelle kann eine parallele oder eine serielle Schnittstelle sein. Eine CPU 22 steuert den gesamten Betriebsablauf der Vorrichtung. Ein ROM 23 speichert grundlegende Programme (d. h. Programme, die dem Holen von Daten über Schnittstellen zugeordnet sind, und eine Verarbeitungssequenz (die noch zu beschreiben ist) in Fig. 6), die durch die CPU 22 ausgeführt werden. Das RAM 24 beinhaltet den Arbeitsbereich 24a, auf den während der Ausführung verschiedener Verarbeitungsvorgänge von der CPU 22 Bezug genommen wird, einen Eingangspufferbereich 24b zum vorübergehenden Speichern von empfangenen Druckdaten, und den Zwischensprachenbereich 24c zum Speichern der vorstehend beschriebenen Zwischensprachdaten. Obwohl das RAM 24 andere Datenbereiche hat, werden diese später im einzelnen beschrieben. Speicher 25a und 25b (entsprechend den Analysatoren 12a und 12b in Fig. 1) speichern Emulationsprogramme zum Übersetzen verschiedener Druckersprachen. Die Speicher 25a und 25b umfassen ROM-Speicher oder dergleichen. Ein Zwischensprachen-Erzeugungsbibliothek-Speicher 26 (entsprechend der Zwischenausdruck-Erzeugungs-Standardbibliothek 13 in Fig. 1) speichert einen Satz verschiedener Funktionen zum Erzeugen der Zwischensprache. Speicher 27a und 27b speichern Zeichensatz-Skalierer-Daten, um den Druck unterschiedlicher Arten von Zeichen (z. B. Gothic- und Mincho-Schriftarten) zu ermöglichen, wie in diesem Ausführungsbeispiel beschrieben wird. Die Inhalte der Zeichensatz-Skalierer-Speicher 27a und 27b beinhalten ein Programm zum Erzeugen von Umrißzeichensatzdaten 15 jeder Schriftart und ein endgültiges Zeichenmuster auf der Grundlage der Umrißzeichensatzdaten 15. Die Speicher 26, 27a und 27b umfassen ROM-Speicher oder dergleichen.
  • Ein Bitmap-Speicher 28 (entsprechend dem Seitenspeicher 16 in Fig. 1) hat eine Kapazität zum Entwickeln eines einseitigen Punktbilds. Eine Ausgabe-I/F 29 gibt sequentiell die in dem Bitmap-Speicher 28 entwickelten Punktinformationen in Form von Video-Signalen an ein Druckwerk (Ausgabe-Mechanismus) 200 aus. Ein nichtflüchtiger Speicher 31 (nachstehend in Kurzform als NVRAM bezeichnet) speichert und hält verschiedene Einstellinhalte und umfaßt beispielsweise ein E²PROM. Ein Bedienfeld 30 umfaßt verschiedene Bedienknöpfe und eine LCD- Anzeigeeinheit. Eine Festplatte 32 speichert verschiedene Daten, die von den externen Vorrichtungen 301 und 302 in den Arbeitsbereich 24a des RAM 24 heruntergeladen wurden. Die vorstehenden, bestandteilbildenden Komponenten sind mit einem Systembus 33 verbunden.
  • Die Struktur des Druckwerks 200 eines Laserstrahldruckers dieses Ausführungsbeispiels wird nachstehend unter Bezugnahme auf Fig. 3 beschrieben.
  • Bezugnehmend auf Fig. 3 beinhaltet der Laserstrahldrucker einen Laserstrahldrucker-Hauptaufbau (LBP) 100 und die Drucker- Steuereinheit 101, die sämtliche der von einer punktierten Linie in Fig. 2 umgebenen Komponenten einschließt. Die Drucker-Steuereinheit 101 wandelt hauptsächlich Zeicheninforma tionen in ein Video-Signal des entsprechenden Zeichenmusters um und gibt es an einen Lasertreiber 102 aus.
  • Der Lasertreiber 102 ist eine Schaltung zum Ansteuern eines Halbleiterlasers 103. Der Lasertreiber 102 steuert den EIN/AUS-Zustand eines Laserstrahls 104 des Halbleiterlasers 103 in Übereinstimmung mit dem von der Ausgabe-I/F (Schnittstelle) 29 zugeführten Video-Signal. Der Laserstrahl 104 wird von einem sich drehenden Polygonspiegel 105 in der Rechts-Links- Richtung verschoben, tastet eine elektrostatische Trommel 106 ab und belichtet diese, wodurch ein latentes Bild entsprechend dem Zeichenmuster auf der elektrostatischen Trommel 106 gebildet wird. Dieses latente Bild wird durch eine Entwicklungseinheit 107, die sich um die elektrostatische Trommel 106 herum befindet, entwickelt und auf Aufzeichnungspapier übertragen. Das Aufzeichnungspapier ist ein geschnittenes Blatt. Die Aufzeichnungsblätter werden in einer Papierkassette 108, die an dem LBP 100 angebracht ist, aufbewahrt. Jedes Aufzeichnungsblatt wird von einer Papieraufnahmewalze 109 aufgenommen und durch Förderwalzen 110 und 111 in das Innere der Vorrichtung transportiert. Das Blatt wird dann der elektrostatischen Trommel 106 zugeführt.
  • [Beschreibung von Verarbeitungsinhalten)
  • Obwohl die Beschreibung ungeordnet wird, gibt in diesem Ausführungsbeispiel dann, wenn Druckdaten von beispielsweise den externen Vorrichtungen 301 ausgegeben werden, die entsprechende I/F 21a ein Unterbrechungssignal an die CPU 22 aus. Bei Empfang dieses Unterbrechungssignals führt die CPU 22 eine Unterbrechungsverarbeitung (Routine) aus, wie nachstehend kurz beschrieben wird.
  • In der Unterbrechungsroutine lädt die CPU 22 die Eingabedaten aus der unterbrochenen I/F 21a und speichert sie in dem Eingangspufferbereich 24b. Wenn alle I/F freigegeben sind, wie zum Zeitpunkt des Einschaltens, wird nur die I/F, die die Druckdaten zuerst ausgibt (d. h. die I/F, die das Unterbrechungssignal zuerst erzeugt) freigeschaltet, und die übrigen I/F werden gesperrt (irgendwelche anderen Druckdaten werden nicht angenommen).
  • Auf der Grundlage der Annahme, daß die vorstehende Unterbrechungsverarbeitung durchgeführt wird, wird nachstehend der Betriebsablauf (Hauptroutine) der CPU 22 unter Bezugnahme auf Fig. 6 beschrieben.
  • Wenn der Netzschalter der Vorrichtung eingeschaltet wird, wird in Schritt S1 eine Initialisierung durchgeführt. Diese Initialisierung beinhaltet einen Vorgang zum Freigeben aller Eingabe-I/F 21a und 21b. In Schritt S2 ermittelt die CPU 22, ob alle I/F 21a und 21b in einen Online-Zustand (Datenempfangszustand) versetzt sind. Falls JA in Schritt S2, schreitet der Ablauf zu Schritt S3 fort, um zu ermitteln, ob die Druckdaten im Eingangspufferbereich 24b gespeichert sind.
  • Falls JA in Schritt S3, schreitet der Ablauf zu Schritt S4 fort, um die I/F-Freigabezeit zu initialisieren (d. h. ein (nicht gezeigter) Zeitgeber wird zurückgesetzt). Die Bedeutung der I/F-Freigabezeit wird in der nachfolgenden Beschreibung klargestellt.
  • Die CPU 22 ermittelt in Schritt S5, ob ein bestimmter Analysator für die Eingabedaten ausgewählt ist, d. h. ob entweder der Emulationsprogrammspeicher 25a oder 25b verwendet wird. Im Ausgangszustand ist die Auswahl des Emulationsprogrammspeichers nicht festgelegt. Der Ablauf schreitet zu Schritt S6 fort. Wenn jedoch die Verarbeitung der Druckdaten in einem gewissem Ausmaß im Fortgang ist, d. h. wenn das Emulationsprogramm bereits ausgewählt ist, verzweigt der Ablauf zu Schritt S9.
  • In Schritt S6 wird eine bestimmte Druckersprache auf der Grundlage des Steuercodes ausgewählt, der in den Daten enthalten ist, die im Eingangspufferbereich 24b gespeichert sind, und wird das entsprechende Emulationsprogramm ausgewählt. Zu dieser Zeit schreitet, falls das entsprechende Emulationsprogramm nicht vorhanden ist oder eine Vielzahl von Emulationsprogrammen vorhanden sind (Schritt S7), der Ablauf zu Schritt S8 fort, um einen Standard-Analysator auszuwählen. Falls ermittelt wird, daß eine Vielzahl von Analysator-Kandidaten vorhanden ist, wird das Emulationsprogramm, das eine höchste Dringlichkeitsstufe hat, ausgewählt (die vorrangige Reihenfolge ist vorbestimmt). Auf diese Art und Weise wird ein Emulationsprogramm festgelegt.
  • Unter der Annahme, daß in Schritt S5 ermittelt wird, daß eines der Emulationsprogramme bereits ausgewählt ist, daß ein passendes Emulationsprogramm in Schritt S6 ausgewählt ist, und daß das Standard-Emulationsprogramm ausgewählt ist, schreitet der Ablauf zu Schritt S9 fort.
  • In Schritt S9 wird das ausgewählte (oder bereits ausgewählte) Emulationsprogramm (Analysator) ausgeführt (aufgerufen). Das auszuführende Emulationsprogramm hat einen Inhalt, der sich in Abhängigkeit von Arten von Emulationsprogrammen ändert. In jedem Fall werden dann, wenn die Analyse ausgeführt wird und der Ablauf zu der Hauptroutine zurückkehrt (Schritt S10), auf ein Blatt zu druckende Zwischensprachdaten in dem Zwischensprachenbereich 24c in dem RAM 24 gespeichert.
  • In Schritt S10 wird das entsprechende Bitmap-Muster in dem Bitmap-Speicher 28 auf der Grundlage der erzeugten Zwischensprachdaten entwickelt.
  • Wenn das auf ein Blatt zu druckende Muster entwickelt ist, schreitet der Ablauf zu Schritt S11 fort, um ein bekanntes Video-Signal durch die Ausgabe-I/F 29 auszugeben. Wenn das Drucken auf ein Blatt beendet ist, kehrt der Ablauf zu Schritt S3 zurück, und die vorstehenden Verarbeitungsvorgänge werden wiederholt. Jedes Mal, wenn ein Zyklus vollständig ist, werden die I/F-Freigabezeit zurückgesetzt und ein geeignetes Emulationsprogramm ausgewählt. In diesem Fall wird in Schritt S5 JA erhalten, so daß die Vorgänge in Schritten S6 bis S8 nicht durchgeführt werden.
  • Während der Druckvorgang auf der Grundlage des einzigen ausgewählten Emulationsprogramms andauert, beendet die externe Vorrichtung, die die Druckdaten ausgegeben hat, die Ausgabe von Druckdaten, so daß keine zu verarbeitenden Daten in dem Eingangspufferbereich 24b vorhanden sind; der Ablauf verzweigt von Schritt S3 zu 512.
  • Die CPU 22 ermittelt, ob die I/F-Freigabezeit verstrichen ist. Das heißt, die CPU 22 ermittelt, ob die externe Vorrichtung die Ausgabe einer Folge von Druckdaten beendet. Falls NEIN in Schritt S12, kehrt der Ablauf zu Schritt S2 zurück, um in einer Schleife durch die Schritte S3 und S12 zu laufen. Wenn die CPU 22 ermittelt, daß Druckdaten von der externen Vorrichtung nach Verstreichen der I/F-Freigabezeit nicht empfangen werden, schreitet der Ablauf von Schritt S12 zu Schritt S13 fort, um alle I/F 21a und 21b freizugeben, um den Empfang von allen externen Vorrichtungen 301 und 302 zu ermöglichen.
  • In der Hauptroutine werden Druckdaten in dem Bitmap-Speicher 28 in Übereinstimmung mit den gemeinsamen Zwischensprachdaten entwickelt, die von jedem Emulationsprogramm erzeugt wurden. Daher können die jeweiligen Emulationsprogramme frei von der Entwicklung von Bitmap-Daten sein.
  • Die Inhalte der Analyse des Emulationsprogramms in Schritt S9 werden nachstehend unter Bezugnahme auf ein Ablaufdiagramm in Fig. 7 beschrieben. Das folgende Emulationsprogramm entspricht einer Druckersprache.
  • Wenn dieses Emulationsprogramm, beispielsweise der Emullationsprogrammspeicher 25a, in der Hauptroutine aufgerufen wird, wird eine Analyse unter Verwendung der in dem Eingangspufferbereich 24b gespeicherten Eingabedaten in Schritt S21 durchgeführt. Die CPU 22 ermittelt in Schritt S22, ob die Eingabedaten ein Befehl für eine neue Seite sind (Druckbefehl). Falls NEIN in Schritt S22, schreitet der Ablauf zu Schritt S23 fort, um diese Daten zu analysieren (Schritt S23). Der Identifikationscode und seine Parameter werden erzeugt, um Zwischensprachdaten unter Verwendung verschiedener, in dem Zwischensprachen-Erzeugungs-Bibliothekspeicher 26 gespeicherter Funktionen zu bilden (Schritt S24), und die resultierenden Zwischensprachdaten werden in dem Zwischensprachenbereich 24c gespeichert. Bis ein Befehl für eine neue Seite erfaßt wird, werden die Vorgänge von Schritt S21 wiederholt. Wenn ein Befehl für eine neue Seite erfaßt wird, kehrt der Ablauf zu Schritt S10 der Hauptverarbeitung zurück.
  • Wenn der Ablauf auf diese Art und Weise zu der Hauptroutine zurückkehrt, sind Zwischensprachdaten einer Seite in dem Zwischensprachenbereich 24c gespeichert.
  • Ein Emulationsprogramm für eine Druckersprache für einen Drucker zum Hin- und Herbewegen eines Wagens, um Informationen zu drucken, wird im Prinzip wie vorstehend beschrieben verarbeitet. Da jedoch unter Umständen ein Befehl für eine neue Seite nicht empfangen werden kann, kann die Anzahl von Zeilen auf der Grundlage eines Zeilenabstands für die zu emulierende Sprache verwendet werden, um den Entscheidungsblock in Schritt S22 zu bestimmen.
  • Auch dann, wenn eine Druckersprache, die keinen bestimmten Zeichensatz kennzeichnet, empfangen wird (d. h. Ereignis, falls sein Emulationsprogramm ein Programm ist, das nicht von einem bestimmten Zeichensatz-Skalierer abhängt), wählt ein Benutzer einen Zeichensatz-Skalierer auf dem Bedienfeld 30 aus oder bestimmt es im voraus (der Einstellinhalt kann in dem NVRAM 31 gespeichert und gehalten sein), um ein gewünschtes Druckergebnis zu erhalten. In anderen Worten können die Zeichensatz-Skalierer 15a und 15b, die in der Vorrichtung angeordnet sind, frei als die gemeinsamen Ressourcen verwendet werden.
  • Wie vorstehend beschrieben wurde, ist gemäß diesem Ausführungsbeispiel der gemeinsame Zwischensprachen-Erzeugungs- Bibliothekspeicher 26 angeordnet, und führen die Emulationsprogrammspeicher 25a und 25b nur einen Betriebsablauf durch zum Erzeugen der gemeinsamen Zwischensprachdaten. Eine Entwicklungsumgebung zum Neuentwickeln eines Emulationsprogramms kann verbessert werden, und eine Speicherkapazität hierfür kann klein sein, wodurch die Kosten reduziert werden. Ein Emulationsprogramm kann selektiv Zeichensätze von einer Vielzahl von Zeichensatz-Skalierern verwenden.
  • In dem vorstehenden Ausführungsbeispiel kehrt jedes Mal dann, wenn jeder Analysator Zwischensprachdaten einer Seite erzeugt, der Ablauf zu der Hauptroutine zurück. Die Menge der Zwischensprachdaten muß jedoch nicht die einer Seite sein, sondern kann kleiner als die einer Seite sein. Darüber hinaus kann die Punktmusterentwicklung auf der Grundlage der Zwischensprachdaten gleichzeitig mit der Erzeugung der Zwischensprachdatengeneration durchgeführt werden.
  • [Beschreibung des zweiten Ausführungsbeispiels]
  • In dem vorstehenden Ausführungsbeispiel (erstes Ausführungsbeispiel) werden die in der Vorrichtung angeordneten Zeichensatz-Skalierer 15a und 15b verwendet. Jedoch kann ein Zeichensatz-Skalierer 15c, der von einer externen Vorrichtung gewünscht wird, übertragen und in der Vorrichtung registriert werden. Das heißt, Zeichensatz-Skalierer-Daten werden von der externen Vorrichtung zu der Vorrichtung der Erfindung heruntergeladen. Dies wird als das zweite Ausführungsbeispiel beschrieben. Die Anzahl von Zeichensatz-Skalierern, die neu zu registrieren sind, ist nicht auf eins beschränkt, sondern kann zwei oder mehr sein.
  • Die vereinfachte Anordnung des zweiten Ausführungsbeispiels ist in Fig. 8 gezeigt und wird nachstehend beschrieben.
  • Bezugnehmend auf Fig. 8 beispielsweise sendet eine externe Vorrichtung 301 einen Steuerbefehl (Herunterladebefehl) zum Herunterladen von Zeichensatz-Skalierer-Daten einen Code, der repräsentiert, daß die Herunterladedaten Zeichensatz- Skalierer-Daten sind, die Gesamtzahl von zu sendenden Bit, Zeichensatz-Skalierer-Daten und Prüfsummendaten an die Vorrichtung dieses Ausführungsbeispiels. Zusätzlich zu dem Herunterladebefehl wird auch der die Art von Daten repräsentierende Code gesendet, weil ein Herunterladeobjekt nicht auf die Zeichensatz-Skalierer-Daten beschränkt ist (dies wird in einem nachfolgenden Ausführungsbeispiel beschrieben). Eine Verarbeitung zum Unterscheiden, ob Eingangsdaten Zeichensatz- Skalierer-Daten sind, wird vor der Verarbeitung durchgeführt (Schritt S6 in Fig. 6) zum Unterscheiden einer Druckersprache, wenn eine Eingabeeinheit 11 normale Druckdaten zuführt. Es wird angemerkt, daß die externe Vorrichtung nicht auf die externe Vorrichtung 301 beschränkt ist, sondern eine externe Vorrichtung 302 oder eine beliebige andere externe Vorrichtung sein kann.
  • Eine Verarbeitung zum Bestimmen, ob ein zugeführter Befehl ein Herunterladebefehl ist, und eine Verarbeitung zum Ausführen eines Herunterladevorgangs (falls so) kann jedem Emulationsprogramm hinzugefügt werden. Ein Programm selbst, das herunterzuladen ist, braucht nicht in jedem Emulationsprogramm festgelegt zu sein. Falls dieses Programm in einem ROM 23 gespeichert ist, können auch nur eine Verarbeitung zum Unterscheiden, ob der zugeführte Befehl ein Herunterladebefehl ist, und eine Verarbeitung zum Aufrufen dieser Herunterlade- Ermittlungsverarbeitung ausgeführt werden, um die Speicherkapazität dementsprechend zu reduzieren.
  • In dem zweiten Ausführungsbeispiel sendet die externe Vorrichtung einen Herunterladebefehl, Daten, die die Gesamtzahl von Bytes eines Zeichensatz-Skalierers repräsentieren (ein Programm zum Vergrößern oder Verkleinern eines Zeichenmusters und Erzeugen eines vergrößerten oder verkleinerten Zeichenmusters und seiner Umrißzeichensatzdaten), und dann eigentliche Zeichensatz-Skalierer-Daten. Diese Daten werden in einem Eingangspufferbereich 24b in einem RAM 24 gespeichert.
  • Die auf diese Art und Weise gesendeten Zeichensatz-Skalierer- Daten werden schließlich in einem Arbeitsbereich 24a in dem RAM 24 gespeichert. Zeichensatz-Skalierer-Verwaltungsinformationen (Zeichensatz-Attributtabelle), die in dem Arbeitsbereich 24a in dem RAM 24 gehalten werden, werden aktualisiert. Wenn der Netzschalter ausgeschaltet wird, werden die heruntergeladenen Daten und die Zeichensatz-Attributtabelle gelöscht. Die heruntergeladenen Daten können bei Bedarf auf einer Festplatte 32 gespeichert werden. Wenn der Netzschalter eingeschaltet wird, wird auf die Zeichensatz-Attributtabelle auf der Grundlage der Daten von der Festplatte 32 zugegrif fen. Es wird angemerkt, daß die Speicherinhalte des RAM 24 von einer (nicht gezeigten) Sicherungsbatterie gehalten werden.
  • Der Benutzer kann den neu heruntergeladenen Zeichensatz-Skalierer 15c als die gemeinsame Ressource verwenden. Das heißt, wie in den existierenden Zeichensatz-Skalierern 15a und 15b, können die heruntergeladenen Zeichensatz-Skalierer-Daten unabhängig von Emulationsprogrammen frei ausgewählt werden.
  • Um die vorstehende Verarbeitung zu verwirklichen, wird die Betriebsablaufsequenz einer CPU 22 in dem zweiten Ausführungsbeispiel unter Bezugnahme auf ein Ablaufdiagramm in Fig. 9 beschrieben. Dieses Ablaufdiagramm wird eingefügt, wenn in Schritt S5 in Fig. 6 NEIN erhalten wird, d. h. sofort vor Schritt S6.
  • NEIN wird in Schritt S5 erhalten, wenn ein zu druckender Analysator (Emulationsprogramm) als nicht auswählbar festgelegt ist, d. h. wenn Druckdaten bei einem Einschaltvorgang zum ersten Mal empfangen werden oder neue Daten bei Abschluß einer Reihe von Druckvorgängen und Freigabe aller Eingabe-I/F 21a und 21b empfangen werden.
  • Falls NEIN in Schritt S5 in Fig. 6 erhalten wird und der Ablauf zu Schritt S31 in Fig. 9 fortschreitet, ermittelt die CPU 22, ob die Eingangsdaten ein Herunterladebefehl sind. Falls die CPU 22 ermittelt, daß die Eingangsdaten bzw. zugeführten Daten kein Herunterladebefehl sind, sondern Druckdaten, schreitet der Ablauf zu Schritt S6 in Fig. 6 fort, wie vorangehend beschrieben wurde.
  • Falls die CPU 22 in Schritt S31 ermittelt, daß die Eingangsdaten der Herunterladebefehl sind, beschafft die CPU 22 die Gesamtzahl von Bytes in Schritt S32. Die Gesamtzahl von zu empfangenden Bytes wird mit der Leerkapazität des Arbeitsbereichs 24a in dem RAM 24 verglichen, um zu ermitteln, ob die Daten in dem Arbeitsbereich 24a in dem RAM 24 gespeichert werden können. Falls NEIN in Schritt S33, werden die folgenden Daten übersprungen, und kehrt der Ablauf zu Schritt S2 in Fig. 6 zurück. Zu dieser Zeit wird, wenn die Verarbeitung des Überspringens abgeschlossen ist, die andere Eingabe-I/F, die gesperrt worden war, freigegeben.
  • Falls JA in Schritt S33, ermittelt die CPU 22 in Schritt S35, ob zu sendende Daten Zeichensatz-Skalierer-Daten sind. Falls NEIN in Schritt S35, schreitet der Ablauf zu Schritt S36 fort, um die entsprechenden Daten herunterzuladen, und kehrt der Ablauf zu Schritt S2 zurück. Zu dieser Zeit wird, wenn die Herunterlade-Verarbeitung abgeschlossen ist, die andere I/F, die gesperrt worden war, freigegeben. Die Ermittlung in Schritt S35 wird durchgeführt durch Ermitteln, ob der Herunterladebefehl in den zu sendenden Daten vorhanden ist.
  • Falls die CPU 22 ermittelt, daß die Eingangsdaten die Zeichensatz-Skalierer-Daten sind (d. h. der Herunterladebefehl in den Eingangsdaten enthalten ist), schreitet der Ablauf zu Schritt S37 fort, und sequentiell zugeführte Daten werden in dem in dem RAM 24 allokierten Arbeitsbereich 24a gespeichert. Zu dieser Zeit wird die Gesamtzahl von Bytes während der Speicherung der Eingangsdaten in dem Arbeitsbereich 24a berechnet. Darüber hinaus können die in den Arbeitsbereich 24a heruntergeladenen Daten auch auf der Festplatte 32 gespeichert werden.
  • Wie vorstehend beschrieben wurde, werden die Eingangsdaten abschließend in den Arbeitsbereich 24a in dem RAM 24 heruntergeladen. Die schließlich empfangene Anzahl von Bytes wird mit dem vorausgehenden Summenergebnis verglichen, um zu ermitteln, ob die Daten korrekt empfangen wurden. Falls dem so ist, schreitet der Ablauf zu Schritt S39 fort, um Zeichensätze zu registrieren, die in die Zeichensatz-Attributtabelle heruntergeladen wurden, die in dem Arbeitsbereich 24a allokiert ist. Falls eine Prüfsumme gleich NG ist, schreitet der Ablauf zu Schritt S40 fort, um alle heruntergeladenen Daten zu löschen, um den zugewiesenen Arbeitsbereich 24a für andere Verarbeitungsvorgänge freizugeben.
  • In jedem Fall wird in Schritten S39 und S40 die andere Eingabe-I/F, die durch die vorstehende Empfangsverarbeitung ge sperrt wurde, freigegeben, und der Ablauf kehrt zu Schritt S2 zurück.
  • Eine Zeichensatz-Attributtabelle (allen Ausführungsbeispielen gemeinsam) ist in Fig. 10 gezeigt. Diese Tabelle umfaßt die Namen von Zeichensatz-Skalierern und Speicherzieladressen von Programmen zum Verwirklichen dieser Zeichensatz-Skalierer. In der dargestellten Tabelle werden die Inhalte der Tabelle durch Herunterladen der Zeichensatz-Skalierer-Daten aktualisiert. Es wird angemerkt, daß "EOT" eine Markierung ist, die das Tabellenende repräsentiert.
  • Gemäß dem zweiten Ausführungsbeispiel wie vorstehend beschrieben kann, weil die Zeichensatz-Skalierer-Daten von der externen Vorrichtung (z. B. einem Hostcomputer) heruntergeladen werden können, der Zeichensatz-Skalierer 15c neu registriert werden.
  • Jedes Emulationsprogramm kann selektiv zwischen den Zeichensatz-Skalierern 15a und 15b als die Standard-Zeichensatz- Skalierer und dem neu registrierten Zeichensatz-Skalierer 15c wechseln. Daher können ausdrucksvollere Ausgaben erhalten werden.
  • [Beschreibung des dritten Ausführungsbeispiels]
  • Das dritte Ausführungsbeispiel erläutert beispielhaft das Herunterladen eines neuen Analysators (Emulationsprogramms). Der Zweck dieses Ausführungsbeispiels besteht darin, leicht mit einer Druckersprache umgehen zu können, die inkompatibel mit einer Vorrichtung der Erfindung ist, ohne eine neue Schaltung zu dieser Vorrichtung hinzuzufügen. Zu Zwecken der Annehmlichkeit der Beschreibung sind Analysatoren (Emulationsprogramme) 12a und 12b der Vorrichtung dieses Ausführungsbeispiels Standard-Analysatoren, und wird ein neuer Analysator 12c heruntergeladen. Die Analysatoren 12a, 12b und 12c werden verwendet, um die Zwischensprachdaten zu erzeugen, die unter Bezugnahme auf das erste und das zweite Ausführungsbeispiel beschrieben wurden.
  • Das vereinfachte Blockdiagramm des dritten Ausführungsbeispiels ist in Fig. 11 gezeigt.
  • Zwei Emulationsprogramme als die Analysatoren 12a und 12b sind als die Standard-Emulationsprogramme in der Vorrichtung vorgesehen, und der neue dritte Analysator 12c wird in der.
  • Vorrichtung registriert. Beispielsweise werden abschließend Daten eines Emulationsprogramms, die von einer externen Vorrichtung 301 heruntergeladen wurde, in einem Arbeitsbereich 24a in einem RAM 24 gespeichert, wie in dem zweiten Ausführungsbeispiel.
  • Die Herunterlade-Verarbeitung des Emulationsprogramms von der externen Vorrichtung 301 ist im wesentlichen dieselbe wie das in dem zweiten Ausführungsbeispiel beschriebene Herunterladen von Zeichensatz-Skalierer-Daten, so daß eine detaillierte Beschreibung derselben weggelassen wird. Dieses Herunterladen des Emulationsprogramm wird in Schritt S36 in Fig. 9 durchgeführt.
  • Fig. 12 zeigt die Inhalte der Emulationsprogrammdaten in allen Daten, die von der externen Vorrichtung 301 gesendet werden.
  • Wie in Fig. 12 gezeigt, ist ein Emulationsname, das die Entsprechung zwischen dem Emulationsprogramm und einer bestimmten Druckersprache repräsentiert, als Vorspanndaten angeordnet. Unterscheidungsprogrammdaten, Einstellprogrammdaten, und dann eigentliche Emulationsprogrammdaten folgen dem Emulationsnamen. Der Herunterladebefehl, der repräsentiert, daß die Eingangsdaten Herunterladedaten sind, der Code, der repräsentiert, daß die Herunterladedaten Emulationsdaten sind, und die Gesamtzahl von Bytes, wie unter Bezugnahme auf das zweite Ausführungsbeispiel beschrieben, befinden sich vor den vorstehenden Daten.
  • Die Unterscheidungsprogrammdaten werden bei der Verarbeitung von Schritt S6 in Fig. 6 in dem ersten Ausführungsbeispiel verwendet. Das Unterscheidungsprogramm ermittelt, ob die Eingangsdaten seiner eigenen Emulation entsprechen. Das Unter scheidungsprogramm beinhaltet eine Vielzahl von Steuerbefehlen (Datenformat-Informationen, die ein bestimmtes Format von Parametern repräsentieren), die einzigartig für die zu analysierende Druckersprache sind.
  • Die Einstellprogrammdaten sind ein Programm zum Ermitteln verschiedener Einstellelementen, die von seinem Emulationsprogramm gebraucht werden, und Details der Einstellprogrammdaten werden später beschrieben.
  • Nachdem die Daten mit dem in Fig. 12 gezeigten Format korrekt in den Arbeitsbereich 24a in dem RAM 24 heruntergeladen wurden, aktualisiert eine CPU 22 verschiedene Tabellen der Vorrichtung in Übereinstimmung mit den heruntergeladenen Daten. Im einzelnen werden eine Unterscheidungsprogramm-Tabelle und eine Verwaltungstabelle, die in dem Arbeitsbereich 24a angeordnet sind, aktualisiert. Das heißt, das neu heruntergeladene Emulationsprogramm wird in diesen Tabellen gespeichert.
  • Eine Unterscheidungsprogrammtabelle ist in Fig. 13 gezeigt, und eine Verwaltungstabelle ist in Fig. 14 gezeigt. Es wird angemerkt, daß "EOT" in jeder Tabelle eine Markierung ist, die das Ende von Tabellendaten repräsentiert. Das Format dieser Tabellen ist identisch zu dem der vorausgehenden Ausführungsbeispiele und nachfolgender Ausführungsbeispiele.
  • Die Unterscheidungsprogrammtabelle in Fig. 13 repräsentiert, daß Emulationsprogramme A und B von vorneherein in der Vorrichtung vorhanden sind, und daß ein Emulationsprogramm C neu registriert wird. Eine automatische Unterscheidungsverarbeitung in Schritt S6 in Fig. 6 in dem ersten Ausführungsbeispiel ruft sequentiell die Unterscheidungsprogramme der Analysatoren, die durch diese Unterscheidungsprogrammtabelle repräsentiert werden, auf und führt eine Ermittlung auf der Grundlage des Ergebnisses des Aufrufs durch. Beispielsweise kann jedes Unterscheidungsprogramm als ein Programm zum Ermitteln, ob ein Steuerbefehl in den Daten, die in einem Eingangspufferbereich 24b gespeichert sind, mit seinem eigenen Emulationsprogramm kompatibel ist, betrachtet werden.
  • Dies gilt auch für die in Fig. 14 gezeigte Verwaltungstabelle. Elemente außer "Emulation C" sind in der Vorrichtung von Anfang an vorhanden.
  • Verschiedene Druckerumgebungen werden auf einem Bedienfeld 30 eingestellt. Die Umgebungen beinhalten Einstellungen, die in sämtlichen Emulationsprogrammen gemeinsam verwendet werden, wie beispielsweise die Schnittstellen-Übertragungsgeschwindigkeit, und eine für jedes Emulationsprogramm einmalige Umgebungseinstellung. Diese Umgebungseinstellung wird abschließend in einem NVRAM 31 gespeichert und auch dann gehalten, wenn der Netzschalter ausgeschaltet wird.
  • Der Vorrichtung dieses Ausführungsbeispiels beinhaltet eine Vielzahl von Eingabe-I/F 21a und 21b, wie in Fig. 1 oder 2 gezeigt. Diese I/F beinhalten eine parallele Schnittstelle und eine serielle Schnittstelle wie beispielsweise eine RS- 232C-Schnittstelle.
  • Das Element "Schnittstelle" in dieser Verwaltungstabelle verwaltet diese I/F (Speicherzieladressen des zu der I/F in Bezug stehenden Programms werden gespeichert). Dieses Programm beinhaltet eine Verarbeitung zum Einstellen einer Übertragungsgeschwindigkeit oder dergleichen, falls eine gegebene Eingabe-I/F eine serielle Schnittstelle ist.
  • Das Element "Steuerung" der Verwaltungstabelle verwaltet die Einstellung der Größe und des Rands eines Aufzeichnungspapiers, das in einer Papierkassette aufbewahrt wird, oder dergleichen (Speicherzieladressen eines zu der Steuerung in Bezug stehenden Programms).
  • Das Element "Speicher (MEM)" verwaltet die Einstellung der Kapazität eines gegenwärtig eingebauten Speichers (die Speicherkapazität kann vergrößert werden), die Größe des Eingangspufferbereichs 24b (wenn diese Größe zunimmt, kann die externe Vorrichtung früher von ihrer eigenen Druckdaten-Ausgabeverarbeitung befreit werden), und dergleichen.
  • Elemente "Emulation A, Emulation B und Emulation C" verwalten Programme zum Einstellen von Umgebungen, die einmalig für die jeweiligen Emulationen und die Speicherzieladressen der Emulationsprogramme sind. Als ein Umgebungseinstellprogramm können eine bestimmte Art und Größe von Zeichensätzen als die Standardwerte beispielsweise der Emulation A ausgewählt werden.
  • Das Element "Initialisierung" gibt an, daß jeder im NVRAM 31 gespeicherte Umgebungswert auf den Wert zur Zeit der Fabrikauslieferung zurückgesetzt wird.
  • Ein heruntergeladenes Emulationsprogramm wird unmittelbar vor dem Element "Initialisierung" registriert.
  • Von dem durch diese Tabelle verwalteten Programm werden smtliche Daten außer dem heruntergeladenen Programm und den heruntergeladenen Daten in einem Emulationsprogrammspeicher 25a oder 25b gespeichert.
  • Eine Verarbeitungssequenz einer Benutzerschnittstelle auf der Grundlage der Verwaltungstabelle wird unter Bezugnahme auf Fig. 15 beschrieben. Eine Einrichtetaste und eine Auswahltaste in der nachfolgenden Beschreibung sind in einer Tastengruppe auf dem Bedienfeld 30 angeordnet, und "i" ist eine Zeigervariable, die ein Verwaltungstabellenelement repräsentiert, das in dem Arbeitsbereich in dem RAM 24 allokiert ist.
  • Falls die CPU 22 eine Tasteneingabe in Schritt S61 erfaßt, ermittelt die CPU 22 in Schritt S62, ob diese Taste eine Einrichtetaste ist. Falls NEIN in Schritt S62, schreitet der Ablauf zu Schritt S63 fort, um die entsprechende Verarbeitung durchzuführen.
  • Falls JA in Schritt S62, schreitet der Ablauf zu Schritt S64 fort, um einen Ausgangswert von "0" in der Variablen i auszutauschen. Die Variable i wird in Schritt S65 um Eins inkrementiert. Die CPU 22 ermittelt in Schritt S66, ob das i-te Element in der Verwaltungstabelle "EOT" ist. Falls JA in Schritt S66, repräsentiert die Zeigervariable i das Ende der Tabelle, so daß die Zeigervariable 1 aktualisiert wird, um das Vorspannelement in Schritt S67 zu repräsentieren.
  • In jedem Fall wird der i-te Elementname auf der LCD-Anzeigeeinheit angezeigt, die in dem Bedienfeld 30 angeordnet ist, und wartet die CPU 22 auf die nächste Tasteneingabe in Schritt S69.
  • Falls die CPU 22 ermittelt, daß die Eingabetaste die Einrichtetaste ist (Schritt S70), kehrt der Ablauf zu Schritt S65 zurück, um dieselbe Verarbeitung wie vorstehend beschrieben durchzuführen, wodurch der nächste Elementname angezeigt wird. Jedes Mal, wenn die Einrichtetaste gedrückt wird, wird der nächste Elementname sequentiell auf der LCD-Anzeigeeinheit angezeigt.
  • Wenn der Benutzer den Einrichtetaste mehrere Male drückt, um sich zu versichern, daß der gewünschte Elementname angezeigt wird, drückt der Benutzer die Auswahltasten. Wenn die CPU 22 das Drücken de Auswahltaste erfaßt (Schritt S71), schreitet der Ablauf zu Schritt S72 fort, um das Elementeinstellprogramm aufzurufen, das durch die Variable i repräsentiert wird. Da jedes Einstellprogramm von jedem Element abhängt, wird eine Beschreibung hiervon weggelassen. In jedem Fall schaltet der Benutzer die Betriebsabläufe in Übereinstimmung mit den auf der LCD-Anzeigeeinheit angezeigten Inhalten weiter.
  • Gemäß dem vorstehend beschriebenen dritten Ausführungsbeispiel kann eine gewünschte Emulationsfunktion auf geeignete Art und Weise hinzugefügt werden, ohne die Vorrichtung zu modifizieren.
  • Ein Verfahren zum Betätigen des Bedienfelds ist in einen Betriebsabschnitt zum Einstellen der für die gesamte Vorrichtung gemeinsamen Umgebung und einen Betriebsabschnitt zum Einstellen einer für jede Emulation einmaligen Umgebung unterteilt. Dieser Zustand kann auch dann beibehalten werden, wenn eine neue Emulation heruntergeladen wird. In anderen Worten kann der Benutzer zusätzlich Kenntnis von Betriebsab läufen des heruntergeladenen Emulationsprogramms erlangen, und kann die integrierte Betriebsumgebung beibehalten werden, wodurch eine sehr nützliche Benutzerschnittstelle bereitgestellt wird. Vom Standpunkt der Entwicklung eines Emulationsprogramms aus gesehen wird nur ein Programm zum Betreiben der entsprechenden Emulation erstellt, wodurch die Entwicklung erleichtert wird.
  • Da ein Programm zum Unterscheiden, ob die Daten durch eine Druckersprache geschrieben werden, die von den Druckdaten selbst unterstützt wird, in den heruntergeladen Emulationsprogrammdaten enthalten ist, kann die automatische Unterscheidungsfunktion direkt durchgeführt werden.
  • [Beschreibung des vierten Ausführungsbeispiels]
  • In den vorstehend beschriebenen ersten bis dritten Ausführungsbeispielen erzeugt ein beliebiger Analysator schließlich die gemeinsamen Zwischensprachdaten. Ein Bitmap-Muster wird in einem Bitmap-Speicher 28 durch die gemeinsame Entwicklung entwickelt und dann gedruckt.
  • Unter Berücksichtigung neuerer elektronischer Verfahren haben die Verarbeitungskapazitäten (Verarbeitungsgeschwindigkeiten) von externen Vorrichtungen bemerkenswert zugenommen. Das vierte Ausführungsbeispiel wird beispielhaft eine Anordnung erläutern, bei der die Verarbeitung zum Erzeugen von Zwischensprachdaten von einer externen Vorrichtung geteilt und der Druckvorgang mit einer höheren Geschwindigkeit durchgeführt wird.
  • Die vereinfachte Anordnung des vierten Ausführungsbeispiels wird unter Bezugnahme auf Fig. 16 beschrieben.
  • Wie in Fig. 16 gezeigt, gibt in einer normalen externen Vorrichtung (beispielsweise einer externen Vorrichtung 302) ein in dieser laufendes Anwendungsprogramm 304 Druckdaten durch einen Druckertreiber 307 aus. Demgegenüber hat eine externe Vorrichtung (beispielsweise eine externe Vorrichtung 301) als das kennzeichnende Merkmal des vierten Ausführungsbeispiels bestandteilbildende Komponenten (beispielsweise eine Zwischensprachen-Bibliothek 13, Zeichensatz-Skalierer 15a und 15b und Analysatoren 12a und 12b), die zum Erzeugen einer Zwischensprache erforderlich sind. Das Niveau der Druckdaten, die von einem Anwendungsprogramm 303 ausgegeben werden, wird auf das Niveau der Zwischensprachdaten durch einen Druckertreiber 305 oder 306 gesenkt, und die Zwischensprachdaten werden an eine Steuereinheit 101 in der Bildverarbeitungsvorrichtung ausgegeben. Das heißt, die Druckersprache, die von dem Anwendungsprogramm 303 ausgegeben wird, wird in die Zwischensprache umgewandelt, die leicht durch eine Rastereinrichtung 14 in der Bildverarbeitungsvorrichtung interpretiert werden kann, und die Zwischensprache wird an die Bildverarbeitungsvorrichtung ausgegeben.
  • Fig. 18 zeigt das Format der Zwischensprachdaten, die von der externen Vorrichtung 301 ausgegeben werden. "1000" in Fig. 18 ist ein Zahlenwert, der die Gesamtzahl von Bytes der Zwischensprachdaten repräsentiert. Dieser Abschnitt ändert sich in Abhängigkeit von einer gegebenen Bedingung. In diesem Fall repräsentieren 1000 Bytes von "#> GS, 1000CR" bis zu der Endmarke, d. h. "#> EOT", die Zwischensprachdaten.
  • Die Verarbeitung wird durchgeführt, um zu ermitteln, ob die in einem Eingangspufferbereich 24b gespeicherten Daten die Zwischensprachdaten sind. Falls ermittelt wird, daß die in dem Eingangspuffer 24b gespeicherten Daten keine Daten sind, die die Form einer Zwischensprache haben, wird die Verarbeitung in den ersten bis dritten Ausführungsbeispielen durchgeführt. Falls jedoch ermittelt wird, daß die in dem Eingangspuffer 24b gespeicherten Daten Daten sind, die die Form der Zwischensprachdaten haben, wird ein Bitmap-Muster auf der Grundlage dieser Zwischensprachdaten in einem Bitmap-Speicher (Seitenspeicher 16) entwickelt und gedruckt.
  • Im einzelnen wird ein Entscheidungschritt S81 in Fig. 17 unmittelbar vor Schritt S6 in Fig. 6 (oder unmittelbar vor Schritt S31 in Fig. 9) eingefügt, um die vorstehende Verar beitung zu verwirklichen.
  • Bei der Bitmap-Entwicklung, die durchgeführt wird, nachdem ermittelt wurde, daß die Eingangsdaten Daten in der Form der Zwischensprache sind und der Ablauf zu Schritt S10 fortschreitet, werden die Zwischensprachdaten derart verarbeitet, daß sie nicht in einem Zwischensprachenbereich 24c, sondern in dem Eingangspufferbereich 24b gespeichert werden.
  • Gemäß dem vierten Ausführungsbeispiel, wie vorstehend beschrieben, wird die Bildverarbeitungsvorrichtung selbst betrieben, um Zwischensprachdaten direkt zuzuführen. Die Bildverarbeitungsvorrichtung ist frei von einer Verarbeitung zum Erzeugen von Zwischensprachdaten, wie in den ersten bis dritten Ausführungsbeispielen beschrieben, wodurch die Druckgeschwindigkeit erhöht wird. Darüber hinaus kann dann, wenn ein neues Emulationsprogramm herunterzuladen ist, ein Speicher erweitert werden. Gemäß dem vierten Ausführungsbeispiel braucht jedoch eine solche Speichererweiterung nicht berücksichtigt zu werden, wodurch eine Vorrichtung mit einer großen Anzahl vor Emulationsfunktionen bei niedrigen Kosten bereitgestellt wird.
  • [Beschreibung des fünften Ausführungsbeispiels]
  • Externe Vorrichtungen geben verschiedene Druckersprachen aus, wie vorangehend beschrieben wurde. Manche Druckersprachen sind für Sätze geeignet; manche für Zahlen; und manche für Bilder.
  • Das fünfte Ausführungsbeispiel erläutert beispielhaft eine Anordnung, bei der ein Bild auf der Grundlage einer Vielzahl von Druckersprachen, d. h. einer Vielzahl von Emulation, auf einer Seite gedruckt wird.
  • Um dies zu verwirklichen, sendet eine externe Vorrichtung Daten, die aus einem Paar von eigentlichen Druckdaten und einem Emulationsangabebefehl, der die Art von Emulationsdaten und eine Datenlänge (Größe) repräsentiert, bestehen, und wird ab schließend ein Papierauswurfanweisungsbefehl zum Drucken von Informationen auf das Papier und Auswerfen des Papiers an das Ende der gesendeten Daten angefügt, wie in Fig. 19 gezeigt.
  • In dem dargestellten Fall sind Emulationsdaten A Drucksprachedaten, die zum Drucken eines Textes geeignet sind; Emulationsdaten B Drucksprachedaten zum Drucken einer Zahl; Emulationsdaten C Drucksprachedaten zum Drucken eines Punktbilds; und Emulationsdaten D Drucksprachedaten zum Drucken einer Zahl.
  • Das detaillierte Format der Eingangsdaten ist in Fig. 20 gezeigt.
  • Wie in Fig. 20 gezeigt, besteht der Emulationsangabebefehl aus einem Emulationsnamen, der mit "#> " beginnt, einem Komma, einer Größe und einem Code für eine neue Zeile. Der Papierauswurfanweisungsbefehl ist "#> EOT".
  • Eine Verarbeitungssequenz der Vorrichtung mit dem vorstehenden Datenformat ist in Fig. 21 gezeigt und wird nachstehend beschrieben.
  • Wenn der Netzschalter der Vorrichtung eingeschaltet wird, wird wie in dem ersten Ausführungsbeispiel die Initialisierung begonnen. Ein Schritt zum Ermitteln, ob der Online-Zustand eingestellt ist, die Rücksetzung der I/F-Freigabezeit bei Erfassung von Daten im Eingangspufferbereich 24b und die Verarbeitung in Abwesenheit der Daten im Eingangspufferbereich sind dieselben wie diejenigen in dem ersten Ausführungsbeispiel. Nachstehend werden Betriebsabläufe ab Schritt S95 beschrieben.
  • In Schritt S95 wird der Vorspannabschnitt der in dem Eingangspufferbereich 24b gespeicherten Daten überprüft, um zu ermitteln, ob es sich um einen Emulationsangabebefehl handelt. Falls JA in Schritt S95, schreitet der Ablauf zu Schritt S96 fort, um das gekennzeichnete Emulationsprogramm (Analysator) zu veranlassen, die Zwischensprachdaten in einer gekennzeichneten Größe zu erzeugen. Wenn diese Verarbeitung beendet ist, kehrt der Ablauf zu Schritt S93 zurück, um die nächsten Daten zu verarbeiten. Auf diese Art und Weise werden die Zwischensprachdaten, die durch den Emulationsangabebefehl angegeben werden, erzeugt.
  • Falls ermittelt wird, daß der Vorspannabschnitt der Eingangsdaten zu Beginn eines Druckzyklus oder Daten, die auf die von einem Analysator zum Erzeugen von Zwischensprachdaten verwendeten Eingangsdaten folgen, kein Emulationsangabebefehl sind, schreitet der Ablauf zu Schritt S97 fort. Die CPU 22 ermittelt, ob diese Daten ein Papierauswurfanweisungsbefehl sind sind. Falls NEIN in Schritt S97, schreitet der Ablauf zu Schritt S98 fort, um dieselben Betriebsabläufe wie in den vorstehend beschriebenen ersten bis vierten Ausführungsbeispielen durchzuführen.
  • Falls ermittelt wird, daß die Eingangsdaten ein Papierauswurfanweisungsbefehl sind, wird ein Muster auf der Grundlage aller in dem Zwischensprachenbereich 24c erzeugter Zwischensprachdaten in dem Bitmap-Speicher 28 entwickelt. Die entwickelten Daten werden in Schritt S100 ausgegeben.
  • In der vorstehenden Verarbeitung werden, nachdem Zwischensprachdaten einer Seite durch jeden Analysator (Emulationsprogramm) erzeugt sind, diese in ein Bitmap-Muster entwickelt. Jedoch kann jedesmal dann, wenn Zwischensprachdaten durch jeden Analysator erzeugt sind, eine Musterentwicklung durchgeführt werden. In diesem Fall wird die Entwicklungsverarbeitung unmittelbar nach Schritt S96 durchgeführt.
  • Dies gilt nicht für einen Fall, in dem die Musterentwicklung gleichzeitig mit der Zwischensprachdatenerzeugung durchgeführt wird. Wenn jeder Analysator (Emulationsprogramm) von der Hauptroutine aufgerufen wird, können Zwischensprachdaten durch die angegebene Anzahl von Bytes erzeugt werden, so daß eine ausführliche Beschreibung hiervon weggelassen wird.
  • Gemäß dem fünften Ausführungsbeispiel wie vorstehend beschrieben kann, da ein Bild auf der Grundlage einer Vielzahl von Druckersprachen auf einer Seite gebildet werden kann, ein beeindruckendes Bild erhalten werden.
  • Wenn eine Anweisung hohen Niveaus oder ein Angabebefehl gesendet wird, wie in dem fünften Ausführungsbeispiel, kann eine solche Funktion zu einem in der externen Vorrichtung der Vorrichtung dieses Ausführungsbeispiels betriebenen Betriebssystem oder einem Druckertreiber hinzugefügt werden. In manchen Fällen können Druckersprachen für die kreierten Sätze, Zahlen und Bilder in Übereinstimmung mit einem in der externen Vorrichtung laufenden Anwendungsprogramm angegeben werden. Darüber hinaus wird ein Betriebssystem in einer Ausschnitt-und-Einfüge-Form betrieben, um partielle Daten zusammenzufügen, die von einem Anwendungsprogramm zum Bilden eines Satzes, einem Anwendungsprogramm zum Bilden einer Zahl, und einem Anwendungsprogramm zum Editieren eines von einem Scanner oder dergleichen gelesenen Bilds angegeben werden. Wenn das zusammengefügte Bild auszugeben ist, können die Daten unter Verwendung des Formats des fünften Ausführungsbeispiels aufgebaut und ausgegeben werden.
  • In den ersten bis fünften Ausführungsbeispielen ist jede der Anzahlen externer Vorrichtungen (301 und 302), der entsprechenden Eingabeschnittstellen (21a und 21b) und der Zeichensatz-Skalierer (15a und 15b) nicht auf zwei beschränkt, sondern kann drei oder mehr sein. Jede der Anzahlen von neu registrierten Analysatoren 12c und Zeichensatz-Skalierern 15c braucht nicht auf eins beschränkt zu sein, sondern kann zwei oder mehr sein.
  • Die Erfindung kann auf ein System angewandt werden, das aus einer Vielzahl von Einrichtungen oder aus einer durch eine Einrichtung gebildeten Vorrichtung besteht. Darüber hinaus kann die Erfindung durch Bereitstellen eines Programms für das System oder die Vorrichtung erzielt werden.
  • Die Bildverarbeitungsvorrichtung jedes vorstehend beschriebenen Ausführungsbeispiels verwendet beispielhaft einen Laserstrahldrucker. Die Erfindung ist jedoch nicht hierauf beschränkt. Die Erfindung ist gleichermaßen auf einen Tintenstrahldrucker anwendbar, der noch zu beschreiben ist.
  • (1) Allgemeine Beschreibung des Hauptaufbaus der Vorrichtung
  • Fig. 24 ist eine perspektive Ansicht einer Tintenstrahl-Aufzeichnungsvorrichtung JIRA, auf die die Erfindung anwendbar ist. Bezugnehmend auf Fig. 24 hat ein Wagen HC, der mit einer spiralförmigen Nut 5004 einer Führungsschraube 5005 in Eingriff steht, die verriegelt mit der normalen/umgekehrten Drehung eines Antriebsmotors 5013 durch Antriebskraft übertragende Getriebe 5011 und 5009 in Drehung versetzt wird, einen (nicht gezeigten) Stift und kann in durch Pfeile a und b angegebene Richtungen hin und her bewegt werden. Eine Tintenstrahlpatrone IJC ist auf dem Wagen HC angebracht. Eine Papierandruckplatte 5002 drückt das Papier in der Wagenbewegungsrichtung durch eine Schreibwalze 5000. Photokoppler 5007 und 5008 sind Ausgangsposition-Erfassungseinrichtungen zum Erfassen des Vorhandenseins eines Hebels 5006 des Wagens innerhalb dieses Bereichs, um die Drehrichtung des Motors 5013 umzuschalten. Ein Element 5016 stützt ein Nockenelement 5022 zum Verschließen der Stirnfläche eines Aufzeichnungskopfs. Eine Saugeinrichtung 5015 zieht die Tinte aus der Kappe, um den Aufzeichnungskopf durch eine Öffnung 5023 in der Kappe wiederherzustellen bzw. zu reinigen. Eine Reinigungsklinge 5017 wird durch ein Element 5019 vor und zurück bewegt, und die Reinigungsklinge 5017 und das Element 5019 sind auf einer Hauptaufbau-Stützplatte 5018 abgestützt. Die Klinge braucht nicht diese Form zu haben, sondern kann durch eine bekannte Reinigungsklinge ersetzt werden. Ein Hebel 5012 beginnt mit dem Saugvorgang, um den Aufzeichnungskopf zu reinigen. Der Hebel 5012 wird zusammen mit der Bewegung eines Nockens 5020, der mit dem Wagen in Eingriff steht, bewegt. Die Antriebskraft von dem Antriebsmotor wird durch eine bekannte Übertragungseinrichtung wie beispielsweise schaltendes Kuppeln gesteuert.
  • Das Verschließen, die Reinigung und die Saugwiederherstellung werden durch gewünschte Prozesse an den entsprechenden Positionen in Übereinstimmung mit dem Verhalten der Führungsschraube 5005 durchgeführt, wenn der Wagen die Ausgangsposition erreicht. Falls gewünschte Betriebsabläufe zu bekannten Zeitpunkten durchgeführt werden, kann ein beliebiges System in diesem Ausführungsbeispiel verwendet werden.
  • (ii) Beschreibung der Steuerungsanordnung
  • Eine Steuerungsanordnung zum Ausführen einer Aufzeichnungssteuerung der einzelnen Komponenten in der Vorrichtung wird unter Bezugnahme auf das Blockdiagramm in Fig. 25 beschrieben. Eine Steuerschaltung beinhaltet eine Schnittstelle 1700 zum Zuführen eines Aufzeichnungssignals, eine MPU 1701, ein Programm-ROM 1702 zum Speichern von Steuerprogrammen, die durch die MPU 1701 ausgeführt werden, ein dynamisches RAM 1703 zum Speichern verschiedener Daten (beispielsweise des Aufzeichnungssignals und dem Kopf zugeführter Aufzeichnungsdaten), ein Gate-Array 1704 zum Steuern und Zuführen der Aufzeichnungsdaten zu einem Aufzeichnungskopf 1708 und Durchführen einer Übertragungssteuerung von Daten zwischen der Schnittstelle 1700, der MPU 1701 und dem RAM 1703, einem Wagenmotor 1710 zum Vorschieben des Aufzeichnungskopfs 1708, einem Transportmotor 1709 zum Transportieren eines Aufzeichnungsblatts, einem Kopftreiber 1705 zum Ansteuern des Kopfs, und Motortreibern 1706 und 1707 zum Ansteuern des Transportmotors 1709 bzw. des Wagenmotors 1710.
  • Der Betriebsablauf der vorstehenden Steuerungsanordnung wird nachstehend beschrieben. Wenn ein Aufzeichnungssignal der Schnittstelle 1700 zugeführt wird, wird das Aufzeichnungssignal in Druckaufzeichnungsdaten zwischen dem Gate-Array 1704 und der MPU 1701 umgewandelt. Die Motortreiber 1706 und 1707 werden angesteuert, um den Aufzeichnungskopf in Übereinstimmung mit den dem Kopftreiber 1705 zugeführten Aufzeichnungsdaten zu treiben, wodurch die Aufzeichnungsinformation gedruckt wird.
  • Es ist möglich, die bestandteilbildenden Komponenten der Erfindung in die Steuerungsanordnung des Tintenstrahldruckers zu integrieren. Die Erfindung ist ersichtlich zusätzlich zu dem Laserstrahldrucker auf den Tintenstrahldrucker anwendbar.

Claims (7)

1. Bildverarbeitungsvorrichtung zum Erzeugen von Bitmap- Bilddaten in Antwort auf einen in einer Druckersprache ausgedrückte Eingabebefehl, gekennzeichnet durch:
eine erste Erzeugungseinrichtung (12a) zum Erzeugen erster Daten, die in einer Zwischensprache ausgedrückt sind, aus einem ersten Eingabebefehl, der in einer ersten Druckersprache ausgedrückt ist;
eine zweite Erzeugungseinrichtung (12b) zum Erzeugen zweiter Daten, die in der Zwischensprache ausgedrückt sind, aus einem zweiten Eingabebefehl, der in einer zweiten Druckersprache ausgedrückt ist;
eine Entwicklungseinrichtung (14) zum Entwickeln der ersten, durch die erste Erzeugungseinrichtung (12a) erzeugten Daten oder der zweiten, durch die zweite Erzeugungseinrichtung (12b) erzeugten Daten in Bitmap-Bilddaten; und
eine Speichereinrichtung (13) zum Speichern von Information bezüglich verschiedener Funktionen zum Veranlassen der ersten und der zweiten Erzeugungseinrichtung (12a, 12b), den ersten bzw. den zweiten Eingabebefehl in die ersten bzw. die zweiten Daten, die in der Zwischensprache ausgedrückt sind, umzuwandeln.
2. Bildverarbeitungsvorrichtung nach Anspruch 1 oder Anspruch 2, ferner umfassend:
eine Ermittlungseinrichtung (11) zum Ermitteln, ob ein Eingabebefehl in der Zwischensprache ausgedrückt ist; und
eine Steuereinrichtung (22) zum Steuern der Entwicklungseinrichtung (14) zum Entwickeln des Eingabebefehls in Bitmap-Bilddaten, wenn die Ermittlungseinrichtung (11) ermit telt, daß der Eingabebefehl in der Zwischensprache ausgedrückt ist.
3. Bildverarbeitungsvorrichtung nach einem der vorangehenden Ansprüche, bei der die Vorrichtung einen Tintenstrahldrucker umfaßt.
4. Bildverarbeitungsvorrichtung nach einem der vorangehenden Ansprüche 1 bis 3, bei der die Vorrichtung einen Laserstrahldrucker umfaßt.
5. Bildverarbeitungsvorrichtung nach Anspruch 1, bei der die Vorrichtung einen Hostcomputer (301) umfaßt.
6. Bildverarbeitungsverfahren zum Erzeugen von Bitmap- Bilddaten in Antwort auf einen in einer Druckersprache ausgedrückte Eingabebefehl, gekennzeichnet durch:
Erzeugen erster Daten, die in einer Zwischensprache ausgedrückt sind, aus einem ersten Eingabebefehl, der in einer ersten Druckersprache ausgedrückt ist;
Erzeugen zweiter Daten, die in der Zwischensprache ausgedrückt sind, aus einem zweiten Eingabebefehl, der in einer zweiten Druckersprache ausgedrückt ist;
Entwickeln der ersten Daten oder zweiten Daten in Bitmap-Bilddaten; und
Speichern von Information bezüglich verschiedener Funktionen zum Veranlassen der Erzeugung der ersten und der zweiten Daten, die in der Zwischensprache ausgedrückt sind.
7. Bildverarbeitungsvorrichtung nach Anspruch 6, ferner umfassend:
Ermitteln, ob ein Eingabebefehl in der Zwischensprache ausgedrückt ist; und
Steuern der Entwicklung des Eingabebefehls in Bitmap- Bilddaten, wenn ermittelt wird, daß der Eingabebefehl in der Zwischensprache ausgedrückt ist.
DE69326713T 1992-05-18 1993-05-17 Vorrichtung zur Übersetzung von Druckersteurungssprachen Expired - Lifetime DE69326713T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP4125133A JP2783344B2 (ja) 1992-05-18 1992-05-18 プリンタ制御装置及びその制御方法
JP4125135A JP2783345B2 (ja) 1992-05-18 1992-05-18 出力装置及び方法

Publications (2)

Publication Number Publication Date
DE69326713D1 DE69326713D1 (de) 1999-11-18
DE69326713T2 true DE69326713T2 (de) 2000-04-27

Family

ID=26461653

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69326713T Expired - Lifetime DE69326713T2 (de) 1992-05-18 1993-05-17 Vorrichtung zur Übersetzung von Druckersteurungssprachen

Country Status (3)

Country Link
US (1) US5931586A (de)
EP (1) EP0571145B1 (de)
DE (1) DE69326713T2 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19513105A1 (de) * 1995-04-07 1996-10-10 Hell Ag Linotype Verfahren zur Generierung einer Contone-Map
US6665081B1 (en) * 1996-07-19 2003-12-16 Seiko Epson Corporation Print system printer driver and printer
JP2003530652A (ja) * 2000-04-11 2003-10-14 オーセ プリンティング システムズ ゲゼルシャフト ミットベシュレンクテル ハフツング 少なくとも1つの印刷頁を作成しかつ出力するための方法
EP1182607A1 (de) * 2000-08-26 2002-02-27 Hewlett-Packard Company, A Delaware Corporation Verfahren und Gerät zur Verbesserung des Druckbildes beim Drucken auf ein Medium und dazugehöriges Mediumprofil
JP3719396B2 (ja) 2001-07-02 2005-11-24 ソニー株式会社 機器制御方法、データ転送装置、記録媒体
KR100484164B1 (ko) * 2002-09-23 2005-04-19 삼성전자주식회사 프린터의 메모리 활용방법 및 장치
KR100574059B1 (ko) * 2003-12-17 2006-04-27 삼성전자주식회사 화상형성장치 및 이를 이용한 에뮬레이션 모드 자동선택방법
KR20080017880A (ko) * 2006-08-23 2008-02-27 삼성전자주식회사 프린터 언어 선택이 가능한 인쇄데이터 출력장치 및 그의프린터 언어 선택 방법
JP2008130050A (ja) * 2006-11-24 2008-06-05 Canon Inc 画像検索装置及びその方法
EP2093659B1 (de) * 2008-02-19 2017-07-19 Brother Kogyo Kabushiki Kaisha Vorrichtung, Verfahren und computerlesbares Medium zur Seitenbeschreibungssprachverarbeitung
JP2015122010A (ja) * 2013-12-25 2015-07-02 株式会社リコー 情報処理装置、情報処理システム、情報処理方法、及びプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0820936B2 (ja) * 1985-11-28 1996-03-04 キヤノン株式会社 印刷制御装置
JPH085213B2 (ja) * 1987-03-04 1996-01-24 ブラザー工業株式会社 印字装置
KR930009742B1 (ko) * 1988-03-17 1993-10-09 세이꼬 엡슨 가부시끼가이샤 인쇄 장치
US5036476A (en) * 1988-04-08 1991-07-30 Minolta Camera Kabushiki Kaisha Printer control system
JP2854344B2 (ja) * 1989-10-26 1999-02-03 株式会社リコー ミクストモード文書の表示方法
DE69031298T2 (de) * 1989-11-14 1998-01-15 Canon Kk Aufzeichnungsgerät
JPH03288926A (ja) * 1990-04-05 1991-12-19 Canon Inc 画像出力装置
JPH04187462A (ja) * 1990-11-21 1992-07-06 Brother Ind Ltd 印刷装置
US5469373A (en) * 1992-02-14 1995-11-21 Canon Kabushiki Kaisha Printing apparatus and method that discriminates which analyzer should analyze information

Also Published As

Publication number Publication date
DE69326713D1 (de) 1999-11-18
US5931586A (en) 1999-08-03
EP0571145B1 (de) 1999-10-13
EP0571145A1 (de) 1993-11-24

Similar Documents

Publication Publication Date Title
DE69317698T2 (de) Verfahren zum Übersetzen eines Vielzahl von Drucker-Seiten-beschreibende Sprachen
DE69322199T2 (de) Vorrichtung und Verfahren für die Übersetzung von Druckersprachen
DE3588084T2 (de) Bildverarbeitungssystem
DE69524381T2 (de) Parallele Verarbeitung des Datenstroms der Seitenbeschreibungssprache
DE69226736T2 (de) Druckersystem, in dem ein von Druckertreibern die Druckerdaten gesendet werden, ein Datenprozessor zu einem Drucker ausgewählt wird basierend auf Interpretierern, welche in dem Drucker vorhanden sind
DE69530050T2 (de) Gerät mit automatischer Betriebssystemauswahl
DE69401435T2 (de) Veränderliche Datenfelder in einer Seitenbeschreibungssprache
DE69024881T2 (de) Drucker-Initialisierungssystem
DE69623077T2 (de) Gerät und Verfahren zur Programmierung eines Druckauftrags mit einem Auftragsticket aus einem entfernten Speicherbereich
DE69025005T2 (de) Seitendruckerspeicherzuweisung
DE3820075A1 (de) Verfahren zum gesteuerten reproduzieren von bildern in bitplangesteuerten laserprintern
DE69625986T2 (de) System, Ausgabegerät, Verfahren, und rechnerlesbares Medium, die zum Steuern eines Druckers einen gespaltenen Druckertreiber verwenden
DE69326713T2 (de) Vorrichtung zur Übersetzung von Druckersteurungssprachen
DE69327684T2 (de) Verfahren und Vorrichtung zur Schriftzeichenmustererzeugung
DE2724199C2 (de)
DE19514799A1 (de) Druckvorrichtung, Drucksteuerverfahren und Zeichenfontmustersteuerverfahren in einer Druckvorrichtung
DE3441640A1 (de) Streifenfeldspeichercontroller
DE4005673C2 (de) Bilderzeugende Einrichtung mit einem kleindimensionierten Speicher mit einem Bitkarten-Zuweisungssystem
DE2825321A1 (de) Rasterdrucker
DE68923668T2 (de) Ausgabegerät.
DE69627266T2 (de) Vorrichtung und Verfahren zum Drucken von sich teilweise wiederholenden Daten
DE69011393T2 (de) Druckvorrichtung.
DE60035092T2 (de) Bildumwandlungsvorrichtung, Speichermedium, und Bildumwandlungsverfahren
DE69523831T2 (de) Auf Anfrage gesteuerter Formularedrucker
DE69128586T2 (de) Gerät zur Umwandlung von Druckerdaten mit Interrupt Möglichkeit

Legal Events

Date Code Title Description
8364 No opposition during term of opposition