DE3878309T2 - Korrekturpufferspeicher. - Google Patents

Korrekturpufferspeicher.

Info

Publication number
DE3878309T2
DE3878309T2 DE8888106833T DE3878309T DE3878309T2 DE 3878309 T2 DE3878309 T2 DE 3878309T2 DE 8888106833 T DE8888106833 T DE 8888106833T DE 3878309 T DE3878309 T DE 3878309T DE 3878309 T2 DE3878309 T2 DE 3878309T2
Authority
DE
Germany
Prior art keywords
character
correction buffer
record
processor
graphic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE8888106833T
Other languages
English (en)
Other versions
DE3878309D1 (de
Inventor
Douglas Earl Hays
James Francis Lederer
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.)
Lexmark International Inc
Original Assignee
Lexmark International 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
Application filed by Lexmark International Inc filed Critical Lexmark International Inc
Publication of DE3878309D1 publication Critical patent/DE3878309D1/de
Application granted granted Critical
Publication of DE3878309T2 publication Critical patent/DE3878309T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Record Information Processing For Printing (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

  • Die Erfindung betrifft allgemein Systeme zum Verarbeiten von Zeicheninformationen, die von einer Eingabevorrichtung zugeführt werden und um Zeicheninformationen für ein Druckgerät vorzusehen. Die Erfindung betrifft speziell ein solches System, bei welchem Zeicheninformationen in einem Korrekturpufferspeicher gespeichert werden.
  • Es gibt eine Anzahl von Systemen, die Zeicheninformationen von einer Eingabevorrichtung verarbeiten, um ein Druckgerät zu treiben. Typischerweise hat die Eingabevorrichtung die Form eines Tastenfeldes und die Zeicheninformationen, die verarbeitet werden, bestehen aus ankommenden Tastenanschlägen. Gewöhnlich erzeugen solche Systeme auch Zeicheninformationen, die von den ankommenden Tastenanschlägen abgeleitet wurden, um sie einer Anzeigeeinrichtung als auch einem Drucker zuzuführen.
  • Eine elektronische Schreibmaschine enthält beispielsweise allgemein ein Tastenfeld, eine Einzelzeileanzeigevorrichtung, ein Druckgerät und ein Betriebssystem, um eine Kopplung zwischen dem Tastenfeld, der Anzeige und dem Drucker zu erreichen. Gewöhnlich sind die Anzeigevorrichtung, die Druckeranordnung und die Betriebssystemschaltungsanordnung in einer einzelnen Einheit enthalten.
  • Als weiteres Beispiel kann ein Personal-Computer-System mit einer Software-Steuerung betrieben werden, um als eine elektronische Schreibmaschine zu funktionieren. Ein solches System enthält eine Mikrocomputer-Systemeinheit, ein Tastenfeld, eine Anzeigevorrichtung und einen Drucker.
  • Bei dem zuerst erwähnten Beispiel eines elektronischen Schreibmaschinensystems betätigt eine Bedienungsperson Tasten auf dem Tastenfeld und die Tastenanschläge werden zu einem Betriebssystem auf Mikroprozessorbasis in der Schreibmaschine gekoppelt. Das Betriebssystem arbeitet derart, um Informationen für die Anzeige und die Drukkeranordnung vorzusehen und besitzt einen zugeordneten Speicher, um Tastenanschlags-Informationen, die von den Tastenanschlägen entwickelt wurden, zu speichern und wieder auffinden zu können.
  • Bei einem derartigen elektronischen Schreibmaschinensystem werden Tastenanschläge verarbeitet, um geeignete Tastenanschlag-Informationen in eine Speicherstelle einzuschreiben, die als Korrekturpufferspeicher bekannt ist, die beispielsweise Tastenanschlags-Informationen enthält, die auf eine einzelne Zeile des alphanummerischen Textes bezogen sind. Die Tastenanschlags-Informationen verbleiben in dem Korrekturpufferspeicher, so daß eine Bedienungsperson über das Tastenfeld Abänderungen hinsichtlich der gespeicherten Textzeile eingeben kann wie beispielsweise das Weglassen von Schriftzeichen oder Änderungen von Schriftzeichen.
  • Bei herkömmlichen elektronischen Schreibmaschinendesigns wurden Schriftzeichen in den Korrekturpufferspeicher in einer eindimensionalen Anordnung im Speicher gespeichert. Diese Anordnung von Schriftzeichen wurde vermischt mit speziellen Codes, wie beispielsweise tab-Stellen, Überschläge und zentrierten Textangaben. Es mußten dann relativ komplexe Algorithmen verwendet werden, um den Korrekturpufferspeicher abzutasten, um einen bestimmten Buchstaben oder mehrere Buchstaben, die mit speziellen Codes vermischt waren, zu lokalisieren.
  • In solchen Systemen werden von dem Betriebssystem Zeiger gehalten, um die laufenden Positionen anzuzeigen, um Tastenanschlag-Informationen dem Korrekturpufferspeicher hinzuzufügen und um einen Buchstaben der Anzeige hinzuzufügen. Ein Zeiger wurde auch für die Position des Druckkopfes entlang der laufenden Druckzeile am Drucker aufrechterhalten. Wenn Tastenanschläge über das Tastenfeld eingegeben wurden, wurden Tastenanschlag-Informationen in den Korrekturpufferspeicher hinzugefügt bzw. eingegeben und ebenso zum Anzeige-Speicher und wurden zum Drucker gesendet, um den Druckkopf in der erforderlichen Weise zu bewegen. Wenn die Tastenanschläge verarbeitet wurden, wurden die verschiedenen Zeiger auf den neuesten Stand gebracht, so daß die Korrekturstellen für die Eingabe der nachfolgenden Tastenanschlags-Informationen bekannt waren.
  • Wenn bei solchen Systemen Druckkopf-Bewegungsbefehle wie beispielsweise tab-Befehle von dem Tastenfeld empfangen werden, müssen die Zeicheninformationen gemischt mit den speziellen Codes, die in dem Korrekturpufferspeicher enthalten sind, in einer relativ zeitaufwendigen Weise abgetastet werden, um den richtigen Wert zu bestimmen, für welchen der Korrekturpufferspeicher-Zeiger auf den neuesten Stand zu bringen ist.
  • Es ist auch schwierig, Operationen abhängig von einer spezifischen Lage der Zeichen auf dem Papier durch den Druckmechanismus auszuführen. Es war beispielsweise schwierig, einen neuen Text auf der linken Seite eines existierenden Textes auf einer Zeile zu zentrieren und auch schwierig, verschiedene Funktionen zu verwenden wie beispielsweise das Unterstreichen innerhalb eines zentrierten Textes aufgrund der Komplexität der Ausführung der Zentrierung in Verbindung mit der Eingabe von speziellen Druckcodes in den Korrekturpufferspeicher.
  • In einigen Fällen besitzt die Anzeigeeinrichtung eine Kapazität, die geringer ist als die Zeichenspeicherkapazität des Korrekturpuf ferspeichers. Dies führt zu dem Bedürfnis, die Anzeige neu zu schreiben (den Anzeigespeicher neu einzuspeichern) wenn sich das Betriebssystem zu verschiedenen Stellen in dem Korrekturpufferspeicher bewegt. Es war auch schwierig und zeitaufwendig, dies vom Korrekturpufferspeicher aus zu tun mit den Folgen der Buchstaben bzw. Zeichen und Spezialcodeinformationen.
  • Die FR 2431374 offenbart eine elektronische Schreibmaschine, die ein Tastenfeld, eine Druckeinheit, eine Steuereinheit und verschiedene Speicher umfaßt und die Zeichen speichern kann, die von dem Tastenfeld eingegeben werden als auch Steuerinformationen hinsichtlich der Editierung des zu druckenden Textes speichern kann. Die gespeicherten Informationen können geändert werden und von der Bedienungsperson wieder aufgerufen werden. Ein Tastenfeld spezial ROM speichert Informationen hinsichtlich aller möglicher Symbole, die gedruckt werden können. Jedes Symbol belegt 16 Bits, die Parameter definieren wie beispielsweise die Lage des Typenrades, eine Unterstreichung, Intensität des Anschlags usw. Ein nicht flüchtiger Speicher speichert Informationen hinsichtlich der Tabulierung, Ränder und konstanter Phrasen. Zwei RAMs speichern Daten, die für die Überwachung der Schreibmaschine verwendet werden. Es müssen ferner Abstandsinformationen gespeichert werden, welche den Abstand angeben, der am Druckkopf ausgeführt werden muß, um die nächste Druckstelle zu erreichen. Es ist daher schwierig genau zu bestimmen, wo jeder Buchstabe oder Zeichen gedruckt wird und es ist erforderlich, eine große Zahl von gespeicherten Daten abzufragen oder abzutasten, was auch zeitaufwendig ist.
  • Es ist die allgemeine Aufgabe der vorliegenden Erfindung eine verbesserte Korrekturpufferspeicherstruktur zu schaffen, durch die eine Reihe von Nachteilen beseitigt wird, die zuvor aufgeführt wurden in Verbindung mit den Korrekturpufferspeichern, die in früheren Systemen verwendet wurden.
  • Nach der vorliegenden Erfindung wird ein System zum Drukken von Zeichen auf einem Druckmedium abhängig von der Eingabe von Zeicheninformationen von einer Eingabevorrichtung geschaffen, welches einen Korrekturpufferspeicher enthält, um Zeicheninformationen von der Eingabevorrichtung zu speichern, wobei der Korrekturpufferspeicher eine Gruppe von Aufzeichnungen aufweist, dadurch gekennzeichnet, daß jede Aufzeichnung einem inkrementellen Abstand auf dem Druckmedium entspricht und daß die Aufzeichnungen in dem Korrekturpufferspeicher im wesentlichen identisch sind, wobei jede Aufzeichnung oder Eintrag dem gleichen inkrementellen Abstand auf dem Druckmedium entspricht.
  • Bei einem Ausführungsbeispiel nach der Erfindung ist der Korrekturpufferspeicher in einem Personal-Computer-System eingebaut, der unter der Steuerung der Software arbeitet, um den Betrieb einer Schreibmaschine zu simmulieren. Bei diesem System speichert der Korrekturpufferspeicher die Informationen für eine Textzeile in einer Folge von identischen Zellen oder Aufzeichnungen. Eine Aufzeichnung enthält alle Informationen, die erforderlich sind, um den Text zu beschreiben, der an einer Stelle auf dem Medium vorhanden ist, auf welchem die Informationen zu drucken sind.
  • Es ist möglich, auf einfache Weise den Korrekturpufferspeicher vollständig abzutasten oder abzufragen, da eine Reihe von identischen Aufzeichnungen abgetastet wird. Es besteht daher keine Forderung jedes Byte des Speichereintrags in dem Korrekturpufferspeicher während der Abtastung oder Abfragung zu interpretieren und zu verarbeiten, um zu bestimmen, ob die Bytes des Speichereintrags repräsentativ für Zeichen sind oder Spezialcodes sind, die unterschiedliche Längen haben können.
  • Da jeder Eintrag auf eine spezifische X-Position auf dem Papier bezogen ist, ist es in vorteilhafter Weise einfach zu bestimmen, wo jedes Zeichen gedruckt wird. Die Software zur Handhabung des Textes, der in dieser Weise gespeichert ist, ist ausreichend flexibel, um sie bei speziellen Operationen verwenden zu können wie beispielsweise bei einer Zentrierung, so daß dadurch nahezu alle Operationen in einer solchen Betriebsweise zugelassen werden, die beim normalen Schreibvorgang zugelassen sind. Wenn die Anzeige neu geschrieben werden muß und zwar von einem Abschnitt des Korrekturpufferspeichers, kann auch dies unmittelbar realisiert werden. Bei der Verwendung dieser Form eines Korrekturpufferspeichers wird eine X-Variable (eine Programmvariable, welche die laufende X-Position in dem Korrekturpufferspeicher anzeigt) auf den neuesten Stand gebracht, wenn die Tastenanschlaginformationen verarbeitet werden und in den Aufzeichnungen in dem Korrekturpufferspeicher abgelegt werden. Es wird die Stelle der Tastenanschlags-Information, die zur Anzeige zu übertragen ist, berechnet und zwar basierend auf der Korrekturpufferspeicher X-Position und die Druckposition auf dem Papier entspricht dem laufenden variablen Wert der Korrekturpufferspeicher X-Position. Es gibt auch keine speziellen Codes, welche die Korrekturpufferspeicher-Aufzeichnungen oder Eintragungen unterbrechen, die zu dem Zweck verarbeitet werden müssen, um eine Zeigerstelle für den Korrekturpufferspeicher zu bestimmen. Wenn beispielsweise Druckkopfbewegungsbefehle verarbeitet werden, sind keine komplexen Berechnungen erforderlich, um die neue X-Position in dem Korrekturpufferspeicher zu finden, da die Korrekturpufferspeicherstellen direkt den Druckkopfpositionen entlang einer Zeile auf dem Papier entsprechen.
  • Weitere Merkmale und Vorteile der Erfindung und die Art und Weise ihrer Ausführung ergibt sich durch Lesen der folgenden detailierten Beschreibung eines bevorzugten Ausführungsbeispiels der Erfindung, welches nur als Beispiel aufzufassen ist und unter Hinweis auf die beigefügten Zeichnungen, in welchem zeigen:
  • Fig. 1 ein Blockschaltbild eines Personal-Computer- Systems, in welchem die vorliegende Erfindung realisiert ist;
  • Fig. 2 eine schematische Darstellung eines Abschnitts eines Korrekturpufferspeichers nach der vorliegenden Erfindung;
  • Fig. 3 ein Flußlaufplan eines Schreibmaschinenanwendungsprogramms für das Personal-Computer-System der Fig. 1;
  • Fig. 4 einen Flußlaufplan der Hauptfunktionen der Schreibmaschinenschleife in dem Schreibmaschinenprogramm der Fig. 3;
  • Fig. 5 einen Flußlaufplan einer Routine, um Tastenanschlagsinformationen an den Korrekturpufferspeicher zu senden, die in der Schreibmaschinenschleife der Fig. 4 enthalten ist;
  • Fig. 6A eine schematische Darstellung eines Abschnitts eines Korrekturpufferspeichers nach der Erfindung;
  • Fig. 6B die Positionierung der Zeichen auf dem Papier entsprechend der Korrekturpuffer-Informationen der Fig. 6A;
  • Fig. 7A eine schematische Darstellung eines Abschnitts eines Korrekturpufferspeichers nach der vorliegenden Erfindung;
  • Fig. 7B die Positionierung der Zeichen auf dem Papier entsprechend den Korrekturpufferspeicher-Informationen der Fig. 7A;
  • Fig. 8A eine schematische Darstellung eines Abschnitts eines Korrekturpufferspeichers nach der vorliegenden Erfindung;
  • Fig. 8B das Positionieren der Zeichen auf dem Papier entsprechend den Korrekturpufferspeicher-Informationen der Fig. 8A;
  • Fig. 9 einen Flußlaufplan einer Routine für die Darstellung eines Zeichens, die in der Schreibmaschinenschleife der Fig. 4 enthalten ist;
  • Fig. 10 ein Flußlaufplan einer "gehe rechts"-Routine, die in der Schreibmaschinenschleife der Fig. 4 verwendet wird;
  • Fig. 11 einen Flußlaufplan einer "gehe links"-Routine, die in einem Abschnitt des Prozesstastenschrittes der Schreibmaschinenschleife der Fig. 4 verwendet wird;
  • Fig. 12 einen Flußlaufplan einer "bewege Anzeigecursor"- Routine, die in der Schreibmaschinenschleife der Fig. 4 verwendet wird;
  • Fig. 13 einen Flußlaufplan einer "Tab"-Routine, die in dem "Prozesstasten"-Schritt der Schreibmaschinenschleife der Fig. 4 verwendet wird;
  • Fig. 14 einen Flußlaufplan einer "Prozesslösch"-Routine, die in dem "Prozesstasten"-Schritt der Schreibmaschinenschleife der Fig. 4 verwendet wird; und
  • Fig. 15 einen Flußlaufplan einer "entferne Zeichen"-Routine, die in dem Prozesstasten-Schritt der Schreibmaschinenschleife der Fig. 4 verwendet wird.
  • Es sei zunächst auf Fig. 1 eingegangen, die ein Personal- Computersystem 10 zeigt, welches eine Systemeinheit 11 enthält, die verbunden ist mit einem Tastenfeld 12, einer Anzeigevorrichtung 13 und einem Drucker 14. Bei der veranschaulichten Ausführungsform der Erfindung umfaßt das Personal-Computersystem 10 eine Personal-Computersystemeinheit mit einem Mikroprozessor aus der Intel 8086/8088 Familie der Mikroprozessoren. Die Systemeinheit 11 enthält einen Plattenantrieb zum Einladen von Anwendungssoftware und von Betriebssystem-Software und enthält geeignete Schnittstellen bzw. Kupplungseinrichtungen zu der Anzeigevorrichtung 13 und dem Drucker 14. Die Systemeinheit 11 35 ist an das Tastenfeld über ein Standard-zwei Richtungs- Serieninterface gekoppelt und ist mit dem Drucker 14 über ein Standard-Parallel-Drucker-Interface gekoppelt. Die Systemeinheit 11 steht unter der Steuerung eines Disk- Betriebssystems (DOS) und eines Grundeingabe/Ausgabesystems (BIOS), die unter anderen Dingen ein Video RAM Speichersegment für die Darstellung von Informationen definieren.
  • Im vorliegenden Fall wird die Systemeinheit 11 unter der Steuerung eines Anwendungsprogramms betrieben, welches den Betrieb einer elektronischen Schreibmaschine nachahmt. Diese Software definiert Speicherstellen innerhalb eines Korrekturpufferspeichers zum Speichern einer laufenden Textzeile. In einer "Tasten-zu-Drucken"-Betriebsweise werden dann, wenn die Tastenanschläge an dem Tastenfeld 12 eingegeben werden, die Tastenanschläge zu der Systemeinheit 11 gekoppelt und verarbeitet. Wenn die Tastenanschläge von dem Tastenfeld 12 verarbeitet werden, werden die Zeichen, die durch die Tastenanschläge definiert sind, an der Anzeigevorrichtung 13 dargestellt und werden durch den Drucker 14 auf Papier gedruckt. Dieses System kann auch in einer "Verzögerungsdruck" -Betriebsart betrieben werden, in welcher Zeichen abhängig von Tastenanschlägen, wenn die Tastenanschläge in das Tastenfeld eingegeben werden, dargestellt werden, wobei aber das Drucken verzögert wird und später ausgeführt wird und zwar auf einer Zeile-um Zeile- Grundlage.
  • Gemäß der Erfindung definiert das Anwendungsprogramm Speicherstellen, die einen Korrekturpufferspeicher zum speichern einer laufenden Textzeile ausmachen und es werden die Korrekturpufferspeicher-Speicherstellen zu spezifischen Stellen des Druckkopfes entlang einer Zeile eines gedruckten Textes korreliert. Gemäß Fig. 2 macht eine Gruppe von Aufzeichnungen (records) 16 einen Abschnitt eines Korrekturpufferspeichers 17 aus, der nach der vorliegenden Erfindung ausgebildet ist. Der Korrekturpufferspeicher 17 besteht aus einer Anordnung, die ausgebildet wird nach der Initialisierung eines Schreibmaschinensimulations-Anwendungsprogramms. Jede Aufzeichnung in dem Korrekturpufferspeicher enthält einen ASCII-Codezeichen (oder graphischen) Abschnitt und einen Attributabschnitt 19. Bei dem vorliegenden Korrekturpufferspeicher hat ein Zeichenabschnitt einer Aufzeichnung eine Länge von einem 8-Bit-Byte und der Attributabschnitt einer Aufzeichnung hat ebenfalls eine Länge von einem 8-Bit-Byte, welches 8 Attribut-Bits enthält.
  • Eine Aufzeichnung in diesem Korrekturpufferspeicher entspricht 1/60 eines inch (hier als "Einheitsraum" bezeichnet) entlang einer Zeile auf dem Papier in dem Drucker. Wenn daher eine Stelle in dem Korrekturpufferspeicher bekannt ist, ist auch eine Stelle eines Zeichens auf dem Papier bekannt, die wiederum eine bekannte Position für den Druckkopf zum Drucken des Zeichens vorsieht. Die Stelle oder Lage des Zeichens in der Anzeigevorrichtung kann ebenfalls aus der Korrekturpufferspeicherposition abgeleitet werden basierend auf der relativen Größe der Anzeige und des Korrekturpufferspeichers. In vorteilhafter Weise sind die Korrekturpufferspeicher-Aufzeichnungen durch aufeinanderfolgende Adressen bezeichnet , um die Korrelation zwischen den Aufzeichnungen und den Druckkopfpositionen zu vereinfachen.
  • Bei dem vorliegenden System werden Zeichen in Stufen von 10, 12 oder 15 gedruckt (Zeichen pro Inch). Da 60 Einheitsräume pro Inch vorhanden sind und damit 60 Korrekturpufferspeicheraufzeichnungen pro Inch, ergeben sich bei der Stufe 10 dann 6 Aufzeichnungen pro Zeichenposition auf dem Papier. Bei der Stufe 12 ergeben sich 5 Aufzeichnungen pro Zeichenposition und bei der Stufe 15 ergeben sich 4 Aufzeichnungen in dem Korrekturpufferspeicher pro Zeichenposition. Wenn bei dem vorliegenden System Zeichen mit "Doppelweite" gedruckt werden, sind die Zeichen effektiv "gestreckt" und zwar über zwei Zeichenpositionen und jedes Doppelweitezeichen beispielsweise bei der Stufe 10 entspricht daher 12 Aufzeichnungen in dem Korrekturpufferspeicher. In analoger Weise entsprechen 10 Korrekturpufferspeicher-Aufzeichnungen einer Doppelweite oder einem erweiterten Buchstaben bei der Stufe 12 und bei der erweiterten Stufe 15 sind 8 Korrekturpufferspeicher-Aufzeichnungen pro Zeichenposition vorhanden. Bei den folgenden veranschaulichten Beispielen wird ein Betrieb des Systems in der Stufe 10, nicht erweitert, angenommen. Die in Fig. 2 gezeigten Aufzeichnungen entsprechen daher den 6 Aufzeichnungen für eine Zeichenweite oder Breite.
  • Nachdem die Korrekturpuff erspeicher-Aufzeichnungen erzeugt worden sind und initialisiert wurden, bevor die Tastenanschlag-Information verarbeitet wurde und in den Korrekturpufferspeicher gelangt ist, wird jede Aufzeichnung so hergestellt, daß sie den ASCII Code für einen Raum enthält (gezeigt als dezimale "32") in dem Zeichenbyte der Aufzeichnung und jede Aufzeichnung enthält acht Bits, die auf Nullen in dem Attributbyte der Aufzeichnung gesetzt sind.
  • Im Betrieb ermöglicht die Schreibmaschinensimulations- Software, welche den Korrekturpufferspeicher verwendet, die Nachahmung einer elektronischen Schreibmaschine durch ein Personal Computer System 10 der Fig. 1. Gemäß Fig. 3 wird bei der Ausführung der Schreibmaschinensimulations- Software durch den Prozessor in der Personal Computer System-Einheit 11 zunächst das System initialisiert (umfassend die Erzeugung und die Initialisierung des Korrekturpuf ferspeichers) und es wird dann eine Schreibmaschinenprogramm-Hauptschleife ausgeführt. Unter zusätzlichen Hinweis auf Fig. 4 besteht eine Hauptaktivität in der Schreibmaschinenprogramm-Hauptschleife aus dem Prozess der Schleifenbildung, um Tastenanschläge aufzunehmen oder einzufangen und um die geeigneten Tastenanschlags-Informationen dem Drucker zuzuführen, ebenso der Anzeigevorrichtung und dem Korrekturpufferspeicher zuzuführen. Unter Hinweis auf Fig. 4 bestimmt bei der Schleifenbildung zum Einfangen von Tastenanschlägen der Prozessor zunächst ob eine Taste angeschlagen wurde und wenn der Prozessor einmal erkannt hat, daß eine Taste angeschlagen worden ist, wird die Taste bzw. deren Anschlag verarbeitet. In einigen Fällen sind die Tastenanschlagsdaten, die von dem Tastenfeld empfangen werden, nicht repräsentativ für ein graphisches Zeichen, welches dargestellt und gedruckt werden soll. In einigen Fällen fordert ein Tastenanschlag eine Betriebsartenänderung wie beispielsweise einen Befehl, um aufeinanderfolgend Buchstaben in der erweiterten (Doppelbreite) Betriebsart zu drucken. Weitere nicht graphische Tastenanschläge umfassen Drucker-oder Papierbewegungsbefehle und ähnliches. Für den vorliegenden Zweck der Erläuterung des Korrekturpufferspeichers, konzentriert sich die Diskussion primär auf die Verarbeitung der Tastenanschläge, die für graphische Zeichen repräsentativ sind. Bestimmte veranschaulichende Beispiele der Verarbeitung von nicht graphischen Tastenanschlägen sollen im folgenden gegeben werden, wobei deren Beziehung zu der Korrekturpufferspeicherstruktur gezeigt wird, die hier beschrieben ist.
  • Wenn gemäß Fig. 4 der Tastenanschlag nicht repräsentativ für eine graphische Zeichentaste ist (oder eine Taste, die als graphische Taste zu verarbeiten ist, wie dies im folgenden beschrieben werden soll), kehrt der Prozessor zurück (welcher bereits den Tastenanschlag verarbeitet hat) und fährt in der Schleifenbildung fort, wonach er nach zusätzlichen Tasten Ausschau hält.
  • Wenn die Taste, die niedergedrückt wurde, repräsentativ für ein graphisches Zeichen ist, hat der "Prozesstasten"- Schritt bereits im wesentlichen die Taste passiert bis zu der "graphischen Taste"-Entscheidungsstelle. Dann sendet der Prozessor Tastenanschlagsinformationen für das graphische Zeichen zu der geeigneten Stelle in dem Korrekturpufferspeicher. Diese Prozedur soll anschließend mehr im einzelnen beschrieben werden. Der Prozessor bestimmt als nächstes, ob sich das System in einer direkten Tasten-zu- Druck-Betriebsart befindet und wenn dies der Fall ist, sendet dieser die geeignete Druckinformation zum Drucker. Der Prozessor bewirkt dann die Anzeige des graphischen Zeichens an der Anzeigevorrichtung, bewegt sich nach rechts in dem Korrekturpufferspeicher (zur nächsten Zeichenposition, wie dies noch im folgenden beschrieben werden soll) und bewegt den Anzeige-Cursor. Jede dieser drei Operationen sollen im folgenden mehr im einzelnen beschrieben werden.
  • Gemäß Fig. 5 wird im folgenden der Prozess des Sendens einer Tastenanschlaginformation an den Korrekturpufferspeicher mehr im einzelnen beschrieben. Beim Verarbeiten eines graphischen Zeichen-Tastenanschlags bestimmt der Prozessor zunächst, ob der Tastenanschlag das Niederdrükken der Leertaste am Tastenfeld wiedergibt. Wenn die Leertaste niedergedrückt worden ist und sich das System nicht in der Unterstreichungs-Betriebsart befindet, kehrt der Prozessor von der Routine zum Aussenden von Tastenanschlagsinformationen zum Korrekturpufferspeicher zurück und die Inhalte des Korrekturpufferspeichers werden nicht geändert. Wenn die Taste die Leertaste war und die Unterstreichungs-Betriebsart eingeschaltet ist, wird der Tastenanschlag in ein graphisches Unterstreichungszeichen umgewandelt. Das graphische Unterstreichungszeichen oder ein Nicht-Leertastenschlüssel (key) wird dann in den Korrekturpufferspeicher eingegeben, wie dies noch beschrieben werden soll.
  • Vor der Erläuterung der Eingabe einer Zeicheninformation in den Korrekturpufferspeicher sollen bestimmte beschreibende Ausdrücke definiert werden, die in Verbindung mit den Aufzeichnungen in dem Korrekturpufferspeicher verwendet werden. Die "X-Variable" oder "X-Position-Variable" ist eine Veränderliche, die von der Schreibmaschinensimulations-Software gehalten wird. Der Wert dieser Veränderlichen (der X-Position) ist eine Stelle in dem Korrekturpufferspeicher. Normalerweise ist diese Stelle eine Adresse der Aufzeichnung, in welche die Tastenanschlags-Information als nächstes geschrieben werden soll. Unter Hinweis auf die Fig. 6-8 von denen jede einen Abschnitt eines Korrekturpufferspeichers veranschaulicht, der nach der vorliegenden Erfindung ausgebildet ist, liegt die X-Position in dem Korrekturpufferspeicher links von der nächsten Aufzeichnung (äquivalent zu einem Einheitsraum), wo die Zeicheninformation in dem Korrekturpufferspeicher abzulegen ist. Beispielsweise identifiziert das Bezugszeichen 21 in Fig. 6A die X- Position am Anfang des in Fig. 6A gezeigten Korrekturpufferspeichersegments. Hierbei soll das Bezugszeichen 21 beispielsweise auch die Aufzeichnung angeben und zwar rechts von dem Pfeil, im vorliegenden Fall die Aufzeichnung, welche das Zeichen "A" enthält.
  • Wie abgeleitet werden kann ist die X-Position in dem Korrekturpufferspeicher direkt auf die Position des Druckkopfes am Drucker bezogen und zwar entlang der laufenden Druckzeile auf dem Papier und dient auch als Grundlage für die Bestimmung der Cursorlage in der Anzeigevorrichtung.
  • Um mit den Definitionen der beschreibenden Ausdrücke fortzufahren, so soll ein "Wurzel-Zeichen" ein graphisches Zeichen oder einen Raum bedeuten, das bzw. der in einer Aufzeichnung in dem Korrekturpufferspeicher gespeichert ist, der nicht überschlagen wird über dem oberen Bereich eines anderen Zeichens. In Fig. 6A sind die Wurzelzeichen beispielsweise mit den Bezugszeichen 21, 22, 23 und 31 angegeben. Auch in Fig. 7A sind Wurzelzeichen durch die Bezugszeichen 24, 33 und 26, in Fig. 8A durch die Bezugszeichen 27, 28, 29 und 32 angezeigt. Ein Wurzelzeichen, welches keinen Raum darstellt, soll hier als ein graphisches Wurzelzeichen bezeichnet werden.
  • Es sei nochmals erwähnt, daß wenn der Korrekturpufferspeicher initialisiert wird, jeder graphische Zeichenabschnitt einer Aufzeichnung einen ASCII Raum enthält (dezimal 32) und jeder Attributabschnitt der Aufzeichnung alle (8) Nullen enthält. Wenn ein Zeichen wie beispielsweise "A" in Fig. 6A in den Korrekturpufferspeicher eingegeben wird, wird der ASCII Code für ein großes "A" in den graphischen Abschnitt der Aufzeichung 21 eingegeben und es wird keine Änderung hinsichtlich der Attribut-Bits in dem Attributabschnitt der Aufzeichnung vorgenommen. Nachfolgende Aufzeichnungen werden ebenfalls geändert von einem ASCII Raum zu einer ASCII Null (alle Bits sind null). Diese nachfolgenden Aufzeichnungen werden als "fortgeführte" Aufzeichnungen bezeichnet. Wie bereits an früherer Stelle erläutert wurde, hängt die Zahl der aufeinanderfolgenden (fortgeführten) Aufzeichnungen, die der Aufzeichnung, welche das große "A" enthält, zugeordnet sind, von der Stufe (pitch) des Druckers ab. Bei der als Beispiel gewählten Situation einer Stufe von zehn enthält die Aufzeichnung 21 das große "A" und die fünf nachfolgenden Aufzeichnungen werden geändert auf eine ASCII Null.
  • Ein "Raum" wird als eine Aufzeichnung definiert, die einen ASCII Raum enthält und somit ist in dieser kein graphisches Zeichen oder ASCII Null gespeichert obwohl ein Unterstreichungs-Attributbit (eines von 8 Attributbits) an dieser Stelle gesetzt oder nicht gesetzt sein kann. Siehe beispielsweise die Aufzeichnungen 22 und 31 in Fig. 6A und die Aufzeichnungen 28 und 32 in Fig. 8A.
  • Der Ausdruck "Weissraum" soll sich auf einen Raum beziehen, in welchem keine Attributbits gesetzt sind. Die Aufzeichnungen 22 und 31 in Fig. 6A sind Beispiele von Weissräumen.
  • Der Ausdruck "Einheitsraum", der früher verwendet wurde, bezieht sich im vorliegenden Fall auf einen Abstand von 1/60 eines Inch auf dem Papier und ist gleich einer Aufzeichnung in dem Korrekturpufferspeicher. Wenn aufeinanderfolgende Zeichen und Räume (eine Reihe von Worten beispielsweise) von einer Bedienungsperson am Tastenfeld eingetippt werden, werden graphische Wurzelzeichen (mit zugeordneten "fortgeführten" Aufzeichnungen) und Räume, wie bereits definiert wurde, in dem Korrekturpufferspeicher eingegeben. Die vorliegende Korrekturpufferspeicherstruktur unterstützt auch die Eingabe von Überschlagungszeichen und teilweisen Überschlagungszeichen.
  • Ein Beispiel der Speicherung eines teilweisen Überschlagungszeichens in dem Korrekturpufferspeicher ist in Fig. 7A gezeigt. Die Aufzeichnung 33, welche das graphische Zeichen "B" enthält, ist positioniert in dem sechs Aufzeichnungs-Korrekturpufferraum von dem "A", welches bei der Aufzeichnung 24 beginnt. Es sei darauf hingewiesen, daß, wie in Fig. 7B gezeigt ist, die resultierenden Zeichen, die auf das Papier gedruckt werden, ein "B", welches teilweise auf einem großen "A" aufgeschlagen ist, sind. Es sei auch darauf hingewiesen, daß in dem Korrekturpufferspeicher die Aufzeichnung 33, die das große "B" enthält, einen sechs Aufzeichnungsabschnitt des Korrekturpufferspeichers einleitet und zwar trotz der Tatsache, daß dieses teilweise über dem großen "A" überschlagen ist. Es wird daher die X-Position für ein nachfolgendes Zeichen (nach dem "B") bei der Aufzeichnung 26 gesetzt, so daß das nächste graphische Zeichen (großes "D") in einem normalen Abstand von dem vorhergehenden großen "B" gelegen ist.
  • Da jede Aufzeichnung so bemessen ist, um dem ASCII Code für nur ein Zeichen aufzunehmen, ist es nicht möglich zwei Zeichen in einer einzelnen Aufzeichnung einzuschreiben, um ein direktes Überschlagen anzuzeigen. Um ein direktes Überschlagen anzuzeigen wird der zweite Buchstabe in die Aufzeichnung nachfolgend auf die Eingabe des ersten Buchstaben eingegeben, wobei ein "Überschlagen"-Attributbit (ein zweites der acht Atributbits) in der Aufzeichnung für den zweiten Buchstaben gesetzt wird. Es sei darauf hingewiesen, daß bei der Stufe 10 sechs Aufzeichnungen existieren, die dem Buchstaben "A" zugeordnet sind und daß das direkt überschlagene "B" in die zweite Aufzeichnung gesetzt ist (die Aufzeichnung, die auf diejenige folgt, welche das "A" enthält). Zusätzliche Zeichen, die direkt über dem "A" überschlagen werden, würden dann in der Aufzeichnung 39 gespeichert und in nachfolgenden Aufzeichnungen und das "Überschlagungs"-Attributbit würde in jeder solcher Aufzeichnung gesetzt werden. Das direkte Überschlagen, wie es auf dem Papier erscheint, ist in Fig. 8B gezeigt.
  • Die Aufzeichnungen, die einer Wurzelzeichen-Aufzeichnung folgen, liegen typischerweise in Form der Aufzeichnung 36 (Fig. 6A) vor, die eine ASCII "Null" -Graphik enthält. Die Figuren 6B, 7B und 8B zeigen die Erscheinungsform der Zeichen, die auf Papier gedruckt worden sind entsprechend den Zeichen, die in den Korrekturpufferspeichersegmenten gespeichert sind, die in den Fig. 6A, 7A und 8A jeweils gezeigt sind.
  • Unter Hinweis auf Fig. 5B soll im Detail die Eingabe der Tastenanschlags-Information in den Korrekturpufferspeicher erläutert werden. Nach Änderung eines Raumes, der in einer Unterstreichungsbetriebsart zu einer Unterstreichungsgraphik eingegeben wurde (wenn erforderlich) entscheidet der Prozessor zunächst, ob die laufende X-Position (wie durch den Wert der X- Positions-Variablen bestimmt) ein Raum ist (enthaltend einen Weissraum) oder eine Aufzeichnung, die durch ein graphisches Wurzelzeichen fortgesetzt ist. Wenn dies nicht der Fall ist, ist die vorhandene Aufzeichnung entweder ein graphisches Wurzelzeichen oder eine Aufzeichnung, in welcher das "Überschlag"-Attributbit gesetzt ist. Bei der normalen Eingabe von Zeichen von links nach rechts in den Korrekturpufferspeicher, liegt die laufende X-Position nach der Eingabe eines Zeichens auf einem Weissraum. Links von diesem Weissraum befindet sich die letzte Aufzeichnung mit einem "Fortgesetzt"-Bitsatz, der dem vorhergehenden Zeichen zugeordnet ist. Eine solche Weissraum- Aufzeichnung ist die Aufzeichnung 22 in Fig. 6A.
  • Die Reihenfolge der Schritte zum Verarbeiten von entweder einem graphischen Wurzelzeichen oder einem Überschlagzeichen ist in Fig. 5A gezeigt. Dies ist der weniger übliche Fall und soll zunächst erläutert werden. Wenn die vorhandene Aufzeichnung nicht ein Raum ist oder fortgeführt ist durch ein graphisches Wurzelzeichen, bestimmt der Prozessor als nächstes, ob das "Überschlag"-Bit gesetzt ist. Wenn dies der Fall ist wird eine Fehlermeldung oder Anzeige der Bedienungsperson übermittelt und der Prozessor kehrt zur Schreibmaschinenschleife zurück. Wenn das "Überschlag"-Bit in der vorhandenen Aufzeichnung gesetzt ist, so zeigt dies an, daß ein Zeichen bereits überschlagen ist an einer Stelle links von der vorhandenen Aufzeichnung; und die vorhandene Aufzeichnung kann nicht ein weiteres Überschlagungs-Zeichen speichern.
  • Wenn die vorhandene Aufzeichnung kein "Überschlag"-Attribut enthält (was bedeutet, daß die Aufzeichnung ein graphisches Wurzelzeichen enthält), bestimmt der Prozessor als nächstes, ob der nun verarbeitete Tastenanschlag eine Unterstreichungsgraphik ist. Wenn dies der Fall ist, wird das Unterstreichungs-Attributbit für die vorliegende Aufzeichnung gesetzt und für jede nachfolgende Aufzeichnung für eine Zeichenbreite oder Weite. Der Prozessor kehrt dann zur Schreibmaschinenschleife zurück.
  • Wenn der verarbeitete Tastenanschlag keine Unterstreichungsgraphik ist, sieht der Prozessor rechts im Korrekturpufferspeicher nach, um die nächste Aufzeichnung zu finden, in welcher das "Überschlag"-Bit nicht gesetzt ist. Ein Beispiel hierfür würde sein mit einer X-Position bei der Aufzeichnung 27 (Fig. 8A). Beginnt man mit dem Korrekturpufferspeicher wie in Fig. 8A veranschaulicht ist, so würde sich der Prozessor dann wenn beispielsweise ein Großbuchstabe "E" direkt über einen Großbuchstaben "A" aufgeschlagen werden soll, der Prozessor nach rechts durch die Aufzeichnungen in den Korrekturpufferspeicher bewegen und zwar an der Aufzeichnung 34 vorbei, (deren Überschlagbit gesetzt ist) zur Aufzeichnung 39, also der nächsten Aufzeichnung, in welcher das "Überschlag" -Bit nicht gesetzt ist. Der Wert der X-Veränderlichen selbst wird bei der Ausführung dieser Prozedur nicht geändert.
  • Der Prozessor prüft als nächstes ob diese Aufzeichnung forgesetzt ist von einem früheren Wurzelzeichen; das heißt ob eine ASCII Null in dem graphischen Abschnitt dieser Aufzeichnung vorhanden ist. Im Falle der Aufzeichnung 39 trifft dies zu. Wenn es nicht zutreffen würde, so würde dies bedeuten, daß (für die Stufe 10) fünf direkte Überschlagungen bereits in die Aufzeichnungen eingegeben wurden, die der Aufzeichnung folgen, welche die Großbuchstaben "A" Graphic enthält. Wenn bei der Situation in Fig. 8A die Aufzeichnungen 34 bis 40 alle das "Überschlag"-Bit gesetzt enthalten, bewegt sich der Prozessor nach rechts bis er die Aufzeichnung 28 erreicht. Da jedoch die Aufzeichnung 28 keine Aufzeichnung mehr ist, die mit dem graphischen Zeichen gemäß dem Großbuchstaben "A" zugeordnet ist, ist es keine geeignete Stelle zum Eingeben eines Überschlag-Zeichens für den Großbuchstaben "A".
  • Es gibt daher für die Praxis und für die Stufe 10 eine Grenze von 5 direkten Überschlagungen, die bei einer Zeichenstelle erlaubt werden.
  • Wenn, was der übliche Fall sein würde, die erste oder die zweite Aufzeichnung, die rechts von der graphischen Wurzelzeichen-Aufzeichnung auftritt, von diesem Wurzelzeichen fortgeführt ist, speichert der Prozessor das graphische Zeichen in diese Aufzeichnung und schaltet die geeigneten Attributbits, die das graphische Zeichen begleiten, ein. Der Prozessor schaltet auch das Überschlagbit in der Aufzeichnung ein und kehrt dann zur Schreibmaschinenschleife zurück.
  • Bei dem vorliegenden beschriebenen Korrekturpufferspeicher betreffen die verwendeten Attributbits ein Überschreiben, ein Unterschreiben, ein Erweitern, ein Hervortretenlassen, ein Unterstreichen und ein Überschlagen, wobei zwei Bits für zukünftige Aufgaben reserviert sind. Kehrt man nun zur Entscheidungsstelle (Fig. 5B) zurück, bei der der Prozessor bestimmt hat, ob die vorliegende Aufzeichnung ein Raum ist oder eine Fortführung von einem graphischen Wurzelzeichen, so wurden die Situationen erläutert, bei denen keine dieser Bedingungen zutrifft. Bei dem wahrscheinlicheren Ereignis ist die Aufzeichnung entweder ein Raum oder fortgeführt von einem graphischen Wurzelzeichen und der Prozessor bestimmt dann, ob der momentan verarbeitete Tastenanschlag eine Unterstreichungsgraphik ist. Wenn dies der Fall ist, wird das Unterstreichungs-Attributbit für die vorliegende Aufzeichnung eingeschaltet und für jede nachfolgende Aufzeichnung für eine Zeichenbreite. Wenn beispielsweise die momentane X-Position die Aufzeichnung 36 ist (Fig. 6A), würde der Prozessor das "Unterstreichungs"- Attributbit in den Aufzeichnungen 36 bis 31 setzen. Wenn die momentane Positon in dem Korrekturpuffer bei einem Raum liegt, würde das "Unterstreichungs"-Attributbit für jede Aufzeichnung eingeschaltet werden, die eine Zeichenbreite ausmacht, im vorliegenden Fall fur sechs Aufzeichnungen beginnend mit der vorliegenden Aufzeichnung und nach rechts fortschreitend.
  • Für graphische Zeichen, die nicht eine Unterstreichungsgraphik betreffen, schreitet der Prozessor voran, um die Zeichengraphik in dem graphischen Abschnitt der vorliegenden Aufzeichnung zu speichern und schaltet dann die geeigneten Attribute ein, die dem Zeichen zugeordnet sind. Der Prozessor setzt dann einen Null ASCII Code in dem graphischen Abschnitt jedes der aufeinanderfolgenden Aufzeichnungen bis zu einem Maximum von 5 Aufzeichnungen (für die Stufe 10) oder bis eine Aufzeichnung gefunden wird, die anders ist als ein Weissraum. Der Prozessor kehrt dann zur Schreibmaschinenschleife von der Routine für die Eingabe der Tastenanschlaginformation in den Korrekturpufferspeicher zurück.
  • Ein Beispiel für die Eingabe eines graphischen Zeichens in den Korrekturpufferspeicher beginnend bei einem Raum ist in den Aufzeichnungen 21 bis 41 (Fig. 6A) gezeigt. Ein Beispiel für die Eingabe eines graphischen Zeichens in den Korrekturpufferspeicher beginnend mit einer "fortgeführten" Aufzeichnung ist in den Aufzeichnungen 33 bis 42 (Fig. 7A) gezeigt.
  • Es sei nun auf die Beschreibung der Schreibmaschinenschleife der Fig. 4 zurückgekehrt. Nachdem die Tastenanschlaginformation zum Korrekturpufferspeicher gesendet wurde, wie dies im einzelnen in Verbindung mit den Fig. 5 und 6 bis 8 erläutert wurde, bestimmt der Prozessor dann ob die Tastenanschläge direkt an den Drucker zugeführt werden sollen. Wenn dies der Fall ist wird die Zeicheninformation für das zu druckende Zeichen zum Drucker gesendet. In beiden Fällen führt der Prozessor dann Subroutinen aus, um das Zeichen darzustellen bzw. anzuzeigen, die Korrekturpuffer X-position nach rechts zu bewegen und den Anzeigecursor in der Anzeigevorrichtung zu bewegen. Jede dieser Subroutinen soll im folgenden nunmehr im einzelnen beschrieben werden. Folgend auf die Ausführung dieser Routinen kehrt der Prozessor zurück, um erneut eine Taste, die betätigt wurde, zu prüfen.
  • Um gemäß Fig. 9 ein Zeichen an der Anzeigevorrichtung darzustellen, bestimmt der Prozessor zuerst ob das graphische Zeichen eine Unterstreichungsgraphik (Unterstreichungsraum) ist. Wenn es keine Unterstreichungsgraphik ist, wird die Zeicheninformation in den Video RAM in der Systemeinheit eingeschrieben und die begleitende Attributinformation für das Zeichen wird dazu verwendet, eine geeignete Attributinformation in den Video RAM einzuschreiben.
  • Die Zeicheninformation aus dem Korrekturpufferspeicher wird unmittelbar in die geeignete Video RAM Stelle für eine Anzeige eingeschrieben. Der vorliegende Korrekturpufferspeicher besitzt 792 Aufzeichnungen (132 Zeichen, in 10 Stufen weit). Die vorliegende Anzeigevorrichtung besitzt 76 Zeichenpositionen, die 76 Video RAM Stellen entsprechen. Für die ersten 76 Zeichen-Weiten (6 Aufzeichnungsgruppen) in dem Korrekturpufferspeicher, wird die ASCII Zeicheninformation direkt in die entsprechenden Video RAM Stellen eingeschrieben. Beginnend mit der 77. Zeichenweite in dem Korrekturpufferspeicher (oder einem niedrigeren Wert wie der 71. Zeichenweite, wenn eine Schirmüberlappung gewünscht wird), wird der Video RAM erneut als ein zweiter "Schirm" geschrieben, wobei die 77. Zeichenweite der Zeicheninformation in die erste Video RAM Speicherstelle geschrieben wird. Aufgrund der festen Zeichengrenzen der vorliegenden Anzeigevorrichtung und aufgrund der Fähigkeit, Zeichen und Einheitsräume auf dem Papier zu verschieben und auch in dem Korrekturpufferspeicher zu verschieben, müssen bestimmte Entscheidungen hinsichtlich der exakten Positionierung der Zeicheninformation in der Anzeigevorrichtung getroffen werden. Jedoch sind derartige Betrachtungen nicht kritisch für die vorliegende Korrekturpufferspeicherausführung und sollen auch nicht im Detail erläutert werden.
  • Nachdem ein Zeichen ASCII Code an eine Speicherstelle in dem Video RAM eingeschrieben ist, werden die Attribut- Bits, die in dem Korrekturpufferspeicher für das Zeichen gesetzt worden sind, dazu verwendet, um geeignete Attribut-Darstellungen oder Anzeigen zu erzeugen. Beispielsweise können Symbole über oder unter das Zeichen gesetzt werden oder es kann die Farbe des Zeichens geändert werden, wenn eine Farbanzeige verwendet wird. Die spezielle Annäherung oder Maßnahme, die zur Darstellung von Zeichen- Attributen ergriffen wird, basierend auf den Korrekturpufferspeicher-Inhalten ist nicht kritisch für die vorliegemde Korrekturpufferspeicherstruktur und soll daher nicht mehr weiter beschrieben werden.
  • Wenn das darzustellende Zeichen aus einer Unterstreichungsgraphik besteht, bestimmt der Prozessor wieviele gesamte Unterstreichungszeichen für die Anzeige für die Unterstreichungsgraphik geschrieben werden müssen. Die Unterstreichungszeichen werden dann dargestellt oder angezeigt und der Prozessor kehrt zur Schreibmaschinenschleife von der Zeichenanzeige-Subroutine zurück. Nachdem ein Zeichen dargestellt oder angezeigt wurde, bringt der Prozessor die X-Position in dem Korrekturpufferspeicher auf den neuesten Stand, so daß die X-position richtig für das nächste eingegebene Zeichen ist. Um dies zu erreichen, wird eine gehe nach rechts- (Go right) Subroutine ausgeführt. Nach Vervollständigung der gehe nach rechts-Subroutine wird eine geeignete Zahl von Einheitsraumwerten zu der X-Positionsvariablen hinzuaddiert. Das allgemeine Ziel der gehe nach rechts-Subroutine besteht darin, eine nach rechts verlaufende Bewegung in dem Korrekturpufferspeicher zum Anfang der Aufzeichnung des nächsten Wurzelzeichens zu bewirken. Gemäß Fig. 10 wird beim Ausführen der gehe nach rechts-Subroutine die X-Veränderliche um eins durch den Prozessor inkrementiert und dieser bestimmt, ob diese Aufzeichnung ein Raum ist. Wenn dies nicht der Fall ist, führt der Prozessor eine Bewegung nach rechts um eine Einheit zu einem Zeitpunkt aus, bis er auf ein Wurzelzeichen trifft (welches einen Raum als auch ein graphisches Wurzelzeichen enthält) wenn er nicht bereits auf einem graphischen Wurzelzeichen steht. Im wesentlichen bewegt sich der Prozessor nach rechts über Aufzeichnungen hinweg, die eine ASCII Null-Graphik haben oder ein "Überschlag"-Bit gesetzt haben, bis er an der nächsten Wurzelzeichen-Aufzeichnung ankommt.
  • Wenn beispielsweise gemäß Fig. 7A die X-Position bei der Aufzeichnung 33 startet, gefolgt durch die Eingabe eines "B" Tastenanschlags in den Korrekturpufferspeicher, wird die X-Position nach rechts um sechs Einheitsräume zur Aufzeichnung 26 bewegt, wo dann auf das Wurzelzeichen "D" gestoßen wird. Wenn gemäß Fig. 6A nach einem weiteren Beispiel die X-Position an der Stelle 21 startet, gefolgt von einem "A"-Tastenanschlag in den Korrekturpufferspeicher, bringt der Prozessor die X-Position zur Stelle 22 auf den neuesten Stand, wo er zuerst auf einen Raum trifft.
  • Wenn gemäß Fig. 10 nach der Bewegung nach rechts um einen Einheitsraum die Aufzeichnung bei der X-Position ein Raum ist, bewegt sich der Prozessor nach rechts um einen Einheitsraum zu einem Zeitpunkt, bis nach dem Ende des Raumes, worauf er typischerweise auf ein Wurzelzeichen bzw. Grundzeichen trifft. Es wird jedoch die X-Position nicht weiter als um eines Zeichenshemmung (Escapement) inkrementiert, welches bei einer Steigung oder Stufe von zehn gleich 6 Zeichenaufzeichnungen ausmacht. Der Prozessor stoppt auch die Inkrementierung der X-Position, wenn ein Übergang vom Weissraum zu einem Unterstreichungsraum auftritt (oder umgekehrt).
  • Eine nach links gerichtete Bewegung in dem Korrekturpufferspeicher wird in einer ähnlichen, jedoch geringfügig unterschiedlichen Weise, ausgeführt. Das allgemeine Ziel der gehe nach links- (Go left) Subroutine besteht darin, eine Bewegung nach links in dem Korrekturpufferspeicher zur ersten Aufzeichnung des früheren Wurzelzeichens zu bewirken. Um gemäß Fig. 11 eine Bewegung nach links zu bewirken, bewegt sich der Prozessor um einen Einheitsraum zu einem Zeitpunkt nach links, bis er auf ein Wurzelzeichen trifft (die Definition von welchem, wie bereits früher festgestellt wurde, einen Raum enthält). Wenn diese Zeichenaufzeichnung kein Raum ist, kehrt der Prozessor dann von der gehe nach links-Subroutine zurück. Wenn die X-Position nach der Bewegung um einen Einheitsraum nach links ein Raum ist, fährt der Prozessor fort, eine Bewegung nach links um einen Einheitsraum zu einem Zeitpunkt durchzuführen und zwar bis zum Beginn einer Reihe von "Raum"- Zeichen-Aufzeichnungen. Jedoch ist die Bewegung nach links durch den Korrekturpufferspeicher niemals größer als eine Zeichenhemmung (sechs Aufzeichnungen in der Stufe zehn). Wie im Falle der gehe nach rechts-Routine stoppt der Prozessor die Dekrementierung der X-Positionsvariablen, wenn ein Übergang von einem Weissraum zu einem Unterstreichungsraum (oder umgekehrt) festgestellt wird. Beispielsweise würde die gehe nach links-Subroutine die X- Position von der Aufzeichnung 33 zur Aufzeichnung 24 bewegen (Fig. 7A) oder von der Aufzeichnung 31 zu der Aufzeichnung 22 (Fig. 6A).
  • Um wieder zur Reihe der Routinen in der Schreibmaschinenschleife nach Fig. 4 zurückzukehren, so führt der Prozessor, nachdem die Zeichenanzeige-und gehe nach rechts-Routinen ausgeführt wurden, eine Routine durch, um den Anzeigecursor zu bewegen.
  • Gemäß Fig. 12 berechnet der Prozessor zuerst, welcher Schirm für die Anzeige die laufende X-Position enthält. Im vorliegenden Fall ist der Korrekturpufferspeicher (und die evtl. Zeilenbreite am Drucker) größer als die Breite oder Weite der Anzeige. Es können zwei oder sogar drei "Schirme" an der Anzeigevorrichtung zur Anzeige gebracht werden, was von der Stufe (titch) des Druckers abhängt und auch davon, welcher Abschnitt der Korrekturpufferinformation zu betrachten ist. Um daher die Möglichkeit zu schaffen, den Cursor am richtigen Schirm anzuzeigen, bestimmt der Prozessor welcher Schirm zur Anzeige gebracht werden muß, um den Cursor an der laufenden X-Position zu zeigen. Dieser Schirm wird zur Anzeige gebracht, indem eine geeignete Zeicheninformation in den Video RAM vom Korrekturpufferspeicher eingeschrieben wird. Im Falle des vorliegenden "methodischen" Korrekturpufferspeichers, wie an früherer Stelle bereits erläutert wurde, ist es eine Geradeausumwandlung oder Umwandlung, um die Korrekturpuffer-Zeicheninformationen zu bestimmen, die an verschiedenen Video RAM Stellen zu speichern sind.
  • Wenn der richtige Schirm nicht unmittelbar zur Anzeige gebracht wird, wird die Schirminformation aus dem Korrekturpufferspeicher in den Video RAM eingeschrieben. Die Cursorposition wird aus der Korrekturpuffer-X-Position berechnet und der Cursor wird zu dieser Position durch Einschreiben in den Video RAM bewegt. Der Prozessor kehrt dann zur Schreibmaschinenschleife zurück.
  • Bei der Ausführung der Schreibmaschinenschleife werden bestimmte Funktionen bei der Verarbeitung der Tasten ausgeführt, die nicht Graphikzeichen-Tasten sind. Diese Routinen werden in dem "Prozesstasten"-Block in der Schreibmaschinenschleife ausgeführt. Bestimmte dieser Tastenverarbeitungsfunktionen, die innerhalb des Korrekturpufferspeichers Bewegungen bedingen oder Änderungen hinsichtlich der Anzeige bedingen, werden vorteilhafterweise dadurch ausgeführt indem die hier offenbarte Form eines Korrekturpufferspeichers verwendet wird.
  • Eine solche Routine besteht aus der Verarbeitung einer tab- Taste (Fig. 13). Um einen tab-Tastenanschlag zu verarbeiten, sucht der Prozessor nach der geeigneten tab-Position in einem Puffer, der vorteilhafterweise in der Zahl der Aufzeichnungspositionen dem Korrekturpufferspeicher entspricht. Die tab-Stelle, welche aufgesucht wird, ist somit in ihrem Wert gleich mit einer X-position in dem Korrekturpufferspeicher. Diese neue X-Position, die aus dem tab-Puffer bestimmt wurde, wird für die X-Variable eingegeben. Unter Hinweis auf Fig. 13 bewegt der Prozessor, nachdem die X-Position bestimmt worden ist und die X- Variable auf diesem X Positionswert gesetzt wurde, den Cursor in der Anzeigevorrichtung unter Verwendung der "bewege den Anzeigecursor"-Routine. Der Prozessor kehrt dann von der Tab-Subroutine zur Schreibmaschinenschleife zurück.
  • Eine weitere Taste, die in dem "Prozesstasten"-Abschnitt der Schreibmaschinenschleife verarbeitet wird, ist eine Löschtaste. Um gemäß Fig. 14 eine Löschung zu verarbeiten, bestimmt der Prozessor zunächst ob die X-Position sich auf einem Weissraum befindet (ein Raum, bei welchem keine Attribut-Bits gesetzt sind), sich auf einer Überschlagungs-Aufzeichnung (es ist ein "Überschlagungs"-Bit gesetzt) oder auf einer Aufzeichnung befindet, die von einem Wurzelzeichen oder Grundzeichen forstgestzt ist. Wenn dies der Fall wird führt der Prozessor die "gehe nach links"-Subroutine aus. Dadurch wird die X-Position zu einem Wurzelzeichen oder über einen weißen Raum bewegt und zwar um eine Strecke, die höchstens gleich ist einer Hemmungsbreite eines Zeichens. Der Prozessor bewegt dann den Cursor in der Anzeigevorrichtung unter Verwendung der "bewege den Anzeigecursor"-Routine. Wenn die Aufzeichnung an der Original X-Position nicht ein Weißraum, ein Überschlagungs-Zeichen oder ein fortgeführtes Zeichen ist, ist die Aufzeichnung ein Wurzelzeichen (eine Graphik oder Raum anders als ein Weißraum). Es besteht keine Forderung dafür, die "gehe nach links"-Routine auszuführen oder den Anzeigecursor zu bewegen.
  • Nach Ausführung einer nach links verlaufenden Bewegung (wenn erforderlich) durch den Korrekturpufferspeicher zu dem Wurzelzeichen links von irgendwelchen fortgesetzten oder Überschlagungs-Aufzeichnungen, muß die Aufzeichnung an der X-Position nun zwangsläufig ein Wurzelzeichen (graphisches Zeichen oder Unterstreichungsraum) oder ein Weißraum sein. Wenn die Aufzeichnung bei der X-Position nicht ein Weißraum ist, bewegt der Prozessor den Drucker zur richtigen Position und sendet einen Löschbefehl, um das Wurzelzeichen zu löschen, welches ein graphisches Zeichen oder ein Unterstreichungszeichen sein kann. Der Drucker wird dann zur laufenden X-Position zurückgeführt und es können nachfolgende Löschbefehle für jedes Überschlagungszeichen gesendet werden, die auf das Wurzelzeichen folgen.
  • Der Prozessor führt dann eine "entferne Zeichen"-Subroutine aus, um die richtigen Zeichenaufzeichnungen aus dem Korrekturpufferspeicher zu entfernen (was im folgenden noch unter Hinweis auf Fig. 15 beschrieben werden soll), und dann schreibt er die Anzeige neu, um ein gelöschtes Wurzelzeichen von der Anzeige oder Darstellung zu entfernen. Um nun gemäß Fig. 15 ein Zeichen von dem Korrekturpufferspeicher zu entfernen, bestimmt der Prozessor zunächst, ob die Aufzeichnung bei der X-Position ein Weißraum ist. Wenn dies der Fall ist, kehrt der Prozessor zur Schreibmaschinenschleife zurück, da keine Zeicheninformation existiert, die aus dem Korrekturpufferspeicher entfernt werden muß, noch irgendein Bedarf oder Forderung die Anzeige neu zu schreiben.
  • Wenn die Aufzeichnung bei der X-Position nicht ein Weißraum ist, so muß die Zeichenaufzeichnung zwangsläufig aus einem Wurzelzeichen bestehen (graphisches Zeichen oder Unterstreichungszeichen) und zwar aufgrund der früheren Ausführung der "Prozeßlösch"-Routine. Der Prozessor erzeugt daher eine Einheit des weißen Raumes und bewegt sich nach rechts um einen Einheitsraum in dem Korrekturpufferspeicher (obwohl nicht jetzt oder anschließend in der "entferne Zeichen"-Subroutine aktuell der Wert der X-Variablen verändert wird). Der Prozessor bestimmt dann, ob ein Wurzelzeichen erreicht worden ist. Wenn er ein graphisches Wurzelzeichen erreicht hat, wurde das gesamte Zeichen, welches zu entfernen war, entfernt und der Prozessor kehrt dann zur "Prozeßlösch"-Routine zurück.
  • Wenn der Prozessor nicht ein graphisches Wurzelzeichen erreicht hat, durchläuft der Prozessor die Schleife, um eine weitere Einheit des weißen Raumes zu erzeugen und um sich um eine weitere Einheit nach rechts in dem Korrekturpufferspeicher zu bewegen. Da ein Raum ein Wurzelzeichen ist, wird dann, wenn ein Unterzeichnungsraum aus dem Korrekturpufferspeicher entfernt wird und zwar nach jeder Wurzelzeichenentscheidung, eine Entscheidung getroffen, daß der Prozessor bei einem Raum ist. Der Prozessor prüft dann um zu sehen, ob eine Zeichenhemmungsweite der Räume entfernt wurde. Wenn dies der Fall ist, kehrt der Prozessor zur "Löschverarbeitungs"-Routine zurück. Wenn dies nicht der Fall ist, durchläuft der Prozessor eine Schleife und erzeugt eine weitere Einheit des weißen Raumes und bewirkt eine Bewegung nach rechts, um einen weiteren Einheitsraum in dem Korrekturpufferspeicher.
  • Nachdem die "entferne Zeichen"-Subroutine ausgeführt worden ist, bleibt die X-Position am Anfang des eben erzeugten Raumes in dem Korrekturpufferspeicher, so daß die X- Position richtig ist für das Ersetzen des entfernten Zeichens durch ein weiteres Zeichen.

Claims (4)

1. System zum Drucken von Zeichen auf einem Druckmedium abhängig von der Eingabe von Zeicheninformationen von einer Eingabevorrichtung (12), mit einem Korrekturpufferspeicher zum Speichern von Zeicheninformationen von der Eingabevorrichtung, wobei der Korrekturpufferspeicher (17) eine Gruppe von Aufzeichnungen (16) aufweist, dadurch gekennzeichnet, daß jede Aufzeichnung (16) einem inkrementellen Abstand auf dem Druckmedium entspricht und daß die Aufzeichnungen (16) in dem Korrekturpufferspeicher (17) im wesentlichen identisch sind, wobei jede Aufzeichnung dem gleichen inkrementellen Abstand auf dem Druckmedium entspricht.
2. System nach Anspruch 1, in welchem das System zum Drucken von Zeichen auf die Eingabe von Zeicheninformationen von einem Tastenfeld anspricht.
3. System nach einem der vorhergehenden Ansprüche, in welchem jede Aufzeichnung (16) in der Gruppe der Korrekturpufferspeicher-Aufzeichnungen einen ersten Abschnitt (18) aufweist zum Speichern von graphischen Zeicheninformationen und einen zweiten Abschnitt (19) aufweist zum Speichern von Attribut-Informationen.
4. System nach einem der vorhergehenden Ansprüche, welches ferner enthält eine Anzeigevorrichtung (13) und Mittel zur Darstellung der Zeichen auf der Anzeigevorrichtung an Stellen, die auf die Korrekturpufferspeicher-Aufzeichnungsstellen für Zeicheninformationen bezogen sind, welche den dargestellten Zeichen entsprechen.
DE8888106833T 1987-05-26 1988-04-28 Korrekturpufferspeicher. Expired - Fee Related DE3878309T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/053,890 US4789255A (en) 1987-05-26 1987-05-26 Correction buffer

Publications (2)

Publication Number Publication Date
DE3878309D1 DE3878309D1 (de) 1993-03-25
DE3878309T2 true DE3878309T2 (de) 1993-07-01

Family

ID=21987249

Family Applications (1)

Application Number Title Priority Date Filing Date
DE8888106833T Expired - Fee Related DE3878309T2 (de) 1987-05-26 1988-04-28 Korrekturpufferspeicher.

Country Status (4)

Country Link
US (1) US4789255A (de)
EP (1) EP0292726B1 (de)
JP (1) JPS63293072A (de)
DE (1) DE3878309T2 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4907173A (en) * 1986-07-14 1990-03-06 Brother Kogyo Kabushiki Kaisha Word processor
JPS6320666A (ja) * 1986-07-15 1988-01-28 Brother Ind Ltd 文書処理装置
US4907900A (en) * 1987-01-06 1990-03-13 Smith Corona Corporation Auto-realigned print correction
JPH02297218A (ja) * 1989-03-29 1990-12-07 Canon Inc 文書処理装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3618032A (en) * 1968-12-09 1971-11-02 Ibm Automatic data composing, editing and formatting system
US3913721A (en) * 1973-10-09 1975-10-21 Wang Laboratories Single tape editing
US3999168A (en) * 1974-11-11 1976-12-21 International Business Machines Corporation Intermixed pitches in a buffered printer
IT1108103B (it) * 1978-07-18 1985-12-02 Olivetti & Co Spa Macchina per scrivere elettronica
US4247853A (en) * 1979-06-11 1981-01-27 International Business Machines Corporation Alphanumeric CRT display system with means for storing positional data calculated during an initial scan
DE3028439A1 (de) * 1980-07-26 1982-03-04 Olympia Werke Ag, 2940 Wilhelmshaven Textbearbeitungseinrichtung mit einer anzeigeeinrichtung
US4476542A (en) * 1982-05-10 1984-10-09 Xerox Corporation Printing system
JPS60176139A (ja) * 1984-02-23 1985-09-10 Tokyo Electric Co Ltd 電子タイプライタ−
US4658366A (en) * 1984-08-09 1987-04-14 Posh David R Methods and apparatus for accurately completing pre-printed forms

Also Published As

Publication number Publication date
DE3878309D1 (de) 1993-03-25
EP0292726A3 (en) 1989-06-14
EP0292726A2 (de) 1988-11-30
EP0292726B1 (de) 1993-02-10
US4789255A (en) 1988-12-06
JPS63293072A (ja) 1988-11-30

Similar Documents

Publication Publication Date Title
DE2536616C3 (de) Schaltungsanordnung zur Verbindung einer eine Eingabetastatur und eine Anzeigeeinrichtung enthaltenden Engabe/Ausgabe-Einrichtung über eine Busleitung mit einem zu einem Mikrorechner gehörenden Mikroprozessor
DE3853512T2 (de) Einrichtung für Rechner oder rechnergesteuerte Systeme zum Erzeugen einer Hilfe-Anzeige.
DE68922116T2 (de) Dokumentverarbeitungssystem und Verfahren zur Verwendung darin.
DE69521496T2 (de) Zeicheninformationsprozessor mit funktion zur darstellung
DE3346816C2 (de)
DE69530134T2 (de) Zeicheninformationsprozessor zum Drucken von Zeichen
DE69225760T2 (de) Methode und System zur Unterstützung von mehrfacher Textselektion und "swipe and type" Operationen auf einer Rechneranzeige
DE3688107T2 (de) Verfahren zur Behaltung der Anpassungsfähigkeit von mit verschiedenen Eingabe-/Ausgabearten.
DE3587105T2 (de) Wechselwirkende bedienerauswahl von alternativen ausfuehrungen von druckerfunktionen.
DE3107043C2 (de)
DE3686982T2 (de) Testverarbeitungsrandausgleichsverfahren.
DE2835320C2 (de) Schaltungsanordnung für die Einstellung des linken Randes bei einem Textverarbeitungsgerät
DE2742992C2 (de) Verfahren zur Darstellung von in einem Speicher eines Textverarbeitungsgeräts in codierter Form abgespeicherten alphanumerischen Zeichen
DE3650718T2 (de) Schreibmaschine mit Mitteln zur automatischen Feststellung von falsch buchstabierten Wörtern
DE2264920A1 (de) Elektronischer rechner
DE3134282A1 (de) Verfahren zur darstellung ideografischer zeichen und vergleichbarer graphiken
DE3121503A1 (de) Dokumenten-verarbeitungssystem
DE3786427T2 (de) Vorrichtung zur Eingabesteuerung.
DE3784137T2 (de) Elektronische schreibmaschine mit wort-korrekturfaehigkeit.
DE3882063T2 (de) Verfahren zur Erzeugung von Buchstaben beim Punktdruck.
DE3855063T2 (de) Datenverarbeitungseinheit und Verfahren zur Anzeige von graphischen Symbolen
DE69028645T2 (de) Desk-Top-Publishing-System
DE3851742T2 (de) Textverarbeitungsgerät.
DE3209187C2 (de) Verfahren zur Darstellung eines Textes auf einer einzeiligen Anzeigevorrichtung eines Texterstellungsgerätes
DE68927008T2 (de) Verfahren zum komprimieren und dekomprimieren von punktmatrixzeichen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee